@charset "utf-8";

/*----- reset -----*/
html{font-size:62.5%;height:100%;}
body{margin:0;padding:0;font-size:1.6rem;font-family:"Shippori Mincho",sans-serif;line-height:1.5;color:#333;height:100%;position:relative;letter-spacing:0;overflow-wrap:break-word;word-wrap:break-word;-webkit-text-size-adjust:100%;background:#fff;width:auto;font-weight:500;}
header,main,article,section,nav,footer{display:block;}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;font-size:100%;}
textarea, select,button{font-family:"Shippori Mincho",sans-serif;}
input{font-family:"Shippori Mincho",sans-serif;line-height:1.5;color:#333;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border: 0;}
address,caption,cite,code,dfn,th,var{font-style:normal;font-weight:normal;}
em{font-style:normal;font-weight:500;}
ol,ul{list-style: none;}
caption{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;}
input[type="text"],input[type="submit"],input[type="email"],input[type="tel"],select{-webkit-appearance:none;appearance:none;border-radius:0;border:none;background:none;}
select::-ms-expand{display:none;}

*, *::before, *::after{box-sizing:border-box;}
/*----- reset end -----*/
:root{
	--vw-100:100vw;
	--vw-50:calc(var(--vw-100)*.5);
	/* --dd-height:70px; */
}

html{visibility:hidden;}
html.wf-active, html.wf-inactive{visibility:visible;}

#wrapper{overflow:hidden;}

.sp_size{display:none !important;}

body.fixed{
	overflow:hidden;
	height:100%;
}

#wrapper.fixed{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
}

/*----- header -----*/
#header_wrap{
	width:100%;
	position:fixed;
	z-index:1000;
	transition:background 0.3s,transform 0.3s;
}
#header_wrap.scroll{background:rgba(255,255,255,0.9);}
#header_wrap.hide{transform:translateY(-101%);}
#header_area{
	display:flex;
	position:relative;
	align-items:center;
	justify-content:space-between;
	padding:24px 30px 20px;
	margin:auto;
}
#logo{padding-left:3px;}
.logo_link, .logo_img{
	display:block;
	width:100%;
	height:61px;
}
#toggle{display:block;position:absolute;right:34px;cursor:pointer;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.6rem;
	padding:5px 0 0;
	text-decoration:none;
	border:none;
	background:none;
	cursor:pointer;
	height:20px;
	line-height:2rem;
	color:#333 !important;
}
.toggle_txt{
	position:relative;
	display:block;
	background:none;
	padding:0 0 0 20px;
}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{
	content:'';
	display:block;
	position:absolute;
	z-index:10;
	left:0;
	width:15px;
	height:1px;
	background:#333;
	transition:all 0.3s;
}
.toggle_btn::before{top:9px;}
.toggle_btn::after{top:19px;}
.toggle_txt::before{top:12px;left:0;}
/* .toggle_btn.open::before{
	top:2px;
	width:16px;
	transform:rotate(145deg);
}
.toggle_btn.open::after{
	top:2px;
	width:16px;
	transform:rotate(-145deg);
}
.open .toggle_txt::before{
	opacity:0;
	visibility:hidden;
} */
.menu_dis{display:none !important;}
#menu.menu_dis{display:block !important;pointer-events:none;}
#menu_overlay.menu_dis{display:block !important;}
#menu{
	display:flex;
	align-items:center;
	justify-content:center;
	position:fixed;
	z-index:1002;
	top:0;
	right:0;
	bottom:0;
	width:720px;
	height:100%;
	padding:60px;
	background:url(/flags-en/img/index/bg_gray.jpg) center;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	transform:translateX(100%);
	transition:transform 0.3s ease-in-out;
}
#menu:not(.menu_dis){transform:translateX(0);}
#menu_content{width:100%;}
.menu_list{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:5px;
}
.menu_item{list-style:none !important;margin:0 !important;}
.menu_item:nth-child(n+3) {
	grid-column: 1 / 3;
}
.menu_link{
	display:flex;
	align-items:center;
	justify-content:center;
	height:52px;
	background:#fff !important;
	padding: 0 20px !important;
	color:#333 !important;
	font-size:1.6rem;
	text-align:center;
	border:1px solid #fff;
	transition:border 0.3s;
	text-decoration:none !important;
}
.menu_link:hover{border:1px solid #707070;}
.menu_link[target="_blank"] span{
	background:url(/flags-en/img/common/icon_popup.svg) 0 6px no-repeat;
	padding-left:20px;
}
#menu_overlay{
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.8);
	z-index:1001;
	opacity:0;
	visibility:hidden;
	transition:opacity 0.3s, visibility 0.3s;
}
#menu_overlay:not(.menu_dis){
	opacity:1;
	visibility:visible;
}

