@charset "UTF-8";
.top {
  position: relative;
}

/*----------------------------------------
  common
-----------------------------------------*/
body {
  overflow: hidden;
}

.l-content {
  background: url(/asset/img/common/content-bg.jpg) repeat-y center top;
  background-size: 100% auto;
}

/*----------------------------------------
  KV
-----------------------------------------*/
@media screen and (min-width: 769px) {
  .kv {
    position: relative;
    display: -ms-grid;
    display: grid;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.3);
  }
  .kv .skip {
    position: absolute;
    top: calc(100dvh - clamp(67.2px, 4.375vw, 100.8px));
    right: clamp(24px, 1.563vw, 36px);
    z-index: 5;
    display: block;
    padding-inline: clamp(19.2px, 1.25vw, 28.8px);
    background: #7495A0;
    color: #fff;
    font-family: "futura-pt", sans-serif;
    font-size: clamp(20.8px, 1.354vw, 31.2px);
    line-height: 1.5;
  }
  .kv .skip.is-disabled {
    opacity: 0;
    pointer-events: none;
  }
  .kv .kv-item {
    position: relative;
    z-index: 2;
    display: -ms-grid;
    display: grid;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    width: 100%;
    height: 100vh;
    opacity: 0;
  }
  .kv .kv-item figure:not(.js-img) {
    display: block;
    height: 100vh;
    width: 100%;
  }
  .kv .kv-item img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .kv .kv-item figcaption {
    font-weight: 400;
    font-size: clamp(10.4px, 0.677vw, 15.6px);
    line-height: 1;
  }
  .kv .kv-item01 figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .kv .kv-item01 p {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) translateX(-0.25em);
            transform: translate(-50%, -50%) translateX(-0.25em);
    width: 100%;
    margin: 0;
    color: #fff;
    text-align: center;
    font-weight: 400;
    font-size: clamp(38.4px, 2.5vw, 57.6px);
  }
  .kv .kv-item01 p .tgt {
    position: relative;
    font-family: "futura-pt", sans-serif;
    font-size: clamp(60px, 3.906vw, 90px);
  }
  .kv .kv-item01 p .tgt > span {
    position: absolute;
    top: 100%;
    right: -4.5em;
    white-space: nowrap;
    font-weight: 400;
    font-size: clamp(9.6px, 0.625vw, 14.4px);
    letter-spacing: 0;
    line-height: 1;
  }
  .kv .kv-item02 {
    /* gridを解除 */
  }
  .kv .kv-item02 figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .kv .kv-item02 figure img {
    background-position: top;
  }
  .kv .kv-item02 figure figcaption {
    position: absolute;
    bottom: clamp(4.8px, 0.313vw, 7.2px);
    right: clamp(8px, 0.521vw, 12px);
  }
  .kv .kv-item02 p {
    position: absolute;
    top: clamp(80px, 5.208vw, 120px);
    left: min(5.208vw, 120px);
    right: min(5.208vw, 120px);
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    color: #fff;
    font-weight: 400;
    font-size: clamp(32px, 2.083vw, 48px);
    letter-spacing: 0.05em;
    line-height: 1.375;
  }
  .kv .kv-item03 {
    /* gridを解除 */
  }
  .kv .kv-item03 figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .kv .kv-item03 figcaption {
    position: absolute;
    bottom: clamp(4.8px, 0.313vw, 7.2px);
    right: clamp(8px, 0.521vw, 12px);
  }
  .kv .kv-item03 p {
    position: absolute;
    bottom: clamp(80px, 5.208vw, 120px);
    right: min(1.042vw, 24px);
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    color: #fff;
    font-weight: 400;
    font-size: clamp(32px, 2.083vw, 48px);
    letter-spacing: 0.05em;
    line-height: 1.375;
  }
  .kv .kv-item04 {
    position: relative;
  }
  .kv .kv-item04 .kv-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
  }
  .kv .kv-item04 .l-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
  .kv .kv-item04 .kv-bg {
    z-index: 0;
  }
  .kv .kv-item04 .kv-bg figcaption {
    position: absolute;
    bottom: clamp(4.8px, 0.313vw, 7.2px);
    right: clamp(20px, 1.302vw, 30px);
    position: fixed;
  }
  .kv .kv-item04 .l-inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
  .kv .kv-item04 .pin-spacer {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  .kv .kv-item04 .js-img {
    position: absolute;
    top: 4.3vw;
    right: 10.15vw;
    width: min(30.729vw, 708px);
  }
  .kv .kv-item04 .js-img figure {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .kv .kv-item04 .js-img figure img {
    display: block;
    width: 90%;
    height: auto;
    margin-inline: auto;
    -webkit-padding-after: min(20.833vw, 480px);
            padding-block-end: min(20.833vw, 480px);
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: bottom;
       object-position: bottom;
  }
  .kv .kv-item04 .txt-wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    height: 100vh;
  }
  .kv .kv-item04 p {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  .kv .kv-item04 .txt01 {
    position: absolute;
    top: 50%;
    left: 23.4vw;
    -webkit-transform: translateY(27%);
            transform: translateY(27%);
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    color: #fff;
    font-weight: 400;
    font-size: clamp(32px, 2.083vw, 48px);
    letter-spacing: 0.05em;
    line-height: 1.375;
  }
  .kv .kv-item04 .txt02 {
    position: absolute;
    top: 50%;
    left: 19.2vw;
    margin: 0;
    -webkit-transform: translateY(9%);
            transform: translateY(9%);
    opacity: 0;
    width: min(28.646vw, 660px);
  }
}
@media screen and (min-width: 769px) {
  .kv-scroll {
    position: relative;
    z-index: 1;
    display: none;
    width: 100%;
    height: 100vh;
    overflow: hidden;
  }
  .kv-scroll .kv-item {
    position: relative;
  }
  .kv-scroll .kv-item .l-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .kv-scroll .kv-item .js-img {
    position: absolute;
    top: 4.3vw;
    right: 10.15vw;
    width: min(30.729vw, 708px);
  }
  .kv-scroll .kv-item .js-img::before {
    content: "";
    position: absolute;
    bottom: -4%;
    right: 0;
    display: block;
    width: min(81.094vw, 1868.4px);
    aspect-ratio: 1557/474;
    background: url(/asset/img/top/bg_line01.webp) no-repeat center center;
    background-size: cover;
    z-index: -1;
    pointer-events: none;
  }
  .kv-scroll .kv-item .js-img figcaption {
    position: absolute;
    right: -31%;
    bottom: clamp(9.6px, 0.625vw, 14.4px);
  }
  .kv-scroll .kv-item .txt-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100vh;
  }
  .kv-scroll .kv-item .txt01 {
    position: absolute;
    top: 50%;
    left: 19.2vw;
    -webkit-transform: translateY(9%);
            transform: translateY(9%);
    width: min(28.646vw, 660px);
  }
  .kv-scroll .kv-item .txt01 img {
    width: 100%;
  }
  .kv-scroll .kv-item .statement {
    position: absolute;
    top: 50%;
    left: 19vw;
    /* grid配置を解除 */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: min(7.436vw, 34.8px);
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    opacity: 0;
  }
  .kv-scroll .kv-item .statement h2 {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: 0;
    line-height: 0;
  }
  .kv-scroll .kv-item .statement h2 img {
    width: clamp(17.6px, 5.641vw, 26.4px);
  }
  .kv-scroll .kv-item .statement > p {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    color: #fff;
    font-weight: 400;
    font-size: clamp(12px, 3.846vw, 18px);
    letter-spacing: 0.06em;
    line-height: 2.66;
    -webkit-margin-before: min(7.692vw, 36px);
            margin-block-start: min(7.692vw, 36px);
  }
  .kv-scroll .js-blur {
    position: relative;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 0;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.3)), color-stop(50%, rgba(255, 255, 255, 0.3)), to(rgba(255, 255, 255, 0.3)));
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0.3) 100%);
  }
  .kv-scroll .js-blur::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100vh;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.3)), color-stop(20%, rgba(255, 255, 255, 0.25)), color-stop(50%, rgba(255, 255, 255, 0.15)), color-stop(80%, rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.25) 20%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.05) 80%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
  }
}
@media screen and (max-width: 768px) {
  .kv {
    position: relative;
    width: 100%;
    height: -webkit-max-content;
    height: -moz-max-content;
    height: max-content;
    display: -ms-grid;
    display: grid;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.3)), color-stop(50%, rgba(255, 255, 255, 0.3)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 100%);
  }
  .kv .skip {
    display: block;
    position: absolute;
    z-index: 5;
    top: calc(100dvh - 21.5384615385vw);
    right: 7.6923076923vw;
    background: #7495A0;
    font-family: "futura-pt", sans-serif;
    color: #fff;
    font-size: 6.6666666667vw;
    line-height: 1.5;
    padding-inline: 6.1538461538vw;
  }
  .kv .skip.is-disabled {
    opacity: 0;
    pointer-events: none;
  }
  .kv .kv-item {
    position: relative;
    width: 100%;
    height: 100dvh;
    display: -ms-grid;
    display: grid;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    opacity: 0;
    z-index: 2;
  }
  .kv .kv-item.is-skip-completed {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .kv .kv-item img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .kv .kv-item figcaption {
    font-weight: 400;
    line-height: 1;
    font-size: 2.5641025641vw;
  }
  .kv .kv-item01 figure,
  .kv .kv-item01 p {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  .kv .kv-item01 p {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
    color: #fff;
    font-weight: 400;
    -webkit-transform: translateX(-0.25em);
            transform: translateX(-0.25em);
    font-size: 5.641025641vw;
  }
  .kv .kv-item01 p .tgt {
    position: relative;
    font-family: "futura-pt", sans-serif;
    font-size: 8.9743589744vw;
  }
  .kv .kv-item01 p .tgt > span {
    position: absolute;
    top: 100%;
    right: -2.8em;
    white-space: nowrap;
    font-weight: 400;
    letter-spacing: 0;
    font-size: 2.5641025641vw;
    line-height: 0.5;
  }
  .kv .kv-item02 {
    display: -ms-grid;
    display: grid;
  }
  .kv .kv-item02 figure,
  .kv .kv-item02 p {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  .kv .kv-item02 figure {
    position: relative;
    display: block;
    height: 100dvh;
    width: 100%;
  }
  .kv .kv-item02 figure figcaption {
    position: absolute;
    bottom: 1.5384615385vw;
    right: 2.5641025641vw;
  }
  .kv .kv-item02 p {
    position: relative;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    font-weight: 400;
    letter-spacing: 0.05em;
    margin-block: 12.8205128205vw auto;
    margin-inline: 5.1282051282vw auto;
    color: #fff;
    font-size: 5.1282051282vw;
    line-height: 1.25;
  }
  .kv .kv-item03 {
    display: -ms-grid;
    display: grid;
  }
  .kv .kv-item03 figure,
  .kv .kv-item03 p {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  .kv .kv-item03 figure {
    position: relative;
    display: block;
    height: 100dvh;
    width: 100%;
  }
  .kv .kv-item03 figcaption {
    position: absolute;
    bottom: 1.5384615385vw;
    right: 2.5641025641vw;
  }
  .kv .kv-item03 p {
    position: relative;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    color: #fff;
    font-weight: 400;
    letter-spacing: 0.05em;
    margin-block: auto 25.641025641vw;
    margin-inline: 5.1282051282vw auto;
    font-size: 5.1282051282vw;
    line-height: 1.25;
  }
  .kv .kv-item04 {
    position: relative;
    display: -ms-grid;
    display: grid;
  }
  .kv .kv-item04 .l-inner {
    position: relative;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  .kv .kv-item04 .l-inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 46.1538461538vw 1fr;
    grid-template-rows: 46.1538461538vw 1fr;
    padding-inline: 7.6923076923vw;
  }
  .kv .kv-item04 .js-img {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }
  .kv .kv-item04 .js-img img {
    display: block;
    height: 100%;
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: bottom;
       object-position: bottom;
    margin-inline: auto !important;
    opacity: 0;
  }
  .kv .kv-item04 .js-img figcaption {
    position: absolute;
    right: 8.4615384615vw;
    bottom: 3.0769230769vw;
  }
  .kv .kv-item04 .txt-wrap {
    display: -ms-grid;
    display: grid;
    position: relative;
    -ms-grid-rows: 1fr auto 1fr;
    grid-template-rows: 1fr auto 1fr;
    height: 100dvh;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  .kv .kv-item04 .txt01 {
    position: relative;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin: auto;
    color: #fff;
    font-weight: 400;
    letter-spacing: 0.05em;
    white-space: nowrap;
    font-size: 5.1282051282vw;
    line-height: 1.25;
    text-align: center;
    width: 100%;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }
  .kv .kv-item04 .txt02 {
    position: relative;
    opacity: 0;
    width: 100%;
    padding-inline: 8.2051282051vw;
    margin-block: 17.4358974359vw auto;
    margin-inline: auto;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
}
/*----------------------------------------
  Statement
-----------------------------------------*/
@media screen and (max-width: 768px) {
  .statement-sp {
    position: relative;
    -webkit-margin-before: min(10.769vw, 50.4px);
            margin-block-start: min(10.769vw, 50.4px);
    background: url(/asset/img/top/top_statement_bg01.webp) no-repeat center center;
    background-size: cover;
  }
  .statement-sp .l-inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto min(7.436vw, 34.8px) 1fr;
    grid-template-columns: auto 1fr;
    -ms-grid-rows: auto 0 1fr;
    grid-template-rows: auto 1fr;
    gap: 0 min(7.436vw, 34.8px);
    padding-block: min(5.897vw, 27.6px) min(25.641vw, 120px);
  }
  .statement-sp .l-inner > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .statement-sp .l-inner > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .statement-sp .l-inner > *:nth-child(3) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .statement-sp .l-inner > *:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .statement-sp .l-inner h2 {
    font-size: 0;
    line-height: 0;
  }
  .statement-sp .l-inner h2 img {
    width: clamp(17.6px, 5.641vw, 26.4px);
  }
  .statement-sp .l-inner > p {
    color: #fff;
    font-weight: 400;
    font-size: clamp(12px, 3.846vw, 18px);
    letter-spacing: 0.06em;
    line-height: 2.66;
    -webkit-margin-before: min(7.692vw, 36px);
            margin-block-start: min(7.692vw, 36px);
  }
  .statement-sp .figcaption {
    position: absolute;
    bottom: min(1.026vw, 4.8px);
    right: min(2.564vw, 12px);
    font-size: clamp(8px, 2.564vw, 12px);
  }
}
/*----------------------------------------
  MERIT
-----------------------------------------*/
.meritBox {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 768px) {
  .meritBox {
    -webkit-padding-before: min(5.128vw, 24px);
            padding-block-start: min(5.128vw, 24px);
  }
}
.meritBox .l-inner {
  max-width: 992px;
  width: 78.125%;
}
@media screen and (max-width: 768px) {
  .meritBox .l-inner {
    max-width: 100%;
    width: 100%;
  }
}
.meritBox .l-inner ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr min(0vw, 0px) 1fr;
  grid-template-columns: 1fr 1fr;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  gap: min(0vw, 0px);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-margin-before: min(2.708vw, 62.4px);
          margin-block-start: min(2.708vw, 62.4px);
  margin-inline: auto;
  -webkit-transform: translateX(-0.8vw);
          transform: translateX(-0.8vw);
}
.meritBox .l-inner ul > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.meritBox .l-inner ul > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
@media screen and (max-width: 768px) {
  .meritBox .l-inner ul {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr min(5.128vw, 24px) 1fr;
    grid-template-rows: 1fr 1fr;
    gap: min(5.128vw, 24px);
  }
  .meritBox .l-inner ul > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .meritBox .l-inner ul > *:nth-child(2) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
}
.meritBox .l-inner ul li {
  display: block;
  color: #fff;
  font-weight: 400;
  font-size: min(1.563vw, 36px);
}
@media screen and (max-width: 768px) {
  .meritBox .l-inner ul li {
    font-size: clamp(12px, 3.846vw, 18px);
  }
}
.meritBox .l-inner ul li > span:nth-of-type(1) {
  font-size: min(2.448vw, 56.4px);
}
@media screen and (max-width: 768px) {
  .meritBox .l-inner ul li > span:nth-of-type(1) {
    font-size: clamp(18.4px, 5.897vw, 27.6px);
  }
}
.meritBox .l-inner ul li > span:nth-of-type(2) {
  font-family: "futura-pt", sans-serif;
  font-size: min(5.208vw, 120px);
  line-height: 1;
  margin-inline: 0.1em;
}
@media screen and (max-width: 768px) {
  .meritBox .l-inner ul li > span:nth-of-type(2) {
    font-size: clamp(39.2px, 12.564vw, 58.8px);
  }
}
.meritBox .l-inner ul li .tgt1 {
  position: relative;
}
.meritBox .l-inner ul li .tgt1 span {
  position: absolute;
  bottom: 100%;
  left: 1.5em;
  font-size: min(0.99vw, 22.8px);
}
@media screen and (max-width: 768px) {
  .meritBox .l-inner ul li .tgt1 span {
    font-size: clamp(8px, 2.564vw, 12px);
  }
}
.meritBox .l-inner ul li .tgt2 {
  position: relative;
}
.meritBox .l-inner ul li .tgt2 span {
  position: absolute;
  top: 100%;
  right: -0.5em;
  white-space: nowrap;
  font-size: min(0.677vw, 15.6px);
}
@media screen and (max-width: 768px) {
  .meritBox .l-inner ul li .tgt2 span {
    left: auto;
    font-size: clamp(8px, 2.564vw, 12px);
    opacity: 0.9;
  }
}

/*----------------------------------------
  ENTRY / INFORMATION
-----------------------------------------*/
@media screen and (min-width: 769px) {
  .entry-info {
    -webkit-margin-before: min(1.302vw, 30px);
            margin-block-start: min(1.302vw, 30px);
    position: relative;
    z-index: 2;
  }
}
@media screen and (max-width: 768px) {
  .entry-info {
    -webkit-margin-before: min(6.154vw, 28.8px);
            margin-block-start: min(6.154vw, 28.8px);
  }
}
.entry-info .l-inner {
  max-width: 992px;
  width: 78.125%;
}
@media screen and (max-width: 768px) {
  .entry-info .l-inner {
    max-width: 100%;
    width: 100%;
  }
}
.entry-info .item01 {
  -webkit-padding-before: min(1.198vw, 27.6px);
          padding-block-start: min(1.198vw, 27.6px);
  -webkit-border-before: clamp(2.4px, 0.156vw, 3.6px) solid rgba(116, 149, 160, 0.9);
          border-block-start: clamp(2.4px, 0.156vw, 3.6px) solid rgba(116, 149, 160, 0.9);
}
@media screen and (max-width: 768px) {
  .entry-info .item01 {
    -webkit-padding-before: min(3.59vw, 16.8px);
            padding-block-start: min(3.59vw, 16.8px);
  }
}
.entry-info .item01 > p:nth-of-type(1) {
  color: #fff;
  font-weight: 400;
  font-size: clamp(25.6px, 1.667vw, 38.4px);
  letter-spacing: 0.06em;
  line-height: 1.53;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .entry-info .item01 > p:nth-of-type(1) {
    font-size: clamp(15.2px, 4.872vw, 22.8px);
    letter-spacing: 0.03em;
    line-height: 1.31;
  }
}
.entry-info .item01 > p:nth-of-type(1) .dec {
  font-size: clamp(20px, 1.302vw, 30px);
}
@media screen and (max-width: 768px) {
  .entry-info .item01 > p:nth-of-type(1) .dec {
    font-size: clamp(12px, 3.846vw, 18px);
  }
}
.entry-info .item01 > p:nth-of-type(1) .tgt {
  position: relative;
}
.entry-info .item01 > p:nth-of-type(1) .tgt > span {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 100%;
  white-space: nowrap;
  font-weight: 400;
  font-size: clamp(9.6px, 0.625vw, 14.4px);
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .entry-info .item01 > p:nth-of-type(1) .tgt > span {
    top: auto;
    bottom: 100%;
    right: 0;
    -webkit-transform: unset;
            transform: unset;
    font-size: clamp(8px, 2.564vw, 12px);
    line-height: 0.5;
  }
}
.entry-info .item01 > p:nth-of-type(1) > span:not([class]) {
  display: inline-block;
}
.entry-info .item01 .c-button {
  background: rgba(116, 149, 160, 0.9);
  border-radius: 0 min(0.521vw, 12px) 0 0;
  font-weight: 400;
  font-size: clamp(46.4px, 3.021vw, 69.6px);
  letter-spacing: 0.15em;
  height: unset;
  width: 100%;
  padding: min(0.417vw, 9.6px);
  -webkit-margin-before: min(1.302vw, 30px);
          margin-block-start: min(1.302vw, 30px);
  border-radius: 0 min(1.042vw, 24px) 0 0;
}
@media screen and (max-width: 768px) {
  .entry-info .item01 .c-button {
    border-radius: 0 min(2.564vw, 12px) 0 0;
    -webkit-margin-before: min(1.795vw, 8.4px);
            margin-block-start: min(1.795vw, 8.4px);
    font-size: clamp(20px, 6.41vw, 30px);
    padding: min(0.513vw, 2.4px);
  }
}
.entry-info .item01 > span {
  color: #fff;
  font-weight: 400;
  font-size: clamp(10.4px, 0.677vw, 15.6px);
  text-align: right;
  display: block;
  -webkit-margin-before: min(0.26vw, 6px);
          margin-block-start: min(0.26vw, 6px);
}
@media screen and (max-width: 768px) {
  .entry-info .item01 > span {
    font-size: clamp(8px, 2.564vw, 12px);
    -webkit-margin-before: min(1.282vw, 6px);
            margin-block-start: min(1.282vw, 6px);
  }
}
.entry-info .item02 {
  -webkit-margin-before: min(1.823vw, 42px);
          margin-block-start: min(1.823vw, 42px);
  padding-inline: 9em;
}
@media screen and (max-width: 768px) {
  .entry-info .item02 {
    -webkit-margin-before: min(5.128vw, 24px);
            margin-block-start: min(5.128vw, 24px);
    padding-inline: 0;
  }
}
.entry-info .item02 > p {
  font-family: "futura-pt", sans-serif;
  color: #fff;
  font-weight: 400;
  font-size: clamp(12.8px, 0.833vw, 19.2px);
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .entry-info .item02 > p {
    font-size: clamp(8px, 2.564vw, 12px);
  }
}
.entry-info .item02 .ttknews {
  display: block;
  -webkit-margin-before: min(0.469vw, 10.8px);
          margin-block-start: min(0.469vw, 10.8px);
  color: #fff;
  font-weight: 400;
  font-size: clamp(16px, 1.042vw, 24px);
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .entry-info .item02 .ttknews {
    -webkit-margin-before: min(0.256vw, 1.2px);
            margin-block-start: min(0.256vw, 1.2px);
    font-size: clamp(12.8px, 4.103vw, 19.2px);
    line-height: 1.13;
  }
}

/*----------------------------------------
  コンテンツ共通
-----------------------------------------*/
section[class*=top_] {
  position: relative;
  z-index: 3;
}
section[class*=top_] .box {
  max-width: min(100vw, 2304px);
  margin-inline: auto;
  display: -ms-grid;
  display: grid;
}
@media screen and (min-width: 769px) {
  section[class*=top_] .box::before {
    pointer-events: none;
  }
}
section[class*=top_] .l-inner {
  max-width: min(78.125vw, 1800px);
  margin-inline: auto;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  display: -ms-grid;
  display: grid;
}
@media screen and (min-width: 769px) {
  section[class*=top_] .l-inner {
    pointer-events: none;
  }
}
@media screen and (max-width: 768px) {
  section[class*=top_] .l-inner {
    max-width: 100%;
    padding-inline: 7.6923076923vw;
  }
}
section[class*=top_] h2 {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
section[class*=top_] .txt {
  color: #fff;
  font-weight: 400;
  font-size: min(1.667vw, 38.4px);
  line-height: 2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 768px) {
  section[class*=top_] .txt {
    font-size: 5.1282051282vw;
    letter-spacing: 0.03em;
    line-height: 1.25;
  }
}
section[class*=top_] .btn {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
section[class*=top_] .btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(20.625vw, 475.2px);
  height: min(5.208vw, 120px);
  border-radius: 0 min(1.042vw, 24px) 0 0;
  background: #7495A0;
  border: min(0.26vw, 6px) solid #fff;
  -webkit-box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.7);
          box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.7);
  font-family: "futura-pt", sans-serif;
  color: #fff;
  font-weight: 300;
  font-size: min(1.927vw, 44.4px);
  letter-spacing: 0.06em;
  text-decoration: none;
}
@media screen and (min-width: 769px) {
  section[class*=top_] .btn a {
    pointer-events: auto;
  }
}
@media screen and (max-width: 768px) {
  section[class*=top_] .btn a {
    width: 36.6666666667vw;
    height: 7.9487179487vw;
    border-width: 1px;
    font-size: 3.3333333333vw;
    border-radius: 0 min(1.795vw, 8.4px) 0 0;
    -webkit-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.7);
            box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.7);
  }
}
section[class*=top_] .imgLink {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
}
@media screen and (min-width: 769px) {
  section[class*=top_] .imgLink:hover {
    opacity: unset;
  }
}
section[class*=top_] figcaption {
  font-weight: 400;
  font-size: clamp(10.4px, 0.677vw, 15.6px);
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  section[class*=top_] figcaption {
    font-size: clamp(8px, 2.564vw, 12px);
    line-height: 1.2;
  }
}

