@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','Noto Serif JP','Dela Gothic One',sans-serif;line-height:2.8;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','Noto Serif JP','Dela Gothic One',sans-serif;}
input{font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP','Noto Serif JP','Dela Gothic One',sans-serif;line-height:2.8;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);
	--font_Roboto: 'Roboto', sans-serif;
}

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

body{
	font-feature-settings: "palt";
	letter-spacing: 0;
}

#wrapper{overflow:hidden;}

.sp_size{display:none !important;}


/*----- header -----*/
#header_wrap{
	padding: 23px 30px 24px 22px;
	margin: auto;
	background: #fff;
	height: 82px;
}
.header_area{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
#logo {
	max-width: 260px;
}
.logo_link, .logo_img{
	display:block;
	width:100%;
}
#toggle{
	display:none;
}
#menu{
	display:block;
}
.menu_list{
	display:flex;
	align-items:center;
	gap:29px;
	margin:0;
	padding:0;
	list-style:none;
}
.menu_item{
	margin: 0;
	list-style:none;
}
.menu_link{
	position:relative;
	display:block;
	font-weight:bold;
	text-decoration:none;
	transition:color 0.3s;
	line-height: 2.2rem;
}
.on .menu_link,.menu_link:hover{color:#238CF9;}

/*----- search -----*/
.search_smp .modal_open{display: none;}
.modal_open {
	display: block;
	width: 20px;
	height: 20px;
	cursor: pointer;
	border: none;
	padding: 0;
	margin-bottom: 3px;
	background: url(/img/common/icon_search_black.svg) no-repeat center / 17px;
	transition: background 0.3s;
}
.modal_open:hover {
	background:url(/img/common/icon_search_blue.svg) no-repeat center/17px;
}
.modal_txt{
	font-size:0;
}
.modal_content{
	position:fixed;
	display:none;
	z-index:5000;
	text-align:center;
	width:526px;
}
.search_box{
	position:relative;
	width:100%;
	background:#fff;
}
.search_txt{
	display:block;
	width:100%;
	padding: 15px 60px 15px 20px;
	background:none;
	border:none;
	box-sizing:border-box;
}
.search_txt::placeholder{color:#aaa;}
.search_btn{
	display:block;
	position:absolute;
	top:0;
	right:0;
	font-size:0;
	width:60px;
	height:74px;
	background:url(/img/common/icon_search_black.svg) no-repeat center/22px !important;
	cursor:pointer;
	transition: background 0.3s;
}
.search_btn:hover{
	background:url(/img/common/icon_search_blue.svg) no-repeat center/22px !important;
}
.modal_close {
	position: relative;
	display: inline-block;
	padding-left: 25px;
	margin-top: 15px;
	cursor: pointer;
	color: #fff !important;
	border: none;
	background: none;
	font-size: 15px;
	letter-spacing: 1.5px;
	border-bottom: 1px solid transparent;
}
.modal_close:hover{border-bottom: 1px solid #fff;}
.modal_close::before,
.modal_close::after {
	content: '';
	position: absolute;
	left: 10px;
	top: 2px;
	bottom: 0;
	margin: auto;
	width: 1px;
	height: 17px;
	background: #fff;
}
.modal_close::before {
	transform: rotate(45deg);
}
.modal_close::after {
	transform: rotate(-45deg);
}
#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:1000;
}
.return_btn{
	display:block;
	position:fixed;
	right:20px;
	bottom:20px;
	width:40px;
	height:40px;
	background:#fff;
	border: 1px solid #DDD;
	border-radius:4px;
	text-decoration:none;
	opacity: 0;
	visibility: hidden;
	transition:background 0.3s, opacity 0.3s, visibility 0.3s;
}
.return_btn::after{
	content:'';
	display:block;
	position:absolute;
	top:8px;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	width:13px;
	height:13px;
	border-top:2px solid #0053AE;
	border-right:2px solid #0053AE;
	transform:rotate(-45deg);
}
.return_txt{display:none;}
.return_btn:hover{
	background:#0053AE;
}
.return_btn:hover::after{
	border-top:2px solid #fff;
	border-right:2px solid #fff;
}
.return_btn.display {
	opacity: 1;
	visibility: visible;
}
.return_btn.pos_end {
	position: absolute;
	opacity: 1;
	visibility: visible;
}
#footer_wrap{
	border-top: 1px solid #DDDDDD;
}
.footer_top {
	max-width: 1140px;
	padding: 160px 20px 8px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer_top p {
	font-size: 4.2rem;
	font-weight: bold;
	line-height: 2.8;
	margin-bottom: 0;
}
.f_logo {
	margin-right: 5px;
}
.f_logo_img {
	width: 260px;
}
.f_menu_list {
	padding: 0;
	margin: 0;
	display: flex;
}
.footer_bottom {
	border-top: 1px solid #DDDDDD;
}
.footer_bottom_in {
	max-width: 1140px;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 34px 20px 46px;
}
.f_sub_item {
	line-height: 2rem;
	list-style: none;
	margin: 0;
}
.f_sub_link {
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 2rem;
	text-decoration: none;
	margin-right: 28px;
}
.copyright {
	display: block;
	font-size: 1.1rem;
	font-weight: 400;
}
.f_sub_link:hover {
	text-decoration: underline;
}






/*----- main -----*/
#content_wrap{
	border-top: 1px solid #E0E0E0;
}
#content_wrap.recruit,#content_wrap.form{
	border-top: none;
}
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;
	text-decoration: none;
	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 {
    display: block;
    position: relative;
    padding: 0 0 8px 4px;
    font-size: 1.7rem;
    text-decoration: none;
    color: #fff !important;
    border-bottom: 1px solid #D5D5D5;
    width: 250px;
    font-weight: bold;
    transition: color 0.3s, border-color 0.3s;
}
.link_btn::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #D5D5D5;
    transition: width 0.3s ease;
}
.link_btn:hover::before {
    width: 100%;
    background-color: #fff;
}
.link_btn::after {
    position: absolute;
    content: '';
    width: 20px;
    height: 20px;
    background: url(/img/common/arrow_r_white.svg) no-repeat center right 0;
    top: calc(50% - 9px);
    right: 0;
    z-index: 0;
    pointer-events: none;
}

