@media screen and (min-width: 1100px) {
.h_right{width: 406px;flex-shrink: 0}
nav{width: 340px;flex-shrink: 0}
.nav_list{width: 100%;flex-shrink: 0}
.nav_list>li{width: 32px;flex-shrink: 0}
}
@media screen and (min-width: 769px) {
a[href^="tel:"]{pointer-events: none;}
.sp{display:none}

/* nav */
.hamburger{display:none;}
.nav_list{display: flex;gap: 16px;justify-content: center;padding: 10px;writing-mode: vertical-lr;flex-direction: column;}
.nav_list>li>a,
.nav_list>li>.sub_btn{display:flex;align-items:center;position:relative;font-weight: 500;padding:0;color: #fff;font-size: 22px;width: 32px;}
.nav_list>li{display: flex;align-items: flex-start;}
.nav_list>li.parent{position:relative;}
.nav_list>li.parent>.sub_btn{cursor:default}
.sub{position:absolute;z-index:1;transition:all .3s;opacity:0;visibility:hidden;border-top:solid 1px #FFF;width:300px;top:100%;left:0}
.sub ul li a{font-size:16px;display:flex;width:100%;height:60px;align-items:center;letter-spacing:.001em;padding:5px 35px;margin:0 auto;border-bottom:solid 1px #FFF;color:#fff;background:var(--mcolor);}
.h_contact_nav{display: none;}
/*  FOOTER */
.ft_bnn li:not(:last-child){margin-right: 30px;}

/* hover */
.nav_list>li>a:hover,
.h_lang a:hover{color: var(--scolor) !important;}
.ft_link ul li > a:hover{color:var(--scolor);text-decoration: none;}
.parent:hover .sub{opacity:1;transform:translate(0,0);visibility:visible}
.sub a:hover{background-color:var(--scolor);text-decoration: none;}
.h_contact_mail a:hover{background: var(--scolor);border-color: var(--scolor);}
.to_top:hover{background-color: var(--scolor);}
.ft_btn a:hover::before{border-color: transparent transparent transparent #fff}
.ft_btn.btn a:hover{border-color: var(--scolor);}
}

@media screen and (min-width: 1101px) and (max-width: 1560px){
  .header_bg img{height: 100vh}
}
@media screen and (min-width: 768px) and (max-width: 1100px){}
@media screen and (min-width: 768px) and (max-width: 841px){}

/* screen-min:1100px latop - mobile*/
@media screen and (max-width: 1100px) {
p, dd, dt, li, th, td, address{line-height: 1.8em}
img{max-width:100%; height: auto;}
.swap img{width:auto;}
#wrapper,
header,
main,
footer,
.inner{width:100%!important;min-width:unset!important}
.pc{display:none!important}

/* NAV */
nav{position:fixed;top:0;left:0;width:100%;height:100vh;overflow:auto;padding-bottom:80px;z-index:100;background: #000;visibility: hidden;transition: .4s;transform: scaleY(0.7);opacity: 0;transform-origin: top;display: flex;justify-content: center;align-items: flex-start;gap: 5px;padding: 120px 10px 0}
nav.is_active{opacity: 1;transform: scaleY(1);visibility: visible;}
body:has(nav.is_active){overflow: hidden;}
nav .container{padding: 0;}
.nav_list{padding: 0;display: flex;gap: 3px;justify-content: center;}
.nav_list ul,
.nav_list li{width:100%}
.nav_list li{width: 32px;flex-shrink: 0}
.nav_list>li>a, .nav_list>li>.sub_btn{width: 100%;}
.nav_list .parent .sub ul li{background: #fff;}
.nav_list .parent .sub ul li:not(:last-child){border-bottom:1px solid var(--mcolor)}
.nav_list .sub_btn,
.nav_list a{display:block;color:#fff;font-size:16px;writing-mode: vertical-lr;}
.nav_list .sub_btn{position:relative;padding-left:15px}
.nav_list .sub_btn::before,
.nav_list .sub_btn::after{content:"";position:absolute;width: 16px; height: 2px; background-color: #FFF;top:calc(50% - 1px);right:10px; transition: all 0.3s;}
.nav_list .sub_btn::after{transform: rotate(-90deg);}
.nav_list .sub_btn.open::after{transform: rotate(0);}

.sub{display:none}
.sub ul:not(:last-child){margin-bottom:15px}
.sub a{color:var(--mcolor);border-bottom:none;}
.hamburger{position:absolute;right:10px;top:0;font:inherit;display:block;overflow:visible;margin:0;cursor:pointer;transition-timing-function:linear;transition-duration:.15s;transition-property:opacity,filter;text-transform:none;color:inherit;border:0;z-index: 101}

/*=====================================================
                      C U S T O M
======================================================*/
.container{padding: 0 40px}
.container_sm{padding: 0 20px}
/*============ HEADER ============*/
.h_box{height:100%;padding: 0;}
.h_inner{padding: 0 20px;justify-content: center;align-items: center;}
header.show .h_inner{display: flex;}
.h_contact_nav{display: block;padding: 0;width: 40px;flex-shrink: 0}
.h_contact_mail a{width: fit-content;padding: 20px 2px 20px;border-radius: 16px}
.header_bg{position: relative;overflow: hidden;}
.header_bg img{width: auto;max-width: initial;position: relative;top: 0;left: 0;height: 100vh;min-height: 500px}
/*============ Main ============*/
main{padding-top: 0;}
section{padding: 20px 0}

.btn_center_box{flex-wrap: wrap;}
.btn a{padding: 9px 84px}

.ttl{margin-bottom: 40px}
.s-title{font-size: 20px}

.ttl_vertical .ja{font-size: 34px;font-weight: 500}
.ttl .ja{font-weight: 500}

/* sec01 */
.s01_list{margin: 0;justify-content: center;width: 100%}
.s01_bg img{height: 520px}
.s01_ttl{margin-bottom: 70px}

/* sec02 */
.sec02{padding-top: 40px;padding-bottom: 20px}
.s02_content{flex-wrap: wrap;margin-bottom: 30px}
.s02_l,
.s02_r{width: 100%}
.s02_list_r{width: 630px;max-width: 100%;margin: 0 auto;overflow: hidden;}
.s02_item .item_img{width: 100%}
.s02_item .item_ttl{font-size: 16px}
.s02_bottom{justify-content: center;}
.s02_item .item_img_dummy img{width: 100%}

/* sec03 */
.s03_img{position: initial;margin: 0 -40px 30px 20px;display: flex;justify-content: flex-end;}
.s03_content .txt{margin-bottom: 30px}

/* sec04 */
.s04_ttl{padding-left: 0}
.s04_content_box{padding-left: 0}
.s04_img_box{position: initial;justify-content: center;margin-bottom: 10px}
.s04_btn a{padding: 5px 100px}

/* sec05 */
.s05_container{width: 100%}
.s05_img{width: 273px;margin-right: -40px}
.s05_content{gap: 30px}

/* sec06 */
.s06_content{flex-direction: column;gap: 100px;padding: 0}
.s06_l,
.s06_r{gap:12px}
.s06_btn a{padding: 6px 54px}
.s06_ttl::before{top: -14px;width: 105px;left: -30px}
.s06_ttl::after{top: -34px;}

/* sec07 */
.sec07{padding: 40px 0}
.s07_content{flex-direction: column;align-items: center;gap: 60px}
.s07_content .txt{text-align: center;}
.s07_txt{margin-bottom: 36px}
.s07_tel{margin-bottom: 46px}
.s07_btn{margin-bottom: 15px}
.s07_content::before{display: none;}
.s07_l{position: relative;}
.s07_l::before{content: '';position: absolute;height: 0;width: 222px;left: calc(50% - 111px);;border-top: 2px solid rgba(255, 255, 255, 0.4);bottom: -30px}
.s07_tel a{font-size: 40px}
/* sec08 */
.sec08{padding-bottom: 40px}
.s08_ttl{writing-mode: initial;}
.s08_ttl::after{right: initial;left: -21px}
.s08_ttl::before{left: -37px}
.sec08 .container{padding: 0 47px}
.s08_btn a{text-underline-offset: 6px}

/* sec09 */
.s09_l::before{border-color: rgba(0,0,0,0.4)}
.s09_btn a{padding: 10px 52px}

/*============ FOOTER ============*/
.ft_content .container{flex-wrap: wrap;gap: 20px}
.ft_box01{width: 100%;display: flex;justify-content: center;margin-bottom: 60px;flex-direction: column;}
.ft_box02{width: 40%;margin: 0;flex-shrink: 0}
.ft_box03{width: 55%;margin: 0}
.ft_box04{width: 100%;flex-shrink: 0;display: flex;justify-content: space-between;align-items: center;padding-top: 0}
.ft_btn{position: initial;}

/* to top */
.to_top{width:40px;height:40px;right:10px;bottom: 0px;}
.to_top img{width: 13px}

/*============ END 1100 ============ */

}

@media screen and (min-width: 768px) and (max-width: 841px){
  .s10_content { padding: 55px 0px;}
  .s10_ttl {font-size: 24px; margin-bottom: 15px; text-align: center;}
  .txt01 {font-size: 14px; line-height: 1.65em; margin-top: 5px; text-align: center;}
  .cancel{text-align:center;}
  .cancel_tb{margin:0 auto; border-collapse:collapse; text-align:center; width:300px; color:#fff;}
}

/* screen-max:1024px */
@media screen and (max-width: 1024px) {
  .s10_content { padding: 55px 0px;}
  .s10_ttl {font-size: 24px; margin-bottom: 15px; text-align: center;}
  .txt01 {font-size: 14px; line-height: 1.65em; margin-top: 5px; text-align: center;}
  .cancel{text-align:center;}
  .cancel_tb{margin:0 auto; border-collapse:collapse; text-align:center; width:300px; color:#fff;}

/* screen-max:820px */
@media screen and (max-width: 820px) {}

/* screen-max:768px */
@media screen and (max-width: 768px) {
  .btn a{padding: 6px 24px}
}

/* screen-max:460px */
@media screen and (max-width: 479px) {
  :root{--mfont-size: 16px}
  .container{padding: 0 20px}
  .ttl .ja{font-size: 29px}
  .ttl .en{font-size: 28px;margin-left: 5px}
  .ttl_vertical .ja{font-size: 34px}
  
  .s05_img{width: 40%}
  .s01_list{gap: 0}
  .s05_l .txt{margin-bottom: 30px}
  .s06_r .s06_img,
  .s06_img{width: 100%}
  .s06_img .calendar-bottom{line-height: 2.2em}
  .s07_btn a{padding: 9px 84px}
  .s09_btn a{padding: 10px 52px}
  .ft_box01{margin-bottom: 30px}
  .ft_box02,
  .ft_box03{width: 100%}
  .s06_img .calendar-bottom{font-size: 10px}
  .s06_img .calendar-bottom .circle{font-size: 10px !important;width: 18px;height: 18px;line-height: 14px;padding-right: 2px}

}

/* screen-max: 360px */
@media screen and (max-width: 360px) {}

@media screen and (max-width: 320px) {
html,
  body {
    min-width: 320px;
    overflow-x: hidden;
  }
:root{--mfont-size: 14px}
.s06_ttl{width: 52px;flex-shrink: 0}
.s06_ttl .ja{font-size: 32px;padding:0}
.s06_l, .s06_r{gap: 4px}
.ft_link a{font-size: 14px}
.s09_btn a{padding: 10px 42px}
.ttl .ja{font-size: 25px}
}