.menu_link span{
	display:inline-block;
	position:relative;
}

/*----- language -----*/
.language_link span{
	display:inline-block;
	padding-left:23px;
	background:url(/flags-en/img/common/icon_language.svg) 0 center no-repeat;
	font-size:1.6rem;
	color:#333 !important;
	text-decoration:none !important;
	line-height:1.6rem;
}
.language_link:hover{text-decoration:underline !important;}

.close_btn{
	text-align:center;
	margin-top:92px;
}
.close_link{
	border:none;
	cursor:pointer;
	background:none;
	display:inline-block;
	margin-top:0;
	color:#333 !important;
	position:relative;
	font-size:1.2rem;
	font-weight:bold;
	padding:0 0 0 19px;
}
.close_link::before, .close_link::after{
	content:'';
	display:block;
	position:absolute;
	z-index:10;
	left:0;
	top:10px;
	font-size:1.6rem;
	width:14px;
	height:1px;
	background:#333;
	transition:all 0.3s;
}
.close_link::before{transform:rotate(145deg);}
.close_link::after{transform:rotate(-145deg);}

.close_link span{
	display:inline-block;
	position:relative;
	text-decoration:underline;
}
.close_link:hover span{text-decoration:none !important;}



/*----- search -----*/
#search{
	position:relative;
	margin:0 auto 40px;
}
.search_box{
	position:relative;
	width:100%;
	background:#fff;
}
.search_txt{
	display:block;
	width:100%;
	height:52px;
	padding:10px 60px 10px 20px;
	background:none;
	border:none;
	box-sizing:border-box;
	font-size:1.6rem;
}
.search_txt::placeholder{color:#aaa;}
.search_btn{
	width:52px;
	height:52px;
	display:block;
	position:absolute;
	top:0;
	right:0;
	font-size:0;
	background:url(/flags-en/img/common/icon_search.svg) no-repeat center !important;
	border:none;
	cursor:pointer;
}
.modal_close{display:none;}

#s_overlay{
	display: none;
	position:fixed;
	z-index:3000;
	top:0;
	left:0;
	width:100%;
	height:120%;
	background-color:rgba(0,0,0,0.85);
}


