@charset "UTF-8";

:root {
  --black:#333;
  --bg:#f5f5f5;
  --main_co1:#3e9de1;
  --main_co2:#45ac95;
  --linear:linear-gradient(to right,  #3e9de1 0%,#45ac95 100%);
}

/*-------------------------
__base_style
-------------------------*/
html {/* スクロールバーが表示されていなくても、その分のスペースを常に確保する */scrollbar-gutter:stable;}
body,input,textarea,select,button{font-family:"Zen Kaku Gothic Antique", sans-serif;font-weight:400;color:var(--black);}
strong,dt,h1,h2,h3,h4,h5,h6,th,a{font-size:10px;}
.ff_e{font-family:"Jost", sans-serif;font-weight:600;}

@media screen and (min-width:768px) {
	a.tel[href^="tel:"] {pointer-events:none;}
}
@media screen and (max-width:767px) {
	.sp_off{display:none;}
}
/*-------------------------
__header
-------------------------*/
#header{position:fixed;width:100%;background:#FFF;z-index:200;top:0;box-sizing:border-box;padding:10px 15px 10px 30px;left:50%;transform:translateX(-50%);border-radius:50px;margin-top:20px;transition:0.3s;max-width:1200px;}
#header .header_inner{display:flex;justify-content:space-between;align-items:center;margin:0 auto;max-width:1155px;}
/*headerCC*/
.headerCC #header{width:100%;margin:0;border-radius:0;box-shadow:0px 5px 10px rgba(0,0,0,0.2);max-width:100%;}
#header .logo a{display:flex;text-decoration:none;text-align: left;}
#header .logo a .logo_text{color:var(--black);margin-left:14px;margin-top:2px;}
#header .logo a .logo_text .since{font-size:1.4em;
background:var(--linear);color:#FFF;font-weight:500;border-radius:20px;padding:1px 10px 2px;}
#header .logo a .logo_text .since span{font-size:1.21em;}
#header .logo a .logo_text .cn_jap{font-size:2.0em;font-weight:900;display:block;margin:8px 0 0;}
#navi{position:fixed;top:33px;right:calc(((100% - 1200px)/2 ) + 12px);transition:0.3s;z-index:220;}
#navi,
#navi .tell_mail_box{display:flex;align-items:center;}
#navi ul.head_menu{display:flex;}
#navi ul.head_menu li{margin-right:15px;}
#navi ul.head_menu li:last-child{margin-right:20px;}
#navi ul.head_menu li a{text-decoration:none;font-size:1.5em;font-weight:700;letter-spacing:0.04em;color:var(--black);}
#navi .tell_mail_box a.tel{text-decoration:none;font-size:2em;font-weight:700;color:#3e9de1;margin-right:10px;}
#navi .tell_mail_box a.tel::before{content:"";display:inline-block;width:16px;height:20px;background:url("/images/h_ico01@2x.png")no-repeat;background-size:contain;vertical-align:middle;margin:-3px 5px 0 0;}
#navi .tell_mail_box a.tel .dayoff_time{font-size:0.5em;display:block;font-weight:400;padding-top:3px;color:var(--black);}
#navi .tell_mail_box a.tel .dayoff_time span:last-child{padding-left:3px;}
#navi .tell_mail_box a.mail{text-decoration:none;font-size:1.5em;font-weight:700;color:#FFF;background:#45ac95;height:46px;width:156px;display:inline-block;border-radius:23px;box-sizing:border-box;padding-top:14px;}
#navi .tell_mail_box a.mail span::before{content:"";display:inline-block;width:23px;height:17px;background:url("/images/h_ico02@2x.png")no-repeat;background-size:contain;vertical-align:middle;margin:-3px 5px 0 0;}
.headerCC #navi{top:12px;right:calc(((100% - 1200px)/2 ) + 0);}

@media screen and (min-width:768px) {
	#navi ul.head_menu li a:hover{color:var(--main_co2);transition:color 0.3s;}
	#navi .tell_mail_box a.mail:hover{background:#70C5B2;transition:background 0.3s;}
}
@media screen and (max-width:1240px) {
	#header{width:calc(100% - 40px);}
	#navi{right:33px;}
}
@media screen and (max-width:1190px) {
	#header .logo a{align-items:center;}
	#header .logo a img{width:60px;height:auto;}
	#header .logo a .logo_text .since{font-size:1.2em;}
	#header .logo a .logo_text .cn_jap{font-size:1.6em;}
	#navi{top:27px;right:27px;z-index:850;}
	#navi ul.head_menu li{margin-right:10px;}
	#navi ul.head_menu li:last-child{margin-right:15px;}
	#navi ul.head_menu li a{font-size:1.4em;}
	#navi .tell_mail_box a.mail{font-size:1.4em;height:46px;width:120px;padding-top:16px;}
	#navi .tell_mail_box a.mail span::before{display:none;}
	#navi .tell_mail_box a.tel .dayoff_time span:last-child{display:block;padding:2px 0 0;}
	.headerCC #navi{top:6px;}
}
@media screen and (max-width:999px) {
	#header{padding:0;margin-top:0px;width:100%;background:none;}
	.headerCC #header{box-shadow:none;}
	#header .logo {background:#FFF;padding:8px 20px;border-radius:50px;margin:10px;}
	#header .logo a img{width:40px;}
	#header .logo a .logo_text{margin-left:10px;margin-top:0px;}
	.ham_menu{background:var(--linear);position:fixed;right:10px;top:10px;display:block;width:50px;height:50px;border-radius:50%;z-index:999;border:1px solid #D4F9F8;}
    .ham_menu span{display:block;width:22px;height:1px;background:#fff;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);transition:transform 0.3s;}
	.ham_menu span:first-child{top:35%;}
	.ham_menu span:last-child{top:65%;}
	.menu_open .ham_menu span:first-child{transform:translate(-50%, -50%) rotate(45deg);top:50%;}
	.menu_open .ham_menu span:first-child{transform:translate(-50%, -50%) rotate(45deg);top:50%;}
	.menu_open .ham_menu span:nth-of-type(2){opacity:0;}
	.menu_open .ham_menu span:last-child{transform: translate(-50%, -50%) rotate(-45deg);
    top: 50%;}
	#navi{position:fixed;height:100vh;top:0;left:0;right:0;bottom:0;width:100%;background-color:rgba(255, 255, 255, 0.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:100;visibility:hidden;display:block;opacity:0;transition:visibility 0.3s, opacity 0.3s;overflow-y:scroll;padding:150px 20px 50px;box-sizing:border-box;}
	.menu_open #navi{visibility:visible;opacity:1;}
	.headerCC #navi{top:0;}	
	#navi ul.head_menu{display:block;margin-bottom:30px;}		
	#navi .tell_mail_box{display:block;width:100%;}
	#navi ul.head_menu li{margin-right:0px;border-top:#C5C5C5 1px solid;}
	#navi ul.head_menu li:last-child{margin-right:0px;border-bottom:#C5C5C5 1px solid;}
	#navi ul.head_menu li a{display:block;font-size:1.5em;padding:20px 0;}
	#navi .tell_mail_box a.tel{font-size:3em;margin-right:0;}
	#navi .tell_mail_box a.tel::before{width:16px;height:20px;vertical-align:middle;margin:-3px 5px 0 0;}
	#navi .tell_mail_box a.tel .dayoff_time{font-size:0.4em;}
	#navi .tell_mail_box a.tel .dayoff_time span:last-child{padding-left:0;}
	#navi .tell_mail_box a.mail{height:46px;width:100%;display:block;margin-top:30px;}
	#navi .tell_mail_box a.mail span::before{display:inline-block}
	body.menu_open {overflow:hidden;overscroll-behavior:none;}
}
@media screen and (max-width:767px) {
	#header .logo {padding:8px 20px 8px 15px;}
	#header .logo a .logo_text .since{font-size:1.1em;}
	#header .logo a .logo_text .cn_jap{font-size:1.4em;}
}
@media screen and (max-width:374px) {
	#header .logo {padding:8px 20px 8px 10px;}
	#header .logo a img{width:35px;}
	#header .logo a .logo_text{margin-left:5px;}
	#header .logo a .logo_text .cn_jap{font-size:1.1em;}
}
/*-------------------------
__content
-------------------------*/
#content .page_title_wrap{background:var(--linear);padding:140px 20px 60px;}
#content .page_title_wrap .page_title{font-size:3.5em;font-weight:700;line-height:1.2;color:#FFF;}
.topic_path{padding:10px 0 0;text-align:right;}
.topic_path ul{width:100%;display:flex;justify-content:flex-end;flex-wrap:wrap;}
.topic_path li{font-size:1.4em;line-height:1.4;font-weight:400;color:var(--black);vertical-align:top;display:inline-block;}
.topic_path li:before{content:"／";color:var(--black);font-weight:400;}
.topic_path li:first-child:before{content:"";margin:0;}
.topic_path li a{font-weight:400;color:var(--main_co2);text-decoration:underline;font-size:1.0em;line-height:1.4;}
.topic_path li a:hover{text-decoration:none;opacity:0.7;transition:opacity 0.3s;}
.sec_title_wrap .sec_title{font-size:1.7em;font-weight:700;color:#838383;letter-spacing:0.02em;}
.sec_title_wrap .sec_title .ico{display:block;}
.sec_title_wrap .sec_title .eng{font-size:3.5em;display:inline-block;margin:3px 0 5px;background:var(--linear);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.sec_title_wrap .sec_title .jap{display:block;}

@media screen and (max-width:999px) {
	#content .page_title_wrap{padding:100px 20px 60px;}
	#content .page_title_wrap .page_title{font-size:3.2em;}
}
@media screen and (max-width:767px) {
	#content .page_title_wrap{padding:90px 20px 35px;}
	#content .page_title_wrap .page_title{font-size:2.2em;}
	.sec_title_wrap .sec_title{font-size:1.4em;line-height:1.3;}
	.sec_title_wrap .sec_title .ico{width:60px;margin:0 auto;}
	.sec_title_wrap .sec_title .ico img{width:100%;height:auto;}
	.sec_title_wrap .sec_title .eng{font-size:2.8em;margin:0 0 5px;}
	.sec_title_wrap .sec_title .jap{display:block;}
}
/*-------------------------
__contact_box
-------------------------*/
#contact_box{background:url("/images/b_img01.jpg")no-repeat center center;background-size:cover;position:relative;box-sizing:border-box;padding:80px 20px;color:#FFF;}
#contact_box::before{content:"";display:block;width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(to bottom,  #3e9de1 0%,#45ac95 100%);z-index:1;opacity:0.9;}
#contact_box .contact_text{font-size:2.5em;font-weight:600;line-height:2;letter-spacing:0.04em;padding-bottom:30px;position:relative;z-index:2;}
#contact_box a.mail{text-decoration:none;background:#FFF;display:inline-block;width:450px;height:60px;border-radius:30px;box-sizing:border-box;padding-top:15px;border:1px solid #FFF;position:relative;z-index:2;}
#contact_box a.mail span{position:relative;font-size:2.5em;font-weight:600;color:var(--main_co2);}
#contact_box a.mail span::before{content:"";display:inline-block;width:35px;height:25px;background:url("/images/b_ico01@2x.png")no-repeat center;vertical-align:bottom;background-size:contain;margin-right:15px;}
#contact_box .contact_box_tel{margin-top:25px;display:flex;justify-content:center;position:relative;z-index:2;}
#contact_box .contact_box_tel a{text-decoration:none;font-size:3.5em;color:#FFF;}
#contact_box .contact_box_tel a::before{content:"";display:inline-block;width:21px;height:26px;background:url("/images/b_ico02@2x.png")no-repeat center;background-size:contain;margin-right:5px;}
#contact_box .contact_box_tel .dayoff_time{text-align:left;font-size:1.4em;line-height:1.2;font-weight:500;padding-left:15px;}

@media screen and (min-width:768px) {
	#contact_box a.mail:hover{background:var(--main_co2);transition:background 0.3s;}
	#contact_box a.mail:hover span{color:#FFF;transition:color 0.3s;}
	#contact_box a.mail:hover span::before{background:url("/images/b_ico03@2x.png")no-repeat center;background-size:contain;transition:background 0.3s;}
}
@media screen and (max-width:999px) {
	#contact_box{padding:50px 20px;}
	#contact_box .contact_text{font-size:2.0em;padding-bottom:30px;}
	#contact_box .contact_text span{display:inline-block;}
}
@media screen and (max-width:767px) {
	#contact_box{padding:30px 20px;}
	#contact_box .contact_text{font-size:1.6em;line-height:1.6;padding-bottom:25px;}
	#contact_box a.mail{width:100%;height:50px;border-radius:25px;padding-top:13px;}
	#contact_box a.mail span{font-size:2.2em;}
	#contact_box a.mail span::before{width:30px;height:21px;margin-right:10px;}
	#contact_box .contact_box_tel{margin-top:25px;display:block;}
	#contact_box .contact_box_tel .dayoff_time{text-align:center;line-height:1.4;padding:10px 0 0;}
}
/*-------------------------
__footer
-------------------------*/
#footer{display:flex;justify-content:center;flex-wrap:wrap;text-align:left;box-sizing:border-box;padding:80px 20px;position:relative;}
#footer::after{ content:"";display:block;width:100%;height:10px;background:var(--linear);position:absolute;bottom:0;left:0;}
#footer .foot_left{margin-right:165px;}
#footer .foot_left .com_name_wrap{display:flex;align-items:center;}
#footer .foot_left .com_name_wrap .com_name{font-size:2.5em;font-weight:600;padding-left:10px;}
#footer .foot_left .add{font-size:1.6em;font-weight:600;letter-spacing:0.04em;padding:18px 0 12px;}
#footer .foot_left .add span{display:inline-block;margin-right:0.5em;}
#footer .foot_left .tel_dayoff_time{display:flex;}
#footer .foot_left .tel_dayoff_time a{text-decoration:none;color:var(--main_co1);font-size:3.5em;}
#footer .foot_left .tel_dayoff_time a span::before{content:"";display:inline-block;width:24px;height:31px;background:url("/images/fot_ico01@2x.png")no-repeat;background-size:contain;vertical-align:bottom;}
#footer .foot_left .tel_dayoff_time .dayoff_time{font-size:1.4em;font-weight:500;line-height:1.2;color:var(--main_co1);padding-left:15px;}
#footer .foot_left .tel_dayoff_time .dayoff_time span{display:block;}
#footer .foot_left .fax{font-size:1.6em;font-weight:600;padding-top:10px;letter-spacing:0.05em;}
#footer .foot_right{text-align:right;margin-top:10px;}
#footer .foot_right .foot_nav{display:flex;align-items:center;}
#footer .foot_right .foot_nav li{margin-right:20px;}
#footer .foot_right .foot_nav li:last-child{margin:0 0 0 30px;}
#footer .foot_right .foot_nav li a{text-decoration:none;font-size:1.4em;font-weight:600;color:var(--black);}
#footer .foot_right .foot_nav li.mail a{text-align:center;text-decoration:none;font-size:1.5em;font-weight:700;color:#FFF;background:var(--main_co2);height:46px;width:156px;display:inline-block;border-radius:23px;box-sizing:border-box;padding-top:14px;}
#footer .foot_right .foot_nav li.mail a span::before{content:"";display:inline-block;width:23px;height:17px;background:url("/images/h_ico02@2x.png")no-repeat;background-size:contain;vertical-align:middle;margin:-3px 5px 0 0;}
#footer .foot_right .copy{font-size:1.2em;color:#a3a3a3;margin-top:85px;font-weight:500;}

@media screen and (min-width:768px) {
	#footer .foot_right .foot_nav li:not(:last-child) a:hover{color:var(--main_co2);transition:color 0.3s;}
	#footer .foot_right .foot_nav li.mail a:hover{background:#70C5B2;transition:background 0.3s;}
}
@media screen and (max-width:1190px) {
	#footer{justify-content:space-between;}
	#footer::after{height:5px;}
	#footer .foot_left{margin-right:0;}
	#footer .foot_left .add{font-size:1.4em;padding:18px 0 12px;}
	#footer .foot_left .tel_dayoff_time{display:block;}
    #footer .foot_left .tel_dayoff_time a{font-size:2.5em;}
	#footer .foot_left .tel_dayoff_time a span::before{width:19px;height:25px;}
	#footer .foot_left .tel_dayoff_time .dayoff_time{padding:10px 0 0;}
	#footer .foot_left .tel_dayoff_time .dayoff_time span{display:inline-block;margin-right:1em;}
	#footer .foot_left .fax{font-size:1.5em;}
	#footer .foot_right{margin-top:10px;}
	#footer .foot_right .foot_nav li{margin-right:10px;}
	#footer .foot_right .foot_nav li:last-child{margin:0 0 0 10px;}
}
@media screen and (max-width:999px) {
	#footer{display:block;padding:50px 20px;text-align:center;}
	#footer .foot_left .com_name_wrap{justify-content:center;}
	#footer .foot_right{text-align:center;margin-top:50px;}
	#footer .foot_right .foot_nav{justify-content:center;}
}
@media screen and (max-width:767px) {
	#footer{padding:30px 20px 10px;}
	#footer .foot_left .com_name_wrap{display:block;}
	#footer .foot_left .com_name_wrap .logo{display:block;width:60px;margin:0 auto 5px;}
	#footer .foot_left .com_name_wrap .logo img{width:100%;height:auto;}
	#footer .foot_left .com_name_wrap .com_name{font-size:2em;}
	#footer .foot_left .add{font-size:1.4em;padding:18px 0 12px;font-weight:400;}
	#footer .foot_left .add span{margin:2px 0;display:block;}
	#footer .foot_right{margin-top:40px;}
	#footer .foot_right .foot_nav{display:block;}
	#footer .foot_right .foot_nav li{margin-right:0;border-top:1px solid #C5C5C5;}
	#footer .foot_right .foot_nav li:last-child{margin:0;}
	#footer .foot_right .foot_nav li a{display:block;font-size:1.5em;padding:10px 0;}
	#footer .foot_right .foot_nav li.mail a{width:100%;display:block;margin-top:40px;}
	#footer .foot_right .copy{margin-top:40px;}
}
@media screen and (max-width:374px) {
	#footer .foot_left .com_name_wrap .com_name{font-size:1.7em;}
}
.menu_open .re_top{display:none;}
.re_top{position:fixed;right:20px;bottom:20px;display:none;z-index:50;}
.re_top a{display:block;width:45px;height:45px;background:var(--main_co1);border-radius:50%;position:relative;text-decoration:none;color:#FFF;font-size:1.4em;box-sizing:border-box;padding-top:3px;}
.re_top a .top_txt{display:inline-block;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);}
.re_top a .arrow{display:block;width:15px;margin:0 auto 2px;}
.re_top a .arrow svg{width:100%;}

@media screen and (min-width:768px) {
	.re_top a:hover{background:var(--main_co2);padding-top:0;transition:0.3s;}
}
/*-------------------------
__error
-------------------------*/
.error_wrap{max-width:1040px;margin:0 auto;padding:0 20px;}
#error{padding:80px 20px 100px;}
#error .err_title{font-size:2.0em;font-weight:700;line-height:1.5;letter-spacing:0.04em;padding-bottom:10px;}
#error .err_txt{font-size:1.5em;font-weight:500;line-height:1.7;letter-spacing:0.04em;padding-top:20px;}
#error .err_txt a{color:var(--main_co2);font-size:1.0em;font-weight:500;display:inline-block;}

@media screen and (min-width:768px) {
	#error .err_txt a:hover{transition:opacity 0.3s;opacity:0.7;text-decoration:none;}
}
@media screen and (max-width:999px) {
	#error{padding:60px 0 80px;}
}
@media screen and (max-width:767px) {
	#error{padding:40px 0 50px;}
	#error .err_title{font-size:1.6em;padding-bottom:10px;}
	#error .err_title span{display:inline-block;}
	#error .err_txt{font-size:1.4em;padding-top:10px;text-align:left;}
}