@charset "UTF-8";
:root {
  --color-grn: #007B89;
  --color-grn2: rgba(0, 123, 137,0.07);
  --color-brw: #987B53;
  --color-grey: #A7A7A7;
  --color-wh: #fff;
  --font-jp: "游明朝", "Yu Mincho", YuMincho, "游明朝体", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
}

.blend-layer {
  background: linear-gradient(to bottom, rgb(128, 128, 128) 0%, rgb(255, 255, 255) 100%);
  height: 124px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 4;
  width: 100%;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 767px) {
  .blend-layer {
    display: none;
  }
}

.p-home .c-entrybox {
  gap: 45px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .p-home .c-entrybox {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
}
.p-home .c-entrybox-box {
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  display: grid;
  grid-template: "title  title pic" max-content "tl txt pic" 1fr "last last last"/43px 1fr 43%;
}
@media screen and (max-width: 767px) {
  .p-home .c-entrybox-box {
    grid-template: "title  title pic" max-content "txt txt pic" 1fr "last last last"/43px 1fr 42%;
  }
}
.p-home .c-entrybox-box .title {
  grid-area: title;
  font-family: "optima-nova-lt-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(35px, 32px + 0.9375vw, 50px);
  margin: 15px 0 0 20px;
  margin-block-end: 7px;
}
@media screen and (max-width: 767px) {
  .p-home .c-entrybox-box .title {
    margin: 10px 0 0 10px;
  }
}
.p-home .c-entrybox-box .tl {
  grid-area: tl;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-home .c-entrybox-box .tl {
    display: none;
  }
}
.p-home .c-entrybox-box dl {
  grid-area: txt;
  margin: clamp(10px, 8px + 0.625vw, 20px) 10px 10px clamp(10px, 6px + 1.25vw, 30px);
}
@media screen and (max-width: 767px) {
  .p-home .c-entrybox-box dl {
    margin: 10px 20px 10px 25px;
  }
}
.p-home .c-entrybox-box dl dt {
  font-size: clamp(14px, 13.6px + 0.125vw, 16px);
  font-weight: 700;
  margin-block-end: clamp(10px, 9px + 0.3125vw, 15px);
}
@media screen and (max-width: 767px) {
  .p-home .c-entrybox-box dl dt {
    font-size: 1.6rem;
  }
}
.p-home .c-entrybox-box dl dt span {
  display: inline-block;
  line-height: 1.5;
}
.p-home .c-entrybox-box dl dd {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "游ゴシック体", "Lucida Grande", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
  font-size: clamp(12px, 11.6px + 0.125vw, 14px);
  line-height: 1.7;
  max-width: 224px;
}
.p-home .c-entrybox-box figure {
  grid-area: pic;
  margin: clamp(0px, -7.4px + 2.3125vw, 37px) 0 0 auto;
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .p-home .c-entrybox-box figure {
    align-items: normal;
    margin: 0;
  }
}
.p-home .c-entrybox-box figure img {
  width: auto;
  max-height: 204px;
}
@media screen and (max-width: 1400px) {
  .p-home .c-entrybox-box figure img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
  }
}
.p-home .c-entrybox-box .-btn {
  grid-area: last;
}
.p-home .c-entrybox-box .-btn a {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "游ゴシック体", "Lucida Grande", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
  font-size: clamp(16px, 15.6px + 0.125vw, 18px);
  color: var(--color-wh);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 64px;
  border-block: 1px solid var(--color-grn);
  background: linear-gradient(to right, rgb(20, 111, 124) 0%, rgb(9, 65, 72) 100%);
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-home .c-entrybox-box .-btn a {
    height: 50px;
    justify-content: flex-start;
    padding-inline-start: 25px;
  }
}
.p-home .c-entrybox-box .-btn a:hover {
  opacity: 0.6;
}
.p-home .c-entrybox-box .-btn a:after {
  content: "";
  width: 17px;
  height: 10px;
  position: absolute;
  right: 30px;
  background-size: cover;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217.821%22%20height%3D%2210.815%22%20viewBox%3D%220%200%2017.821%2010.815%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_1154%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%201154%22%20transform%3D%22translate(-767.765%20-1986.592)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_102134%22%20data-name%3D%22%E3%83%91%E3%82%B9%20102134%22%20d%3D%22M-9265.549%2C2157.325h-16.821a.5.5%2C0%2C0%2C1-.5-.5.5.5%2C0%2C0%2C1%2C.5-.5h16.821a.5.5%2C0%2C0%2C1%2C.5.5A.5.5%2C0%2C0%2C1-9265.549%2C2157.325Z%22%20transform%3D%22translate(10050.635%20-164.825)%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_102135%22%20data-name%3D%22%E3%83%91%E3%82%B9%20102135%22%20d%3D%22M-9265.332%2C2163.91a.5.5%2C0%2C0%2C1-.354-.146.5.5%2C0%2C0%2C1%2C0-.707l4.554-4.554-4.554-4.554a.5.5%2C0%2C0%2C1%2C0-.707.5.5%2C0%2C0%2C1%2C.707%2C0l4.907%2C4.908a.5.5%2C0%2C0%2C1%2C0%2C.707l-4.907%2C4.907A.5.5%2C0%2C0%2C1-9265.332%2C2163.91Z%22%20transform%3D%22translate(10045.511%20-166.503)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}