.cta_area {
	position: relative;
	overflow: hidden;
	background: #194191;
}
.cta_area_in {
	position: relative;
	z-index: 1;
	max-width: 1140px;
	padding: 0 20px;
	margin: 80px auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 20px;
}
.cta_wrap {
	border: 1px solid #fff;
	border-radius: 4px;
	padding: 38px;
}
.cta_head {
	position: relative;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 3.7rem;
	padding-top: 22px;
	color: #fff;
	padding: 22px 0 36px;
	border: none;
	margin: 0;
}
.cta_head::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 6px;
	height: 6px;
	background: #fff;
	box-shadow: 10px 0 0 #8696A7, 20px 0 0 #3D5771;
}
.cta_txt {
	margin-bottom: 22px;
	font-size: 1.4rem;
	line-height: 2.7rem;
	color: #fff;
}

.cta_btn {
	font-size: 1.5rem;
	font-weight: 500;
	padding: 3px 20px;
	background: #fff;
	display: block;
	border-radius: 4px;
	border: 1px solid #fff;
	text-decoration: none;
	margin-top: 46px;
	transition: background 0.3s,color 0.3s;
}
.cta_btn p{
	position: relative;
	margin-bottom: 0;
	line-height: 2.8;
	font-size: 1.5rem;
}

.cta_btn p::before {
	content: "";
	position: absolute;
	top: 15px;
	right: 0px;
	width: 7px;
	height: 12px;
	background: url(/img/common/arrow_r_blue.svg) no-repeat center right;
	transition: background 0.3s;
}
.cta_btn:hover {
	background: #194191;
	color: #fff !important;
}
.cta_btn:hover p::before {
	background: url(/img/common/arrow_r_white.svg) no-repeat center right;
}
.cta_tel_btn {
	font-size: 1.5rem;
	font-weight: 500;
	padding: 3px 20px;
	background: #fff;
	display: block;
	border-radius: 4px;
	border: 1px solid #fff;
	text-decoration: none;
	margin-top: 46px;
	text-align: center;
}
.cta_tel_btn p{
	position: relative;
	margin-bottom: 0;
	line-height: 2.8;
	font-size: 1.5rem;
}

@media screen and (max-width:1024px){
#wrapper.fixed{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	overflow: hidden;
}
/*----- header -----*/
#header_wrap{
	height: 65px;
	padding:0;
}
#logo {
	max-width: 260px;
	margin-left: 15px;
}
.header_area_in{
	display: flex;
	align-items: center;
}
#toggle{
	display:block;
	margin-right: 4px;
}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:65px;
	height:65px;
	padding: 0;
	font-size:0;
	text-decoration:none;
	border: none;
    background: transparent;
}
.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:2px;
	background:#333333;
	transition:all 0.3s;
}
.toggle_btn::before{top:24px;}
.toggle_btn::after{top:36px;}
.toggle_txt::before{top:30px;}
.toggle_btn.open::before{
	top:31px;
	transform:rotate(150deg);
}
.toggle_btn.open::after{
	top:31px;
	transform:rotate(-150deg);
}
.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%;
	padding:3px 20px 100px;
	background: #F1F1F1;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
