@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@400;500&display=swap');

html {
	font-size:10px;
	
	font-family: 'Kiwi Maru' , source-han-sans-japanese, sans-serif;
	
	/*
		font-family: source-han-serif-japanese, serif;
		font-weight: 700;
		font-style: normal;	
	*/
	
	color:#333;
}
sup{
	vertical-align: super;
	font-size:0.7em;
}


body{
	text-align:center;
	min-width:1000px;
	min-height:100vh;
	overflow-x: hidden;
}

a{			color:#111;	}
a:hover{	color:#000;	}


hr{
	margin:5em 8% 7em;
	height:4px;
	background-color:#CCC;
}

strong{
	color:#001A7A;
	font-size:1.1em;
}


/*// クラス設定 ///////////////////////////////*/
.autoWrap{
	position:relative;	
	margin-left: auto;
	margin-right: auto;
	width:1000px;
	min-width:1000px;
	text-align:left;
}
.mTlong{	margin-top:10em;	}
.mTimg{	margin-top:2em;	}
.mTw{	margin-top:4em;	}
.mT{	margin-top:2em;	}
.mTs{	margin-top:0.5em;	}
.mS{	margin-left:3%;	margin-right:4%;	}

.flexBox{
	display:flex;
	flex-wrap: wrap;
	justify-content:space-between;
}
.flexBoxR{
	display:flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	justify-content:space-between;
}
.flexBox._sp3 > div, .flexBox._sp3 > li{display:block;	width:31%;	}
.flexBox._sp4 > div, .flexBox._sp4 > li{display:block;	width:23%;	}
.flexBox > li{	list-style:none;}


.Ma1{	margin-left:1px;	margin-right:1px;	}
._spOnly{		display:none;	}

/*-------------------
	header
---------------------*/
#header{
	height:160px;
	overflow:hidden;	
	transition: all 0.5s;
}


#header h1{
	position:relative;
	padding-top:8px;
}

#header h2{
	position:absolute;
	top:0.25em;
	left:32px;
	font-size:1.2em;
}

#header.fixed{
	background-color:#FFF;
	position: fixed;
	width:100%;
    z-index: 999;/*最前面へ*/
    top:0;/*位置指定*/
    left:0;/*位置指定*/
	background-image:url("../images/style/skyback.jpg");
	background-repeat:no-repeat;
	background-size:100% auto;
	background-position:0 0;
}

#mainNav{
	position:relative;
	margin-top:-30px;
	font-size:1.6em;
	margin-left:360px;
}
#mainNav ul,
#snsNav ul{
	display:flex;
	flex-wrap: nowrap;
	justify-content:space-between;
}

#mainNav ul > li,
#snsNav ul > li{
	display: inline-flex;
}

#snsNav ul > li{	padding:8px 4px;	}

#mainNav ul > li#_home{
	
	width:22px;
	height:22px;
	background-image:url("../images/style/home.png");
	background-repeat:no-repeat;
	background-size:100% 100%;
	background-position:0 0;
	overflow:hidden;
	text-indent:100%;
	white-space:nowrap;
}
#snsNav {
	position:absolute;
	top:0;
	right:0;
}
#snsNav ul > li{	
	width:72px;
}

#pageLinks{
	padding:0.5em 0;
	background-color:#0F479C;
	color:#FFF;
	font-size:1.4em;
}

#pageLinks ul{	display:block;	}
#pageLinks ul li{	display:inline;		}
#pageLinks ul li::before{
	content:">";
	display:inline-block;
	padding:0 0.5em;	
}

#pageLinks ul li._h{

}
#pageLinks ul li._h img{	width:16px;	}
#pageLinks ul li._h::before{
	content:none;
	display:inline-block;
	padding:0;	
}




#pageLinks a{			color:#FFF;	}
#pageLinks a:hover{		color:#FFF136;	}



#mainContents.fixed {
	padding-top:195px;
}



/*-----------------
	フッター
--------------------*/

#fLinks{
	background-color:#0F479C;
	height:286px;
	color:#FFF;
}

#fLinks .autoWrap{
	text-align:center;
	padding-top:4em;
	padding-botttom:2em;
}

#fLinks h2{
	font-size:4.2em;
	text-align:center;
}
#fLinks h2 span{
	display:block;
	font-size:0.4em;
	text-align:center;
	color:#FFF136;
	padding:0.8em 0;
}

#fLinks ul{
	display:flex;
	flex-wrap: nowrap;
	justify-content:center;
}

#fLinks ul li{
	display:inline-block;
	margin:0 0.5em;
}
#fLinks ul li a{
	vertical-align:top;
}

#fLinks ul li._i img{
	margin-top:16px;
}


#footer{
	background:#FFF url("../images/style/footer.jpg") repeat center top;
	padding:3em 0;
}

#fInner{
	position:relative;
	width:48%;
	margin:0 51% 0 1%;
	text-align:center;

}

#fInner .f01{
	position:absolute;
	left: 102%;
	top:1.2em;
	width:100%;
}

#fInner .f01 iframe{
	boredr:none;
	width:100%;
	height:340px;
}
#fInner .f01 p{
	text-align:right;
	line-height:1.25;
	font-size:1.4em;
	padding:0.5em;
}