/*----- footer -----*/
#return{
	position:relative;
	z-index:999;
}
.return_btn{
	display:block;
	position:fixed;
	right:20px;
	bottom:20px;
	width:40px;
	height:40px;
	background:#fff;
	border:1px solid #ddd;
	text-decoration:none;
	opacity:0;
	visibility:hidden;
	text-decoration:none !important;
	transition:background 0.3s, opacity 0.3s, visibility 0.3s,border .3s;
}
.return_btn:hover{background:#007F4D;border-color:#007F4D;}
.return_btn::after{
	content:'';
	display:block;
	position:absolute;
	top:8px;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	width:13px;
	height:13px;
	border-top:1px solid #333;
	border-right:1px solid #333;
	transform:rotate(-45deg);
	transition:border-color 0.3s;
}
.return_btn:hover::after{border-color:#fff !important;}
.return_txt{display:none;}
.return_btn.display{
	opacity:1;
	visibility:visible;
}
.return_btn.pos_end{
	position:absolute;
	bottom:20px;
	opacity:1;
	visibility:visible;
}
#footer_wrap{overflow:hidden;}
.footer_txt{
	position:relative;
	max-width:1260px;
	margin:0 auto;
	padding:135px 30px 138px;
}
.footer_txt::before{
	content:'';
	position:absolute;
	left:0;
	top:0;
	background:url(/flags-en/img/index/bg_light-green_t.jpg) left top no-repeat;
	background-size:cover;
	margin:0 calc(50% - 50vw);
	padding:0 calc(50vw - 50% + 8px);
	width:100vw;
	height:100%;
}
.footer_txt *{position:relative;}
.footer_txt p{
	text-align:center;
	font-weight:bold;
	font-size:2.4rem;
	letter-spacing:0.96px;
}
.footer_txt p strong{
	display:block;
	font-size:4rem;
	letter-spacing:1.6px;
	line-height:5.8rem;
	margin-bottom:29px;
}
.footer_txt_copy{
	display:block;
	margin-bottom:17px;
	font-size:1.7rem;
	letter-spacing:0.85px;
	color:#0A5536;
}
.footer_logo{
	display:block;
	margin:122px auto 0;
	width:100%;
	max-width:230px;
	height:auto;
}

.footer_b{
	position:relative;
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	font-family: "Shippori Mincho", serif;
	max-width:1160px;
	margin:0 auto;
	padding:57px 30px 59px;
	color:#fff;
}
.footer_b::before{
	content:'';
	position:absolute;
	left:0;
	top:0;
	background:rgba(0, 126, 76, 10);
	background:linear-gradient(90deg, rgba(0, 126, 76, 1) 0%, rgba(0, 65, 39, 1) 100%);
	margin:0 calc(50% - 50vw);
	padding:0 calc(50vw - 50% + 8px);
	width:100vw;
	height:100%;
}
.footer_nav{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	position:relative;
}
.f_sns_list{
	display:flex;
	align-items:center;
	gap:16px;
	padding:0;
	margin:0;
}
.f_sns_item{
	list-style:none;
	margin:0;
}
.f_sns_link, .f_sns_icon{display:block !important;}
.footer_list{
	display:flex;
	align-items:center;
	margin:0 0 0 31px;
	padding:0;
}
.footer_item{
	margin:0 30px 0 0;
	list-style:none;
}
.footer_link[target="_blank"]{
	color:#fff !important;
	text-decoration:underline !important;
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:1.4;
	background-image:url(/flags-en/img/common/icon_popup_white.svg);
}
.footer_link:hover{text-decoration:none !important;}
.copyright{margin:0;position:relative;}
.copy_txt{
	font-size:1.1rem;
	letter-spacing:1.1px;
	line-height:1.2;
	font-weight:bold;
}

/*----- main -----*/
a, a:visited{
	color:#333;
	text-decoration:underline;
}
a:hover{text-decoration:none;}
a[target="_blank"]{
	padding-left:16px;
	background:url(/flags-en/img/common/icon_popup.svg) no-repeat center left;
}
a.non[target="_blank"]{
	padding-left:0;
	background:none;
}
a[href$=".doc"], a[href$=".docx"]{
	padding-left:20px;
	background:url(/flags-en/img/common/icon_word.svg) no-repeat center left;
}
a[href$=".xls"], a[href$=".xlsx"]{
	padding-left:20px;
	background:url(/flags-en/img/common/icon_excel.svg) no-repeat center left;
}
a[href$=".pdf"]{
	padding-left:20px;
	background:url(/flags-en/img/common/icon_pdf.svg) no-repeat center left;
}
a.none[href$=".pdf"]{
	padding-left:0;
	background:none;
}
[href^="tel:"]{
	color:#333 !important;
	pointer-events:none;
}

img{
	display:block;
	max-width:100%;
	width:auto;
	height:auto;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
a img{pointer-events:none;}
.youtube{
	position:relative;
	width:auto;
	height:0;
	padding-bottom:56.25%;
	margin:0 auto;
	overflow:hidden;
}
.youtube iframe, .youtube object, .youtube embed{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	border:none;
}

.br_tab{display:none;}
.br_sp{display:none;}

@media screen and (max-width:1023px){
body{font-size:1.4rem;}


#header_area{padding:0;background:#fff;min-height:59px;}
#logo{padding:16px 0 14px 14px;}
.logo_link, .logo_img{width:100%;height:auto;max-width:610px;}



/*----- footer -----*/
#footer_content{padding:0 20px;}
.f_logo_link p{font-size:1.6rem;}
.footer_list{padding:0 0 0 20px;}

.footer_b{padding:58px 39px 61px;}
.footer_txt{padding:106px 20px 123px;}
.footer_txt p strong{font-size:3.5rem;letter-spacing:1.4px;line-height:5.1rem;}
.footer_list{margin:0 0 0 32px;}
.footer_txt_copy{font-size:1.5rem;letter-spacing:0.75px;line-height:1.4;}
.footer_txt_p{font-size:2.2rem;letter-spacing:0.88px;line-height:3.2rem;}
.footer_logo{max-width:190px;margin:116px auto 0;}
.footer_link[target="_blank"]{padding-left:18px;}

.footer_nav{display:block;}
.f_sns_list{justify-content:center;margin:0 0 30px;}
.footer_list{padding:0;justify-content:center;margin:0;}
.footer_b{display:block;text-align:center;padding:49px 20px 27px;}
.footer_link[target="_blank"]{font-size:1.3rem;letter-spacing:1.3px;}
.footer_item:last-child{margin:0 !important;}
.footer_txt{padding:82px 20px 81px;}
.copyright{margin-top:30px;}

.br_tab{display:inline;}
.br_sp{display:none;}
.br_tab.br_sp{display:inline;}
}


@media screen and (max-width:767px){
body{font-size:1.3rem;line-height:1.5;}

/*----- header -----*/
#header_area{padding:0;background:#fff;min-height:59px;}
#logo{padding:11px 0 12px 14px;}
.logo_link, .logo_img{width:100%;height:auto;max-width:304px;}
#toggle{display:block;position:absolute;right:0;top:0;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:60px;
	height:59px;
	font-size:0;
	padding:0;
	text-decoration:none;
	border:none;
	background:none;
}
.toggle_txt{
	position:relative;
	display:block;
	width:60px;
	height:59px;
	background:none;
}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{
	content:'';
	display:block;
	position:absolute;
	z-index:10;
	left:0;
	right:3px;
	margin:auto;
	width:21px;
	height:1px;
	background:#333;
	transition:all 0.3s;
}
.toggle_btn::before{top:21px;}
.toggle_btn::after{top:35px;}
.toggle_txt::before{top:28px;}
.toggle_btn.open::before{
	top:29px;
	width:24px;
	transform:rotate(145deg);
}
.toggle_btn.open::after{
	top:29px;
	width:24px;
	transform:rotate(-145deg);
}
.open .toggle_txt::before{
	opacity:0;
	visibility:hidden;
}
.menu_dis{display:none !important;}
#menu.menu_dis{display:block !important;pointer-events:none;}
#menu_overlay.menu_dis{display:block !important;}
#menu{
	z-index:1002;
	top:59px;
	right:0;
	bottom:0;
	width:100%;
	min-width:100px;
	height:calc(100% - 59px);
	padding:20px;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	transform:translateX(100%);
	transition:transform 0.3s ease-in-out;
}
#menu:not(.menu_dis){
	transform:translateX(0);
}
#menu_overlay{
	position:fixed;
	top:60px;
	left:0;
	right:0;
	bottom:0;
	width:100%;
	height:calc(100% - 60px);
	background:rgba(0,0,0,0.8);
	z-index:1001;
	opacity:0;
	visibility:hidden;
	transition:opacity 0.3s, visibility 0.3s;
}
#menu_overlay:not(.menu_dis){
	opacity:1;
	visibility:visible;
}


