@charset "UTF-8";

body {
	background-color: #ffffff;
	color : #222222;
	min-height: 100vh;
	line-height: 1.4em;
	padding: 0;
	margin: 0;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
a {
	color: #369;
	text-decoration: none;
}
a:hover {
	color: #39F;
	text-decoration: none;
}
h1,h3,h4,h5,h6 {
	margin-left: 0;
}
h1 {
	margin: 1.5em 0 1em 0;
	text-align: center;
	font-size: 1.5em;
}
h2 {
	margin-top: 1.5em;
	margin-bottom: 1em;
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
}
h3 {
	color: #d10;
	border-bottom: solid 1px #8ad;
	margin-top: 1.1em;
	margin-bottom: 1em;
	padding-bottom: 3px;
	font-weight: bold;
}
h4 {
	margin-top: 1em;
	margin-bottom: 0.5em;
	padding-left: 10px;
	border-left: solid 4px #8ad;
}

img {
	max-width: 100%;
	height: auto;
}
dd {
	margin: 0;
}
/* __ Header __ */
#head {
	display: flex;
	flex-flow: column;
	position: relative;
	z-index: 100;
	background-color: #fff;
}
#head_title {
	max-width: 724px;
	margin: 0 auto;
}
.logo {
	margin-left: 50px;
	width: 70%;
	text-decoration: none;
}
.logo a {
	display: inline-block;
}
/* __ Contents __ */
#wrap {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	background-color: #ddd;
	font-size: 0.95em;
}
#main {
	display: flex;
	flex-flow: row nowrap;
	margin: 0 auto;
	padding: 0;
	background-color: #fff;
	max-width: 1280px;
	height: 100%;
}
#main-menu {
	position: relative;
	width: 0;
	margin: 0;
	padding: 0;
	background-color: #8ad;
}
#menu-trigger,
#menu-trigger span {
    display: inline-block;
    transition: all .3s;
    box-sizing: border-box;
    content: '';
    cursor: pointer;
}
#menu-trigger {
	position: absolute;
	z-index: 10000;
	top: 0;
	left: 0;
    width: 58px;
    height: 30px;
    position: fixed;
    padding: 18px 10px 53px;
}
#menu-trigger span {
    width: 100%;
    height: 2px;
    background-color: #555;
    border-radius: 2px;
}
#menu-trigger span:nth-of-type(2) {
    margin-top: 10px;
}
#menu-trigger span:nth-of-type(3) {
    margin-top: 10px;
}
#menu-text{
    font-size: 12px;
    position: absolute;
    top: 45px;
    left: 12px;
    z-index: 9999;
    position: fixed;
}
#menu-close {
	display: none;
	position: fixed;
    top: 0;
    left: 0;
    z-index: 9;
	width: 100vw;
	height: 100vh;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
}
#menu-check {
	display: none;
}
#menu-check:checked ~ #menu-close {
    display: block;
    opacity: .5;
}
#menu-check:checked ~ #navi {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    /*box-shadow: 6px 0 25px rgba(0,0,0,.15);*/
}
#menu-check:checked ~ #menu-trigger {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
}
#menu-check:checked ~ #menu-trigger span:nth-of-type(1) {
    -webkit-transform: translateY(12px) rotate(-45deg);
    transform: translateY(12px) rotate(-45deg);
}
#menu-check:checked ~ #menu-trigger span:nth-of-type(2) {
    -webkit-transform: translateY(0) rotate(45deg);
    transform: translateY(0) rotate(45deg);
}
#menu-check:checked ~ #menu-trigger span:nth-of-type(3) {
    opacity: 0;
}
/*	navigation 　*/
#navi {
	position: absolute;
	z-index: 99;
	transition: .3s ease-in-out;
    -webkit-transform: translateX(-105%);
    transform: translateX(-105%);

}
#navi ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
#navi .menu {
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-start;
}
#navi .menu > .menu-item {
	/*position: relative;*/
	text-align: left;
	font-weight: bold;
	padding: 0;
	margin: 0;
    overflow: hidden;
}

