@charset "UTF-8";
@-webkit-keyframes clip-text {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0 0 0 0);
  }
}
@keyframes clip-text {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0 0 0 0);
  }
}
@-webkit-keyframes text-revealer {
  0%, 50% {
    -webkit-transform-origin: 0 50%;
            transform-origin: 0 50%;
  }
  60%, 100% {
    -webkit-transform-origin: 100% 50%;
            transform-origin: 100% 50%;
  }
  60% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  100% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
@keyframes text-revealer {
  0%, 50% {
    -webkit-transform-origin: 0 50%;
            transform-origin: 0 50%;
  }
  60%, 100% {
    -webkit-transform-origin: 100% 50%;
            transform-origin: 100% 50%;
  }
  60% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  100% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
/*------------------------------------------------------------------------------
  reset PC
------------------------------------------------------------------------------*/
html,
input,
textarea,
select,
button {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-size: 10px;
}

html {
  color: #1B1B1B;
  background: #fff;
  font-size: 10px;
  line-height: 1.7;
  word-break: break-all;
  letter-spacing: 0.1em;
  font-family: dnp-shuei-nmincho-std, "Shippori Mincho", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", serif;
  font-weight: 400;
}

h1, h2, h3, h4, h5, .h0, .h1, .h2, .h3, .h4, .h5 {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
}

body {
  background: #fff;
  margin: 0;
  font-weight: 400;
}

html, body {
  height: 100%;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  border: 0;
  margin: 0;
  vertical-align: top;
  max-height: 100%;
  width: auto;
}

p {
  margin: 0;
  padding: 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 2;
  letter-spacing: 0;
  color: #1B1B1B;
}
@media only screen and (min-width: 768px) {
  p {
    letter-spacing: 0.02em;
  }
}
a {
  color: #1B1B1B;
  text-decoration: none;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

figure {
  margin: 0;
}

::-webkit-input-placeholder {
  color: #ccc;
}

:-ms-input-placeholder {
  color: #ccc;
}

::-ms-input-placeholder {
  color: #ccc;
}

::-moz-placeholder {
  color: #ccc;
}

::placeholder {
  color: #ccc;
}

button {
  border: none;
  cursor: pointer;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  padding: 0;
  color: #1B1B1B;
}

h1 {
  font-size: 18px;
  font-size: 1.8rem;
}
@media only screen and (min-width: 768px) {
  h1 {
    font-size: 22px;
    font-size: 2.2rem;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1024px) {
  h1 {
    font-size: 26px;
    font-size: 2.6rem;
  }
}

h2 {
  font-size: 15px;
  font-size: 1.5rem;
}
@media only screen and (min-width: 768px) {
  h2 {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1024px) {
  h2 {
    font-size: 22px;
    font-size: 2.2rem;
  }
}

h3 {
  font-size: 13px;
  font-size: 1.3rem;
}
@media only screen and (min-width: 768px) {
  h3 {
    font-size: 15px;
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1024px) {
  h3 {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

main {
  display: block;
}

.outer-block {
  min-width: 100%;
}

.inner {
  width: 90%;
  margin: auto;
  position: relative;
}

.page-width {
  width: 86%;
  margin: auto;
  padding: 0;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .page-width {
    padding: 0;
  }
}
@media only screen and (min-width: 768px) {
  .page-width {
    width: 90%;
    max-width: 1300px;
  }
}

figure figcaption {
  font-size: 10px;
  font-size: 1rem;
  margin-top: 5px;
  text-align: center;
  color: #1B1B1B;
}
@media only screen and (min-width: 768px) {
  figure figcaption {
    font-size: 11px;
    font-size: 1.1rem;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1024px) {
  figure figcaption {
    font-size: 12px;
    font-size: 1.2rem;
    margin-top: 10px;
  }
}

.inner-block {
  position: relative;
  max-width: 1200px;
  width: 100%;
  padding: 0 20px;
}
@media only screen and (min-width: 768px) {
  .inner-block {
    margin: 0 auto;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1100px) {
  .inner-block.inner-min {
    padding: 0 100px;
  }
}
.inner-block.border {
  padding-top: 0;
}
@media only screen and (min-width: 768px) {
  .inner-block.border {
    max-width: 100%;
    width: 100%;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1100px) {
  .inner-block.border {
    border-top: 4px solid #E0E0E0;
    border-bottom: 4px solid #E0E0E0;
  }
}

body {
  max-height: 800px;
}

#wrapper {
  position: relative;
}
@media only screen and (max-width: 1023px) {
  #wrapper {
    overflow-y: hidden;
  }
}

dl, dt, dd {
  padding: 0;
  margin: 0;
}

sup {
  vertical-align: baseline;
  font-size: 70%;
}

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
  a,
  a::before,
  a::after,
  button {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
}
.ib {
  display: inline-block;
}

.c-svg {
  display: inline-block;
  fill: currentColor;
  vertical-align: top;
}

@media screen and (max-width: 767px) {
  .smart_hide {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .tablet_hide {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .pc_hide {
    display: none;
  }
}
body {
  height: 100vh;
}

.proxy {
  position: absolute;
  visibility: hidden;
}

.page-sun {
  position: relative;
}
.page-sun:before {
  content: "";
  position: fixed;
  background: url(../img/s_bg.png);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.page-moon {
  background: #000;
  color: #fff;
}
.page-moon p {
  color: #fff;
}

.c-vr {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  font-size: 1.9vh;
}

.fullPageScroll {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  height: 100lvh;
}

.crd {
  z-index: 2;
  position: absolute;
}
.crd.crd01 {
  -webkit-transition: -webkit-transform 0.2s linear 0.008s;
  transition: -webkit-transform 0.2s linear 0.008s;
  transition: transform 0.2s linear 0.008s;
  transition: transform 0.2s linear 0.008s, -webkit-transform 0.2s linear 0.008s;
}
.crd.crd02 {
  -webkit-transition: -webkit-transform 0.8s linear 0.008s;
  transition: -webkit-transform 0.8s linear 0.008s;
  transition: transform 0.8s linear 0.008s;
  transition: transform 0.8s linear 0.008s, -webkit-transform 0.8s linear 0.008s;
}
.crd.crd03 {
  -webkit-transition: -webkit-transform 0.3s linear 0.008s;
  transition: -webkit-transform 0.3s linear 0.008s;
  transition: transform 0.3s linear 0.008s;
  transition: transform 0.3s linear 0.008s, -webkit-transform 0.3s linear 0.008s;
}
.crd.crd04 {
  -webkit-transition: -webkit-transform 0.9s linear 0.008s;
  transition: -webkit-transform 0.9s linear 0.008s;
  transition: transform 0.9s linear 0.008s;
  transition: transform 0.9s linear 0.008s, -webkit-transform 0.9s linear 0.008s;
}
.crd.crd05 {
  -webkit-transition: -webkit-transform 0.3s linear 0.008s;
  transition: -webkit-transform 0.3s linear 0.008s;
  transition: transform 0.3s linear 0.008s;
  transition: transform 0.3s linear 0.008s, -webkit-transform 0.3s linear 0.008s;
}
.crd.crd06 {
  -webkit-transition: -webkit-transform 0.7s linear 0.008s;
  transition: -webkit-transform 0.7s linear 0.008s;
  transition: transform 0.7s linear 0.008s;
  transition: transform 0.7s linear 0.008s, -webkit-transform 0.7s linear 0.008s;
}

.js-img {
  -webkit-transform: translate(-30px, 0px);
          transform: translate(-30px, 0px);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.masthead {
  right: 0;
  top: 0;
  bottom: 0;
  height: 100%;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 100;
  padding: 25px 25px;
}
@media only screen and (min-width: 768px) {
  .masthead {
    padding: 50px 50px;
  }
}
.masthead .copy {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  margin-top: auto;
}
.masthead .menuToggle {
  margin-top: 45px;
}

.section {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.section02 {
  position: relative;
  padding: 0 25.375lvh 0 28.375lvh;
  z-index: 4;
}
.section02 .obj {
  height: 100lvh;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 2;
  position: relative;
}
.section02 .mainObj {
  margin: auto;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.section02 .mainObj:before {
  content: "";
  background: url(../img/s_bgl.png) no-repeat center center;
  background-size: contain;
  height: 136lvh;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
  width: 136lvh;
}
.section02 .mainObj img {
  height: 75lvh;
  width: auto;
}
.section02 .mainTxt {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 62.5lvh;
  z-index: 3;
}
.section02 .mainTxt img {
  margin-right: 15%;
  height: 100%;
}
.section02 .auth {
  font-size: 12px;
  font-size: 1.2rem;
  position: absolute;
  right: 0;
  bottom: 0;
}
.section02 .crd {
  position: absolute;
}
.section02 .crd01 {
  height: 6.5lvh;
  right: 5%;
  top: 15%;
}
.section02 .crd02 {
  height: 24.5lvh;
  right: 8%;
  bottom: 20%;
}
.section02 .crd03 {
  height: 27.25lvh;
  left: -18%;
  top: 15%;
}
.section02 .crd04 {
  height: 5.875lvh;
  left: 2%;
  top: 50%;
}
.section02 .crd05 {
  height: 17.5lvh;
  bottom: 8%;
  left: -5%;
}

.section03 {
  padding: 0 25.375lvh 0 20.375lvh;
  position: relative;
  z-index: 0;
}
.section03:before {
  content: "";
  background: url(../img/s_bgl.png) no-repeat center center;
  background-size: contain;
  height: 175lvh;
  width: 175lvh;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -91.375lvh;
  z-index: -1;
}
.section03 .subTxt {
  padding-top: 7.5lvh;
  z-index: 5;
  position: relative;
}
.section03 .subTxt__over {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.section03 .subTxt__sun {
  height: 12.5lvh;
}
.section03 .subTxt .crd01 {
  height: 4.125lvh;
  position: absolute;
  left: 0;
  bottom: 4%;
  right: 0;
  margin: auto;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.section03 .subTxt .crd01 img {
  margin-left: 25%;
}
.section03 .subTxt__under {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-column-gap: 64px;
     -moz-column-gap: 64px;
          column-gap: 64px;
  padding-top: 7.5lvh;
}
.section03 .crd02 {
  height: 15.375lvh;
  top: 7.5lvh;
  left: -15%;
}
.section03 .crd03 {
  height: 5.875lvh;
  left: 10%;
}

.section04 {
  z-index: 4;
  padding: 0 0 0;
  min-width: 105lvh;
}
.section04 .img-wrap {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 14lvh;
     -moz-column-gap: 14lvh;
          column-gap: 14lvh;
  margin-right: 0;
}
.section04 .subTtl {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100lvh;
  margin: 0;
  padding: 0;
}
.section04 .subTtl img {
  height: 79.25lvh;
}
.section04 .stTtl {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.section04 .stTtl img {
  height: 55.875lvh;
}

.section05 {
  position: relative;
  padding: 0 30.6lvh 0 0;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.section05 .crd01 {
  height: 12.75lvh;
  bottom: 30%;
  right: 10%;
}
.section05 .crd02 {
  height: 6.25lvh;
  top: 20%;
  left: -45%;
}
.section05 .maruTxt {
  height: 75.25lvh;
  margin: auto;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-column-gap: 64px;
     -moz-column-gap: 64px;
          column-gap: 64px;
  background: url(../img/s_maru.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  padding: 16.875lvh 22% 15.25lvh;
  position: relative;
}
.section05 .maruTxt__sun {
  position: absolute;
  height: 12.5lvh;
  top: 0;
  right: 0;
}
.section05 .maruTxt__moon {
  position: absolute;
  height: 12.5lvh;
  left: 7%;
  bottom: 4%;
}

.section06 {
  padding: 0 50lvh 0 14.125lvh;
}
.section06 .crText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.section06 .crText:before {
  content: "";
  background: url(../img/s_bgl.png) no-repeat center center;
  background-size: contain;
  height: 75lvh;
  width: 75lvh;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.section06 .crText__cr {
  height: 100lvh;
  margin-top: 0;
}
.section06 .crText__cr img {
  height: 100%;
  aspect-ratio: 941/891;
}
.section06 .crText__txt {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: 6lvh;
}
.section06 .crText__txt img {
  height: 56.5lvh;
}
.section06 .crd01 {
  height: 21.625lvh;
  bottom: 12%;
  right: 16%;
}
.section06 .crd02 {
  height: 4.8lvh;
  top: 5%;
  left: -5%;
}

.section07 {
  padding: 0 0 0 25lvh;
}
.section07 .mlD {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
}
.section07 .mlD .mlTxt {
  padding-top: 27.5lvh;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 60px;
     -moz-column-gap: 60px;
          column-gap: 60px;
}
.section07 .mlD .stTtl {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.section07 .mlD .stTtl img {
  height: 55.875lvh;
}
.section07 .crd {
  height: 19.25lvh;
  top: 10%;
  left: 10%;
}

.section08 {
  position: relative;
  padding: 0 0 0 14.25lvh;
  z-index: 2;
}
.section08 .flArea {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  position: relative;
  z-index: 2;
}
.section08 .flArea__left-img {
  height: 37.5lvh;
}
.section08 .flArea__left-img img {
  height: 100%;
}
.section08 .flArea__left-txt {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 5.625lvh;
}
.section08 .flArea__right {
  padding-top: 11.5lvh;
  padding-left: 17.125lvh;
  position: relative;
}
.section08 .flArea__right:before {
  content: "";
  background: url(../img/s_bgl.png) no-repeat;
  background-position: center;
  background-size: contain;
  height: 72.75lvh;
  left: -28lvh;
  aspect-ratio: 1/1;
  position: absolute;
  top: -4lvh;
  z-index: -1;
}
.section08 .flArea__right:after {
  content: "";
  background: url(../img/sun.png) no-repeat;
  background-position: center;
  background-size: contain;
  height: 18.75lvh;
  left: 0lvh;
  aspect-ratio: 1/1;
  position: absolute;
  top: 24lvh;
  z-index: 0;
}
.section08 .flArea__right img {
  height: 74.375lvh;
}
.section08 .crd {
  height: 6.625lvh;
  bottom: 27%;
  left: 0;
}

.section09 {
  padding: 0 18.75lvh 0 30lvh;
  position: relative;
  z-index: 0;
}
.section09 .obj {
  height: 100lvh;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 2;
  position: relative;
}
.section09 .mainObj {
  margin: auto;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.section09 .mainObj:before {
  content: "";
  background: url(../img/s_bgl.png) no-repeat center center;
  background-size: contain;
  height: 136lvh;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
  aspect-ratio: 1/1;
}
.section09 .mainObj img {
  height: 76lvh;
  width: auto;
}
.section09 .mainTxt {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 54.75lvh;
  z-index: 3;
}
.section09 .mainTxt img {
  margin-right: 5%;
  height: 100%;
}
.section09 .crd01 {
  height: 17.5lvh;
  top: 10lvh;
  right: 1.5%;
}
.section09 .crd02 {
  height: 10.125lvh;
  top: 28.75lvh;
  left: 7%;
}
.section09 .crd03 {
  height: 13.125lvh;
  bottom: 16.25lvh;
  left: 4.5%;
}

.section10 .aboutBox {
  padding-top: 10.875lvh;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-column-gap: 112px;
     -moz-column-gap: 112px;
          column-gap: 112px;
}
.section10 .aboutBox__item {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  position: relative;
}
.section10 .aboutBox__item.--01 .aboutBox__ttl {
  height: 47.6lvh;
}
.section10 .aboutBox__item.--02 .aboutBox__ttl {
  height: 46.625lvh;
}
.section10 .aboutBox__item.--03 .aboutBox__ttl {
  height: 37.125lvh;
}
.section10 .aboutBox__ttl {
  margin-left: 80px;
}
.section10 .aboutBox__ttl img {
  height: 100%;
}
.section10 .aboutBox__txt {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-column-gap: 58px;
     -moz-column-gap: 58px;
          column-gap: 58px;
  padding-top: 15.5lvh;
}
.section10 .crd01 {
  height: 6.125lvh;
  bottom: -11.5lvh;
  left: -30%;
}
.section10 .crd02 {
  height: 12.75lvh;
  left: 10%;
  top: -4.75lvh;
}
.section10 .crd03 {
  height: 4.75lvh;
  top: 2%;
  left: 9%;
}

.section11 {
  padding: 0 40lvh 0 0;
}
.section11 .tri {
  position: relative;
  position: relative;
}
.section11 .tri:before {
  content: "";
  background: url(../img/s_bgl.png) no-repeat;
  background-position: center;
  background-size: contain;
  height: 74lvh;
  left: -38lvh;
  aspect-ratio: 1/1;
  position: absolute;
  top: -15.625lvh;
  z-index: -1;
}
.section11 .tri:after {
  content: "";
  background: url(../img/sun.png) no-repeat;
  background-position: center;
  background-size: contain;
  height: 18.5lvh;
  left: -4lvh;
  aspect-ratio: 1/1;
  position: absolute;
  top: 11.75lvh;
  z-index: 0;
}
.section11 .tri .triTxt {
  height: 80.5lvh;
  padding-top: 9.5lvh;
  position: relative;
}
.section11 .tri .triTxt img {
  height: 100%;
}
.section11 .tri .triTri {
  height: 29lvh;
  position: absolute;
  top: 37.125lvh;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.section11 .tri .triTri img {
  height: 100%;
}
.section11 .crd01 {
  height: 4.5lvh;
  top: 32.5lvh;
  right: 30%;
}
.section11 .crd02 {
  height: 13.25lvh;
  right: 9%;
  bottom: 21.625lvh;
}

.section12 {
  padding: 0 20.5lvh 0 20.25lvh;
}
.section12 .taBox {
  padding-top: 17.875lvh;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-column-gap: 80px;
     -moz-column-gap: 80px;
          column-gap: 80px;
}
.section12 .taBox__item.--02 {
  padding-top: 16.5lvh;
}
.section12 .crd01 {
  height: 12.75lvh;
  bottom: 12.25lvh;
  right: 25%;
}
.section12 .crd02 {
  height: 8.25lvh;
  left: -1%;
  top: 16.875lvh;
}

.section13 .crLink {
  padding-top: 2.125lvh;
  position: relative;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-column-gap: 26px;
     -moz-column-gap: 26px;
          column-gap: 26px;
}
.section13 .crLink__item {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.section13 .crLink__item.--01 {
  position: absolute;
  aspect-ratio: 377/358;
  background: url(../img/s_link01_bl.svg) no-repeat center;
  background-size: contain;
  height: 44.75lvh;
  left: 10.75lvh;
  top: 2.125lvh;
}
.section13 .crLink__item.--01 a {
  height: 30.625lvh;
  aspect-ratio: 196/245;
}
.section13 .crLink__item.--02 {
  aspect-ratio: 377/358;
  background: url(../img/s_link02_bl.svg) no-repeat center;
  background-size: contain;
  height: 44.75lvh;
  margin-top: 32.5lvh;
}
.section13 .crLink__item.--02 a {
  height: 34.25lvh;
  aspect-ratio: 187/274;
}
.section13 .crLink__item.--03 {
  aspect-ratio: 377/358;
  background: url(../img/s_link03_bl.svg) no-repeat center;
  background-size: contain;
  height: 44.75lvh;
  margin-top: 49.375lvh;
}
.section13 .crLink__item.--03 a {
  height: 35.125lvh;
  aspect-ratio: 172/281;
}
.section13 .crLink__item a {
  display: block;
}
.section13 .crLink__item a img {
  height: 100%;
}

.section14 {
  padding: 0 25lvh 0 18.75lvh;
  position: relative;
  z-index: 1;
}
.section14:before {
  content: "";
  background: url(../img/s_bgl.png) no-repeat;
  background-position: center;
  background-size: contain;
  height: 74lvh;
  left: -32.5lvh;
  aspect-ratio: 1/1;
  position: absolute;
  top: -30.75lvh;
  z-index: -1;
}
.section14:after {
  content: "";
  background: url(../img/sun.png) no-repeat;
  background-position: center;
  background-size: contain;
  height: 18.57lvh;
  top: -3lvh;
  left: -4.125lvh;
  aspect-ratio: 1/1;
  position: absolute;
  z-index: 0;
}
.section14 .koiArea {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  -webkit-column-gap: 100px;
     -moz-column-gap: 100px;
          column-gap: 100px;
}
.section14 .koiArea__img {
  height: 79.75lvh;
}
.section14 .koiArea__img img {
  height: 100%;
}
.section14 .koiArea__txt a {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  position: relative;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.section14 .koiArea__txt a:after {
  content: "";
  background: url(../img/s_btn.svg) no-repeat center;
  display: block;
  aspect-ratio: 86/85;
  height: 10.625lvh;
}
.section14 .crd01 {
  height: 12.75lvh;
  bottom: 41.5lvh;
  right: 5%;
}
.section14 .crd02 {
  height: 6.125lvh;
  left: 0%;
  bottom: 13.25lvh;
}

a {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
a:hover {
  opacity: 0.7;
}

.page-moon .section02 .mainObj:before {
  content: "";
  background-image: url(../img/m_bgl.png);
}
.page-moon .section03:before {
  content: "";
  background-image: url(../img/m_bgl.png);
}
.page-moon .section04 .stTtl img {
  height: 44.365lvh;
}
.page-moon .section05 .maruTxt {
  background-image: url(../img/m_maru.svg);
}
.page-moon .section06 .crText:before {
  background-image: url(../img/m_bgl.png);
}
.page-moon .section07 .mlD .stTtl img {
  height: 44.365lvh;
}
.page-moon .section08 .flArea__right:before {
  background-image: url(../img/m_bgl.png);
}
.page-moon .section08 .flArea__right:after {
  content: "";
  background-image: url(../img/moon.png);
}
.page-moon .section09 .mainObj:before {
  content: "";
  background-image: url(../img/m_bgl.png);
}
.page-moon .section11 .tri:before {
  content: "";
  background-image: url(../img/m_bgl.png);
}
.page-moon .section11 .tri:after {
  content: "";
  background-image: url(../img/moon.png);
}
.page-moon .section13 .crLink__item.--01 {
  background-image: url(../img/m_link01_bl.svg);
}
.page-moon .section13 .crLink__item.--02 {
  background-image: url(../img/m_link02_bl.svg);
}
.page-moon .section13 .crLink__item.--03 {
  background-image: url(../img/m_link03_bl.svg);
}
.page-moon .section14 {
  z-index: 1;
}
.page-moon .section14:before {
  background-image: url(../img/m_bgl.png);
}
.page-moon .section14:after {
  background-image: url(../img/moon.png);
}
.page-moon .section14 .koiArea__txt a {
  color: #fff;
}
.page-moon .section14 .koiArea__txt a:after {
  content: "";
  background-image: url(../img/m_btn.svg);
}

.c-modalArea {
  background: #fff;
  width: 100vw;
  height: 100vh;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 100;
  display: none;
}
.c-modalArea .c-modalClose {
  display: block;
  position: fixed;
  right: 4.75lvh;
  bottom: 4lvh;
  aspect-ratio: 1/1;
  height: 3.75lvh;
  z-index: 100;
  cursor: pointer;
}
.c-modalArea .c-modalClose img {
  height: 100%;
}
.c-modalArea.c-modalSun {
  background: url(../img/s_bg.png);
}
.c-modalArea.c-modalMoon {
  background: #000000;
  color: #fff;
}
.c-modalArea.c-modalMoon p {
  color: #fff;
}
.c-modalArea.c-modalMoon p a {
  color: #fff;
}
.c-modalArea__cont {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}
.c-modalArea .c-modalBox {
  display: none;
  z-index: 10;
  scroll-snap-align: end;
  -webkit-overflow-scrolling: touch;
}
.c-modalArea .c-modalBox section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}
.c-modalArea .c-modalBox .comArea {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.c-modalArea .c-modalBox .comArea__logo {
  margin-top: 6.125lvh;
  margin-right: 7.75lvh;
}
.c-modalArea .c-modalBox .comArea__koi {
  margin-top: 6.125lvh;
  margin-right: 7.75lvh;
}
.c-modalArea .c-modalBox .comArea__koi img {
  height: 48.125lvh;
}
.c-modalArea .c-modalBox .comArea__txt {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-column-gap: 60px;
     -moz-column-gap: 60px;
          column-gap: 60px;
  padding: 16lvh 80px 0 100px;
}
.c-modalArea .c-modalBox .comArea__txt a {
  text-decoration: underline;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-modalArea .c-modalBox .comArea__txt a:hover {
  text-decoration: none;
}
.c-modalArea .c-modalBox .comArea__img {
  height: 100lvh;
}
.c-modalArea .c-modalBox .comArea__img img {
  height: 100%;
}
.c-modalArea .c-modalBox .comArea__link {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 8.75lvh;
}
.c-modalArea .horizontal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}
@media only screen and (min-width: 768px) {
  .c-modalArea .horizontal {
    -ms-scroll-snap-type: x mandatory;
        scroll-snap-type: x mandatory;
  }
}
@media only screen and (max-width: 767px) {
  .c-modalArea .horizontal {
    -ms-touch-action: none;
        touch-action: none;
    -ms-scroll-chaining: none;
        overscroll-behavior: none; /* ゴム防止 */
    -webkit-overflow-scrolling: auto;
  }
}