.menu_list{
	display:block;
	margin:0 auto 30px;
}
.menu_item{
	margin:0;
	border-bottom: 1px solid #D5D5D5;
}
.menu_link{
	padding: 20px 30px 20px 4px;
	font-size:1.5rem;
	letter-spacing: 0.75px;
	line-height: 2.1rem;
}
.menu_link::after{
	content: '';
	display: block;
	position: absolute;
	bottom: 20px;
	right: 14px;
	width: 20px;
	height: 20px;
	border-radius: 2px;
	background: url(/img/common/arrow_r_blue.svg) no-repeat center right / 7px;
	transition: background 0.3s;
}
.menu_item.search_pc{display: none;}

/*----- search -----*/
.search_smp .modal_open {
    display: block;
}
.search_smp .modal_open{
	background-position: center top 2px;
	background-size: 19px;
	width: 23px;
    height: 23px;
}
.modal_content{
	width: 80%;
	left: 0 !important;
	right: 0 !important;
	margin: auto;
}

/*----- footer -----*/
.footer_top {
	padding: 72px 20px 8px;
}
.footer_top p {
	font-size: 3.4rem;
	line-height: 9.8rem;
}
.f_logo_img {
	width: 200px;
}
.footer_bottom_in {
	padding: 30px 20px 40px;
}

/*----- main -----*/
.link_btn{
	font-size: 1.6rem;
	width: 212px;
	padding: 0 0 4px 4px;
}
.link_btn::after {
	background: url(/img/common/arrow_r_white.svg) no-repeat top right 5px;
}
.cta_area_in{
	margin: 50px auto 80px;
	grid-gap: 15px;
}
.cta_wrap {
	border-radius: 8px;
	padding: 15px 15px 30px 15px;
	text-align: center;
}
.cta_head {
	font-size: 2.2rem;
	padding: 18px 0 16px;
}
.cta_head::before {
	left: 50%;
	transform: translateX(-50%);
}
.cta_txt {
    margin-bottom: 22px;
    font-size: 1.2rem;
    line-height: 2.2rem;
}
.cta_tel_btn,.cta_btn{
	margin-top: 27px;
	padding: 6px 18px 5px;
}
.cta_tel_btn p {
	font-size: 1.3rem;
}
.cta_btn p {
	font-size: 1.3rem;
	text-align: left;
}
.cta_btn p::before {
	top: 12px;
}







}


@media screen and (max-width:767px){

.pc_size{display:none !important;}
.sp_size{display:block !important;}
#header_wrap {
	height: 60px;
}
#logo {
	max-width: 220px;
}
.menu_item {
	margin-bottom: 0 !important;
}
.menu_link {
	padding: 20px 30px 20px 6px;
}

/*----- footer -----*/
.cta_area_in {
	margin: 50px auto 80px;
	grid-template-columns: 1fr;
}
.cta_head {
	font-size: 2.2rem;
	line-height: 3.5rem;
	padding: 21px 0 16px;
}
.cta_head::before {
	left: 47%;
}
.cta_txt {
	margin-bottom: 16px;
	font-size: 1.2rem;
	line-height: 2.2rem;
}
.link_box{
	max-width:300px;
	margin: auto;
	flex-direction: column;
	gap: 12px;
}
.cta_tel_btn,.cta_btn {
	text-decoration: none !important;
	padding: 6px 20px 5px;
	width: 240px;
	margin: 27px auto 0;
}
.footer_top {
	padding: 48px 0 0;
	display: block;
	text-align: center;
}
.footer_top p {
	font-size: 3.6rem;
	line-height: 5.2rem;
	padding: 0 0 49px;
	border-bottom: 1px solid #E0E0E0;
}
.f_logo {
	margin-right: 0;
	padding: 24px 0 38px;
}
.f_logo_img {
	margin: auto;
}
.footer_bottom_in {
    display: block;
    padding: 0;
}
.f_menu{display: block;}
.f_menu_list {
	display: block;
	text-align: center;
}
.f_sub_item{
	margin-bottom: 0 !important;
	border-bottom: 1px solid #E0E0E0;
}
.f_sub_link{
	margin: auto;
	padding: 11px 10px 14px;
	font-size: 1.2rem;
	display: inline-block;
}
.copyright {
	text-align: center;
	padding: 14px 0;
}

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