@import url("global.css");
body {
  --radius-s: 6px;
}

.introduction {
  display: flex;
  gap: min(100px,6vw);
  align-items: center;
  margin-bottom: 100px;
}
.introduction .main {
  width: 50%;
  flex-shrink: 0;
}
.introduction .main .catch {
  font-size: 28px;
  margin: 0 -10px 30px 0;
  color: #639A70;
}
.introduction .main .text {
  font-size: min(18px,1.6vw);
}
.introduction .image {
  height: 400px;
}
.introduction .image img {
  border-radius: var(--radius-s);
}

.online {
  background: url("../img/bgmesh.png") repeat left top/1400px auto;
  border-radius: var(--radius);
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  padding: 55px min(65px,5vw);
  gap: min(60px,4.6vw);
  margin-bottom: 170px;
}
.online .en {
  position: absolute;
  top: 20px;
  right: 20px;
  font-family: "Manrope", "Zen Kaku Gothic New", sans-serif;
  font-size: 11px;
  color: #8E8E8E;
  text-align: right;
}
.online .image {
  width: 390px;
  max-width: 40%;
  flex-shrink: 0;
  height: 260px;
  position: relative;
}
.online .image > img {
  border-radius: var(--radius-s);
}
.online .image .fukidashi {
  position: absolute;
  top: -20px;
  right: -30px;
  width: 122px;
  height: 115px;
  background: url("../img/maru.png") no-repeat center center/100% 100%;
  color: #fff;
  font-size: 12px;
  text-align: center;
  align-content: center;
}
.online .text {
  flex-grow: 1;
}
.online .text .catch {
  font-size: min(24px,2.4vw);
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 10px;
}
.online .text .sub {
  color: #639A70;
  margin-bottom: 15px;
}

#modellist .sectitle {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 40px;
  font-size: clamp(18px, 3.5vw, 34px);
}
#modellist .sectitle::before {
  content: "";
  width: 42px;
  height: 42px;
  background: url("../img/title_ready.png") no-repeat center center/contain;
  display: block;
}
#modellist .modellist .model {
  background-color: #F1F0E7;
  border-radius: var(--radius);
  padding: min(60px,4vw);
  display: flex;
  gap: min(70px,4.5vw);
}
#modellist .modellist .model + .model {
  margin-top: 20px;
}
#modellist .modellist .model.genba {
  background-color: #f6f6f6;
}
#modellist .modellist .model .imagebox {
  width: 45%;
  flex-shrink: 0;
}
#modellist .modellist .model .imagebox .slider, #modellist .modellist .model .imagebox .image {
  position: relative;
  height: 470px;
  box-sizing: border-box;
}
#modellist .modellist .model .imagebox .slider figure, #modellist .modellist .model .imagebox .image figure {
  height: 100%;
  border-radius: var(--radius-s);
  overflow: hidden;
}
#modellist .modellist .model .imagebox .slick-list, #modellist .modellist .model .imagebox .slick-track {
  height: 100%;
}
#modellist .modellist .model .main {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  padding-top: 12px;
}
#modellist .modellist .model .main .posttitle {
  font-size: min(32px,2.6vw);
  line-height: 1.5;
  margin-top: 8px;
}
#modellist .modellist .model .main .stay {
  background-color: #383B55;
  color: #fff;
  width: fit-content;
  border-radius: 2px;
  padding: 3px 10px;
  margin-top: 15px;
  display: flex;
  gap: 5px;
  align-items: center;
  font-size: 13px;
}
#modellist .modellist .model .main .stay::before {
  content: "";
  width: 15px;
  height: 15px;
  background: url("../img/moon.png") no-repeat center center/contain;
}
#modellist .modellist .model .main .sub {
  border: #639A70 1px solid;
  border-radius: 2px;
  background-color: #fff;
  color: #639A70;
  font-size: 15px;
  margin-bottom: 20px;
  width: fit-content;
  padding: 2px 10px;
}
#modellist .modellist .model .main .text {
  font-size: min(18px,1.6vw);
  margin-top: 25px;
  line-height: 1.8;
}
#modellist .modellist .model .main .data {
  line-height: 1.5;
  font-size: 15px;
  margin-block: 30px;
}
#modellist .modellist .model .main .data div {
  display: flex;
  margin-top: 12px;
}
#modellist .modellist .model .main .data dt {
  color: #639A70;
  width: min(180px,15vw);
  flex-shrink: 0;
}
#modellist .modellist .model .main p:has(.linkbutton) {
  width: fit-content;
  margin: auto 0 0 auto;
}
#modellist .modellist .model .main p:has(.linkbutton) .linkbutton {
  width: 230px;
}