#navi .menu > .menu-item a {
	display: block;
	/*width: 290px;*/
	padding: 1.1em 1.5em 0.9em 1em;
	color: #fff;
	background-color: #8ad;
    letter-spacing: .05em;
}

/*
@media screen and (min-width : 769px) {
    #navi .menu > .menu-item a:hover {
        background-color: #58d;
    }
}
*/
#main-menu:not(.megamenu) 
#navi .menu > .menu-item  > a {
    font-size: 1.1em;
}

#main-menu:not(.megamenu) 
#navi .menu .menu-item.current-menu-item a{
	background-color: #58d!important;
    color: #fff!important;
}

#main-menu:not(.megamenu) 
#navi .menu .menu-item.current-menu-item a:before{
    border-top: 2px solid #fff!important;
    border-right: 2px solid #fff!important;
}

#navi .menu .menu-item a{
    border-bottom: 1px solid #fff;
    position: relative;
}

#navi .menu > .menu-item:nth-last-child(2) a{
   border-bottom: none;
}

#main-menu:not(.megamenu) 
#navi .menu .menu-item a::before{
    content: "";
    position: absolute;
    top: 50%;
    right:12px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    margin-top: -5px;
}

/*
#main-menu:not(.megamenu) 
#navi .menu .menu-item.title > a{
    padding-top:40px;
    padding-bottom:10px;
    padding-left: 10px;
    font-size: 1.3em;
    color:#8ad;
    background-color: #fff;
    width: 100%;
    border-bottom: none;
    pointer-events: none;
}
*/

#main-menu:not(.megamenu) 
#navi .menu .menu-item .menu-item.title{
    background-color: #fff;
    padding-bottom:25px;
}

#main-menu:not(.megamenu) 
#navi .menu .menu-item .menu-item.title:last-child{
    padding-bottom:0;
}

#main-menu:not(.megamenu) 
#navi .menu .menu-item .menu-item.title > a{
    margin-bottom:5px;
    margin-left:5px;
    padding-top:2px;
    padding-bottom:0;
    padding-left: 5px;
    font-size: 1em;
    color:#222;
    background-color: #fff;
    border-left: solid 4px #8ad;
}

#navi .menu .menu-item.none > a{
    display: none;
}

#main-menu:not(.megamenu) 
#navi .menu .menu-item .menu-item.parent .sub-menu{
    /*padding: 5px 0 15px;*/
}

#main-menu:not(.megamenu) 
#navi .menu .menu-item:not(.current-menu-parent):not(.current-menu-ancestor) .header-nav-child{
    display: none;
    background-color: #fff;
}

#navi .menu .menu-item .menu-item .menu-item.parent > a{
    cursor: pointer;
    pointer-events:auto;
}

#main-menu:not(.megamenu) 
#navi .menu .menu-item.parent > a::before,
#main-menu:not(.megamenu) 
#navi .menu .menu-item.title > a::before{
    transform: rotate(135deg)!important;
    transition: all .2s;
}

#main-menu:not(.megamenu) 
#navi .menu .menu-item.parent.open > a::before,
#main-menu:not(.megamenu) 
#navi .menu .menu-item.title.open > a::before{
    transform: rotate(-45deg)!important;
}

#main-menu:not(.megamenu) 
#navi .menu .menu-item .menu-item a{
    background-color: #fff;
    padding: 0.7em 20px 0.5em 1em;
    color: #8ad;
    /*border-left: solid 4px #8ad;*/
    border-bottom: 1px solid #8ad;
}

#main-menu:not(.megamenu) 
#navi .menu .menu-item:not(.parent) .menu-item:last-child > a{
    padding-bottom: 10px;
}

#main-menu:not(.megamenu) 
#navi .menu .menu-item .menu-item .menu-item a{
    padding-left: 30px;
}

#main-menu:not(.megamenu) 
#navi .menu .menu-item .menu-item a:hover{
    /*color: #58d*/;
}

#main-menu:not(.megamenu) 
#navi .menu .menu-item .menu-item a::before{
    border-top: 2px solid #8ad;
    border-right: 2px solid #8ad;
}

