@charset "utf-8";
/* CSS Document */

a{ text-decoration:none;word-wrap:break-word;}
a:hover{ text-decoration:none;}
/*.font_eng{ font-family:'Bahnschrift', 'メイリオ',"Hiragino kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", 'Meiryo UI',Verdana,'ＭＳ Ｐゴシック',sans-serif; font-weight:100;}*/
.font_noto_serif{font-family:'Noto Serif JP', serif;font-feature-settings : "palt";}
.sp-only{display:none;}
#totp{display:block;position:fixed;bottom: 5px;right: 10px;z-index: 999; margin:0;}
#totp a{display:block; margin:0;}

/* 800px以下*/
@media screen and (max-width:800px){
	img{ max-width:100%; max-height:100%;}
}

/*----------------------------------------------------------------------------
***                                                                  wrap
----------------------------------------------------------------------------*/
#wrap{ position:relative;}

.secBox h2{font-weight: 400;}
.secBox > .sectionInner{max-width: 1280px;margin:0 auto;padding: 30px 60px 60px;}
.bg_dot{
	padding:5em;
	margin:auto;
	background-image:radial-gradient(#f29600 10%, transparent 10%);
	background-size:15px 15px;
}
.bg_diagonal{ position:relative;}
.bg_diagonal:before{
	content:"";
    position:absolute;
    width:100%;
    height:100%;
    left:0;
	right:0;
	bottom:0;
	background-color:#ccc;
    background-image:-webkit-gradient(linear, 0 0, 100% 100%,color-stop(.25, #fff), color-stop(.25, transparent),color-stop(.5, transparent), color-stop(.5, #fff),color-stop(.75, #fff), color-stop(.75, transparent),to(transparent));
    -webkit-background-size:7px;
	background-image:linear-gradient( -45deg, #ccc 25%, #fff 25%, #fff 50%, #ccc 50%, #ccc 75%, #fff 75%, #fff);
	background-size:7px 7px;
	background-attachment:fixed;
	z-index:-1;
	opacity:0.3;
}

/* 800px以下*/
@media screen and (max-width:800px){
	.secBox > .sectionInner{width:90%;margin:2em auto;padding:2em 0;}
}

/*----------------------------------------------------------------------------
***                                                            ヘッダー
----------------------------------------------------------------------------*/
#headerArea{background: rgba(255,255,255,0.8);position:sticky;top:0;max-height: 86px;z-index:1000;}

/*----------------------------------------------------------------------------
***                                                            グローバルナビ
----------------------------------------------------------------------------*/
#g_naviBox{}
#g_naviBox .g_naviBoxInner{display:flex;justify-content:space-between;align-items:center;max-width: 1280px;margin: 0 auto;}
#g_naviBox .g_naviBoxInner .naviLogo{margin:0;/* width: 250px; */}
#g_naviBox nav{/* width: 65%; *//* margin:0 auto; *//* padding:1.2em 1em 1em; *//* height: 100%; */}
#g_naviBox ul{display:flex;justify-content: flex-end;align-items:center;}
#g_naviBox li{text-align:center;line-height:1em;font-size: 95%;flex: 1;}
#g_naviBox li:last-child{background: #1d217d;color:#fff;}
#g_naviBox li:last-child span{color:#fff;}
#g_naviBox li a{color: #000;display:block;padding: 0.5em 2em;position:relative;display: flex;white-space: nowrap;height: 86px;/* width: 140px; */align-items: center;}
#g_naviBox li span{vertical-align: baseline;margin: auto;}
#g_naviBox li a:before{
	content:"";
	width:0;
	left:50%;
	bottom:0;
	transition:all 0.3s ease;
	border-bottom:2px solid #d70835;
	position:absolute;
	display:block;
}
#g_naviBox li a:hover:before{ width:50%; border-bottom:2px solid #d70835;}
#g_naviBox li a:after{
	content:"";
	width:0;
	right:50%;
	bottom:0;
	transition:all 0.3s ease;
	border-bottom:3px solid #d70835;
	position:absolute;
	display:block;
}
#g_naviBox li a:hover:after{ width:50%; border-bottom:2px solid #d70835;}

/* 870px以下*/
@media screen and (max-width:870px){
	#g_naviBox li{font-size: 85%;}
}

/* 800px以下*/
@media screen and (max-width:800px){
	#g_naviBox .g_naviBoxInner{padding: 2%;}
	#g_naviBox li a{color:#fff;height: 2.5em;}
	.sp-only{display:initial;}
	 #g_naviBox .g_naviBoxInner .naviLogo{margin:0;width: 35%;position: static;left: 1em;top: 1em;z-index: 0;}
	 #g_naviBox nav{
		width:100%;
		height:100vh;
		margin:0 auto;
		padding: 14vw 3vw 3vw 3vw;
		position: fixed;
		top:0;
		left: 0;
		background:rgba(0,0,0,0.8);
		text-align:center;
		transform:translateX(-100%);
		transform-style: preserve-3d;
		z-index: 1;
	}
	#g_naviBox nav.anim{transition: transform .6s;}
	#g_naviBox nav ul{width:100%;height: 100%;margin:0 auto;padding:2em;display:block;overflow-y: auto;}
	#g_naviBox nav li{max-width:100%;text-align:center;margin: 1em auto;padding:0;font-size:150%;color:#999;}
	#g_naviBox nav li.sp-only{display: block;}
	#g_naviBox nav li:not(:last-child){ border:none;}
	#g_naviBox #menuBtn{
		display:block;
		right: 0;
		top: 0;
		width:36px;
		height:36px;
		cursor:pointer;
		margin:0;
		position: relative;
		z-index:2;
		/* background:rgba(255,255,255,0.8); */
	}
	#g_naviBox #menuBtn span{
		display:block;
		position:absolute;
		width:26px;
		height:2px;
		left:0;
		right:0;
		margin:0 auto;
		border-radius:2px;
		background-color: #a1a1a1;
		-webkit-transition:.35s ease-in-out;
		-moz-transition:.35s ease-in-out;
		transition:.35s ease-in-out;
	}
	#g_naviBox #menuBtn span:nth-of-type(1){ top:8px;}
	#g_naviBox #menuBtn span:nth-of-type(2){ top:17px;}
    #g_naviBox #menuBtn span:nth-of-type(3){ top:26px;}
	#g_naviBox #menuBtn.active{ background:none;}
	/* 最初のspanをマイナス45度に */
	#g_naviBox #menuBtn.active span:nth-child(1) {
		top:17px;
		-webkit-transform:rotate(-45deg);
		-moz-transform:rotate(-45deg);
		transform:rotate(-45deg);
	}
	/* 2番目と3番目のspanを45度に */
    #g_naviBox #menuBtn.active span:nth-child(2){opacity:0;}
	#g_naviBox #menuBtn.active span:nth-child(3){
		top:17px;
		-webkit-transform:rotate(45deg);
		-moz-transform:rotate(45deg);
		transform:rotate(45deg);
	}
	#g_naviBox #menuBtn.active span{ background-color:#fff;}
	#g_naviBox nav.active{transform:translateX(0%);height: 100%;overflow-y: hidden;-ms-overflow-style:none;scrollbar-width:none;}
	#g_naviBox nav.active::-webkit-scrollbar{ display:none;}
}



