@charset "utf-8";

/*
	Last Update:2010/06/15
	Auther: arahori
*/

/*===================================================================
	中央寄せ
===================================================================*/
body { text-align:center; overflow-x:hidden; }
	@media (min-width: 992px){
		min-width:1024px;
	}

.center { position:relative; width:100%; max-width:970px; margin:0 auto; text-align:left; }
	@media (max-width:1000px){
		.center { padding-left:15px; padding-right:15px; }
	}


/*===================================================================
	#head
===================================================================*/
#head { position:relative; }
#head a { text-decoration:none; }
#head .head_inquiry { position:absolute; }
#head .head_inquiry a { display:block; color:#fff; background:#e73434; border-radius:3px; text-align:center; }
	@media (max-width: 767px){
		#head { height:60px; z-index:2; }
		#head .site_logo { position:absolute; left:0px; top:0px; width:50vw; }
		#head .site_logo a { display:block; line-height:60px; }
		#head .site_logo a img { vertical-align:middle; }
		#head .head_inquiry { right:60px; top:10px; }
		#head .head_inquiry a { padding:10px 15px 0; height:40px; }
		#head .head_inquiry a i { font-size:1.5em; }
	}
	@media (min-width: 768px){
		#head { height:139px; background:url(../image/navi/main/back.png) repeat-x center bottom; }
		#head .site_logo a { display:none; }
		#head .head_inquiry { right:0; top:11px; }
		#head .head_inquiry a { width:115px; max-width:100%; padding:10px 0; }
	}

#btn_open {}
	@media (max-width: 767px){
		#btn_open { position:absolute; right:5px; top:10px; }
		#btn_open a { display:block; position:relative; width:45px; height:40px; background:#23559a; padding:5px 10px; border-radius:3px; }
		#btn_open a > span { display:block; border-bottom:3px solid #fff; position:absolute; left:5px; width:calc(100% - 10px); transition:all 0.5s; transform-origin:center; 
	-webkit-animation-duration:2.5s; animation-duration:2.5s; -webkit-animation-delay:2.5s; animation-delay:2.5s; 
	-webkit-animation-direction:alternate-reverse; animation-direction:alternate-reverse; -webkit-animation-iteration-count:infinite; animation-iteration-count:infinite; }
		#btn_open .l1 { top:10px; }
		#btn_open .l2 { top:18px; }
		#btn_open .l3 { top:26px; }
		#base.open #btn_open .l1 { top:18px; left:3px; width:40px; max-width:100%; transform:rotate(45deg); }
		#base.open #btn_open .l2 { left:3px; width:40px; max-width:100%; transform:rotate(-45deg); }
		#base.open #btn_open .l3 { width:0%; }
	}
	@media (min-width: 768px){
		#btn_open { display:none; }
	}
	
#main_navi { position:absolute; }
#main_navi a { display:block; color:#fff; }
	@media (max-width: 767px){
		#base:not(.open) #main_navi { display:none; }
		#main_navi { top:60px; left:0; width:100%; background:#000; z-index:2; max-height:calc(100vh - 60px); padding-bottom:120px; overflow-y:auto; overscroll-behavior:none; }
		#main_navi li { float:none; width:100%; }
		#main_navi li a { padding:15px; border-bottom:1px solid rgba(255,255,255,0.7); }
		#main_navi li a img { display:none; }
		#main_navi > ul > li > a { font-weight:bold; font-size:1.15em; }
		#main_navi._type3 .sub { background:rgba(255,255,255,0.4); }
		#main_navi._type3 .sub a { padding-left:40px; }
	}
	@media (min-width: 768px){
		#main_navi { top:64px; left:0; width:1016px; }
		#main_navi li._sp { display:none !important; }
		#main_navi:not(._type2) li a { height:70px; }
		#main_navi:not(._type2) li a span { display:none; }
		
		#main_navi._type2 ul { display:table; width:100%; height:70px; }
		#main_navi._type2 ul:after { display:none; }
		#main_navi._type2 li { display:table-cell; float:none; vertical-align:middle; text-align:center; }
		#main_navi._type2 li a { display:block; padding:20px 0; }
		#main_navi._type2 li a > span { display:block; line-height:100%; border-right:1px solid #464b50; padding:0 15px; }
		#main_navi._type2 ul > li:first-child a > span { border-left:1px solid #464b50; }
		
		#main_navi._type3 { width:970px; }
		#main_navi._type3 > ul { display:flex; width:100%; height:70px; justify-content:space-around; align-items:center; }
		#main_navi._type3 > ul:after { display:none; }
		#main_navi._type3 > ul > li { position:relative; display:block; float:none; text-align:center; }
		#main_navi._type3 > ul > li > a { display:flex; height:70px; justify-content:space-around; align-items:center; font-size:1.15em; padding-top:5px; }
		#main_navi._type3 > ul > li > a > span { display:block; line-height:100%; border-right:1px solid #464b50; padding:0 15px; }
		#main_navi._type3 .sub { position:absolute; top:100%; left:0; width:max-content; min-width:100%; z-index:10; display:none; }
		#main_navi._type3 .sub > ul { background:rgba(0,0,0,0.7); }
		#main_navi._type3 .sub > ul > li { border-bottom:1px solid #aaa; float:none; }
		#main_navi._type3 .sub > ul > li a { display:block; height:auto; padding:15px; text-align:left; }
		#main_navi._type3 .sub > ul > li a span { display:block; }
		body.pc #main_navi._type3 li:hover .sub { display:block; }
	}
	@media (min-width: 768px) and (max-width: 991px){
		#main_navi { max-width:100%; }
		#main_navi:not(._type3) ul { display:table; width:100%; }
		#main_navi:not(._type3) li { display:table-cell; float:none; }
		#main_navi li a img { visibility: hidden; }
		/*
		#main_navi:not(._type2) .navi_1 a { background:url(../image/navi/main/navi_1.png) no-repeat center center; }
		#main_navi:not(._type2) .navi_2 a { background:url(../image/navi/main/navi_2.png) no-repeat center center; }
		#main_navi:not(._type2) .navi_3 a { background:url(../image/navi/main/navi_3.png) no-repeat center center; }
		#main_navi:not(._type2) .navi_5 a { background:url(../image/navi/main/navi_4.png) no-repeat center center; }
		#main_navi:not(._type2) .navi_6 a { background:url(../image/navi/main/navi_5.png) no-repeat center center; }
		#main_navi:not(._type2) .navi_7 a { background:url(../image/navi/main/navi_6.png) no-repeat center center; }
		#main_navi:not(._type2) .navi_8 a { background:url(../image/navi/main/navi_7.png) no-repeat center center; }
		*/
	}
	
	
	/*-------------------------------------------------------------------
		#pankuzu_navi
	-------------------------------------------------------------------*/
	#pankuzu_navi { padding:5px 7px; background:#FAFAFA; }
	#pankuzu_navi ul { list-style:none; font-size:0.87em; }
	#pankuzu_navi ul li { display:inline; }
	#pankuzu_navi ul li a,
	#pankuzu_navi ul li span { margin-right:5px; padding-right:10px; background:url(../image/navi/pankuzu/arrow.gif) no-repeat right center; }
	