/*----- footer -----*/
#footer_content{padding:43px 20px 45px;}
.f_logo_link p{font-size:1.6rem;}
.footer_list{padding:0 0 0 20px;}
.language_link span{font-size:1.4rem;}
#menu{
	width:100%;
	min-width:100px;
}
.menu_link{
	height:auto;
	min-height:52px;
	font-size:1.4rem;
}
.menu_link[target="_blank"]{
	text-align:left;
	padding:10px 20px 10px 25px !important;
}




/*----- footer -----*/
#footer_content{padding:0;}
.footer_nav{justify-content:center;}
.footer_list{padding:0;justify-content:center;margin:0;}
.footer_b{display:block;text-align:center;padding:49px 20px 27px;}
.footer_link[target="_blank"]{font-size:1.3rem;letter-spacing:1.3px;}
.footer_item:last-child{margin:0 !important;}
.footer_txt{padding:82px 20px 81px;}
.footer_txt p{
	font-size:1.6rem;
	letter-spacing:0.64px;
}
.footer_txt p strong{
	font-size:2.5rem;
	letter-spacing:1px;
	line-height:3.6rem;
	margin-bottom:30px;
}
.footer_txt_copy{
	margin-bottom:15px;
	font-size:1.2rem;
	letter-spacing:0.6px;
}
.footer_logo{
	margin:80px auto 0;
	max-width:190px;
}
.footer_nav{justify-content:center;flex-direction:column;}
.f_sns_list{justify-content:center;margin:0 0 40px;}


.copyright{text-align:center;margin-top:57px;}

.pc_size{display:none !important;}
.sp_size{display:block !important;}

/*----- footer -----*/


/*----- main -----*/
[href^="tel:"]{
	text-decoration:underline;
	pointer-events:auto;
}

.br_tab{display:none;}
.br_tab.br_sp,.br_sp{display:inline;}
}


/*----- print -----*/
@media print{
	:root{--vw-100:1200px;}
	body{
		width:1200px;
		transform:scale(1);
		-moz-transform:scale(1);
		-webkit-transform:scale(1);
		transform-origin:0 0;
		zoom:.91;
		margin:auto
	}
	@media all and (-ms-high-contrast:none){
		body{width:1200px}
	}
	@media (-ms-high-contrast:none),(-ms-high-contrast:active){
		body{width:1200px}
	}
	@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm){
		body{
			width:1200px;
			transform:scale(.8);
			-moz-transform:scale(.8);
			-webkit-transform:scale(.8);
			transform-origin:0 0;
			margin:auto
		}
	}
}
/*----- print end -----*/