/*----------------------------------------------------------------------------
 ***                                                           パンくずリスト
----------------------------------------------------------------------------*/
#breadcrumbsBox{margin: 0 auto;padding: 0 0 1.5em;font-size: 80%;}
#breadcrumbsBox > .sectionInner{padding-top: 0.5em;padding-bottom: 0;margin-top: 0;margin-bottom: 0;}
#breadcrumbsBox a{color: #231815;}
/* 800px以下*/
@media screen and (max-width:800px){
	#breadcrumbsBox{margin: 0 auto;padding: 0 0 1.5em;width: 90%;}
	#breadcrumbsBox > .sectionInner{padding: 0.5em 0 0 0;padding-bottom: 0;margin-top: 0;margin-bottom: 0;}
}

/*----------------------------------------------------------------------------
***                                                                  .firstviewBox
----------------------------------------------------------------------------*/
.firstviewBox{min-height: 0;background: url(/images/top/img_main.jpg) no-repeat center center/cover;}
.firstviewBox .firstviewBoxInner{ padding:8em 0;}
.firstviewBox h1{text-align:center;/* color:#fff; */font-size: 3.5em;font-weight: lighter;line-height:1;}
.firstviewBox h1 span{font-size: 100%;display: block;}
.firstviewBox h1 span.text01{}
.firstviewBox h1 span.text02{font-size: 40%;}
.firstviewBox h1 img{ margin:0 auto 1em;}
.firstviewBox h1 img.ttl_img01{max-width:360px;}
@media screen and (max-width:800px){
    .firstviewBox{/* min-height: 200px; */}
    .firstviewBox .firstviewBoxInner{padding: 3em 0;}
    .firstviewBox h1{width: 100%;margin:auto;font-size:2.5em;}
    .firstviewBox h1 span.text01{width: 70%;margin:0 auto;}
}