@media screen and (max-width: 767px) {
  .p-home .c-entrybox-box .-btn a:after {
    width: 11px;
    height: 7px;
    right: 20px;
  }
}
.p-home .c-entrybox-box form {
  grid-area: last;
  width: 100%;
  height: 64px;
  background-color: #F5F5F5;
  padding-inline: 20px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-home .c-entrybox-box form {
    height: 50px;
    padding-inline: 10px 0;
  }
}
.p-home .c-entrybox-box form [type=submit] {
  letter-spacing: 0.1em;
  background: linear-gradient(to right, rgb(162, 136, 88) 0%, rgb(87, 73, 49) 100%);
  color: var(--color-wh);
  font-size: clamp(14px, 13.4px + 0.1875vw, 17px);
  width: 140px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-home .c-entrybox-box form [type=submit] {
    height: 50px;
    width: 80px;
  }
}
.p-home .c-entrybox-box form [type=password] {
  margin: 0;
  padding: 8px 8px 8px 0;
  min-height: 33px;
  background-color: transparent;
  box-sizing: border-box;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "游ゴシック体", "Lucida Grande", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
  font-size: clamp(13px, 12px + 0.3125vw, 18px);
  border: none;
  border-radius: 0;
  transition: all 0.3s ease-out;
  width: calc(100% - 140px);
}
@media screen and (max-width: 767px) {
  .p-home .c-entrybox-box form [type=password] {
    width: calc(100% - 80px);
  }
}
.p-home .c-entrybox-box form [type=password]::placeholder {
  color: #A7A7A7;
}
.p-home .c-entrybox-box form .error-text {
  width: 100%;
  color: #f30;
  position: absolute;
  bottom: -20px;
  left: 20px;
}
.p-home .c-entrybox-box.-entry .title {
  color: var(--color-grey);
}
.p-home .c-entrybox-box.-entry dl dt span {
  color: var(--color-grn);
  border-bottom: 1px solid var(--color-grn);
}
.p-home .c-entrybox-box.-limited .title {
  color: var(--color-brw);
}
.p-home .c-entrybox-box.-limited dl dt span {
  color: var(--color-brw);
  border-bottom: 1px solid var(--color-brw);
}
.p-home .c-linebox {
  max-width: 1030px;
  width: 90%;
  margin-inline: auto;
  display: grid;
  grid-template: "pic txt" auto "pic btn" auto/1fr 1fr;
  background-color: #fff;
  position: relative;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
  /*&:before{
      content: "";
      width: 190px;
      height: 190px;
      background-color: #F5F5F5;
      position: absolute;
      right: 0;
      bottom: 0;
      z-index: 1;
      clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
  }*/
}
@media screen and (max-width: 767px) {
  .p-home .c-linebox {
    display: flex;
    flex-direction: column;
    padding-block-end: 20px;
  }
}
.p-home .c-linebox figure {
  position: relative;
  z-index: 2;
}
.p-home .c-linebox figure:nth-of-type(1) {
  grid-area: pic;
}
.p-home .c-linebox figure:nth-of-type(2) {
  grid-area: qr;
  margin: auto 25px 25px auto;
}
.p-home .c-linebox dl {
  grid-area: txt;
  position: relative;
  z-index: 2;
  margin: auto 0 0 0;
  padding-inline: clamp(25px, 20px + 1.5625vw, 50px);
}
@media screen and (max-width: 767px) {
  .p-home .c-linebox dl {
    margin-block-start: 25px;
    padding-inline: 20px;
  }
}
.p-home .c-linebox dl dt {
  font-size: clamp(20px, 18.6px + 0.4375vw, 27px);
  margin-block-end: clamp(12px, 12px + 0vw, 12px);
}
@media screen and (max-width: 767px) {
  .p-home .c-linebox dl dt {
    text-align: center;
  }
}
.p-home .c-linebox dl dt span {
  color: var(--color-brw);
}
.p-home .c-linebox dl dd {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "游ゴシック体", "Lucida Grande", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
  font-size: clamp(14px, 13.2px + 0.25vw, 18px);
  font-weight: 700;
}
.p-home .c-linebox dl dd ul li {
  border-bottom: 1px dotted var(--color-grey);
  padding-block: clamp(8px, 7px + 0.3125vw, 13px);
  padding-inline-start: 30px;
  background-size: 18px;
  background-repeat: no-repeat;
  background-position: center left;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218.737%22%20height%3D%2215.498%22%20viewBox%3D%220%200%2018.737%2015.498%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_1155%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%201155%22%20transform%3D%22translate(-759.264%20-2253)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_102142%22%20data-name%3D%22%E3%83%91%E3%82%B9%20102142%22%20d%3D%22M12.283%2C90.923H1.957V80.6h8.7l1.957-1.957H0V92.88H14.239V87.61l-1.956%2C1.957Z%22%20transform%3D%22translate(759.264%202175.619)%22%20fill%3D%22%234b4b4b%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_102143%22%20data-name%3D%22%E3%83%91%E3%82%B9%20102143%22%20d%3D%22M105.926%2C48.606l-2.012%2C2.013%2C3.276%2C3.276%2C2.012%2C2.013%2C2.012-2.013%2C7.633-7.633-2.013-2.013L109.2%2C51.882Z%22%20transform%3D%22translate(659.152%202208.751)%22%20fill%3D%22%23987b53%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}