#fInner .f02{
	text-align:left;
	margin:1.5em 2.5em;
	font-size:1.6em;
	padding:0.8em ;
	line-height:1.8;
	border-top: 2px solid #666;
	border-bottom: 2px solid #666;
}

#footer .yBtn{	font-size:2.4em;	}

a.yBtn , .yBtn{
	position:relative;
	padding:0.6em 1.1em;
	display:inline-block;
	border:0.2em solid #FFF136;
	background-color:#FFF136;
	color:#0F479C;
	font-weight:bold;
	corsor:pointer;
}
#mainContents a.yBtn , #mainContents .yBtn{	font-size:	1.8em;	}

accsess{
	display:block;
	background-color:#0F479C;
	color:#FFF;
	padding:0.8em 0;
	font-size:1.4em;

}
accsess .autoWrap{
	text-align:right;

}

/*-----
MENUBTN
-------------*/
#hideMenuBtn {
    position: fixed;
    top: 20px;
    right: 15px;
    display: flex;
	display:none;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index:1200;
    background-color: #27388f;
}
#hideMenuBtn span,
#hideMenuBtn span:before,
#hideMenuBtn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
	transition: all 0.5s;
}
#hideMenuBtn span:before {
    bottom: 8px;
}
#hideMenuBtn span:after {
    top: 8px;
}
#hideMenuFlg{
	display :none;
}

#hideMenuFlg:checked ~ #hideMenuBtn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#hideMenuFlg:checked ~ #hideMenuBtn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#hideMenuFlg:checked ~ #hideMenuBtn span::after {
    top: 0;
    transform: rotate(-45deg);
}

@media print {
	#header{
		position: absolute;
	}
}



@media screen and (max-width: 1000px){
	html {
		font-size:1vw;
	}
	
	body{
		min-width:auto;
		width:100%;
	}
	.autoWrap{
		margin-left:2%;
		margin-right:2%;
		width:96%;
		min-width:96%;
	}
	
	#header{	height:16.5%;	height:16.5vw;	}


	#header h1 img{		width:30.7%;	width:30.7vw;	}	
	#mainNav{
		margin-left:36%;	margin-left:36vw;
		margin-top:-3%;		margin-top:-3vw;
	}	
	#snsNav ul > li {	    width: 7.2%;    width: 7.2vw;	}
	#fInner .f01 iframe{
		height:34%;	height:34vw;
	}

}


@media (min-width: 641px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}
@media screen and (max-width: 640px){
	html {
		font-size:1.4vw;
	}
	
	.flexBox , .flexBoxR{
		display:block;
	}
	
	ul.flexBox{	display:flex; }
	
	.flexBox._sp3 > div,
	.flexBox._sp4 > div{
		width:80%;
		margin-top: 1.5em;;
		margin-left: 10%;
	}
	

	#hideMenuBtn {	display:flex;	}
	#header{
		height:auto;
		overflow:unset;
	}
	#header .autoWrap{
		width:100%;
		min-width:100%;
		margin:0;
	}
	#header h1 {
		padding:1em;

	}	
	#header h1 img {
	    width: auto;
		height:80px;
	}	
	#hideMenus{
		display:block;
		overflow:hidden;
		position:fixed;
		width:0;
		height:100vh;
		padding:0;
		margin:0;
		top:0;
		left:100%;
		background-color: rgba(32,82,157,0.8);
		color:#FFF;
		z-index:1000;
		transition: all 0.5s;

	}

	#hideMenuFlg:checked ~ #hideMenus{
		width:100%;
		left:0;
		
	}
		
	#mainNav{
		position:static;
		margin-top:70px;
		font-size:20px;
		margin-left:auto;
	}
	
	
	#mainNav ul{
		display:block;
	}
	
	#mainNav ul > li{
		display: block;
		margin-left:10px;
		border-bottom: 1px dotted #FFF;
	}
	
	#mainNav ul > li#_home{
		
		width:auto;
		height:auto;
		background-image:none;
		text-indent:0;
	}

	#mainNav ul > li a{
		display: block;
		padding:0.8em 1em;
		color:#FFF;
	}
	#mainNav ul > li a:hover{
		color:#FFF136;
		background-color: #27388f;
	}

	#snsNav {
		position:static;
		
	}
	#snsNav ul{
		padding:20px 12%;
	}
	#snsNav ul > li {	    width: 40%;	}

	#fLinks{
		height:auto;
		padding:15px 0 40px; 
	}	
	#fLinks h2{
		font-size:6em;
		padding-bottom:0.5em;
	}
	#fLinks ul{
		flex-wrap: wrap;
	}
	#fLinks ul > li._b::after {
		content:"";
		display:block;
		width:80vw;
	}
	#fLinks ul > li._i {
		margin: 0 2em;
	}



	#fInner{
		width:96%;
		margin:0 2%;
		font-size:2em;
		padding:20px 0;
	}
	
	#fInner .f01{
		position:static;
		width:96%;
		margin:20px 2%;
		text-align:center;
	}
	#fInner .f01 p {
    	padding: 0.5em 0;
		font-size:0.98em;
	}
	
	#fInner .f01 iframe{
		boredr:none;
		width:100%;
		height:340px;
	}

	#fInner .f02 {
	    margin: 1.5em 1.5em;
	    font-size: 1.3em;
	    line-height: 1.8;
	}	
	._spNone{		display:none;	}
	._spOnly{		display:block;	}


	
}