/*----------------------------------------
  Location
-----------------------------------------*/
.top_location {
  -webkit-margin-before: min(10.729vw, 247.2px);
          margin-block-start: min(10.729vw, 247.2px);
}
.top_location .box {
  position: relative;
}
.top_location .box::before {
  content: "";
  position: absolute;
  top: max(-3.125vw, -72px);
  left: 0;
  display: block;
  width: min(18.229vw, 420px);
  aspect-ratio: 350/1656;
  background: url(/asset/img/top/bg_line02.webp) no-repeat center center;
  background-size: cover;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .top_location .box::before {
    top: 17.9487179487vw;
    left: 0;
    width: 18.4615384615vw;
    aspect-ratio: 72/337;
    background: url(/asset/img/top/bg_line02_sp.webp) no-repeat center center;
    background-size: cover;
  }
}
.top_location .imgLink {
  margin-block: min(3.333vw, 76.8px) min(1.042vw, 24px);
}
@media screen and (max-width: 768px) {
  .top_location .imgLink {
    margin-block: 25.641025641vw 0;
  }
}
.top_location .imgLink figcaption {
  text-align: right;
  padding-inline: 0 min(0.521vw, 12px);
}
@media screen and (max-width: 768px) {
  .top_location .imgLink figcaption {
    text-align: left;
    padding-inline: 13.0769230769vw 0;
  }
}
.top_location h2 {
  margin-inline: 0 auto;
}
.top_location h2 img {
  width: min(23.021vw, 530.4px);
}
@media screen and (max-width: 768px) {
  .top_location h2 img {
    width: 5.641025641vw;
  }
}
.top_location .txt {
  margin-block: min(3.125vw, 72px) auto;
  margin-inline: auto 0;
}
@media screen and (max-width: 768px) {
  .top_location .txt {
    margin-block: 12.8205128205vw auto;
    margin-inline: auto -5.1282051282vw;
  }
}
.top_location .btn {
  margin-block: auto 0;
  margin-inline: auto 0;
}
@media screen and (max-width: 1440px) {
  .top_location .btn {
    margin-inline: auto clamp(40px, 2.604vw, 60px);
  }
}
@media screen and (max-width: 768px) {
  .top_location .btn {
    margin-inline: auto 0;
    margin-block: auto 0;
  }
}

