@charset "UTF-8";
/* CSS Document */ :root {
  --fnt-base: 'MazdaType', 'Zen Kaku Gothic New', 'Hiragino Kaku Gothic ProN', 'HiraKakuProN-W3', 'Meiryo', 'Yu Gothic Medium', sans-serif;
  --fs-mid20: min(20px, 4.5vw);
  --fs-mid24: min(24px, 5vw);
  --head3: min(32px, 5.25vw);
  --clr-blk: #1a1a1a;
  --clr-blue: #0067B3;
  --clr-wblue: #00AAE8;
  --clr-grn: #07778D;
  --wall-base: #fafafa;
  --wall-gry: #efefef;
  --easing: cubic-bezier(0.45, 0.05, 0.55, 0.95);
  --transit: .4s var(--easing);
}
body {
  font-family: var(--fnt-base);
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-wrap: anywhere;
  font-size: min(16px, 3.6vw);
  width: 100%;
  overflow-x: hidden;
  min-height: 100%;
  color: var(--clr-blk);
  opacity: 0;
  transition: opacity 1s var(--easing);
  height: 100%;
}
#loading {
  position: fixed;
  width: 100%;
  height: 100dvh;
  z-index: calc(infinity);
  background: var(--wall-base);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  transition: all 1s var(--easing);
  padding-left: min(50px, 5vw);
  padding-right: min(50px, 5vw);
}
#loading .loading-text {
  width: min(97.56px, 15vw);
}
body.is-loading {
  opacity: 1;
}
body.is-finish #loading {
  opacity: 0;
  visibility: hidden;
}
.fnt-gothic {
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
.fnt-mazda {
  font-family: 'MazdaType';
}
a.cvr {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
a.udl{
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,.8);
  text-underline-offset: 5px;
}
.js-fadeup {
  opacity: 0;
  transform: translateY(50px);
  /*  transition:all var(--transit)*/
}
.js-clip-text {
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  transition: all var(--transit);
}
.js-clip-text.visible {
  webkit-clip-path: inset(0);
  clip-path: inset(0);
}
.f6-wrapper{
  background: #fff;
}
/*Container
============================================================*/
#container {
  width: 100%;
  overflow-x: hidden;
  min-height: 100svh;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}
#container.wall-base{
  background-color: var(--wall-base);
}
#container > * {
  width: 100%;
}
.inner {
  width: min(1310px, 100%);
  padding-left: min(50px, 5vw);
  padding-right: min(50px, 5vw);
  margin-left: auto;
  margin-right: auto;
}
#fix-inquiry, #fix-scroll {
  position: fixed;
  transition: var(--transit);
}
#fix-inquiry.is-fixed, #fix-scroll.is-fixed {
  translate: 0 150%;
}
#fix-inquiry:not(.is-show).is-fixed.nav-open{
  translate: 0 0;
}
#fix-inquiry {
  z-index: 1001;
  right: 0;
  bottom: 0;
  color: #fff;
}
#fix-inquiry .en {
  font-style: italic;
  font-weight: 700;
  font-size: min(84px, 10vw);
  letter-spacing: -.075em;
  text-indent: -.07em;
  line-height: 75%;
}
#fix-inquiry .ja {
  line-height: calc(30/18);
  font-size: min(18px,5vw);
  font-weight: 600;
}
.entry-link-btn{
  background: var(--clr-blk);
  padding: min(20px, 3vw) min(25px, 3vw) min(30px, 4vw);
}
.entry-link-btn::after {
  content: "";
  width: 2.25em;
  height: 1px;
  background: #fff;
  position: absolute;
  bottom: min(15px, 2vw);
  left: min(25px, 3vw);
  transition: width var(--transit);
}
.entry-link-btn::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: var(--clr-blue);
  scale: 0 1;
  transition: scale var(--transit);
  transform-origin: 100% 50%;
}
.inquiry-form-btn{
  background: var(--clr-blk);
  color: #fff;
  text-align: center;
  display: none;
}
.inquiry-form-btn p{
  height: 50px;
  display: grid;
  place-content:center;
  place-items:center;
}
.inquiry-form-btn p span{
  padding-bottom: 3px;
  border-bottom: 1px solid #fff;
}
@media(hover) {
  .entry-link-btn:hover::before {
    scale: 1 1;
    transform-origin: 0% 50%;
  }
  .entry-link-btn:hover::after {
    width: calc(100% - min(50px, 6vw));
  }
}

#fix-scroll {
  z-index: 10;
  bottom: min(25px, 2vw);
  left: min(25px, 2vw);
  width: auto;
  display: flex;
  flex-direction: column;
  -ms-align-items: flex-start;
  align-items: flex-start;
  gap: min(20px, 4vw);
  mix-blend-mode: difference;
  color: #fff;
}
#fix-scroll .arrow {
  width: 5px;
  height: 110px;
  animation: sdl 3s cubic-bezier(1, 0, 0, 1) infinite;
  transform-origin: top left;
}
#fix-scroll .arrow::before, #fix-scroll .arrow::after {
  content: "";
  background: #fff;
  position: absolute;
}
#fix-scroll .arrow::before {
  width: 1px;
  height: 100px;
  left: 0;
  bottom: 0;
}
#fix-scroll .arrow::after {
  width: 1px;
  height: 6px;
  rotate: 45deg;
  left: 2px;
  bottom: -.5px;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
#fix-scroll .comment{
  font-size: min(12px,3.4vw);
  line-height: calc(18/14);
}
#fix-scroll .comment .mid{
  font-size: 1.81em;
  font-weight: 500;
}
/*header
============================================*/
header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  height: 80px;
  background: rgba(250, 250, 250, .7);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: all var(--transit);
  pointer-events: none;
}
header.nav-open {
  background: rgba(250, 250, 250, 0);
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
}
.header__inner {
  width: min(1540px, 100%);
  padding: min(10px, 2.5vw) min(50px, 4vw);
  margin-left: auto;
  margin-right: auto;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  height: 100%;
  gap:min(40px,5vw);
}
.head-logo {
  width: min(340px, 60vw);
  pointer-events: auto;
}
.head-inquiry{
  pointer-events: auto;
  margin-left: auto;
  transition: all var(--transit);
}
header.nav-open .head-inquiry{
  opacity: 0;
  visibility: hidden;
}
.head-inquiry a{
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-bottom: 10px;
}
.head-inquiry a::before
,.head-inquiry a::after{
  content: "";
  width: 100%;
  height: 4px;
  position: absolute;
  left: 0;
  bottom: 0;
  border: 1px solid var(--clr-blk);
}
.head-inquiry a::after{
  background: var(--clr-blk);
  scale: 0 1;
  transition: scale var(--transit);
  transform-origin: 100% 50%;
}
@media(hover){
  .head-inquiry a:hover::after{
    scale:1 1;
    transform-origin: 0% 50%;
  }
}
.hum-btn-wrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: flex-start;
  align-items: flex-start;
  gap: 10px;
}
.hum-btn-wrap span {
  font-weight: 700;
}
#hum-btn {
  pointer-events: auto;
  width: min(60px, 12vw);
  aspect-ratio: 1/0.4262;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  translate: 0 5px;
  cursor: pointer;
}
#hum-btn button {
  width: 100%;
  height: 1.5px;
  background: var(--clr-blk);
  transition: all .3s var(--easing);
}
#hum-btn::before, #hum-btn::after {
  content: "";
  width: 100%;
  height: 1.5px;
  position: absolute;
  left: 0;
  background: var(--clr-blk);
  transition: all .3s var(--easing);
  transform-origin: center bottom;
}
#hum-btn::before {
  top: 0;
}
#hum-btn::after {
  bottom: 0;
}
#hum-btn.is-open button {
  rotate: 25deg;
}
#hum-btn.is-open::before {
  rotate: -25deg;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
