@charset "utf-8";

/*----- reset -----*/
html{font-size:62.5%;height:100%;}
body{margin:0;padding:0;font-size:1.6rem;font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif;line-height:1.6;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.6;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,button{-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 -----*/
html{visibility:hidden;}
html.wf-active, html.wf-inactive{visibility:visible;}
#wrapper{overflow:hidden;}
.sp_size{display: none;}
.tab_size{display: none;}

/*----- header -----*/
#header_wrap{
	background: #fff;
	position:fixed;
	z-index: 20;
	width:100%;
	top:0;
	right:0;
	left:0;
	transition:box-shadow 0.3s, transform 0.3s;
}
#header_wrap.scroll{box-shadow:0px 3px 6px rgba(0,0,0,0.16);}
#header_wrap.hide{
	box-shadow:none;
	transform:translateY(-110%);
}
.header_area{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 40px 15px 30px;
	height: 80px;
}
.logo_link, .logo_img{
	display:block;
	width:100%;
}
#toggle{display:none;}
#menu{
	display:flex;
	align-items:center;
}
.menu_list{
	display:flex;
	padding:0;
	margin:0;
	gap: 27px;
}
.menu_link{
	font-weight:bold;
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.4rem;
	color:#333;
	position:relative;
	display:block;
	padding-bottom:6px;
	margin-top: 6px;
	text-decoration:none;
	transition:color 0.3s;
}
.menu_link:hover{color:#1B4EB0;}
.menu_link::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:2px;
	background:#1B4EB0;
	transition:width 0.3s;
}
.menu_link:hover::after{width:100%;}

/*---------- footer ----------*/
.contact_area{
	color: #fff !important;
	text-align: center;
	position: relative;
	padding: 72px 20px 84px;
}
.contact_area::before{
	content: '';
	position: absolute;
	background: #1B4EB0;
	height: 100%;
	width: 100svw;
	left: calc(50% - calc(100svw / 2));
	height: 100%;
	z-index: -2;
	top: 0;
}
.contact_area::after{
	content: '';
	position: absolute;
	height: 100%;
	background: url(/img/common/bg_cta.svg) no-repeat center center;
	width: 100%;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	background-size: contain;
}
.contact_area .home_h2{margin-bottom: 30px;}
.contact_area .home_h2::before{color: #fff;}
.contact_txt{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.88rem;
}
.contact_num{
	display: flex;
	justify-content: center;
	gap: 61px;
	font-family: 'Roboto', sans-serif;
	font-weight: bold;
	font-size: 4.3rem;
	letter-spacing: 4.3px;
	line-height: 5.7rem;
	margin-top: 42px;
	position: relative;
}
.contact_num::after{
	content: '';
	position: absolute;
	right: 0;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 1px;
	height: 38px;
	background: #fff;
	opacity: 0.4;
}
.contact_num a{color: #fff !important;}
.contact_num span{
	font-size: 2.2rem;
	letter-spacing: 2.2px;
	line-height: 2.9rem;
	padding-right: 6px;
}
#return{
	position: relative;
	z-index: 10;
}
.return_btn{
	display: block;
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 44px;
	height: 44px;
	background: #fff;
	border: solid 1px #ccc;
	border-radius: 50%;
	opacity: 0;
	visibility: hidden;
	text-decoration: none;
	font-size: 0;
	transition: background 0.3s, border 0.3s, opacity 0.3s, visibility 0.3s;
}
.return_btn:hover{
	background: #1B4EB0;
	border-color: #1B4EB0;
}
.return_btn.display{
	opacity: 1;
	visibility: visible;
}
.return_btn::after{
	content: '';
	display: block;
	position: absolute;
	top: 4px;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 11px;
	height: 11px;
	border-top: 2px solid #1B4EB0;
	border-right: 2px solid #1B4EB0;
	transform: rotate(-45deg);
	transition: border .3s;
}
.return_btn:hover::after{border-color: #fff;}
.return_btn.pos_end{
	position: absolute;
	opacity: 1;
	visibility: visible;
}
#copyright{
	text-align: center;
	padding: 12px 0;
}
.copy_txt{
	font-size: 1.2rem;
	letter-spacing: 1.2px;
}

/*----- main -----*/
a, a:visited{
	color:#333;
	text-decoration:underline;
}
a:hover{text-decoration:none;}
a[target="_blank"]{
	padding-left:22px;
	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;
	text-decoration: none;
}
img{
	display:block;
	max-width:100%;
	width:auto;
	height:auto;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
a img{pointer-events:none;}

@media screen and (max-width:1249px){
.header_area{padding-left: 20px;}
.logo_link, .logo_img{max-width: 215px;}
.menu_list{gap: 26px;}
.menu_link{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2rem;
}
}

@media screen and (max-width:1024px){
.tab_size{display: block;}

/*---------- footer ----------*/
.contact_area{padding: 60px 20px 67px;}
.contact_area .home_h2{margin-bottom: 16px;}
.contact_txt{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.8rem;
}
.contact_txt br{display: none;}
.contact_num{
	font-size: 3.2rem;
	letter-spacing: 3.2px;
	line-height: 4.3rem;
	margin-top: 28px;
	position: relative;
}
.contact_num::after{height: 33px;}
.contact_num a{color: #fff !important;}
.contact_num span{
	font-size: 1.5rem;
	letter-spacing: 1.5px;
	line-height: 2rem;
	padding-right: 5px;
}
.return_btn{
	right: 10px;
	bottom: 10px;
}
}

@media screen and (max-width:1099px){
#wrapper.fixed{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
}
.header_area{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 0 0 20px;
	height: 60px;
}
#toggle{display:block;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:65px;
	height:60px;
	padding:0;
	font-size:0;
	text-decoration:none;
	cursor:pointer;
}
.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:25px;
	height:2px;
	background:#1B4EB0;
	transition:all 0.3s;
}
.toggle_btn::before{top:21px;}
.toggle_btn::after{top:37px;}
.toggle_txt::before{top:29px;}
.toggle_btn.open::before{
	top:29px;
	transform:rotate(135deg);
}
.toggle_btn.open::after{
	top:29px;
	transform:rotate(-135deg);
}
.open .toggle_txt::before{
	opacity:0;
	visibility:hidden;
}
#menu{
	display:block;
	position:fixed;
	z-index:10;
	top:60px;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	padding-bottom:100px;
	background:rgba(0,0,0,0.7);
	mix-blend-mode:multiply;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}
.menu_dis{display:none !important;}
.menu_list{
	display:block;
	background:#fff;
}
.menu_item{
	margin:0;
	border-bottom:1px solid #ddd;
}
.menu_item:first-child{border-top:1px solid #ddd;}
.menu_link{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.8rem;
	margin-top: 0;
	text-align: center;
	padding:11px 20px 11px;
}
.menu_link::after{display: none;}
}

@media screen and (max-width:767px){
.pc_size{display:none !important;}
.sp_size{display:block !important;}

/*----- footer -----*/
.contact_area{padding: 38px 20px 50px;}
.contact_num{
	flex-direction: column;
	gap: 25px;
	margin-top: 30px;
}
.contact_num::after{
	width: 100%;
	height: 1px;
}
.contact_num span{padding-right: 3px;}

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

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