@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=Roboto:400,700,800,900");
/* リセット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;
  }
}
@media print, screen and (min-width: 768px) {
  :root {
    --w:1440 ;
  }
  body {
    background-color: #fff;
    font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-feature-settings: "palt";
  }
  body img {
    width: 100%;
  }
  .area-wrapper {
    min-width: calc(1200 / var(--w) * 100vw);
    overflow: clip;
  }
  .area-inner {
    margin: 0 auto;
    width: calc(1200 / var(--w) * 100vw);
  }
  .area-footer {
    padding: calc(50 / var(--w) * 100vw) 0;
  }
  .area-footer ._logo {
    text-align: center;
  }
  .block-inner {
    margin: 0 auto;
    width: calc(1200 / var(--w) * 100vw);
  }
  .area-header-sub {
    background: #000;
    padding: calc(20 / var(--w) * 100vw);
    color: #fff;
  }
  .area-header-sub ._logo {
    width: calc(120 / var(--w) * 100vw);
  }
  .area-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: calc(60 / var(--w) * 100vw);
    z-index: 100;
    transition-duration: 0.2s;
    color: #fff;
  }
  .area-header ._logo {
    position: absolute;
    top: calc(40 / var(--w) * 100vw);
    left: calc(50 / var(--w) * 100vw);
    width: calc(220 / var(--w) * 100vw);
    transition-duration: 0.2s;
  }
  body.js-scroll-start .area-header {
    background: #05502B;
  }
  body.js-scroll-start .area-header ._logo {
    position: absolute;
    top: calc(20 / var(--w) * 100vw);
    left: calc(30 / var(--w) * 100vw);
    width: calc(120 / var(--w) * 100vw);
  }
  .area-footer {
    background: #05502B;
    color: #fff;
    margin-top: calc(20 / var(--w) * 100vw);
    padding: calc(120 / var(--w) * 100vw) 0 calc(120 / var(--w) * 100vw) 0;
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .area-footer ._head {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .area-footer ._head ._logo {
    width: calc(160 / var(--w) * 100vw);
  }
  .area-footer ._head ._tagline {
    font-size: calc(20 / var(--w) * 100vw);
  }
  .area-footer ._head ._name {
    font-size: calc(20 / var(--w) * 100vw);
  }
  .area-footer ._rows {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
  }
  .area-footer ._rows ._row {
    display: flex;
    gap: calc(30 / var(--w) * 100vw);
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2;
  }
  .area-footer ._copy {
    text-align: center;
  }
  .area-footer ._copy small {
    font-size: calc(10 / var(--w) * 100vw);
  }
  .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.5, 0.5);
  }
  .mod-anim.is-zoom.js-active {
    opacity: 1;
    transform: scale(1, 1);
  }
  .mod-anim.is-zoom2 {
    transform: scale(0, 0);
    transition-timing-function: cubic-bezier(0, 0.75, 0.6, 1.4);
  }
  .mod-anim.is-zoom2.js-active {
    opacity: 1;
    transform: scale(1, 1);
  }
  .mod-anim.is-zoom3 {
    transform: scale(0, 0);
    transition-timing-function: cubic-bezier(0.8, 0, 0, 0.4);
  }
  .mod-anim.is-zoom3.js-active {
    opacity: 1;
    transform: scale(1, 1);
  }
  .mod-anim.is-blur {
    filter: blur(15px);
    transition-property: opacity, transform, filter;
    backface-visibility: hidden;
  }
  .mod-anim.is-blur.js-active {
    opacity: 1;
    filter: blur(0);
  }
  .mod-anim.is-text {
    overflow: hidden;
    opacity: 1;
    display: inline-block;
  }
  .mod-anim.is-text .mod-anim__inner {
    display: block;
    position: relative;
    height: 100%;
    transition-property: transform;
    transition-duration: 0.5s;
    transform: translate(-100%, 0);
  }
  .mod-anim.is-text .mod-anim__inner:after {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    bottom: 0px;
    background: #888;
    transition-property: transform;
    transition-delay: 0.7s;
    transition-duration: 0.5s;
    transform: translate(0, 0);
  }
  .mod-anim.is-text.is-delay-02.js-active .mod-anim__inner {
    transition-delay: 0.2s;
  }
  .mod-anim.is-text.is-delay-04.js-active .mod-anim__inner {
    transition-delay: 0.4s;
  }
  .mod-anim.is-text.is-delay-06.js-active .mod-anim__inner {
    transition-delay: 0.6s;
  }
  .mod-anim.is-text.js-active .mod-anim__inner {
    transform: translate(0, 0);
  }
  .mod-anim.is-text.js-active .mod-anim__inner:after {
    transform: translate(100%, 0);
  }
  .mod-anim.is-delay-00 {
    transition-delay: 0s;
  }
  .mod-anim.is-delay-01 {
    transition-delay: 0.1s;
  }
  .mod-anim.is-delay-02 {
    transition-delay: 0.2s;
  }
  .mod-anim.is-delay-03 {
    transition-delay: 0.3s;
  }
  .mod-anim.is-delay-04 {
    transition-delay: 0.4s;
  }
  .mod-anim.is-delay-05 {
    transition-delay: 0.5s;
  }
  .mod-anim.is-delay-06 {
    transition-delay: 0.6s;
  }
  .mod-anim.is-delay-07 {
    transition-delay: 0.7s;
  }
  .mod-anim.is-delay-08 {
    transition-delay: 0.8s;
  }
  .mod-anim.is-delay-09 {
    transition-delay: 0.9s;
  }
  .mod-anim.is-delay-10 {
    transition-delay: 1s;
  }
  .mod-anim.is-delay-11 {
    transition-delay: 1.1s;
  }
  .mod-anim.is-delay-12 {
    transition-delay: 1.2s;
  }
  .mod-anim.is-delay-13 {
    transition-delay: 1.3s;
  }
  .mod-anim.is-delay-14 {
    transition-delay: 1.4s;
  }
  .mod-anim.is-delay-15 {
    transition-delay: 1.5s;
  }
  .mod-anim.is-delay-16 {
    transition-delay: 1.6s;
  }
  .mod-anim.is-delay-17 {
    transition-delay: 1.7s;
  }
  .mod-anim.is-delay-18 {
    transition-delay: 1.8s;
  }
  .mod-anim.is-delay-19 {
    transition-delay: 1.9s;
  }
  .mod-anim.is-delay-20 {
    transition-delay: 2s;
  }
  /* ----------------------------------------------------------
  loop
  ---------------------------------------------------------- */
  .mod-anim.is-fadeloop.js-active {
    animation: infinite_loop_opacity 1s ease-in-out 0s infinite alternate;
  }
  .mod-anim.is-vertical-loop.js-active {
    opacity: 1;
    animation: infinite_loop_bounce 1s ease-in-out 0s infinite alternate;
  }
  .mod-anim.is-rotate {
    display: block;
    opacity: 1;
    animation: infinite_loop_rotate 1s linear 0s infinite;
  }
  /* ----------------------------------------------------------
  @keyframes
  ---------------------------------------------------------- */
  @keyframes infinite_loop_opacity {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  @keyframes infinite_loop_bounce {
    0% {
      transform: translate3d(0, 0, -5px);
    }
    100% {
      transform: translate3d(0, 5px, 0);
    }
  }
  @keyframes infinite_loop_rotate {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(359deg);
    }
  }
  .mod-doc p {
    font-weight: 500;
    font-size: 18px;
    line-height: 1.94;
  }
  .mod-hover {
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-hover:hover {
    filter: brightness(1.1);
  }
  .mod-title-en {
    font-size: calc(200 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: -0.06em;
    color: #05502B;
    writing-mode: vertical-lr;
  }
  .mod-title-en.is-wh {
    color: #fff;
  }
  .mod-title-ja {
    padding: calc(10 / var(--w) * 100vw) 0 0 0;
    font-size: calc(70 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: bold;
    writing-mode: vertical-rl;
  }
  /* ---------------------------------------------------------- */
  .block-main {
    position: relative;
    background: #000;
    height: 100vh;
    max-height: calc(1500 / var(--w) * 100vw);
  }
  .block-main ._movie {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .block-main ._movie video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  img {
    width: 100%;
  }
  /* ---------------------------------------------------------- */
  .block-about {
    position: relative;
    height: calc(891 / var(--w) * 100vw);
  }
  .block-about ._title {
    position: absolute;
    top: calc(108 / var(--w) * 100vw);
    left: calc(480 / var(--w) * 100vw);
    width: calc(873 / var(--w) * 100vw);
  }
  .block-about ._p1 {
    position: absolute;
    top: calc(183 / var(--w) * 100vw);
    left: calc(-156 / var(--w) * 100vw);
    width: calc(804 / var(--w) * 100vw);
  }
  .block-about ._texts {
    position: absolute;
    top: calc(267 / var(--w) * 100vw);
    left: calc(679 / var(--w) * 100vw);
    width: calc(674 / var(--w) * 100vw);
    text-align: center;
  }
  .block-about ._texts ._copy {
    font-size: calc(80 / var(--w) * 100vw);
    line-height: 1.3;
    font-weight: bold;
  }
  .block-about ._texts ._docs {
    margin-top: calc(20 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
  }
  .block-about ._texts ._docs p {
    font-size: calc(20 / var(--w) * 100vw);
    line-height: 2;
    letter-spacing: 0.05em;
  }
  /* ---------------------------------------------------------- */
  .block-movie {
    background: #F26A1B;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: calc(80 / var(--w) * 100vw) 0 calc(70 / var(--w) * 100vw) 0;
  }
  .block-movie ._movie-wrap {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .block-movie ._movie {
    width: calc(480 / var(--w) * 100vw);
  }
  .block-movie p {
    font-size: calc(14 / var(--w) * 100vw);
  }
  /* ---------------------------------------------------------- */
  .block-numbers {
    position: relative;
    height: calc(2964 / var(--w) * 100vw);
  }
  .block-numbers ._h2 {
    font-size: calc(70 / var(--w) * 100vw);
    font-weight: bold;
  }
  .block-numbers ._bg {
    width: calc(1320 / var(--w) * 100vw);
    background: #F26A1B;
  }
  .block-numbers ._bg {
    position: absolute;
    top: calc(189 / var(--w) * 100vw);
    bottom: 0;
    left: 0;
    width: calc(1320 / var(--w) * 100vw);
  }
  .block-numbers ._title {
    position: absolute;
    top: calc(95 / var(--w) * 100vw);
    left: calc(-156 / var(--w) * 100vw);
    width: calc(844 / var(--w) * 100vw);
  }
  .block-numbers ._deco1 {
    position: absolute;
    top: calc(364 / var(--w) * 100vw);
    left: calc(-36 / var(--w) * 100vw);
    width: calc(562 / var(--w) * 100vw);
  }
  .block-numbers ._h2 {
    position: absolute;
    top: calc(544 / var(--w) * 100vw);
    left: calc(137 / var(--w) * 100vw);
  }
  .block-numbers ._p1 {
    position: absolute;
    top: calc(913 / var(--w) * 100vw);
    left: calc(810 / var(--w) * 100vw);
    width: calc(692 / var(--w) * 100vw);
  }
  .block-numbers ._p2 {
    position: absolute;
    top: calc(1374 / var(--w) * 100vw);
    left: calc(-115 / var(--w) * 100vw);
    width: calc(720 / var(--w) * 100vw);
  }
  .block-numbers ._p3 {
    position: absolute;
    top: calc(2004 / var(--w) * 100vw);
    left: calc(820 / var(--w) * 100vw);
    width: calc(620 / var(--w) * 100vw);
  }
  .block-numbers ._box1 {
    position: absolute;
    top: calc(354 / var(--w) * 100vw);
    left: calc(720 / var(--w) * 100vw);
    width: calc(600 / var(--w) * 100vw);
    height: calc(480 / var(--w) * 100vw);
  }
  .block-numbers ._box2 {
    position: absolute;
    top: calc(834 / var(--w) * 100vw);
    left: calc(122 / var(--w) * 100vw);
    width: calc(600 / var(--w) * 100vw);
    height: calc(480 / var(--w) * 100vw);
  }
  .block-numbers ._box3 {
    position: absolute;
    top: calc(1454 / var(--w) * 100vw);
    left: calc(660 / var(--w) * 100vw);
    width: calc(660 / var(--w) * 100vw);
    height: calc(480 / var(--w) * 100vw);
  }
  .block-numbers ._box4 {
    position: absolute;
    top: calc(2004 / var(--w) * 100vw);
    left: calc(120 / var(--w) * 100vw);
    width: calc(700 / var(--w) * 100vw);
    height: calc(960 / var(--w) * 100vw);
  }
  .mod-number-box {
    background: #05502B;
  }
  .mod-number-box-inner {
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: calc(60 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
    padding: calc(80 / var(--w) * 100vw) 0 0 0;
    background: #05502B;
  }
  .mod-number-box-inner ._num-title {
    text-align: center;
    font-size: calc(58 / var(--w) * 100vw);
    line-height: 1.2;
    font-weight: bold;
  }
  .mod-number-box-inner ._num-title.is-sm {
    font-size: calc(46 / var(--w) * 100vw);
  }
  .mod-number-box-inner ._num-cols {
    display: flex;
    gap: calc(20 / var(--w) * 100vw);
    border-top: calc(1 / var(--w) * 100vw) solid #fff;
    padding-top: calc(40 / var(--w) * 100vw);
  }
  .mod-number-box-inner ._num-cols ._set {
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
    text-align: center;
    min-width: calc(140 / var(--w) * 100vw);
  }
  .mod-number-box-inner ._num-cols ._set ._sub {
    font-size: calc(32 / var(--w) * 100vw);
    line-height: 1;
    font-weight: bold;
  }
  .mod-number-box-inner ._num-cols ._set ._number {
    font-size: calc(24 / var(--w) * 100vw);
    line-height: 1;
    font-weight: bold;
  }
  .mod-number-box-inner ._num-cols ._set ._number b {
    font-size: calc(101 / var(--w) * 100vw);
    line-height: 1;
    font-weight: 800;
  }
  /* ---------------------------------------------------------- */
  .block-benefits {
    padding: calc(110 / var(--w) * 100vw) 0 calc(30 / var(--w) * 100vw) 0;
    display: flex;
    gap: 0;
  }
  .block-benefits ._row-head {
    width: calc(364 / var(--w) * 100vw);
    padding-left: calc(35 / var(--w) * 100vw);
  }
  .block-benefits ._row-head div {
    height: calc(2000 / var(--w) * 100vw);
    display: flex;
    gap: calc(5 / var(--w) * 100vw);
  }
  .block-benefits ._row-body {
    flex: 1;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: calc(90 / var(--w) * 100vw);
    background: #F26A1B;
    padding: calc(80 / var(--w) * 100vw) calc(80 / var(--w) * 100vw) calc(120 / var(--w) * 100vw) calc(80 / var(--w) * 100vw);
  }
  .block-benefits ._row-body h3 {
    font-size: calc(42 / var(--w) * 100vw);
    line-height: 1.07;
    font-weight: bold;
    color: #000000;
  }
  .block-benefits ._row-body p._lead {
    margin-top: calc(30 / var(--w) * 100vw);
    font-size: calc(20 / var(--w) * 100vw);
    line-height: 2;
    color: #000000;
  }
  .block-benefits ._row-body ._list {
    margin-top: calc(60 / var(--w) * 100vw);
  }
  .mod-benefits-items {
    display: flex;
    gap: 0;
    flex-wrap: wrap;
    gap: calc(43 / var(--w) * 100vw) 0;
  }
  .mod-benefits-items > li {
    width: 33.3%;
  }
  .mod-benefits-item {
    display: flex;
    flex-direction: column;
    gap: calc(30 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .mod-benefits-item ._item-image img {
    width: calc(160 / var(--w) * 100vw);
  }
  .mod-benefits-item ._item-texts p {
    font-size: calc(24 / var(--w) * 100vw);
    line-height: 1.46;
  }
  .mod-benefit-list {
    display: flex;
    gap: calc(20 / var(--w) * 100vw);
    justify-content: center;
    flex-wrap: wrap;
  }
  .mod-benefit-list li {
    width: calc(320 / var(--w) * 100vw);
    padding: calc(30 / var(--w) * 100vw) 0;
    font-size: calc(22 / var(--w) * 100vw);
    line-height: 1;
    background: #fff;
    border-radius: calc(100 / var(--w) * 100vw);
  }
  /* ---------------------------------------------------------- */
  .block-interview {
    padding: calc(110 / var(--w) * 100vw) 0 calc(50 / var(--w) * 100vw) 0;
    display: flex;
    flex-direction: column;
    gap: calc(100 / var(--w) * 100vw);
  }
  .block-interview ._row1 {
    display: flex;
    flex-direction: row-reverse;
    gap: calc(200 / var(--w) * 100vw);
  }
  .block-interview ._row1 ._row-head {
    width: calc(270 / var(--w) * 100vw);
    display: flex;
    gap: calc(5 / var(--w) * 100vw);
  }
  .block-interview ._row1 ._row-body {
    flex: 1;
    padding-top: calc(30 / var(--w) * 100vw);
    margin-left: calc(240 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    gap: calc(50 / var(--w) * 100vw);
  }
  .block-interview ._block {
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
  }
  .block-interview h3 {
    font-size: calc(70 / var(--w) * 100vw);
    font-weight: bold;
  }
  .block-interview p {
    font-size: calc(20 / var(--w) * 100vw);
    line-height: 2;
  }
  .block-interview h4 {
    font-size: calc(42 / var(--w) * 100vw);
    line-height: 1.07;
    font-weight: bold;
  }
  .block-interview ._row2 ._row-body {
    margin-left: calc(240 / var(--w) * 100vw);
  }
  .mod-interview-list1 {
    position: relative;
    width: calc(720 / var(--w) * 100vw);
    margin-top: calc(40 / var(--w) * 100vw);
  }
  .mod-interview-list1::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(-40 / var(--w) * 100vw);
    right: 0;
    bottom: calc(40 / var(--w) * 100vw);
    left: -50vw;
    background: #F26A1B;
    z-index: -1;
  }
  .mod-interview-list2 {
    position: relative;
    display: flex;
    gap: 0;
    width: calc(958 / var(--w) * 100vw);
    margin-top: calc(40 / var(--w) * 100vw);
  }
  .mod-interview-list2::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(-40 / var(--w) * 100vw);
    right: -50vw;
    bottom: calc(40 / var(--w) * 100vw);
    left: 0;
    background: #F26A1B;
    z-index: -1;
  }
  .mod-interview {
    position: relative;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-interview:hover {
    filter: brightness(1.1);
  }
  .mod-interview::after {
    content: "";
    display: block;
    position: absolute;
    right: calc(20 / var(--w) * 100vw);
    bottom: calc(20 / var(--w) * 100vw);
    width: calc(90 / var(--w) * 100vw);
    height: calc(90 / var(--w) * 100vw);
    background-image: url("../images/common/icon-play.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  /* ---------------------------------------------------------- */
  .block-sns {
    padding: calc(110 / var(--w) * 100vw) 0 calc(160 / var(--w) * 100vw) 0;
    display: flex;
    flex-direction: row-reverse;
    gap: calc(60 / var(--w) * 100vw);
  }
  .block-sns ._row-head {
    width: calc(270 / var(--w) * 100vw);
    display: flex;
    gap: calc(5 / var(--w) * 100vw);
  }
  .block-sns ._row-body {
    flex: 1;
    margin-left: calc(240 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    gap: calc(80 / var(--w) * 100vw);
  }
  .block-sns ._block {
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
  }
  .mod-sns-title-block {
    display: flex;
    gap: calc(30 / var(--w) * 100vw);
    align-items: center;
    justify-content: space-between;
  }
  .mod-sns-title-block h2 {
    font-size: calc(70 / var(--w) * 100vw);
    line-height: 1;
  }
  .mod-sns-title-block ._logo {
    width: calc(130 / var(--w) * 100vw);
  }
  .mod-sns-title-block ._title {
    flex: 1;
  }
  .mod-sns-title-block ._btn {
    width: calc(220 / var(--w) * 100vw);
  }
  .mod-sns-btn {
    display: block;
    background: #2c452d;
    border-radius: calc(30 / var(--w) * 100vw);
    box-sizing: border-box;
    padding: calc(10 / var(--w) * 100vw);
    text-align: center;
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 2;
    color: #ffffff;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-sns-btn:hover {
    opacity: 0.8;
  }
  /* ---------------------------------------------------------- */
  .block-flow {
    padding: calc(110 / var(--w) * 100vw) 0 calc(140 / var(--w) * 100vw) 0;
    display: flex;
    flex-direction: row-reverse;
    gap: calc(100 / var(--w) * 100vw);
    background: #F26A1B;
  }
  .block-flow ._row-head {
    width: calc(270 / var(--w) * 100vw);
    display: flex;
    gap: calc(5 / var(--w) * 100vw);
  }
  .block-flow ._row-body {
    flex: 1;
    margin-left: calc(350 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    gap: calc(80 / var(--w) * 100vw);
  }
  .block-flow h3 {
    font-size: calc(70 / var(--w) * 100vw);
    line-height: 1;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
  }
  .mod-flow-item-list {
    display: flex;
    flex-direction: column;
    gap: calc(60 / var(--w) * 100vw);
  }
  .mod-flow-item-list > *:nth-child(n+2) {
    position: relative;
  }
  .mod-flow-item-list > *:nth-child(n+2):after {
    content: "";
    display: block;
    position: absolute;
    top: calc(-60 / var(--w) * 100vw);
    left: calc(50% - 20 / var(--w) * 100vw);
    margin: auto 0;
    width: calc(60 / var(--w) * 100vw);
    height: calc(60 / var(--w) * 100vw);
    background: #fff;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 8l7 10 7-10z' fill='currentColor'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
  }
  .mod-flow-item {
    background: #fff;
    padding: calc(35 / var(--w) * 100vw);
    display: flex;
    gap: calc(30 / var(--w) * 100vw);
    align-items: center;
    justify-content: space-between;
  }
  .mod-flow-item span {
    text-align: center;
  }
  .mod-flow-item span:nth-child(1) {
    width: calc(100 / var(--w) * 100vw);
    font-size: calc(61 / var(--w) * 100vw);
    line-height: 0.8;
    letter-spacing: -0.06em;
    font-weight: bold;
    color: #05502B;
  }
  .mod-flow-item span:nth-child(2) {
    flex: 1;
    font-size: calc(36 / var(--w) * 100vw);
    line-height: 1;
    font-weight: bold;
    padding-right: calc(100 / var(--w) * 100vw);
  }
  /* ---------------------------------------------------------- */
  .block-entry {
    padding: calc(110 / var(--w) * 100vw) 0 calc(110 / var(--w) * 100vw) 0;
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    gap: calc(100 / var(--w) * 100vw);
    background: #eee;
    margin-top: calc(10 / var(--w) * 100vw);
  }
  .block-entry ._bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .block-entry ._row-head {
    position: relative;
    width: calc(270 / var(--w) * 100vw);
    display: flex;
    gap: calc(5 / var(--w) * 100vw);
  }
  .block-entry ._row-body {
    position: relative;
    flex: 1;
    margin-left: calc(350 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    gap: calc(80 / var(--w) * 100vw);
  }
  .block-entry h3 {
    font-size: calc(80 / var(--w) * 100vw);
    line-height: 1.3;
    font-weight: bold;
    text-align: center;
  }
  .mod-entry-btn-list {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    margin: 0 auto;
  }
  .mod-entry-btn {
    position: relative;
    display: block;
    background: #F26A1B;
    width: calc(580 / var(--w) * 100vw);
    height: calc(160 / var(--w) * 100vw);
    color: #fff;
    border: calc(5 / var(--w) * 100vw) solid #fff;
    border-radius: calc(100 / var(--w) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: calc(36 / var(--w) * 100vw);
    font-weight: bold;
    color: #ffffff;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-entry-btn:hover {
    filter: brightness(1.1);
  }
  .mod-entry-btn:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: calc(50 / var(--w) * 100vw);
    bottom: 0;
    margin: auto 0;
    width: calc(60 / var(--w) * 100vw);
    height: calc(60 / var(--w) * 100vw);
    background: #fff;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57.418' height='57.418' viewBox='0 0 57.418 57.418'%3E%3Cpath id='Path_41' data-name='Path 41' d='M28.709,53.317A24.608,24.608,0,1,1,53.317,28.709,24.627,24.627,0,0,1,28.709,53.317m0,4.1A28.709,28.709,0,1,0,0,28.709,28.688,28.688,0,0,0,28.709,57.418ZM30.76,28.709V18.456a2.031,2.031,0,0,0-2.051-2.051h0a2.031,2.031,0,0,0-2.051,2.051V28.709H16.405l12.3,12.3,12.3-12.3Z' transform='translate(0 57.418) rotate(-90)' fill='%23fff'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
  }
  .mod-entry-bgs {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .mod-slider-fade {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .mod-slider-fade ._item {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0;
    transition-timing-function: linear;
    transition-duration: 1s;
  }
  .mod-slider-fade ._item.is-current {
    opacity: 1;
  }
  .l-modal-movie {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    gap: 0;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.2s;
  }
  .l-modal-movie.is-open {
    visibility: visible;
    opacity: 1;
  }
  .l-modal-movie ._modal-close {
    position: absolute;
    top: calc(-60 / var(--w) * 100vw);
    right: 0;
  }
  .l-modal-movie ._modal-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.7);
  }
  .l-modal-movie ._modal-box {
    position: relative;
    width: calc(1000 / var(--w) * 100vw);
    aspect-ratio: 16/9;
    background: #fff;
  }
  .l-modal-movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .l-modal-movie video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .c-modal-btn-close {
    position: relative;
    width: calc(50 / var(--w) * 100vw);
    height: calc(50 / var(--w) * 100vw);
    background-color: #fff;
    border-radius: calc(100 / var(--w) * 100vw);
    cursor: pointer;
    transition: opacity 0.2s;
    z-index: 10;
  }
  .c-modal-btn-close:hover {
    opacity: 0.8;
  }
  .c-modal-btn-close span {
    position: absolute;
    background: #000;
    top: calc((50 / var(--w) * 100vw - 2 / var(--w) * 100vw) / 2);
    left: calc((50 / var(--w) * 100vw - 24 / var(--w) * 100vw) / 2);
    width: calc(24 / var(--w) * 100vw);
    height: calc(2 / var(--w) * 100vw);
    transform: rotate(-45deg);
  }
  .c-modal-btn-close span:nth-child(2) {
    transform: rotate(45deg);
  }
}
@media screen and (max-width: 767px) {
  :root {
    --w:375 ;
  }
  body {
    background-color: #fff;
    font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-feature-settings: "palt";
  }
  body img {
    width: 100%;
  }
  .area-wrapper {
    overflow: clip;
  }
  .area-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: calc(45 / var(--w) * 100vw);
    z-index: 100;
    transition-duration: 0.2s;
    color: #fff;
  }
  .area-header ._logo {
    position: absolute;
    top: calc(10 / var(--w) * 100vw);
    left: calc(10 / var(--w) * 100vw);
    width: calc(110 / var(--w) * 100vw);
    transition-duration: 0.2s;
  }
  body.js-scroll-start .area-header {
    background: #05502B;
  }
  .area-footer {
    background: #05502B;
    color: #fff;
    margin-top: calc(5 / var(--w) * 100vw);
    padding: calc(80 / var(--w) * 100vw) 0 calc(80 / var(--w) * 100vw) 0;
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .area-footer ._head {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .area-footer ._head ._logo {
    width: calc(120 / var(--w) * 100vw);
  }
  .area-footer ._head ._tagline {
    font-size: calc(16 / var(--w) * 100vw);
  }
  .area-footer ._head ._name {
    font-size: calc(16 / var(--w) * 100vw);
  }
  .area-footer ._rows {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
  }
  .area-footer ._rows ._row {
    display: flex;
    gap: calc(30 / var(--w) * 100vw);
    font-size: calc(12 / var(--w) * 100vw);
    line-height: 2;
  }
  .area-footer ._copy {
    text-align: center;
  }
  .area-footer ._copy small {
    font-size: calc(12 / var(--w) * 100vw);
  }
  .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-zoom2 {
    transform: scale(0, 0);
    transition-timing-function: cubic-bezier(0, 0.75, 0.6, 1.4);
  }
  .mod-anim.is-zoom2.js-active {
    opacity: 1;
    transform: scale(1, 1);
  }
  .mod-anim.is-zoom3 {
    transform: scale(0, 0);
    transition-timing-function: cubic-bezier(0.8, 0, 0, 0.4);
  }
  .mod-anim.is-zoom3.js-active {
    opacity: 1;
    transform: scale(1, 1);
  }
  .mod-anim.is-blur {
    filter: blur(15px);
    transition-property: opacity, transform, filter;
    backface-visibility: hidden;
  }
  .mod-anim.is-blur.js-active {
    opacity: 1;
    filter: blur(0);
  }
  .mod-anim.is-text {
    overflow: hidden;
    opacity: 1;
    display: inline-block;
  }
  .mod-anim.is-text .mod-anim__inner {
    display: block;
    position: relative;
    height: 100%;
    transition-property: transform;
    transition-duration: 0.5s;
    transform: translate(-100%, 0);
  }
  .mod-anim.is-text .mod-anim__inner:after {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    bottom: 0px;
    background: #888;
    transition-property: transform;
    transition-delay: 0.7s;
    transition-duration: 0.5s;
    transform: translate(0, 0);
  }
  .mod-anim.is-text.is-delay-02.js-active .mod-anim__inner {
    transition-delay: 0.2s;
  }
  .mod-anim.is-text.is-delay-04.js-active .mod-anim__inner {
    transition-delay: 0.4s;
  }
  .mod-anim.is-text.is-delay-06.js-active .mod-anim__inner {
    transition-delay: 0.6s;
  }
  .mod-anim.is-text.js-active .mod-anim__inner {
    transform: translate(0, 0);
  }
  .mod-anim.is-text.js-active .mod-anim__inner:after {
    transform: translate(100%, 0);
  }
  .mod-anim.is-delay-00 {
    transition-delay: 0s;
  }
  .mod-anim.is-delay-01 {
    transition-delay: 0.1s;
  }
  .mod-anim.is-delay-02 {
    transition-delay: 0.2s;
  }
  .mod-anim.is-delay-03 {
    transition-delay: 0.3s;
  }
  .mod-anim.is-delay-04 {
    transition-delay: 0.4s;
  }
  .mod-anim.is-delay-05 {
    transition-delay: 0.5s;
  }
  .mod-anim.is-delay-06 {
    transition-delay: 0.6s;
  }
  .mod-anim.is-delay-07 {
    transition-delay: 0.7s;
  }
  .mod-anim.is-delay-08 {
    transition-delay: 0.8s;
  }
  .mod-anim.is-delay-09 {
    transition-delay: 0.9s;
  }
  .mod-anim.is-delay-10 {
    transition-delay: 1s;
  }
  .mod-anim.is-delay-11 {
    transition-delay: 1.1s;
  }
  .mod-anim.is-delay-12 {
    transition-delay: 1.2s;
  }
  .mod-anim.is-delay-13 {
    transition-delay: 1.3s;
  }
  .mod-anim.is-delay-14 {
    transition-delay: 1.4s;
  }
  .mod-anim.is-delay-15 {
    transition-delay: 1.5s;
  }
  .mod-anim.is-delay-16 {
    transition-delay: 1.6s;
  }
  .mod-anim.is-delay-17 {
    transition-delay: 1.7s;
  }
  .mod-anim.is-delay-18 {
    transition-delay: 1.8s;
  }
  .mod-anim.is-delay-19 {
    transition-delay: 1.9s;
  }
  .mod-anim.is-delay-20 {
    transition-delay: 2s;
  }
  /* ----------------------------------------------------------
  loop
  ---------------------------------------------------------- */
  .mod-anim.is-fadeloop.js-active {
    animation: infinite_loop_opacity 1s ease-in-out 0s infinite alternate;
  }
  .mod-anim.is-vertical-loop.js-active {
    opacity: 1;
    animation: infinite_loop_bounce 1s ease-in-out 0s infinite alternate;
  }
  .mod-anim.is-rotate {
    display: block;
    opacity: 1;
    animation: infinite_loop_rotate 1s linear 0s infinite;
  }
  /* ----------------------------------------------------------
  @keyframes
  ---------------------------------------------------------- */
  @keyframes infinite_loop_opacity {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  @keyframes infinite_loop_bounce {
    0% {
      transform: translate3d(0, 0, -5px);
    }
    100% {
      transform: translate3d(0, 5px, 0);
    }
  }
  @keyframes infinite_loop_rotate {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(359deg);
    }
  }
  .mod-title-en {
    font-size: calc(40 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: -0.03em;
    color: #05502B;
    writing-mode: vertical-lr;
  }
  .mod-title-en.is-wh {
    color: #fff;
  }
  .mod-title-ja {
    padding: calc(5 / var(--w) * 100vw) 0 0 0;
    font-size: calc(20 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.025em;
    font-weight: bold;
    writing-mode: vertical-rl;
  }
  /* ---------------------------------------------------------- */
  .block-main {
    background: #F26A1B;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: calc(40 / var(--w) * 100vw) 0 0 0;
  }
  ._movie {
    width: 100%;
    aspect-ratio: 16/9;
  }
  img {
    width: 100%;
  }
  /* ---------------------------------------------------------- */
  .block-about {
    position: relative;
    padding: calc(60 / var(--w) * 100vw) 0 calc(60 / var(--w) * 100vw) 0;
  }
  .block-about ._title {
    margin-top: calc(20 / var(--w) * 100vw);
    margin-left: calc(-60 / var(--w) * 100vw);
  }
  .block-about ._texts {
    margin-top: calc(20 / var(--w) * 100vw);
    text-align: center;
  }
  .block-about ._texts ._copy {
    font-size: calc(30 / var(--w) * 100vw);
    line-height: 1.3;
    font-weight: bold;
  }
  .block-about ._texts ._docs {
    margin-top: calc(10 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
  }
  .block-about ._texts ._docs p {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2.5;
    letter-spacing: 0.025em;
  }
  /* ---------------------------------------------------------- */
  .block-movie {
    background: #F26A1B;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: calc(60 / var(--w) * 100vw) calc(15 / var(--w) * 100vw) calc(60 / var(--w) * 100vw) calc(15 / var(--w) * 100vw);
  }
  .block-movie ._movie-wrap {
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .block-movie p {
    font-size: calc(12 / var(--w) * 100vw);
  }
  /* ---------------------------------------------------------- */
  .block-numbers {
    position: relative;
  }
  .block-numbers ._h2 {
    font-size: calc(30 / var(--w) * 100vw);
    font-weight: bold;
  }
  .block-numbers ._bg {
    background: #F26A1B;
  }
  .block-numbers ._bg {
    position: absolute;
    top: calc(120 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: 0;
  }
  .block-numbers ._title {
    position: absolute;
    top: calc(47 / var(--w) * 100vw);
    left: calc(-78 / var(--w) * 100vw);
    width: calc(422 / var(--w) * 100vw);
  }
  .block-numbers ._deco1 {
    position: absolute;
    top: calc(182 / var(--w) * 100vw);
    left: calc(-18 / var(--w) * 100vw);
    width: calc(281 / var(--w) * 100vw);
  }
  .block-numbers ._h2 {
    position: absolute;
    top: calc(272 / var(--w) * 100vw);
    right: 0;
    left: 0;
    text-align: center;
  }
  .block-numbers ._row-head {
    position: relative;
    height: calc(270 / var(--w) * 100vw);
  }
  .block-numbers ._row-body {
    position: relative;
    margin: calc(100 / var(--w) * 100vw) calc(20 / var(--w) * 100vw) calc(40 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
    padding: 0 0 calc(60 / var(--w) * 100vw) 0;
  }
  .mod-number-box {
    margin-bottom: calc(20 / var(--w) * 100vw);
    background: #05502B;
  }
  .mod-number-box-inner {
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: calc(30 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
    padding: calc(40 / var(--w) * 100vw) 0 calc(40 / var(--w) * 100vw) 0;
    background: #05502B;
  }
  .mod-number-box-inner ._num-title {
    text-align: center;
    font-size: calc(20 / var(--w) * 100vw);
    line-height: 1.2;
    font-weight: bold;
  }
  .mod-number-box-inner ._num-title.is-sm {
    font-size: calc(20 / var(--w) * 100vw);
  }
  .mod-number-box-inner ._num-cols {
    display: flex;
    gap: calc(20 / var(--w) * 100vw);
    border-top: calc(1 / var(--w) * 100vw) solid #fff;
    padding-top: calc(20 / var(--w) * 100vw);
  }
  .mod-number-box-inner ._num-cols ._set {
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
    text-align: center;
    min-width: calc(70 / var(--w) * 100vw);
  }
  .mod-number-box-inner ._num-cols ._set ._sub {
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 1;
    font-weight: bold;
  }
  .mod-number-box-inner ._num-cols ._set ._number {
    font-size: calc(20 / var(--w) * 100vw);
    line-height: 1;
    font-weight: bold;
  }
  .mod-number-box-inner ._num-cols ._set ._number b {
    font-size: calc(50.5 / var(--w) * 100vw);
    line-height: 1;
    font-weight: 800;
  }
  /* ---------------------------------------------------------- */
  .block-benefits {
    position: relative;
    padding: calc(40 / var(--w) * 100vw) 0 calc(20 / var(--w) * 100vw) 0;
    display: flex;
    gap: 0;
  }
  .block-benefits ._row-head {
    width: calc(90 / var(--w) * 100vw);
    padding-left: calc(10 / var(--w) * 100vw);
  }
  .block-benefits ._row-head div {
    display: flex;
    gap: calc(5 / var(--w) * 100vw);
    top: calc(60 / var(--w) * 100vw);
    position: sticky;
  }
  .block-benefits ._row-body {
    flex: 1;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
    background: #F26A1B;
    padding: calc(40 / var(--w) * 100vw) calc(10 / var(--w) * 100vw) calc(40 / var(--w) * 100vw) calc(10 / var(--w) * 100vw);
  }
  .block-benefits ._row-body h3 {
    font-size: calc(21 / var(--w) * 100vw);
    line-height: 1.07;
    font-weight: bold;
    color: #000000;
  }
  .block-benefits ._row-body p._lead {
    margin-top: calc(15 / var(--w) * 100vw);
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2;
    color: #000000;
  }
  .block-benefits ._row-body ._list {
    margin-top: calc(30 / var(--w) * 100vw);
  }
  .mod-benefits-items {
    display: flex;
    gap: 0;
    flex-wrap: wrap;
    gap: calc(20 / var(--w) * 100vw) 0;
  }
  .mod-benefits-items > li {
    width: 50%;
  }
  .mod-benefits-item {
    display: flex;
    flex-direction: column;
    gap: calc(30 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .mod-benefits-item ._item-image img {
    width: calc(80 / var(--w) * 100vw);
  }
  .mod-benefits-item ._item-texts p {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1.46;
  }
  .mod-benefit-list {
    display: flex;
    flex-direction: column;
    gap: calc(5 / var(--w) * 100vw);
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 calc(20 / var(--w) * 100vw);
  }
  .mod-benefit-list li {
    padding: calc(15 / var(--w) * 100vw) 0;
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1;
    background: #fff;
    border-radius: calc(100 / var(--w) * 100vw);
  }
  /* ---------------------------------------------------------- */
  .block-interview {
    padding: calc(40 / var(--w) * 100vw) 0 calc(20 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
  }
  .block-interview ._row1 {
    display: flex;
    flex-direction: row-reverse;
    gap: calc(10 / var(--w) * 100vw);
  }
  .block-interview ._row1 ._row-head {
    width: calc(60 / var(--w) * 100vw);
  }
  .block-interview ._row1 ._row-head div {
    top: calc(60 / var(--w) * 100vw);
    position: sticky;
  }
  .block-interview ._row1 ._row-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
  }
  .block-interview ._block {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
  }
  .block-interview h3 {
    font-size: calc(24 / var(--w) * 100vw);
    font-weight: bold;
  }
  .block-interview p {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2;
  }
  .block-interview h4 {
    font-size: calc(18 / var(--w) * 100vw);
    line-height: 1.07;
    font-weight: bold;
  }
  .mod-interview-list1 {
    position: relative;
    margin-top: calc(20 / var(--w) * 100vw);
  }
  .mod-interview-list1::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(-20 / var(--w) * 100vw);
    right: 0;
    bottom: calc(20 / var(--w) * 100vw);
    left: -25vw;
    background: #F26A1B;
    z-index: -1;
  }
  .mod-interview-list2 {
    position: relative;
    display: flex;
    gap: 0;
    margin-top: calc(20 / var(--w) * 100vw);
  }
  .mod-interview-list2::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(-20 / var(--w) * 100vw);
    right: -25vw;
    bottom: calc(20 / var(--w) * 100vw);
    left: 0;
    background: #F26A1B;
    z-index: -1;
  }
  .mod-interview {
    position: relative;
  }
  .mod-interview::after {
    content: "";
    display: block;
    position: absolute;
    right: calc(10 / var(--w) * 100vw);
    bottom: calc(10 / var(--w) * 100vw);
    width: calc(45 / var(--w) * 100vw);
    height: calc(45 / var(--w) * 100vw);
    background-image: url("../images/common/icon-play.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  /* ---------------------------------------------------------- */
  .block-sns {
    padding: calc(40 / var(--w) * 100vw) 0 calc(60 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
    display: flex;
    flex-direction: row-reverse;
    gap: calc(10 / var(--w) * 100vw);
  }
  .block-sns ._row-head {
    width: calc(60 / var(--w) * 100vw);
  }
  .block-sns ._row-head div {
    top: calc(60 / var(--w) * 100vw);
    position: sticky;
  }
  .block-sns ._row-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
  }
  .block-sns ._block {
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--w) * 100vw);
  }
  .mod-sns-title-block {
    display: flex;
    gap: calc(10 / var(--w) * 100vw);
    align-items: center;
    justify-content: space-between;
  }
  .mod-sns-title-block h2 {
    font-size: calc(24 / var(--w) * 100vw);
    line-height: 1;
  }
  .mod-sns-title-block ._logo {
    width: calc(40 / var(--w) * 100vw);
  }
  .mod-sns-title-block ._title {
    flex: 1;
  }
  .mod-sns-title-block ._btn {
    width: calc(110 / var(--w) * 100vw);
  }
  .mod-sns-btn {
    display: block;
    background: #2c452d;
    border-radius: calc(30 / var(--w) * 100vw);
    box-sizing: border-box;
    padding: calc(5 / var(--w) * 100vw);
    text-align: center;
    font-size: calc(12 / var(--w) * 100vw);
    line-height: 2;
    font-weight: bold;
    color: #ffffff;
  }
  /* ---------------------------------------------------------- */
  .block-flow {
    padding: calc(60 / var(--w) * 100vw) 0 calc(60 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
    display: flex;
    flex-direction: row-reverse;
    gap: calc(10 / var(--w) * 100vw);
    background: #F26A1B;
  }
  .block-flow ._row-head {
    width: calc(60 / var(--w) * 100vw);
  }
  .block-flow ._row-head div {
    top: calc(60 / var(--w) * 100vw);
    position: sticky;
  }
  .block-flow ._row-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
  }
  .block-flow h3 {
    font-size: calc(30 / var(--w) * 100vw);
    line-height: 1;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
  }
  .mod-flow-item-list {
    display: flex;
    flex-direction: column;
    gap: calc(30 / var(--w) * 100vw);
  }
  .mod-flow-item-list > *:nth-child(n+2) {
    position: relative;
  }
  .mod-flow-item-list > *:nth-child(n+2):after {
    content: "";
    display: block;
    position: absolute;
    top: calc(-30 / var(--w) * 100vw);
    left: calc(50% - 10 / var(--w) * 100vw);
    margin: auto 0;
    width: calc(30 / var(--w) * 100vw);
    height: calc(30 / var(--w) * 100vw);
    background: #fff;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 8l7 10 7-10z' fill='currentColor'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
  }
  .mod-flow-item {
    background: #fff;
    padding: calc(17.5 / var(--w) * 100vw);
    display: flex;
    gap: calc(30 / var(--w) * 100vw);
    align-items: center;
    justify-content: space-between;
  }
  .mod-flow-item span {
    text-align: center;
  }
  .mod-flow-item span:nth-child(1) {
    width: calc(60 / var(--w) * 100vw);
    font-size: calc(30.5 / var(--w) * 100vw);
    line-height: 0.8;
    letter-spacing: -0.03em;
    font-weight: bold;
    color: #05502B;
  }
  .mod-flow-item span:nth-child(2) {
    flex: 1;
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1;
    font-weight: bold;
    padding-right: calc(70 / var(--w) * 100vw);
  }
  /* ---------------------------------------------------------- */
  .block-entry {
    padding: calc(55 / var(--w) * 100vw) 0 calc(55 / var(--w) * 100vw) 0;
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    gap: calc(10 / var(--w) * 100vw);
    background: #eee;
    margin-top: calc(5 / var(--w) * 100vw);
  }
  .block-entry ._bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .block-entry ._row-head {
    width: calc(60 / var(--w) * 100vw);
  }
  .block-entry ._row-head div {
    top: calc(60 / var(--w) * 100vw);
    position: sticky;
  }
  .block-entry ._row-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
    position: relative;
  }
  .block-entry h3 {
    font-size: calc(30 / var(--w) * 100vw);
    line-height: 1.3;
    font-weight: bold;
    text-align: center;
    padding-left: calc(10 / var(--w) * 100vw);
  }
  .mod-entry-btn-list {
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--w) * 100vw);
    margin: 0 auto;
  }
  .mod-entry-btn {
    position: relative;
    display: block;
    background: #F26A1B;
    width: calc(220 / var(--w) * 100vw);
    height: calc(60 / var(--w) * 100vw);
    color: #fff;
    border: calc(2.5 / var(--w) * 100vw) solid #fff;
    border-radius: calc(100 / var(--w) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: calc(18 / var(--w) * 100vw);
    font-weight: bold;
    color: #ffffff;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-entry-btn:hover {
    filter: brightness(0.55);
  }
  .mod-entry-btn:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: calc(20 / var(--w) * 100vw);
    bottom: 0;
    margin: auto 0;
    width: calc(20 / var(--w) * 100vw);
    height: calc(20 / var(--w) * 100vw);
    background: #fff;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28.709' height='28.709' viewBox='0 0 28.709 28.709'%3E%3Cpath id='Path_41' data-name='Path 41' d='M14.3545,26.6585A12.304,12.304,0,1,1,26.6585,14.3545,12.3135,12.3135,0,0,1,14.3545,26.6585m0,2.05A14.3545,14.3545,0,1,0,0,14.3545,14.344,14.344,0,0,0,14.3545,28.709ZM15.38,14.3545V9.228a1.0155,1.0155,0,0,0-1.0255-1.0255h0a1.0155,1.0155,0,0,0-1.0255,1.0255v5.1265H8.2025l6.15,6.15,6.15-6.15Z' transform='translate(0 28.709) rotate(-90)' fill='%23fff'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
  }
  .mod-entry-bgs {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .mod-slider-fade {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .mod-slider-fade ._item {
    position: absolute;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    transition-timing-function: linear;
    transition-duration: 0.5s;
  }
  .mod-slider-fade ._item img {
    height: 100%;
    object-fit: cover;
  }
  .mod-slider-fade ._item.is-current {
    opacity: 1;
  }
  .l-modal-movie {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    gap: 0;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.2s;
  }
  .l-modal-movie.is-open {
    visibility: visible;
    opacity: 1;
  }
  .l-modal-movie ._modal-close {
    position: absolute;
    top: calc(-60 / var(--w) * 100vw);
    right: 0;
  }
  .l-modal-movie ._modal-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.7);
  }
  .l-modal-movie ._modal-box {
    position: relative;
    width: 100vw;
    aspect-ratio: 16/9;
    background: #fff;
  }
  .l-modal-movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .c-modal-btn-close {
    position: relative;
    width: calc(50 / var(--w) * 100vw);
    height: calc(50 / var(--w) * 100vw);
    background-color: #fff;
    border-radius: calc(100 / var(--w) * 100vw);
    cursor: pointer;
    transition: opacity 0.2s;
    z-index: 10;
  }
  .c-modal-btn-close:hover {
    opacity: 0.8;
  }
  .c-modal-btn-close span {
    position: absolute;
    background: #000;
    top: calc((50 / var(--w) * 100vw - 2 / var(--w) * 100vw) / 2);
    left: calc((50 / var(--w) * 100vw - 24 / var(--w) * 100vw) / 2);
    width: calc(24 / var(--w) * 100vw);
    height: calc(2 / var(--w) * 100vw);
    transform: rotate(-45deg);
  }
  .c-modal-btn-close span:nth-child(2) {
    transform: rotate(45deg);
  }
}
__body {
  position: relative;
}
__body:after {
  content: "";
  display: block;
  z-index: 100000;
  position: absolute;
  inset: 0 0 0 0;
  background-position: center top;
  background-repeat: no-repeat;
  background-image: url(/_dummy/20251219-syns-rec.png);
  opacity: 0.2;
  height: 20000px;
}
__body:hover:after {
  visibility: hidden;
}