/*----------------------------------------
  Access
-----------------------------------------*/
.top_access {
  -webkit-margin-before: min(6.042vw, 139.2px);
          margin-block-start: min(6.042vw, 139.2px);
}
@media screen and (max-width: 768px) {
  .top_access {
    -webkit-margin-before: 18.9743589744vw;
            margin-block-start: 18.9743589744vw;
  }
}
.top_access .box {
  position: relative;
}
.top_access .box::before {
  content: "";
  position: absolute;
  top: min(3.646vw, 84px);
  right: min(11.042vw, 254.4px);
  display: block;
  width: min(13.229vw, 304.8px);
  aspect-ratio: 254/1073;
  background: url(/asset/img/top/bg_line03.webp) no-repeat center center;
  background-size: cover;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .top_access .box::before {
    top: 17.9487179487vw;
    right: 5.1282051282vw;
    width: 14.1025641026vw;
    aspect-ratio: 55/233;
    background: url(/asset/img/top/bg_line03_sp.webp) no-repeat center center;
    background-size: cover;
  }
}
.top_access .imgLink {
  width: min(83.854vw, 1932px);
  margin-inline: 0 auto;
  margin-block: min(3.385vw, 78px) min(1.042vw, 24px);
}
@media screen and (max-width: 768px) {
  .top_access .imgLink {
    width: 89.4871794872vw;
    margin-block: 17.9487179487vw 0;
  }
}
.top_access .imgLink figcaption {
  text-align: right;
  padding-inline: min(11.458vw, 264px);
}
@media screen and (max-width: 768px) {
  .top_access .imgLink figcaption {
    padding-inline: 0 12.8205128205vw;
  }
}
@media screen and (max-width: 768px) {
  .top_access .l-inner {
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}
.top_access h2 {
  margin-block: 0 auto;
  margin-inline: auto min(7.813vw, 180px);
}
@media screen and (max-width: 768px) {
  .top_access h2 {
    margin-inline: auto 5.1282051282vw;
    margin-block: 0 auto;
  }
}
.top_access h2 img {
  width: min(16.667vw, 384px);
}
@media screen and (max-width: 768px) {
  .top_access h2 img {
    width: 5.641025641vw;
  }
}
.top_access .txt {
  margin-block: min(3.125vw, 72px) auto;
}
@media screen and (max-width: 768px) {
  .top_access .txt {
    margin-block: 5.1282051282vw auto;
    margin-inline: -3.8461538462vw auto;
  }
}
.top_access .btn {
  margin-block: auto 0;
  margin-inline: 0 auto;
}
@media screen and (max-width: 768px) {
  .top_access .btn {
    margin-block: auto 0;
  }
}

/*----------------------------------------
  Design
-----------------------------------------*/
.top_design {
  -webkit-margin-before: min(7.813vw, 180px);
          margin-block-start: min(7.813vw, 180px);
}
@media screen and (max-width: 768px) {
  .top_design {
    -webkit-margin-before: 19.2307692308vw;
            margin-block-start: 19.2307692308vw;
  }
}
.top_design .box {
  position: relative;
}
.top_design .box::before {
  content: "";
  position: absolute;
  top: max(-5.208vw, -120px);
  left: 0;
  display: block;
  width: min(18.906vw, 435.6px);
  aspect-ratio: 363/1714;
  background: url(/asset/img/top/bg_line04.webp) no-repeat center center;
  background-size: cover;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .top_design .box::before {
    top: 5.1282051282vw;
    left: 0;
    width: 19.2307692308vw;
    aspect-ratio: 75/349;
    background: url(/asset/img/top/bg_line04_sp.webp) no-repeat center center;
    background-size: cover;
  }
}
.top_design .imgLink {
  position: relative;
}
@media screen and (max-width: 768px) {
  .top_design .imgLink {
    -webkit-margin-before: 17.9487179487vw;
            margin-block-start: 17.9487179487vw;
  }
}
.top_design .imgLink figcaption {
  position: absolute;
  bottom: min(2.604vw, 60px);
  right: min(0.521vw, 12px);
}
@media screen and (max-width: 768px) {
  .top_design .imgLink figcaption {
    position: static;
    padding-inline: 3.8461538462vw 0;
  }
}
.top_design h2 {
  margin-block: 0 auto;
  margin-inline: 0 auto;
}
@media screen and (max-width: 768px) {
  .top_design h2 {
    margin-block: 0 auto;
    margin-inline: 0 auto;
  }
}
.top_design h2 img {
  width: min(17.708vw, 408px);
}
@media screen and (max-width: 768px) {
  .top_design h2 img {
    width: 7.4358974359vw;
  }
}
.top_design .txt {
  margin-block: min(5.208vw, 120px) auto;
}
@media screen and (max-width: 768px) {
  .top_design .txt {
    margin-block: 0 auto;
    margin-inline: auto -6.4102564103vw;
  }
}
.top_design .btn {
  margin-block: auto 0;
  margin-inline: auto 0;
}
@media screen and (max-width: 1440px) {
  .top_design .btn {
    margin-inline: auto clamp(64px, 4.167vw, 96px);
  }
}
@media screen and (max-width: 768px) {
  .top_design .btn {
    margin-inline: auto 0;
    margin-block: auto clamp(12px, 3.846vw, 18px);
  }
}

/*----------------------------------------
  Plan
-----------------------------------------*/
.top_plan {
  -webkit-margin-before: min(7.813vw, 180px);
          margin-block-start: min(7.813vw, 180px);
}
@media screen and (max-width: 768px) {
  .top_plan {
    -webkit-margin-before: 18.2051282051vw;
            margin-block-start: 18.2051282051vw;
  }
}
.top_plan .box {
  position: relative;
}
.top_plan .box::before {
  content: "";
  position: absolute;
  top: min(3.125vw, 72px);
  right: min(13.073vw, 301.2px);
  display: block;
  width: min(13.854vw, 319.2px);
  aspect-ratio: 266/1122;
  background: url(/asset/img/top/bg_line05.webp) no-repeat center center;
  background-size: cover;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .top_plan .box::before {
    top: 17.9487179487vw;
    right: 3.8461538462vw;
    width: 15.3846153846vw;
    aspect-ratio: 60/252;
    background: url(/asset/img/top/bg_line05_sp.webp) no-repeat center center;
    background-size: cover;
  }
}
.top_plan .imgLink {
  width: min(83.854vw, 1932px);
  margin-inline: 0 auto;
  margin-block: min(3.385vw, 78px) min(1.042vw, 24px);
}
@media screen and (max-width: 768px) {
  .top_plan .imgLink {
    width: 92.3076923077vw;
    margin-block: 15.3846153846vw 0;
  }
}
.top_plan .imgLink figcaption {
  text-align: right;
  padding-inline: min(11.458vw, 264px);
}
@media screen and (max-width: 768px) {
  .top_plan .imgLink figcaption {
    padding-inline: 0 12.8205128205vw;
  }
}
.top_plan h2 {
  margin-block: 0 auto;
  margin-inline: auto min(12.5vw, 288px);
}
@media screen and (max-width: 768px) {
  .top_plan h2 {
    margin-block: 0 auto;
    margin-inline: auto 3.8461538462vw;
  }
}
.top_plan h2 img {
  width: min(11.198vw, 258px);
}
@media screen and (max-width: 768px) {
  .top_plan h2 img {
    width: 6.1538461538vw;
  }
}
.top_plan .txt {
  margin-block: min(3.125vw, 72px) auto;
}
@media screen and (max-width: 768px) {
  .top_plan .txt {
    margin-block: 0 auto;
  }
}
.top_plan .btn {
  margin-block: auto 0;
  margin-inline: 0 auto;
}
@media screen and (max-width: 768px) {
  .top_plan .btn {
    margin-block: auto clamp(20.8px, 6.667vw, 31.2px);
  }
}

/*----------------------------------------
  Redevelopment / Leasehold
-----------------------------------------*/
.wrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr min(5.833vw, 134.4px) 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: min(5.833vw, 134.4px);
  margin-block: min(8.333vw, 192px) min(10.938vw, 252px);
}
@media screen and (max-width: 768px) {
  .wrap {
    gap: 4.1025641026vw;
    margin-block: 18.2051282051vw 25.641025641vw;
  }
}
@media screen and (min-width: 769px) {
  .wrap a:hover {
    opacity: unset;
  }
}
.wrap figure {
  position: relative;
}
.wrap figure figcaption {
  text-align: right;
}
@media screen and (max-width: 768px) {
  .wrap figure figcaption {
    position: absolute;
    right: 1.2820512821vw;
    bottom: 0;
  }
}
.wrap h2 {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .wrap .top_redevelopment h2 {
    -webkit-margin-after: max(-0.729vw, -16.8px);
            margin-block-end: max(-0.729vw, -16.8px);
  }
}
.wrap .top_redevelopment h2 img {
  width: min(30.729vw, 708px);
}
@media screen and (max-width: 768px) {
  .wrap .top_redevelopment h2 img {
    width: 39.2307692308vw;
  }
}
@media screen and (max-width: 768px) {
  .wrap .top_leasehold h2 {
    -webkit-margin-after: 0.7692307692vw;
            margin-block-end: 0.7692307692vw;
  }
}
.wrap .top_leasehold h2 img {
  width: min(19.948vw, 459.6px);
}
@media screen and (max-width: 768px) {
  .wrap .top_leasehold h2 img {
    width: 25.3846153846vw;
  }
}
.wrap .txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: min(30.208vw, 696px);
  margin-inline: auto 0;
  -webkit-padding-after: min(1.146vw, 26.4px);
          padding-block-end: min(1.146vw, 26.4px);
  -webkit-border-after: 1px solid #fff;
          border-block-end: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .wrap .txt {
    font-size: 4.1025641026vw !important;
    max-width: 100%;
    width: 100% !important;
    margin-inline: 0;
    text-align: center;
    padding-block: 1.2820512821vw;
  }
}
.wrap .txt span {
  color: #fff;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-decoration: none;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .wrap .txt span {
    line-height: 1.25;
  }
}
/*# sourceMappingURL=top.css.map */