@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
.spi, .spib, .sp {
  display: none; }

.pci {
  display: inline; }

.pcib {
  display: inline-block; }

.pc {
  display: block; }

@media screen and (max-width: 765px) {
  .pci, .pcib, .pc {
    display: none; }
  .spi {
    display: inline; }
  .spib {
    display: inline-block; }
  .sp {
    display: block; }
  * {
    max-width: none !important;
    max-height: none !important; } }

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

nav ul {
  list-style: none; }

a, span {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

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

input, select {
  vertical-align: middle; }

* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-overflow-scrolling: touch; }

img {
  width: 100%; }

body {
  background-color: #819067; }

body {
  position: fixed; }
  body .container {
    opacity: 0;
    -webkit-transition: all 1000ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
    -o-transition: all 1000ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
    transition: all 1000ms cubic-bezier(0.04, 0.51, 0.155, 0.985); }
  body .loading {
    background: #0a400d;
    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;
    inset: 0 0 0 0;
    position: fixed;
    z-index: 2;
    -webkit-transition: all 600ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
    -o-transition: all 600ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
    transition: all 600ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
    pointer-events: none; }
    body .loading img {
      width: 100px; }
  body.is-loaded {
    position: static; }
    body.is-loaded .container {
      opacity: 1; }
    body.is-loaded .loading {
      opacity: 0; }

main {
  overflow: hidden; }

.txt-l {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  font-size: 1.875vw;
  font-size: max(1.875vw,10px);
  line-height: 1.416666667; }
  @media screen and (min-width: 1280px) {
    .txt-l {
      font-size: 24px; } }
  @media screen and (max-width: 765px) {
    .txt-l {
      font-size: 5.08906vw;
      line-height: 1.7; } }

.txt {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  font-size: 1.5625vw;
  font-size: max(1.5625vw,10px);
  line-height: 1.7; }
  @media screen and (min-width: 1280px) {
    .txt {
      font-size: 20px; } }
  @media screen and (max-width: 765px) {
    .txt {
      font-size: 4.58015vw;
      line-height: 1.888888889; } }

.txt-s {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  font-size: 1.40625vw;
  font-size: max(1.40625vw,10px);
  line-height: 1.888888889; }
  @media screen and (min-width: 1280px) {
    .txt-s {
      font-size: 18px; } }
  @media screen and (max-width: 765px) {
    .txt-s {
      font-size: 4.07125vw;
      line-height: 1.875; } }

.header {
  padding: 2.1875vw 6.48438vw 2.03125vw 6.48438vw;
  background-color: rgba(10, 64, 12, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999; }
  @media screen and (min-width: 1280px) {
    .header {
      padding: 28px 83px 26px 83px; } }
  .header__ttl {
    width: 31.48437vw;
    max-width: 403px; }
  @media screen and (max-width: 765px) {
    .header {
      padding: 5.34351vw 5.08906vw 3.30789vw 5.08906vw; }
      .header__ttl {
        width: 76.84478vw; } }

.mv {
  position: relative; }
  .mv__image {
    width: 100%; }
    .mv__image img {
      width: 100%;
      height: 100vh;
      -o-object-fit: cover;
      object-fit: cover; }
  .mv__ttl {
    width: 63.90625vw;
    max-width: 818px;
    position: absolute;
    top: 0;
    left: 0;
    margin: 21.5625vw 0vw 0vw 6.48438vw;
    z-index: 2; }
    @media screen and (min-width: 1280px) {
      .mv__ttl {
        margin: 276px 0px 0px 83px; } }
  .mv__subttl {
    width: 35.25156vw;
    max-width: 451.22px;
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 2;
    margin: 2.73438vw 6.48438vw 0vw 0vw; }
    @media screen and (min-width: 1280px) {
      .mv__subttl {
        margin: 35px 83px 0px 0px; } }
  @media screen and (max-width: 765px) {
    .mv__ttl {
      width: 71.75573vw;
      margin: 50.38168vw 0 0 5.34351vw; }
    .mv__subttl {
      width: 63.10433vw;
      margin: 47.07379vw 5.34351vw 0 0; } }

.about {
  padding: 5.783308931vw 0 2.415812592vw 0;
  width: 100vw;
  position: relative; }
  .about:before {
    content: '';
    width: 100vw;
    height: 18.301610542vw;
    background-image: url("../img/about-bg.webp");
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: bottom;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
  .about__body {
    width: 78.125vw;
    max-width: 1000px;
    padding: 1.875vw 1.5625vw 1.32812vw 1.5625vw;
    margin: 0vw auto 0vw auto;
    text-align: center;
    background-color: #FEFCEB;
    border-radius: 1.5625vw;
    position: relative;
    z-index: 2; }
    @media screen and (min-width: 1280px) {
      .about__body {
        padding: 24px 20px 17px 20px; } }
    @media screen and (min-width: 1280px) {
      .about__body {
        margin: 0px auto 0px auto; } }
    @media screen and (min-width: 1366px) {
      .about__body {
        border-radius: 20px; } }
  .about__ttl {
    width: 37.57422vw;
    max-width: 480.95px;
    margin: 9.370424597vw auto 0 auto;
    position: relative;
    z-index: 2; }
  @media screen and (max-width: 765px) {
    .about {
      padding: 0 0 5.59796vw 0; }
      .about:before {
        height: 38.16794vw;
        background-image: url("../img/about-bg-sp.webp"); }
      .about__body {
        width: 89.82188vw;
        margin-top: 16.28499vw;
        border-radius: 2.54453vw;
        padding: 6.10687vw 5.34351vw 4.3257vw 5.34351vw; }
      .about__ttl {
        width: 75.31807vw;
        margin-top: 21.6285vw; } }

.location {
  padding: 3.90625vw 0vw 2.65625vw 6.48438vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #B1AB86; }
  @media screen and (min-width: 1280px) {
    .location {
      padding: 50px 0px 34px 83px; } }
  .location__map {
    width: 34.49063vw;
    max-width: 441.48px; }
  .location__body {
    width: 56.01562vw;
    max-width: 717px;
    margin-left: 3.125vw; }
    @media screen and (min-width: 1280px) {
      .location__body {
        margin-left: 40px; } }
    .location__body .txt {
      margin-bottom: 1.25vw; }
      @media screen and (min-width: 1280px) {
        .location__body .txt {
          margin-bottom: 16px; } }
  @media screen and (max-width: 765px) {
    .location {
      padding: 10.17812vw 0 5.08906vw 0;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
      .location__map {
        width: 76.33588vw;
        margin: 0 auto 6.10687vw auto; }
      .location__body {
        width: 79.64377vw;
        margin: 0 auto 0 auto; }
        .location__body .txt {
          margin-bottom: 6.10687vw; } }

.media {
  padding: 0.78125vw 0vw 0.78125vw 0vw;
  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;
  background-color: #0A400C; }
  @media screen and (min-width: 1280px) {
    .media {
      padding: 10px 0px 10px 0px; } }
  .media__photo {
    width: 25.85938vw;
    max-width: 331px;
    margin: 0vw 0.39062vw 0vw 0.39062vw; }
    @media screen and (min-width: 1280px) {
      .media__photo {
        margin: 0px 5px 0px 5px; } }
    .media__photo img {
      display: block;
      -o-object-fit: cover;
      object-fit: cover; }
  @media screen and (max-width: 765px) {
    .media {
      padding: 1.27226vw 0 1.27226vw 0;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      .media__photo {
        width: 43.51145vw;
        margin: 1.27226vw 1.27226vw 1.27226vw 1.27226vw; } }

.what {
  padding: 9.516837482vw 0 17.057101025vw 0;
  background-image: url("../img/what-bg.webp");
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100% auto;
  position: relative; }
  .what:after {
    content: '';
    width: 100%;
    height: 18.301610542vw;
    background-image: url("../img/what-bg-tree.webp");
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: bottom center;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
  .what__ttl {
    width: 34.16406vw;
    max-width: 437.3px;
    margin: 0vw auto 3.4375vw auto; }
    @media screen and (min-width: 1280px) {
      .what__ttl {
        margin: 0px auto 44px auto; } }
  .what__body {
    width: 78.125vw;
    max-width: 1000px;
    padding: 3.51562vw 1.5625vw 3.125vw 1.5625vw;
    margin: 0vw auto 0vw auto;
    background-color: #FEFCEB;
    border-radius: 1.5625vw;
    position: relative;
    z-index: 4; }
    @media screen and (min-width: 1280px) {
      .what__body {
        padding: 45px 20px 40px 20px; } }
    @media screen and (min-width: 1280px) {
      .what__body {
        margin: 0px auto 0px auto; } }
    @media screen and (min-width: 1366px) {
      .what__body {
        border-radius: 20px; } }
    .what__body .txt-l {
      margin-bottom: 3.125vw;
      text-align: center; }
      @media screen and (min-width: 1280px) {
        .what__body .txt-l {
          margin-bottom: 40px; } }
    .what__body .txt {
      width: 70.3125vw;
      max-width: 900px;
      margin: 0vw auto 2.42188vw auto; }
      @media screen and (min-width: 1280px) {
        .what__body .txt {
          margin: 0px auto 31px auto; } }
  .what__link {
    color: #000000; }
  @media screen and (max-width: 765px) {
    .what {
      padding: 20.35623vw 0 35.1145vw 0;
      background-image: url("../img/what-bg-sp.webp"); }
      .what:after {
        content: '';
        width: 100%;
        height: 38.16794vw;
        background-image: url("../img/what-bg-tree-sp.webp"); }
      .what__ttl {
        width: 68.70229vw;
        margin-bottom: 7.37913vw; }
      .what__body {
        width: 89.82188vw;
        border-radius: 2.54453vw;
        padding: 6.10687vw 5.34351vw 4.3257vw 5.34351vw; }
        .what__body .txt-l {
          margin-bottom: 5.08906vw; }
        .what__body .txt {
          width: 100%;
          margin-bottom: 5.08906vw; }
      .what__link {
        line-height: 2.428571429; } }

.tour {
  position: relative; }
  .tour__inner {
    width: 100vw;
    height: 100%;
    background-image: url("../img/tour-bg.svg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom center;
    padding: 2.928257687vw 0 16.325036603vw 0;
    position: relative;
    z-index: 3; }
    .tour__inner:after {
      content: '';
      width: 100%;
      height: 18.301611vw;
      background-image: url("../img/tour-bg-tree.webp");
      background-position: center bottom;
      background-repeat: no-repeat;
      background-size: 100% auto;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0; }
  .tour__ttl {
    width: 37.45547vw;
    max-width: 479.43px;
    margin-left: -18.72773vw;
    position: absolute;
    inset: -7.03125vw auto auto 50%;
    z-index: 3; }
    @media screen and (min-width: 1280px) {
      .tour__ttl {
        margin-left: -239.715px; } }
    @media screen and (min-width: 1366px) {
      .tour__ttl {
        top: -90px; } }
  .tour__wrap {
    width: 85.9375vw;
    max-width: 1100px;
    padding: 5.46875vw 1.875vw 5vw 1.875vw;
    margin: 0vw auto 0vw auto;
    background-color: #FFFCEB;
    border-radius: 1.5625vw;
    position: relative;
    z-index: 3; }
    @media screen and (min-width: 1280px) {
      .tour__wrap {
        padding: 70px 24px 64px 24px; } }
    @media screen and (min-width: 1280px) {
      .tour__wrap {
        margin: 0px auto 0px auto; } }
    @media screen and (min-width: 1366px) {
      .tour__wrap {
        border-radius: 20px; } }
    .tour__wrap:before {
      width: 62.23516vw;
      max-width: 796.61px;
      height: 183.90938vw;
      max-height: 2354.04px;
      content: '';
      background-image: url("../img/border.svg");
      background-repeat: no-repeat;
      background-position: top;
      background-size: 100% 100%;
      position: absolute;
      top: 0;
      left: 0;
      margin: 7.42188vw 0vw 0vw 6.71875vw;
      z-index: -1; }
      @media screen and (min-width: 1280px) {
        .tour__wrap:before {
          margin: 95px 0px 0px 86px; } }
  .tour__wrap-s01 {
    margin-bottom: 5.85938vw;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 1280px) {
      .tour__wrap-s01 {
        margin-bottom: 75px; } }
  .tour__wrap-s02 {
    margin-bottom: 7.03125vw;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    @media screen and (min-width: 1280px) {
      .tour__wrap-s02 {
        margin-bottom: 90px; } }
  .tour__wrap-s03 {
    margin-bottom: 5.85938vw;
    width: 100%;
    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-pack: left;
    -ms-flex-pack: left;
    justify-content: left; }
    @media screen and (min-width: 1280px) {
      .tour__wrap-s03 {
        margin-bottom: 75px; } }
  .tour__wrap-s04 {
    margin-bottom: 5.85938vw;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media screen and (min-width: 1280px) {
      .tour__wrap-s04 {
        margin-bottom: 75px; } }
  .tour__wrap-s05 {
    margin-bottom: 5.85938vw;
    width: 100%;
    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-pack: left;
    -ms-flex-pack: left;
    justify-content: left; }
    @media screen and (min-width: 1280px) {
      .tour__wrap-s05 {
        margin-bottom: 75px; } }
  .tour__wrap-s06 {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .tour__subttl01 {
    width: 21.97109vw;
    max-width: 281.23px;
    margin: 0vw 0vw 1.875vw 4.21875vw; }
    @media screen and (min-width: 1280px) {
      .tour__subttl01 {
        margin: 0px 0px 24px 54px; } }
  .tour__subttl03 {
    width: 24.65312vw;
    max-width: 315.56px;
    margin: 0vw 0vw 1.875vw 5vw; }
    @media screen and (min-width: 1280px) {
      .tour__subttl03 {
        margin: 0px 0px 24px 64px; } }
  .tour__subttl04 {
    width: 16.06328vw;
    max-width: 205.61px;
    margin: 8.75vw 0vw 1.875vw 35.9375vw; }
    @media screen and (min-width: 1280px) {
      .tour__subttl04 {
        margin: 112px 0px 24px 460px; } }
  .tour__subttl05 {
    width: 14.71094vw;
    max-width: 188.3px;
    margin: 11.64062vw 0vw 1.875vw 5vw; }
    @media screen and (min-width: 1280px) {
      .tour__subttl05 {
        margin: 149px 0px 24px 64px; } }
  .tour__subttl06 {
    width: 39.61016vw;
    max-width: 507.01px;
    margin: 8.59375vw 0vw 1.875vw 41.01562vw; }
    @media screen and (min-width: 1280px) {
      .tour__subttl06 {
        margin: 110px 0px 24px 525px; } }
  .tour__photo01 {
    width: 25.78125vw;
    max-width: 330px;
    margin-left: 7.34375vw; }
    @media screen and (min-width: 1280px) {
      .tour__photo01 {
        margin-left: 94px; } }
  .tour__photo02 {
    width: 31.25vw;
    max-width: 400px; }
  .tour__photo03 {
    width: 31.25vw;
    max-width: 400px;
    margin: -0.9375vw 0vw 0vw 3.125vw; }
    @media screen and (min-width: 1280px) {
      .tour__photo03 {
        margin: -12px 0px 0px 40px; } }
  .tour__photo04 {
    width: 32.5vw;
    max-width: 416px;
    margin: -8.75vw 0vw 0vw 0vw; }
    @media screen and (min-width: 1280px) {
      .tour__photo04 {
        margin: -112px 0px 0px 0px; } }
  .tour__photo05 {
    width: 35.15625vw;
    max-width: 450px;
    margin-top: -6.5625vw; }
    @media screen and (min-width: 1280px) {
      .tour__photo05 {
        margin-top: -84px; } }
  .tour__photo06 {
    width: 35.15625vw;
    max-width: 450px;
    margin: -8.59375vw 0vw 0vw 1.25vw; }
    @media screen and (min-width: 1280px) {
      .tour__photo06 {
        margin: -110px 0px 0px 16px; } }
  .tour__body01 {
    width: 44.53125vw;
    max-width: 570px;
    margin-left: 3.125vw; }
    @media screen and (min-width: 1280px) {
      .tour__body01 {
        margin-left: 40px; } }
  .tour__body03 {
    width: 41.40625vw;
    max-width: 530px;
    margin-left: 5vw; }
    @media screen and (min-width: 1280px) {
      .tour__body03 {
        margin-left: 64px; } }
  .tour__body04 {
    width: 46.25vw;
    max-width: 592px; }
  .tour__body05 {
    width: 39.0625vw;
    max-width: 500px;
    margin-left: 5vw; }
    @media screen and (min-width: 1280px) {
      .tour__body05 {
        margin-left: 64px; } }
  .tour__body06 {
    width: 40.9375vw;
    max-width: 524px; }
  @media screen and (max-width: 765px) {
    .tour__inner {
      margin-top: 0;
      padding: 10.17812vw 0 36.38677vw 0;
      background-image: url("../img/tour-bg-sp.svg"); }
      .tour__inner:after {
        height: 38.16794vw;
        background-image: url("../img/tour-bg-tree-sp.webp"); }
    .tour__ttl {
      width: 75.57252vw;
      margin-left: -37.78626vw;
      top: -15.26718vw; }
    .tour__wrap {
      width: 89.82188vw;
      border-radius: 2.54453vw;
      padding: 6.10687vw 0 6.10687vw 0; }
      .tour__wrap:before {
        display: none; }
    .tour__wrap-s01, .tour__wrap-s03, .tour__wrap-s04, .tour__wrap-s05 {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      margin-bottom: 10.17812vw; }
    .tour__wrap-s02 {
      margin-bottom: 10.17812vw; }
    .tour__wrap-s06 {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
    .tour__subttl01 {
      width: 50.89059vw;
      margin: 0 0 4.07125vw 4.07125vw; }
    .tour__subttl03 {
      width: 57.25191vw;
      margin: 0 0 4.07125vw 4.07125vw; }
    .tour__subttl04 {
      width: 36.89567vw;
      margin: 0 0 4.07125vw 4.07125vw; }
    .tour__subttl05 {
      width: 33.58779vw;
      margin: 0 0 4.07125vw 4.07125vw; }
    .tour__subttl06 {
      width: 65.3944vw;
      margin: 0 0 4.07125vw 4.07125vw; }
    .tour__photo01, .tour__photo03, .tour__photo04, .tour__photo05, .tour__photo06 {
      width: 84.73282vw;
      margin: 0 auto 6.10687vw auto; }
    .tour__photo02 {
      width: 84.73282vw;
      margin: 0 auto 0 auto; }
    .tour__body01, .tour__body03, .tour__body04, .tour__body05, .tour__body06 {
      width: 79.64377vw;
      margin: 0 auto 0 auto; } }

.details {
  position: relative;
  z-index: 3; }
  .details__ttl {
    width: 19.89219vw;
    max-width: 254.62px;
    margin-left: -9.94609vw;
    position: absolute;
    inset: -7.1875vw auto auto 50%;
    z-index: 3; }
    @media screen and (min-width: 1280px) {
      .details__ttl {
        margin-left: -127.31px; } }
    @media screen and (min-width: 1366px) {
      .details__ttl {
        top: -92px; } }
  .details__inner {
    padding: 6.25vw 0vw 6.25vw 0vw;
    background-color: #D5C7A3;
    position: relative;
    z-index: 3; }
    @media screen and (min-width: 1280px) {
      .details__inner {
        padding: 80px 0px 80px 0px; } }
  .details__list {
    width: 85.9375vw;
    max-width: 1100px;
    margin: 0vw auto 0vw auto; }
    @media screen and (min-width: 1280px) {
      .details__list {
        margin: 0px auto 0px auto; } }
  .details__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0.78125vw 0vw 0.78125vw 0vw;
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000; }
    @media screen and (min-width: 1280px) {
      .details__wrap {
        padding: 10px 0px 10px 0px; } }
    .details__wrap:nth-child(2n) {
      border-top: none;
      border-bottom: none; }
    .details__wrap:last-child {
      border-bottom: 1px solid #000000; }
  .details__ttl-s {
    width: 20.3125vw;
    max-width: 260px;
    padding: 1.95312vw 0.78125vw 1.95312vw 3.35938vw;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 700;
    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
    font-size: 1.5625vw;
    font-size: max(1.5625vw,10px);
    line-height: 1.7;
    position: relative; }
    @media screen and (min-width: 1280px) {
      .details__ttl-s {
        padding: 25px 10px 25px 43px; } }
    @media screen and (min-width: 1280px) {
      .details__ttl-s {
        font-size: 20px; } }
    .details__ttl-s:after {
      content: '';
      width: 1px;
      height: auto;
      background-color: #666666;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0; }
  .details__body {
    width: 64.76562vw;
    max-width: 829px;
    padding: 1.95312vw 0.78125vw 1.95312vw 3.35938vw;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 500;
    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
    font-size: 1.5625vw;
    font-size: max(1.5625vw,10px);
    line-height: 1.7; }
    @media screen and (min-width: 1280px) {
      .details__body {
        padding: 25px 10px 25px 43px; } }
    @media screen and (min-width: 1280px) {
      .details__body {
        font-size: 20px; } }
  .details__wrap-s {
    width: 64.76562vw;
    max-width: 829px;
    padding: 1.95312vw 0.78125vw 1.95312vw 3.35938vw; }
    @media screen and (min-width: 1280px) {
      .details__wrap-s {
        padding: 25px 10px 25px 43px; } }
  .details__body-dot {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 500;
    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
    font-size: 1.5625vw;
    font-size: max(1.5625vw,10px);
    line-height: 1.7;
    text-indent: 0.5em;
    position: relative; }
    @media screen and (min-width: 1280px) {
      .details__body-dot {
        font-size: 20px; } }
    .details__body-dot:before {
      content: '';
      display: inline-block;
      width: 0.70312vw;
      max-width: 9px;
      height: 0.70312vw;
      max-height: 9px;
      background-color: #000000;
      border-radius: 999px;
      position: absolute;
      top: 0;
      left: 0;
      margin: 1.17188vw 0vw 0vw -0.07812vw; }
      @media screen and (min-width: 1280px) {
        .details__body-dot:before {
          margin: 15px 0px 0px -1px; } }
  @media screen and (max-width: 765px) {
    .details {
      padding: 0 0 0 0; }
      .details__ttl {
        width: 39.94911vw;
        margin-left: -19.97455vw;
        top: -15.26718vw; }
      .details__inner {
        padding: 15.26718vw 0 15.26718vw 0; }
      .details__list {
        width: 89.82188vw; }
      .details__wrap {
        padding: 0 0 0 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; }
      .details__ttl-s {
        width: 100%;
        padding: 2.54453vw 2.54453vw 2.54453vw 2.54453vw;
        font-size: 4.58015vw;
        line-height: 1.888888889; }
        .details__ttl-s:after {
          width: 100%;
          height: 1px;
          top: auto;
          left: 0;
          margin: 0 0 0 0; }
      .details__body {
        width: 100%;
        padding: 6.10687vw 2.54453vw 6.10687vw 2.54453vw;
        font-size: 4.58015vw;
        line-height: 1.888888889; }
      .details__wrap-s {
        width: 100%;
        padding: 6.10687vw 2.54453vw 6.10687vw 2.54453vw; }
      .details__body-dot {
        font-size: 4.58015vw;
        line-height: 1.888888889; }
        .details__body-dot:before {
          width: 2.29008vw;
          height: 2.29008vw;
          margin: 3.81679vw 0 0 -0.25445vw; } }

.application__wrap {
  margin-bottom: 6.25vw;
  width: 100%;
  height: 8.78477306vw;
  background-image: url("../img/application-bg.webp");
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
  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; }
  @media screen and (min-width: 1280px) {
    .application__wrap {
      margin-bottom: 80px; } }

.application__ttl {
  width: 19.00547vw;
  max-width: 243.27px;
  margin-top: 1.098096633vw; }

.application__body {
  margin-bottom: 6.25vw;
  color: #ffffff;
  text-align: center;
  line-height: 1.888888889; }
  @media screen and (min-width: 1280px) {
    .application__body {
      margin-bottom: 80px; } }

@media screen and (max-width: 765px) {
  .application__wrap {
    height: 20.35623vw;
    margin-bottom: 21.6285vw;
    background-image: url("../img/application-bg-sp.webp"); }
  .application__ttl {
    width: 38.42239vw; }
  .application__body {
    font-size: 4.58015vw;
    margin-bottom: 16.28499vw; } }

.btn {
  display: block;
  width: 34.375vw;
  max-width: 440px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  font-size: 1.875vw;
  font-size: max(1.875vw,10px);
  text-align: center;
  padding: 2.65625vw 0.78125vw 2.65625vw 0.78125vw;
  border-radius: 3.90625vw;
  background-color: #FFB000;
  text-decoration: none;
  color: #000000;
  margin: 0vw auto 9.375vw auto; }
  @media screen and (min-width: 1280px) {
    .btn {
      font-size: 24px; } }
  @media screen and (min-width: 1280px) {
    .btn {
      padding: 34px 10px 34px 10px; } }
  @media screen and (min-width: 1366px) {
    .btn {
      border-radius: 50px; } }
  @media screen and (min-width: 1280px) {
    .btn {
      margin: 0px auto 120px auto; } }
  .btn:hover {
    opacity: .7; }
  @media screen and (max-width: 765px) {
    .btn {
      width: 71.24682vw;
      font-size: 5.08906vw;
      border-radius: 12.72265vw;
      padding: 4.83461vw 0 4.83461vw 0;
      margin-bottom: 20.35623vw; } }

.logo {
  display: block;
  width: 35.15625vw;
  max-width: 450px;
  margin: 0vw auto 2.34375vw auto; }
  @media screen and (min-width: 1280px) {
    .logo {
      margin: 0px auto 30px auto; } }
  @media screen and (max-width: 765px) {
    .logo {
      width: 79.64377vw;
      margin: 0 auto 3.81679vw auto; } }

.footer {
  padding: 2.96875vw 0vw 2.96875vw 0vw;
  background-color: #0A400D; }
  @media screen and (min-width: 1280px) {
    .footer {
      padding: 38px 0px 38px 0px; } }
  .footer__copy {
    font-size: 1.25vw;
    font-size: max(1.25vw,10px);
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
    color: #ffffff;
    text-align: center;
    display: block; }
    @media screen and (min-width: 1280px) {
      .footer__copy {
        font-size: 16px; } }
  @media screen and (max-width: 765px) {
    .footer {
      padding: 6.10687vw 0 6.10687vw 0; }
      .footer__copy {
        font-size: 3.05344vw; } }

.fade {
  opacity: 0;
  -webkit-transition: all 2000ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
  -o-transition: all 2000ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
  transition: all 2000ms cubic-bezier(0.04, 0.51, 0.155, 0.985); }
  .fade.in-view {
    opacity: 1; }
