@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;}
select::-ms-expand{display:none;}

*, *::before, *::after{box-sizing:border-box;}
/*----- reset end -----*/
:root{
	--vw-100:100vw;
	--vw-50:calc(var(--vw-100)*.5);
	--color-blue:#008BD2;
	--font-Roboto:'Roboto', sans-serif;
	--font-Roboto-Condensed:'Roboto Condensed', sans-serif;
	--transition-img:transform .3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

html{visibility:hidden;overflow-x:hidden}
html.wf-active, html.wf-inactive{visibility:visible;}
#wrapper{overflow:hidden;}

.sp_size{display:none !important;}
.sph_size{display:none !important;}
.spv_size{display:none !important;}

/* main */
a, a:visited{
	color:#333;
	text-decoration:underline;
}
a:hover{text-decoration:none;}
a[target="_blank"]{
	padding-left:20px;
	background:url(/img/common/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;
}
a img{pointer-events:none;}
/* header */
#header_wrap{
	position:fixed;
	width:100%;
	padding:22px 30px 17px;
	margin:auto;
	z-index:10;
	background:#fff;
	top:0;
	transition:transform 0.3s,box-shadow 0.3s;
	z-index:9999;
}
#header_wrap.is-shadow{box-shadow:0 0 10px rgba(0,0,0,0.1);}
#header_wrap.hide{transform:translateY(-100%);}
.header_area{
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1440px;
	margin: auto;
}
#logo{
	position:relative;
	margin-top:-7px;
	z-index:10;
}
.logo_link, .logo_img{
	display:block;
	width:100%;
}
#toggle{display:none;}
#menu nav{
	display:flex;
	align-items:center;
}
.menu_list{
	position:absolute;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:7px 0 0;
	margin:auto;
	left:0;
	right:0;
	top:0;
	bottom:0;
}
.menu_item{
	font-size:1.8rem;
	letter-spacing:1.8px;
	list-style:none;
	margin:0 28px 0 0 !important;
}
.menu_item:last-child{margin:0 !important;}
.menu_link{
	position:relative;
	display:block;
	font-size:1.7rem;
	letter-spacing:1.7px;
	line-height:2rem;
	font-weight:500;
	color:#333;
	text-decoration:none;
	padding-bottom:6px;
	background:linear-gradient(var(--color-blue),var(--color-blue)) no-repeat 100% 100%/0 2px;
	transition:color 0.3s,background-size 0.3s;
}
.menu_link:hover, .on .menu_link{
	background-position:0 100%;
	background-size:100% 2px;
}
.menu_more{
	position:relative;
	display:block;
	width:29px;
	height:29px;
	margin-bottom:3px !important;
	border:1px solid #ccc;
	border-radius:50%;
	cursor:pointer;
	transition:border-color 0.3s,background-color 0.3s;
}
.menu_more:hover{border-color:var(--color-blue);background-color:var(--color-blue);}
.menu_more::before{
	display:block;
	width:100%;
	height:100%;
	content:'…';
	font-size:1.7rem;
	letter-spacing:1.7px;
	line-height:2.62rem;
	font-weight:500;
	text-align:center;
	padding-left:2px;
	transition:color 0.3s;
}
.menu_more:hover::before{color:#fff;}
.menu_more_in{
	position:absolute;
	width:156px;
	visibility:hidden;
	top:29px;
	left:-63px;
	padding:16px 0 0;
	opacity:0;
	transition:visibility 0.3s,opacity 0.3s;
}
.menu_more:hover .menu_more_in{
	visibility:visible;
	opacity:1;
}
.menu_more_list{
	padding:25px 25px 27px;
	margin:0;
	background:#fff;
	box-shadow:0px 3px 6px rgba(0, 0, 0, 0.16);
}
.menu_more_item{
	list-style:none;
	margin:0 !important;
}
.menu_more_item:not(:last-child){margin-bottom:16px !important;}
.menu_sub{
	position:relative;
	display:flex;
	align-items:center;
	padding:0;
	margin:0;
	z-index:10;
}
.menu_sub_item{
	margin:0 0 0 30px;
	list-style:none;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:2.72rem;
	font-weight:500;
}
.menu_sub_item:first-child{margin:0;}

.menu_sub_link{display:block;}
.menu_sub_link span{
	display:inline-block;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.9rem;
	color:#333 !important;
	text-decoration:none;
	padding-bottom:4px;
	background:linear-gradient(var(--color-blue),var(--color-blue)) no-repeat right bottom/0 2px;
	transition:background-size 0.3s;
}
.menu_sub_link:hover span,.on .menu_sub_link span{
	background-position:left bottom;
	background-size:100% 2px;
}
.link_btn{
	position:relative;
	display:block;
	width:100%;
	max-width:240px;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.9rem;
	font-weight:500;
	color:#333 !important;
	text-decoration:none;
	text-align:left;
	padding:13px 20px 14px;
	margin:40px 0 0;
	background:#fff;
	border:1px solid #ccc;
	border-radius:24px;
	transition:color 0.3s,background-color 0.3s,border-color 0.3s;
}
.related .link_btn{margin-top:60px;}
.link_btn.center{
	margin-right:auto;
	margin-left:auto;
}
.link_btn:hover{
	color:#fff !important;
	background-color:var(--color-blue);
	border-color:var(--color-blue);
}
.link_btn::before,
.link_btn::after{
	position:absolute;
	display:flex;
	align-items:center;
	content:url(/img/common/arrow_r_blue.svg);
	margin:auto;
	top:0;
	bottom:0;
	right:20px;
	transition:opacity .3s;
}
.link_btn::after{opacity:0;content:url(/img/common/arrow_r_white.svg);}
.link_btn:hover::before{opacity:0;}
.link_btn:hover::after{opacity:1;}

/* 20240507 ヘッダー追記 */
.menu_more{
	position:relative;
	display:block;
	width:29px;
	height:29px;
	margin-bottom:3px !important;
	border:1px solid #333;
	border-radius:50%;
	cursor:pointer;
	transition:border-color 0.3s,background-color 0.3s;
}
.menu_more:hover{border-color:var(--color-blue);background-color:var(--color-blue);}
.menu_more::before{
	display:block;
	width:100%;
	height:100%;
	content:'…';
	font-size:1.7rem;
	letter-spacing:1.7px;
	line-height:2.62rem;
	font-weight:500;
	text-align:center;
	padding-left:2px;
	transition:color 0.3s;
}
.menu_more:hover::before{color:#fff;}
.menu_more_in{
	position:absolute;
	width:156px;
	visibility:hidden;
	top:29px;
	left:-63px;
	padding:16px 0 0;
	opacity:0;
	transition:visibility 0.3s,opacity 0.3s;
}
.menu_more:hover .menu_more_in{
	visibility:visible;
	opacity:1;
}
.menu_more_list{
	padding:25px 25px 27px;
	margin:0;
	background:#fff;
	box-shadow:0px 3px 6px rgba(0, 0, 0, 0.16);
	border-radius: 5px;
}
.menu_more_item{
	list-style:none;
	margin:0 !important;
}
.menu_more_item:not(:last-child){margin-bottom:16px !important;}
.menu_more_link{
	display:block;
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.25rem;
	font-weight:500;
}
.menu_more_link[target="_blank"]{
	padding-left:23px;
	background-position:top 5px left;
}
.menu_more_link span{
	display:inline-block;
	padding-bottom:5px;
	background:linear-gradient(var(--color-blue),var(--color-blue)) no-repeat right bottom/0 2px;
	transition:background-size 0.3s;
}
.menu_more_link:hover span,.on .menu_more_link span{
	background-position:left bottom;
	background-size:100% 2px;
}
.h_btn_list{
	position:relative;
	display:flex;
	align-items:center;
	padding:0;
	margin:0;
	z-index:10;
}
.h_btn_item{
	margin:0;
	list-style:none;
}
.h_btn_link{
	display:block;
	width:160px;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.7rem;
	color:#333 !important;
	text-decoration:none;
	text-align:center;
	padding:13px 0 14px;
	border-radius:24px;
	overflow:hidden;
	transition:color 0.3s,background-color 0.3s,border-color 0.3s;
}
.h_btn_link.dl{border:1px solid #333;margin-right:10px;}
.h_btn_link.dl:hover{
	background-color:#333333;
	border-color:#333333;
	color: #fff !important;
}
.h_btn_link.cont{background:var(--color-blue);color:#fff !important;border:1px solid var(--color-blue)}
.h_btn_link.cont:hover{color:var(--color-blue) !important;}

.h_btn_link.cont:hover{background:#fff;}
.h_btn_link span{
	position:relative;
	padding-left:18px;
}
.h_btn_link span::before,
.h_btn_link span::after{
	position:absolute;
	content:'';
	width:14px;
	height:14px;
	background:url(/img/common/icon_file.svg) no-repeat center;
	top:3px;
	bottom:0;
	left:0;
	transition:opacity 0.3s;
}
.h_btn_link.dl span::after{background-image:url(/img/common/icon_file_white.svg);}
.h_btn_link.cont span::before{background-image:url(/img/common/icon_mail.svg);}
.h_btn_link.cont span::after{background-image:url(/img/common/icon_mail_blue.svg);}
.h_btn_link:hover span::before{opacity:0;}
.h_btn_link span::after{opacity:0;}
.h_btn_link:hover span::after{opacity:1;}

/* service */
.service_list{
	display:grid;
	grid-template-columns:1fr 1fr;
	grid-gap:0 30px;
	padding:0;
	margin:0;
}
.service_item{
	margin:0;
	border-bottom:1px solid #ccc;
	list-style:none;
}
.service_item:nth-child(-n+2){
	border-top:1px solid #ccc;
}
.service_link{
	display:flex;
	align-items:center;
	color:#333 !important;
	text-decoration:none;
	padding:15px 35px 15px 15px;
	background:url(/img/common/arrow_r_blue.svg) no-repeat right 15px center;
}
.service_img{
	width:150px;
	margin-right:15px;
	overflow:hidden;
}
.service_img img{
	display:block;
	width:100%;
	transition:var(--transition-img);
}
a:hover .service_img img{transform:scale(1.05);}
.service_title{
	width:calc(100% - 150px - 15px);
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.7rem;
	font-weight:500;
	transition:color 0.3s;
}
a:hover .service_title{color:var(--color-blue);}
/* footer */
#return{
	position:relative;
	z-index:1000;
}
.return_btn{
	display:block;
	position:absolute;
	right:30px;
	bottom:20px;
	width:40px;
	height:40px;
	background:var(--color-blue);
	border:1px solid var(--color-blue);
	border-radius:50%;
	text-decoration:none;
	transition:background 0.3s;
}
.return_btn:hover{background:#fff;}
.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::after{
	border-top:1px solid var(--color-blue);
	border-right:1px solid var(--color-blue);
}
.return_txt{display:none;}

.f_cta{background:#0272AE;}
.cta_h2{
	font-size:2.4rem;
	letter-spacing:2.4px;
	line-height:5.4rem;
	font-weight:500;
	text-align:center;
	padding:0;
	margin:0 0 5px;
	background:none;
}
.f_cta .cta_h2,.f_cta .cta_p{color:#fff;}
.cta_p{
	text-align:center;
	font-weight:500;
	font-size:1.6rem;
	margin-bottom:12px;
	line-height:1.7;
}
.cta_area{
	background:#fff;
	border-radius:5px;
	max-width:1100px;
	margin:auto;
	margin:0 auto;
	padding:0 20px;
}
.content_area .cta_area{margin: 0;}
.cta_tel{text-align:center;padding-top:36px;}
.cta_tel a{
	display:inline-block;
	font-size:3.2rem;
	font-weight:bold;
	background:url(/img/common/icon_phone.svg) 0 center no-repeat;
	padding-left:36px;
	line-height:1.2;
	text-decoration:none !important;
}
.cta_tel p{
	font-size:1.3rem;
	line-height:1.5;
	margin:10px 0 30px;
}
.cta_tel p br.br_sp{display:none;}
.cta_tel p span{font-size:1.1rem;}

.cta_list{
	display:flex;
	max-width:920px;
	padding:20px 0;
	margin:0 auto;
	border-top:1px solid #ccc;
}
.cta_item{
	position:relative;
	margin:0 auto!important;
	list-style:none;
	padding:0 10px;
}
.cta_link{
	position:relative;
	display:block;
	color:#333 !important;
	text-decoration:none;
	padding:20px 0 20px 115px;
	height:100%;
	background:#fff;
	border-radius:5px;
	border:1px solid #fff;
	transition:color 0.3s,border 0.3s;
}
.cta_link:hover{
	border:1px solid #008BD2;
}
.cta_link::before{
	position:absolute;
	content:'';
	width:80px;
	height:100%;
	background:url(/img/common/icon_inquiry.svg) no-repeat center left;
	top:0;
	bottom:0;
	left:20px;
	margin:auto;
	transition:opacity 0.3s;
}
.cta_item:nth-child(2)::before{
	content:'';
	display:block;
	width:1px;
	height:calc(100% - 20px);
	background:#ccc;
	position:absolute;
	left:0;
	top:10px;
}
.cta_item:nth-child(2) .cta_link::before{background-image:url(/img/common/icon_document.svg);}
.cta_link_in{
	position:relative;
	padding-right:85px;
}
.cta_link_in::before,
.cta_link_in::after{
	position:absolute;
	content:'';
	width:38px;
	height:38px;
	background:var(--color-blue) url(/img/common/arrow_r_white.svg) no-repeat center;
	border-radius:50%;
	top:7px;
	bottom:0;
	right:20px;
	margin:auto;
	transition:opacity 0.3s;
}
.cta_h3{
	font-size:2.2rem;
	letter-spacing:2.2px;
	lighting-color:3.2rem;
	padding:0;
	margin:0 0 10px;
	background:none;
}
.cta_txt{
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.95rem;
	margin:0;
}
.f_cta_list{
	display:flex;
	max-width:1100px;
	padding:60px 0 55px;
	margin:0 auto;
}
.f_cta_item{
	position:relative;
	width:50%;
	padding:0 41px;
	margin:0 !important;
	list-style:none;
}
.f_cta_item:nth-child(1):before,
.f_cta_item::after{
	position:absolute;
	content:'';
	width:1px;
	height:120px;
	background:#005785;
	opacity:0.5;
	top:0;
	bottom:0;
	right:0;
	margin:auto;
}
.f_cta_item:nth-child(1):before{right:auto;left:0;}
.f_cta_h2{
	font-size:2.2rem;
	letter-spacing:2.2px;
	line-height:3.2rem;
	color:#fff;
	padding:0;
	margin:0 0 8px;
	background:none;
}
.f_cta_txt{
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.95rem;
	color:#fff;
	margin:0;
}
.f_cta_link{
	display:block;
	width:200px;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.7rem;
	color:#0272AE !important;
	text-decoration:none;
	text-align:center;
	padding:13px 0 14px;
	margin:20px 0 0;
	border:1px solid #fff;
	border-radius:24px;
	background:#fff;
	overflow:hidden;
	transition:color 0.3s,background-color 0.3s,border-color 0.3s;
}
.f_cta_link:hover{
	color:#fff!important;
	background-color:#0272AE;
}
.f_cta_link span{
	position:relative;
	padding-left:18px;
}
.f_cta_link span::before,
.f_cta_link span::after{
	position:absolute;
	content:'';
	width:14px;
	height:14px;
	background:url(/img/common/icon_file_blue.svg) no-repeat center;
	top:3px;
	bottom:0;
	left:0;
	transition:opacity 0.3s;
}
.f_cta_link.dl span::after{background-image:url(/img/common/icon_file_white.svg);}
.f_cta_link.cont span::before{background-image:url(/img/common/icon_mail_blue.svg);}
.f_cta_link.cont span::after{background-image:url(/img/common/icon_mail.svg);}
.f_cta_link:hover span::before{opacity:0;}
.f_cta_link span::after{opacity:0;}
.f_cta_link:hover span::after{opacity:1;}
.footer_area{
	position: relative;
	display:flex;
	align-items:center;
	justify-content:space-between;
	max-width:calc(100% - 60px);
	margin:0 auto;
	padding:19px 0;
	border-bottom:1px solid #E8E8E8;
}
#f_logo{
	position: relative;
	width:230px;
	z-index: 1;
}
.f_menu{
	display:flex;
	align-items:center;
}
.f_menu_list{
	position: absolute;
	display:flex;
	align-items:center;
	justify-content: center;
	padding:0;
	margin:0;
	left: 0;
	right: 0;
	margin: auto;
}
.f_menu_item{
	list-style:none;
	margin:0 !important;
}
.f_menu_item:not(:last-child){margin-right:23px !important;}
.f_menu_link{
	display:inline-block;
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:2.4rem;
	font-weight:500;
	color:#333 !important;
	text-decoration:none;
	padding-bottom:6px;
	background:linear-gradient(var(--color-blue),var(--color-blue)) no-repeat right bottom/0 2px;
	transition:background-size 0.3s;
}
.f_menu_link:hover{
	background-position:left bottom;
	background-size:100% 2px;
}
.submenu_list,.f_submenu_list{
	position: relative;
	display:flex;
	align-items:center;
	padding:0;
	margin:-5px 0 0;
	z-index: 1;
}
.submenu_list{margin-right: 20px;}
.submenu_item,.f_submenu_item{
	list-style:none;
	margin:0 !important;
}
.submenu_item:not(:last-child),.f_submenu_item:not(:last-child){margin-right:18px !important;}
.submenu_link,.f_submenu_link{
	display:inline-block;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.9rem;
	color:#333 !important;
	text-decoration:none;
	padding-bottom:4px;
	background:linear-gradient(var(--color-blue),var(--color-blue)) no-repeat right bottom/0 2px;
	transition:background-size 0.3s;
	font-weight:500;
}
.submenu_link:hover,.f_submenu_link:hover{
	background-position:left bottom;
	background-size:100% 2px;
}
.f_sub{
	display:flex;
	align-items:center;
	justify-content:space-between;
	max-width:calc(100% - 60px);
	padding:8px 0 10px;
	margin:0 auto;
}
.f_sub_list{
	display:flex;
	align-items:center;
	padding:0;
	margin:0;
}
.f_sub_item{
	list-style:none;
	margin:0 !important;
}
.f_sub_item:not(:last-child){margin-right:27px !important;}
.f_sub_link{
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.9rem;
	color:#333 !important;
	text-decoration:none;
}
.f_sub_link:hover{text-decoration:underline;}
.f_sub_link[target="_blank"]{
	padding-left:20px;
	background:url(/img/common/popup.svg) no-repeat center left;
}
.copy_right{
	position:relative;
	line-height:3.24rem;
	font-size:1.8rem;
	letter-spacing:1.8px;
	margin:0;
	top:-2px;
}
.copy_txt{
	font-family:var(--font-Roboto-Condensed);
	font-size:1.1rem;
	letter-spacing:1.1px;
	line-height:1.5rem;
}

@media screen and (max-width:1366px){
/* header */
.menu_item{margin-right:15px !important;}
/* .menu_link{
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.9rem;
} */
.h_btn_link{
	width:143px;
	font-size:1.2rem;
	letter-spacing:1.2px;
}
.mv_btn_link{
	font-size:1.2rem;
	letter-spacing:1.2px;
}
}

@media screen and (max-width:1200px){
body.fix{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
}
/*---------- header ----------*/
#header_wrap{padding:0 0 0 15px;}
#logo_blue{
	top:21px;
	right:auto;
	left:274px;
}
#logo_blue::before{
	top:4px;
	left:-16px;
}
#logo_blue img{
	width:24px;
	height:28px;
}
.logo_link{
	font-size:1.8rem;
	letter-spacing:1.08px;
	line-height:2.4rem;
}
.logo_link span{letter-spacing:0.72px;}
#toggle{display:block;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:63px;
	height:63px;
	font-size:0;
	text-decoration:none;
}
.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:32px;
	height:2px;
	background:#333;
	transition:all 0.3s;
}
.toggle_btn::before{top:23px;}
.toggle_btn::after{top:45px;}
.toggle_txt::before{top:34px;}
.toggle_btn.open::before{
	top:33px;
	transform:rotate(135deg);
}
.toggle_btn.open::after{
	top:33px;
	transform:rotate(-135deg);
}
.open .toggle_txt::before{
	opacity:0;
	visibility:hidden;
}
#menu_box{
	display:block;
	position:fixed;
	z-index:50;
	top:63px;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	background:#fff;
	border-top:1px solid #ccc;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}
body.fix #menu_box{
    overflow-y:scroll;
    -webkit-overflow-scrolling:touch;
	padding-bottom:140px;
}
.menu_dis{display:none !important;}
#menu{
	display:block;
	height:auto;
}
#menu nav{display:block;}
.menu_list,.submenu_list{
	position:relative;
	display:block;
	width:100%;
	padding:0;
	margin:0;
	bottom:auto;
	left:auto;
	right:auto;
}
.menu_item,.submenu_item{
	margin:0 !important;
	border-bottom:1px solid #ccc;
}
.menu_link,.submenu_link{
	display:block;
	width:100%;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
	color:#333 !important;
	padding:20px;
	background:none !important;
}
.menu_link span,.submenu_link span{
	position:relative;
	padding-bottom:4px;
	border-bottom:2px solid transparent;
	transition:border-color .3s;
}
.menu_link:hover span,.on .menu_link span,.submenu_link:hover span,.on .submenu_link span{border-color:var(--color-blue);}
#menu > nav:nth-child(2){padding-bottom:120px;}
.menu_more{
	width:100%;
	height:auto;
	border:none;
	border-radius:0;
	margin-bottom:0 !important;
}
.menu_more::before{display:none;}
.menu_more_in{
	position:relative;
	width:100%;
	visibility:visible;
	top:auto;
	left:auto;
	padding:0;
	opacity:1;
}
.menu_more_list{
	padding:0;
	box-shadow:none;
}
.menu_more_item:not(:last-child){
	margin-bottom:0 !important;
}
.menu_more_link{
	display:block;
	width:100%;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
	color:#333 !important;
	padding:23px 20px 17px;
}
.menu_more_link[target="_blank"]{
	padding-left:43px;
	background-position:center left 20px;
}
.menu_more_item{
border-bottom:1px solid #ccc;
}
.h_btn_list{
	flex-direction:column-reverse;
	padding:0 20px;
	margin:40px 0 0;
}
.h_btn_item{
	width:100%;
}
.h_btn_link{
	width:100%;
	max-width:315px;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.9rem;
	margin:auto !important;
}
.h_btn_link.dl{
	margin-top:15px !important;
}
.h_btn_link span::before, .h_btn_link span::after{top:4px;}

