@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.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) / 2);
	--font_noto:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif;
	--font_lato:"Lato",sans-serif;
	--font_roboto:"Roboto",sans-serif;
}

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

#wrapper{overflow:hidden;}

.tab_size{display:none !important;}
.sp_size{display:none !important;}


/*----- header -----*/
#header_wrap{
	position:fixed;
	z-index:10;
	top:0;
	left:0;
	width:100%;
	background:#fff;
	background:rgba(255,255,255,0.9);
	transition:box-shadow 0.3s, transform 0.3s;
}
#header_wrap.scroll, #header_wrap.is_show{box-shadow:0 0 10px rgba(0,0,0,0.1);}
#header_wrap.hide{transform:translateY(-105%);}
.header_area{
	display:flex;
	align-items:center;
	justify-content:space-between;
	max-width:1500px;
	padding:0 30px;
	margin:auto;
}
#logo{width:198px;}
.logo_link, .logo_img{
	display:block;
	width:100%;
}
#toggle{display:none;}
#menu{
	display:flex;
	align-items:center;
}
.menu_list{
	display:flex;
	align-items:center;
	align-items: stretch;
	padding:0;
	margin:0;
	height: 72px;
}
.menu_item{
	list-style:none;
	margin:0 35px 0 0;
}
.menu_item.item_contact{margin-right:10px;}
.menu_link{
	position:relative;
	display:block;
	color:#333 !important;
	font-weight:bold;
	text-decoration:none;
	transition:color 0.3s;
	height: 100%;
}
.menu_item:not(:last-child) .menu_link{
	display: flex;
	align-items: center;
}
.menu_link:hover, .on .menu_link{color:#1766B6 !important;}
.menu_link::before{
	position:absolute;
	content:"";
	width:1px;
	height:0;
	background-color:#1766B6;
	left:calc(50% - 1px);
	bottom:calc(100% + -70px);
}
.menu_link::after{
	position:absolute;
	content:"";
	width:5px;
	height:5px;
	border-radius:50%;
	background-color:#1766B6;
	left:calc(50% - 3px);
	top:69px;
	opacity:0;
}
.menu_link:hover::before, .on .menu_link::before{
	height:18px;
	transition-duration:0.3s;
}
.menu_link:hover::after, .on .menu_link::after{
	opacity:1;
}
.item_contact .menu_link{
	width:187px;
	height: 48px;
	margin: 12px 0;
	padding:14px 0 15px 27px;
	background:#1766B6 url(/img/common/icon_mail.svg) no-repeat center left 22px;
	border-radius:5px;
	color:#fff !important;
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:1.7rem;
	text-align:center;
	transition:background 0.3s;
}
.item_contact .menu_link:hover{background-color:#000;}
.item_contact .menu_link::after,.item_contact .menu_link::before{opacity:0;}


/*----- footer -----*/
#return{
	position:relative;
	z-index:100;
}
.return_btn{
	display:block;
	position:fixed;
	right:30px;
	bottom:30px;
	width:50px;
	height:50px;
	background:#FFFFFF;
	border:1px solid #E7F2FE;
	border-radius:5px;
	box-shadow: 0px 3px 6px #00000029;
	text-decoration:none;
	opacity: 0;
	visibility:hidden;
	transition:background 0.3s, opacity 0.3s, visibility 0.3s;
}
.return_btn:hover{background:#E7F2FE;}
.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 #1766B6;
	border-right:1px solid #1766B6;
	transform:rotate(-45deg);
}
.return_txt{display:none;}

.footer_contact_area{
	background:url(/img/common/bg_contact.jpg) no-repeat center / cover;
	padding:56px 20px 88px;
	text-align:center;
}
.footer_contact_area h2{
	font-size:3.5rem;
	letter-spacing:2.8px;
	line-height:5.1rem;
	margin:0 0 20px;
	padding-bottom:0;
}
.footer_contact_area h2::before{
	content:attr(data-en);
	display:block;
	font-size:1.4rem;
	letter-spacing:1.12px;
	line-height:1.9rem;
	font-family:var(--font_roboto);
	font-weight:normal;
}
.footer_contact_area h2,.footer_contact_area h2::before,.footer_contact_area .footer_contact_txt{
	color:#fff;
}
.footer_contact_area h2::after{display:none;}
.footer_contact_txt{margin-bottom:34px;}
.footer_contact_txt span{display:block;font-weight:bold;margin-top:5px;line-height: 2.4rem;}
.bg_white{
	background-color:#fff;
	max-width:1010px;
	margin:auto;
	font-weight:bold;
}
.bg_white p{color:#1766B6;}
.footer_contact_tel{
	padding:45px 20px;
	margin-bottom:16px;
	font-family:'Lato';
	position:relative;
}
.footer_contact_tel::before, .footer_contact_tel::after{
	content:'';
	position:absolute;
	display:block;
}
.footer_contact_tel::before{
	background:url(/img/common/bg_contact_l.png) no-repeat center / contain;
	height:250px;
	width:250px;
	left:-170px;
	top:22px;
}
.footer_contact_tel::after{
	background:url(/img/common/bg_contact_r.png) no-repeat center / contain;
	height:147px;
	width:147px;
	top:-60px;
	right:-101px;
}
.footer_contact_tel .column_2{
	margin:auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
	position:relative;
}
.footer_contact_tel .column_2::before{
	position:absolute;
	content:'';
	background-color:#BECCDD;
	width:1px;
	height:100%;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
}
.footer_contact_tel p{
	font-size:2.1rem;
	letter-spacing:2.1px;
	line-height:3rem;
	margin-bottom:0;
}
.footer_contact_tel p a, .footer_contact_tel p span{
	display:inline-block;
	margin-left:10px;
	color:#1766B6 !important;
	font-size:4.2rem;
	letter-spacing:2.1px;
	line-height:5rem;
	text-decoration:none;
	transition:0.3s;
}
.footer_contact_mail{
	padding:0 20px;
	height:90px;
	display:flex;
	justify-content:center;
	align-items:center;
	position: relative;
}
.footer_contact_mail p{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.6rem;
	margin:0;
}
.footer_contact_mail p a{
	color:#1766B6 !important;
	font-size:2.5rem;
	letter-spacing:2.5px;
	line-height:3.6rem;
	text-decoration:none;
}
.footer_contact_mail p a:hover{text-decoration:underline;}

.f_main_box_in,.footer_add,.footer_sub_in{
	max-width:1260px;
	width:100%;
	padding:0 30px;
}
.footer_main_box{
	position:relative;
	max-width:1260px;
	width:100%;
	margin:35px auto 40px;
}
.f_logo{width:198px;}
.f_logo_link, .f_logo_img{
	display:block;
	width:100%;
}
.f_menu{
	position:absolute;
	top:2px;
	right:30px;
}
.f_menu_list{display:flex;}
.f_menu_item{margin-left:34px;list-style:none;}
.f_menu_item a{
	text-decoration:none;
	font-size:1.6rem;
	letter-spacing:1.6px;
	font-weight:bolder;
	text-decoration:none;
	transition:0.3s;
}
.f_menu_item a:hover::after{
	content:'';
	display:block;
	background-color:#1766B6;
	width:100%;
	height:1px;
}
.f_menu_item a:hover,.sitemap_txt a:hover{color:#1766B6;}
.footer_add{display:flex;padding:0;margin-top:25px;}
.footer_add_box{margin-right:50px;}
.footer_add_box p{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.5rem;
	margin-bottom:0;
}
.footer_add_box p a{text-decoration: none;}
.footer_add_name{font-weight:bold;}
.footer_sub{border-top:1px solid #CCCCCC;}
.footer_sub_in{margin:13px auto;display:flex;justify-content:space-between;align-items:center;}
.sitemap_txt{
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:2rem;
	margin-bottom:0;
	transition:0.3s;
}
.sitemap_txt a{text-decoration:none;}
.sitemap_txt a:hover{text-decoration:underline !important;}
.copyright{margin-bottom:0;line-height: 2.4rem;}
.copy_txt{
	font-size:1.2rem;
	letter-spacing:1.2px;
	margin-bottom:0;
}



/*----- main -----*/
#index_wrap, #content_wrap{padding-top:70px;}
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[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;}
#index_wrap{margin-bottom:90px;}
.content_area{
	max-width:1260px;
	width:100%;
	margin:auto;
	padding:0 30px;
}



/*----- C1 -----*/
.link_btn{
	display:block;
	width:230px;
	text-align:left;
	padding:21px 25px 20px;
	border-radius:5px;
	color:#fff !important;
	line-height:2.4rem;
	transition:background 0.3s;
	background-color:#1766B6;
	text-decoration:none !important;
	position:relative;
}
.link_btn::after{
	content:'';
	position:absolute;
	top:0;
	right:15px;
	bottom:0;
	width:27px;
	height:7px;
	margin:auto;
	background:#ffffff;
	clip-path:polygon(0 42.9%, 86.4% 42.9%, 86.4% 0, 100% 50%, 86.4% 100%, 86.4% 57.1%, 0 57.1%);
}
.link_btn:hover{background-color:#000000;}

@media screen and (min-width:768px) and (max-width:1024px){
.pc_size{display:none !important;}
.tab_size{display:block !important;}

.link_btn{
	width:182px;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
	padding:16px 21px;
}
.link_btn::after{
	right:13px;
	width: 25px;
}
#index_wrap{margin-bottom:65px;}

/*----- header -----*/
#logo{width:180px;}
.menu_item{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
	margin-right:20px;
}
.menu_item:nth-child(3n){margin-right:30px;}
.menu_item.item_contact{
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.9rem;
	margin-right:0;
}
.menu_item.item_contact .menu_link{
	width:157px;
	padding:12px 0 12px 30px;
	background-size:22px;
	font-size: 1.3rem;
	letter-spacing: 1.3px;
	line-height: 2.2rem;
	background-position: center left 21px;
}


/*----- footer -----*/
.footer_contact_area{padding:53px 30px 68px;}
.footer_contact_area h2{
	font-size:2.8rem;
	letter-spacing:2.24px;
	line-height:4rem;
	margin:0 0 19px;
}
.footer_contact_area h2::before {
	font-size: 1.2rem;
	letter-spacing: 0.96px;
	line-height: 1.6rem;
	margin-bottom: 3px;
}
.footer_contact_txt{margin-bottom:27px;}
.footer_contact_txt span{margin-top:3px;}
.bg_white p::before{
	font-size:1.9rem;
	letter-spacing:1.9px;
	line-height:2.7rem;
	padding-right:6px;
}
.bg_white.footer_contact_mail p::before{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.6rem;
	padding-right:6px;
}
.bg_white.footer_contact_tel{
	padding:31px 10px 31px;
	margin-bottom:15px;
}
.bg_white.footer_contact_tel::before{
	height:190px;
	width:190px;
	left:-63px;
	top:72px;
}
.bg_white.footer_contact_tel::after{
	height:110px;
	width:110px;
	top:-42px;
	right:-35px;
}
.bg_white.footer_contact_tel p{
	font-size:1.9rem;
	letter-spacing:1.9px;
	line-height:2.7rem;
}
.bg_white.footer_contact_tel p a,.bg_white.footer_contact_tel p span{
	font-size:3.1rem;
	letter-spacing:1.55px;
	line-height:4.4rem;
}
.bg_white.footer_contact_mail{
	padding:26px 20px 27px;
}
.bg_white.footer_contact_mail p{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.6rem;
}
.footer_contact_mail p a {
	font-size: 2.3rem;
	letter-spacing: 2.3px;
	line-height: 3.4rem;
}
.footer_main_box{margin-bottom:27px;}
.f_menu_item{margin-left:27px;}
.f_menu_item a{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
}
.footer_add{margin-top:32px;}
.footer_add_box{margin-right:36px;}
.footer_add_box p{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.3rem;
}
.footer_add_name{font-weight:bold;}
.footer_sub{border-top:1px solid #CCCCCC;}
.footer_sub_in{margin:12px auto;}
.sitemap_txt{
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.9rem;
}
.sitemap_txt a{text-decoration:none;}
.copy_txt{
	font-size:1.1rem;
	letter-spacing:1.1px;
	line-height:1.6rem;
}

}


@media screen and (max-width:767px){
#index_wrap{margin-bottom:60px;padding-top: 50px;}
#wrapper.fixed{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
}
.pc_size{display:none !important;}
.sp_size{display:block !important;}
.content_area{padding:0 20px;}


/*----- header -----*/
.header_area{padding:0;}
#logo{
	margin-left:20px;
	width:128px;
}
#toggle{display:block;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:63px;
	height:50px;
	font-size:0;
	text-decoration:none;
	cursor:pointer;
	background:none;
	border: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:23px;
	height:2px;
	background:#1766B6;
	transition:all 0.3s;
}
.toggle_btn::before{top:16px;}
.toggle_btn::after{top:24px;}
.toggle_txt::before{top:31px;}
.toggle_btn.open::before{
	top:26px;
	transform:rotate(135deg);
}
.toggle_btn.open::after{
	top:26px;
	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:10;
	top:50px;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	padding-bottom:100px;
	background:rgba(0,0,0,0.6);
	mix-blend-mode:multiply;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}
.menu_list{
	display:block;
	margin:0 auto 30px;
	position:static;
	background:#fff;
	border-top:1px solid #ccc;
	height: auto;
}
.menu_link{
	padding:20px;
	color:#fff;
	font-size:1.4rem;
}
#menu .menu_item{
	margin:0;
	border-bottom:1px solid #ccc;
	position: relative;
}
#menu .menu_item::after{
	content: '';
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	width: 27px;
	height: 7px;
	margin: auto;
	background: #333333;
	clip-path: polygon(0 42.9%, 86.4% 42.9%, 86.4% 0, 100% 50%, 86.4% 100%, 86.4% 57.1%, 0 57.1%);
}
#menu .menu_item:hover:after{background: #1766B6;}
#menu .menu_item.item_contact::after{display: none;}

.menu_link::after,.menu_link::before{display: none;}
.menu_item.item_contact{padding:30px;text-align:center;margin-right: 0;}
.item_contact .menu_link{margin:auto;}


/*----- footer -----*/
.footer_contact_area{padding:39px 20px 68px;}
.footer_contact_area h2{
	font-size:2.2rem;
	letter-spacing:1.76px;
	line-height:3.2rem;
	margin-bottom:11px;
}
.footer_contact_area h2::before{
	font-size:1.2rem;
	letter-spacing:0.96px;
	line-height:1.6rem;
}
.footer_contact_txt{margin-bottom:23px;}
.footer_contact_txt span{margin-top:0;}
.footer_contact_tel a:hover{text-decoration:underline;
}
.bg_white p::before{
	display:inline-block;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
	padding-right:3px;
}
.bg_white.footer_contact_tel{
	padding:27px 10px;
	margin-bottom:14px;
}

.bg_white.footer_contact_tel::before{
	height:100px;
	width:100px;
	left:-50px;
	top:162px;
}
.bg_white.footer_contact_tel::after{
	height:70px;
	width:70px;
	top:-38px;
	right:-26px;
}
.bg_white.footer_contact_tel .column_2{display:block;}
.bg_white.footer_contact_tel .column_2 div:first-child{margin-bottom:32px;}
.bg_white.footer_contact_tel .column_2 div:first-child a{text-decoration: underline !important;}
.bg_white.footer_contact_tel .column_2::before{
	height: 1px;
	width: 238px;
	top: 0;
}
.bg_white.footer_contact_tel p{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
}
.footer_contact_tel p a, .footer_contact_tel p span{
	font-size:2.8rem;
	letter-spacing:1.4px;
	line-height:3.4rem;
}
.bg_white.footer_contact_mail{padding:0 10px;height:74px;}
.bg_white.footer_contact_mail p{
	font-size:1.1rem;
	letter-spacing:1.1px;
	line-height:2.6rem;
}
.bg_white.footer_contact_mail p a{
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:2.4rem;
}
.f_logo{width:168px;}
.f_main_box_in{padding:0 20px;}
.footer_main_box,.footer_add,.footer_sub_in{display:block;}
.footer_main_box{margin:25px auto 0;}
.footer_sub_in{padding:0;margin:0;}
.f_menu{
	position:relative;
	right:0;
}
.f_menu_list{display:block;border-top:1px solid #CCCCCC;padding-left:0;}
.f_menu_list,.f_menu_item{margin-bottom:0 !important;}
.f_menu_item,.sitemap_txt{
	margin-left:0;
	border-bottom:1px solid #ccc;
}
.f_menu_item a{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
	position:relative;
}
.f_menu_item a::after,.f_menu_item a:hover:after,.sitemap_txt a::after{
	content:'';
	position:absolute;
	top:0;
	right:20px;
	bottom:0;
	width:27px;
	height:7px;
	margin:auto;
	background:#333333;
	clip-path:polygon(0 42.9%, 86.4% 42.9%, 86.4% 0, 100% 50%, 86.4% 100%, 86.4% 57.1%, 0 57.1%);
}
.sitemap_txt a::after{right: 0;}
.f_menu_item a:hover:after,.sitemap_txt a:hover:after{background: #1766B6;}
.sitemap_txt a:hover:after{text-decoration: none;}
.f_menu_item a,.sitemap_txt{
	width:100%;
	padding:18px 20px 17px;
	display:block;
	transition:0.3s;
}
.footer_add{margin:24px auto 30px;padding:0;}
.footer_add_box{margin-right:0;}
.footer_add .footer_add_box:first-child{margin-bottom:16px;}
.footer_add_box p,.sitemap_txt{
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:2.4rem;
}
.footer_add_box p a{text-decoration: underline;}
.footer_sub{border-top:none;}
.sitemap_txt{line-height:1.9rem;}
.sitemap_txt a{position: relative;display: block;width: 100%;}
.sitemap_txt a:hover{text-decoration:none !important;}
.copyright{text-align: center;padding: 15px;}
.copy_txt{
	font-size:1.2rem;
	letter-spacing:1.2px;
	text-align:center;
	padding:16px 10px;
}
.return_btn{right: 15px;}

/*----- main -----*/
[href^="tel:"]{
	text-decoration:underline !important;
	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 -----*/