@charset "UTF-8";

:root {
--color-base:#053880;
}

/*-------------------------
__base_style
-------------------------*/
strong,dt,h1,h2,h3,h4,h5,h6,th{font-size:10px;}
#wrap{font-family:"Zen Old Mincho", serif;color:#333;}/*black900 bold700 semib600*/
#main{overflow:hidden;margin-bottom:80px;}
.en{font-family:"Lora", serif;}/*bold700 semib600 medium 500*/
.sp_on{display:none;}
.tab_on{display:none;}

@media only screen and (min-width: 768px) {
  a[href^="tel:"]{pointer-events:none;}
}
@media only screen and (max-width: 1020px) {
  .tab_on{display:block;}
}
@media only screen and (max-width: 767px) {
  #main{margin-bottom:60px;}
  .sp_on{display:block;}
  .sp_off{display:none;}
}

/*-------------------------
__header
-------------------------*/
#header{position:fixed;z-index:9;top:0;left:0;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;padding:10px 50px 10px 20px;width:100%;background:#FFF;}
#header .logo_wrap a{text-decoration:none;display:flex;align-items:center;}
#header .logo_wrap a .logo_text{display:inline-block;font-size:3.2em;font-weight:700;letter-spacing:0.08em;color:#333;padding-left:15px;}
#header .logo_wrap a .logo_text span{font-size:0.75em;font-weight:600;}
#header .navi_box .navi_box_inner,
#header #navi ul{display:flex;align-items:center;}
#header #navi ul li a{text-decoration:none;color:#333;font-size:1.6em;font-weight:700;letter-spacing:0.08em;margin-right:15px;}
#header .navi_box a.head_tel{text-decoration:none;font-size:2.0em;font-weight:700;color:#333;margin:0 15px 0 20px;}
#header .navi_box a.head_tel span{font-size:0.8em;font-weight:500;}
#header .navi_box a.head_contact{text-decoration:none;background:#333;font-size:1.6em;font-weight:700;letter-spacing:0.14em;color:#FFF;padding:8px 30px 10px;}
#header .navi_box a.head_contact span{position:relative;z-index:1;}

@media only screen and (min-width: 1020px) {
  #header #navi ul li a{padding-bottom:5px;position:relative;transition:opacity .3s;}
  #header #navi ul li a::before {background:var(--color-base);content:'';width:100%;height:2px;position:absolute;left:0;bottom:0;transform-origin:right top;transform:scale(0, 1);transition:transform .3s;}
  #header #navi ul li a:hover{opacity:0.7;}
  #header #navi ul li a:hover::before {transform-origin:left top;transform:scale(1, 1);}
}
@media only screen and (min-width: 768px) {
  #header .navi_box a.head_contact{position:relative;}
  #header .navi_box a.head_contact::after{background:var(--color-base);position:absolute;top:0;left:0;content:'';width:100%;height:100%;transform:scale(0, 1);transform-origin:left top;transition:.2s cubic-bezier(0.45, 0, 0.55, 1);}
  #header .navi_box a.head_contact:hover::after{transform:scale(1, 1);}
}
@media only screen and (max-width: 1200px) {
  #header .logo_wrap a .logo{display:block;width:35px;}
  #header .logo_wrap a .logo img{width:100%;height:auto;}
  #header .logo_wrap a .logo_text{font-size:2.3em;padding-left:10px;}
  #header #navi ul li a{font-size:1.4em;margin-right:10px;}
  #header .navi_box a.head_tel{font-size:1.8em;margin:0 15px 0 5px;}
  #header .navi_box a.head_contact{font-size:1.5em;padding:8px 15px 10px;}
}
@media only screen and (max-width: 1020px) {
  #header{padding:0 0 0 20px;}
  #header .navi_box .smt_menu {display:block;width:65px;height:65px;position:relative;z-index:99;background:#fff;}
  #header .navi_box .smt_menu span{display:block;position:absolute;top:31px;left:50%;margin-top:-5px;margin-left:-13px;background:#333;width:25px;height:3px;transition:transform 0.3s;}
  #header .navi_box .smt_menu span:nth-of-type(2){margin-top:5px;}
  #header .navi_box .navi_box_inner{display:block;position:fixed;height:100%;top:0;right:0;left:0;background:#333;transform:translateY(-100%);opacity: 0;box-sizing:border-box;padding:100px 0 100px;transition:transform 0.6s, opacity 0.6s;overflow-y:scroll;}
  #header #navi ul{flex-wrap: wrap;}
  #header #navi ul li{width:100%;display:block;text-align:center;}
  #header #navi ul li a{width:100%;display:block;color:#fff;font-size:1.8em;margin-right:0;margin-bottom: 30px;}
  #header .navi_box a.head_tel{display:block;font-size:2.3em;margin:50px auto 60px;color:#fff;}
  #header .navi_box a.head_contact{font-size:1.6em;padding:20px 60px 22px;background:#fff;color:#333;}
  /*menu_open*/
  body.menu_open{overflow:hidden;}
  .menu_open #header .navi_box .smt_menu span{transform:rotate(-45deg);margin-top:0;}
  .menu_open #header .navi_box .smt_menu span:nth-of-type(2){transform:rotate(-135deg);margin-top:0px;}
  .menu_open #header .navi_box .navi_box_inner{transform:translateY(0);opacity:1;}
}
@media only screen and (max-width: 767px) {
  #header .navi_box a.head_contact{padding:20px 0 22px;display:block;width:calc(100% - 40px);margin:0 auto;}
}