.menu_sub{display:block;}
.menu_sub_item{border-bottom:1px solid #ccc;margin:0 !important;}
.menu_sub_link{
	display:block;
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.7rem;
	padding:18px 20px;
}

}
@media screen and (max-width:1200px){
.footer_area{
	align-items:flex-start;
	padding:15px 0;
}
.f_menu_list {
	position: relative;
	display:block;
	width:auto;
	padding:0;
	margin:0 77px 0 0;
	left: auto;
	right: auto;
}
.f_menu{align-items:flex-start;}
.f_menu_item{margin:0 0 3px;}
.f_submenu_list{
	display:block;
	width:140px;
	margin:0;
}
.f_submenu_item{margin:0 19px 5px 0;}
.f_sub{padding:10px 0;}
.f_sub::before{width:100%;}
.f_sub_item:not(:last-child){margin-right:17px !important;}
.f_sub_link{
    font-size:1.1rem;
    letter-spacing:1.1px;
}
}

@media screen and (max-width:1024px){
.f_cta_list{padding:50px 0 45px;}
.f_cta_h2{
	font-size:2rem;
	letter-spacing:2px;
}
.footer_area{
	padding:15px 20px;
	max-width:1000px;
}

.f_sub{
	display:block;
	padding:0;
	max-width:1000px;
}
.f_sub::before{display:none;}
.f_sub_list{display:block;}
.f_sub_item{
	margin:0 !important;
	border-bottom:1px solid #E8E8E8;
}
.f_sub_item:not(:last-child){margin-right:0 !important;}
.f_sub_link{
	display:block;
	padding:18px 20px;
}
.f_sub_link[target="_blank"]{
	padding:18px 40px;
	background:url(/img/common/popup.svg) no-repeat center left 20px !important;
}
.f_sub p{
	padding:16px 20px;
	text-align:center;
}
}