#main-menu:not(.megamenu) 
#navi .menu .menu-item .menu-item a:hover::before{
    /*border-top: 2px solid #58d!important;
    border-right: 2px solid #58d!important;*/
}

#navi .menu .menu-item .menu-item .menu-item .menu-item.current-menu-item a{
    color:#fff;  
}

#navi .menu .menu-item .menu-item .menu-item .menu-item.current-menu-item a::before{
    border-top: 2px solid #fff!important;
    border-right: 2px solid #fff!important;
}

.megamenu,
.megamenu #navi {
    width:100%!important;
    max-width:1280px;
    position: absolute!important;
}

.megamenu #navi .menu {
    width:100%;
    flex-flow:row nowrap;
    justify-content: center;
    position: absolute;
    background-color: #8ad;
}
.megamenu #navi .menu > .menu-item {
    display: inline-block;
    height: 56px;
    overflow: visible;
}

.megamenu #navi .menu > .menu-item a {
    width: auto;
    border-bottom: none;
    margin: 5px auto;
    padding: 0.8em 2em 0.8em 2em;
    border-left: 1px solid #fff;
}

.megamenu #navi .menu > .menu-item:last-child a {
    border-right: 1px solid #fff;
}

.megamenu #navi .menu > .menu-item.title{
    /*cursor: pointer;*/
}

.megamenu #navi .menu > .menu-item > .header-nav-child{
    position: absolute;
    /*width: 100%;*/
    width: 285px;
    height: auto;
    /*left: 0;*/
    /*padding: 20px 0;*/
    background-color: #fff;
    display: none;
}

.megamenu #navi .menu > .menu-item > .header-nav-child > .container > .sub-menu {
}

.megamenu #navi .menu > .menu-item > .header-nav-child > .container > .sub-menu .menu-item.title{
    width:34%;
    margin: 0 20px;
    display: inline-block;
    vertical-align: top;
    text-align: left;
}

.megamenu #navi .menu > .menu-item > .header-nav-child > .container > .sub-menu a{
    margin: 0;
    border-right: none;
    border-left: none;
    border-top:1px solid #fff;
    /*background: #fff;*/
    /*color: #8ad;*/
    padding-right: 1em;
    padding-left: 2.7em;
}

.megamenu #navi .menu > .menu-item > .header-nav-child > .container > .sub-menu a::before{
    content: "";
    position: absolute;
    top: 50%;
    left:20px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff/*#8ad*/;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    margin-top: -5px;
}

.megamenu #navi .menu > .menu-item > .header-nav-child > .container > .sub-menu a.over::before{
    border-top: 2px solid #8ad!important;
    border-right: 2px solid #8ad!important;
}

.megamenu #navi .menu > .menu-item > .header-nav-child > .container > .sub-menu a:hover::before{
    border-top: 2px solid #8ad;
    border-right: 2px solid #8ad;
}

.megamenu #navi .menu > .menu-item > .header-nav-child > .container > .sub-menu .sub-menu a:hover{
    color: #8ad;
}

.megamenu #navi .menu > .menu-item > .header-nav-child > .container > .sub-menu .sub-menu a::before{
    /*
    border-top: 2px solid #8ad;
    border-right: 2px solid #8ad;
    */
}

.megamenu #navi .menu > .menu-item > .header-nav-child > .container > .sub-menu .sub-menu a:hover::before{
    border-top: 2px solid #8ad/*#58d*/;
    border-right: 2px solid #8ad;
}

.megamenu #navi .menu > .menu-item > .header-nav-child > .container > .sub-menu > .title > a{
    color:#222;
    border-left: solid 4px #8ad;
    padding-left: 20px;
    pointer-events: none;
}

.megamenu #navi .menu .menu-item.title > a{
    cursor:default;
}
.megamenu #navi .menu .menu-item.parent > a{
    border-bottom: none;
    cursor:default;
}

.megamenu #navi .menu > .menu-item > .header-nav-child > .container > .sub-menu > .title > a::before,
.megamenu #navi .menu > .menu-item > .header-nav-child > .container > .sub-menu .sub-menu > .menu-item.parent > a::before{
    border: none;
}