/*-------------------------
__content
-------------------------*/
.topic_path{clear:both;padding:0 0 40px;}
.topic_path ul{width:100%;text-align:left;}
.topic_path li{font-size:1.4em;line-height:1.4;font-weight:700;color:#fff;vertical-align:top;display:inline-block;}
.topic_path li:before{content:">";color:#fff;font-weight:400;margin-left:5px;margin-right:5px;}
.topic_path li:first-child:before{content:"";margin:0;}
.topic_path li a{font-weight:400;color:#fff;text-decoration:underline;}
.topic_path li a:hover{text-decoration:none;}
#content #main{display:block;}
#content .comm_title{text-align:left;}
#content .comm_title.ta_right{text-align:right;}
#content .comm_title.ta_center{text-align:center;}
#content .comm_title .eng{font-size:4.5em;line-height:1.5;font-weight:600;letter-spacing:0.08em;}
#content .comm_title.whi .eng{color:#fff;}
#content .comm_title .eng::after{content:"";display:block;width:40px;height:2px;background:#000;margin-top:20px;}
#content .comm_title.whi .eng::after{background:#fff;}
#content .comm_title.ta_right .eng::after{margin:20px 0 0 auto;}
#content .comm_title.ta_center .eng::after{margin:20px auto 0;}
#content .comm_title .jap{display:block;font-size:2.0em;font-weight:700;letter-spacing:0.1em;padding-top:30px;}
#content .comm_title.whi .jap{color:#fff;}
/*下層ページ*/
#content_inner .title_box{padding:10px 20px 60px;margin-top:73px;background-color:#333;position:relative;}
#content_inner .title_box::before{content:"";display:block;  width:60%;height:220px;position:absolute;right:0;bottom:-40px;background:url("/images/title_bg.jpg")no-repeat bottom 20% center;background-size:cover;}
#content_inner .title_box .title_box_inner{max-width:1000px;margin:0 auto;}
@media only screen and (max-width: 1200px) {
  /*下層ページ*/
  #content_inner .title_box{margin-top:57px;}
}
@media only screen and (max-width: 767px) {
  .topic_path{padding:0 0 20px;}
  #content .comm_title .eng{font-size:3em;}
  #content .comm_title .eng::after{width:35px;margin-top:15px;}
  #content .comm_title .jap{font-size:1.5em;padding-top:20px;}
  /*下層ページ*/
  #content_inner .title_box{padding:10px 20px 40px;margin-top:65px;}
  #content_inner .title_box::before{width:calc(100% - 180px);height:150px;bottom:-20px;}
}
@media only screen and (max-width: 374px) {
  #content .comm_title .eng{font-size:2.5em;}
  #content .comm_title .jap{font-size:1.4em;}
  #content_inner .title_box::before{width:calc(100% - 150px);height:120px;}
}

/*-------------------------
__footer
-------------------------*/
#footer{background:#333;color:#FFF;box-sizing:border-box;padding:60px 20px;}
#footer .inner{max-width:1000px;margin:0 auto;text-align:left;display:flex;justify-content:space-between;}
#footer .inner .foot_cp .foot_logo{font-size:3.5em;font-weight:700;letter-spacing:0.08em;}
#footer .inner .foot_cp .foot_logo .logo{padding-right:13px;vertical-align:middle;}
#footer .inner .foot_cp .foot_logo .fs_c{font-size:0.71em;font-weight:600;}
#footer .inner .foot_cp .add{font-size:1.6em;letter-spacing:0.04em;line-height:1.4;font-weight:600;color:#FFF;padding-top:20px;}
#footer .inner .foot_cp .add span{display:block;}
#footer .inner .foot_cp .add span + span{margin-top:5px;}
#footer .inner .foot_cp .foot_tel{font-weight:700;font-size:2.4em;padding-top:20px;letter-spacing:0.07em;}
#footer .inner .foot_cp .foot_fax{font-weight:700;font-size:2.0em;padding-top:10px;}
#footer .inner .foot_cp .foot_tel span,
#footer .inner .foot_cp .foot_fax span{font-size:0.75em;font-weight:500;}
#footer .inner .foot_navi{text-align:right;}
#footer .inner .foot_navi ul{display:flex;}
#footer .inner .foot_navi ul li + li{margin-left:30px;}
#footer .inner .foot_navi ul li a{text-decoration:none;font-size:1.5em;letter-spacing:0.08em;font-weight:700;color:#FFF;}
#footer .inner .foot_navi a.contact{display:block;text-decoration:none;width:172px;background:#FFF;text-align:center;color:#333;margin:60px 0 35px auto;padding:10px 0 12px;font-size:1.6em;letter-spacing:0.1em;font-weight:700;}
#footer .inner .foot_navi .cl{font-size:1.2em;}

@media only screen and (min-width: 768px) {
  #footer .inner .foot_navi ul li a{padding-bottom:5px;position:relative;transition:opacity .3s;}
  #footer .inner .foot_navi ul li a::before {background:#fff;content:'';width:100%;height:2px;position:absolute;left:0;bottom:0;transform-origin:right top;transform:scale(0, 1);transition:transform .3s;}
  #footer .inner .foot_navi ul li a:hover{opacity:0.7;}
  #footer .inner .foot_navi ul li a:hover::before {transform-origin:left top;transform:scale(1, 1);}
  #footer .inner .foot_navi a.contact span{position:relative;z-index:1;}
  #footer .inner .foot_navi a.contact{position:relative;}
  #footer .inner .foot_navi a.contact::after{background:var(--color-base);position:absolute;top:0;left:0;content:'';width:100%;height:100%;transform:scale(0, 1);transform-origin:left top;transition:.2s cubic-bezier(0.45, 0, 0.55, 1);}
  #footer .inner .foot_navi a.contact:hover span{color:#FFF;}
  #footer .inner .foot_navi a.contact:hover span{color:#FFF;}
  #footer .inner .foot_navi a.contact:hover::after{transform:scale(1, 1);}
}
@media only screen and (max-width: 1020px) {
  #footer .inner .foot_cp .foot_logo{font-size:2.5em;}
  #footer .inner .foot_cp .foot_logo .logo{display:inline-block;width:40px;}
  #footer .inner .foot_cp .foot_logo .logo img{width:100%;height:auto;}
  #footer .inner .foot_navi ul li + li{margin-left:10px;}
}
@media only screen and (max-width: 767px) {
  #footer{padding:30px 0;}
  #footer .inner{display:block;text-align:center;}
  #footer .inner .foot_cp{box-sizing:border-box;padding:0 20px;}
  #footer .inner .foot_navi{text-align:center;margin-top:30px;}
  #footer .inner .foot_navi ul{display:block;}
  #footer .inner .foot_navi ul li{border-top:1px solid #7F7F7F;}
  #footer .inner .foot_navi ul li + li{margin-left:0;}
  #footer .inner .foot_navi ul li:last-child{border-bottom:1px solid #7F7F7F;}
  #footer .inner .foot_navi ul li a{display:block;padding:13px 20px;font-size:1.4em;}
  #footer .inner .foot_navi a.contact{width:calc(100% - 40px);margin:30px 20px 30px;padding:10px 0 12px;box-sizing:border-box;}
}

/*-------------------------
__re_top
-------------------------*/
.re_top{position:fixed;right:20px;bottom:20px;display:none;z-index:999;}
.re_top a{display:block;width:69px;height:69px;box-sizing:border-box;border:1px solid #fff;background:#333;font-size:1.5em;font-weight:700;letter-spacing:0.05em;text-decoration:none;color:#FFF;padding-top:25px;}
.re_top a::before,
.re_top a::after{content:"";position:absolute;top:15px;left:calc(50% - 2px);width:2px;height:20px;border-radius:9999px;background-color:#fff;transform-origin:50% 1px;opacity:0;}
.re_top a::before {transform:rotate(45deg);}
.re_top a::after {transform:rotate(-45deg);}

@media only screen and (min-width: 768px) {
  .re_top a{transition:padding 0.3s,background 0.3s;}
  .re_top a:hover{padding-top:30px;background:var(--color-base);}
  .re_top a::before,
  .re_top a::after{transition:top 0.3s,opacity 0.3s;}
  .re_top a:hover::before,
  .re_top a:hover::after{top:10px;opacity:1;}
}
@media only screen and (max-width: 767px) {
  .re_top{right:10px;bottom:10px;}
  .re_top a{width:50px;height:50px;font-size:1.4em;padding-top:17px;}
}
/*-------------------------
__form table
-------------------------*/
.form_base table{text-align:left;width:100%;border-collapse:collapse;}
.form_base table tr th{width:244px;position:relative;font-size:16px;line-height:1.4;font-weight:700;letter-spacing:0.04em;box-sizing:border-box;padding:10px 75px 10px 0;}
.form_base table tr td{width:calc(100% - 244px);box-sizing:border-box;padding:10px 0;font-size:16px;}
#conf_wrap .form_base #confirm table tr th,
#conf_wrap .form_base #confirm table tr td{border-bottom:1px solid #e6e6e6;}
/*必須*/
.form_base table tr th .required{display:inline-block;background:#333;color:#FFF;font-size:13px;padding:2px 8px;position:absolute;right:30px;top:50%;transform:translateY(-50%);}
/*エラー*/
.err{display:block;color:#FF0004;font-size:14px;line-height:1.3;padding:0 0 10px!important;}

@media only screen and (max-width: 767px) {
  .form_base table tr th,
  .form_base table tr td{display:block;}
  .form_base table tr th{width:100%;font-size:14px;padding:10px 0;}
  #conf_wrap .form_base #confirm table tr th{border-bottom:none;}
  .form_base table tr td{width:100%;padding:0 0 15px;border-bottom:1px solid #e6e6e6;}
  /*必須*/
  .form_base table tr th .required{right:0;}
}

/*-------------------------
__form
-------------------------*/
/*wid*/
.wid60par{width:60%;}
.widfull{width:100%;}
/*例*/
.example{display:block;font-size:14px;letter-spacing:0.04em;font-weight:600;padding-top:10px;}
.item_wrap .example{display:inline;padding:0 0 0 10px;}
.form_base input[type="text"],
.form_base textarea{border:1px solid #ccc;box-sizing:border-box;padding:17px 20px;font-size:16px;border-radius:0;}
.form_base textarea{height:200px;}
/*郵便番号*/
.form_base .post_wrap{display:flex;margin-bottom:10px;position:relative;}
.form_base .post_wrap::before{content:"〒";display:inline-block;position:absolute;left:20px;top:50%;transform:translateY(-50%);}
.form_base .post_wrap input[type="text"].widpost{width:200px;padding:17px 20px 17px 40px;}
.form_base .post_wrap button[type="button"]{border:none;background:#333;color:#FFF;font-family:"Zen Old Mincho", serif;padding:0 20px;margin-left:10px;font-size:16px;}
/*チェックボックス*/
.form_base label.ck{display:inline-block;vertical-align:middle;position:relative;}
.form_base label.ck input{display:none;}
.form_base label.ck span{display:block;text-align:left;padding:0 0 0 30px;cursor:pointer;transition:0.3s;line-height:25px;}
.form_base label.ck input + span::before{content:"";display:block;width:25px;height:25px;box-sizing:border-box;background-color:#FFF;border:1px solid #AAA;position:absolute;top:0;left:0;}
.form_base label.ck input + span::after{transition:0.1s;opacity:0;content:"";display:block;width:8px;height:15px;-webkit-transform:rotate(40deg);-ms-transform:rotate(40deg);transform:rotate(40deg);border-bottom:3px solid #333;border-right:3px solid #333;position:absolute;top:1px;left:7px;}
.form_base label.ck input:checked + span::after{opacity:1;}

@media only screen and (min-width: 768px) {
  .form_base .post_wrap button[type="button"]{transition:background 0.3s;}
  .form_base .post_wrap button[type="button"]:hover{background:var(--color-base);}
}
@media only screen and (max-width: 767px) {
  /*wid*/
  .wid60par{width:100%;}
  /*例*/
  .item_wrap .example{display:block;padding:10px 0 0 0;}
  /*郵便番号*/
  .form_base .post_wrap input[type="text"].widpost{width:calc(100% - 90px);max-width:200px;}
  .form_base .post_wrap button[type="button"]{padding:0 10px;font-size:14px;width:80px;}
}

/*-------------------------
__送信ボタン
-------------------------*/
.form_base input[type="button"]{display:block;font-size:2.2em;font-weight:700;letter-spacing:0.08em;font-family:"Zen Old Mincho", serif;color:#fff;background:#333;border:none;padding:29px 0;margin:0 auto;width:320px;border-radius:0;}
.form_base input[type="button"].reset{font-size:1.6em;background:#8a8a8a;padding:12px 0;margin-top:20px;width:200px;}

@media only screen and (min-width: 768px) {
  .form_base input[type="button"]{transition:background 0.3s;}
  .form_base input[type="button"]:hover{background:var(--color-base);}
}
@media only screen and (max-width: 767px) {
  .form_base input[type="button"]{font-size:1.8em;width:100%;}
  .form_base input[type="button"].reset{font-size:1.5em;width:80%;}
}

/*-------------------------
__確認ページ
-------------------------*/
#conf_wrap{max-width:1040px;box-sizing:border-box;padding:0 20px;margin:100px auto 0;}
#conf_wrap #confirm{margin-bottom:40px;}
#conf_wrap .transmit{font-size:1.4em;line-height:1.5;padding-bottom:30px;}

@media only screen and (max-width: 767px) {
  #conf_wrap{margin:40px auto 0;}
}

/*-------------------------
__完了ページ
-------------------------*/
.form_base.thanks_box{margin:100px auto 0;box-sizing:border-box;padding:0 20px;}
.form_base.thanks_box dl dt,
.form_base.thanks_box dl dd{font-size:1.5em;line-height:1.5;letter-spacing:0.04em;}
.form_base.thanks_box .re_top_btn{margin:40px auto 0;}
.form_base.thanks_box .re_top_btn a{display:block;font-size:2.2em;font-weight:700;letter-spacing:0.08em;color:#fff;background:#333;padding:29px 0;margin:0 auto;width:320px;text-decoration:none;}

@media only screen and (min-width: 768px) {
  .form_base.thanks_box .re_top_btn a{transition:background 0.3s;}
  .form_base.thanks_box .re_top_btn a:hover{background:var(--color-base);}
}
@media only screen and (max-width: 767px) {
  .form_base.thanks_box{margin:80px auto 0;}
  .form_base.thanks_box .re_top_btn a{font-size:1.8em;width:100%;}
}

/*-------------------------
__404ページ
-------------------------*/
#content_inner .title_box.err_con::before{background:url("/images/title_bg2.jpg")no-repeat center center;background-size:cover;}
#content_inner #error{margin:100px auto 0;max-width:1040px;box-sizing:border-box;padding:0 20px;}
#content_inner #error .title_err{font-size:1.8em;line-height:1.4;font-weight:800;padding-bottom:20px;}
#content_inner #error .err_txt{font-size:1.4em;line-height:1.5;}
#content_inner #error .err_txt + .err_txt{margin-top:0.5em;}
#content_inner #error .err_txt a{color:var(--color-base);}

@media only screen and (min-width: 768px) {
  #content_inner #error .err_txt a:hover{opacity:0.7;text-decoration:none;}
}
@media only screen and (max-width: 767px) {
  #content_inner #error{margin:60px auto 0;}
  #content_inner #error .title_err{font-size:1.6em;}
  #content_inner #error .err_txt{display:block;text-align:left;}
}