@charset "utf-8";
/*
	Last Update:2022/02/02
	Auther: iw
*/
/*===================================================================
	layout
===================================================================*/
a:link { color:#444; }
a:visited { color:#555; }
body.sp #base { overflow-x: hidden; }

@media (max-width: 991px){
	.wrapper, .wrapper-t { padding-top:50px; }
	.wrapper, .wrapper-b { padding-bottom:50px; }
}
@media (min-width: 992px){
	.wrapper, .wrapper-t { padding-top:70px; }
	.wrapper, .wrapper-b { padding-bottom:70px; }
}

.center { max-width: 980px; }
.center2 { max-width:1080px; }
	@media (max-width: 991px){
		.center { padding-left:15px; padding-right:15px; }
	}
	@media (min-width: 992px) and (max-width:1310px){
		.center { padding-left:30px; padding-right:30px; }
	}
	@media (max-width:1390px){
		.center2 { padding-left:15px; padding-right:15px; }
	}

.center_col-sm-4 {}
.center_col-xl-6 {}
	@media(max-width: 767px){
		.center_col-xs-4, 
		.center_col-sm-4 { padding-left:15px; padding-right:15px; }
	}
	@media (min-width: 768px) and (max-width: 991px){
		.center_col-xs-4, 
		.center_col-sm-4 { margin:0 0 0 auto; max-width:calc(980px / 3); padding-left:15px; padding-right:15px; }
	}
	@media (min-width: 992px){
		.center_col-xs-4, 
		.center_col-sm-4 { margin:0 0 0 auto; max-width:calc(980px / 3); padding-left:15px; padding-right:30px; }
	}
	@media (min-width:1600px){
		.center_col-xl-6 { margin:0 0 0 auto; max-width:calc(980px / 2); padding-left:15px; padding-right:60px; }
	}


/*===================================================================
	#layout
===================================================================*/
#head { position:fixed; top:0; left:0; width:100%; z-index:1000; background:#fff; }
#head a { text-decoration:none; }
#head .site_logo a { display:block; }
	@media(max-width: 991px){
		#base { padding-top:75px; }
		#head { height:75px; }
		#head.fixed { box-shadow:0 3px 3px rgba(0,0,0,0.2); }
		#head .head_wrap { position:relative; display:table; height:100%; width:100%; padding:0; }
		#head .head_wrap > * { display:table-cell; height:100%; vertical-align:middle; }
		#head .site_logo { text-align:left; padding:0 0 0 10px; }
		#head .site_logo a { width:100px; background:url(../image/layout/logo-sp.png) no-repeat left center / contain; }
		#head .site_logo a img { opacity:0; }
	}
	@media (min-width: 992px) and (max-width:1199px){
		#head { max-width:200px; height:100vh; }
		#head .site_logo { padding:25px 0 45px; text-align:center; }
		#head .site_logo a { margin:0 auto; }
		#head .head_wrap { height:100vh; overflow-y:auto; }
	}
	@media (min-width:1200px){
		#head { max-width:280px; height:100vh; }
		#head .site_logo { padding:25px 0 45px; text-align:center; }
		#head .site_logo a { margin:0 auto; }
		#head .head_wrap { height:100vh; overflow-y:auto; }
	}


#head_navi { text-align:left; }
#head_navi a { display:block; font-weight:500; }
#head_navi .main dd { position:relative; cursor:pointer; }
#head_navi .main dt + dd:after { content:""; position:absolute; width:30px; height:30px; cursor:pointer; }
#head_navi .main dl:not(.open) dd:after { background:url(../image/icon/arrow2-bd.png) no-repeat center center / 13px auto; }
#head_navi .main dl.open dd:after { background:url(../image/icon/arrow2-bu.png) no-repeat center center / 13px auto; }
#head_navi .main dl:not(.open) dd ul { display:none; }
body.pc #head_navi a:hover { color:#008BE0; }
	@media(max-width: 991px){
		#base:not(.open) #head_navi { display:none !important; }
		#head_navi { background:#fff; position:fixed; top:75px; left:0; width:100%; max-height:calc(100vh - 75px); overflow-y:auto; }
		#head_navi li { border-top:1px solid #C6D1D8; }
		#head_navi a { padding:15px 20px; }
		#head_navi .main dl { border-top:1px solid #C6D1D8; }
		#head_navi .main dt + dd:after { top:-42px; right:5px; }
		#head_navi .main dd li { background:#F6FCFF; }
		#head_navi .sub { border-bottom:1px solid #C6D1D8; }
	}
	@media (min-width: 992px){
		#head_navi .main { margin-bottom:40px; }
		#head_navi .main dt + dd:after { top:-42px; right:45px; }
		#head_navi .main dd li a { font-weight:normal; color:#008BE0; }
		body.pc #head_navi .main dd li a:hover { text-decoration:underline; }
		#head_navi .middle { margin-bottom:40px; }
		#head_navi .middle ul { border-top:1px solid #C6D1D8; }
		#head_navi .middle li { border-bottom:1px solid #C6D1D8; }
		body.pc #head_navi .middle a:hover { background:#F6FCFF; }
	}
	@media (min-width: 992px) and (max-width:1199px){
		#head_navi { font-size:0.9em; }
		#head_navi .main a { padding:0 0 15px 20px; }
		#head_navi .middle a { padding:20px 0 20px 20px; }
		#head_navi .sub a { padding:0 0 15px 20px; }
	}
	@media (min-width:1200px){
		#head_navi .main a { padding:0 0 15px 60px; }
		#head_navi .middle a { padding:20px 0 20px 60px; }
		#head_navi .sub a { padding:0 0 15px 60px; }
	}


#btn_open { text-align:right; }
#btn_open a { display:inline-block; padding:5px 15px; }
	@media(max-width: 991px){
		#base.open #btn_open a { background:url(../image/layout/btn_close.png) no-repeat center center / contain; }
		#base.open #btn_open img { opacity:0; }
	}
	@media (min-width: 992px){
		#btn_open { display:none !important; }
	}


#body { text-align:left; }
#foot {}
	@media (min-width: 992px) and (max-width:1199px){
		#body, 
		#foot { margin-left:200px; }
	}
	@media (min-width:1200px){
		#body,
		#foot { margin-left:280px; }
	}

#foot_navi { padding:50px 0 30px; }
#foot_navi a { color:#fff; }
#foot_navi dl { margin-bottom:30px; }
#foot_navi dl dt:after { content:""; display:block; height:1px; width:50px; border-top:2px solid #fff; margin:15px 0; }
body.pc #foot_navi dl dd a:hover { text-decoration:underline; }
	@media(max-width: 991px){
		#foot_navi { display:none; }
	}

#foot_sub_navi { background:#000; color:#fff; padding:20px 0; }
#foot_sub_navi a { color:#fff; }
#foot_sub_navi li { display:inline-block; }
body.pc #foot_sub_navi a:hover { text-decoration:underline; }
	@media(max-width: 767px){
		#foot_sub_navi li { font-size:12px; }
		#foot_sub_navi li:not(:first-child) { margin-left:10px; }
	}
	@media (min-width: 768px){
		#foot_sub_navi .row { display:table; width:100%; margin:0; }
		#foot_sub_navi .row:before,
		#foot_sub_navi .row:after { display:none; }
		#foot_sub_navi .row > * { display:table-cell; vertical-align:middle; float:none; }
		#foot_sub_navi li:not(:first-child) { margin-left:20px; }
	}

#copyright a { text-decoration:underline; }
	@media (max-width: 575px){
		#copyright { font-size:11px; text-align:center; }
	}
	@media (min-width: 576px){
		#copyright { font-size:12px; text-align:right; }
	}


/*===================================================================
	#page
===================================================================*/
#page_title { position:relative; }
#page_title .en { font-weight:500; }
#page_title h2 { font-weight:bold; }

#page_title.image .img_back { max-height:800px; }
#page_title.image .page_title_wrap { position:absolute; left:0; top:50%; width:100%; transform:translateY(-50%); -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%); }
#page_title.image h2 { color:#fff; }
#page_title.image_sub .center .img_back img { visibility:visible; width:100%; height:auto; }
#page_title.image_sub .page_title_wrap { padding:40px 0 0; }
#page_title.image_no .page_title_wrap { padding:50px 0 0; }
	@media(max-width: 575px){
		#page_title h2 { font-size:1.5em; }
		#page_title.image .img_back { height:45vw; background-position:center top; }
	}
	@media (min-width: 576px){
		#page_title .en { font-size:1.5em; }
		#page_title h2 { font-size:3.5em; }
		#page_title.image .img_back { height:56vw; }
	}

#pankuzu { font-size:13px; color:#999; }
#pankuzu a { color:#999; text-decoration:none; }
#pankuzu ul { display:table; }
#pankuzu ul > li { display:table-cell; line-height:100%; vertical-align:middle; }
#pankuzu ul > li > *, 
#pankuzu ul > li > *:before { display:inline-block; vertical-align:text-bottom; line-height:100%; }
#pankuzu ul > li:not(:first-child) > *:before { content:"／"; font-size:24px; height:24px; margin:0 5px; }
#pankuzu ul > li:first-child > *:before { content:""; width:14px; margin:0 8px 0 0; height:24px; background:url(../image/icon/icon_home-g.png) no-repeat left center / contain; }
body.pc #pankuzu a:hover { text-decoration:underline; }
	@media (max-width: 575px){
		#pankuzu { padding:20px 0; }
		#pankuzu .center { display:none; }
	}
	@media (min-width: 576px){
		#pankuzu { padding:10px 0 60px; }
	}

/*===================================================================
	#news
===================================================================*/
.category_list { letter-spacing:-1em; }
.category_list > span { position:relative; color:#9F9F9F; font-weight:bold; display:inline-block; letter-spacing:normal; padding-right:70px; margin:5px 30px 5px 0; }
.category_list > span::after { content:""; width:50px; height:1px; background:#C4C4C4; position:absolute; display:block; top:50%; right:0; }
.category_list > ul { display:inline-block; letter-spacing:-1em; margin-left:-5px; margin-right:-5px; }
.category_list > ul > li { display:inline-block; letter-spacing:normal; padding:0 5px; margin:5px 0; }
.category_list > ul > li a { text-align:center; padding:5px 10px; display:block; color:#747474; min-width:100px; border-radius:30px; transition:.2s; font-weight:bold; letter-spacing:1px; }
.category_list > ul > li.active a,
.category_list > ul > li a:hover { color:#fff; background:#000000;}
@media (max-width:575px) {
	.category_list > ul { text-align:center; }
	.category_list > ul > li a { letter-spacing:normal; padding:5px; }
}

.info_list {}
.info_list a { display:block; padding:20px 0; border-bottom:1px dotted #ddd; }
.info_list dl > * { line-height:130%; }
.info_list dl .date { width:90px; text-align:center; }
.info_list dl .category { width:150px; text-align:center; }
.info_list dl .category span { display:inline-block; padding:4px 10px; }
.info_list dl dt { font-weight:bold; padding-right:50px; background:url(../asset_company/image/layout/icon_arrow_right3.png) no-repeat center right; }

	@media (max-width: 767px){
		.info_list dl dt { margin-bottom:5px; }
		.info_list dl .date,
		.info_list dl .category { margin-bottom:10px; display:inline-block; text-align:left; }
	}
	@media (min-width: 768px){
		.info_list dl { display:table; width:100%; }
		.info_list dl > * { display:table-cell; vertical-align:middle; }
	}

.info_detail_head { }
.info_detail_head { padding-bottom:20px; border-bottom:1px solid #DEDEDE; margin-bottom:40px; }
.info_detail_head > * { display:block; }
.info_detail_head .category { display:inline-block; padding:2px 10px; background:#000000; color:#fff; font-weight:bold; letter-spacing:1px; font-size:.9em; }
.info_detail_head .date { display:inline-block; color:#9F9F9F; margin-left:10px; }
.info_detail_head .title { color:#393939; font-weight:bold; font-size:1.75em; margin-top:5px; }
.info_detail_content .comment { letter-spacing:2; }
.info_detail_content .comment a { color:#1C46A4; text-decoration:underline; }
.info_detail_content .comment a:hover { text-decoration:none; }
@media (max-width:575px) {
	.info_detail_head .category { font-size:.8em; }
	.info_detail_head .title { color:#393939; font-weight:bold; font-size:1.5em; }
}

.detail_navi { letter-spacing:-1em; }
.detail_navi li { position:relative; display:inline-block; letter-spacing:normal; }
.detail_navi li:not(:last-child)::after { content:""; position:absolute; top:0; right:0; width:1px; height:100%; background:#0046A5; }
.detail_navi li a { color:#0046A5; font-weight:bold; padding:0 30px; }
.detail_navi li a.prev { background:url(../asset_company/image/layout/icon_arrow_left7.png) no-repeat center left 10px; }
.detail_navi li a.next { background:url(../asset_company/image/layout/icon_arrow_right7.png) no-repeat center right 10px; }

/*===================================================================
	common
===================================================================*/
.img_back { background-position:center center; background-repeat:no-repeat; background-size:cover; overflow:hidden; line-height:1px; }
.img_back > img { visibility:hidden; width:1px; height:1px; }
.img_rect { padding-top:65%; }
.img_sq { padding-top:100%; }

.parallax, 
.parallax:before, 
.parallax:after { transition:opacity .7s, transform .7s, left .7s, right .7s; }
.parallax[data-parallax-in="vertical"],
.parallax[data-parallax-in="vertical2"],
.parallax[data-parallax-in="vertical3"] { opacity:1; transform:translateY(0); -webkit-transform:translateY(0); -ms-transform:translateY(0); }
.parallax[data-parallax-in="vertical"]:not(.parallax_on),
.parallax[data-parallax-in="vertical2"]:not(.parallax_on),
.parallax[data-parallax-in="vertical3"]:not(.parallax_on) { opacity:0 !important; }
.parallax[data-parallax-in="vertical"]:not(.parallax_on)  { transform:translateY(30px); -webkit-transform:translateY(30px); -ms-transform:translateY(30px); }
.parallax[data-parallax-in="vertical2"]:not(.parallax_on) { transform:translateY(60px); -webkit-transform:translateY(60px); -ms-transform:translateY(60px); }
.parallax[data-parallax-in="vertical3"]:not(.parallax_on) { transform:translateY(90px); -webkit-transform:translateY(90px); -ms-transform:translateY(90px); }
.parallax[data-parallax-in="left"] { position:relative; left:0; }
.parallax[data-parallax-in="left"]:not(.parallax_on) { left:-100vw; }
.parallax[data-parallax-in="right"] { position:relative; right:0; }
.parallax[data-parallax-in="right"]:not(.parallax_on) { right:-100vw; }

@media (max-width: 767px){
	.sp_table_wrap { overflow-x:auto; width:100%; white-space:nowrap; }
	.sp_table_wrap::-webkit-scrollbar { height:10px; }
	.sp_table_wrap::-webkit-scrollbar-track { background:#F1F1F1; }
	.sp_table_wrap::-webkit-scrollbar-thumb { background:#BCBCBC; }
	.sp_table_wrap table { width:100%; }
	.sp_table_wrap table { font-size:13px !important; -webkit-text-size-adjust:100%; -moz-text-size-adjust:none; -ms-text-size-adjust:100%; text-size-adjust:100%; }
}