/*----------------------------------------------------------------------------
***                                                                  footer
----------------------------------------------------------------------------*/
footer{background-color: #f1f1f1;}
footer .footerInner{/* max-width: 1280px; */margin:0 auto;/* padding: 4em 0 0; */}
footer .linkNaviBox{ max-width:25%; width:100%;}
footer .linkNaviBox dt{ color:#fff; border-bottom:1px solid #fff; font-weight:500; margin:0 0 0.5em; padding:0 0 0.5em; line-height:1em;}
footer .linkNaviBox dd{ margin:0 0 5em;}
footer .linkNaviBox dd ul{}
footer .linkNaviBox dd li{ margin:0.8em 0; line-height:1em; font-size:87.5%;}
footer .linkNaviBox dd li span{ font-size:75%;}
footer .linkNaviBox dd li a{ color:#ccc;}
footer .footerInner a{ color:#fff;}
footer .footerInner .companyInfo{ width:78%;}
footer .footerInner p{ color:#fff; margin:0.5em 0; line-height:1em;}
footer .footerInner p.copyrightText{/* border-top:1px solid #fff; */padding: 0.5em 0;background: #003856;text-align: center;margin: auto;}


footer .footerInner .menu_submenu{display: flex;justify-content: space-between;align-items: center;margin: 0 auto;max-width: 630px;height: 150px;position: relative;}
footer .footerInner .menu_submenu > .menu-item{page-break-inside: avoid;break-inside: avoid;max-width: 100%;margin: 0 0 0em 0;}
footer .footerInner .menu_submenu > .menu-item:first-child{
    position: absolute;
    left: -300px;
}
footer .footerInner .menu_submenu > .menu-item > a{color: #000;font-weight:500;line-height:1em;display: block;padding: 0 1.5em;border-right: 1px solid;transition:0.2s;}
footer .footerInner .menu_submenu > .menu-item > a:hover{opacity:0.6;}
footer .footerInner .menu_submenu > .menu-item:first-child a{
    padding: 0;
    border: none;
}
footer .footerInner .menu_submenu > .menu-item:last-child a{border: none;}
footer .footerInner .menu_submenu > .menu-item span{ font-size:75%;}
footer .footerInner .menu_submenu > .menu-item .sub-menu a{color:#ccc; font-size:80%;}
footer .footerInner .bnrBox{margin:0 auto 1em;}
footer .footerInner .bnrBox:nth-last-of-type(1){margin:0 auto 3em;}

@media screen and (max-width:1280px){
footer .footerInner .menu_submenu{padding-top: 85px;}
footer .footerInner .menu_submenu > .menu-item{}
footer .footerInner .menu_submenu > .menu-item:first-child{left: 0;right: 0;margin: auto;top: 6px;text-align: center;}
footer .footerInner .menu_submenu > .menu-item > a{}
footer .footerInner .menu_submenu > .menu-item > a:hover{}
footer .footerInner .menu_submenu > .menu-item:first-child a{}
footer .footerInner .menu_submenu > .menu-item:last-child a{}
footer .footerInner .menu_submenu > .menu-item span{}
footer .footerInner .menu_submenu > .menu-item .sub-menu a{}
footer .footerInner .bnrBox{}
footer .footerInner .bnrBox:nth-last-of-type(1){}
}
@media screen and (max-width:800px){
    footer .footerInner .menu_submenu{column-count:auto;margin: 0 0 0em 0;flex-wrap: wrap;height: auto;padding: 0 5% 2vh;}
	footer .footerInner .menu_submenu > .menu-item:first-child{position:initial;width:50%;}
	footer .footerInner .menu_submenu > .menu-item{max-width: none;margin: 0.5em auto;width: 100%;/* border-bottom: 1px solid; */}
	footer .footerInner .menu_submenu > .menu-item > a{
	    padding: 0.5em;
	    border-right: 0;
	    border-bottom: 1px solid #f1f1f1;
	}
	footer .footerInner{padding: 2vh 0 0;}
	footer .linkNaviBox{ max-width:30%;}
	footer .linkNaviBox dd li{ margin:1em 0; line-height:1.2em;}
	footer .logoImg{ margin:1em auto;}
	footer .footerInner .companyInfo{ margin:1em auto 0;}
	footer .footerInner .menu_submenu > .menu-item .sub-menu a{color:#ccc;font-size: 100%;}
	footer .footerInner p.copyrightText{padding:1em 0;}


}



/*----------------------------------------------------------------------------
 ***                                                              ページトップ
----------------------------------------------------------------------------*/
.pageTop{ position:fixed; right:0.5em; bottom:0.5em; z-index:100; margin:0;}
.pageTop a{
	width:50px;
	height:50px;
	background-color:#fff;
	border-radius:50px;
	border:2px solid #fccf00;
	position:relative;
	color:#fccf00;
	font-weight:bold;
	display:-webkit-flex;
    display:flex;
    -webkit-align-items:center;
    align-items:center;
    -webkit-justify-content:center;
    justify-content:center;
	line-height:1em;
	transition:all .3s;
}
.pageTop a:hover{ background-color:#fccf00; color:#fff; text-decoration:none;}


/* 800px以下*/
@media sc