.slick-dots {
  position: absolute;
  bottom: 10px;
  right: 20px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.slick-dots li {
  position: relative;
  width: 10px;
  height: 20px;
  margin-inline: 4px;
  cursor: pointer;
}
.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 16px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  background-color: #639A70;
}
.slick-dots li button:before {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 8px;
  height: 8px;
  text-align: center;
  color: black;
  border-radius: 100%;
  background-color: #fff;
  border: none;
  transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  backface-visibility: hidden;
}
.slick-dots li.slick-active button:before {
  background-color: #639A70;
}

/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint ( 1300px )
 
------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 959px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
  .introduction {
    display: block;
    margin-bottom: 50px;
  }
  .introduction .main {
    width: auto;
    margin-bottom: 40px;
  }
  .introduction .main .catch {
    font-size: min(24px,5vw);
    margin-bottom: 25px;
  }
  .introduction .main .text {
    font-size: inherit;
  }
  .introduction .image {
    height: 400px;
  }

  .online {
    margin-bottom: 80px;
  }

  #modellist .sectitle {
    gap: 15px;
  }
  #modellist .modellist .model {
    padding: 5vw;
    display: block;
  }
  #modellist .modellist .model .imagebox {
    width: auto;
    margin-bottom: 30px;
  }
  #modellist .modellist .model .imagebox .slider, #modellist .modellist .model .imagebox .image {
    height: auto;
    aspect-ratio: 3 / 2;
  }
  #modellist .modellist .model .main {
    display: block;
    padding-top: 0;
  }
  #modellist .modellist .model .main .posttitle {
    font-size: min(26px,4.8vw);
    margin-top: 0;
  }
  #modellist .modellist .model .main .stay {
    font-size: 12px;
  }
  #modellist .modellist .model .main .sub {
    font-size: 14px;
    margin-bottom: 10px;
  }
  #modellist .modellist .model .main .text {
    font-size: inherit;
    margin-top: 20px;
    line-height: inherit;
  }
  #modellist .modellist .model .main .data {
    font-size: 90%;
  }
  #modellist .modellist .model .main .data div {
    margin-top: 10px;
  }
  #modellist .modellist .model .main .data dt {
    width: 150px;
  }
  #modellist .modellist .model .main p:has(.linkbutton) {
    margin-top: 30px;
  }
  #modellist .modellist .model .main p:has(.linkbutton) .linkbutton {
    width: 210px;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 644px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  body {
    --radius-s: 3px;
  }

  .introduction {
    margin-bottom: 30px;
  }
  .introduction .main {
    margin-bottom: 40px;
  }
  .introduction .main .catch {
    margin-bottom: 20px;
  }
  .introduction .image {
    height: auto;
    aspect-ratio: 3 / 2;
  }

  .online {
    display: block;
    padding-block: 50px 35px;
    margin-bottom: 50px;
  }
  .online .en {
    top: 15px;
    right: 5vw;
  }
  .online .image {
    width: auto;
    max-width: none;
    height: auto;
    aspect-ratio: 5 / 3;
  }
  .online .image .fukidashi {
    top: -25px;
    right: -7vw;
    width: 115px;
    height: 110px;
    font-size: 12px;
    line-height: 1.7;
  }
  .online .text {
    margin-bottom: 30px;
  }
  .online .text .catch {
    font-size: min(24px,4.5vw);
  }

  #modellist .sectitle {
    gap: 8px;
    margin-bottom: 30px;
  }
  #modellist .sectitle::before {
    width: 32px;
    height: 32px;
  }
  #modellist .modellist .model .imagebox {
    margin-bottom: 20px;
  }
  #modellist .modellist .model .main .stay {
    margin-top: 10px;
    font-size: 10px;
  }
  #modellist .modellist .model .main .stay::before {
    width: 12px;
    height: 12px;
  }
  #modellist .modellist .model .main .sub {
    font-size: 11px;
    margin-bottom: 10px;
  }
  #modellist .modellist .model .main .data {
    margin-block: 25px;
  }
  #modellist .modellist .model .main .data dt {
    width: 120px;
    letter-spacing: 0;
  }
  #modellist .modellist .model .main p:has(.linkbutton) .linkbutton {
    width: 180px;
  }

  .slick-dots {
    bottom: 6px;
    right: 15px;
  }
  .slick-dots li {
    margin-inline: 3px;
  }
  .slick-dots li button:before {
    width: 7px;
    height: 7px;
  }
}

/*# sourceMappingURL=modelhouse.css.map */
