@charset "utf-8";
/*
	Last Update: 2024/11/1
	Auther: yt
*/

:root {
	--header-height:120px;
	--sp-foot-banner-height:50px;
	--c-blue:#7CC9EA;
	--c-blue-o:#F7F9FA;
	--c-yellow:#F8FC96;
	--c-gray:#9A9A9A;
}
@media (max-width:767px) {
	:root {
		--header-height:70px;
	}
}

/*===================================================================
	base layout
===================================================================*/
.wrapper2, .wrapper2-t { padding-top:40px; }
.wrapper2, .wrapper2-b { padding-bottom:40px; }
@media (max-width: 767px){
	.wrapper, .wrapper-t { padding-top:60px; }
	.wrapper, .wrapper-b { padding-bottom:60px; }
}
@media (min-width: 768px){
	.wrapper, .wrapper-t { padding-top:80px; }
	.wrapper, .wrapper-b { padding-bottom:80px; }
}

.center, .center2, .center3 { padding-left:20px; padding-right:20px; }
.center { max-width:1340px; }
.center2 { max-width:1140px; }
.center3 { max-width:740px; }

body.colorbox_open{overflow-y: hidden;}


/*===================================================================
	color / font
===================================================================*/
.bg_white { background-color:#fff; }
.bg_blue-o { background-color:var(--c-blue-o); }

.c_white { color:#fff; }
.c_gray { color:var(--c-gray); }

.en { font-family:'Oswald', sans-serif; }

/*===================================================================
	common
===================================================================*/
.indent { padding-left:1em; text-indent:-1em; display:inline-block; }
.indent2 { padding-left:1.25em; text-indent:-1.25em; display:inline-block; }

.video_wrap { position:relative; width:100%; height:0; padding-bottom:56.25%; display:block; border-radius:10px; overflow:hidden; }
.video_wrap video { position:absolute; display:block; width:100%; height:100%; top:0; left:0; }

/*===================================================================
	hl
===================================================================*/
.hl_1 { position:relative; text-align:center; margin-bottom:70px; display:flex; align-items:center; justify-content:center; flex-direction:column; min-height:83px; }
.hl_1 .bg_text { position:absolute; top:0; left:50%; transform:translate(-50%,0); width:auto; z-index:1; }
.hl_1 .bg_text:not(._normal) { mix-blend-mode:overlay; }
.hl_1 .bg_text img { height:83px; width:auto; max-width:unset; }
.hl_1 .sub { text-align:center; position:relative; z-index:2; display:inline-block; font-size:1.5em; padding-bottom:5px; border-bottom:1px solid var(--c-gray); color:var(--c-gray); text-indent:3px; letter-spacing:3px; display:block; margin-bottom:20px; padding-top:20px; font-weight:bold; }
.hl_1 .main { font-size:1.5em; font-weight:bold; display:block; text-indent:3px; letter-spacing:3px; position:relative; z-index:2; }
@media (max-width:767px) {
	.hl_1 { margin-bottom:40px; }
	.hl_1 .sub { font-size:1.25em; text-indent:1px; letter-spacing:1px; }
	.hl_1 .bg_text img { height:60px; }
}
.hl_1 .main ._large { font-size:1.25em; }
.hl_2 { text-align:center; background:#F7F7F7; font-size:1.25em; padding:10px; margin-bottom:30px; }
.hl_3 { padding:10px 20px; margin-bottom:20px; background:url(../image/layout/hl_bg1.jpg) no-repeat center center / cover; border-radius:3px; }
.hl_3 .main { font-weight:bold; font-size:1.25em; color:#fff; }
.hl_3 .main ._small { font-size:0.9em; }
.hl_4 { margin-bottom:20px; }
.hl_4 .main { padding-left:30px; background:url(../image/icon/check.svg) no-repeat center left / 23px auto; font-weight:500; font-size:1.5em; }
@media (max-width:767px) {
	.hl_4 .main { font-size:1.25em; }
}

/*===================================================================
	layout
===================================================================*/
#base { padding-top:var(--header-height); }
#head { position:fixed; top:0; left:0; width:100%; z-index:2000; transition:box-shadow .2s; }
#head.fixed { box-shadow:0 3px 5px rgba(0,0,0,0.2); }
#head .head_wrap { width:100%; height:var(--header-height); position:relative; display:flex; align-items:center; justify-content:space-between; }
#head .site_logo a { display:inline-block; }
#head .site_logo a img { width:229px; }
@media (max-width:767px) {
	#head .site_logo a img { width:170px; }
}

html:lang(en) #head { margin-top: 57px;}

#pop_contact .hl_1{margin-bottom: 25px;}
#pop_contact .button_list{	text-align: center; padding: 10px 10px;   background: url(../image/top/about_bg.jpg) no-repeat center center / cover;  border-radius: 50px;}
#pop_contact .button_list a{color: #fff; font-weight: bold;  display: block;}

.head_navi_wrap { display:flex; align-items:center; }
.head_navi_wrap #contact_btn { padding-left:20px; }
#head_navi ul { list-style:none; }
#head_navi a { display:block; }
#head_navi .head_navi_top { text-align:right; margin-bottom:10px; }
#head_navi .head_navi_top .language_select_wrap { position:relative; display:inline-block; }
#head_navi .head_navi_top .language_select_wrap::before { content:""; width:14px; height:14px; display:block; position:absolute; background:url(../image/icon/lang.svg) no-repeat center center / contain; top:50%; left:10px; transform:translateY(-50%); pointer-events:none; }
#head_navi .head_navi_top .language_select { padding:5px 10px 5px 30px; border:1px solid #E8E8E8; border-radius:3px; }
#head_navi ul { display:flex; align-items:start; justify-content:stretch; }
#head_navi ul li { display:inline-block; padding-left:20px; }
#head_navi .main a { font-weight:bold; }
body.pc #head_navi .main a:hover { text-decoration:underline; color:#004C9F; }
	@media (max-width: 767px){
		html:lang(en) #head_navi {margin-top: 57px; }
		#head_navi { position:fixed; top:var(--header-height); right:0; z-index:3000; width:100%; max-width:400px; background:#fff; height:calc(100vh - var(--header-height)); overflow-y:auto; overscroll-behavior:none; }
		#base:not(.open) #head_navi { display:none !important; }
		#head_navi .head_navi_top { padding-right:20px; }
		#head_navi .head_navi_bottom { flex-direction:column; border-top:1px solid #ccc; width:100%; }
		#head_navi .head_navi_bottom li { padding:0; border-bottom:1px solid #ccc; width:100%; }
		#head_navi .head_navi_bottom li a { width:100%; display:block; padding:10px 20px; }
		.head_navi_wrap { margin-left:auto; }
		#contact_btn img { width:55px; }
	}

#btn_open { width:65px; margin-right:-15px; margin-left:0; line-height:1px; }
#btn_open a { position:relative; display:inline-block; width:100%; height:65px; }
#btn_open a > span { position:absolute; right:15px; height:2px; background:var(--c-blue); transition:all .3s; transform-origin:right center; }
#btn_open a > span.l1 { top:22px; width:28px; }
#btn_open a > span.l2 { top:30px; width:18px; }
#btn_open a > span.l3 { top:38px; width:28px; }
#base.open #btn_open a > span.l1 { top:19px; transform:rotate(-45deg); right:20px; }
#base.open #btn_open a > span.l2 { width:0; }
#base.open #btn_open a > span.l3 { top:38px; transform:rotate(45deg); right:20px; }
	@media (min-width: 768px){
		#btn_open { display:none !important; }
	}

#foot { background:url(../image/layout/foot_bg.jpg) no-repeat center center / cover; color:#fff; }
#foot a { color:#fff; }
#foot .foot_wrap { display:flex; align-items:flex-end; justify-content:space-between; }
#foot .foot_wrap ._left { display:flex; align-items:center; }
#foot .foot_wrap ._left .company { margin-bottom:10px; font-size:.8em; font-weight:500; }
#foot .foot_wrap ._left .contact { display:flex; align-items:center; margin-bottom:10px; }
#foot .foot_wrap ._left .contact .label { font-size:.8em; font-weight:bold; padding-right:10px; }
#foot .foot_wrap ._left .contact ul { display:flex; align-items:center; }
#foot .foot_wrap ._left .contact ul li:not(:last-child) { padding-right:10px; }
#foot .foot_wrap ._left .contact ul li a { display:inline-block; padding:5px 15px; border-radius:20px; background:#fff; font-weight:bold; font-size:0.8em; color:#6F98AF; }
#foot .foot_wrap ._left .comment { font-weight:500; font-size:0.75em; }
#foot .foot_wrap ._right { text-align:right; }
#foot .foot_wrap .address { padding-left:40px; }
#copyright { font-size:0.8em; }
@media (max-width:1200px) {
	#foot .foot_wrap { flex-direction:column; }
	#foot .foot_wrap > * { width:100%; }
	#copyright { padding-top:20px; }
}
@media (max-width:991px) {
	#foot .foot_wrap ._left { flex-direction:column; }
	#foot .foot_wrap ._left > * { width:100%; }
	#foot .foot_wrap .address { padding-left:0; padding-top:20px; }
}
@media (max-width:767px) {
	#foot .foot_logo { text-align:center; }
	#foot .foot_wrap ._left .contact { justify-content:center; }
	#foot .foot_wrap .address { text-align:center; }
	#copyright { text-align:center; }
}