.megamenu #navi .menu > .menu-item > .header-nav-child > .container > .sub-menu .sub-menu > .menu-item.parent .sub-menu a{
    border-left:none;
    padding-left: 60px;
}

.megamenu #navi .menu .menu-item.parent{
    position: relative;
}
.megamenu #navi .menu .menu-item.parent > .header-nav-child{
    width:270px;
    position: absolute;
    left:100%;
    top:0;
    display: none;
}


.megamenu.top ~ #sub{
    margin-top: 25%;
}

.megamenu ~ #sub{
    margin-top: 70px;
}

/* Mainvisual */
#main-visual-pc::before{
    content: '';
    display: block;
    height: 56px;
}
#main-visual-pc,
#main-visual-sp{
    position: absolute;
}

#main-visual-sp{
    width:100%;
}

#main-visual-sp img{
    display: block;
    width: 100%;
    height: auto;
}

#main-visual-sp ~ #sub{
    margin-top: 34%;
}


/* Contents */
.main-content {
	padding: 1.5em 1em;
	width: 100%;
	background-color: #eee;
}
.sub-content {
	width: 95%;
	margin: 0 auto;
	padding: 0.5em 1em;
	background-color: #eee;
}
/* Bred */
.bred {
	list-style: none;
	padding-left: 0;
}

/*__ Tiles __*/
.tiles {
	display: flex;
	flex-flow: row wrap;
	list-style: none;
	width: 100%;
	margin: 0;
	padding: 0;
}
.tiles li {
	width: 100%;
	margin-bottom: 1em;
	padding: 10px;
	border-radius: 4px;
	background-color: #ffffff;
}
.tiles p {
	margin: 0 20px;
}
.side-content {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
.side-content .txt {
	flex: 1 1 60%;
}
.side-content .tum {
	padding: 0 1em;
	flex: 1 2 128px;
}
.side-content .tum-mini {
	padding: 0 2em;
	flex: 1 2 64px;
}
.side-content img {
	max-width: 100%;
	height: auto;
}
.excerpt {
	padding-left: 1em;
	color: #777;
	font-size: 0.9em;
}
.revers {
	position: relative;
	padding-left: 3em;
}
.revers span {
	display: inline-block;
	position: absolute;
	height: 1.6em;
	left: 0;
	padding: 0 0.5em;
	font-size: 0.8em;
	text-align: center;
	color: #ffffff;
	background-color: #ea00ff;
}
/* __ Page-Navi __ */
.post_navi {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	width: 100%;
}
.post_navi a {
	margin: 0.3em 1em;
	position: relative;
	display: block;
	color: #ffffff;
	background-color: #8ad;
	font-size: 0.8em;
	text-align: center;
	text-decoration: none;
	padding: 0.3em 1em;
}
.post_navi a:hover {
	background-color: #5583d4;
}
/*　ページャー　*/
.wp-pagenavi {
	position: relative;
	padding: 1em 0;
	text-align: center;
	font-size: 1em;
}
.wp-pagenavi span {
	border: 1px solid #0075c2;
	background-color: #ffffff;
}
.wp-pagenavi .current {
	color: #ffffff;
	border: none;
	background-color: #0075c2;
}
/* __ Financial-Table __ */
.financial {
	border-collapse: collapse;
	width: 100%;
}
.financial th {
	padding: 10px 0;
	text-align: center;
	border: 1px solid #707070;
	background-color: #ffdddd;
}
.financial td {
	padding: 5px;
	border: 1px solid #707070;
	background-color: #ffffff;
}
.financial tr td:nth-child(1) {
	background-color: #ffdddd;
}
.financial tr th:nth-child(1), td:nth-child(5) {
	width: 23%;
}
.financial tr th:nth-child(2), th:nth-child(3), th:nth-child(4) {
	width: 18%;
}
.financial tr td:nth-child(2), td:nth-child(3), td:nth-child(4) {
	text-align: right;
}
.official {
	width: 100%;
}
.official td {
	padding: 5px;
	text-align: left;
}
.official tr td:nth-child(1) {
	min-width: 6em;
}
.official tr td:nth-child(2) {
	min-width: 7em;
}
.album {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
}
.album p {
	padding: 0.5em;
}
.album img {
	max-width: 280px;
}
/*	コンタクトフォーム　*/
.wpcf7 .check {
	max-width: 100px;
}
.wpcf7 {
	text-align: center;
}
.wpcf7 ul {
	margin: auto;
	margin-top: 1em;
	
	padding: 0;
	list-style: none;
	text-align: left;
	width: 95%;
}
.wpcf7 ul li {
	border: none;
	background-color: #eee;
	font-weight: bold;
}
.wpcf7 img {
	vertical-align: middle;
}
.wcp7 .wpcf7-captchac {
	border: 1px solid #ccc;
}
.wpcf7 input.contactbtn {
   width: 139px;
   height: 45px;
   text-indent: -9999px;
   display: block;
   border: 0;
   cursor: pointer;
}
.wpcf7 textarea, .wpcf7 input {
	border-color: #ccc;
	border-style: solid;
	border-width: 1px;
	color: #333;
	padding: 1px;
	width: 95%;
	max-width: 400px;
}
.wpcf7 textarea, .wpcf7 .wpcf7-radio input {
	width: 95%;
	max-width: 640px;
}
.wpcf7 input.wpcf7-submit {
	border-style: solid;
	border-width: 1px;
	color: #fff;
	cursor: pointer;
	padding: 3px;
	width: 200px;
	font-weight: bold;
	font-size: 1em;
	background-color: #0075c2;
	margin-top: 10px;
}
.wpcf7 li .mst {
	color: #900;
	padding-left: 5px;
	font-size: 85%;
}

/*	footer　*/
#foot {
	margin : 0;
	padding : 1.5em 0;
	font-size: 0.9em;
	line-height: 1em;
	width: 100%;
	color: #fff;
	background-color: #346;
}
#foot a {
	color: #9ee;
}
#foot a:hover {
	color: #fff;
}
#foot_link {
	display: flex;
	flex-flow: row wrap;
	list-style: none;
	width: 80%;
	margin: 0 auto;
}
#foot_link li {
	margin: 0 1em;
}
#foot_id {
	width: 90%;
	margin: 0 auto;
}

