@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css?family=Heebo:100,400,700,900");
:root {
  --w:1440 ;
}

.mod-en {
  font-family: "Heebo", serif;
}

/* リセットCSS */
html, body {
  width: 100%;
  height: 100%;
}

body, h1, h2, h3, h4, h5, h6, p, ol, ul, li, blockquote, pre, a, div {
  margin: 0;
  padding: 0;
  font-size: 100%;
  line-height: inherit;
  box-sizing: border-box;
}

body {
  -webkit-text-size-adjust: 100%;
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th, td {
  vertical-align: top;
  text-align: left;
  font-weight: normal;
}

img {
  border: 0;
  vertical-align: bottom;
}

a {
  text-decoration: none;
}

/* ---------- setting ---------- ---------- */
.u-en {
  font-family: "Roboto", sans-serif;
}

.u-min {
  font-family: "Shippori Mincho";
}

.u-fw-normal {
  font-weight: normal !important;
}

.u-fw-bold {
  font-weight: bold !important;
}

.u-td-u {
  text-decoration: underline !important;
}

.u-td-n {
  text-decoration: none !important;
}

.u-ta-l {
  text-align: left !important;
}

.u-ta-c {
  text-align: center !important;
}

.u-ta-r {
  text-align: right !important;
}

@media print, screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }
  .u-gap-10 {
    display: flex;
    gap: 10px;
    flex-direction: column;
  }
  .u-gap-20 {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .u-gap-30 {
    display: flex;
    gap: 30px;
    flex-direction: column;
  }
  .u-gap-40 {
    display: flex;
    gap: 40px;
    flex-direction: column;
  }
  .u-gap-50 {
    display: flex;
    gap: 50px;
    flex-direction: column;
  }
  .u-gap-60 {
    display: flex;
    gap: 60px;
    flex-direction: column;
  }
  .u-gap-70 {
    display: flex;
    gap: 70px;
    flex-direction: column;
  }
  .u-gap-80 {
    display: flex;
    gap: 80px;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
  .u-gap-10 {
    display: flex;
    gap: 5px;
    flex-direction: column;
  }
  .u-gap-20 {
    display: flex;
    gap: 10px;
    flex-direction: column;
  }
  .u-gap-30 {
    display: flex;
    gap: 15px;
    flex-direction: column;
  }
  .u-gap-40 {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .u-gap-50 {
    display: flex;
    gap: 25px;
    flex-direction: column;
  }
  .u-gap-60 {
    display: flex;
    gap: 30px;
    flex-direction: column;
  }
  .u-gap-70 {
    display: flex;
    gap: 35px;
    flex-direction: column;
  }
  .u-gap-80 {
    display: flex;
    gap: 40px;
    flex-direction: column;
  }
}
html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

/* Monitor Panel Styles */
#monitor-panel {
  display: block;
  position: fixed;
  top: 10px;
  right: 10px;
  background: rgba(0, 0, 0, 0.85);
  color: #00ffcc;
  padding: 5px;
  border-radius: 8px;
  font-family: monospace;
  font-size: 10px;
  z-index: 9999;
  pointer-events: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

#monitor-panel table {
  border-collapse: collapse;
  width: 100%;
}

#monitor-panel th, #monitor-panel td {
  padding: 2px 4px;
  text-align: right;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

#monitor-panel th {
  text-align: center;
  color: #fff;
  font-weight: bold;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

#monitor-panel tr:last-child td {
  border-bottom: none;
}

#monitor-panel .sec-id {
  text-align: left;
  color: #ff00cc;
  font-weight: bold;
}

/* DEV Panel CSS */
#dev-panel {
  position: fixed;
  left: 10px;
  bottom: 10px;
  background: rgba(0, 0, 0, 0.85);
  color: #0f0;
  font-family: monospace;
  font-size: 10px;
  padding: 8px;
  border-radius: 4px;
  z-index: 9999;
  pointer-events: none;
  display: block;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
}

#dev-panel .row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2px;
  padding-bottom: 1px;
  gap: 4px;
}

#dev-panel .row:last-child {
  margin-bottom: 0;
  border-bottom: none;
}

#dev-panel .label {
  color: #aaa;
}

#dev-panel .value {
  font-weight: bold;
}

#dev-panel .highlight {
  color: #fff;
}

.mod-anim {
  opacity: 0;
  transition-delay: 0.2s;
  transition-duration: 0.7s;
  transition-property: opacity, transform;
}
.mod-anim.is-fade.js-active {
  opacity: 1;
}
.mod-anim.is-top {
  transform: translate(0, -100px);
}
.mod-anim.is-top.js-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim.is-bottom {
  transform: translate(0, 100px);
}
.mod-anim.is-bottom.js-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim.is-right {
  transform: translate(100px, 0);
}
.mod-anim.is-right.js-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim.is-left {
  transform: translate(-100px, 0);
}
.mod-anim.is-left.js-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim.is-zoom {
  transform: scale(0, 0);
}
.mod-anim.is-zoom.js-active {
  opacity: 1;
  transform: scale(1, 1);
}
.mod-anim.is-chara-bounce {
  opacity: 0;
  display: inline-block;
  transform: translateY(20px);
}
.mod-anim.is-chara-bounce.js-active {
  opacity: 1;
  transform: translateY(0);
  transition-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}

.mod-anim.is-delay-00,
.mod-anim-p.is-delay-00 {
  transition-delay: 0s;
}
.mod-anim.is-delay-01,
.mod-anim-p.is-delay-01 {
  transition-delay: 0.1s;
}
.mod-anim.is-delay-02,
.mod-anim-p.is-delay-02 {
  transition-delay: 0.2s;
}
.mod-anim.is-delay-03,
.mod-anim-p.is-delay-03 {
  transition-delay: 0.3s;
}
.mod-anim.is-delay-04,
.mod-anim-p.is-delay-04 {
  transition-delay: 0.4s;
}
.mod-anim.is-delay-05,
.mod-anim-p.is-delay-05 {
  transition-delay: 0.5s;
}
.mod-anim.is-delay-06,
.mod-anim-p.is-delay-06 {
  transition-delay: 0.6s;
}
.mod-anim.is-delay-07,
.mod-anim-p.is-delay-07 {
  transition-delay: 0.7s;
}
.mod-anim.is-delay-08,
.mod-anim-p.is-delay-08 {
  transition-delay: 0.8s;
}
.mod-anim.is-delay-09,
.mod-anim-p.is-delay-09 {
  transition-delay: 0.9s;
}
.mod-anim.is-delay-10,
.mod-anim-p.is-delay-10 {
  transition-delay: 1s;
}
.mod-anim.is-delay-11,
.mod-anim-p.is-delay-11 {
  transition-delay: 1.1s;
}
.mod-anim.is-delay-12,
.mod-anim-p.is-delay-12 {
  transition-delay: 1.2s;
}
.mod-anim.is-delay-13,
.mod-anim-p.is-delay-13 {
  transition-delay: 1.3s;
}
.mod-anim.is-delay-14,
.mod-anim-p.is-delay-14 {
  transition-delay: 1.4s;
}
.mod-anim.is-delay-15,
.mod-anim-p.is-delay-15 {
  transition-delay: 1.5s;
}
.mod-anim.is-delay-16,
.mod-anim-p.is-delay-16 {
  transition-delay: 1.6s;
}
.mod-anim.is-delay-17,
.mod-anim-p.is-delay-17 {
  transition-delay: 1.7s;
}
.mod-anim.is-delay-18,
.mod-anim-p.is-delay-18 {
  transition-delay: 1.8s;
}
.mod-anim.is-delay-19,
.mod-anim-p.is-delay-19 {
  transition-delay: 1.9s;
}
.mod-anim.is-delay-20,
.mod-anim-p.is-delay-20 {
  transition-delay: 2s;
}
.mod-anim.is-delay-21,
.mod-anim-p.is-delay-21 {
  transition-delay: 2.1s;
}
.mod-anim.is-delay-22,
.mod-anim-p.is-delay-22 {
  transition-delay: 2.2s;
}
.mod-anim.is-delay-23,
.mod-anim-p.is-delay-23 {
  transition-delay: 2.3s;
}
.mod-anim.is-delay-24,
.mod-anim-p.is-delay-24 {
  transition-delay: 2.4s;
}
.mod-anim.is-delay-25,
.mod-anim-p.is-delay-25 {
  transition-delay: 2.5s;
}

