*{
  margin:0;
  padding:0;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}
::after,
::before{
  box-sizing:border-box;
}
:root{
  --font-jp:"Noto Sans JP",serif;
  --font-en:"Noto Sans",sans-serif;
  --color-base:#FFF;
  --color-primary:#171717;
  --color-background:#082f49;
  --color-background-alt:#393733;
  --color-gray:#F1F5F9;
  --color-placeholder:#d6d3d1;
  --color-error:#dc2626;
  --color-success:#16a34a;
  --fs-sm:clamp(.75rem,.13vi + .72rem,.875rem);
  --fs-base:clamp(.875rem,.26vi + .81rem,1.125rem);
  --fs-md:clamp(1.25rem,.43vi + 1.15rem,1.625rem);
  --fs-lg:clamp(1.563rem,.68vi + 1.4rem,2.25rem);
  --fs-xl:clamp(2rem,1.04vi + 1.71rem,3rem);
  --fw-base:400;
  --fw-md:500;
  --fw-lg:600;
  --fw-xl:700;
  --fw-xxl:800;
  --fw-xxxl:900;
  --text-center:center;
  --text-right:right;
  --lineheight-default:2;
}
body{
  font-family:var(--font-jp);
  font-size:var(--fs-base);
  font-weight:var(--fw-base);
  position:relative;
  letter-spacing:.105em;
  color:var(--color-primary);
  background-color:var(--color-base);
  font-style:normal;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  transition:background-color 1s ease;
}
body,
h1,
h2,
h3,
h4,
h5,
h6{
  margin:0;
  outline:none;
  line-height:1.6;
}
p{
  line-height:var(--lineheight-default);
}
a{
  display:inline-block;
  color:inherit;
}
a,
a:focus,
a:hover{
  outline:none;
  text-decoration:none;
}
a:hover{
  opacity:.7;
  cursor:pointer;
  transition:opacity .4s ease-in-out;
}
main,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section{
  position:relative;
  display:block;
}
ul,
ol{
  list-style:none;
}
li{
  list-style:none;
}
nav ul{
  list-style:none;
}
figure{
  position:relative;
  display:block;
  margin-bottom:0;
  line-height:0;
}
figure figcaption{
  line-height:1.6;
}
table{
  width:100%;
}
table th{
  text-align:left;
}
iframe{
  border:none;
}
canvas{
  vertical-align:bottom;
}
blockquote,
q{
  quotes:none;
}
blockquote:before,
blockquote:after,
q:before,
q:after{
  content:"";
  content:none;
}
strong{
  font-weight:800;
}
section{
  padding:clamp(3.125rem,3.24vi + 2.37rem,6.25rem) 0;
}
span {
  display:inline-block;
}
button{
  font-family:inherit;
  background:transparent;
  border:0;
  color:inherit;
  cursor:pointer;
  letter-spacing:.06em;
  line-height:1.14;
  outline:0;
  padding:0;
}
img{
  width:100%;
  height:auto;
}
svg{
  width:100%;
  height:auto;
}
picture{
  display:block;
}
input,
textarea,
select,
button{
  font-size:var(--fs-base);
  appearance:none;
  width:auto;
  padding:0;
  border:none;
  border-radius:0;
  line-height:1.6;
  color:var(--color-primary);
  background:var(--color-base);
  letter-spacing:.05em;
  -webkit-appearance:none;
  -moz-appearance:none;
  -webkit-text-size-adjust:100%;
}
textarea{
  resize:vertical;
  vertical-align:bottom;
}
input[type="submit"],
input[type="reset"],
input[type="button"],
button{
  transition:background .3s ease;
  cursor:pointer;
}
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover{
  opacity:1;
}
textarea:focus,
input:focus{
  outline:none;
}
.container,
.container-lg,
.flex-container{
  position:relative;
  width:100%;
  margin:0 auto;
  padding:0 clamp(1.25rem,1.29vi + .95rem,2.5rem);
}
.container{
  max-width:105rem;
}
.pc-hide{
  display:block;
}
.sp-hide{
  display:none;
}
.img{
  height:100%;
  object-fit:cover;
  object-position:center;
}
.p-layout{
  min-height:100vh;
  overflow-x:hidden;
}
.flex{
  display:flex;
}
.grid{
  display:grid;
}
.txt-center{
  text-align:var(--text-center);
}
.txt-right{
  text-align:var(--text-right);
}
.h2-ttl{
  font-size:var(--fs-lg);
  font-weight:var(--fw-xl);
  margin:clamp(.63rem,.32vi + .55rem,.94rem) 0 clamp(1.25rem,.65vi + 1.1rem,1.875rem) 0;
}
.en-ttl{
  font-size:1rem;
  font-weight:var(--fw-md);
  position:relative;
  color:var(--color-background);
}
.en-ttl::after{
  content:'';
  position:absolute;
  display:inline-block;
  width:1.25rem;
  height:.125rem;
  bottom:0;
  left:0;
  background-color:var(--color-background);
}
.lead-txt{
  font-weight:var(--fw-xl);
}
.primary-btn{
  margin-top:1.875rem;
  line-height:1;
}
.primary-btn a{
  display:inline-flex;
  align-items:center;
  gap:1.25rem;
  height:3.25rem;
  line-height:3.25rem;
  padding:0 1.25rem;
  background-color:var(--color-background);
  color:var(--color-base);
  border:0 solid var(--color-background);
  transition:all .3s ease-in;
}
.primary-btn .btn-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:1.875rem;
  height:1.875rem;
  background-color:var(--color-base);
  border-radius:50%;
  border:0 solid var(--color-background);
  transform:rotate(0);
  transition:transform .3s ease-in-out;
}
.primary-btn .btn-icon img{
  width:1.125rem;
}
.primary-btn a:hover{
  background-color:var(--color-base);
  color:var(--color-background);
  border-width:.063rem;
}
.primary-btn a:hover .btn-icon{
  border-width:.063rem;
  transform:rotate(-25deg);
}
/*-- footer --*/
.footer{
  padding-bottom:1.25rem;
  background-color:var(--color-background);
  color:var(--color-base);
}
.footer-t{
  padding:0 1.25rem;
  background-color:var(--color-background-alt);
}
.footer-t > div{
  position:relative;
  max-width:60rem;
  margin:0 auto;
  padding:clamp(3.75rem,3.88vi + 2.84rem,7.5rem) 0;
}
.footer-t > div::after{
  content:'';
  position:absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
  background:url(../img/external-link-bg.png) center / 100% auto no-repeat;
  opacity:.3;
  z-index:1;
}
.footer-t .large-btn{
  font-size:clamp(1.875rem,1.29vi + 1.57rem,3.125rem);
  font-weight:var(--fw-xxl);
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:clamp(1.25rem,1.94vi + .79rem,3.125rem);
  width:100%;
  z-index:2;
}
.footer-t .large-btn span{
  line-height:1.2;
}
.footer-t .large-btn .btn-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:clamp(3.125rem,1.94vi + 2.67rem,5rem);
  height:clamp(3.125rem,1.94vi + 2.67rem,5rem);
  background-color:var(--color-base);
  border-radius:50%;
}
.footer-t .large-btn .btn-icon img{
  width:clamp(1.25rem,.65vi + 1.1rem,1.875rem);
  transform:rotate(0);
  transition:transform .3s ease-in-out;
}
.footer-t .large-btn:hover .btn-icon img{
  transform:rotate(-25deg);
}
.footer-m{
  position:relative;
  padding-top:2.5rem;
}
.footer-m .--left,
.footer-m .--mid,
.footer-m .--right,
.footer-b .--left{
  font-size:var(--fs-sm);
  padding:0 1.25rem;
}
.footer-m  p.o-hours{
  margin-top:1.25rem;
}
.footer-m .tel-btn,
.footer-m .contact-btn{
  font-size:clamp(1.25rem,.26vi + 1.19rem,1.5rem);
  font-weight:var(--fw-xl);
  display:inline-flex;
  align-items:center;
  height:3.25rem;
  line-height:3.25rem;
  margin-top:.625rem;
  padding:.625rem 1.25rem;
  background-color:var(--color-base);
  color:var(--color-background);
}
.footer-m .tel-btn span,
.footer-m .contact-btn span{
  line-height:1;
}
.footer-m .tel-btn span+span,
.footer-m .contact-btn span+span{
  margin-left:.625rem;
}
.footer-m .tel-btn img,
.footer-m .contact-btn img{
  width:1.875rem;
}
.footer-m .country-support{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.313rem;
  margin-top:.625rem;
}
.country-support .flag{
  width:1.875rem;
  line-height:1;
}
.country-support > span:nth-of-type(4){
  margin-left:1.25rem;
}
.footer-m .--mid,
.footer-m .--right,
.footer-b,
.footer-b .--left{
  margin-top:2.5rem;
  padding-top:2.5rem;
  border-top:.063rem solid rgba(255,255,255,.4);
}
.footer-b{
  position:relative;
  display:flex;
  flex-direction:column-reverse;
}
.footer-logo{
  max-width:22.188rem;
  margin-bottom:1.25rem;
}
.footer-b .--right ul{
  position:relative;
}
.footer-b .--right ul li{
  padding:0 1.25rem;
}
.footer-b .--right ul li+li,
.copy-right{
  margin-top:1.25rem;
  padding-top:1.25rem;
  border-top:.063rem solid rgba(255,255,255,.4);
}
.footer-b .--right ul li.li-empty{
  display:none;
}
.footer-b .--right ul a span.jp{
  font-size:var(--fs-sm);
  margin-left:.625rem;
}
.copy-right p{
  font-size:var(--fs-sm);
}
/*-- header --*/
.header{
  position:fixed;
  top:.938rem;
  right:0;
  left:0;
  width:calc(100% - 2.5rem);
  max-width:75rem;
  margin:auto;
  z-index:99;
}
.header-t{
  display:flex;
  justify-content:center;
}
.header-t .header-nav .nav-list{
  display:none;
}
.header-t .header-nav .nav-list a{
  font-size:clamp(.875rem,.24vi + .82rem,1rem);
}
.header-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:calc(100% - 5.875rem);
  padding:.625rem 1.875rem .625rem .938rem;
  background-color:rgba(255,255,255,.74);
}
.header-nav .header-logo{
  width:clamp(12.5rem,14.55vi + 9.09rem,20rem);
  line-height:1;
}
.lang-menu{
  display:flex;
  background-color:var(--color-background);
  color:var(--color-base);
}
.lang-menu .lang-dropdown,
.lang-menu .menu-hamburger{
  font-size:var(--fs-sm);
  position:relative;
  padding:.313rem;
  text-align:center;
}
.lang-menu .lang-dropdown{
  width:2.5rem;
}
.lang-menu .menu-hamburger{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-evenly;
  width:3.375rem;
}
.menu-hamburger .-text{
  line-height:.9;
}
.-hamburger--lines{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  width:1.25rem;
  height:.688rem;
}
.-hamburger--lines > .line{
  width:100%;
  height:.063rem;
  background-color:var(--color-base);
  transition:transform .3s ease-in;
}
body.menu-active .-hamburger--lines{
  justify-content:center;
}
body.menu-active .-hamburger--lines > .line:nth-of-type(2){
  display:none;
}
body.menu-active .-hamburger--lines > .line:nth-of-type(1){
  transform:rotate(45deg);
}
body.menu-active .-hamburger--lines > .line:nth-of-type(3){
  transform:rotate(-45deg);
}
.-dropdown--btn{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.313rem;
  height:100%;
  cursor:pointer;
  line-height:1;
}
.-dropdown--btn .chevron-icon{
  width:.875rem;
  transition:transform .3s ease-in-out;
}
.lang-dropdown.show .-dropdown--btn .chevron-icon{
  transform:rotate(180deg);
}
.-dropdown-content{
  position:absolute;
  top:100%;
  left:0;
  width:100%;
  max-height:0;
  background-color:var(--color-background);
  overflow:hidden;
  transition:max-height .3s ease-in-out;
  z-index:99;
}
.lang-dropdown.show .-dropdown-content{
  max-height:6.25rem;
  min-height:clamp(1.875rem,1.21vi + 1.59rem,2.5rem);
  line-height:clamp(1.875rem,1.21vi + 1.59rem,2.5rem);
}
.-dropdown-content a{
  display:block;
  padding:.313rem;
  color:var(--color-base);
}
.-dropdown-content a:hover{
  background-color:rgba(0,0,0,.05);
}
.header-menu--content{
  position:fixed;
  right:0;
  left:0;
  width:calc(100% - 2.5rem);
  max-width:75rem;
  margin:auto;
  visibility:hidden;
  opacity:0;
  transition:visibility 0s .6s, opacity .6s ease-in-out;
  clip-path:polygon(0 0,100% 0,100% 0,0 0);
  will-change:clip-path;
}
body.menu-active .header-menu--content{
  visibility:visible;
  opacity:1;
  transition:visibility 0s 0s, opacity .6s ease-in-out,clip-path .6s ease-in-out;
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%);
}
.-menu--content_inner{
  position:relative;
  max-height:0;
  padding:0;
  background-color:var(--color-background);
  color:var(--color-base);
  overflow:hidden;
  transition:max-height .6s ease-in-out,padding .6s ease-in-out;
}
body.menu-active .-menu--content_inner{
  max-height:85dvh;
  padding:1.25rem 0;
  overflow-y:auto;
}
.-menu--content_inner .flex{
  flex-direction:column-reverse;
}
.-menu--content_inner .hm-logo,
.-menu--content_inner .hm-adr{
  display:none;
}
.-menu--content_inner .hm-logo img{
  max-width:22.188rem;
}
.-menu--content_inner .hm-tel,
.-menu--content_inner .hm-footer{
  margin-top:1.25rem;
  padding:1.25rem 1.25rem 0 1.25rem;
  border-top:.063rem solid rgba(255,255,255,.4);
}
.-menu--content_inner .hm-tel a{
  font-size:clamp(1.5rem,.48vi + 1.39rem,1.75rem);
  font-weight:var(--fw-xl);
}
.-menu--content_inner .hm-tel .tel-icon{
  width:1.875rem;
}
.-menu--content_inner .hm-tel a span+span{
  margin-left:.625rem;
}
.-menu--content_inner .hm-adr,
.-menu--content_inner .hm-time{
  font-size:var(--fs-sm);
  margin-top:.625rem;
}
.hm-ul--list li{
  padding:0 1.25rem;
}
.hm-ul--list li+li{
  margin-top:1.25rem;
  padding-top:1.25rem;
  border-top:.063rem solid rgba(255,255,255,.4);
}
.hm-ul--list li a span.jp {
  font-size:var(--fs-sm);
  margin-left:.625rem;
}
.-menu--content_inner .hm-footer{
  font-size:var(--fs-sm);
}
.en-page{
  font-family:var(--font-en);
}
.en-page .header-t .header-nav .nav-list a{
  font-size:.835rem;
}
.en-page .header-nav .header-logo{
  width:clamp(11.25rem,9.7vi + 8.98rem,16.25rem);
}
/*-- media query 60rem --*/
@media screen and (min-width:60rem){
  .pc-hide{
    display:none;
  }
  .sp-hide{
    display:block;
  }
  /*-- footer --*/
  .footer-m{
    display:flex;
  }
  .footer-m::after,
  .footer-m::before{
    content:'';
    position:absolute;
    display:inline-block;
    width:.063rem;
    height:calc(100% + 2.5rem);
    top:0;
    left:33.33333%;
    background-color:rgba(255,255,255,.4);
  }
  .footer-m::before{
    left:66.66666%;
  }
  .footer-b::before,
  .footer-b .--right ul::before,
  .-menu--content_inner::before,
  .-menu--content_inner .flex > .--right::before{
    content:'';
    position:absolute;
    display:inline-block;
    width:.063rem;
    height:calc(100% + 2.5rem);
    top:0;
    left:50%;
    background-color:rgba(255,255,255,.4);
  }
  .footer-m > div{
    position:relative;
    width:33.33333%;
  }
  .footer-b{
    flex-direction:row;
  }
  .footer-b::before{
    height:calc(100% + 1.875rem);
    left:40%;
  }
  .footer-b > div{
    width:60%;
  }
  .footer-m .--mid,
  .footer-m .--right,
  .footer-b .--left{
    margin-top:0;
    padding-top:0;
    border:0;
  }
  .footer-b .--left{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:40%;
  }
  .footer-b .--right ul{
    display:flex;
    flex-wrap:wrap;
  }
  .footer-b .--right ul::before{
    height:calc(100% + 4.35rem);
    top:-2.5rem;
  }
  .footer-b .--right ul li{
    width:50%;
  }
  .footer-b .--right ul li+li,
  .copy-right{
    margin-top:1.875rem;
    padding-top:1.875rem;
  }
  .footer-b .--right ul li.li-empty,
  .footer-b .--right ul li:nth-of-type(2){
    display:block;
    margin-top:0;
    padding-top:0;
    border:0;
  }
  /*-- header --*/
  .lang-menu .lang-dropdown{
    width:3.75rem;
  }
  .lang-menu .menu-hamburger{
    width:4.625rem;
  }
  .-menu--content_inner::before{
    height:calc(100% - 4.25rem);
    left:40%;
  }
  .-menu--content_inner .flex{
    flex-direction:row;
    align-items:center;
  }
  .-menu--content_inner .flex > div{
    position:relative;
    width:60%;
  }
  .-menu--content_inner .flex > .--right::before{
    top:-3.75rem;
    height:calc(100% + 7.5rem);
  }
  .-menu--content_inner .flex > .--left{
    width:40%;
    padding:0 1.25rem;
  }
  .-menu--content_inner .flex > .--left > div{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
  }
  .-menu--content_inner .hm-logo,
  .-menu--content_inner .hm-adr{
    display:block;
  }
  .hm-ul--list li+li{
    margin-top:1.875rem;
    padding-top:1.875rem;
  }
  .-menu--content_inner .hm-tel,
  .hm-ul--list li:nth-of-type(2){
    margin-top:0;
    padding-top:0;
    border:0;
  }
  .-menu--content_inner .hm-tel{
    margin-top:1.875rem;
  }
  .hm-ul--list{
    display:flex;
    flex-wrap:wrap;
  }
  .hm-ul--list li{
    width:50%;
  }
  .en-page .-menu--content_inner .flex > .--right::before{
    top:-96px;
    height:calc(100% + 190px);
  }
}
/*-- media query 75rem --*/
@media screen and (min-width:75rem){
  /*-- header --*/
  .header-t .header-nav .nav-list{
    display:flex;
    gap:.938rem;
  }
  .en-page .-menu--content_inner .flex > .--right::before{
    height:calc(100% + 11.375rem);
  }
}

