@charset "UTF-8";
/* Gulp compiles file */

body, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li, td, th, figure{
  margin:0;
}

dl, dt, dd{
  padding:0;
}

ol, ul, li{
  padding:0;
  list-style:none;
}

img, picture{
  max-width:100%;
  display:block;
}

img{
  border-style:none;
}

a{
  text-decoration:none;
  color:inherit;
  -webkit-text-decoration-skip:ink;
  text-decoration-skip-ink:auto;
}

input, select, button, optgroup, textarea{
  font-family:inherit;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background:none;
  border:none;
  outline:0;
  margin:0;
  padding:0;
  border-radius:0;
}

button, select, input[type=submit]{
  cursor:pointer;
  text-transform:none;
}

:where(button){
  color:inherit;
}
:root{
  --pc-min-size:461;
  --base-size:1600;
  --sp-base-size:390;
  --variable-length:var(--base-size) * 100vw;
  --scrollbar:0;
  --ff_default:'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Noto Sans JP', sans-serif;
  --ff_min:'Noto Serif JP', serif;
  --ff_go:'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Noto Sans JP', sans-serif;
  --bc_ff:#ffffff;
  --bc_00:#000000;
  --bc_c00:#cc0000;
  --bc_00c:#0000cc;
  --bc_black:#000000;
  --bc_white:#ffffff;
  --bc_base:#f5f5f0;
  --bc_gray:#333333;
  --bc_yellow:#ffcc00;
  --bc_blue:#47abdd;
  --bc_red:#dd474a;
  --bc_ff_RGB:255, 255, 255;
  --bc_00_RGB:0, 0, 0;
  --bc_c00_RGB:204, 0, 0;
  --bc_00c_RGB:0, 0, 204;
  --bc_black_RGB:0, 0, 0;
  --bc_white_RGB:255, 255, 255;
  --bc_base_RGB:245, 245, 240;
  --bc_gray_RGB:51, 51, 51;
  --bc_yellow_RGB:255, 204, 0;
  --bc_blue_RGB:71, 171, 221;
  --bc_red_RGB:221, 71, 74;
}
html{
  font-size:100px;
  -webkit-font-feature-settings:"palt";
  font-feature-settings:"palt";
  -webkit-font-smoothing:subpixel-antialiased;
  scroll-behavior:smooth;
}
html:not(.wf-active){
  visibility:hidden;
}

body{
  position:relative;
  font-family:"YakuHanMP", var(--ff_min);
  font-weight:300;
  letter-spacing:0.12em;
  color:var(--bc_gray);
  background-color:var(--bc_base);
  overflow-wrap:break-word;
}
body:before, body:after{
  content:"";
  position:fixed;
  z-index:-1;
  top:0;
  left:0;
  display:block;
  width:100%;
  height:100%;
}
body:before{
  background-image:url(/assets/img/common/base_bg.png);
  background-position:center center;
  background-size:150px 150px;
}
body:after{
  opacity:0.5;
  -webkit-transition:opacity 0.3s;
  transition:opacity 0.3s;
  background:linear-gradient(125deg, var(--bc_white) 0, rgba(var(--bc_white_RGB), 0) 70%) fixed;
  background-repeat:no-repeat;
  background-blend-mode:overlay;
  background-size:cover;
}
body.active:after{
  opacity:1;
}
.chrome body{
  image-rendering:-webkit-optimize-contrast;
}
:where([id]:target, input, textarea, select, button){
  scroll-margin-top:calc(var(--scroll-margin-top) * 0.1rem);
}
:where(.-of){
  display:block;
  line-height:0;
}
:where(.-of) > img{
  -o-object-fit:cover;
  object-fit:cover;
  font-family:"object-fit: cover;";
  background-size:cover;
  background-position:center center;
  width:100%;
  height:100%;
}

:where(.-of_contain){
  display:block;
  line-height:0;
}
:where(.-of_contain) > img{
  -o-object-fit:contain;
  object-fit:contain;
  font-family:"object-fit: contain;";
  background-size:contain;
  background-position:center center;
  width:100%;
  height:100%;
}

:where(.-line_clamp){
  display:-webkit-inline-box;
  -webkit-box-orient:vertical;
  text-align:left;
  overflow:hidden;
}

:where(.-bg){
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:0;
  right:0;
  overflow:hidden;
}
:where(.-f_min){
  font-family:var(--ff_min);
  font-style:normal;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

:where(.-f_go){
  font-family:var(--ff_go);
  font-style:normal;
  font-weight:400;
}

:where(.-fz_xxs){
  font-size:0.5em;
}

:where(.-fz_xs){
  font-size:0.6em;
}

:where(.-fz_s){
  font-size:0.8em;
}

:where(.-fz_m){
  font-size:1em;
}

:where(.-fz_l){
  font-size:1.2em;
}

:where(.-fz_xl){
  font-size:1.4em;
}

:where(.-small){
  font-size:0.8em;
}

:where(.-fw_l){
  font-weight:300;
}

:where(.-fw_r){
  font-weight:400;
}

:where(.-fw_m){
  font-weight:500;
}

:where(.-fw_sb){
  font-weight:600;
}

:where(.-fw_b){
  font-weight:700;
}

:where(.-en){
  font-family:var(--ff_min);
  font-style:normal;
  font-weight:500;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  letter-spacing:0.12em;
  line-height:1;
}

:where(.-ja){
  font-family:var(--ff_min);
  font-style:normal;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  letter-spacing:0.24em;
  line-height:1;
}

:where(.-ta_c){
  text-align:center;
}

:where(.-ta_r){
  text-align:right;
}

:where(.-ta_l){
  text-align:left;
}
.-guideline{
  display:none;
  position:fixed;
  z-index:10000;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  overflow:hidden;
  pointer-events:none;
}
.-guideline::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  background-color:rgba(var(--bc_red_RGB), 0.5);
}
.-guideline.-visible{
  display:block;
}
.-guideline.-visible .-guideline_basic{
  display:block;
}
.-guideline.-visible.-layout1{
  display:block;
}
.-guideline.-visible.-layout1 .-guideline_basic{
  display:none;
}
.-guideline.-visible.-layout1 .-guideline-layout1{
  display:block;
}
.-guideline.-visible.-layout2{
  display:block;
}
.-guideline.-visible.-layout2 .-guideline_basic{
  display:none;
}
.-guideline.-visible.-layout2 .-guideline-layout2{
  display:grid;
  grid-template-columns:calc(50% - 3.6rem) 1fr;
}