.mod-anim-p {
  font-style: normal;
  transition-delay: 0.2s;
  transition-duration: 0.7s;
  transition-property: opacity, transform;
}
.mod-anim-p i {
  font-style: normal;
}
.mod-anim-p.is-fade {
  opacity: 0;
}
.mod-anim-p.is-fade.js-active {
  opacity: 1;
}
.mod-anim-p.is-top {
  opacity: 0;
  transform: translate(0, -100px);
}
.mod-anim-p.is-top.js-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim-p.is-bottom {
  opacity: 0;
  transform: translate(0, 100px);
}
.mod-anim-p.is-bottom.js-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim-p.is-right {
  opacity: 0;
  transform: translate(100px, 0);
}
.mod-anim-p.is-right.js-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim-p.is-left {
  opacity: 0;
  transform: translate(-100px, 0);
}
.mod-anim-p.is-left.js-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim-p.is-chara-bounce {
  opacity: 0;
  display: inline-block;
  transform: translateY(5vw);
}
.mod-anim-p.is-clip-right {
  transition-property: clip-path;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  clip-path: inset(0 100% 0 0);
}
.mod-anim-p.is-blur-in {
  transition-property: filter, opacity, transform;
  transition-duration: 1.4s;
  opacity: 0;
  filter: blur(18px);
  transform: scale(1.4);
}

.is-active .mod-anim-p {
  opacity: 1;
}
.is-active .mod-anim-p.is-top {
  transform: translate(0, 0);
}
.is-active .mod-anim-p.is-bottom {
  transform: translate(0, 0);
}
.is-active .mod-anim-p.is-chara-bounce {
  transform: translateY(0);
  transition-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}
.is-active .mod-anim-p.is-clip-right {
  clip-path: inset(0 0 0 0);
}
.is-active .mod-anim-p.is-blur-in {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
}

