@charset "utf-8";

/*----- reset -----*/
html{font-size:62.5%;height:100%;}
body{margin:0;padding:0;font-size:1.5rem;font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP','Noto Serif JP',sans-serif,Oswald;line-height:1.5;color:#333;height:100%;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;-webkit-text-size-adjust:100%;background:#fff;width:auto;}
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{font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif;}
input{font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',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;}
.tab_size{display:none !important;}


/*----- header -----*/
#header_wrap{
	position:fixed;
	z-index:20;
	top:0;
	right:0;
	left:0;
	width:100%;
	background:#fff;
	transition:all 0.3s;
}
#header_wrap.scroll{box-shadow:0px 3px 6px rgba(0,0,0,0.16);}
#header_wrap.hide{
	box-shadow:none;
	transform:translateY(-105%);
}
.header_area{
	display:flex;
	align-items:center;
	justify-content:space-between;
	max-width: 1240px;
	margin:auto;
	padding:20px 30px;
}
.logo{width:410px;}
.logo_link, .logo_img{
	display:block;
	width:100%;
}
#toggle{display:none;}
#menu{
	display:flex;
	align-items:center;
}
.menu_list{
	display:flex;
	padding:0;
	margin:10px 0 0;
}
.menu_item{
	list-style:none;
	margin-right:37px;
	margin-bottom: 0;
}
.menu_item:last-child{margin-right:0;}
.menu_link{
	position:relative;
	display:block;
	padding-bottom:10px;
	color:#333 !important;
	font-weight:bold;
	text-decoration:none;
	transition:color 0.3s;
}
.menu_link::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:3px;
	background:#C9007F;
	transition:width 0.3s;
}
.menu_item.on .menu_link::after{width:100%;}
.menu_link:hover, .on .menu_link{color:#C9007F;}
.menu_link:hover::after{width:100%;}
/*----- footer -----*/
#return{
	position:relative;
	z-index:10;
}
.return_btn{
	display:block;
	position:fixed;
	font-size:0;
	right:20px;
	bottom:20px;
	width:50px;
	height:50px;
	opacity:0;
	background:#C9007F;
	text-decoration:none;
	transition:background 0.3s,opacity 0.3s;
}
.return_btn.display{
	opacity:1;
	visibility:visible;
}
.return_btn.pos_end{
	position:absolute;
	opacity:1;
	visibility:visible;
}
.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 #fff;
	border-right:1px solid #fff;
	transform:rotate(-45deg);
}
.return_btn:hover{background:#890057;}
.return_txt{display:none;}

#footer_wrap{
	background-color:#091036;
	color:#fff;
}
#footer_wrap a{color:#fff !important;text-decoration:none;}
.footer_area{
	max-width:1040px;
	padding:0 20px;
	margin:auto;
}
#footer_contact{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	padding:60px 0 50px;
	border-bottom:1px solid #535978;
}
#footer_contact p{margin-bottom:0;}
.footer_h2{
	font-size:1.8rem;
	letter-spacing:0;
	line-height:2.7rem;
	margin:0 0 42px 0;
	padding:0 0 75px 20px;
	position:relative;
}
.footer_h2::before{
	position:absolute;
	content:'';
	display:inline-block;
	width:12px;
	height:12px;
	border-radius:50%;
	background-color:#C9007F;
	top:8px;
	left:0;
}
.footer_h2::after{
	position:absolute;
	content:attr(data-en);
	display:block;
	font-size:7rem;
	line-height:8rem;
	letter-spacing:0;
	font-family:'Oswald';
	font-weight:300;
	left:0;
}
.footer_contact_p{
	font-size:1.8rem;
	line-height:3.4rem;
}
.footer_contact_link p{
	font-size:3.2rem;
	font-weight:300;
	font-family:"Oswald";
	text-align:right;
}
.footer_contact_link p:first-child{margin-bottom:33px !important;}
.footer_contact_link p:last-child{margin-bottom:10px !important;}
.footer_contact_link p a{
	font-size:4rem;
	line-height:4.2rem;
	margin-left:10px;
}