.-guideline_basic{
  display:none;
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
}
.-guideline_basic::before, .-guideline_basic::after{
  content:"";
  position:absolute;
}
.-guideline_basic::before{
  top:0;
  bottom:0;
  width:1px;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
  border-left:1px solid rgba(var(--bc_red_RGB), 0.5);
  border-right:1px solid rgba(var(--bc_red_RGB), 0.5);
}
.-guideline_basic::after{
  display:inline-block;
  background-color:rgba(var(--bc_red_RGB), 1);
  color:var(--bc_white);
  line-height:1.6;
}
.-guideline_basic > span{
  position:relative;
  display:block;
  margin:auto;
}
.-guideline_basic > span::before, .-guideline_basic > span::after{
  content:"";
  position:absolute;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
.-guideline_basic > span::before{
  left:0;
  right:0;
  top:0;
  height:100vh;
}
.-guideline_basic > span::after{
  display:inline-block;
  color:var(--bc_white);
  font-size:1.4rem;
  line-height:1.6;
  padding:0 1rem;
}
.-guideline_basic .-w02{
  width:calc(144rem - var(--scrollbar));
}
.-guideline_basic .-w02::before{
  border-left:1px solid rgba(var(--bc_blue_RGB), 0.5);
  border-right:1px solid rgba(var(--bc_blue_RGB), 0.5);
}
.-guideline_basic .-w02::after{
  background-color:rgba(var(--bc_blue_RGB), 0.7);
}
.-guideline_basic .-w03{
  width:calc(120rem - var(--scrollbar));
}
.-guideline_basic .-w03::before{
  border-left:1px solid rgba(var(--bc_blue_RGB), 0.3);
  border-right:1px solid rgba(var(--bc_blue_RGB), 0.3);
}
.-guideline_basic .-w03::after{
  background-color:rgba(var(--bc_blue_RGB), 0.5);
}
html.wf-active body, html.wf-inactive body{
  opacity:1;
}

body{
  opacity:0;
  -webkit-transition:opacity 1s;
  transition:opacity 1s;
}
body #is-drawer{
  display:none;
}
body:has(#is-drawer:checked) .l-header .header_inner{
  -webkit-transform:translateY(0) !important;
  transform:translateY(0) !important;
}
body:has(#is-drawer:checked) .l-menu_drawer{
  opacity:1;
  pointer-events:auto;
  -webkit-transform:translateY(0);
  transform:translateY(0);
}
body:has(#is-drawer:checked) .l-menu_drawer .l-g_nav,
body:has(#is-drawer:checked) .l-menu_drawer .l-sp_nav{
  pointer-events:auto;
}
body:has(#is-drawer:checked) .open .bar{
  width:0;
}
body:has(#is-drawer:checked) .l-rtb .pagetop_btn{
  opacity:0;
  pointer-events:none;
}
.is-consent_unknown .l-gdpr_banner{
  -webkit-transform:translateY(0);
  transform:translateY(0);
  pointer-events:all;
}

.is-consent_accepted .l-gdpr_banner[hidden],
.is-consent_rejected .l-gdpr_banner[hidden]{
  display:none;
}
.no-touchevents .m-underline:hover span::before{
  -webkit-animation-name:anim-underline01;
  animation-name:anim-underline01;
  -webkit-animation-duration:0.5s;
  animation-duration:0.5s;
  -webkit-animation-timing-function:ease-in-out;
  animation-timing-function:ease-in-out;
  -webkit-animation-fill-mode:forwards;
  animation-fill-mode:forwards;
}
.no-touchevents .m-underline:hover.-rev span::before{
  -webkit-animation-name:anim-underline02;
  animation-name:anim-underline02;
  -webkit-animation-duration:0.5s;
  animation-duration:0.5s;
  -webkit-animation-timing-function:ease-in-out;
  animation-timing-function:ease-in-out;
  -webkit-animation-fill-mode:forwards;
  animation-fill-mode:forwards;
}
.no-touchevents .m-btn01 span{
  color:var(--bc_white);
}
.no-touchevents .m-btn01::before{
  -webkit-animation-name:anim-btn01_out;
  animation-name:anim-btn01_out;
  -webkit-animation-duration:0.5s;
  animation-duration:0.5s;
  -webkit-animation-timing-function:ease-in-out;
  animation-timing-function:ease-in-out;
  -webkit-animation-fill-mode:forwards;
  animation-fill-mode:forwards;
}
.no-touchevents .m-btn01:hover span{
  color:var(--bc_black);
}
.no-touchevents .m-btn01:hover::before{
  -webkit-animation-name:anim-btn01_in;
  animation-name:anim-btn01_in;
  -webkit-animation-duration:0.5s;
  animation-duration:0.5s;
  -webkit-animation-timing-function:ease-in-out;
  animation-timing-function:ease-in-out;
  -webkit-animation-fill-mode:forwards;
  animation-fill-mode:forwards;
}

@-webkit-keyframes anim-underline01{
  0%{
    clip-path:inset(0% 100% 0% 0%);
  }
  40%{
    clip-path:inset(0% 0% 0% 0%);
  }
  60%{
    clip-path:inset(0% 0% 0% 0%);
  }
  100%{
    clip-path:inset(0% 0% 0% 100%);
  }
}

@keyframes anim-underline01{
  0%{
    clip-path:inset(0% 100% 0% 0%);
  }
  40%{
    clip-path:inset(0% 0% 0% 0%);
  }
  60%{
    clip-path:inset(0% 0% 0% 0%);
  }
  100%{
    clip-path:inset(0% 0% 0% 100%);
  }
}
@-webkit-keyframes anim-underline02{
  0%{
    clip-path:inset(0% 0% 0% 0%);
  }
  40%{
    clip-path:inset(0% 0% 0% 100%);
  }
  60%{
    clip-path:inset(0% 100% 0% 0%);
  }
  100%{
    clip-path:inset(0% 0% 0% 0%);
  }
}
@keyframes anim-underline02{
  0%{
    clip-path:inset(0% 0% 0% 0%);
  }
  40%{
    clip-path:inset(0% 0% 0% 100%);
  }
  60%{
    clip-path:inset(0% 100% 0% 0%);
  }
  100%{
    clip-path:inset(0% 0% 0% 0%);
  }
}
@-webkit-keyframes anim-btn01_in{
  0%{
    clip-path:inset(0% 100% 0% 0%);
  }
  100%{
    clip-path:inset(0% 0% 0% 0%);
  }
}
@keyframes anim-btn01_in{
  0%{
    clip-path:inset(0% 100% 0% 0%);
  }
  100%{
    clip-path:inset(0% 0% 0% 0%);
  }
}
@-webkit-keyframes anim-btn01_out{
  0%{
    clip-path:inset(0% 0% 0% 0%);
  }
  100%{
    clip-path:inset(0% 0% 0% 100%);
  }
}
@keyframes anim-btn01_out{
  0%{
    clip-path:inset(0% 0% 0% 0%);
  }
  100%{
    clip-path:inset(0% 0% 0% 100%);
  }
}
.state_fsscroll .l-rtb{
  opacity:1;
  -webkit-filter:opacity(100%);
  filter:opacity(100%);
}
.state_fsscroll .l-rtb .pagetop_btn{
  pointer-events:auto;
}

.state_fewscroll .l-header .header_logo{
  opacity:1;
}
[data-inview]{
  opacity:0;
  -webkit-transition:opacity 1s;
  transition:opacity 1s;
}
[data-inview].is-inview{
  opacity:1;
}

[data-inview=fade-up]{
  opacity:0;
  -webkit-transform:translateY(15px);
  transform:translateY(15px);
  -webkit-transition:opacity 0.7s, -webkit-transform 1s;
  transition:opacity 0.7s, -webkit-transform 1s;
  transition:opacity 0.7s, transform 1s;
  transition:opacity 0.7s, transform 1s, -webkit-transform 1s;
}
[data-inview=fade-up].fade-up{
  -webkit-transform:translateY(0);
  transform:translateY(0);
  opacity:1;
}

[data-inview=fade-up2]{
  opacity:0;
  -webkit-transform:translateY(15px);
  transform:translateY(15px);
  -webkit-transition:opacity 1.5s, -webkit-transform 1s;
  transition:opacity 1.5s, -webkit-transform 1s;
  transition:opacity 1.5s, transform 1s;
  transition:opacity 1.5s, transform 1s, -webkit-transform 1s;
}
[data-inview=fade-up2].fade-up2{
  -webkit-transform:translateY(0);
  transform:translateY(0);
  opacity:1;
}

[data-inview-tw]{
  opacity:0;
  -webkit-transition:opacity 0.7s;
  transition:opacity 0.7s;
}
[data-inview-tw].is-inview{
  opacity:1;
  -webkit-transition:opacity 1s;
  transition:opacity 1s;
}

.l-content_wrap{
  position:relative;
  width:100%;
}
.l-gdpr_banner{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:9999;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  gap:1.2rem;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  background-color:rgba(var(--bc_black_RGB), 0.7);
  font-family:var(--ff_go);
  font-style:normal;
  font-weight:400;
  color:var(--bc_white);
  -webkit-transform:translateY(100%);
  transform:translateY(100%);
  -webkit-transition:-webkit-transform 1s;
  transition:-webkit-transform 1s;
  transition:transform 1s;
  transition:transform 1s, -webkit-transform 1s;
  pointer-events:none;
}
.l-gdpr_banner a{
  color:var(--bc_white);
  margin-left:1em;
}
.l-gdpr_banner a span::before{
  background-color:var(--bc_white);
}
.l-gdpr_banner button{
  padding-block:0.5rem;
  padding-inline:3rem;
  cursor:pointer;
  background-color:var(--bc_blue);
  -webkit-transition:0.3s;
  transition:0.3s;
}
.no-touchevents .l-gdpr_banner button:hover{
  border-color:var(--bc_blue);
  background-color:var(--bc_white);
  color:var(--bc_blue);
}
.l-gdpr_banner button.negative{
  border:1px solid rgba(var(--bc_white_RGB), 0.8);
  background:none;
  color:rgba(var(--bc_white_RGB), 0.8);
}
.no-touchevents .l-gdpr_banner button.negative:hover{
  border:1px solid rgba(var(--bc_white_RGB), 1);
  background-color:var(--bc_white);
  color:rgba(var(--bc_black_RGB), 0.8);
}
.l-header .header_wrapper{
  position:fixed;
  top:calc(50% - 10rem);
  left:0;
  z-index:1000;
  width:100%;
  pointer-events:none;
}
.l-header .header_inner{
  max-width:144rem;
  width:100%;
  margin-inline:auto;
  padding-inline:8rem;
  padding-left:14rem;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
  -webkit-transition:-webkit-transform 1s;
  transition:-webkit-transform 1s;
  transition:transform 1s;
  transition:transform 1s, -webkit-transform 1s;
  pointer-events:none;
}
.l-header .header_logo{
  pointer-events:all;
  display:block;
  width:10rem;
  aspect-ratio:auto 108/118;
  height:auto;
  opacity:1;
  -webkit-transition:opacity 0.7s;
  transition:opacity 0.7s;
}
.l-header .header_logo img{
  width:100%;
  height:auto;
}
.no-touchevents .l-header .header_logo:hover{
  opacity:0.3;
}
.l-header nav{
  pointer-events:none;
}
.l-header .header-g_nav{
  display:block;
  width:10rem;
  pointer-events:all;
  margin-top:4rem;
  padding-left:0.5rem;
}

.l-menu_btn{
  position:fixed;
  top:0;
  right:0;
  z-index:1000;
  cursor:pointer;
  -webkit-transition:opacity 0.7s;
  transition:opacity 0.7s;
}
.l-menu_btn .bar{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  height:1px;
  -webkit-transition:0.3s;
  transition:0.3s;
  margin:auto;
  background-color:var(--bc_black);
}
.l-menu_btn .close .bar{
  width:0;
}
.l-menu_btn .close .bar:nth-child(1){
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
}
.l-menu_btn .close .bar:nth-child(2){
  -webkit-transform:rotate(-45deg);
  transform:rotate(-45deg);
}

.l-menu_drawer{
  position:fixed;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -webkit-transform:translateY(-100%);
  transform:translateY(-100%);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  top:0;
  left:0;
  bottom:0;
  z-index:999;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:start;
  -ms-flex-align:start;
  align-items:flex-start;
  width:100%;
  background-color:rgba(var(--bc_black_RGB), 0);
  opacity:0;
  pointer-events:none;
  -webkit-transition:opacity 0.4s, -webkit-transform 0.7s;
  transition:opacity 0.4s, -webkit-transform 0.7s;
  transition:opacity 0.4s, transform 0.7s;
  transition:opacity 0.4s, transform 0.7s, -webkit-transform 0.7s;
  -webkit-overflow-scrolling:touch;
  display:block;
  background-image:url(/assets/img/common/base_bg.png);
  background-position:center center;
  background-size:150px 150px;
}
.l-menu_drawer-inner{
  position:relative;
  width:100%;
  height:100%;
  padding-block:10rem;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
.l-menu_drawer .l-g_nav,
.l-menu_drawer .l-sp_nav{
  pointer-events:none;
  border-bottom:1px solid rgba(var(--bc_black_RGB), 0.1);
}
.l-menu_drawer .l-g_nav li,
.l-menu_drawer .l-sp_nav li{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  border-top:1px solid rgba(var(--bc_black_RGB), 0.1);
}
.l-menu_drawer .l-g_nav a,
.l-menu_drawer .l-g_nav p,
.l-menu_drawer .l-sp_nav a,
.l-menu_drawer .l-sp_nav p{
  padding-block:1.5rem;
  padding-inline:2rem;
}
.l-menu_drawer .spNav{
  border-bottom:none;
}
.l-menu_drawer .spNav a{
  opacity:1;
}
.l-menu_drawer{
}

.l-footer{
  position:relative;
}
.l-footer .footer_inner{
  position:relative;
  z-index:0;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  height:10rem;
  margin-top:7rem;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
.l-footer .footer_copyright{
  font-weight:500;
  font-size:1.2rem;
  line-height:1;
}

.l-rtb{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  height:7rem;
  padding-bottom:env(safe-area-inset-bottom);
  opacity:0;
  -webkit-filter:opacity(0%);
  filter:opacity(0%);
  -webkit-transition:opacity 1s, bottom 0.3s, -webkit-filter 1s;
  transition:opacity 1s, bottom 0.3s, -webkit-filter 1s;
  transition:filter 1s, opacity 1s, bottom 0.3s;
  transition:filter 1s, opacity 1s, bottom 0.3s, -webkit-filter 1s;
  background-image:url(/assets/img/common/base_bg.png);
  background-position:center center;
  background-size:150px 150px;
  overflow:hidden;
  -webkit-mask-image:-webkit-gradient(linear, left bottom, left top, color-stop(50%, rgba(var(--bc_black_RGB), 0.9)), to(rgba(var(--bc_black_RGB), 0)));
  -webkit-mask-image:linear-gradient(to top, rgba(var(--bc_black_RGB), 0.9) 50%, rgba(var(--bc_black_RGB), 0) 100%);
  mask-image:-webkit-gradient(linear, left bottom, left top, color-stop(50%, rgba(var(--bc_black_RGB), 0.9)), to(rgba(var(--bc_black_RGB), 0)));
  mask-image:linear-gradient(to top, rgba(var(--bc_black_RGB), 0.9) 50%, rgba(var(--bc_black_RGB), 0) 100%);
}
.l-rtb:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:1;
  height:100vh;
  pointer-events:none;
  background:linear-gradient(125deg, var(--bc_white) 0, rgba(var(--bc_white_RGB), 0) 70%) fixed;
  background-repeat:no-repeat;
  background-blend-mode:overlay;
  background-size:cover;
}
.l-rtb span{
  display:block;
  height:0;
  padding:0;
  margin:0;
  overflow:hidden;
}
.l-rtb:has(.is-endline){
  bottom:10rem;
  opacity:1 !important;
  -webkit-filter:opacity(100%) !important;
  filter:opacity(100%) !important;
}
.l-rtb:has(.is-endline) .pagetop_btn{
  pointer-events:auto !important;
}
.l-rtb .pagetop_btn{
  position:relative;
  z-index:999;
  display:block;
  width:7rem;
  height:7rem;
  margin-inline:auto;
  pointer-events:none;
  -webkit-transition:opacity 0.2s, -webkit-filter 1s, -webkit-transform 0.3s;
  transition:opacity 0.2s, -webkit-filter 1s, -webkit-transform 0.3s;
  transition:filter 1s, opacity 0.2s, transform 0.3s;
  transition:filter 1s, opacity 0.2s, transform 0.3s, -webkit-filter 1s, -webkit-transform 0.3s;
}
.l-rtb .pagetop_btn i{
  display:block;
  position:absolute;
  top:1rem;
  bottom:0;
  right:0;
  left:0;
  width:1.6rem;
  height:1.6rem;
  margin:auto;
  border-top:1px solid #000;
  border-right:1px solid #000;
  -webkit-transform:rotate(-45deg);
  transform:rotate(-45deg);
}
.no-touchevents .l-rtb .pagetop_btn:hover{
  opacity:0.6;
  -webkit-transform:translateY(-1rem);
  transform:translateY(-1rem);
  -webkit-transition:opacity 0.2s, -webkit-filter 1s, -webkit-transform 0.3s;
  transition:opacity 0.2s, -webkit-filter 1s, -webkit-transform 0.3s;
  transition:filter 1s, opacity 0.2s, transform 0.3s;
  transition:filter 1s, opacity 0.2s, transform 0.3s, -webkit-filter 1s, -webkit-transform 0.3s;
}
.l-section.current > .l-section_inner:before, .l-section.current > .l-section_inner:after{
  opacity:0.5;
}

.l-section_inner{
  position:relative;
  max-width:144rem;
  width:100%;
  min-height:100vh;
  padding-block:13rem;
  padding-inline:47.5rem 8rem;
  margin-block:1rem 0;
  margin-inline:auto;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
.l-section_inner:before, .l-section_inner:after{
  content:"";
  position:absolute;
  left:4rem;
  right:4rem;
  height:8rem;
  opacity:0;
  -webkit-transition:opacity 0.5s;
  transition:opacity 0.5s;
  background-size:4rem 4rem;
  background-repeat:no-repeat;
}
.l-section_inner:before{
  top:5rem;
  background-image:url(/assets/img/common/split_deco01.svg), url(/assets/img/common/split_deco02.svg);
  background-position:left top, right top;
}
.l-section_inner:after{
  bottom:5rem;
  background-image:url(/assets/img/common/split_deco03.svg), url(/assets/img/common/split_deco04.svg);
  background-position:left bottom, right bottom;
}

.l-link{
  display:block;
  text-align:center;
  padding-block:4rem;
}

.l-inline{
  display:-webkit-inline-box;
  display:-ms-inline-flexbox;
  display:inline-flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}
.l-inline:not(.tel) > dt{
  margin-right:1em;
}
.l-inline:not(.tel) > dt + dd:before{
  content:"/";
  padding-left:0.25em;
  padding-right:0.5em;
}

.l-indent{
  text-indent:1em;
}

.l-g_nav li,
.l-sp_nav li{
  font-weight:500;
  font-size:1.4rem;
  letter-spacing:0.1em;
}
.l-g_nav a,
.l-g_nav p,
.l-sp_nav a,
.l-sp_nav p{
  -webkit-transition:opacity 0.5s;
  transition:opacity 0.5s;
  opacity:0.3;
  padding-block:0.5rem;
  white-space:pre;
}
.l-g_nav a.current,
.l-g_nav p.current,
.l-sp_nav a.current,
.l-sp_nav p.current{
  opacity:1;
}
.no-touchevents .l-g_nav a:hover,
.no-touchevents .l-g_nav p:hover,
.no-touchevents .l-sp_nav a:hover,
.no-touchevents .l-sp_nav p:hover{
  opacity:1;
}
.l-g_nav p,
.l-sp_nav p{
  padding:0;
}
:where(.l-sec_tit){
  margin-bottom:6rem;
}
:where(.l-sec_tit) .m-title:has(.-en):has(.-ja){
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  -webkit-box-align:start;
  -ms-flex-align:start;
  align-items:flex-start;
  row-gap:0.6rem;
}
:where(.l-sec_tit) .m-title:not(:has(.-en)){
  margin-bottom:1em;
}
:where(.l-sec_tit) .m-title .-en{
  font-size:1.3rem;
  letter-spacing:0.12em;
}
:where(.l-sec_tit) .m-title .-ja{
  font-size:2.6rem;
  letter-spacing:0.24em;
}

:where(.l-cont_header){
  margin-bottom:6rem;
}
:where(.l-cont_header) .m-title:has(.-en):has(.-ja){
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  -webkit-box-align:start;
  -ms-flex-align:start;
  align-items:flex-start;
  row-gap:0.6rem;
}
:where(.l-cont_header) .m-title:not(:has(.-en)){
  margin-bottom:1em;
}
:where(.l-cont_header) .m-title .-en{
  font-size:1.3rem;
  letter-spacing:0.12em;
}
:where(.l-cont_header) .m-title .-ja{
  font-size:2.6rem;
  letter-spacing:0.24em;
}
:where([data-accordion-trigger]){
  position:relative;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  cursor:pointer;
}
:where([data-accordion-trigger]) i{
  position:absolute;
  right:4rem;
  top:calc(50% - 0.35rem);
  width:1rem;
  height:0.7rem;
  background:var(--bc_black_text);
  -webkit-transform:rotate(0);
  transform:rotate(0);
  -webkit-transition:-webkit-transform 0.3s;
  transition:-webkit-transform 0.3s;
  transition:transform 0.3s;
  transition:transform 0.3s, -webkit-transform 0.3s;
}
:where([data-accordion-trigger]).is-active i{
  -webkit-transform:rotate(180deg);
  transform:rotate(180deg);
}

:where([data-accordion-detail]){
  -webkit-transition:height 0.7s, padding 0.3s, opacity 0.7s;
  transition:height 0.7s, padding 0.3s, opacity 0.7s;
  height:auto;
  opacity:1;
  pointer-events:all;
}
:where([data-accordion-detail]).is-hidden{
  opacity:0;
  height:0;
  padding-block:0 !important;
  overflow:hidden;
  pointer-events:none;
}
:where([data-tabarea]){
  pointer-events:all;
}
:where([data-tabarea]) [data-tabmenu]{
  position:relative;
  z-index:1;
  pointer-events:all;
}
:where([data-tabarea]) [data-tabmenu] [data-tabmenu-item]{
  -webkit-transition:background 0.3s;
  transition:background 0.3s;
  cursor:pointer;
}
:where([data-tabarea]) [data-tabdetail] [data-tabdetail-item]{
  position:absolute;
  top:0;
  left:0;
  right:0;
  visibility:hidden;
  pointer-events:none;
  opacity:0;
  -webkit-transition:opacity 1s;
  transition:opacity 1s;
}
:where([data-tabarea]) [data-tabdetail] [data-tabdetail-item].is-active{
  position:static;
  display:block;
  visibility:visible;
  pointer-events:all;
  opacity:1;
}
:where([data-youtube]){
  position:relative;
  opacity:0;
  -webkit-transition:opacity 0.7s;
  transition:opacity 0.7s;
}
:where([data-youtube]):has(iframe){
  opacity:1;
}
:where([data-youtube]).thumbnail{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
}
:where([data-youtube]) iframe{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  opacity:0;
}

:where([data-youtube-thumbnail]){
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:100;
  cursor:pointer;
}
:where([data-youtube-thumbnail])::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  margin:auto;
  width:68px;
  height:48px;
  background-color:rgba(0, 0, 0, 0.6);
  border-radius:10px;
  -webkit-transition:0.2s;
  transition:0.2s;
}
:where([data-youtube-thumbnail])::after{
  content:"";
  display:block;
  width:0;
  height:0;
  position:absolute;
  top:0;
  bottom:0;
  left:19px;
  right:0;
  margin:auto;
  border-top:10px solid transparent;
  border-right:17px solid transparent;
  border-bottom:10px solid transparent;
  border-left:17px solid #fff;
}
.no-touchevents :where([data-youtube-thumbnail]):hover::before{
  background-color:red;
}
:where([data-modal]){
  position:absolute;
  bottom:0;
  left:0;
  width:0;
  height:0;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}

:where([data-modal-trigger]){
  position:relative;
  cursor:pointer;
}
:where([data-modal-trigger]) .thumbnail,
:where([data-modal-trigger]) .thumb{
  position:relative;
  z-index:100;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  cursor:pointer;
}
:where([data-modal-trigger]) .thumbnail::before,
:where([data-modal-trigger]) .thumb::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  margin:auto;
  width:68px;
  height:48px;
  background-color:rgba(0, 0, 0, 0.6);
  border-radius:10px;
  -webkit-transition:0.5s;
  transition:0.5s;
}
:where([data-modal-trigger]) .thumbnail::after,
:where([data-modal-trigger]) .thumb::after{
  content:"";
  display:block;
  width:0;
  height:0;
  position:absolute;
  top:0;
  bottom:0;
  left:19px;
  right:0;
  margin:auto;
  border-top:10px solid transparent;
  border-right:17px solid transparent;
  border-bottom:10px solid transparent;
  border-left:17px solid #fff;
  -webkit-transition:0.5s;
  transition:0.5s;
}
.no-touchevents :where([data-modal-trigger]) .thumbnail:hover::before,
.no-touchevents :where([data-modal-trigger]) .thumb:hover::before{
  background-color:red;
}
:where([data-modal-trigger]) .thumb::before, :where([data-modal-trigger]) .thumb::after{
  opacity:0;
}
.no-touchevents :where([data-modal-trigger]) .thumb:hover::before{
  opacity:1;
  background-color:red;
}
.no-touchevents :where([data-modal-trigger]) .thumb:hover::after{
  opacity:1;
}

:where([data-modal-detail]){
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  opacity:0;
  pointer-events:none;
  overflow:hidden;
  display:none;
}
:where([data-modal-detail]).active{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  opacity:1;
}
:where([data-modal-detail]).active iframe,
:where([data-modal-detail]).active img{
  pointer-events:auto;
}
:where([data-modal-detail]) img,
:where([data-modal-detail]) iframe{
  position:static;
  width:100%;
  height:auto;
  display:block;
}
:where([data-modal-detail]) .yt,
:where([data-modal-detail]) iframe{
  position:static;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  opacity:1;
}

:where([data-modal-area]){
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  position:fixed;
  bottom:0;
  left:0;
  width:100%;
  height:100%;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
  z-index:10000;
  -webkit-perspective:500px;
  perspective:500px;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
  -webkit-transition:1s;
  transition:1s;
}
:where([data-modal-area]).active{
  opacity:1;
}
:where([data-modal-area]).active .wrap{
  -webkit-transform:none;
  transform:none;
  opacity:1;
}
:where([data-modal-area]).active .close,
:where([data-modal-area]).active .closer{
  pointer-events:auto;
}
:where([data-modal-area]).disabled{
  pointer-events:none;
}
:where([data-modal-area]) .close{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color:rgba(var(--bc_black_RGB), 0.8);
  cursor:pointer;
  z-index:10001;
}
:where([data-modal-area]) .wrap{
  position:relative;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  max-width:120rem;
  width:100%;
  height:100%;
  margin:auto;
  z-index:10001;
  -webkit-transform-style:preserve-3d;
  transform-style:preserve-3d;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
  -webkit-transform:scale(0.7) rotateX(10deg);
  transform:scale(0.7) rotateX(10deg);
  opacity:0;
  -webkit-transition:1s;
  transition:1s;
  pointer-events:none;
}
:where([data-modal-area]) .content{
  position:absolute;
  top:5rem;
  left:5rem;
  right:5rem;
  bottom:5rem;
  overflow-x:hidden;
  overflow-y:auto;
  z-index:10001;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  min-height:50rem;
  pointer-events:none;
}
:where([data-modal-area]) .closer{
  position:absolute;
  top:5rem;
  right:5rem;
  width:5rem;
  height:5rem;
  z-index:10001;
  cursor:pointer;
  -webkit-transition:0.2s;
  transition:0.2s;
}
:where([data-modal-area]) .closer:after, :where([data-modal-area]) .closer:before{
  content:"";
  display:block;
  width:3rem;
  height:1px;
  background-color:var(--bc_white);
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  margin:auto;
  -webkit-transition:0.2s;
  transition:0.2s;
}
:where([data-modal-area]) .closer:after{
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
}
:where([data-modal-area]) .closer:before{
  -webkit-transform:rotate(-45deg);
  transform:rotate(-45deg);
}
.no-touchevents :where([data-modal-area]) .closer:hover, :where([data-modal-area]) .closer.active{
  background-color:var(--bc_black);
}
.no-touchevents :where([data-modal-area]) .closer:hover:after, .no-touchevents :where([data-modal-area]) .closer:hover:before, :where([data-modal-area]) .closer.active:after, :where([data-modal-area]) .closer.active:before{
  background-color:var(--bc_white);
}

body:has([data-modal-area].active){
  overflow:clip;
  padding-right:var(--scrollbar);
}
:where(.m-btn_arrow) i{
  display:-webkit-inline-box;
  display:-ms-inline-flexbox;
  display:inline-flex;
  width:1.2rem;
  height:1.2rem;
  -webkit-mask-position:center center;
  mask-position:center center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-image:url("../img/common/ico_btn_arrow.svg");
  mask-image:url("../img/common/ico_btn_arrow.svg");
  background:currentColor;
}

:where(.m-external) i{
  position:relative;
  top:0.1lh;
  display:-webkit-inline-box;
  display:-ms-inline-flexbox;
  display:inline-flex;
  width:1.4rem;
  height:1.4rem;
  -webkit-mask-position:center center;
  mask-position:center center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-image:url("../img/common/ico_btn_external.svg");
  mask-image:url("../img/common/ico_btn_external.svg");
  background:currentColor;
  margin-left:0.5em;
}
:where(.m-catch){
  font-size:2rem;
  font-weight:300;
  letter-spacing:0.12em;
  line-height:2.2;
}
:where(.m-catch) em{
  font-weight:500;
  font-style:normal;
}

:where(.m-headline){
  font-size:1.4rem;
  font-weight:500;
  letter-spacing:0;
  line-height:2;
}

:where(.m-lead){
  font-size:1.4rem;
  font-weight:300;
  line-height:2;
}

:where(.m-body){
  font-size:1.4rem;
  font-weight:300;
  line-height:2;
}
:where(.m-title) .-en{
  font-size:5rem;
  letter-spacing:0;
  line-height:1;
}
:where(.m-title) .-ja{
  font-size:1.4rem;
  letter-spacing:0;
  line-height:2;
}
:where(.m-title):not(:has(.-en)){
  font-size:2rem;
}

:where(.m-description){
  font-size:1.4rem;
  letter-spacing:0.1em;
  line-height:2;
}
:where(.m-attention){
  text-indent:1em;
}
:where(.m-attention)::before{
  display:inline-block;
  content:"※";
  text-indent:-1em;
}

:where(.m-note){
  font-size:0.8em;
}
:where(.m-wraplink){
  position:absolute;
  z-index:1;
  top:0;
  bottom:0;
  left:0;
  right:0;
}
:where(.m-wraplink) ~ :is(.img, .ph, .bg, .thumb){
  overflow:hidden;
}
:where(.m-wraplink) ~ :is(.img, .ph, .bg, .thumb) img{
  -webkit-transition:-webkit-transform 0.3s;
  transition:-webkit-transform 0.3s;
  transition:transform 0.3s;
  transition:transform 0.3s, -webkit-transform 0.3s;
}
.no-touchevents :where(.m-wraplink):hover ~ :is(.img, .ph, .bg, .thumb) img{
  -webkit-transform:scale(1.02);
  transform:scale(1.02);
}

:where(.m-morelink){
  position:relative;
  display:-webkit-inline-box;
  display:-ms-inline-flexbox;
  display:inline-flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  font-weight:500;
  letter-spacing:0.12em;
  line-height:2;
  white-space:pre;
  padding-inline:1.5rem;
  margin-inline:auto;
  -webkit-transition:background 0.3s, color 0.3s;
  transition:background 0.3s, color 0.3s;
}
:where(.m-morelink) span{
  position:relative;
  z-index:1;
}
:where(.m-morelink) i{
  display:-webkit-inline-box;
  display:-ms-inline-flexbox;
  display:inline-flex;
  position:relative;
  position:absolute;
  right:0;
  width:0.8rem;
  height:0.8rem;
  margin-left:0.1rem;
  border-top:1px solid var(--bc_black);
  border-right:1px solid var(--bc_black);
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
  -webkit-transition:-webkit-transform 0.3s;
  transition:-webkit-transform 0.3s;
  transition:transform 0.3s;
  transition:transform 0.3s, -webkit-transform 0.3s;
}
.no-touchevents :where(.m-morelink):hover i{
  -webkit-transform:translateX(-0.8rem) rotate(45deg);
  transform:translateX(-0.8rem) rotate(45deg);
}

:where(.m-btn01){
  position:relative;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  width:32rem;
  height:5.4rem;
  overflow:clip;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
  font-size:1.6rem;
  line-height:1;
  background-color:var(--bc_black);
}
:where(.m-btn01)::before{
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  bottom:0;
  left:0;
  right:0;
  border:1px solid rgba(var(--bc_black_RGB), 1);
  background-color:var(--bc_white);
  clip-path:inset(0 0 0 100%);
  -webkit-transition:clip-path 0.5s, border 0.5s;
  transition:clip-path 0.5s, border 0.5s;
}
:where(.m-btn01) span{
  position:relative;
  z-index:1;
  font-weight:300;
  -webkit-transition:color 0.3s;
  transition:color 0.3s;
  color:var(--bc_white);
}
.no-touchevents :where(.m-btn01):hover::before{
  clip-path:inset(0 100% 0 0);
  border:1px solid rgba(var(--bc_black_RGB), 0.5);
}

:where(.m-underline) > span{
  position:relative;
}
:where(.m-underline) > span::before{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:1px;
  background-color:var(--bc_black);
  clip-path:inset(0% 100% 0% 0%);
}
:where(.m-underline).-rev > span::before{
  clip-path:inset(0% 0% 0% 0%);
}
:where(.m-underline).-current{
  pointer-events:none;
}
:where(.m-underline).-current > span::before{
  clip-path:inset(0% 0% 0% 0%);
}
:where(.m-dotlist) > li{
  position:relative;
  padding-left:1em;
}
:where(.m-dotlist) > li::before{
  content:"・";
  display:inline-block;
  text-indent:-1em;
}

:where(.m-linklist) a{
  position:relative;
  display:inline-block;
  padding-left:2rem;
}
:where(.m-linklist) a i{
  content:"";
  position:absolute;
  top:1.1rem;
  left:0;
  display:block;
  width:0;
  height:0;
  border-style:solid;
  border-width:0.4rem 0 0.4rem 1rem;
  border-color:transparent transparent transparent rgba(var(--bc_black_RGB), 0.5);
}

:where(.m-table){
  padding-bottom:0.5em;
  border-bottom:1px solid rgba(var(--bc_black_RGB), 0.1);
}
:where(.m-table) > .item{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  padding-block:1em 0.5em;
  border-top:1px solid rgba(var(--bc_black_RGB), 0.1);
}
:where(.m-table) > .item + .item{
  margin-top:0.5em;
}
:where(.m-table) > .item > dt{
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
:where(.m-table) > .item > dd{
  -webkit-box-flex:1;
  -ms-flex:1;
  flex:1;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
:where(.m-table) + .l-sec_tit{
  margin-top:10rem;
}

@media (width <= 460px){
  html{
    -webkit-text-size-adjust:100%;
    font-size:clamp(8px, 10 / var(--sp-base-size) * 100vw, 13px);
  }
  body{
    font-size:1.3rem;
    line-height:2;
  }
  body:before, body:after{
    width:100vw;
    height:100vh;
  }
  body:before{
    height:100%;
  }
  body:after{
    background:linear-gradient(125deg, var(--bc_white) 0, rgba(var(--bc_white_RGB), 0) 10%) fixed;
    height:auto;
    bottom:0;
  }
  body.is-header_fix:after{
    -webkit-transition:opacity 1s;
    transition:opacity 1s;
    opacity:0;
  }
  ._pc,
  .-pc{
    display:none !important;
  }
  :where(.-line_clamp).-sp_line1{
    -webkit-line-clamp:1;
    line-clamp:1;
  }
  :where(.-line_clamp).-sp_line2{
    -webkit-line-clamp:2;
    line-clamp:2;
  }
  :where(.-line_clamp).-sp_line3{
    -webkit-line-clamp:3;
    line-clamp:3;
  }
  .-guideline_basic::before{
    max-width:39rem;
    width:100vw;
    left:50%;
  }
  .-guideline_basic::after{
    content:"w:390px";
    font-size:1.2rem;
    padding:0 0.5rem;
    left:0;
  }
  .-guideline_basic > span::after{
    font-size:1.2rem;
    padding:0 0.5rem;
  }
  .-guideline_basic .-w02{
    width:calc(100% - 4rem);
  }
  .-guideline_basic .-w02::after{
    content:"w:350px(100vw - 4.0rem)";
    top:4rem;
    left:0;
  }
  .-guideline_basic .-w03{
    width:calc(100% - 12rem);
  }
  .-guideline_basic .-w03::after{
    content:"w:270px(100vw - 12.0rem)";
    top:6rem;
    left:0;
  }
  body:has(#is-drawer:checked) .close .bar{
    width:2.4rem;
  }
  .l-gdpr_banner{
    text-align:center;
    padding-inline:2rem;
    padding-block:2rem;
  }
  .l-gdpr_banner p{
    margin-bottom:1rem;
  }
  .l-header .header_wrapper{
    top:0;
  }
  .safari .l-header .header_wrapper{
    top:6px;
  }
  .l-header .header_inner{
    height:5rem;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    padding-top:env(safe-area-inset-top);
    padding-inline:2rem;
    padding-block:0;
    -webkit-transform:translateY(-100%);
    transform:translateY(-100%);
  }
  .l-header .header_logo{
    position:relative;
    top:1rem;
    width:3rem;
    height:3rem;
  }
  .l-header .header-g_nav{
    display:none;
  }
  .l-menu_btn{
    top:0;
    width:5rem;
    height:5rem;
  }
  .safari .l-menu_btn{
    top:6px;
  }
  .l-menu_btn .open .bar{
    width:2.6rem;
  }
  .l-menu_btn .open .bar:nth-child(1){
    top:-1.6rem;
  }
  .l-menu_btn .open .bar:nth-child(3){
    bottom:-1.6rem;
  }
  .for-status-bars{
    position:fixed;
    top:0;
    z-index:1000;
    height:6px;
    width:100%;
    background-color:rgba(var(--bc_black_RGB), 1);
    opacity:0;
  }
  html:not(.ios-not-safari, .os-android) .for-status-bars{
    opacity:1;
  }
  .for-tab-bars{
    position:fixed;
    top:100%;
    z-index:1;
    pointer-events:none;
    height:10rem;
    width:100%;
    background-color:rgba(var(--bc_black_RGB), 1);
    opacity:0;
    -webkit-transition:opacity 0.4s;
    transition:opacity 0.4s;
  }
  .l-footer .footer_inner{
    height:5rem;
    margin-top:5rem;
  }
  .l-rtb:after{
    content:none;
  }
  .l-rtb:has(.is-endline){
    bottom:5rem;
  }
  .l-section_inner{
    padding-block:10rem;
    padding-inline:5rem;
  }
  .l-section_inner:before, .l-section_inner:after{
    left:2rem;
    right:2rem;
    height:4rem;
    background-size:3rem 3rem;
  }
  .l-g_nav a,
  .l-g_nav p,
  .l-sp_nav a,
  .l-sp_nav p{
    opacity:1;
  }
  .l-g_nav a.current,
  .l-g_nav p.current,
  .l-sp_nav a.current,
  .l-sp_nav p.current{
    opacity:0.3;
  }
  :where(.l-sec_tit){
    margin-bottom:3rem;
  }
  :where(.l-sec_tit) .m-title:has(.-en):has(.-ja){
    row-gap:0.3rem;
  }
  :where(.l-sec_tit) .m-title .-en{
    font-size:1.1rem;
  }
  :where(.l-sec_tit) .m-title .-ja{
    font-size:2rem;
  }
  :where(.l-cont_header){
    margin-bottom:3rem;
  }
  :where(.l-cont_header) .m-title:has(.-en):has(.-ja){
    row-gap:0.3rem;
  }
  :where(.l-cont_header) .m-title .-en{
    font-size:1.1rem;
  }
  :where(.l-cont_header) .m-title .-ja{
    font-size:2rem;
  }
  :where([data-accordion-trigger]) i{
    right:2rem;
  }
  :where([data-modal-area]) .content{
    top:0;
    bottom:0;
    right:2rem;
    left:2rem;
  }
  :where([data-modal-area]) .closer{
    top:0;
    right:0rem;
  }
  :where(.m-catch){
    font-size:1.3rem;
    letter-spacing:0.18em;
  }
  :where(.m-headline){
    font-size:1.3rem;
    letter-spacing:0.24em;
  }
  :where(.m-lead){
    font-size:1.2rem;
  }
  :where(.m-body){
    font-size:1.2rem;
  }
  :where(.m-title) .-en{
    font-size:4rem;
  }
  :where(.m-title) .-ja{
    font-size:1.3rem;
  }
  :where(.m-title):not(:has(.-en)){
    font-size:1.4rem;
  }
  :where(.m-note){
    font-size:0.9em;
  }
  :where(.m-morelink){
    margin-top:1.5rem;
    font-size:1.6rem;
  }
  :where(.m-btn01){
    width:100%;
    height:5rem;
    font-size:1.4rem;
  }
  :where(.m-linklist) a{
    padding-left:1.4rem;
  }
  :where(.m-linklist) a i{
    top:1rem;
    border-width:0.35rem 0 0.35rem 0.7rem;
  }
  :where(.m-table) > .item{
    font-size:1.2rem;
    display:block;
  }
  :where(.m-table) > .item > dt{
    font-weight:500;
    font-size:1.3rem;
    width:100%;
  }
  :where(.m-table) > .item > dd{
    width:100%;
  }
  :where(.m-table) + .l-sec_tit{
    margin-top:5rem;
  }
}

@media (width > 460px){
  html{
    font-size:clamp(var(--pc-min-size) / var(--base-size) * 10px, 10 / var(--variable-length), 10px);
  }
  body{
    min-width:1000px;
    font-size:1.6rem;
    line-height:2;
  }
  .touchevents body:after{
    height:auto;
    bottom:0;
    background:linear-gradient(125deg, var(--bc_white) 0, rgba(var(--bc_white_RGB), 0) 30%) fixed;
  }
  .touchevents body.is-header_fix:after{
    -webkit-transition:opacity 1s;
    transition:opacity 1s;
    opacity:0;
  }
  ._sp,
  .-sp{
    display:none !important;
  }
  :where(.-line_clamp).-line1{
    -webkit-line-clamp:1;
    line-clamp:1;
  }
  :where(.-line_clamp).-line2{
    -webkit-line-clamp:2;
    line-clamp:2;
  }
  :where(.-line_clamp).-line3{
    -webkit-line-clamp:3;
    line-clamp:3;
  }
  .-guideline_basic::before{
    width:calc(160rem - (var(--scrollbar)));
    left:calc(50% - 80rem + var(--scrollbar) / 2);
  }
  .-guideline_basic::after{
    content:"w:1600px";
    font-size:1.4rem;
    padding:0 1rem;
    left:calc(50% - 80rem + var(--scrollbar) / 2);
  }
  .-guideline_basic .-w02::after{
    content:"w:1440px";
    top:3rem;
    left:calc(50% - 72rem + var(--scrollbar) / 2);
  }
  .-guideline_basic .-w03::after{
    content:"w:1200px";
    top:0rem;
    left:calc(50% - 60rem + var(--scrollbar) / 2);
  }
  .l-gdpr_banner{
    padding-inline:4rem;
    padding-block:3rem;
  }
  .l-gdpr_banner p{
    margin-right:8rem;
  }
  .touchevents .l-rtb:after{
    content:none;
  }
  :where([data-modal-area]){
    padding:40px;
  }
  :where(.m-morelink){
    margin-top:2rem;
    font-size:1.6rem;
  }
  :where(.m-table) > .item{
    font-size:1.4rem;
    line-height:2;
  }
  :where(.m-table) > .item > dt{
    width:20rem;
  }
  :where(.m-table) > .item > dd{
    width:calc(100% - 2rem);
  }
}

@media (orientation: landscape){
  html{
    -webkit-margin-start:env(safe-area-inset-left);
    margin-inline-start:env(safe-area-inset-left);
  }
}

@media (pointer: fine), (hover: hover){
  a[href^="tel:"]{
    pointer-events:none;
  }
}

@media not (pointer){
  *{
    -webkit-tap-highlight-color:transparent;
  }
}

@media print, screen and (min-width: 641px) and (max-width: 1000px){
  .mod_main{
    overflow:clip;
  }
}/*# sourceMappingURL=common.css.map */