@media screen and (max-width:919px){
.cta_link{padding-left:20px;}
.cta_link::before{display:none;}
}

/* @media screen and (max-width:820px){
main{padding-top: 20px;}
} */
@media screen and (max-width:767px){

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

.f_cta{background:#0272AE;padding:40px 20px 20px;}
.cta_h2{
	font-size:2rem;
	letter-spacing:2px;
	line-height:3.6rem;
	margin:0 0 5px;
}
.cta_p{
	font-size:1.4rem;
	line-height:1.5;
	padding: 0 20px;
}
.cta_tel{padding-top:20px;}
.cta_tel a{
	font-size:2.8rem;
	background:url(/img/common/icon_phone.svg) 0 center no-repeat;
	text-decoration:underline !important;
}
.cta_tel p{margin-top:16px;}
.cta_tel p br.br_sp{display:inline;}
.cta_list{
	display:block;
	padding:0;
	border-top:none;
}
.cta_item{
	padding:0;
	width:auto;
	border-top:1px solid #ccc;
}
.cta_link{
	padding:20px 0 20px 0;
	height:auto;
}
.cta_link::before{display:none;}
.cta_item:nth-child(2)::before{display:none;}
.cta_item:nth-child(2) .cta_link::before{background-size:40px auto;}
.cta_link_in{
	padding-right:46px;
}
.cta_link_in::before,
.cta_link_in::after{
	top:7px;
	bottom:0;
	right:0;
	margin:auto;
}
.cta_h3{
	font-size:1.8rem;
	letter-spacing:1.8px;
	margin:0 0 10px;
}
.cta_txt{
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.92rem;
}

/* footer */
.footer_area{
	display:block;
	padding:0;
	max-width:800px;
	border-bottom:none;
}
.return_btn{right:20px;}
.f_cta_list{padding:40px 0;}
.f_cta_item{padding:0 30px;}
.f_cta_h2{
	font-size:1.8rem;
	letter-spacing:1.8px;
}
.f_cta_txt{
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.92rem;
}
.f_cta_link{
	width:160px;
	font-size:1.2rem;
	letter-spacing:1.2px;
	padding:12px 0 13px;
}
.f_menu{display:block;}
.f_menu_list{
	display:block;
	width:100%;
	padding:0;
	margin:0;
}
#f_logo{width:auto;
	padding:29px 20px 30px;
	border-bottom:1px solid #ebebeb;
}
.f_logo_link{
	display:block;
	max-width:270px;
}
.f_menu_item{
	margin:0 !important;
	border-bottom:1px solid #ebebeb;
}
.f_menu_link{
	display:block;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
	padding:18px 20px;
	width:100%;
	background:none;
}
.f_menu_item:not(:last-child){margin-right:0 !important;}
.f_submenu_list{display:block;margin:0;width:auto;}
.f_submenu_item{border-bottom:1px solid #ebebeb;}
.f_submenu_item:not(:last-child){margin-right:0 !important;}
.f_submenu_link{
	display:block;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
	padding:18px 20px;
	background:none;
}
.f_sub{
	display:block;
	max-width:800px;
	padding:0;
}
.f_sub_list{display:block;}
.f_sub_item{border-bottom:1px solid #ebebeb;}
.f_sub_item:not(:last-child){margin-right:0 !important;}
.f_sub_link{
	display:block;
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.7rem;
	padding:18px 20px;
}
.f_sub_link[target="_blank"]{
	padding-left:42px;
	background:url(/img/common/popup.svg) no-repeat center left 22px;
}
.copy_right{
	position:relative;
	line-height:1.2rem;
	margin:0;
	top:auto;
	text-align:center;
	padding:16px 20px;
}
/* main */
[href^="tel:"]{
	text-decoration:underline;
	pointer-events:auto;
}
/* service */
.service_list{
	grid-template-columns:1fr 1fr;
	grid-gap:0 15px;
}
.service_link{
	display:block;
	padding:15px 0;
	background:none;
}
.service_img{
	width:auto;
	margin-right:0;
}
.service_title{
	width:auto;
	margin-top:10px;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.95rem;
	padding-right:20px;
	background:url(/img/common/arrow_r_blue.svg) no-repeat right top 5px;
}
}

@media screen and (max-width:599px){
.sph_size{display:none !important;}
.spv_size{display:block !important;}
.f_cta_list{
	display:block;
	padding:0 20px 6px;
}
.f_cta_item{
	width:100%;
	text-align:center;
	padding:24px 0;
}
.f_cta_item::after{
	width:100%;
	height:1px;
	top:auto;
}
.f_cta_item:nth-child(1)::before,
.f_cta_item:nth-child(2)::after{display:none;}
.f_cta_h2{margin:0 0 5px;}
.f_cta_link{margin:23px auto 0;}
}

/*----- Message for IE -----*/
.for_ie{
	position:relative;
	background:#f00;
	z-index:9999;
	border-bottom:2px solid #fff;
}
.ie_wrap{
	max-width:1140px;
	padding:25px 20px 15px;
	margin:auto;
}
.ie_txt{
	margin-bottom:20px;
	color:#fff;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
}
.download_wrap{overflow:hidden;}
.download_link{
	float:left;
	display:block;
	width:260px;
	padding:11px 25px 12px;
	margin:0 15px 15px 0;
	background:url(/img/common/popup_white.svg) no-repeat center right 10px/15px !important;
	border:1px solid #fff;
	color:#fff !important;
	font-size:1.4rem;
	letter-spacing:1.4px;
	text-align:center;
	text-decoration:none;
}
.download_link:hover{
	background-color:#fff !important;
	background-image:url(/img/common/popup_red.svg) !important;
	color:#f00 !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 -----*/