#hum-btn.is-open::after {
  opacity: 0;
}
/*l-nav*/
#l-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: min(600px, 100%);
  height: 100dvh;
  z-index: 99;
  background: var(--wall-gry);
  opacity: 0;
  visibility: hidden;
  transition: var(--transit);
  overflow-y: scroll;
  translate: 100% 0;
}
#l-nav::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url("../images/pic/wall-path.png") no-repeat bottom right/95%;
  position: absolute;
  top: 0;
  left: 0;
  background-blend-mode: multiply;
  opacity: .2;
  pointer-events: none;
}
#l-nav.is-open {
  opacity: 1;
  visibility: visible;
  translate: 0 0;
}
.l-nav-inner {
  min-height: 100%;
  padding: min(100px, 20vw) min(90px, 5vw);
}
.l-nav-menu li a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap: 10px;
}
.l-nav-menu li:not(:first-child) {
  margin-top: min(20px, 5vw);
}
.l-nav-menu li a .en {
  font-size: min(36px, calc(100vw/10));
  font-style: italic;
  font-weight: 700;
  letter-spacing: -.07em;
}
.l-nav-menu li a .ja {
  font-size: min(12px, 3.4vw);
}
.l-nav-menu li a span {
  background: linear-gradient(to right, var(--clr-blk) 50%, var(--clr-blue) 50%);
  background-size: 200% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  transition: background-position 0.6s var(--easing);
}
.l-nav-menu li a:hover span {
  background-position: -100% 0;
}

.l-nav-menu-icon {
  margin-top: min(20px, 5vw);
}

.l-nav-menu-icon.fl{
  flex-wrap: nowrap;
}
.l-nav-menu-icon li {
  margin-right: 1em;
}

/*main
============================================*/
.fl {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.fl_c {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}
.ai_c {
  -ms-align-items: center;
  align-items: center;
}
.pos-pic {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
/*key
=============================*/
#key {
  width: 100%;
  display: flex;
  justify-content: center;
  padding-top: min(25px, 10vw);
  padding-left: min(50px, 5vw);
  padding-right: min(50px, 5vw);
}
.index-key {
  height: 850px;
}
.pic-person {
  right: min(25px, 2.5vw);
  bottom: 0;
  width: min(715px, 60vw);
  z-index: 3;
}
.pic-cloud01 {
  aspect-ratio: 1/0.4667;
  width: min(480px, 50vw);
  right: 0;
  top: 0;
  translate: 30% -5%;
  z-index: 0;
}
.pic-cloud01 span {
  display: block;
  animation: float-x 10s ease-in-out infinite alternate-reverse;
}
.pic-cloud01 span img {
  animation: float-y 5s ease-in-out infinite alternate-reverse;
}
.pic-cloud02 {
  width: min(380px, 40vw);
  aspect-ratio: 1/0.2714;
  top: 0;
  left: 0;
  z-index: 0;
  translate: -50% 110%;
}
.pic-cloud02 span {
  display: block;
  animation: float-y 8s ease-in-out infinite alternate-reverse;
}
.pic-cloud02 span img {
  animation: float-x 3s ease-in-out infinite alternate-reverse;
}
.key__inner {
  width: min(1210px, 100%);
  aspect-ratio: 1/0.4735;
  max-height: 572px;
  background: var(--clr-wblue);
  padding: min(30px, 5vw) min(60px, 4vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
}
.under-key .key__inner{
  max-height: 260px;
  aspect-ratio:1/0.2167;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  padding: min(30px, 5vw) min(60px, 4vw);
}
.thanks-key {
  padding-bottom: min(150px,20vw);
}
.thanks-key .key__inner{
  max-height: 570px;
  aspect-ratio:1/0.4735;
}
.thanks-key .pic-human{
  position: absolute;
  left: 50%;
  bottom: 0;
  translate:-50% 0;
  width: min(300px,33%);
  z-index: 10;
}
.key-title {
  width: min(390px, 45%);
}
/* .key-title::before{
  content: "※認可申請中";
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: min(20px,4vw);
  translate:0 calc(100% + 5px);
  color: #fff;
} */
.under-key .page-title {
  color: #fff;
  font-weight: 700;
  text-align: center;
  display: grid;
  place-content:center;
  place-items:center;
  gap:5px;
  text-shadow: 0 3px 1px rgba(0,170,231,.4);
}
.under-key .page-title .en{
  font-size: min(130px,calc(100vw/6));
  font-style: italic;
  letter-spacing: -.07em;
  text-indent: -.07em;
}
.under-key .page-title .ja{
  font-size: min(26px,100vw/25);
  letter-spacing: .05em;
  text-indent: .05em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.load-text {
  width: min(97.56px, 15vw);
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% 40%;
  z-index: 2;
  transition: all 1s var(--easing);
  transition-delay: .5s;
}
.is-finish .load-text, body:not(.is-first) .load-text {
  position: absolute;
  translate: -50% .5em;
}
.key__inner > *:not(#key-slider) {
  z-index: 2;
}
#key-slider {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
}
#key-slider::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url("../images/wall/key-cover.png") no-repeat center/cover;
  z-index: 1;
}
#key-slider .swiper-wrapper {
  transition-timing-function: linear;
}
#key-slider img {
  object-fit: cover;
  height: 100%;
}
@keyframes float-x {
  0% {
    transform: translateX(-2.5%);
  }
  100% {
    transform: translateX(2.5%);
  }
}
@keyframes float-y {
  0% {
    transform: translateY(-5%);
  }
  100% {
    transform: translateY(5%);
  }
}
/*contents
==============================*/
.sec-title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}
.sec-title .en {
  font-size: min(200px, calc(100vw/3.5));
  font-style: italic;
  font-weight: 700;
  letter-spacing: -.075em;
  text-indent: -.07em;
  line-height: 67%;
}
.sec-title .ja {
  font-size: min(20px, calc(100vw/25));
  font-weight: 600;
  line-height: 1.14;
  letter-spacing: .06em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
}
.sec-title .ja span{
  font-size: 1.55em;
  font-weight: 900;
}
.sec-title .en span {
  color: rgba(255, 255, 255, 0);
}
.sec-title .en span::after {
  content: "";
  width: .85em;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  position: absolute;
  top: 52%;
  left: 0;
  translate: -32% -50%;
}
.title-event .en span::after {
  background-image: url("../images/title/t_e.png");
}
.title-features .en span::after, .title-facilities .en span::after {
  background-image: url("../images/title/t_f.png");
}
.title-qual-intro .en span::after {
  width: 1em;
  top: 60%;
  background-image: url("../images/title/t_q.png");
  translate: -15% -50%;
}
.qual-title.careers .en span::after {
  background-image: url("../images/title/t_c.png");
  translate: -20% -52%;
}
.sec-title.title-process{
  -ms-align-items: flex-end;
  align-items: flex-end;
}
.sec-title.title-process .en{
  font-size: min(140px, calc(100vw/7.8));
}
.title-process .en span::after {
  width: 1em;
  height: 110%;
  background-image: url("../images/title/t_2.png");
  translate: -45% -50%;
}