#foot_modori {
	display: block;
	position: fixed;
	z-index: 10;
	background-color: #000;
	color: #fff;
	font-size: 0.8em;
	height: 2em;
    bottom: 1.5em;
	right: 1em;
	padding: 2em 1em 0 1em;
	border-radius: 0.3em;
    opacity: 0;
}
#foot_modori:before {
	content: '';
	position: absolute;
	top: 1em;
	left: 1.1em;
	width: 1em;
	height: 1em;
	border-top: solid 5px #fff;
	border-left: solid 5px #fff;
	transform: rotate(45deg);
}
#foot_modori.fade-in {
    opacity: 0.6;
    transition: opacity 1s;
}
#foot_copy{
	margin : 0;
	padding : 0 5px 0 10px;
	border : 0;
	font-size : 0.8em;
	color:#ffffff;
	background-color:#5c85e6;
	text-align:right;
}
/* Media queries
-------------------------------------------------------*/

@media screen and (min-width : 769px) { /* デスクトップ用CSS */

	/* __ Header __ */
	.logo {
		width: 100%;
	}
	#menu-trigger,
	#menu-text {
    	display: none;
    }
	/* __ Contents __ */
	#main-menu {
		width: auto;
	}
	#navi {
		position: relative;
		transition: none;
    	-webkit-transform: translateX(0);
    	transform: translateX(0);
	}
	.tum {
		flex-shrink: 5;
	}
}

@media screen and (max-width : 768px) { /* スマホ用CSS */
    #head {
       position: fixed;
       width:100%;
    }
    #wrap {
        padding-top: 73px;
    }
    #navi {
        position: fixed;
        max-height: 88vh;
        overflow-y: scroll;
    }
    #navi .menu{
        width:327px;
        box-shadow: 6px 0 25px rgba(0,0,0,.15);
    }

}