.footer_mail{
	text-decoration:none;
}
.footer_mail span{
	border-bottom:1px solid transparent;
	transition:border 0.3s;
}
.footer_mail:hover span{border-color:#fff;}

.footer_box{
	display:flex;
	justify-content:space-between;
	padding:50px 0 90px;
}
.f_name{font-size:1.9rem;margin-bottom:0;}
.f_logo_link{text-decoration:none;}
.f_p{
	font-size:1rem;
	line-height:1.4rem;
	margin-bottom:23px;
}
.f_address_txt{
	font-size:1.4rem;
	line-height:2.1rem;
}
.f_menu{position:relative;}
.f_menu_list{
	display:flex;
	align-items:center;
	padding-left:0;
	margin-top:5px;
}
.f_menu_item{font-size:1.4rem; font-weight:bold;list-style:none;}
.f_menu_item:not(:last-child){margin-right:47px;}
.f_menu_link{
	display:block;
	height:100%;
	width:100%;
}
.f_menu_link span::after{
	display:block;
	content:'';
	width:0;
	height:1px;
	background:#fff;
	transition:width 0.3s;
}
.f_menu_link:hover span::after{width:100%;}

.f_sns_list{
	position:absolute;
	bottom:0;
	right:0;
}
.f_sns_link{
	padding-left:30px !important;
	font-size:2rem;
	font-family:"Oswald";
	background:url(/img/common/icon_instagram.svg)no-repeat left top 6px / 20px !important;
}
.f_sns_link span::after{
	display:block;
	content:'';
	background:#fff;
	width:0;
	height:1px;
	transition:width 0.3s;
}
.f_sns_link:hover span::after{width:100%;}
.copyright{
	background-color:#000;
	padding:9px 0;
	text-align:center;
	color:#fff;
	font-size:1.3rem;
}

/*----- main -----*/
a, a:visited{
	color:#333;
	text-decoration:underline;
}
a:hover{text-decoration:none;}
a[target="_blank"]{
	padding-left:20px;
	background:url(/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(/img/common/icon_word.svg) no-repeat center left;
}
a[href$=".xls"], a[href$=".xlsx"]{
	padding-left:20px;
	background:url(/img/common/icon_excel.svg) no-repeat center left;
}
a[href$=".pdf"]{
	padding-left:20px;
	background:url(/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;text-decoration:none;}

@media screen and (min-width:768px){
[href^="tel:"]{text-decoration:none;}
}

@media screen and (min-width:768px) and (max-width:1024px){
	.tab_size{display: block !important;}
/*----- header -----*/
.logo{width:350px;}
}
@media screen and (max-width:1023px){
.footer_contact_link p a{
	font-size:2.6rem;
	line-height:2.6rem;
}
.footer_contact_link p:first-child{margin-bottom: 20px !important;}
}
@media screen and (max-width:850px){
.footer_contact_p{
	font-size:1.5rem;
	line-height:2.7rem;
}
}
@media screen and (max-width:767px){

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


/*----- header -----*/
.header_area{padding:0;}
#header_wrap.is_show{
	box-shadow:none;
	transition:none;
}
.logo{width:275px;margin-left:20px;}
#toggle{display:block;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:70px;
	height:60px;
	font-size:0;
	text-decoration:none;
	appearance:none;
	border-radius:0;
	border:none;
	background:none;
	cursor:pointer;
	padding:0;
}
.toggle_txt{
	position:relative;
	display:block;
	width:100%;
	height:100%;
}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{
	content:'';
	display:block;
	position:absolute;
	z-index:10;
	left:0;
	right:0;
	margin:auto;
	width:30px;
	height:1px;
	background:#333;
	transition:all 0.3s;
}
.toggle_btn::before{top:22px;}
.toggle_btn::after{top:29px;}
.toggle_txt::before{top:36px;}
.toggle_btn.open::before{
	top:30px;
	transform:rotate(135deg);
}
.toggle_btn.open::after{
	top:30px;
	transform:rotate(-135deg);
}
.open .toggle_txt::before{
	opacity:0;
	visibility:hidden;
}
#menu_box{
	display:block;
	position:fixed;
	z-index:50;
	top:80px;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}
.menu_dis{display:none !important;}
#menu{
	display:block;
	position:fixed;
	z-index:50;
	top:60px;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	background:#000D39;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}
.menu_list{
	display:block;
	margin:0 auto 30px;
	padding:30px 20px;
}
.menu_item{
	margin:0 0 20px 0;
	border-bottom:1px solid #535978;
	position:relative;
}
.menu_item.on::before{
	position:absolute;
	display:inline-block;
	content:'';
	width:12px;
	height:12px;
	background-color:#C9007F;
	border-radius:50%;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
}
.menu_link{
	padding:10px 20px 10px 0;
	color:#fff !important;
	font-size:1.4rem;
	display:flex;
	align-items:center;
}
.menu_item.on .menu_link{padding:10px 20px;}
.menu_link::before{
	content:attr(data-en);
	font-size:2.5rem;
	letter-spacing:0;
	font-family:'Oswald';
	font-weight:400;
	margin-right:10px;
}
.menu_link::after{
	position:absolute;
	content:'';
	display:inline-block;
	bottom:0;
	top:0;
	right:5px;
	margin:auto 0 auto auto;
	width:14px !important;
	height:7px;
	background:#fff;
	clip-path:polygon(0 0, 0 100%, 100% 50%);
}

/*----- footer -----*/
.footer_area{padding:0;}
#footer_contact{
	padding:37px 20px 18px;
	display:block;
}
.footer_contact_txt{margin-bottom:22px;}
.footer_h2{
	font-size:1.2rem;
	line-height:1.7rem;
	padding:0 0 70px 15px;
	margin-bottom:10px;
}
.footer_h2::before{top:5px;}
.footer_h2::after{
	font-size:4.8rem;
	line-height:7rem;
}
.footer_contact_p br{display:none;}
.footer_contact_link p:first-child{
	margin-bottom:5px !important;
}
.footer_contact_link p{
	font-size:2.2rem;
	text-align:left;
}
.footer_contact_link p a{
	margin-left:10px;
}
.footer_box{
	flex-direction:column-reverse;
	padding:0 0 80px;
}

.f_address{padding:25px 20px 0;}
.f_logo_link{
	font-size:1.9rem !important;
	letter-spacing:-0.95px;
}
.f_p{
	margin-bottom:11px;
}
.f_address_txt,.f_address_txt a{font-size:1.2rem !important;}

.f_menu_list{border-bottom:1px solid #535978;margin-top:0;}
.f_menu_item:not(:last-child){margin-right:0;}
.f_menu_item{width:calc(100% / 3);margin-bottom:0 !important;}
.f_menu_item:not(:last-child){border-right:1px solid #535978;}
.f_menu_link{
	font-size:1.4rem !important;
	letter-spacing:0;
	padding:20px 10px 17px;
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
}
.f_sns_list{
	left:20px;
	bottom:-195px;
}

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

}


/*----- 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 -----*/