.title-facilities .en span::after {
  translate: -30% -50%;
}
.title-access .en span::after {
  width: 1em;
  background-image: url("../images/title/t_a.png");
}

/*button setting*/
.btn-wrap {
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
}
.rect-btn a {
  width: 100%;
  height: min(114px, 15vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  border: 1px solid #fff;
  font-size: min(18px, 3.6vw);
}
.rect-btn a::after {
  content: "";
  width: 3em;
  height: 1px;
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  background: #fff;
  transition: translate var(--transit);
}
.rect-btn::before {
  content: "";
  width: 100%;
  height: 100%;
  background: var(--clr-blue);
  position: absolute;
  left: 0;
  top: 0;
  scale: 0 1;
  transition: scale var(--transit);
  transform-origin: 100% 50%;
}

.rect-btn.back-home{
  width: min(300px,100%);
}
.rect-btn.back-home a{
  height: 50px;
  color: var(--clr-blue);
  border-color: var(--clr-blue);
}
.rect-btn.blue a{
  height: 65px;
  color: var(--clr-blue);
  border-color: var(--clr-blue);
}
.rect-btn.back-home a::after
,.rect-btn.blue a::after{
  background:linear-gradient(90deg,var(--clr-blue) calc(100% - 10px),var(--clr-blue) calc(100% - 10px));
  transition-delay:background 1s;
}
@media(hover) {
  .rect-btn:hover::before {
    scale: 1 1;
    transform-origin: 0% 50%;
  }
  .rect-btn a:hover::after {
    translate: 10px -50%;
  }
  .rect-btn.back-home a:hover
  ,.rect-btn.blue a:hover{
    color: #fff;
  }
  .rect-btn.back-home a:hover::after
  ,.rect-btn.blue a:hover::after{
    background:linear-gradient(90deg,#fff calc(100% - 10px),var(--clr-blue) calc(100% - 10px));
  }
}
.rect-btn a span {
  word-break: keep-all;
  text-align: center;
  line-height: calc(24/20);
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.in-text {
  letter-spacing: .025em;
  text-indent: .025em;
  line-height: calc(32/16);
}
/*movie
=====================*/
.sec-movie-blc {
  background: var(--wall-gry);
  padding-top: min(25px, 5vw);
  padding-bottom: min(120px, 15vw);
}
.movie-player-wrap {
  width: min(860px, 100%);
  aspect-ratio: 1/0.5625;
  margin-left: auto;
  margin-right: auto;
  padding-left: min(10px, 2vw);
  padding-right: min(10px, 2vw);
  border-left: 1px solid;
  border-right: 1px solid;
  margin-top: max(-24px, -1.5vw);
}
.movie-player-wrap::after {
  content: "";
  width: 8px;
  aspect-ratio: 1/6;
  position: absolute;
  right: max(-20px, -4vw);
  top: 0;
  background: url("../images/pic/ciecle.svg") no-repeat center/100%;
}
.movie-thumnb {
  background: no-repeat url('https://img.youtube.com/vi/2AfNi-ENn_0/maxresdefault.jpg') center center / cover;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.movie-thumnb::after {
  content: "";
  position: absolute;
  pointer-events: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("../images/wall/cover.png") no-repeat center/cover;
}
.movie-player {
  display: none;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.play-button {
  width: min(300px, 32%);
  aspect-ratio: 1/0.8671;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  color: #fff;
  z-index: 1;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: flex-start;
}
.play-button::before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1.1533;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background: rgba(255, 255, 255, .35);
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  transition: background var(--transit);
}
.play-button p {
  font-size: var(--head3);
  font-weight: 700;
  font-style: italic;
  letter-spacing: -.065em;
  text-indent: -.065em;
  padding-bottom: .25em;
  translate: -.25em 0;
  transition: translate var(--transit);
}
.play-button p::before {
  content: "";
  width: calc(100% + 1em);
  height: 1px;
  background: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: scale var(--transit);
  transform-origin: left bottom;
}
@media(hover) {
  .movie-thumnb:hover .play-button::before {
    background: rgba(255, 255, 255, .6);
  }
  .movie-thumnb:hover .play-button p {
    translate: -.1em 0;
  }
  .movie-thumnb:hover .play-button p::before {
    scale: 1.8 1;
  }
}
/*event
======================*/
.sec-event-blc {
  gap: min(200px, 20vw);
  padding-top: min(200px, 20vw);
  background: url("../images/wall/event.png") no-repeat top center/cover;
}
.event-intro-in {
  width: min(680px, 100%);
  margin-left: auto;
  display: grid;
  grid-template-columns: auto auto;
  gap: min(80px, 5vw);
  font-weight: 600;
}
.event-intro-in::before {
  content: "";
  aspect-ratio: 1/0.713;
  width: min(570px, 60vw);
  position: absolute;
  background: url("../images/pic/logo-path.png") no-repeat center/100%;
  right: 100%;
  bottom: 0;
  translate: -10% 40%;
  mix-blend-mode: multiply;
}
.event-intro-in .in-title {
  font-size: var(--head3);
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1.4;
  letter-spacing: .1em;
}
.event-intro-in .in-title span{
  padding-top:.5em;
  padding-bottom: .5em;
}
.event-intro-in .in-title span::before
,.event-intro-in .in-title span::after{
  content: "";
  position: absolute;
  left: 50%;
}
.event-intro-in .in-title span::before{
  content: "（";
  top: 0;
  translate:-50% -50%;
}
.event-intro-in .in-title span::after{
  content: "）";
  bottom: 0;
  translate:-50% 50%;
}
.event-intro-in .in-text {
  font-size: var(--fs-mid20);
  padding-top: min(160px, 15vw);
  line-height: calc(50/20);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.event-schedule {
  width: min(1200px,100%);
  color: #fff;
  overflow: hidden;
  padding-left: min(50px, 4vw);
  padding-right: min(50px, 4vw);
  padding-bottom: min(150px, 10vw);
  background: rgba(0, 0, 0, .75);
}
.event-schedule .sec-title {
  gap: min(20px, 3vw);
  margin-left: auto;
  -ms-align-items: flex-end;
  align-items: flex-end;
  padding-bottom: min(50px, 10vw);
}
.event-schedule .sec-title::after, .schedule-list::after {
  content: "";
  width: 100vw;
  height: 1px;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  position: absolute;
}
.event-schedule .sec-title .en {
  translate: -.25em -1px;
}
.schedule-list {
  display: grid;
  grid-template-columns: auto 50%;
}
.schedule-list li {
  display: grid;
  gap: min(30px, 5vw);
  padding-top: min(60px, 8vw);
  padding-bottom: min(80px, 15vw);
}
.schedule-list li p.att{
  position: absolute;
  bottom: min(40px, 8vw);
  right: 0;
  translate:0 100%;
  padding-left: 1em;
  font-size: min(16px,3.2vw);
}
.schedule-list li {
  padding-right: min(50px, 4vw);
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.schedule-list li:nth-child(2n) {
  padding-left: min(50px, 4vw);
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.schedule-list li .in-title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  gap: 10px;
  -ms-align-items: center;
  align-items: center;
}
.schedule-list li .in-title > span:not(.rsv) {
  word-break: keep-all;
  color: var(--clr-blk);
  font-weight: 700;
  font-size: var(--head3);
}
.schedule-list li .in-title > span:not(.rsv) > span {
  background: #fff;
}
.schedule-list li .in-title > span.rsv {
  padding-left: 1em;
  font-size: min(1em, 3.2vw);
}
.schedule-list li .in-title span.rsv::before {
  content: "";
  width: .5em;
  aspect-ratio: 1/1;
  border: .5px solid #fff;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  rotate: 45deg;
}
.event-date-box.grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(20px, 5vw) min(15px, 2vw);
}
.event-date-box:not(.grid) {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: min(20px, 5vw) min(15px, 2vw);
}
.event-date-box.grid > div:nth-child(1) {
  grid-row: 1 / 2;
  grid-column: 1 / 2;
}
.event-date-box.grid > div:nth-child(2) {
  grid-row: 2 / 2;
  grid-column: 1 / 2;
}
.event-date-box.grid > div:nth-child(3) {
  grid-row: 1 / 2;
  grid-column: 2 / 2;
}
.event-date-box.grid > div:nth-child(4) {
  grid-row: 2 / 2;
  grid-column: 2 / 2;
}
.event-date-box > div {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: baseline;
  align-items: baseline;
  gap: 10px 20px;
}
.event-date-box > div:has(.time){
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
.event-date-box > div span.date {
  font-size: clamp(32px, 5vw, 72px);
  font-weight: 700;
  font-style: italic;
  letter-spacing: -0.07em;
  text-indent: -0.07em;
  white-space: nowrap;
}
.event-date-box > div span.week{
  font-size: min(25px, 4vw);
  translate: 0 -5px;
}
.event-date-box > div span.week::before {
  content: "";
  width: 1.35em;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  border: 1px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.schedule-list li .time {
  font-size: min(40px, 3.6vw);
  font-weight: 700;
  font-style: italic;
}
.schedule-list li .time > span{
  font-size: .5em;
  letter-spacing: normal;
}
.event-schedule .btn-wrap {
  margin-top: -1px;
}
.event-schedule .rect-btn {
  width: min(620px, 100%);
}
/*イベント終了後*/
.end-event {
  color: #fff;
  opacity: 0.6;
}
.event-date-box > div.end-event span.week::before {
    content: "";
    width: 1.35em;
    aspect-ratio: 1 / 1;
    border-radius: 100vmax;
    border: 1px solid #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
.event-date-box > div.end-event{
  position: relative;
}
.event-date-box > div.end-event::after {
  content: "";
  position: absolute;
  border-top: 3px solid #fff;
  top: 50%;
  width: 80%
}
/*features
=====================*/
.sec-features-blc {
  display: flex;
  flex-direction: column;
  gap: min(140px, 20vw);
  -ms-align-items: flex-start;
  align-items: flex-start;
  margin-top: min(120px, 15vw);
}
.sec-features-blc .sec-title .ja {
  margin-left: auto;
  translate: -30% 5%;
}
.sec-features-box {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: min(200px, 20vw);
  overflow: hidden;
}
.sec-features-box > * {
  display: flex;
}
.detail-area {
  width: calc(60vw + (40vw*.2044));
  padding-left: min(50px, 5vw);
  padding-right: min(25px, 2.5vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  /*  min-height: 300vh;*/
}
.detail-area > * {
  width: min(700px, 100%);
}
.thumb-area {
  width: 40%;
  position: absolute;
  top: 0;
  right: 0;
}
.features-intro {
  display: grid;
  grid-template-columns: min(120px, 18vw) auto;
  align-items: flex-start;
}
.features-intro .num {
  font-size: min(150px, 25vw);
  font-style: italic;
  line-height: 70%;
  font-weight: 700;
    text-align: center;
}
.features-curriculum .features-intro .num {
  color: var(--clr-blue);
}
.features-curriculum .features-intro .title {
  color: var(--clr-blue);
}
.features-curriculum .features-intro .main span {
  background: var(--clr-blue);
}
.features-curriculum .thumb-list .in-text {
  background: var(--clr-blue);
}
.features-method .features-intro .num {
  color: var(--clr-wblue);
}
.features-method .features-intro .title {
  color: var(--clr-wblue);
}
.features-method .features-intro .main span {
  background: var(--clr-wblue);
}
.features-method .thumb-list .in-text {
  background: var(--clr-wblue);
}
.features-support .features-intro .num {
  color: var(--clr-grn);
}
.features-support .features-intro .title {
  color: var(--clr-grn);
}
.features-support .features-intro .main span {
  background: var(--clr-grn);
}
.features-support .thumb-list .in-text {
  background: var(--clr-grn);
}
.features-intro .comment {
  padding-top: min(30px, 5vw);
  -ms-align-items: center;
  align-items: center;
  gap: min(60px, 10vw);
}
.features-intro .title {
  width: 100%;
  gap: 10px;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.features-intro .title .sub {
  font-size: min(18px, 4vw);
  letter-spacing: .07em;
  text-indent: .07em;
}
.features-intro .main {
  font-size: min(50px, calc(100vw/12));
  color: #fff;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: flex-start;
  align-items: flex-start;
  gap: 8px;
  letter-spacing: .05em;
  text-indent: .05em;
}
.features-intro .comment > .in-text {
  font-size: var(--fs-mid20);
  line-height: calc(44/20);
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.thumb-list li {
  width: min(390px, 100%);
  min-height: 300px;
}
.thumb-list .in-text {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap: 1.5em;
}
.thumb-list .in-text span {
  font-size: var(--fs-mid20);
  letter-spacing: .05em;
  text-indent: .05em;
  display: block;
}
.thumb-list .in-text {
  background: var(--clr-blue);
  color: #fff;
  padding: min(40px, 8vw) min(30px, 4vw);
  line-height: 2;
}
.thumb-list li:nth-child(n+2) {
  margin-top: min(60px, 10vw);
}
.thumb-list li::before {
  content: "";
  height: 320px;
  position: absolute;
  left: 0;
  top: 0;
  translate: calc(-100% + min(60px, 3vw)) -20px;
  z-index: -1;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #000;
}
.thumb-list li.curriculum::before {
  aspect-ratio: 1/0.6484;
  background-image: url("../images/thumb-curriculum01.jpg");
}
.thumb-list li.method01::before {
  aspect-ratio: 1/1;
}
.thumb-list li.method02::before {
  aspect-ratio: 1/0.6484;
}
.thumb-list li.support::before {
  aspect-ratio: 1/0.6484;
}
.features-other-list {
  margin-top: min(80px, 10vw);
}
.features-other-list li {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.features-other-list li.thumb-wid + li:not(.thumb-wid) {
  margin-top: min(80px, 10vw);
}
.features-other-list li:not(:first-child) {
  margin-top: min(60px, 10vw);
}
.features-other-list li figure {
  background: #ccc;
  aspect-ratio: 1/0.7484;
  width: 50%;
  overflow: hidden;
}
.features-other-list li figure img {
  object-fit: cover;
  height: 100%;
}
.features-other-list li .comment {
  width: calc(50% + 2em);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: flex-start;
  align-items: flex-start;
  translate: -2em 0;
  margin-left: auto;
  justify-content: center;
  font-weight: 600;
}
.features-other-list li .comment h3 {
  font-size: min(20px, 4vw);
  line-height: calc(40/24);
  letter-spacing: .015em;
}
.features-other-list li.thumb-wid {
  min-height: 320px;
  -ms-align-items: center;
  align-items: center;
}
.features-other-list li.thumb-wid .comment {
  padding: min(40px, 3vw) min(35px, 4vw);
  color: #fff;
  margin-left: auto;
}
.features-other-list li.thumb-wid figure {
  position: absolute;
  height: 320px;
  right: 52%;
  top: 0;
  width: auto;
  background: #ccc;
}
.features-other-list li.thumb-wid.curriculum .comment {
  background-color: var(--clr-blue);
}
.features-other-list li.thumb-wid figure {
  aspect-ratio: 1/0.6484;
}
.features-other-list li.thumb-wid.rect figure {
  aspect-ratio: 1/1;
}
.features-other-list li.thumb-wid.method .comment {
  background-color: var(--clr-wblue);
}
.features-other-list li.thumb-wid.support .comment {
  background-color: var(--clr-grn);
}
.features-other-list li:not(.thumb-wid) .comment h3 {
  background: var(--wall-base);
  padding: min(10px, 4vw) min(20px, 2.5vw);
}
.features-other-list li:not(.thumb-wid) .comment h3::after {
  content: "";
  width: 5em;
  height: 1px;
  background: var(--clr-blk);
  position: absolute;
  bottom: 0;
  left: 0;
}
.features-other-list li .comment .in-text {
  margin-top: min(1em, 2.5vw);
  line-height: 2;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: normal;
  text-indent: inherit;
}
.features-other-list li:not(.thumb-wid) .comment .in-text {
  padding-left: calc(2em + min(20px, 4vw));
}
.features-other-list li .comment .in-text span.min{
  font-size: min(14px,3.2vw);
}
/*method*/
.method-result {
  margin-top: min(80px, 15vw);
  margin-right: auto;
  width: calc(60vw - min(50px, 5vw));
  padding: min(50px, 10vw) min(50px, 5vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  text-align: center;
  gap: min(15px, 3vw);
}
.method-result::before {
  content: "";
  width: calc(60vw + (40vw*0.2044));
  height: min(20px,4vw);
  background: url("../images/sec-line.svg") no-repeat center/auto 100%;
  position: absolute;
  left: max(-50px, -5vw);
  top: 0;
}
.method-result::after{

}
.method-result .text {
  font-size: var(--fs-mid24);
  letter-spacing: .05em;
  text-indent: .05em;
  line-height: calc(50/24);
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-bottom: 2px;
}
.method-result .text span {
  border-bottom: 3px double var(--clr-blk);
}
.method-result .thumb {
  width: min(730px, 100%);
}
/*support*/
.features-support .detail-area {
  padding-bottom: min(120px, 15vw);
}
/*qualifications*/
.sec-qual-blc {
  color: #fff;
}
.sec-qual-box {
  background: no-repeat url("../images/wall/qual.png") center top/cover;
  padding-top: min(120px, 20vw);
  padding-left: min(40px, 5vw);
  padding-right: min(40px, 5vw);
  padding-bottom: min(120px, 15vw);
  gap: min(120px, 10vw);
}
.sec-qual-box > * {
  width: min(1000px, 100%);
}
.qual-title {
  width: 100%;
  gap: min(30px, 4vw);
}
.qual-title .en {
  font-size: min(150px, calc(100vw/6.5))
}
.qual-title .ja {
  font-size: min(30px, calc(100vw/25));
}
.qual-title:not(.careers) .ja {
  translate: min(4em, 10vw) 0;
}
/*intro*/
.qual-intro {
  gap: min(60px, 5vw);
}
.qual-intro-in {
  width: min(800px, 100%);
}
.qual-intro-in h3 {
  font-size: min(20px, calc(100vw/22.75));
  font-weight: 600;
}
.qual-backup-list {
  display: grid;
  grid-template-columns: 53% 47%;
  border: 1px solid #fff;
  margin-top: min(30px, 5vw);
}
.qual-backup-list li {
  padding: min(40px, 5vw) min(40px, 4vw);
  font-weight: 600;
}
.qual-backup-list li h4 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  line-height: calc(40/24);
}
.qual-intro-in h4 span {
  font-size: min(24px, 4.5vw);
}
.qual-backup-list li .comment {
  margin-top: min(30px, 5vw);
  line-height: 2;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.qual-backup-list li:last-child {
  border-left: 1px solid #fff;
  background: rgba(255, 255, 255, .5);
  color: #0167B3;
  text-align: center;
}
.qual-backup-list li:last-child .comment{
  -ms-align-items: center;
  align-items: center;
  gap:5px;
}
.qual-backup-list li .comment p > span.ast{
  padding-right: .5em;
}
.qual-backup-list li .comment p > span.ast::after{
  content: "※";
  font-size: .5em;
  position: absolute;
  top: 0;
  right: 0;
  translate:0 -25%;
}
.qual-backup-list li .comment p.att{
  padding-left: .95em;
  font-size: min(13px,3.2vw);
}
.qual-backup-list li .comment p.att::before{
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.quel-list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0 1em;
}
.quel-list span:not(:last-child)::before {
  content: "⚪︎";
}
/*careers*/
.qual-careers .qual-title {
  -ms-align-items: center;
  align-items: center;
}
.qual-careers .qual-title .ja {
  margin-right: auto;
}
.qual-careers-in .thumb {
  width: max(43vw, calc(40% + min(90px, 9vw)));
  position: absolute;
  left: 40%;
  bottom: 0;
  aspect-ratio: 1/0.7419;
  max-height: 460px;
  translate: -100% 0;
}
.qual-careers-in .thumb img {
  object-fit: cover;
  height: 100%;
}
.qual-careers-in .detail {
  width: 60%;
  margin-left: auto;
  padding-left: min(80px, 5vw);
  min-height: 460px;
  padding-bottom: min(30px, 5vw);
}
.qual-careers-in .detail .comment {
  line-height: 2;
  margin-top: min(60px, 5vw);
  font-weight: 600;
}
.qual-careers-in .detail .comment .in-title {
  font-size: min(20px, 4.8vw);
}
.qual-careers-in .detail .comment .in-text {
  margin-top: min(40px, 5vw);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/*process
======================*/
.sec-process-blc{
  padding-top: min(100px,15vw);
  width: min(1200px,100%);
}
.sec-process-box{
  margin-top: min(80px,10vw);
}
.sec-process-box .box-title{
  font-size: var(--head3);
  font-weight: 600;
}
.process-detail {
  margin: min(30px, 5vw) auto 0;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.process-detail::-webkit-scrollbar {
  display: none;
}
.process-detail p {
  width: 100%;
  min-width: 800px;
}
.process-detail .scroll-hint-icon {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: flex-end;
  background: url("../images/wall/cover.png") no-repeat center/cover;
  background-blend-mode: multiply;
}
.process-detail .scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 1;
}
.process-detail .scroll-hint-icon:before, .process-detail .scroll-hint-icon:after {
  content: none;
}
.process-detail .scroll-hint-text {
  font-size: 1.5em;
  font-style: italic;
  margin: 0;
  font-weight: 700;
  padding-bottom: 10px;
  translate: 0 0;
}
.process-detail .scroll-hint-text::before {
  content: "";
  height: 6px;
  width: 50%;
  position: absolute;
  right: 0;
  bottom: 0;
  transform-origin: left;
  background: url("../images/swipe.svg") no-repeat left bottom/auto 100%;
}
.process-detail .is-active .scroll-hint-text::before {
  animation: scroll-arrow 2s var(--easing);
  animation-iteration-count: 3;
  animation-delay: 1s;
}
@keyframes scroll-arrow {
  0% {
    width: 50%;
  }
  20% {
    width: 30vw;
  }
  50%, 100% {
    width: 50%;
  }
}
/*faciliyies
======================*/
.sec-facilities-blc {
  margin-top: min(120px, 15vw);
}
.sec-facilities-blc .sec-title {
  z-index: 1;
}
.facilities-intro-in {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  /*  min-height: 400px;*/
  min-height: calc(58vw*0.4734);
/*  margin-top: max(-30px, -3vw);*/
}
.facilities-intro-in .thumb {
  width: 58vw;
  position: absolute;
  max-height: 400px;
  aspect-ratio: 1/0.4734;
  left: min(425px, 42vw);
  top: max(-20px, -3vw);
}
.facilities-intro-in .thumb span{
  font-size: min(11px,3.2vw);
  line-height: calc(20/14);
}
.facilities-intro-in .comment {
  width: min(425px, 42%);
  font-weight: 600;
  padding-top: min(80px, 10vw);
}
.facilities-intro-in .comment .in-title {
  font-size: var(--fs-mid20);
  line-height: 2;
}
.facilities-intro-in .comment .in-text {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-top: min(30px, 3vw);
}
.facilities-list {
  width: min(972px, 100%);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-left: auto;
  margin-right: auto;
  margin-top: min(60px, 10vw);
  gap: min(20px, 5vw);
}
.facilities-list li {
  padding: min(30px, 5vw) min(20px, 3vw);
  display: grid;
  place-content: center;
  place-items: center;
  background-color: #F3F2F1;
  background-image: linear-gradient(to bottom, #000 1px, transparent 1px), linear-gradient(to top, #000 1px, transparent 1px), linear-gradient(to left, #000 1px, transparent 1px), linear-gradient(to right, #000 1px, transparent 1px);
  background-repeat: no-repeat;
  background-size: calc(100% - 5px) 100%, calc(100% - 5px) 100%, 100% calc(100% - 5px), 100% calc(100% - 5px);
  background-position: top center, bottom center, center left, center right -1px;
}
.facilities-list li p {
  font-size: var(--fs-mid18);
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  line-height: calc(32/20);
}
/*Access
======================*/
.sec-access-blc {
  margin-top: min(120px, 15vw);
  padding-bottom: min(150px, 20vw);
}
.sec-access-box {
  width: min(1110px, 100%);
  -ms-align-items: center;
  align-items: center;
  gap: min(60px, 5vw);
}
.sec-access-box .sec-title {
  margin-left: auto;
}
.map-area {
  width: 100%;
}
.map-area .detail {
  -ms-align-items: flex-end;
  align-items: flex-end;
  text-align: right;
  z-index: 1;
  font-weight: 600;
  position: absolute;
  top: 0;
  right: 0;
}
.map-area .detail .in-title {
  font-size: var(--head3);
  color: var(--clr-blue);
  line-height: calc(50/32);
  letter-spacing: .06em;
  text-indent: .06em;
}
.map-area .detail .in-text {
  margin-top: min(20px, 2vw);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.map-area .detail .in-text span {
  font-weight: 600;
  font-size: 1.1em;
}
.map-area .map {
  width: min(850px, 75%);
}
.transfer-guide{
  width: min(570px,100%);
}
.transfer-guide .in-title{
  font-size: var(--fs-mid20);
  font-weight: 600;
}
.transfer-guide .guide{
  margin-top: min(35px,8vw);
}
/*inquiry
===========================*/
.sec-inquiry-link {
  background: url("../images/wall/inqyiry.png") no-repeat center/cover;
  color: #fff;
}
.inquiry-link-box {
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: min(15px, 2.5vw) min(50px, 5vw);
  -ms-align-items: flex-end;
  align-items: flex-end;
  justify-content: center;
  padding-top: min(50px, 5vw);
  padding-bottom: min(60px, 8vw);
}
.title-inquiry {
  margin-right: auto;
}
.inquiry-link-box .rect-btn {
  width: 50%;
  margin-left: auto;
}
.title-inquiry .en span::after {
  background-image: url("../images/title/t_e.png");
}
/*requirements
===========================*/
.sec-req-blc {
  background: var(--wall-gry);
}
.sec-req-blc .sec-title .en {
  font-size: min(140px, calc(100vw / 7.8));
}
.req-btn-box{
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: min(20px, 4vw);
}
.inquiry-link-box .req-btn-box .rect-btn{
  width: 100%;
}
.inquiry-link-box .req-btn-box .rect-btn a {
  height: min(70px, 15vw);
}
.req-btn-box .rect-btn a {
    width: 100%;
    height: min(114px, 15vw);
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    border: 1px solid var(--clr-blk);
    font-size: min(18px, 3.6vw);
}
.req-btn-box .rect-btn a::after {
    content: "";
    width: 3em;
    height: 1px;
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
    background: var(--clr-blk);
    transition: translate var(--transit);
}
@media(hover) {
  .req-btn-box .rect-btn:hover::before {
    scale: 1 1;
    transform-origin: 0% 50%;
  }
  .req-btn-box .rect-btn a:hover {
    color: #fff;
  }
  .req-btn-box .rect-btn a:hover::after {
    translate: 10px -50%;
  }

}
.sec-req-blc .detail .in-title {
  font-size: var(--head3);
  line-height: calc(50 / 32);
  letter-spacing: .06em;
  text-indent: .06em;
  margin-top: .8em;
}
.sec-req-blc .detail {
  width: 100%;
}

/*top用*/
.rect-btn.req-banner {
  width: 100%;
  margin-top: 1em;
}
.rect-btn.req-banner a {
  width: 100%;
  height: min(70px, 15vw);
  color: #fff;
}

/*footer
============================================*/
footer {
  margin-top: auto;
  background: url("../images/wall/key-loop.png") no-repeat center/cover;
  height: 540px;
}
footer::before {
  content: "";
  aspect-ratio: 1/0.7287;
  height: calc(100% - min(30px,5vw));
  position: absolute;
  right: 0;
  bottom: 0;
  background: url("../images/pic/person.png") no-repeat left center/auto 100%;
  translate: 15% 0;
  opacity: .8;
}
.footer-inner {
  height: 100%;
  -ms-align-items: center;
  align-items: center;
}
.footer-inner::before {
  content: "";
  height: 100%;
  width: 100vw;
  background: url("../images/wall/key-cover.png") no-repeat center bottom/cover;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  scale:-1 1;
}
.foot-inquiry {
  width: min(550px, 100%);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
}
.foot-contact {
  margin-top: min(30px, 5vw);
  text-shadow: 0 0 2px #fff;
}
.foot-contact a {
  font-size: min(37px, calc(100vw/15));
  font-style: italic;
  font-weight: 500;
}
.foot-contact p{
   font-size: min(14px, 3.2vw);
  line-height: calc(20/14);
  letter-spacing: .1em;
}
.foot-contact .detail{
  margin-top: .5em;
}
.foot-contact .address {
  margin-top: 1em;
}
footer .copy {
  margin-top: min(30px, 10vw);
  font-size: 12px;
}
.foot-logo {
  width: min(320px, 70vw);
    pointer-events: auto;
}
/*under
================================================================*/
.under-contents {
  padding-top: min(100px, 15vw);
  padding-bottom: min(150px, 15vw);
}
.key-under{
  min-height: 200px;
  display: grid;
  place-content:center;
}
.key-under .page-title{
  font-size: min(30px,8vw);
  font-weight: 600;
  letter-spacing: .07em;
  text-indent: .07em;
}
/*contact
========================================*/
.page-contact-intro{
  gap:min(20px,5vw);
  line-height: calc(26/16);
  font-size: min(14px,3.6vw);
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
.page-contact-intro a{
  margin-left: auto;
  display: block;
  padding-right: 1.5em;
  font-size: min(14px,3.6vw);
  font-weight: 600;
}
.page-contact-intro a::before
,.page-contact-intro a::after{
  content: "";
  width: 5px;
  aspect-ratio:1/1;
  border: 1.5px solid;
  border-color: var(--clr-blk) var(--clr-blk) transparent transparent;
  position: absolute;
  right: 0;
  top: 50%;
  translate:0 -50%;
  rotate:45deg;
}
.page-contact-intro a::before{
  translate:-50% -50%;
}
.form-wrap {
  width: min(780px, 100%);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap:min(60px,8vw);
/*  margin-top: min(60px, 10vw);*/
}
.form-list input[type="text"], .form-list input[type="email"], .form-list input[type="tel"], .form-list textarea {
  padding: 10px 15px;
  border:1px solid rgba(0,0,0,.15);
}
.form-list textarea{
  width: 100%;
  min-height: min(200px,35vw);
}
.form-list input.inp-zip{
  width: min(10em,100%);
}
.form-list > div {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.form-list > div:not(:first-child) {
  margin-top: min(20px, 5vw);
}
.form-list dt {
  width: 12em;
  padding-top: 10px;
  padding-bottom: 10px;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.form-list dt p.must{
  padding-left: 2.25em;
}
.form-list dt p.must::before{
  content: "必須";
  font-size: min(10px,3vw);
  position: absolute;
  left: 0;
  top: 50%;
  translate:0 -50%;
  padding: 2px 4px;
  background: #CD3F41;
  color: #fff;
  border-radius: 2px;
}
.form-list dd {
  width: calc(100% - 12em);
  font-size: 16px;
}

/*radio*/
.form-list dd.radio {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: min(15px, 5vw) 1em;
  padding-top: 10px;
}
.radio-wrap {
  cursor: pointer;
}
.radio-wrap span {
  display: block;
  padding-left: 1.25em;
}
.radio-wrap span::before, .radio-wrap span::after {
  content: "";
  width: .85em;
  aspect-ratio: 1/1;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  border-radius: 100vmax;
}
.radio-wrap span::before {
  border: 1px solid rgba(0,0,0,.15);
  background: #fff;
}
.radio-wrap span::after {
  width: calc(.85em - 4px);
  background: var(--clr-blue);
  left: 3px;
  opacity: 0;
}
.radio-wrap input:checked + span::after {
  opacity: 1;
}
.form-hide-item {
  width: 100%;
  padding: 10px;
}
.form-hide-item.is-hide{
  display: none;
}
.form-hide-item input{
  background: #fff;
}
.hide-select-in > div {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.hide-select-in > div:not(:first-child) {
  margin-top: 10px;
}
.hide-select-in .label {
  width: 6em;
  padding-top: 10px;
  padding-bottom: 10px;
}
.hide-select-in .input {
  width: calc(100% - 6em);
}
.form-btn-wrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap:min(15px,5vw);
}
.send-rect-btn{
  width: min(250px,100%);
}
.send-rect-btn input{
  width: 100%;
  height: 44px;
  color: #fff;
  letter-spacing: .05em;
  text-indent: .05em;
  font-weight: 600;
  background: var(--clr-blue);
}
.send-rect-btn input:disabled{
  opacity: .5;
  pointer-events: none;
}
.send-rect-btn::after{
  content: "";
  width: 1.5em;
  height: 1.5px;
  background: linear-gradient(90deg,#fff 50%,#fff 50%);
  position: absolute;
  right: 0;
  top: 50%;
  translate:0 -50%;
  transition:all .3s ease;
}
@media (hover){
  .send-rect-btn:not(.disabled):hover::after{
    background: linear-gradient(90deg,#fff 50%,var(--clr-blue) 50%);
    translate:50% -50%;
  }
}

.form-btn-wrap .check-wrap{
  font-size: min(14px,3.6vw);
}
/*select*/
.select-wrap {
  background: #fff;
}
.select-sc-type {
  width: min(250px, 100%);
}
.select-wrap select {
  width: 100%;
  font-size: 16px;
  padding: 10px 15px;
  border: 1px solid rgba(0,0,0,.15);
}
.select-wrap::after {
  content: "";
  width: 5px;
  aspect-ratio: 1/1;
  border: 1px solid;
  border-color: transparent var(--clr-blue) var(--clr-blue) transparent;
  position: absolute;
  right: 10px;
  top: 50%;
  translate: 0 -50%;
  rotate: 45deg;
}
.sc-year-input .input {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  gap: 10px;
}
.sc-year-input .input input {
  width: 6em;
}
.sc-year-input .input span {
  font-size: min(14px, 3.4vw);
}
.hide-compa-select .select-wrap{
  width: 6em;
}
/*check*/
.check-wrap{
  cursor: pointer;
}
.check-wrap span{
  display: block;
  padding-left: 1.25em;
}
.check-wrap span::before
,.check-wrap span::after{
  content: "";
  position: absolute;
  top: 50%;
}
.check-wrap span::before{
  width: .85em;
  aspect-ratio:1/1;
  border: 1px solid var(--clr-blk);
  background: #fff;
  left: 0;
  translate:0 -50%;
}
.check-wrap span::after{
  border-right: 2px solid var(--clr-blue);
  border-bottom: 2px solid var(--clr-blue);
  content: '';
  display: block;
  height: .5em;
  aspect-ratio:1/1.75;
  transform: rotate(45deg);
  left: 0;
  translate:60% -65%;
  opacity: 0;
}
.check-wrap input:checked + span::after{
  opacity: 1;
}
/*form conf*/
.conf-form dd p{
  padding-top: 10px;
  padding-bottom: 10px;
  min-height: 40px;
}
.conf-form dd.radio{
  padding-top: 0;
}
.conf-form > div:not(:last-child){
  border-bottom: 1px solid rgba(0,0,0,.15);
}
.back-form-btn{
  width: auto;
  padding-left: 1em;
  position: relative;
}
.back-form-btn::before
,.back-form-btn::after{
  content: "";
  width: 5px;
  aspect-ratio:1/1;
  border: 1px solid;
  border-color: var(--clr-blue) transparent transparent var(--clr-blue);
  position: absolute;
  left: 0;
  top: calc(50% - 1.5px);
  translate:0 -50%;
  rotate:-45deg;
}
.back-form-btn::after{
  translate:50% -50%;
}
/*alert*/
.custom-dialog {
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
.custom-dialog .ui-widget-header {
  background: var(--wall-gry);
}
.custom-dialog .ui-button .ui-icon {
  background-image: none;
}
.custom-dialog .ui-button .ui-icon::before, .custom-dialog .ui-button .ui-icon::after {
  content: "";
  width: 50%;
  height: 2px;
  background: var(--clr-blk);
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.custom-dialog .ui-button .ui-icon::before {
  rotate: 45deg;
}
.custom-dialog .ui-button .ui-icon::after {
  rotate: -45deg;
}
.custom-dialog .ui-state-hover .ui-icon, .custom-dialog .ui-state-focus .ui-icon, .custom-dialog .ui-button:hover .ui-icon, .custom-dialog .ui-button:focus .ui-icon {
  background: none;
}
.custom-dialog.ui-dialog .ui-dialog-title {
  font-size: min(14px, 3.6vw);
}
.custom-dialog.ui-dialog .ui-dialog-content {
  font-size: min(13px, 3.6vw);
  line-height: calc(24/14);
  padding: min(15px, 3vw);
}
.custom-dialog.ui-dialog .ui-dialog-buttonpane button {
  font-size: min(14px, 3.6vw);
}

/*legal*/
.form-legal-box{
  padding: min(24px,5vw) min(15px,4vw);
/*  border:1px solid rgba(0,0,0,.1);*/
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap:min(15px,5vw);
  background: var(--wall-base);
}
.form-legal-box .in-title{
  font-weight: 600;
}
.legal-wrap{
  font-size: min(14px,3.4vw);
  line-height: calc(24/14);
  height: 10em;
  overflow-y: scroll;
  padding-right: 10px;
}
.legal-list{
  margin-top: 1em;
}
.legal-list > div:not(:first-child){
  margin-top: 1em;
}
.legal-list dd > * + *{
  margin-top: .5em;
}
.dot-list li{
  padding-left: 1em;
}
.dot-list li::before{
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

/*thanks*/
.thanks-contents{
  padding-top: 0;
}
.page-thanks-box{
  width: min(768px,100%);
  padding: min(50px,8vw) min(55px,5vw);
  background: rgba(255,255,255,1);
  margin-top: -20px;
  z-index: 10;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap:min(40px,5vw);
}
.page-thanks-box .box-title{
  font-size: var(--fs-mid20);
  letter-spacing: .05em;
  text-indent: .05em;
  font-weight: 600;
}

/* kobe-mazda add 20241212*/
.schedule-list li .time2 {
  font-size: 20px;
  font-weight: 700;
  font-style: italic;
}
.schedule-list li p.att-left{
  position: absolute;
  bottom: min(40px, 8vw);
  left: 0;
  translate:0 100%;
  padding-left: 1em;
  font-size: min(16px,3.2vw);
}
.schedule-list li p.att-left2{
  position: absolute;
  bottom: min(40px, 8vw);
  left: 0;
  translate:0 100%;
  padding-left: 3.5em;
  font-size: min(16px,3.2vw);
}
.btn-wrap .bottom-text {
  width: min(620px, 100%);
  margin-top: 1em;
  font-size: 14px;
}
#event1-rect-btn {
  margin-top: 4.1em;
}
#event2-rect-btn {
  margin-top: 3em;
}
#event3-rect-btn {
  margin-top: 2em;
}
#event4-rect-btn {
  margin-top: 1.6em;
}

/*cotnact*/
#wp-header header{
  height: auto;
}
#wp-header .hum-btn-wrap{
  justify-content: flex-end;
}
#wp-header header.nav-open{
  background: rgba(250, 250, 250, 1);
}
#wp-header #l-nav::before{
  top: auto;
  left: auto;
  height: auto;
}