@charset "UTF-8";
/* ----------------------
全体共通
----------------------*/
html {
  font-size: 100px;
}

body {
  background: #f1f1f1;
}

@media screen and (max-width: 1024px) {
  article.flow {
    ms-flex-pack: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
        justify-content: center;
  }
}
.center {
  text-align: center;
}

.flow {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
}

.fade-up {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}

.fade-up.show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* ----------------------
BUTTON
----------------------*/
.btn {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
}
.btn a {
  display: block;
  width: 100%;
}
.btn a:hover {
  opacity: 0.7;
}

.scroll__btn {
  position: fixed;
  bottom: 10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 75%;
  max-width: 336px;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

@media screen and (max-width: 375px) {
  .scroll__btn {
    width: 95%;
  }
}
.scroll__btn.show {
  opacity: 1;
}

/* ----------------------
PCコンテンツ
----------------------*/
.pc_left {
  width: calc((100% - 414px) / 2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.pc_left figure {
  width: 63%;
  max-width: 285px;
}

.pc_right {
  width: calc((100% - 414px) / 2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.pc_right .pc_right_wrap {
  width: 67.4%;
  max-width: 306px;
  text-align: center;
}
.pc_right .pc_right_wrap h2 {
  font-size: 0.22rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.01em;
  padding-bottom: 16px;
  margin-bottom: 26px;
  border-bottom: 1px solid #db0212;
}
.pc_right .pc_right_wrap .pc__btn {
  width: 100%;
  max-width: 306px;
  margin-bottom: 14px;
}
.pc_right .pc_right_wrap p {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 400;
  font-size: 0.14rem;
  line-height: 20.27px;
  color: #000;
  text-align: left;
  text-indent: -1em;
  margin-left: 1em;
}

/* ----------------------
中央スクロール部分
----------------------*/
.scroll-container {
  width: 414px;
  height: 100vh;
  overflow-y: auto;
  background: #fff;
  position: relative;
}

.scroll-container::-webkit-scrollbar {
  display: none;
}

@supports (-webkit-overflow-scrolling: touch) {
  @media (max-width: 767px) {
    .scroll-container {
      -webkit-overflow-scrolling: touch;
    }
  }
}
section {
  position: relative;
}
section .center img:not(.bk) {
  zoom: 0.5;
  z-index: 2;
}

section:not(.visual) {
  background-size: cover;
  background-repeat: no-repeat;
  padding: 5.33%;
  padding-bottom: 17.91%;
}
section:not(.visual) img {
  margin: 0 auto;
}

.visual img:first-of-type {
  top: 11.9%;
  left: 64.2%;
  width: 27.7%;
  position: absolute;
}
.visual img:nth-of-type(2) {
  top: 38.21%;
  left: 22.27%;
  width: 27.7%;
  position: absolute;
}
.visual img:nth-of-type(3) {
  top: 81.84%;
  left: 62%;
  width: 33.33%;
  position: absolute;
}
.visual img.bk {
  aspect-ratio: 25/109;
}

.uni2 {
  background-image: url(../img/2_bk.webp);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 5.33%;
  aspect-ratio: 750/1393;
}
.uni2 img {
  margin: 0 auto;
}
.uni2 img:first-of-type {
  width: 53.43%;
  margin-bottom: 17.91%;
  margin-left: 0;
}
.uni2 img:nth-of-type(2) {
  width: 74.78%;
  margin-bottom: 14.93%;
}
.uni2 img:nth-of-type(3) {
  width: 81.19%;
  margin-bottom: 7.46%;
}
.uni2 img:nth-of-type(4) {
  width: 45.97%;
}

section.uni3 {
  background-image: url(../img/3_bk.webp);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 17.91% 0;
  aspect-ratio: 125/174;
}
section.uni3 img {
  margin: 0 auto;
}
section.uni3 img:first-of-type {
  width: 52.39%;
  margin-bottom: 14.93%;
}
section.uni3 img:nth-of-type(2) {
  width: 34.93%;
}

.uni4 {
  background-image: url(../img/4_bk.webp);
  aspect-ratio: 125/182;
}
.uni4 img:first-of-type {
  width: 43.58%;
  margin-bottom: 17.91%;
  margin-left: 0;
}
.uni4 img:nth-of-type(2) {
  width: 61.79%;
  margin-bottom: 14.93%;
}
.uni4 img:nth-of-type(3) {
  width: 93.73%;
}

.uni5 {
  background-image: url(../img/5_bk.webp);
  aspect-ratio: 750/3247;
}
.uni5 img:first-of-type {
  width: 79.25%;
  margin-bottom: 17.91%;
  margin-left: 0;
}
.uni5 img:nth-of-type(2) {
  width: 52.39%;
  margin-bottom: 11.94%;
}
.uni5 img:nth-of-type(3) {
  width: 49%;
  margin-bottom: 11.94%;
}
.uni5 img:nth-of-type(4) {
  width: 100%;
  margin-bottom: 14.93%;
}
.uni5 img:nth-of-type(5) {
  width: 100%;
  margin-bottom: 14.93%;
}
.uni5 img:nth-of-type(6) {
  width: 100%;
}

.uni6 {
  background-image: url(../img/6_bk.webp);
  background-size: contain;
  aspect-ratio: 125/354;
}
.uni6 img:first-of-type {
  width: 60.75%;
  margin-bottom: 17.91%;
  margin-left: 0;
}
.uni6 img:nth-of-type(2) {
  width: 32.39%;
  margin-bottom: 17.91%;
}
.uni6 img:nth-of-type(3) {
  width: 87.76%;
  margin-bottom: 19.4%;
}
.uni6 img:nth-of-type(4) {
  width: 100%;
}

section.uni7 {
  background-image: url(../img/7_bk.webp);
  padding-top: 17.91%;
  aspect-ratio: 50/87;
}
section.uni7 img:first-of-type {
  width: 48.21%;
  margin-bottom: 10.45%;
}
section.uni7 img:nth-of-type(2) {
  width: 99.7%;
  margin-bottom: 7.46%;
}
section.uni7 img:nth-of-type(3) {
  width: 100%;
}

section.uni8 {
  background-image: url(../img/8_bk.webp);
  padding-top: 17.91%;
  aspect-ratio: 750/1163;
}
section.uni8 img:first-of-type {
  width: 60.75%;
  margin-bottom: 11.94%;
}
section.uni8 img:nth-of-type(2) {
  width: 99.7%;
  margin-bottom: 8.21%;
}
section.uni8 img:nth-of-type(3) {
  width: 100%;
}

section.uni9 {
  background-image: url(../img/9_bk.webp);
  padding-top: 17.91%;
  aspect-ratio: 150/209;
}
section.uni9 img:first-of-type {
  width: 48.81%;
  margin-bottom: 14.93%;
}
section.uni9 img:nth-of-type(2) {
  width: 34.93%;
  margin-bottom: 10.45%;
}
section.uni9 mg:nth-of-type(3) {
  width: 100%;
}

section.uni10 {
  background-image: url(../img/10_bk.webp);
  padding-top: 16.72%;
  padding-bottom: 8.96%;
  background-size: 100%;
  aspect-ratio: 250/1469;
}
section.uni10 img {
  width: 100%;
  margin-bottom: 8.66%;
}
section.uni10 img:first-of-type {
  width: 61.79%;
  margin-bottom: 20.3%;
}
section.uni10 img:nth-of-type(4),
section.uni10 img:nth-of-type(7) {
  margin-bottom: 17.91%;
}
section.uni10 img:last-of-type {
  margin-bottom: 0;
}

.uni11 {
  background-image: url(../img/11_bk.webp);
  aspect-ratio: 125/564;
}
.uni11 img:first-of-type {
  width: 51.94%;
  margin-bottom: 17.91%;
  margin-left: 0;
}
.uni11 img:nth-of-type(2) {
  width: 78.36%;
  margin-bottom: 11.94%;
}
.uni11 img:nth-of-type(3) {
  width: 70.3%;
  margin-bottom: 11.94%;
}
.uni11 img:nth-of-type(4),
.uni11 img:nth-of-type(5),
.uni11 img:nth-of-type(6),
.uni11 img:nth-of-type(7) {
  width: 100%;
  margin-bottom: 11.94%;
}
.uni11 img:last-of-type {
  margin-bottom: 0;
}

section.uni12 {
  background-image: url(../img/12_bk.webp);
  padding-top: 17.91%;
  aspect-ratio: 750/1267;
}
section.uni12 img:first-of-type {
  width: 46.12%;
  margin-bottom: 8.96%;
  margin-left: 0;
}
section.uni12 img:nth-of-type(2) {
  width: 100%;
  margin-bottom: 10%;
}
section.uni12 img:nth-of-type(3) {
  width: 100%;
}

section.uni13 {
  background-image: url(../img/13_bk.webp);
  background-size: 100%;
  padding-top: 17.91%;
  aspect-ratio: 250/1031;
}
section.uni13 img:first-of-type {
  width: 64.93%;
  margin-bottom: 11.04%;
}
section.uni13 img:nth-of-type(2) {
  width: 40.9%;
  margin-bottom: 13.43%;
}
section.uni13 img:nth-of-type(3) {
  width: 94.48%;
  margin-bottom: 17.91%;
}
section.uni13 img:nth-of-type(4) {
  width: 90.15%;
  margin-bottom: 191%;
}
section.uni13 .cta__btn {
  width: 94.03%;
  margin: 0 auto;
  margin-bottom: 0%;
}
section.uni13 .cta__btn a img {
  width: 100%;
  margin-bottom: 0;
}

.uni14 {
  background: #3e3e3e;
  color: #fff;
  font-size: 0.14rem;
  font-family: "Zen Old Mincho", serif;
}
.uni14 .center {
  margin: 0 auto;
}
.uni14 .center .sub_ttl {
  position: relative;
  font-family: "Cormorant Infant", serif;
  font-weight: 300;
  letter-spacing: 0.07em;
  margin-bottom: 17.91%;
  padding-left: 6.27%;
  text-align: left;
}
.uni14 .center .sub_ttl::after {
  position: absolute;
  content: "";
  height: 1px;
  background: #fff;
  width: 5%;
  top: 50%;
  left: 0;
}
.uni14 .center h3 {
  font-weight: 500;
  font-size: 0.17rem;
  letter-spacing: 0.08em;
  margin-bottom: 10.75%;
  text-align: center;
}
.uni14 .center .qa__list {
  border-top: 1px solid #fff;
}
.uni14 .center .qa__list li {
  padding: 5.97% 0;
  border-bottom: 1px solid #fff;
}
.uni14 .center .qa__list li dl dt,
.uni14 .center .qa__list li dl dd {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.uni14 .center .qa__list li dl dt span,
.uni14 .center .qa__list li dl dd span {
  display: inline-block;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 500;
  margin-right: 4.48%;
  font-size: 0.24rem;
}
.uni14 .center .qa__list li dl dt p,
.uni14 .center .qa__list li dl dd p {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  font-size: 0.14rem;
  line-height: 1.71;
  letter-spacing: 0.05em;
  color: #fff;
  margin-bottom: 0;
  text-align: left;
}
.uni14 .center .qa__list li dl dt::before,
.uni14 .center .qa__list li dl dt::after {
  position: absolute;
  content: "";
  top: 17%;
  right: 4.48%;
  width: 4.48%;
  height: 1px;
  background: #fff;
}
.uni14 .center .qa__list li dl dt::before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.uni14 .center .qa__list li dl dt {
  cursor: pointer;
}
.uni14 .center .qa__list li dl dd {
  margin-top: 5.97%;
  display: none;
}
.uni14 .center .qa__list li dl dd .awrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.uni14 .center .qa__list li dl dd p {
  font-weight: 400;
}
.uni14 .center .qa__list li dl dt.is-open::before {
  -webkit-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

section.uni15 {
  padding: 0;
  position: relative;
}
section.uni15 .btn img {
  position: absolute;
  bottom: 5.5%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 89.333%;
}

.form {
  padding: 100px 0;
  font-size: 0.14rem;
  background: #efefef;
}

/* ----------------------
表示非表示
----------------------*/
@media screen and (max-width: 1024px) {
  .pc_right,
  .pc_left {
    display: none;
  }
}
/* ----------------------
フッター
----------------------*/
footer {
  padding: 30px 0 100px;
  background-color: #707070;
  width: 100%;
  font-size: 15px;
  font-family: "Zen Kaku Gothic New", serif;
}
footer .inner {
  width: 92%;
  margin: auto;
}
footer .inner .image img {
  margin: 0 auto;
}
footer .inner .title {
  font-size: 16px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  padding: 4px 10px;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 4px;
  margin-top: 16px;
}
footer .inner .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}
footer .inner .wrap p {
  color: #fff;
}
footer .inner .wrap .tel {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
footer .inner .wrap .tel a {
  width: 100%;
  font-size: 20px;
  color: #fff;
  display: block;
  height: auto;
  margin: 0 auto;
}
footer .inner .time {
  text-align: center;
  color: #fff;
}
footer .inner .gaiyo {
  margin-top: 50px;
  text-align: center;
}
footer .inner .gaiyo p {
  margin: 10px 0;
  font-size: 14px;
}
footer .inner .gaiyo p a {
  color: #fff;
  text-decoration: underline;
}