@media screen and (max-width: 767px) {
  .p-home .c-linebox dl dd ul li {
    padding-inline-start: 20px;
    background-size: 15px;
  }
}
.p-home .c-linebox dl dd ul li span {
  color: var(--color-brw);
}
.p-home .c-linebox p {
  margin: clamp(30px, 28px + 0.625vw, 40px) 0 auto 0;
  padding-inline: clamp(25px, 20px + 1.5625vw, 50px);
  grid-area: btn;
  position: relative;
  z-index: 2;
}
.p-home .c-linebox p a {
  background-image: url(../images/home/line-bg.webp);
  background-size: cover;
  width: 200px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-wh);
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "游ゴシック体", "Lucida Grande", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
  font-weight: 700;
  font-size: clamp(13px, 12.6px + 0.125vw, 15px);
}
@media screen and (max-width: 767px) {
  .p-home .c-linebox p a {
    font-size: 1.7rem;
    width: 95%;
    margin-inline: auto;
  }
}
.p-home [class*=__inner] {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
.p-home [class*=__inner].-md {
  max-width: 780px;
}
.p-home-mv figure {
  aspect-ratio: 16/9;
}
@media screen and (max-width: 767px) {
  .p-home-mv figure {
    aspect-ratio: 9/16;
  }
}
.p-home-mv figure video {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.p-home-intro {
  background-image: url(../images/home/intro-bg.webp);
  background-size: cover;
  padding-block-start: clamp(60px, 54px + 1.875vw, 90px);
  padding-block-end: clamp(20px, 15px + 1.5625vw, 45px);
}
@media screen and (max-width: 767px) {
  .p-home-intro {
    background-image: url(../images/home/intro-bg-sp.webp);
  }
}
.p-home-intro__kodo {
  text-align: center;
  margin-block-end: clamp(40px, 36px + 1.25vw, 60px);
}
.p-home-intro__kodo h2 {
  font-size: clamp(14px, 10.8px + 1vw, 30px);
  margin-block-end: 15px;
}
@media screen and (max-width: 767px) {
  .p-home-intro__kodo h2 {
    font-feature-settings: "palt";
    margin-block-end: 30px;
  }
}
.p-home-intro__kodo h2 em {
  font-style: normal;
  position: relative;
}
.p-home-intro__kodo h2 em span {
  width: 150px;
  display: block;
  position: absolute;
  bottom: -1.2em;
  left: 50%;
  transform: translateX(-50%);
  font-size: 10px;
}
@media screen and (max-width: 370px) {
  .p-home-intro__kodo h2 em span {
    bottom: -0.7em;
  }
}
.p-home-intro__kodo h3 {
  display: inline-block;
  font-size: clamp(28px, 23px + 1.5625vw, 53px);
  color: var(--color-grn);
  margin-block-end: clamp(20px, 16px + 1.25vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-home-intro__kodo h3 {
    line-height: 1.3;
  }
}
.p-home-intro__kodo h3 em {
  font-style: normal;
  position: relative;
}
.p-home-intro__kodo h3 span {
  display: block;
  font-size: clamp(10px, 8.8px + 0.375vw, 16px);
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-home-intro__kodo h3 span {
    position: absolute;
    left: -0.5em;
    top: -1.5em;
  }
}
@media screen and (max-width: 370px) {
  .p-home-intro__kodo h3 span {
    top: -0.8em;
  }
}
.p-home-intro__kodo figure {
  max-width: 1330px;
  width: 90%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-home-intro__kodo figure {
    width: 80%;
  }
}
.p-home-intro__entry {
  max-width: 1340px;
  width: 90%;
  margin-inline: auto;
  background-color: var(--color-wh);
  padding: clamp(12px, 6.4px + 1.75vw, 40px);
  margin-block-end: clamp(30px, 28px + 0.625vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-home-intro__entry {
    padding-block: 30px 15px;
  }
}
.p-home-intro__entry h2 {
  text-align: center;
  font-size: clamp(28px, 26.6px + 0.4375vw, 35px);
  color: var(--color-grn);
  margin-block-end: clamp(10px, 7px + 0.9375vw, 25px);
}
.p-home-intro__entry .-txt1 {
  text-align: center;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "游ゴシック体", "Lucida Grande", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
  font-size: clamp(12px, 11.4px + 0.1875vw, 15px);
  line-height: 1.7;
  margin-block-end: clamp(10px, 4px + 1.875vw, 40px);
}
.p-home-intro__entry .-merit {
  justify-content: center;
  gap: clamp(15px, 4px + 3.4375vw, 70px);
  margin-block-end: clamp(35px, 29px + 1.875vw, 65px);
}
@media screen and (max-width: 767px) {
  .p-home-intro__entry .-merit {
    flex-direction: column;
  }
}
.p-home-intro__entry .-merit dl dt {
  margin-block-end: clamp(8px, 5.6px + 0.75vw, 20px);
  line-height: 1.3;
}
.p-home-intro__entry .-merit dl dt span {
  display: inline-block;
  font-size: clamp(15px, 14.8px + 0.0625vw, 16px);
  color: var(--color-grn);
  border-bottom: 1px dotted var(--color-grn);
}
.p-home-intro__entry .-merit dl dd {
  font-size: clamp(22px, 19.4px + 0.8125vw, 35px);
}
@media screen and (max-width: 767px) {
  .p-home-intro__entry .-merit dl dd {
    font-feature-settings: "palt";
  }
}
.p-home-intro__entry .-merit dl dd span {
  color: var(--color-brw);
  background-color: var(--color-grn2);
  display: inline-block;
  padding: 12px 15px;
  margin-inline-end: clamp(5px, 4px + 0.3125vw, 10px);
}
@media screen and (max-width: 767px) {
  .p-home-intro__entry .-merit dl dd span {
    padding: 5px 7px;
  }
}
.p-home-copy {
  position: sticky;
  top: 0;
  left: 0;
  position: relative;
  height: 100dvh;
  height: 300vh;
}
.p-home-copy__lock {
  position: sticky;
  top: 0;
  left: 0;
}
.p-home-copy__txt {
  color: var(--color-wh);
  text-align: center;
  position: absolute;
  z-index: 2;
  top: 53%;
  transform: translateY(-50%);
  width: 100%;
}
.p-home-copy__txt h2 {
  font-size: clamp(24px, 20.8px + 1vw, 40px);
  line-height: 1.7;
  margin-block-end: clamp(20px, 17px + 0.9375vw, 35px);
  transition: 1.5s;
}
.p-home-copy__txt p {
  font-size: clamp(16px, 15.6px + 0.125vw, 18px);
  line-height: 2.25;
  transition: 1.5s;
}
@media screen and (max-width: 767px) {
  .p-home-copy__txt p {
    padding-inline: 9%;
    line-height: 1.8;
  }
}
.p-home-copy figure {
  object-fit: cover;
  height: 100%;
  width: 100%;
  height: 100dvh;
}
.p-home-copy figure img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.p-home-copy .-sdw {
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(118, 118, 118, 0) 0%, rgb(51, 51, 51) 50%, rgb(2, 2, 2) 99%, rgb(2, 2, 2) 100%);
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
  opacity: 0.64;
  transition: 1.5s;
}
.p-home-location {
  background-image: url(../images/home/location-bg.webp);
  background-size: cover;
  padding-block-end: clamp(20px, 17px + 0.9375vw, 35px);
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .p-home-location {
    background-color: var(--color-wh);
    background-image: url(../images/home/location-bg-sp.webp);
  }
}
.p-home-location__mv {
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-end;
  padding-inline-start: calc((100% - 1530px) / 2);
}
@media screen and (max-width: 1550px) {
  .p-home-location__mv {
    padding-inline-start: 5%;
  }
}
@media screen and (max-width: 767px) {
  .p-home-location__mv {
    flex-direction: column;
    padding: 0;
  }
}
.p-home-location__mv figure {
  width: 53%;
  mix-blend-mode: darken;
}
@media screen and (max-width: 767px) {
  .p-home-location__mv figure {
    width: 100%;
  }
}
.p-home-location__mv figure figcaption.caption {
  font-size: clamp(12px, 11.6px + 0.125vw, 14px);
  padding-inline-end: 5%;
  bottom: -20px;
}
@media screen and (max-width: 767px) {
  .p-home-location__mv figure figcaption.caption {
    position: static;
    margin-block-start: -15px;
  }
}
.p-home-location__mv figure figcaption.caption span {
  display: block;
  font-size: clamp(10px, 9.8px + 0.0625vw, 11px);
}
@media screen and (max-width: 767px) {
  .p-home-location__mv figure figcaption.caption span {
    transform: translateX(10px);
  }
}
.p-home-location__txt {
  width: 45%;
  max-width: 725px;
}
@media screen and (max-width: 1000px) {
  .p-home-location__txt {
    margin-block-start: 50px;
  }
}
@media screen and (max-width: 767px) {
  .p-home-location__txt {
    width: 92%;
    margin-block: 50px;
    margin-inline: auto;
  }
}
.p-home-location__txt h2 {
  color: var(--color-grn);
  margin-block-end: clamp(15px, 12px + 0.9375vw, 30px);
}
.p-home-location__txt h2 em {
  font-family: "optima-nova-lt-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  font-size: clamp(34px, 26.2px + 2.4375vw, 73px);
}
.p-home-location__txt h2 span {
  font-size: clamp(16px, 15.6px + 0.125vw, 18px);
}
@media screen and (max-width: 767px) {
  .p-home-location__txt h2 span {
    font-size: 1.8rem;
  }
}
.p-home-location__txt dl {
  margin-block-end: clamp(10px, 2px + 2.5vw, 50px);
}
.p-home-location__txt dl dt {
  font-size: clamp(10px, 5.2px + 1.5vw, 34px);
  line-height: 1.7;
  margin-block-end: clamp(20px, 18px + 0.625vw, 30px);
}
@media screen and (max-width: 767px) {
  .p-home-location__txt dl dt {
    font-size: 1.7rem;
  }
}
.p-home-location__txt dl dd {
  font-size: clamp(10px, 8.8px + 0.375vw, 16px);
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-home-location__txt dl dd {
    font-size: 1.6rem;
  }
}
.p-home-location__slide {
  position: relative;
  margin-block-start: clamp(20px, 16px + 1.25vw, 40px);
  padding-block-start: clamp(25px, 15px + 3.125vw, 75px);
  padding-block-end: clamp(20px, 12px + 2.5vw, 60px);
}
.p-home-location__slide:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../images/home/location-bg2.webp);
  background-size: cover;
  mix-blend-mode: screen;
  opacity: 0.56;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-home-location__slide:before {
    background-image: url(../images/home/location-bg2-sp.webp);
  }
}
.p-home-location__slide .p-home-location__inner {
  max-width: 1530px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-home-location__slide .p-home-location__inner {
    width: 100%;
  }
}
.p-home-location__slide dl {
  display: flex;
  gap: clamp(15px, 12px + 0.9375vw, 30px);
  margin-block-end: clamp(40px, 39px + 0.3125vw, 45px);
}
@media screen and (max-width: 767px) {
  .p-home-location__slide dl {
    flex-direction: column;
    width: 85%;
    margin-inline: auto;
  }
}
.p-home-location__slide dl dt {
  font-size: clamp(19px, 17.8px + 0.375vw, 25px);
  line-height: 1.7;
  flex-shrink: 0;
}
@media screen and (max-width: 1100px) {
  .p-home-location__slide dl dt {
    flex-shrink: 1;
    flex: 1;
  }
  .p-home-location__slide dl dt br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-home-location__slide dl dt br {
    display: block;
  }
}
.p-home-location__slide dl dt:before {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background-color: #707070;
  margin-block-end: 30px;
}
.p-home-location__slide dl dd {
  padding-block-start: 31px;
  font-size: clamp(12px, 11.6px + 0.125vw, 14px);
  line-height: 1.7;
}
@media screen and (max-width: 1100px) {
  .p-home-location__slide dl dd {
    flex: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-home-location__slide dl dd {
    font-size: 1.4rem;
    padding-block-start: 0;
  }
}
@media screen and (min-width: 802px) {
  .p-home-location__slide .-slider {
    display: flex;
    gap: clamp(20px, 16px + 1.25vw, 40px);
  }
}
@media screen and (max-width: 767px) {
  .p-home-location__slide .-slider {
    padding-inline-start: 7.5%;
  }
}
@media screen and (max-width: 767px) {
  .p-home-location__slide .-slider .slick-list {
    padding: 0 20% 0 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .p-home-location__slide .-slider .slick-slide {
    margin-right: 30px;
  }
}
.p-home-location__slide .-slider figure .caption {
  display: block;
  font-size: clamp(12px, 11.6px + 0.125vw, 14px);
  margin: 10px 0;
}
@media screen and (max-width: 767px) {
  .p-home-location__slide .-slider figure .caption {
    font-size: 1.4rem;
  }
}
.p-home-plan {
  position: relative;
  z-index: 5;
  background-color: #fff;
  background-image: url(../images/home/plan-bg.webp);
  background-size: cover;
  padding-block-start: clamp(35px, 24px + 3.4375vw, 90px);
  padding-block-end: clamp(25px, 16px + 2.8125vw, 70px);
}
.p-home-plan__inner {
  max-width: 1550px !important;
}
.p-home-plan h2 {
  font-weight: normal;
  color: var(--color-grn);
  margin-block-end: clamp(10px, 8px + 0.625vw, 20px);
}
@media screen and (max-width: 767px) {
  .p-home-plan h2 {
    padding-inline-start: 5%;
  }
}
.p-home-plan h2 em {
  font-family: "optima-nova-lt-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(34px, 26.2px + 2.4375vw, 73px);
  letter-spacing: 0.1em;
  display: inline-block;
  margin-inline-end: clamp(10px, 9px + 0.3125vw, 15px);
}
.p-home-plan h2 span {
  font-size: clamp(16px, 15.6px + 0.125vw, 18px);
}
@media screen and (max-width: 767px) {
  .p-home-plan h2 span {
    font-size: 1.8rem;
  }
}
.p-home-plan .-txt1 {
  font-size: clamp(15px, 14.6px + 0.125vw, 17px);
  margin-block-end: 30px;
}
@media screen and (max-width: 767px) {
  .p-home-plan .-txt1 {
    font-size: 1.7rem;
    line-height: 1.5;
    padding-inline-start: 5%;
  }
}
.p-home-plan__plans {
  flex-wrap: nowrap;
  gap: 40px;
}
@media screen and (max-width: 1200px) {
  .p-home-plan__plans {
    flex-direction: column;
    align-items: center;
  }
}
.p-home-plan__box {
  width: 50%;
  background-color: var(--color-wh);
  display: grid;
  grid-template: "type mdr pic" max-content "txt1 txt1 pic" auto "txt2 txt2 pic" auto "txt3 txt3 pic" 1fr/20% 35% 45%;
}
@media screen and (max-width: 1200px) {
  .p-home-plan__box {
    width: 80%;
  }
}
@media screen and (max-width: 767px) {
  .p-home-plan__box {
    width: 100%;
    grid-template: "type mdr" max-content "txt1 txt1" auto "txt2 txt2" auto "txt3 txt3" auto "pic pic" 1fr/38% 62%;
  }
}
.p-home-plan__box h3 {
  grid-area: type;
  background-color: var(--color-grn2);
  color: var(--color-grn);
  font-family: "optima-nova-lt-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(27px, 26.4px + 0.1875vw, 30px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  height: 95px;
}
@media screen and (max-width: 767px) {
  .p-home-plan__box h3 {
    height: 85px;
  }
}
.p-home-plan__box h3 span {
  font-size: clamp(63px, 61.4px + 0.5vw, 71px);
}
.p-home-plan__box p {
  grid-area: mdr;
  color: var(--color-grn);
  font-family: "optima-nova-lt-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(26px, 25.4px + 0.1875vw, 29px);
  padding: 10px 20px;
  margin-block: auto 0;
  position: relative;
}
.p-home-plan__box p::before {
  content: "プレミアム仕様";
  margin-bottom: 10px;
  width: 140px;
  height: 36px;
  display: grid;
  place-items: center;
  background: #9E895E;
  background: linear-gradient(90deg, rgb(200, 180, 128) 0%, rgb(160, 144, 102) 100%);
  color: var(--color-wh);
  font-family: var(--font-jp);
  font-size: clamp(1.4rem, 1.6vw, 1.6rem);
  letter-spacing: 0.1rem;
}
.p-home-plan__box p span {
  font-size: clamp(33px, 32.2px + 0.25vw, 37px);
}
.p-home-plan__box dl {
  grid-area: txt1;
  margin: clamp(20px, 18px + 0.625vw, 30px) 0 0 clamp(20px, 16px + 1.25vw, 40px);
}
.p-home-plan__box dl dt {
  font-size: clamp(12px, 11.6px + 0.125vw, 14px);
  margin-block-end: clamp(5px, 4px + 0.3125vw, 10px);
}
.p-home-plan__box dl dd {
  color: var(--color-brw);
  font-size: clamp(30px, 28.6px + 0.4375vw, 37px);
}
@media screen and (max-width: 767px) {
  .p-home-plan__box dl dd {
    font-size: 3.7rem;
  }
}
.p-home-plan__box dl dd em {
  font-style: normal;
  font-size: clamp(40px, 38px + 0.625vw, 50px);
}
@media screen and (max-width: 767px) {
  .p-home-plan__box dl dd em {
    font-size: 5rem;
  }
}
.p-home-plan__box dl dd span {
  color: #333;
  font-size: clamp(11px, 10.6px + 0.125vw, 13px);
}
.p-home-plan__box ul:nth-of-type(1) {
  grid-area: txt2;
  margin: 20px 0 0 clamp(20px, 16px + 1.25vw, 40px);
  display: flex;
  flex-direction: column;
  gap: clamp(5px, 4px + 0.3125vw, 10px);
  font-size: clamp(11px, 10.6px + 0.125vw, 13px);
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-home-plan__box ul:nth-of-type(1) {
    font-size: 1.3rem;
  }
}
.p-home-plan__box ul:nth-of-type(1) li {
  position: relative;
  padding-inline-start: 20px;
}
.p-home-plan__box ul:nth-of-type(1) li span {
  color: var(--color-grn);
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-home-plan__box ul:nth-of-type(2) {
  grid-area: txt3;
  margin: 20px 0 20px clamp(20px, 16px + 1.25vw, 40px);
  font-size: clamp(15px, 14.6px + 0.125vw, 17px);
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 8px + 0.625vw, 20px);
}
@media screen and (max-width: 767px) {
  .p-home-plan__box ul:nth-of-type(2) {
    font-size: 1.6rem;
  }
}
.p-home-plan__box ul:nth-of-type(2) li {
  border-left: 1px solid var(--color-grn);
  padding: 5px clamp(15px, 14px + 0.3125vw, 20px);
}
@media screen and (max-width: 767px) {
  .p-home-plan__box ul:nth-of-type(2) li {
    padding-inline-end: 0;
  }
}
.p-home-plan__box figure {
  grid-area: pic;
  margin: 40px 20px;
  border: 1px solid #DBDBDB;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  /*&:after{
      content: "";
      width: 60%;
      position: absolute;
      inset: 0;
      margin: auto;
      aspect-ratio: 181 / 126;
      background-image: url(../images/home/limited-mark.webp);
      background-size: cover;
  }*/
}
@media screen and (max-width: 767px) {
  .p-home-plan__box figure {
    margin: 10px 20px 30px 20px;
    aspect-ratio: 1/1;
  }
}
.p-home-plan__box figure a {
  display: flex;
  padding: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-home-plan__box figure a {
    width: auto;
    height: 100%;
    object-fit: cover;
  }
  .p-home-plan__box figure a img {
    width: auto;
    height: 100%;
    object-fit: cover;
  }
}
.p-home-plan__box figure a:after {
  content: "";
  width: 42px;
  height: 42px;
  background-image: url(../images/home/plus.webp);
  background-size: cover;
  position: absolute;
  right: 0;
  bottom: 0;
}
.p-home-brand {
  position: relative;
  z-index: 5;
  background-color: #fff;
}
.p-home-brand__box {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  color: var(--color-wh);
  max-width: 1200px;
  width: 90%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .p-home-brand__box {
    width: 80%;
  }
}
.p-home-brand__box h2 {
  font-family: "optima-nova-lt-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(61px, 51.8px + 2.875vw, 107px);
  margin-block-end: clamp(15px, 12px + 0.9375vw, 30px);
}
.p-home-brand__box p {
  max-width: 520px;
  font-size: clamp(14px, 13.6px + 0.125vw, 16px);
  line-height: 1.7;
  margin-block-end: clamp(20px, 16px + 1.25vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-home-brand__box p {
    font-size: 1.6rem;
  }
}
.p-home-brand__box p a {
  border-block: 1px solid #987B53;
  background: linear-gradient(to right, rgb(162, 136, 88) 0%, rgb(87, 73, 49) 100%);
  color: var(--color-wh);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  width: 272px;
  height: 66px;
}
.p-home-brand__box p a:after {
  content: "";
  width: 16px;
  height: 9px;
  display: block;
  background-size: cover;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217.821%22%20height%3D%2211.229%22%20viewBox%3D%220%200%2017.821%2011.229%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_1044%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%201044%22%20transform%3D%22translate(0.5%200.707)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_102134%22%20data-name%3D%22%E3%83%91%E3%82%B9%20102134%22%20d%3D%22M-9282.37%2C2156.825h16.821%22%20transform%3D%22translate(9282.37%20-2151.918)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_102135%22%20data-name%3D%22%E3%83%91%E3%82%B9%20102135%22%20d%3D%22M-9265.332%2C2153.6l4.907%2C4.908-4.907%2C4.907%22%20transform%3D%22translate(9277.246%20-2153.595)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}
.p-home-brand figure {
  position: relative;
}
.p-home-brand figure:after {
  content: "";
  background: linear-gradient(to bottom, rgb(173, 173, 173) 0%, rgb(119, 119, 119) 50%, rgb(93, 93, 93) 99%);
  position: absolute;
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
  top: 0;
  left: 0;
}
.p-home-entry {
  position: relative;
  background-color: #fff;
  padding-block-start: clamp(35px, 26px + 2.8125vw, 80px);
}
@media screen and (max-width: 767px) {
  .p-home-entry {
    padding-inline: 5%;
  }
}
.p-home-entrybottom {
  width: 90%;
  max-width: 1200px;
  margin-inline: auto;
}
.p-home .modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1000;
  animation: fadeIn 0.3s ease;
}
.p-home .modal.active {
  display: flex;
  justify-content: center;
  align-items: center;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.p-home .modal-content {
  max-width: 90vw;
  max-height: 90vh;
  animation: zoomIn 0.3s ease;
  background-color: #fff;
  padding: 50px;
  position: relative;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-home .modal-content {
    padding: 25px;
  }
}
@keyframes zoomIn {
  from {
    transform: scale(0.8);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
.p-home .modal-content img {
  max-width: 100%;
  max-height: 90vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  display: block;
}
.p-home .close-btn {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 40px;
  color: white;
  cursor: pointer;
  transition: transform 0.2s ease;
  z-index: 1001;
  background: rgba(0, 0, 0, 0.5);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-home .close-btn {
    right: 20px;
    width: 30px;
    height: 30px;
    font-size: 20px;
  }
}
.p-home .close-btn:hover {
  transform: rotate(90deg);
  background: rgba(0, 0, 0, 0.8);
}/*# sourceMappingURL=home.css.map */