@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',sans-serif;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,button{-webkit-appearance:none;appearance:none;border-radius:0;border:none;background:none;font-family:'Noto Sans CJK JP','Noto Sans JP',sans-serif;}
select::-ms-expand{display:none;}

*, *::before, *::after{box-sizing:border-box;}
/*----- reset end -----*/
:root {
	--vw_100:100vw;
	--vw_50:calc(var(--vw_100) / 2);
	--font_poppins:'Poppins', sans-serif;
	--font_mulish:'Mulish', sans-serif;
}
html{visibility:hidden;}
html.wf-active, html.wf-inactive{visibility:visible;}

#wrapper{overflow:hidden;}
.sp_size{display:none !important;}


/*---------- header ----------*/
.header {
	position: relative;
	z-index: 99;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background: #FFFFFF;
	padding: 0 40px;
	height: 80px;
}
.header_logo_link, .header_logo_img {display: block;}
.menu_list {
	display: flex;
	padding: 0;
	margin: 0;
	gap: 35px;
}
.menu_item {
	list-style: none;
	margin-bottom: 0;
}
.menu_item.on .menu_link {color: #2A5CAA !important;}
.menu_item.on .menu_link::before {opacity: 1;}
.menu_link {
	position: relative;
	display: inline-block;
	color: #333 !important;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.3s;
	padding: 9px 0;
	font-size: 1.3rem;
	letter-spacing: 1.3px;
}
.menu_link::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%);
	margin: auto;
	background: #2A5CAA;
	width: 5px;
	height: 5px;
	opacity: 0;
	transition: opacity 0.3s;
	border-radius: 50%;
}
.menu_link:hover {color: #2A5CAA !important;}
.menu_link:hover::before {opacity: 1;}
#toggle {display: none;}

/*---------- footer ----------*/
#return {
	position: relative;
	z-index: 20;
}
.return_btn {
	display: block;
	position: fixed;
	right: 30px;
	bottom: 20px;
	width: 60px;
	height: 60px;
	background: #2A5CAA;
	border-radius: 50%;
	opacity: 0;
	visibility: hidden;
	text-decoration: none;
	font-size: 0;
	transition: background 0.3s, opacity 0.3s, visibility 0.3s;
}
.return_btn:hover {background: #0A316E;}
.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: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(-45deg);
}
.return_btn.pos_end {
	position: absolute;
	opacity: 1;
	visibility: visible;
	top: 0;
}
.footer_area {
	position: relative;
	padding: 60px 0 20px;
}
.footer_area::before{
	position: absolute;
	content: "";
	background: url(/img/common/bg_footer.svg) no-repeat center top;
	background-size: contain;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.f_logo_img{
	display: block;
	margin: auto;
	width: 177px;
}
.f_sns_link {
	width: 28px;
	height: 28px;
	display: block;
}
.f_sns_link img{transition: transform 0.3s;}
.f_sns_link:hover.f_sns_link img {transform: scale(1.05);}
.f_menu {padding: 60px 20px 50px;}
.f_menu_list {
	padding-left: 0;
	margin-bottom: 0;
	display: flex;
	justify-content: center;
	gap: 40px;
}
.f_menu_item {
	list-style: none;
	margin: 0;
}
.f_menu_link {
	color: #333 !important;
	text-decoration: none;
	display: inline-block;
	letter-spacing: 0;
	font-size: 1.3rem;
	letter-spacing: 1.3px;
	font-weight: 600;
	position: relative;
	padding-bottom: 10px;
}
.f_menu_link::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%);
	margin: auto;
	background: #2A5CAA;
	width: 5px;
	height: 5px;
	opacity: 0;
	transition: opacity 0.3s;
	border-radius: 50%;
}
.f_menu_link:hover {color: #2A5CAA !important;}
.f_menu_link:hover::before {opacity: 1;}
.copyright {
	text-align: center;
	margin-bottom: 0;
	line-height: 3.3rem;
}
.copyright_txt {
	font-size: 1.2rem;
	letter-spacing: 0;
}
/*----- main -----*/
a{
	color:#333;
	text-decoration:underline;
}
a:visited{color:#9E088F;}
a:hover{text-decoration:none;}
a[target="_blank"]{
	padding-left:25px;
	background:url(/img/common/icon_popup.svg) no-repeat center left;
}
a.non{display:inline-block;}
a.non[target="_blank"]{
	padding-left:0;
	background:none;
}
a[href$=".doc"], a[href$=".docx"]{
	padding-left:25px;
	background:url(/img/common/icon_word.svg) no-repeat center left;
}
a[href$=".xls"], a[href$=".xlsx"], a[href$=".xlsm"]{
	padding-left:25px;
	background:url(/img/common/icon_excel.svg) no-repeat center left;
}
a[href$=".zip"]{
	padding-left:25px;
	background:url(/img/common/icon_zip.svg) no-repeat center left;
}
a[href$=".pdf"]{
	padding-left:25px;
	background:url(/img/common/icon_pdf.svg) no-repeat center left;
}
a.none[href$=".pdf"]{
	padding-left:0;
	background:none;
}
[href^="tel:"]{
	font-weight:normal;
	text-decoration:none !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;}
.link_btn {
	margin: 30px auto;
	display: block;
	width: 220px;
	height: 54px;
	padding: 14px 30px;
	background: #fff !important;
	border: 1px solid #333;
	border-radius: 27px;
	color: #333 !important;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.8px;
	line-height: 2.4rem;
	text-align: center;
	text-decoration: none !important;
	transition: 0.3s;
}
.link_btn:hover {
	background: #2A5CAA !important;
	color: #fff !important;
	border: 1px solid #2A5CAA;
}

#wrapper.fixed .header {background: #FFFFFF;}
@media screen and (max-width: 1024px) {
.header{
	height: 70px;
	padding: 0 30px 0 20px;
}
.header_logo_link, .header_logo_img{max-width: 250px;}
.menu_list{gap: 30px;}
.footer_area{padding: 60px 0 15px;}
.return_btn {
	width: 50px;
	height: 50px;
}
.return_btn::after {top: 2px;}
.f_logo_img{width: 147px;}
.f_menu{padding: 52px 20px 50px;}
.link_btn{font-size: 1.5rem;}
}
@media screen and (max-width: 767px) {
.pc_size{display:none !important;}
.sp_size{display:block !important;}
.sp_none{display: none;}
#wrapper.fixed {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
/*---------- header ----------*/
.header {
	padding: 0 0 0 20px;
	height: 63px;
}
.header_logo_link, .header_logo_img {max-width: 206px;}
.menu_wrap {
	display: block;
	position: fixed;
	z-index: 50;
	top: 63px;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	padding: 35px 20px;
	background: #FFFFFF;
}
.menu_dis {display: none !important;}
.menu_list {
	flex-direction: column;
	width: 100%;
	gap: 0;
}
.menu_item {border-bottom: 1px solid #CCCCCC;}
.menu_link {
	padding: 18px 10px;
	width: 100%;
	font-size: 1.5rem;
}
.menu_link::before {display: none;}
.menu_link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 12px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	transform: translate(0, -50%) rotate(45deg);
	transition: border-color 0.3s;
}
#toggle {
	display: block;
	position: relative;
	right: 20px;
}
.toggle_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	font-size: 0;
	text-decoration: none;
	border: solid 1px #2A5CAA;
	border-radius: 50%;
	cursor:pointer;
	padding: 0 !important;
}
.footer_area::before{
	background: url(/img/common/bg_footer_smp.svg) no-repeat center top;
	background-size: contain;
}
.toggle_btn::before, .toggle_btn::after {
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	left: 0;
	right: 0;
	margin: auto;
	width: 22px;
	height: 2px;
	background: #2A5CAA;
	transition: all 0.3s;
}
.toggle_btn::before {
	top: calc(50% - 5px);
	transform: translateY(-50%);
}
.toggle_btn::after {
	top: calc(50% + 5px);
	transform: translateY(-50%);
}
.toggle_btn.open::before {
	top: 20px;
	transform: rotate(150deg);
	width: 24px;
}
.toggle_btn.open::after {
	top: 20px;
	transform: rotate(-150deg);
	width: 24px;
}
.toggle_txt {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}
.toggle_txt::before {
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	left: 0;
	right: 0;
	margin: auto;
	width: 22px;
	height: 2px;
	background: #2A5CAA;
	transition: all 0.3s;
	top: 50%;
	transform: translateY(-50%);
}
.open .toggle_txt::before {
	opacity: 0;
	visibility: hidden;
}
/*---------- footer ----------*/
.return_btn {right: 20px;}
.return_btn.pos_end{top: -50px;}
.footer_area{padding: 40px 0 10px;}
.footer_box {
	padding: 50px 0 0;
	flex-direction: column;
}
.f_txt_box {padding: 0 20px;}
.f_logo_img{width: 122px;}
.f_address_txt {
	font-size: 1.5rem;
	line-height: 2.8rem;
	letter-spacing: 0;
}
.f_menu {
	flex-direction: column;
	padding: 25px 0 0;
	width: 100%;
}
.f_menu_list {
	width: 100%;
	flex-direction: column;
	gap: 0;
	position: relative;
	padding-top: 50px;
	border-bottom: 1px solid #DDDDDD;
}
.f_menu_item {
	border-top: 1px solid #DDDDDD;
	margin: 0;
}
.f_menu_link {
	margin-bottom: 0;
	font-size: 1.2rem;
	padding: 16px 20px 15px;
	width: 100%;
	letter-spacing: 0;
}
.f_menu_link::before{display: none;}
.f_menu_link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	transform: translate(0, -50%) rotate(45deg);
	transition: border-color 0.3s;
}
.f_sns_item{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	border-top: none;
}
.copyright{padding-top: 5px;}
/*----- main -----*/
[href^="tel:"] {
	pointer-events: auto;
	text-decoration: underline !important;
}
[href^="tel:"]:hover {
	text-decoration: none !important;
}
.link_btn {
	font-size: 1.4rem;
	height: 50px;
	padding: 12px 30px;
}
}
/*----- 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 -----*/