/*===================================================================
	#body
===================================================================*/
#body { background:url(../image/layout/body_back.jpg) repeat left top; }
#body{ zoom:1; /*for IE 5.5-7*/ }
#body:after{ content:"."; display: block; height:0px; clear:both; line-height:0; visibility:hidden; }
	@media (max-width: 991px){
		#top #secondary { padding-bottom:40px; }
	}
	@media (min-width: 992px){
		#body { padding-top:35px; padding-bottom:30px; }
		#primary { float:left; width:653px; }
		#secondary { float:right; width:300px; }
		#top #primary { width:570px; }
		#top #secondary { width:383px; }
	}
	@media (min-width: 768px) and (max-width: 991px){
		#top #primary { float:left; width:570px; max-width:60%; }
		#top #secondary { float:right; width:383px; max-width:40%; }
		#top #secondary .col-xs-6 { width:100%; }
	}


/*===================================================================
	#foot
===================================================================*/
#foot_contact { background:url(../image/layout/foot_contact.jpg) no-repeat center center / cover; color:#fff; padding:40px 0; }
#foot_contact p { text-align:center; margin-bottom:30px; }
#foot { padding-bottom:25px; background:url(../image/foot/foot_back.jpg) repeat center top; color:#FFF; }
#foot a { color:#FFF; }
#foot_digi { padding-top:20px; }
#foot .center { max-width:1000px; }
	@media (max-width: 767px){
		#foot .center { text-align:center; }
		#foot_info { display:inline-block; text-align:left; padding:10px; }
		#sitemap { display:none; }
	}
	@media (min-width: 768px){
		#foot_info { float:right; padding:20px 0 0; }
		#sitemap { float:left; margin:25px 0 0; border-left:1px solid #6C6C6C; }
		#sitemap dl { float:left; border-right:1px solid #6C6C6C; }
		#sitemap dl dt { margin-bottom:10px; padding:5px 30px; background:rgba(0,0,0,0.5); font-weight:bold; }
		#sitemap ul:nth-child(2) { padding-left:0; }
		#sitemap ul { float:left; padding:0 30px 0; }
		#sitemap ul li { margin-bottom:7px; }
	}

#copyright { background:#fff; padding:15px 0; }
#foot_marks { background:#fff; padding:30px 0 10px; }
#foot_marks .center { max-width:1330px; }
#foot_marks .foot_marks_wrap { display:flex; align-items:center; justify-content:center; gap:15px; }
#foot_marks .foot_marks_wrap .unit { flex:1 0 0; border:1px solid #ddd; aspect-ratio:1 / 1; }
#foot_marks .foot_marks_wrap .unit img { object-fit:contain; width:100%; height:100%; }
	@media (max-width: 991px){
		#foot_marks .foot_marks_wrap { flex-wrap:wrap; }
		#foot_marks .foot_marks_wrap .unit { width:min(150px, calc(25% - 15px)); flex:0 0 auto; }
	}

/* page-top */
#page-top {
	position: fixed;
	bottom: 0px;
	right: 0px;
	font-size: 77%;
}
#page-top a {
	width: 68px;
	height:88px;
	display: block;
}