@media print, screen and (min-width: 768px) {
  body {
    background-color: #000;
    font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  }
  body img {
    width: 100%;
  }
  .area-wrapper {
    overflow: clip;
    min-width: min(1200px, 1200 / var(--w) * 100vw);
  }
  .area-inner {
    margin: 0 auto;
    width: min(1200px, 1200 / var(--w) * 100vw);
  }
  .block-inner {
    margin: 0 auto;
    position: relative;
    width: min(1200px, 1200 / var(--w) * 100vw);
  }
  .area-header-sub {
    background: #000;
    padding: min(20px, 20 / var(--w) * 100vw);
    color: #fff;
  }
  .area-header-sub ._logo {
    width: min(120px, 120 / var(--w) * 100vw);
  }
  .area-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: min(80px, 80 / var(--w) * 100vw);
    z-index: 100;
    color: #fff;
    transition-duration: 0.2s;
  }
  .area-header ._logo {
    position: absolute;
    top: min(20px, 20 / var(--w) * 100vw);
    left: min(20px, 20 / var(--w) * 100vw);
    width: min(120px, 120 / var(--w) * 100vw);
  }
  .area-header ._links {
    position: absolute;
    top: min(20px, 20 / var(--w) * 100vw);
    right: min(20px, 20 / var(--w) * 100vw);
  }
  body.js-scroll-start .area-header {
    background: linear-gradient(180deg, black 0%, rgba(0, 0, 0, 0) 100%);
  }
  .mod-header-link {
    display: flex;
    gap: min(20px, 20 / var(--w) * 100vw);
  }
  .mod-header-link li a {
    font-size: min(13px, 13 / var(--w) * 100vw);
    font-weight: bold;
    color: #ffffff;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-header-link li a:hover {
    opacity: 0.8;
  }
  .area-footer {
    padding: min(150px, 150 / var(--w) * 100vw) 0 min(150px, 150 / var(--w) * 100vw) 0;
    color: #fff;
    background-image: url("../images/footer/bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .area-footer .block-inner {
    padding-left: 30vw;
  }
  .area-footer ._head {
    margin-bottom: min(40px, 40 / var(--w) * 100vw);
    display: flex;
    gap: min(20px, 20 / var(--w) * 100vw);
    align-items: center;
  }
  .area-footer ._head ._logo {
    width: min(100px, 100 / var(--w) * 100vw);
  }
  .area-footer ._head ._tagline {
    font-size: min(13px, 13 / var(--w) * 100vw);
    color: #ffffff;
  }
  .area-footer ._name {
    font-size: min(14px, 14 / var(--w) * 100vw);
    line-height: 2;
    color: #ffffff;
  }
  .area-footer ._rows {
    margin-top: min(20px, 20 / var(--w) * 100vw);
  }
  .area-footer ._rows ._row {
    margin-bottom: min(20px, 20 / var(--w) * 100vw);
    display: flex;
    gap: min(30px, 30 / var(--w) * 100vw);
    font-size: min(14px, 14 / var(--w) * 100vw);
    line-height: 2;
    color: #ffffff;
  }
  .area-footer ._copy {
    margin-top: min(50px, 50 / var(--w) * 100vw);
    text-align: center;
  }
  .area-footer ._copy small {
    font-size: min(10px, 10 / var(--w) * 100vw);
    line-height: 1;
    color: #ffffff;
  }
  .mod-doc p {
    font-weight: 500;
    font-size: min(18px, 18 / var(--w) * 100vw);
    line-height: 1.94;
  }
  .mod-hover {
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-hover:hover {
    filter: brightness(1.1);
  }
  .mod-big-link {
    background: #000;
    color: #fff;
    padding: min(40px, 40 / var(--w) * 100vw) min(60px, 60 / var(--w) * 100vw) min(50px, 50 / var(--w) * 100vw) min(60px, 60 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    gap: min(30px, 30 / var(--w) * 100vw);
    align-items: flex-start;
    justify-content: center;
    background: linear-gradient(125deg, #2C452D 40%, #000 100%);
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-big-link ._en {
    font-size: min(50px, 50 / var(--w) * 100vw);
    font-weight: 100;
    color: #ffffff;
  }
  .mod-big-link ._en b {
    font-size: min(99px, 99 / var(--w) * 100vw);
    font-weight: 100;
    color: #ffffff;
  }
  .mod-big-link ._sub {
    font-size: min(18px, 18 / var(--w) * 100vw);
    letter-spacing: 0.29em;
    font-weight: bold;
    color: #ffffff;
  }
  .mod-big-link ._btns {
    margin-left: auto;
  }
  .mod-big-link:hover {
    filter: brightness(1.1);
  }
  .mod-btn-c, .mod-btn-b, .mod-btn-d {
    position: relative;
    width: min(230px, 230 / var(--w) * 100vw);
    height: min(50px, 50 / var(--w) * 100vw);
    padding: 0 min(70px, 70 / var(--w) * 100vw) 0 min(30px, 30 / var(--w) * 100vw);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition-duration: 0.2s;
    border: none;
    outline: none;
  }
  .mod-btn-c span, .mod-btn-b span, .mod-btn-d span {
    font-size: min(18px, 18 / var(--w) * 100vw);
    letter-spacing: 0.1em;
    font-weight: bold;
  }
  .mod-btn-c:after, .mod-btn-b:after, .mod-btn-d:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    background-size: contain;
    width: min(50px, 50 / var(--w) * 100vw);
    height: min(50px, 50 / var(--w) * 100vw);
  }
  .mod-btn-c:hover, .mod-btn-b:hover, .mod-btn-d:hover {
    opacity: 0.8;
  }
  .mod-btn-c {
    background: #fff;
  }
  .mod-btn-c span {
    color: #2c452d;
  }
  .mod-btn-c:after {
    background-image: url(../images/common/arrow-c.png);
  }
  .mod-btn-b {
    background: #2C452D;
  }
  .mod-btn-b span {
    color: #fff;
  }
  .mod-btn-b:after {
    background-image: url(../images/common/arrow-b.png);
  }
  .mod-btn-d {
    background: #2C452D;
  }
  .mod-btn-d span {
    color: #fff;
  }
  .mod-btn-d:after {
    background-image: url(../images/common/arrow-d.png);
  }
  .mod-message-slider {
    width: min(400px, 400 / var(--w) * 100vw);
    margin: 0 auto;
    position: relative;
    --swiper-navigation-size:min(20px, calc(20 / var(--w) * 100vw));
    --swiper-navigation-color:#539452;
  }
  .mod-message-slider .swiper-slide {
    width: min(100px, 100 / var(--w) * 100vw);
    box-sizing: border-box;
  }
  .mod-message-slider .swiper-button-prev {
    z-index: 10;
    display: block;
    position: absolute;
    top: calc(50% - min(15px, 15 / var(--w) * 100vw)) !important;
    left: max(-50px, -50 / var(--w) * 100vw) !important;
    transform: scale(0.5);
    width: min(60px, 60 / var(--w) * 100vw);
    height: min(60px, 60 / var(--w) * 100vw);
    border-radius: 50%;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-message-slider .swiper-button-prev:hover {
    opacity: 0.8;
  }
  .mod-message-slider .swiper-button-prev:after {
    content: "";
  }
  .mod-message-slider .swiper-button-next {
    z-index: 10;
    display: block;
    position: absolute;
    top: calc(50% - min(15px, 15 / var(--w) * 100vw)) !important;
    right: max(-60px, -60 / var(--w) * 100vw) !important;
    transform: scale(0.5);
    width: min(60px, 60 / var(--w) * 100vw);
    height: min(60px, 60 / var(--w) * 100vw);
    border-radius: 50%;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-message-slider .swiper-button-next:hover {
    opacity: 0.8;
  }
  .mod-message-slider .swiper-button-next:after {
    content: "";
  }
  .mod-message-slider .swiper-button-disabled {
    opacity: 0.2;
  }
  .mod-message-slider .swiper-slide {
    transition-duration: 0.5s;
    border: min(5px, 5 / var(--w) * 100vw) solid #000;
  }
  .mod-message-slider .swiper-slide-active {
    border: min(5px, 5 / var(--w) * 100vw) solid #fff;
  }
  .mod-modal-btn-close {
    --boxW:min(50px, calc(50 / var(--w) * 100vw));
    --boxH:min(50px, calc(50 / var(--w) * 100vw));
    --bar:min(30px, calc(30 / var(--w) * 100vw));
    --thick:min(2px, calc(2 / var(--w) * 100vw));
    position: relative;
    width: var(--boxW);
    height: var(--boxH);
    background-color: #000;
    z-index: 10;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-modal-btn-close span {
    content: "";
    position: absolute;
    background: #fff;
    top: calc((var(--boxH) - var(--thick)) / 2);
    left: calc((var(--boxW) - var(--bar)) / 2);
    width: var(--bar);
    height: var(--thick);
    transform: rotate(-45deg);
  }
  .mod-modal-btn-close span:nth-child(2) {
    transform: rotate(45deg);
  }
  .mod-modal-btn-close:hover {
    opacity: 0.8;
  }
  .area-modal-movie {
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.2s;
    transform: scale(0.9);
    position: fixed;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
  }
  .area-modal-movie.js-show {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
  }
  .area-modal-movie .mod-modal-btn-close {
    position: absolute;
    top: max(-50px, -50 / var(--w) * 100vw);
    right: 0;
  }
  .area-modal-movie ._modal-bg {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
  }
  .area-modal-movie ._modal-box {
    position: absolute;
    background: #000;
    box-sizing: border-box;
    width: min(1000px, 1000 / var(--w) * 100vw);
    height: calc(min(1000px, 1000 / var(--w) * 100vw) / 16 * 9);
  }
  .area-modal-movie ._modal-body {
    position: absolute;
    inset: 0;
  }
  .area-modal-movie video, .area-modal-movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .prlx-bg {
    position: absolute;
    inset: 0;
    opacity: 0.5;
    background-size: cover;
    will-change: background-position;
  }
  .prlx-view {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .mod-head {
    border-bottom: min(1px, 1 / var(--w) * 100vw) solid #fff;
    display: flex;
    padding-bottom: min(20px, 20 / var(--w) * 100vw);
    font-size: min(50px, 50 / var(--w) * 100vw);
    letter-spacing: 0.29em;
    font-weight: bold;
    color: #ffffff;
  }
  .mod-head2 {
    display: flex;
    flex-direction: column;
    gap: min(10px, 10 / var(--w) * 100vw);
    align-items: flex-start;
    justify-content: center;
  }
  .mod-head2 ._title {
    margin-bottom: min(10px, 10 / var(--w) * 100vw);
    font-size: min(50px, 50 / var(--w) * 100vw);
    line-height: 1;
  }
  .mod-head2 ._sub {
    border-bottom: min(1px, 1 / var(--w) * 100vw) solid #ccc;
    padding-bottom: min(10px, 10 / var(--w) * 100vw);
    font-size: min(18px, 18 / var(--w) * 100vw);
    line-height: 1;
    font-weight: bold;
  }
  .block-init {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 100vh;
  }
  .block-init .bg-cover {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #000;
    z-index: 2;
    transition-duration: 1s;
  }
  .bg-mv {
    position: absolute;
    inset: 0;
    background-size: 100% auto;
    background-position: center;
    background-repeat: no-repeat;
    transition-duration: 1s;
    pointer-events: none;
    opacity: 0;
    transform: scale(0.5);
  }
  .bg-mv.is-bg1 {
    background-image: url(../images/mv/bg1.jpg);
    z-index: -1;
  }
  .bg-mv.is-bg2 {
    background-image: url(../images/mv/bg2.png);
    z-index: 3;
  }
  .bg-mv.is-bg3 {
    background-image: url(../images/mv/bg3.png);
    z-index: 4;
  }
  body.is-opening-scene-0 .block-init .bg-cover {
    opacity: 0;
  }
  body.is-opening-scene-4 .bg-mv.is-bg1 {
    transform: scale(1);
    opacity: 1;
  }
  body.is-opening-scene-5 .bg-mv.is-bg2 {
    transform: scale(0.8);
    opacity: 1;
  }
  body.is-opening-scene-6 .bg-mv.is-bg3 {
    transform: scale(0.8);
    opacity: 1;
  }
  body.is-hide-bg1 .block-init .bg-cover {
    opacity: 0.5;
  }
  body.is-hide-bg2 .block-init {
    display: none;
  }
  /* -------------------------------------------------- */
  .block-index-mv {
    position: relative;
    height: 120vh;
  }
  .block-index-mv .js-effect-container {
    z-index: 2;
  }
  /* -------------------------------------------------- */
  .block-index-concept {
    height: 200vh;
    color: #fff;
  }
  .block-index-concept ._cols {
    display: flex;
    gap: min(50px, 50 / var(--w) * 100vw);
    align-items: center;
    font-style: normal;
  }
  .block-index-concept ._cols ._col-lead {
    flex: 1.4;
    padding-left: min(40px, 40 / var(--w) * 100vw);
  }
  .block-index-concept ._cols ._col-lead ._title ._t1 {
    display: flex;
    align-items: center;
    font-size: min(72px, 72 / var(--w) * 100vw);
    line-height: 1.3;
    letter-spacing: -0.05em;
    font-weight: bold;
    color: #ffffff;
  }
  .block-index-concept ._cols ._col-lead ._title ._t1 b {
    font-size: min(112px, 112 / var(--w) * 100vw);
    letter-spacing: -0.05em;
    font-weight: bold;
    color: #ffffff;
  }
  .block-index-concept ._cols ._col-lead ._title ._t2 {
    display: flex;
    align-items: center;
    font-size: min(85px, 85 / var(--w) * 100vw);
    line-height: 1.3;
    font-weight: bold;
    color: #ffffff;
  }
  .block-index-concept ._cols ._col-lead ._sub {
    margin-top: min(40px, 40 / var(--w) * 100vw);
  }
  .block-index-concept ._cols ._col-lead ._sub p {
    border-top: min(1px, 1 / var(--w) * 100vw) solid #fff;
    display: inline-block;
    padding-top: min(30px, 30 / var(--w) * 100vw);
    font-size: min(32px, 32 / var(--w) * 100vw);
    font-weight: bold;
    color: #ffffff;
  }
  .block-index-concept ._cols ._col-desc {
    flex: 1;
  }
  .block-index-concept ._cols ._col-desc ._text {
    display: flex;
    flex-direction: column;
    gap: min(10px, 10 / var(--w) * 100vw);
  }
  .block-index-concept ._cols ._col-desc ._text span {
    font-size: min(20px, 20 / var(--w) * 100vw);
    line-height: 2;
    font-weight: bold;
  }
  /* -------------------------------------------------- */
  .block-index-about {
    position: relative;
    height: 150vh;
  }
  .block-index-about .prlx-bg {
    background-image: url(../images/about/bg.jpg);
    opacity: 1;
    background-position: 50% 100%;
    background-attachment: fixed;
    transform: scale(clamp(1, 1 + var(--scroll-slide-progress) / 4, 1.6));
  }
  .block-index-about ._fix-head {
    position: absolute;
    top: min(20px, 20 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: min(220px, 220 / var(--w) * 100vw);
    transform: translate(20vw, 0);
    font-size: min(200px, 200 / var(--w) * 100vw);
    letter-spacing: -0.08em;
    font-weight: bold;
    color: #fff;
  }
  .block-index-about ._fix-head b {
    color: #2C452D;
  }
  .block-index-about ._fix-head ._t1 {
    position: absolute;
    top: min(10px, 10 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: 0;
    clip-path: inset(0 0 30% 0);
  }
  .block-index-about ._fix-head ._t2 {
    position: absolute;
    top: min(10px, 10 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: min(10px, 10 / var(--w) * 100vw);
    clip-path: inset(70% 0 0 0);
    filter: blur(min(20px, 20 / var(--w) * 100vw));
  }
  .block-index-about .block-inner {
    display: flex;
    flex-direction: column;
    gap: min(60px, 60 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
    padding: min(150px, 150 / var(--w) * 100vw) 0 0 0;
  }
  .block-index-about ._head {
    text-align: center;
  }
  .block-index-about ._body {
    display: flex;
    flex-direction: column;
    gap: min(60px, 60 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .block-index-about ._body ._lead {
    font-size: min(14px, 14 / var(--w) * 100vw);
    color: #ffffff;
  }
  .mod-video-frame {
    width: min(524px, 524 / var(--w) * 100vw);
    position: relative;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-video-frame:after {
    content: "";
    display: block;
    position: absolute;
    bottom: max(-20px, -20 / var(--w) * 100vw);
    left: calc(50% - min(30px, 30 / var(--w) * 100vw));
    background-image: url("../images/about/arrow.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: min(69px, 69 / var(--w) * 100vw);
    height: min(69px, 69 / var(--w) * 100vw);
  }
  .mod-video-frame:hover {
    transform: scale(1.05);
  }
  /* -------------------------------------------------- */
  .block-index-business {
    height: 150vh;
    color: #fff;
  }
  .block-index-business .prlx-bg {
    opacity: 1;
    background-image: url(../images/business/bg.jpg);
    background-position: 50% 100%;
    background-attachment: fixed;
    transform: scale(clamp(1, 1 + var(--scroll-slide-progress) / 4, 1.6));
  }
  .block-index-business ._fix-head-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: min(177px, 177 / var(--w) * 100vw);
    background: #fff;
  }
  .block-index-business ._fix-head {
    position: absolute;
    top: min(20px, 20 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: min(220px, 220 / var(--w) * 100vw);
    transform: translate(20vw, 0);
    font-size: min(200px, 200 / var(--w) * 100vw);
    letter-spacing: -0.08em;
    font-weight: bold;
    color: #000;
  }
  .block-index-business ._fix-head b {
    color: #2C452D;
  }
  .block-index-business ._fix-head ._t1 {
    position: absolute;
    top: min(10px, 10 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: 0;
    clip-path: inset(0 0 30% 0);
  }
  .block-index-business ._fix-head ._t2 {
    position: absolute;
    top: min(10px, 10 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: min(10px, 10 / var(--w) * 100vw);
    clip-path: inset(70% 0 0 0);
    filter: blur(min(20px, 20 / var(--w) * 100vw));
    color: #fff;
  }
  .block-index-business ._fix-title {
    position: absolute;
    top: min(90px, 90 / var(--w) * 100vw);
    left: min(40px, 40 / var(--w) * 100vw);
  }
  .block-index-business ._fix-title .mod-head {
    color: #000;
  }
  .block-index-business ._head {
    display: flex;
    flex-direction: column;
    gap: min(20px, 20 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .block-index-business ._head ._t1 {
    font-size: min(26px, 26 / var(--w) * 100vw);
    letter-spacing: 0.2em;
    font-weight: bold;
    color: #ffffff;
  }
  .block-index-business ._head ._t2 {
    font-size: min(16px, 16 / var(--w) * 100vw);
    letter-spacing: 0.2em;
    color: #ffffff;
  }
  .block-index-business ._cols {
    padding: min(200px, 200 / var(--w) * 100vw) 0 0 0;
    display: flex;
    gap: min(40px, 40 / var(--w) * 100vw);
  }
  .block-index-business ._cols ._col-list {
    display: flex;
    flex-direction: column;
    gap: min(40px, 40 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
    flex: 1;
  }
  .block-index-business ._cols ._col-link {
    display: flex;
    flex-direction: column;
    gap: min(40px, 40 / var(--w) * 100vw);
    align-items: center;
    width: min(420px, 420 / var(--w) * 100vw);
    padding-top: min(100px, 100 / var(--w) * 100vw);
    text-align: center;
  }
  .block-index-business ._cols ._col-link ._desc {
    font-size: min(20px, 20 / var(--w) * 100vw);
    line-height: 2;
    color: #ffffff;
  }
  .mod-btn-box {
    border-radius: min(10px, 10 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    gap: min(10px, 10 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
    position: relative;
    background: #fff;
    padding: min(20px, 20 / var(--w) * 100vw) min(100px, 100 / var(--w) * 100vw) min(20px, 20 / var(--w) * 100vw) min(20px, 20 / var(--w) * 100vw);
    width: min(380px, 380 / var(--w) * 100vw);
  }
  .mod-btn-box ._t1 {
    font-size: min(27px, 27 / var(--w) * 100vw);
    font-weight: bold;
    color: #000000;
  }
  .mod-btn-box ._t2 {
    font-size: min(16px, 16 / var(--w) * 100vw);
    color: #000000;
  }
  .mod-btn-box:after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - min(35px, 35 / var(--w) * 100vw));
    right: min(13px, 13 / var(--w) * 100vw);
    background: url(../images/common/arrow-a.png);
    background-size: contain;
    width: min(70px, 70 / var(--w) * 100vw);
    height: min(70px, 70 / var(--w) * 100vw);
  }
  .mod-business-list {
    color: #ffffff;
  }
  .mod-business-list ._item {
    display: flex;
    gap: min(20px, 20 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
    background: #333333;
    padding: min(30px, 30 / var(--w) * 100vw);
  }
  .mod-business-list ._item:nth-child(2) {
    background: #2C452D;
  }
  .mod-business-list ._item ._no {
    width: min(100px, 100 / var(--w) * 100vw);
    font-size: min(120px, 120 / var(--w) * 100vw);
    line-height: 0.8;
    letter-spacing: -0.08em;
    font-weight: 200;
    text-align: center;
  }
  .mod-business-list ._item ._texts {
    display: flex;
    flex-direction: column;
    gap: min(15px, 15 / var(--w) * 100vw);
    flex: 1;
  }
  .mod-business-list ._item ._texts ._title {
    font-size: min(24px, 24 / var(--w) * 100vw);
    font-weight: bold;
  }
  .mod-business-list ._item ._texts ._desc {
    font-size: min(16px, 16 / var(--w) * 100vw);
    line-height: 2;
  }
  /* -------------------------------------------------- */
  .block-index-bg {
    position: relative;
  }
  .block-index-bg ._bg {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    height: min(10px, 10 / var(--w) * 100vw);
    background-color: #000;
  }
  .block-index-bg ._bg ._bg-inner {
    height: 200vh;
    background: linear-gradient(180deg, #2c452d 0%, #2c452d 50%, #000 100%);
    transform: translateY(clamp(-200vh, var(--scroll-slide-progress) * -200vh, 0vh));
  }
  /* -------------------------------------------------- */
  .block-index-company {
    height: 150vw;
  }
  .block-index-company ._title {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .block-index-company ._title ._en {
    font-size: min(160px, 160 / var(--w) * 100vw);
    letter-spacing: 0.1em;
    font-weight: bold;
    color: rgba(83, 148, 82, 0.3);
  }
  .block-index-company ._title h2 {
    margin-top: max(-40px, -40 / var(--w) * 100vw);
    position: relative;
  }
  .block-index-company ._texts {
    display: flex;
    flex-direction: column;
    gap: min(20px, 20 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .block-index-company ._texts ._t1 {
    margin-top: min(80px, 80 / var(--w) * 100vw);
    font-size: min(72px, 72 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.2em;
    font-weight: bold;
    color: #ffffff;
  }
  .block-index-company ._texts ._t2 {
    margin-top: min(60px, 60 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    font-size: min(30px, 30 / var(--w) * 100vw);
    line-height: 2.19;
    color: #ffffff;
  }
  /* -------------------------------------------------- */
  .block-index-message {
    height: 150vw;
  }
  .block-index-message ._title {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .block-index-message .block-inner {
    padding: min(380px, 380 / var(--w) * 100vw) 0 0 0;
  }
  .block-index-message ._btns {
    margin-top: min(100px, 100 / var(--w) * 100vw);
    display: flex;
    gap: 0;
    align-items: center;
    justify-content: center;
  }
  .block-index-message ._slider {
    margin-top: min(100px, 100 / var(--w) * 100vw);
    padding-right: min(200px, 200 / var(--w) * 100vw);
  }
  .block-index-message ._slider-target {
    position: absolute;
    top: min(240px, 240 / var(--w) * 100vw);
    right: max(-20px, -20 / var(--w) * 100vw);
    width: min(430px, 430 / var(--w) * 100vw);
    border-radius: min(30px, 30 / var(--w) * 100vw);
    overflow: h;
  }
  .block-index-message ._titles {
    position: absolute;
    top: max(-100px, -100 / var(--w) * 100vw);
    right: 0;
    left: 0;
  }
  .block-index-message ._titles-in {
    width: min(1440px, 1440 / var(--w) * 100vw);
    margin: 0 auto;
  }
  .mod-message-title {
    position: relative;
    width: min(1440px, 1440 / var(--w) * 100vw);
    height: min(709px, 709 / var(--w) * 100vw);
  }
  .mod-message-title ._t4 {
    position: absolute;
    top: max(-97px, -97 / var(--w) * 100vw);
    left: min(597px, 597 / var(--w) * 100vw);
    width: min(319px, 319 / var(--w) * 100vw);
  }
  .mod-message-title ._t1 {
    position: absolute;
    top: min(43px, 43 / var(--w) * 100vw);
    left: 0;
    width: min(517px, 517 / var(--w) * 100vw);
  }
  .mod-message-title ._t5 {
    position: absolute;
    top: min(124px, 124 / var(--w) * 100vw);
    left: min(758px, 758 / var(--w) * 100vw);
    width: min(245px, 245 / var(--w) * 100vw);
  }
  .mod-message-title ._t7 {
    position: absolute;
    top: min(124px, 124 / var(--w) * 100vw);
    left: min(1079px, 1079 / var(--w) * 100vw);
    width: min(226px, 226 / var(--w) * 100vw);
  }
  .mod-message-title ._t3 {
    position: absolute;
    top: min(246px, 246 / var(--w) * 100vw);
    left: min(549px, 549 / var(--w) * 100vw);
    width: min(167px, 167 / var(--w) * 100vw);
  }
  .mod-message-title ._t6 {
    position: absolute;
    top: min(436px, 436 / var(--w) * 100vw);
    left: min(997px, 997 / var(--w) * 100vw);
    width: min(112px, 112 / var(--w) * 100vw);
  }
  .mod-message-title ._t2 {
    position: absolute;
    top: min(457px, 457 / var(--w) * 100vw);
    left: min(480px, 480 / var(--w) * 100vw);
    width: min(82px, 82 / var(--w) * 100vw);
  }
  .mod-message-slider {
    display: flex;
    gap: min(10px, 10 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .block-index-bg2 {
    height: 150vh;
    position: relative;
    background: #fff;
    padding: min(100px, 100 / var(--w) * 100vw) 0;
  }
  .block-index-bg2 .block-inner {
    display: flex;
    flex-direction: column;
    gap: min(40px, 40 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .block-index-links ._cols {
    display: flex;
    gap: min(40px, 40 / var(--w) * 100vw);
    flex-wrap: wrap;
  }
  .block-index-links ._cols > * {
    width: calc((100% - min(40px, 40 / var(--w) * 100vw) * 1) / 2);
  }
  /* -------------------------------------------------- */
  .block-index-news {
    border: min(20px, 20 / var(--w) * 100vw) solid #EEEEEE;
    display: flex;
    flex-direction: column;
    gap: min(50px, 50 / var(--w) * 100vw);
    padding: min(60px, 60 / var(--w) * 100vw) min(70px, 70 / var(--w) * 100vw) min(50px, 50 / var(--w) * 100vw) min(70px, 70 / var(--w) * 100vw);
  }
  .block-index-news ._cols {
    display: flex;
    gap: min(40px, 40 / var(--w) * 100vw);
  }
  .block-index-news ._cols ._col-head {
    width: min(200px, 200 / var(--w) * 100vw);
  }
  .block-index-news ._cols ._col-list {
    flex: 1;
  }
  .block-index-news ._btns {
    display: flex;
    gap: 0;
    align-items: center;
    justify-content: center;
  }
  .mod-news-items {
    display: flex;
    flex-direction: column;
    gap: min(30px, 30 / var(--w) * 100vw);
  }
  .mod-news-item {
    display: flex;
    gap: min(20px, 20 / var(--w) * 100vw);
    align-items: center;
  }
  .mod-news-item ._date {
    width: min(80px, 80 / var(--w) * 100vw);
    font-size: min(16px, 16 / var(--w) * 100vw);
  }
  .mod-news-item ._cat {
    width: min(100px, 100 / var(--w) * 100vw);
    background: #333;
    padding: min(6px, 6 / var(--w) * 100vw);
    font-size: min(14px, 14 / var(--w) * 100vw);
    color: #fff;
    text-align: center;
  }
  .mod-news-item ._text {
    font-size: min(18px, 18 / var(--w) * 100vw);
    line-height: 2;
    font-weight: bold;
    color: #000000;
  }
  .mod-news-item a {
    text-decoration: underline;
    color: #000;
  }
  /* -------------------------------------------------- */
  .block-index-contact {
    height: 150vh;
    background: #2C452D;
    padding: min(100px, 100 / var(--w) * 100vw) 0;
  }
  .block-index-contact ._box {
    display: flex;
    gap: min(80px, 80 / var(--w) * 100vw);
    background: #fff;
    padding: min(60px, 60 / var(--w) * 100vw);
  }
  .mod-contact-form input {
    font-size: min(16px, 16 / var(--w) * 100vw);
  }
  .mod-contact-form textarea {
    font-size: min(16px, 16 / var(--w) * 100vw);
  }
  .mod-contact-form ._btns {
    margin-top: min(30px, 30 / var(--w) * 100vw);
    padding-left: min(200px, 200 / var(--w) * 100vw);
  }
  .mod-contact-form ._row {
    margin-bottom: min(10px, 10 / var(--w) * 100vw);
    display: flex;
    gap: min(20px, 20 / var(--w) * 100vw);
  }
  .mod-contact-form ._row ._label {
    width: min(180px, 180 / var(--w) * 100vw);
    font-size: min(16px, 16 / var(--w) * 100vw);
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-weight: bold;
  }
  .mod-contact-form ._row ._input {
    flex: 1;
  }
  .mod-contact-form ._row ._input input {
    border: min(1px, 1 / var(--w) * 100vw) solid #ccc;
    width: min(500px, 500 / var(--w) * 100vw);
    padding: min(15px, 15 / var(--w) * 100vw);
  }
  .mod-contact-form ._row ._input textarea {
    border: min(1px, 1 / var(--w) * 100vw) solid #ccc;
    width: min(500px, 500 / var(--w) * 100vw);
    height: min(100px, 100 / var(--w) * 100vw);
    padding: min(15px, 15 / var(--w) * 100vw);
  }
  .mod-contact-form ._req {
    font-size: min(14px, 14 / var(--w) * 100vw);
    font-weight: 300;
    color: red;
  }
  /* -------------------------------------------------- */
  .block-form-thanks {
    padding: min(120px, 120 / var(--w) * 100vw) 0;
    background: #fff;
  }
  .block-form-thanks .block-inner {
    display: flex;
    flex-direction: column;
    gap: min(40px, 40 / var(--w) * 100vw);
  }
  .block-form-thanks .block-inner ._head {
    text-align: center;
  }
  .block-form-thanks .block-inner ._head ._title h2 {
    font-size: min(24px, 24 / var(--w) * 100vw);
    line-height: 1.2;
  }
  .block-form-thanks .block-inner ._body {
    text-align: center;
  }
  .block-form-thanks .block-inner ._body ._message p {
    font-size: min(16px, 16 / var(--w) * 100vw);
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --w:375 ;
  }
  body {
    background-color: #000;
    font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  }
  .area-wrapper {
    overflow: clip;
  }
  .area-wrapper img {
    width: 100%;
  }
  .block-inner {
    position: relative;
  }
  .area-header-sub {
    color: #fff;
    background: #000;
    padding: 20px;
  }
  .area-header-sub ._logo {
    width: 21.3333333333vw;
  }
  .area-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    height: 13.3333333333vw;
    color: #fff;
    transition-duration: 0.2s;
  }
  .area-header ._logo {
    position: absolute;
    top: 5.3333333333vw;
    left: 5.3333333333vw;
    width: 21.3333333333vw;
  }
  .area-header ._links {
    display: none;
  }
  body.js-scroll-start .area-header {
    background: linear-gradient(180deg, black 0%, rgba(0, 0, 0, 0) 100%);
  }
  .area-footer {
    padding: 16vw 5.3333333333vw 16vw 5.3333333333vw;
    color: #fff;
    background-image: url("../images/footer/bg.jpg?");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .area-footer ._head {
    text-align: center;
  }
  .area-footer ._head ._logo {
    margin-top: 5.3333333333vw;
    width: 42.6666666667vw;
    margin: 0 auto;
  }
  .area-footer ._head ._tagline {
    margin-top: 5.3333333333vw;
    font-size: 3.4666666667vw;
    color: #ffffff;
  }
  .area-footer ._name {
    margin-top: 5.3333333333vw;
    text-align: center;
    font-size: 3.7333333333vw;
    line-height: 2;
    color: #ffffff;
  }
  .area-footer ._rows {
    margin-top: 5.3333333333vw;
  }
  .area-footer ._rows ._row {
    display: flex;
    gap: 8vw;
    margin-bottom: 5.3333333333vw;
    font-size: 3.7333333333vw;
    line-height: 2;
    color: #ffffff;
  }
  .area-footer ._copy {
    text-align: center;
    margin-top: 13.3333333333vw;
  }
  .area-footer ._copy small {
    font-size: 2.6666666667vw;
    line-height: 1;
    color: #ffffff;
  }
  .mod-doc p {
    font-weight: 500;
    font-size: min(18px, 18 / var(--w) * 100vw);
    line-height: 1.94;
  }
  .mod-hover {
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-hover:hover {
    filter: brightness(1.1);
  }
  .mod-big-link {
    background: #000;
    color: #fff;
    padding: min(27px, 27 / var(--w) * 100vw) min(30px, 30 / var(--w) * 100vw) min(33px, 33 / var(--w) * 100vw) min(30px, 30 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    gap: min(10px, 10 / var(--w) * 100vw);
    align-items: flex-start;
    justify-content: center;
    background: linear-gradient(125deg, #2C452D 20%, #000 100%);
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-big-link ._en {
    font-size: min(33px, 33 / var(--w) * 100vw);
    font-weight: 100;
    color: #ffffff;
  }
  .mod-big-link ._en b {
    font-size: min(66px, 66 / var(--w) * 100vw);
    font-weight: 100;
    color: #ffffff;
  }
  .mod-big-link ._sub {
    font-size: min(12px, 12 / var(--w) * 100vw);
    letter-spacing: 0.29em;
    font-weight: bold;
    color: #ffffff;
  }
  .mod-big-link ._btns {
    margin-left: auto;
    margin-top: min(10px, 10 / var(--w) * 100vw);
  }
  .mod-big-link:hover {
    filter: brightness(1.1);
  }
  .mod-btn-c, .mod-btn-b, .mod-btn-d {
    position: relative;
    width: min(200px, 200 / var(--w) * 100vw);
    height: min(50px, 50 / var(--w) * 100vw);
    padding: 0 min(70px, 70 / var(--w) * 100vw) 0 min(30px, 30 / var(--w) * 100vw);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition-duration: 0.2s;
    border: none;
    outline: none;
  }
  .mod-btn-c span, .mod-btn-b span, .mod-btn-d span {
    font-size: min(15px, 15 / var(--w) * 100vw);
    letter-spacing: 0.1em;
    font-weight: bold;
  }
  .mod-btn-c:after, .mod-btn-b:after, .mod-btn-d:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    background-size: contain;
    width: min(50px, 50 / var(--w) * 100vw);
    height: min(50px, 50 / var(--w) * 100vw);
  }
  .mod-btn-c:hover, .mod-btn-b:hover, .mod-btn-d:hover {
    opacity: 0.8;
  }
  .mod-btn-c {
    background: #fff;
  }
  .mod-btn-c span {
    color: #2c452d;
  }
  .mod-btn-c:after {
    background-image: url(../images/common/arrow-c.png);
  }
  .mod-btn-b {
    background: #2C452D;
  }
  .mod-btn-b span {
    color: #fff;
  }
  .mod-btn-b:after {
    background-image: url(../images/common/arrow-b.png);
  }
  .mod-btn-d {
    background: #2C452D;
  }
  .mod-btn-d span {
    color: #fff;
  }
  .mod-btn-d:after {
    background-image: url(../images/common/arrow-d.png);
  }
  .mod-message-slider {
    margin: 0 auto;
    position: relative;
    --swiper-navigation-size:min(20px, calc(20 / var(--w) * 100vw));
    --swiper-navigation-color:#539452;
  }
  .mod-message-slider .swiper-slide {
    width: min(80px, 80 / var(--w) * 100vw);
    box-sizing: border-box;
  }
  .mod-message-slider .swiper-button-prev {
    z-index: 10;
    display: block;
    position: absolute;
    top: calc(50% - min(25px, 25 / var(--w) * 100vw)) !important;
    left: max(-50px, -50 / var(--w) * 100vw) !important;
    transform: scale(0.5);
    width: min(60px, 60 / var(--w) * 100vw);
    height: min(60px, 60 / var(--w) * 100vw);
    border-radius: 50%;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-message-slider .swiper-button-prev:hover {
    opacity: 0.8;
  }
  .mod-message-slider .swiper-button-prev:after {
    content: "";
  }
  .mod-message-slider .swiper-button-next {
    z-index: 10;
    display: block;
    position: absolute;
    top: calc(50% - min(25px, 25 / var(--w) * 100vw)) !important;
    right: max(-60px, -60 / var(--w) * 100vw) !important;
    transform: scale(0.5);
    width: min(60px, 60 / var(--w) * 100vw);
    height: min(60px, 60 / var(--w) * 100vw);
    border-radius: 50%;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-message-slider .swiper-button-next:hover {
    opacity: 0.8;
  }
  .mod-message-slider .swiper-button-next:after {
    content: "";
  }
  .mod-message-slider .swiper-button-disabled {
    opacity: 0.2;
  }
  .mod-message-slider .swiper-slide {
    transition-duration: 0.5s;
    border: min(5px, 5 / var(--w) * 100vw) solid #000;
  }
  .mod-message-slider .swiper-slide-active {
    border: min(5px, 5 / var(--w) * 100vw) solid #fff;
  }
  .mod-modal-btn-close {
    --boxW:min(50px, calc(50 / var(--w) * 100vw));
    --boxH:min(50px, calc(50 / var(--w) * 100vw));
    --bar:min(30px, calc(30 / var(--w) * 100vw));
    --thick:min(2px, calc(2 / var(--w) * 100vw));
    position: relative;
    width: var(--boxW);
    height: var(--boxH);
    background-color: #000;
    z-index: 10;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-modal-btn-close span {
    content: "";
    position: absolute;
    background: #fff;
    top: calc((var(--boxH) - var(--thick)) / 2);
    left: calc((var(--boxW) - var(--bar)) / 2);
    width: var(--bar);
    height: var(--thick);
    transform: rotate(-45deg);
  }
  .mod-modal-btn-close span:nth-child(2) {
    transform: rotate(45deg);
  }
  .mod-modal-btn-close:hover {
    opacity: 0.8;
  }
  .area-modal-movie {
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.2s;
    transform: scale(0.9);
    position: fixed;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
  }
  .area-modal-movie.js-show {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
  }
  .area-modal-movie .mod-modal-btn-close {
    position: absolute;
    top: max(-50px, -50 / var(--w) * 100vw);
    right: 0;
  }
  .area-modal-movie ._modal-bg {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
  }
  .area-modal-movie ._modal-box {
    position: absolute;
    background: #000;
    box-sizing: border-box;
    width: 100vw;
    height: 56.25vw;
  }
  .area-modal-movie ._modal-body {
    position: absolute;
    inset: 0;
  }
  .area-modal-movie video, .area-modal-movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .prlx-bg {
    position: absolute;
    inset: 0;
    opacity: 0.5;
    background-size: cover;
    will-change: background-position;
  }
  .prlx-view {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    min-height: 100vh;
  }
  .mod-head {
    border-bottom: calc(1 / var(--w) * 100vw) solid #fff;
    display: flex;
    padding-bottom: calc(15 / var(--w) * 100vw);
    font-size: calc(24 / var(--w) * 100vw);
    letter-spacing: 0.29em;
    font-weight: bold;
    color: #ffffff;
  }
  .mod-head i {
    font-style: normal;
  }
  .mod-head2 {
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .mod-head2 ._title {
    margin-bottom: calc(5 / var(--w) * 100vw);
    font-size: calc(24 / var(--w) * 100vw);
    line-height: 1;
  }
  .mod-head2 ._sub {
    border-bottom: calc(1 / var(--w) * 100vw) solid #ccc;
    padding-bottom: calc(10 / var(--w) * 100vw);
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1;
    font-weight: bold;
  }
  .block-init {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 100vh;
  }
  .block-init .bg-cover {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #000;
    z-index: 2;
    transition-duration: 1s;
  }
  .bg-mv {
    position: absolute;
    inset: 0;
    background-size: 100% auto;
    background-position: center;
    background-repeat: no-repeat;
    transition-duration: 1s;
    pointer-events: none;
    opacity: 0;
    transform: scale(0.5);
  }
  .bg-mv.is-bg1 {
    background-image: url(../images/mv/sp/bg1.jpg);
    z-index: -1;
  }
  .bg-mv.is-bg2 {
    background-image: url(../images/mv/bg2.png);
    z-index: 3;
  }
  .bg-mv.is-bg3 {
    background-image: url(../images/mv/bg3.png);
    z-index: 4;
  }
  body.is-opening-scene-0 .block-init .bg-cover {
    opacity: 0;
  }
  body.is-opening-scene-4 .bg-mv.is-bg1 {
    transform: scale(1);
    opacity: 1;
  }
  body.is-opening-scene-5 .bg-mv.is-bg2 {
    transform: scale(0.8);
    opacity: 1;
  }
  body.is-opening-scene-6 .bg-mv.is-bg3 {
    transform: scale(0.8);
    opacity: 1;
  }
  body.is-hide-bg1 .block-init .bg-cover {
    opacity: 0.5;
  }
  body.is-hide-bg2 .block-init {
    display: none;
  }
  /* -------------------------------------------------- */
  .block-index-mv {
    position: relative;
    height: 120vh;
  }
  .block-index-mv .js-effect-container {
    z-index: 2;
  }
  /* -------------------------------------------------- */
  .block-index-concept {
    position: relative;
    height: 360vw;
    color: #fff;
  }
  .block-index-concept .prlx-view {
    padding: calc(260 / var(--w) * 100vw) calc(20 / var(--w) * 100vw) calc(50 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
  }
  .block-index-concept ._cols {
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
  }
  .block-index-concept ._cols ._col-lead ._title ._t1 {
    display: flex;
    align-items: center;
    font-size: calc(30 / var(--w) * 100vw);
    line-height: 1.3;
    letter-spacing: -0.05em;
    font-weight: bold;
    color: #ffffff;
  }
  .block-index-concept ._cols ._col-lead ._title ._t1 b {
    font-size: calc(50 / var(--w) * 100vw);
    letter-spacing: -0.05em;
    font-weight: bold;
    color: #ffffff;
  }
  .block-index-concept ._cols ._col-lead ._title ._t2 {
    display: flex;
    align-items: center;
    font-size: calc(40 / var(--w) * 100vw);
    line-height: 1.3;
    font-weight: bold;
    color: #ffffff;
  }
  .block-index-concept ._cols ._col-lead ._sub {
    margin-top: calc(40 / var(--w) * 100vw);
  }
  .block-index-concept ._cols ._col-lead ._sub p {
    border-top: calc(1 / var(--w) * 100vw) solid #fff;
    display: inline-block;
    padding-top: calc(30 / var(--w) * 100vw);
    font-size: calc(20 / var(--w) * 100vw);
    font-weight: bold;
    color: #ffffff;
  }
  .block-index-concept ._cols ._col-desc ._text {
    display: flex;
    flex-direction: column;
  }
  .block-index-concept ._cols ._col-desc ._text span {
    font-size: calc(15 / var(--w) * 100vw);
    line-height: 2;
    font-weight: bold;
  }
  .block-index-concept ._cols ._col-desc ._sign {
    font-size: calc(14 / var(--w) * 100vw);
    letter-spacing: 0.1em;
    font-weight: bold;
    text-align: right;
  }
  /* -------------------------------------------------- */
  .block-index-about {
    position: relative;
    height: 300vw;
  }
  .block-index-about .prlx-view {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .block-index-about .prlx-bg {
    background-image: url(../images/about/bg.jpg);
    opacity: 1;
    background-position: 50% 100%;
    background-attachment: fixed;
    transform: scale(clamp(1, 1 + var(--scroll-slide-progress) / 4, 1.6));
  }
  .block-index-about ._fix-head {
    position: absolute;
    top: calc(50 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: calc(70 / var(--w) * 100vw);
    transform: translate(20vw, 0);
    font-size: calc(60 / var(--w) * 100vw);
    letter-spacing: -0.08em;
    font-weight: bold;
    color: #fff;
  }
  .block-index-about ._fix-head b {
    color: #2C452D;
  }
  .block-index-about ._fix-head ._t1 {
    position: absolute;
    top: calc(10 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: 0;
    clip-path: inset(0 0 30% 0);
  }
  .block-index-about ._fix-head ._t2 {
    position: absolute;
    top: calc(10 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: calc(10 / var(--w) * 100vw);
    clip-path: inset(70% 0 0 0);
    filter: blur(calc(5 / var(--w) * 100vw));
  }
  .block-index-about .block-inner {
    display: flex;
    flex-direction: column;
    gap: calc(30 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .block-index-about ._head {
    text-align: center;
  }
  .block-index-about ._body {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .block-index-about ._body ._lead {
    font-size: calc(10 / var(--w) * 100vw);
    color: #ffffff;
  }
  .mod-video-frame {
    width: 80vw;
    position: relative;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-video-frame:after {
    content: "";
    display: block;
    position: absolute;
    bottom: calc(-20 / var(--w) * 100vw);
    left: calc(50% - 25 / var(--w) * 100vw);
    background-image: url("../images/about/arrow.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(50 / var(--w) * 100vw);
    height: calc(50 / var(--w) * 100vw);
  }
  .mod-video-frame:hover {
    transform: scale(1.05);
  }
  /* -------------------------------------------------- */
  .block-index-business {
    position: relative;
    height: 500vw;
    color: #fff;
  }
  .block-index-business .prlx-view {
    height: 360vw;
  }
  .block-index-business .prlx-bg {
    opacity: 1;
    background-image: url(../images/business/bg.jpg);
    background-position: 50% 100%;
    background-attachment: fixed;
    transform: scale(clamp(1, 1 + var(--scroll-slide-progress) / 4, 1.6));
  }
  .block-index-business ._fix-head-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: calc(120 / var(--w) * 100vw);
    background: #fff;
  }
  .block-index-business ._fix-head {
    position: absolute;
    top: calc(65 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: calc(220 / var(--w) * 100vw);
    font-size: calc(60 / var(--w) * 100vw);
    letter-spacing: -0.08em;
    font-weight: bold;
    color: #000;
  }
  .block-index-business ._fix-head b {
    color: #2C452D;
  }
  .block-index-business ._fix-head ._t1 {
    position: absolute;
    top: calc(10 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: 0;
    clip-path: inset(0 0 30% 0);
  }
  .block-index-business ._fix-head ._t2 {
    position: absolute;
    top: calc(10 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: calc(10 / var(--w) * 100vw);
    clip-path: inset(70% 0 0 0);
    filter: blur(calc(20 / var(--w) * 100vw));
    color: #fff;
  }
  .block-index-business ._fix-title {
    position: absolute;
    top: calc(40 / var(--w) * 100vw);
    right: calc(20 / var(--w) * 100vw);
  }
  .block-index-business ._fix-title .mod-head {
    color: #000;
  }
  .block-index-business ._head {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .block-index-business ._head ._t1 {
    font-size: calc(20 / var(--w) * 100vw);
    letter-spacing: 0.2em;
    font-weight: bold;
    color: #ffffff;
  }
  .block-index-business ._head ._t2 {
    font-size: calc(14 / var(--w) * 100vw);
    letter-spacing: 0.2em;
    color: #ffffff;
  }
  .block-index-business ._cols {
    padding: calc(160 / var(--w) * 100vw) calc(40 / var(--w) * 100vw) calc(80 / var(--w) * 100vw) calc(40 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    gap: calc(30 / var(--w) * 100vw);
  }
  .block-index-business ._cols ._col-list {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
    flex: 1;
  }
  .block-index-business ._cols ._col-link {
    display: flex;
    flex-direction: column;
    gap: calc(30 / var(--w) * 100vw);
    align-items: center;
    text-align: center;
  }
  .block-index-business ._cols ._col-link ._desc {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2;
    color: #ffffff;
  }
  .mod-btn-box {
    display: inline-block;
    width: calc(300 / var(--w) * 100vw);
    border-radius: calc(10 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
    position: relative;
    background: #fff;
    padding: calc(10 / var(--w) * 100vw) calc(10 / var(--w) * 100vw) calc(10 / var(--w) * 100vw) calc(10 / var(--w) * 100vw);
  }
  .mod-btn-box ._t1 {
    font-size: calc(18 / var(--w) * 100vw);
    font-weight: bold;
    color: #000000;
  }
  .mod-btn-box ._t2 {
    font-size: calc(12 / var(--w) * 100vw);
    color: #000000;
  }
  .mod-btn-box:after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 20 / var(--w) * 100vw);
    right: calc(10 / var(--w) * 100vw);
    background: url(../images/common/arrow-a.png);
    background-size: contain;
    width: calc(40 / var(--w) * 100vw);
    height: calc(40 / var(--w) * 100vw);
  }
  .mod-business-list {
    color: #ffffff;
  }
  .mod-business-list ._item {
    display: flex;
    gap: calc(20 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
    background: #333333;
    padding: calc(30 / var(--w) * 100vw) calc(20 / var(--w) * 100vw) calc(30 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
  }
  .mod-business-list ._item:nth-child(2) {
    background: #2C452D;
  }
  .mod-business-list ._item ._no {
    width: calc(50 / var(--w) * 100vw);
    font-size: calc(80 / var(--w) * 100vw);
    line-height: 0.8;
    letter-spacing: -0.08em;
    font-weight: 200;
    text-align: center;
  }
  .mod-business-list ._item ._texts {
    display: flex;
    flex-direction: column;
    gap: calc(15 / var(--w) * 100vw);
    flex: 1;
  }
  .mod-business-list ._item ._texts ._title {
    font-size: calc(18 / var(--w) * 100vw);
    font-weight: bold;
  }
  .mod-business-list ._item ._texts ._desc {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2;
  }
  /* -------------------------------------------------- */
  .block-index-bg {
    position: relative;
  }
  .block-index-bg ._bg {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    height: calc(10 / var(--w) * 100vw);
    background-color: #000;
  }
  .block-index-bg ._bg ._bg-inner {
    height: 200vh;
    background: linear-gradient(180deg, #2c452d 0%, #2c452d 50%, #000 100%);
    transform: translateY(clamp(-200vh, var(--scroll-slide-progress) * -200vh, 0vh));
  }
  /* -------------------------------------------------- */
  .block-index-company {
    position: relative;
    height: 300vw;
  }
  .block-index-company .prlx-view {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .block-index-company ._title {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .block-index-company ._title ._en {
    font-size: calc(60 / var(--w) * 100vw);
    letter-spacing: 0.1em;
    font-weight: bold;
    color: rgba(83, 148, 82, 0.3);
  }
  .block-index-company ._title h2 {
    position: relative;
  }
  .block-index-company ._texts {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .block-index-company ._texts ._t1 {
    margin-top: calc(40 / var(--w) * 100vw);
    font-size: calc(30 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0em;
    font-weight: bold;
    color: #ffffff;
  }
  .block-index-company ._texts ._t2 {
    margin-top: calc(30 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 2.19;
    color: #ffffff;
  }
  /* -------------------------------------------------- */
  .block-index-message {
    position: relative;
    height: 300vw;
  }
  .block-index-message .prlx-view {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: calc(100 / var(--w) * 100vw);
  }
  .block-index-message .block-inner {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .block-index-message ._slider {
    position: relative;
    width: calc(280 / var(--w) * 100vw);
  }
  .block-index-message ._slider-target {
    width: calc(160 / var(--w) * 100vw);
  }
  .block-index-message ._titles-in {
    margin: 0 auto;
  }
  .mod-message-title {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 49.24vw;
  }
  .mod-message-title ._t4 {
    position: absolute;
    top: -6.74vw;
    left: 41.46vw;
    width: 22.15vw;
  }
  .mod-message-title ._t1 {
    position: absolute;
    top: 2.99vw;
    left: 0vw;
    width: 35.9vw;
  }
  .mod-message-title ._t5 {
    position: absolute;
    top: 8.61vw;
    left: 52.64vw;
    width: 17.01vw;
  }
  .mod-message-title ._t7 {
    position: absolute;
    top: 8.61vw;
    left: 74.93vw;
    width: 15.69vw;
  }
  .mod-message-title ._t3 {
    position: absolute;
    top: 17.08vw;
    left: 38.13vw;
    width: 11.6vw;
  }
  .mod-message-title ._t6 {
    position: absolute;
    top: 30.28vw;
    left: 69.24vw;
    width: 7.78vw;
  }
  .mod-message-title ._t2 {
    position: absolute;
    top: 31.74vw;
    left: 33.33vw;
    width: 5.69vw;
  }
  .mod-message-slider {
    display: flex;
    gap: calc(10 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .block-index-bg2 {
    position: relative;
    height: 360vw;
    background: #fff;
    padding: calc(80 / var(--w) * 100vw) calc(40 / var(--w) * 100vw) calc(80 / var(--w) * 100vw) calc(40 / var(--w) * 100vw);
  }
  .block-index-bg2 .prlx-view {
    height: 260vw;
    top: calc(80 / var(--w) * 100vw);
  }
  .block-index-bg2 .block-inner {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .block-index-links ._cols {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .block-index-news {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    border: calc(10 / var(--w) * 100vw) solid #EEEEEE;
    padding: calc(40 / var(--w) * 100vw) calc(20 / var(--w) * 100vw) calc(40 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
  }
  .block-index-news ._cols {
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
  }
  .block-index-news ._btns {
    display: flex;
    gap: 0;
    align-items: center;
    justify-content: center;
  }
  .mod-news-items {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
  }
  .mod-news-item {
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--w) * 100vw);
  }
  .mod-news-item ._date {
    width: calc(80 / var(--w) * 100vw);
    font-size: calc(12 / var(--w) * 100vw);
  }
  .mod-news-item ._cat {
    background: #333;
    padding: calc(6 / var(--w) * 100vw);
    font-size: calc(11 / var(--w) * 100vw);
    color: #fff;
    text-align: center;
  }
  .mod-news-item ._text {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1.6;
    font-weight: bold;
    color: #000000;
  }
  .mod-news-item a {
    text-decoration: underline;
    color: #000;
  }
  /* -------------------------------------------------- */
  .block-index-contact {
    position: relative;
    height: 260vw;
    background: #2C452D;
    padding: calc(80 / var(--w) * 100vw) calc(40 / var(--w) * 100vw) calc(80 / var(--w) * 100vw) calc(40 / var(--w) * 100vw);
  }
  .block-index-contact .prlx-view {
    height: 180vw;
    top: calc(80 / var(--w) * 100vw);
  }
  .block-index-contact ._box {
    display: flex;
    flex-direction: column;
    gap: calc(30 / var(--w) * 100vw);
    background: #fff;
    padding: calc(40 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
  }
  .mod-contact-form {
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--w) * 100vw);
  }
  .mod-contact-form input {
    font-size: calc(16 / var(--w) * 100vw);
  }
  .mod-contact-form textarea {
    font-size: calc(16 / var(--w) * 100vw);
  }
  .mod-contact-form ._btns {
    margin-top: calc(20 / var(--w) * 100vw);
    text-align: center;
  }
  .mod-contact-form ._row {
    display: flex;
    flex-direction: column;
    gap: calc(5 / var(--w) * 100vw);
  }
  .mod-contact-form ._row ._label {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-weight: bold;
  }
  .mod-contact-form ._row ._input {
    flex: 1;
  }
  .mod-contact-form ._row ._input input {
    border: calc(1 / var(--w) * 100vw) solid #ccc;
    width: 100%;
    padding: calc(10 / var(--w) * 100vw);
    box-sizing: border-box;
  }
  .mod-contact-form ._row ._input textarea {
    border: calc(1 / var(--w) * 100vw) solid #ccc;
    width: 100%;
    height: calc(100 / var(--w) * 100vw);
    padding: calc(10 / var(--w) * 100vw);
    box-sizing: border-box;
  }
  .mod-contact-form ._req {
    font-size: calc(11 / var(--w) * 100vw);
    font-weight: 300;
    color: red;
  }
  /* -------------------------------------------------- */
  .block-form-thanks {
    padding: calc(120 / var(--w) * 100vw) 0;
    background: #fff;
  }
  .block-form-thanks .block-inner {
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
  }
  .block-form-thanks .block-inner ._head {
    text-align: center;
  }
  .block-form-thanks .block-inner ._head ._title h2 {
    font-size: calc(24 / var(--w) * 100vw);
    line-height: 1.2;
  }
  .block-form-thanks .block-inner ._body {
    text-align: center;
  }
  .block-form-thanks .block-inner ._body ._message p {
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 2;
  }
}