@charset "UTF-8";
/* =====================================================
  1.0 - Foundation
===================================================== */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Instrument+Serif:ital@0;1&family=Shippori+Mincho&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Instrument+Serif:ital@0;1&family=Shippori+Mincho&display=swap");
/* ===============================================
  関数の登録
=============================================== */
/*
  数値から単位を取り除く
----------------------------------------------- */
/*
  px→remの計算
----------------------------------------------- */
/*
  px→vwの計算
----------------------------------------------- */
/*
  文字列からワードを検索して置換する
----------------------------------------------- */
/*
  @font-faceの設定
----------------------------------------------- */
/*
  object-fit
----------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Instrument+Serif:ital@0;1&family=Shippori+Mincho&display=swap");
/* ===============================================
  関数の登録
=============================================== */
/*
  数値から単位を取り除く
----------------------------------------------- */
/*
  px→remの計算
----------------------------------------------- */
/*
  px→vwの計算
----------------------------------------------- */
/*
  文字列からワードを検索して置換する
----------------------------------------------- */
/*
  @font-faceの設定
----------------------------------------------- */
/*
  object-fit
----------------------------------------------- */
/* =====================================================
  1.0 - Foundation
===================================================== */
/*
  Reset
-----------------------------------------------------*/
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

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

a {
  text-decoration: none;
}

address {
  font-style: normal;
}

img {
  max-width: 100%;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

svg {
  max-width: 100%;
  height: auto;
  fill: currentcolor;
  vertical-align: bottom;
}

input,
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: 0;
}

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

button {
  padding: 0;
  background: none;
  border: none;
}

/* =====================================================
  1.0 - Foundation
===================================================== */
/*
  Base
-----------------------------------------------------*/
html *,
html *:before,
html *:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

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

html {
  height: 100%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 0.6944444444vw;
}
@media screen and (max-width: 767px) {
  html {
    font-size: 1.3333333333vw;
  }
}

body {
  position: relative;
  height: 100%;
  height: 100vh;
  height: 100svh;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-size: 13px;
  font-family: AvenirLTPro-Heavy, FP-KoburinaGoStdN-W6, "avenir-lt-pro", "KoburinaGoStdN-W6", Hiragino Kaku Gothic ProN, Yu Gothic, yugothic, メイリオ, meiryo, sans-serif;
  color: #333333;
  text-rendering: optimizeLegibility;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
  background: #ffffff;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  background: #fff4d7;
}

[lang=en] {
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  letter-spacing: 0;
}

a {
  color: #333333;
}

.is-pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .is-pc {
    display: none;
  }
}

.is-tab {
  display: none;
}
@media screen and (max-width: 1024px) {
  .is-tab {
    display: block;
  }
}

.is-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .is-sp {
    display: block;
  }
}

/* =====================================================
  2.0 - Layout
===================================================== */
/* =====================================================
  1.0 - Foundation
===================================================== */
/*
----------------------------------------------- */
.l-wrapper {
  margin: 0 auto;
}
.l-wrapper--under {
  width: 80rem;
  padding: 18rem 0 16rem;
}
@media screen and (max-width: 767px) {
  .l-wrapper--under {
    width: 65rem;
    padding: 18rem 0 9rem;
  }
}
.l-wrapper--faq {
  width: 123rem;
  padding: 18rem 0 16rem;
}
@media screen and (max-width: 767px) {
  .l-wrapper--faq {
    width: 65rem;
    padding: 18rem 0 9rem;
  }
}

/* =====================================================
  1.0 - Foundation
===================================================== */
.l-header a {
  -webkit-transition: opacity 500ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 500ms cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
}
.l-header a:hover {
  opacity: 0.5;
}
.l-header__button {
  cursor: pointer;
  font-size: 3.2rem;
  font-family: "Instrument Serif", serif;
  letter-spacing: -0.02em;
  color: #ffe773;
  position: relative;
  position: fixed;
  right: 3rem;
  top: 1.6rem;
  z-index: 999;
  -webkit-transition: opacity 500ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 500ms cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
}
.l-header__button:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .l-header__button {
    font-size: 4rem;
    top: 2.9rem;
    right: 2.7rem;
  }
}
.l-header__button.green {
  color: #0d5b27;
}
.l-header__button.green::before {
  background-color: #0d5b27;
}
.l-header__button.yellow {
  color: #ffe773;
}
.l-header__button.yellow::before {
  background-color: #ffe773;
}
.l-header__button.close {
  color: #0d5b27 !important;
}
.l-header__button.close::before {
  background-color: #0d5b27 !important;
}
.l-header__button::before {
  width: 0.8rem;
  height: 0.8rem;
  position: absolute;
  content: "";
  background-color: #ffe773;
  border-radius: 50%;
  top: 1.5rem;
  left: -1.8rem;
}
@media screen and (max-width: 767px) {
  .l-header__button::before {
    width: 1.2rem;
    height: 1.2rem;
    top: 2rem;
    left: -2.2rem;
  }
}
.l-header__main {
  opacity: 0;
  pointer-events: none;
  position: fixed;
  height: 100vh;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 3;
  -webkit-transition: all 900ms cubic-bezier(0.48, 0.05, 0.125, 0.97);
  transition: all 900ms cubic-bezier(0.48, 0.05, 0.125, 0.97); /* custom */
}
.l-header__main .l-header__kv {
  overflow: hidden;
}
.l-header__main .menukv__area {
  opacity: 0;
  background: none;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition: all 1200ms cubic-bezier(0.48, 0.05, 0.125, 0.97);
  transition: all 1200ms cubic-bezier(0.48, 0.05, 0.125, 0.97); /* custom */
}
.l-header__main .l-header__content {
  -webkit-transform: translateX(10%);
          transform: translateX(10%);
  -webkit-transition: all 700ms cubic-bezier(0.48, 0.05, 0.125, 0.97);
  transition: all 700ms cubic-bezier(0.48, 0.05, 0.125, 0.97); /* custom */
}
@media screen and (max-width: 767px) {
  .l-header__main .l-header__content {
    -webkit-transform: translateY(5rem);
            transform: translateY(5rem);
  }
}
.l-header__main[data-menu-status=open] {
  opacity: 1;
  pointer-events: auto;
}
.l-header__main[data-menu-status=open] .menukv__area {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.l-header__main[data-menu-status=open] .l-header__content {
  -webkit-transform: none;
          transform: none;
}
@media screen and (max-width: 767px) {
  .l-header__main {
    overflow-x: hidden;
    overflow-y: auto;
  }
}
.l-header__deco {
  position: absolute;
  width: 4.5rem;
  top: 1rem;
  left: 1.6rem;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .l-header__deco {
    width: 8.1rem;
    top: 1.3rem;
    left: 1.3rem;
  }
}
.l-header__body {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .l-header__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: auto;
  }
}
.l-header__content {
  position: relative;
  z-index: 2;
  width: 98.4rem;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .l-header__content {
    width: 100%;
  }
}
.l-header__content-inner {
  width: 84.756097561%;
  margin: 0 0 0 11.7rem;
}
@media screen and (max-width: 767px) {
  .l-header__content-inner {
    margin: 17.6rem auto 0;
    width: 60.3rem;
  }
}
.l-header__kv {
  width: 45.6rem;
  height: 100vh;
  z-index: 2;
  position: relative;
  min-width: 320px;
}
@media screen and (max-width: 767px) {
  .l-header__kv {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    height: 59.6rem;
    min-width: 100%;
  }
}
.l-header__bg {
  background: #ffe773;
  z-index: 2;
  height: 100vh;
  width: 100%;
  position: fixed;
}
.l-header__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3.5rem 5rem;
  width: 57.6rem;
}
@media (min-width: 177.7777777778vh) {
  .l-header__nav-list {
    gap: 1.5rem 5rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header__nav-list {
    gap: 6rem 0;
    gap: 6rem 4rem;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    width: 100%;
  }
}
.l-header__nav-list li {
  font-size: 2.5rem;
  font-family: "Cormorant Garamond", serif;
  font-weight: bold;
  letter-spacing: -0.02em;
  line-height: 100%;
  width: 26.3rem;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .l-header__nav-list li {
    font-size: 3.6rem;
    width: 25.3rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header__nav-list li.max {
    width: 100%;
  }
}
.l-header__nav-list li.nowrap {
  white-space: nowrap;
}
.l-header__nav-list li a {
  color: #0d5b27;
}
.l-header__nav-list li span {
  display: block;
  font-family: AvenirLTPro-Heavy, FP-KoburinaGoStdN-W6, "avenir-lt-pro", "KoburinaGoStdN-W6", Hiragino Kaku Gothic ProN, Yu Gothic, yugothic, メイリオ, meiryo, sans-serif;
  font-size: 1.2rem;
  line-height: 100%;
  margin-top: 0.4rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .l-header__nav-list li span {
    font-size: 2rem;
    margin-top: 1.2rem;
  }
}
.l-header__foot {
  border-top: 1px solid #0d5b27;
  margin-top: 12.8rem;
}
@media (min-width: 177.7777777778vh) {
  .l-header__foot {
    margin-top: 3.8rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header__foot {
    margin-top: 11.1rem;
  }
}
.l-header__foot-inner {
  padding-top: 1.9rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .l-header__foot-inner {
    padding-top: 6.6rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.l-header__foot-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.6rem;
}
@media screen and (max-width: 767px) {
  .l-header__foot-nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.5rem;
  }
}
.l-header__foot-nav li {
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  line-height: 100%;
}
@media screen and (max-width: 767px) {
  .l-header__foot-nav li {
    font-size: 2.4rem;
  }
}
.l-header__foot-nav li a {
  color: #0d5b27;
}
.l-header__foot-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .l-header__foot-sns {
    gap: 3.7rem;
    margin-top: 6.5rem;
  }
}
.l-header__foot-sns li svg {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}
.l-header__foot-sns li:first-child {
  width: 2.1rem;
}
@media screen and (max-width: 767px) {
  .l-header__foot-sns li:first-child {
    width: 3.2rem;
    width: 3.52rem;
  }
}
.l-header__foot-sns li:last-child {
  width: 1.96rem;
}
@media screen and (max-width: 767px) {
  .l-header__foot-sns li:last-child {
    width: 3rem;
    width: 3.3rem;
  }
}
.l-header__foot-logo {
  width: 47.2rem;
  margin: 10.2rem auto 7.3rem;
}
@media screen and (max-width: 767px) {
  .l-header__foot-logo {
    display: block;
  }
}

/* =====================================================
  1.0 - Foundation
===================================================== */
/* =====================================================
  3.0 - Object
===================================================== */
/*
  3.1 - Component
-----------------------------------------------------*/
/* =====================================================
  1.0 - Foundation
===================================================== */
/* =====================================================
  1.0 - Foundation
===================================================== */
.c-terms-item + .c-terms-item {
  margin-top: 4.5rem;
}
@media screen and (max-width: 767px) {
  .c-terms-item + .c-terms-item {
    margin-top: 8rem;
  }
}
.c-terms-item__head {
  font-size: 1.6rem;
  font-family: "Shippori Mincho", serif;
  line-height: 160%;
  border-bottom: 1px solid #333333;
  padding-bottom: 1.5rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-terms-item__head {
    font-size: 2.8rem;
    padding-bottom: 2.5rem;
  }
}
.c-terms-item__text {
  font-size: 1.4rem;
  padding-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-terms-item__text {
    font-size: 2.4rem;
    padding-top: 4rem;
  }
}
.c-terms-item__text + .c-terms-item__list {
  margin-left: 2rem;
}
.c-terms-item__text--border {
  border-top: 1px solid #333333;
}
.c-terms-item__list {
  padding-top: 2.5rem;
  counter-reset: list-counter;
}
@media screen and (max-width: 767px) {
  .c-terms-item__list {
    padding-top: 4rem;
  }
}
.c-terms-item__list li {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 160%;
  counter-increment: list-counter;
  list-style: none;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
@media screen and (max-width: 767px) {
  .c-terms-item__list li {
    font-size: 2.4rem;
  }
}
.c-terms-item__list li::before {
  content: counter(list-counter) ". ";
  font-weight: bold;
  margin-right: 0.5rem;
}
.c-terms-item__list li + li {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-terms-item__list li + li {
    margin-top: 2.5rem;
  }
}
.c-terms-item__list--point li::before {
  content: "・";
}

/* =====================================================
  1.0 - Foundation
===================================================== */
.c-faq-item {
  font-size: 1.8rem;
  border-bottom: 1px solid #333333;
}
@media screen and (max-width: 767px) {
  .c-faq-item {
    font-size: 2.8rem;
  }
}
.c-faq-item__head {
  position: relative;
  cursor: pointer;
  padding: 2.7rem 0 2.6rem;
}
@media screen and (max-width: 767px) {
  .c-faq-item__head {
    padding: 4.7rem 0 4.6rem;
  }
}
.c-faq-item__title {
  margin-left: 4.7rem;
  line-height: 160%;
  width: 88%;
  position: relative;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-faq-item__title {
    margin-left: 5rem;
  }
}
.c-faq-item__title::before {
  content: "Q";
  position: absolute;
  top: 0;
  left: -6%;
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 90%;
}
@media screen and (max-width: 767px) {
  .c-faq-item__title::before {
    font-size: 3.6rem;
    left: -9%;
    line-height: 105%;
  }
}
.c-faq-item__button {
  position: absolute;
  width: 2.1rem;
  height: 2.1rem;
  top: 61%;
  left: auto;
  right: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .c-faq-item__button {
    width: 3rem;
    top: 56%;
    right: -2%;
  }
}
.c-faq-item__button::before, .c-faq-item__button::after {
  position: absolute;
  content: "";
  height: 1px;
  width: 100%;
  content: "";
  background: #333333;
}
.c-faq-item__button::before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.c-faq-item__button.active::before {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.c-faq-item__main {
  overflow: hidden;
  max-height: 0;
  -webkit-transition: max-height 0.5s ease;
  transition: max-height 0.5s ease;
}
.c-faq-item__main-text {
  position: relative;
  margin-left: 4.7rem;
  padding-bottom: 2.8rem;
  width: 88%;
  color: #0d5b27;
}
@media screen and (max-width: 767px) {
  .c-faq-item__main-text {
    margin-left: 5rem;
    padding-bottom: 4.7rem;
  }
}
.c-faq-item__main-text::before {
  content: "A";
  position: absolute;
  top: 0px;
  left: -6%;
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 120%;
}
@media screen and (max-width: 767px) {
  .c-faq-item__main-text::before {
    font-size: 3.6rem;
    left: -9%;
    line-height: 135%;
  }
}
.c-faq-item__main-text p + p {
  margin-top: 1.5rem;
}

.p-top-faq__list .c-faq-item {
  color: #0d5b27;
}
.p-top-faq__list .c-faq-item:first-child {
  border-color: #0d5b27;
}
.p-top-faq__list .c-faq-item__button::before, .p-top-faq__list .c-faq-item__button::after {
  background: #0d5b27;
}

/* =====================================================
  1.0 - Foundation
===================================================== */
.c-title {
  text-align: center;
  color: #0d5b27;
}
.c-title--yellow {
  color: #ffe773;
}
.c-title--white {
  color: #fff;
}
.c-title h1 {
  font-family: "Cormorant Garamond", serif;
  font-size: 9rem;
  letter-spacing: -0.03em;
  line-height: 100%;
}
@media screen and (max-width: 767px) {
  .c-title h1 {
    font-size: 11rem;
  }
}
.c-title p {
  font-size: 2.4rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-top: 1.2rem;
  line-height: 100%;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .c-title p {
    font-size: 4rem;
    margin-top: 2.5rem;
  }
}
.c-title--small h1 {
  font-size: 10rem;
}
.c-title--under {
  padding-bottom: 29rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-title--under {
    padding-bottom: 34.3rem;
  }
}
.c-title--under::before {
  content: "";
  position: absolute;
  top: 65%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
  width: 19.7rem;
  height: 1px;
  background: #333333;
}
@media screen and (max-width: 767px) {
  .c-title--under::before {
    width: 23.5rem;
  }
}
.c-title--under h1 {
  font-size: 9rem;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .c-title--under h1 {
    font-size: 10rem;
    letter-spacing: -0.03em;
  }
}
.c-title--under p {
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .c-title--under p {
    font-size: 4rem;
  }
}

.pages .c-title--under {
  color: #000;
}
.pages .c-title--under h1 {
  width: 100%;
  font-size: 7rem;
}
.pages .c-title--under p {
  font-size: 2.4rem;
  margin-top: 1.3rem;
}
@media screen and (max-width: 767px) {
  .pages .c-title--under p {
    font-size: 3.2rem;
    margin-top: 3.3rem;
  }
}

/* =====================================================
  1.0 - Foundation
===================================================== */
.c-slider__arrows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 1.2rem;
  margin-left: auto;
  position: relative;
  left: -10rem;
  margin-top: 4.3rem;
}
@media screen and (max-width: 767px) {
  .c-slider__arrows {
    margin-top: 6rem;
    gap: 2.2rem;
    left: -5rem;
  }
}
.c-slider__arrows-button {
  width: 5rem;
}
@media screen and (max-width: 767px) {
  .c-slider__arrows-button {
    width: 9.1rem;
  }
}

.c-slider02__arrows svg circle,
.c-slider03__arrows svg circle {
  stroke: #0d5b27;
}
.c-slider02__arrows svg path,
.c-slider03__arrows svg path {
  stroke: #0d5b27;
}

@media screen and (max-width: 767px) {
  .c-slider03__arrows {
    margin-top: 13.3rem;
  }
}

.c-slider__arrows-button {
  -webkit-transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
}
@media screen and (min-width: 768px) {
  .c-slider__arrows-button:hover {
    -webkit-transform: scale(1.08);
            transform: scale(1.08);
  }
  .c-slider__arrows-button:active {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

/* =====================================================
  1.0 - Foundation
===================================================== */
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
.kv__area {
  width: 100%;
  height: 62vw;
  max-height: 100vh;
  max-height: 100svh;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .kv__area {
    height: 177vw;
  }
}
.kv__area__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
  width: 30vw;
  height: auto;
  display: block;
  -webkit-filter: drop-shadow(0 0 10px rgb(0, 0, 0));
          filter: drop-shadow(0 0 10px rgb(0, 0, 0));
  -webkit-filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.5));
          filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.5));
}
@media screen and (max-width: 767px) {
  .kv__area__logo {
    width: 72vw;
    top: auto;
    bottom: 12vw;
    bottom: 17vw;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
.kv__area__wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 480vw;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: kv__wrapmove 60s -20s linear infinite;
          animation: kv__wrapmove 60s -20s linear infinite;
}
@media screen and (max-width: 767px) {
  .kv__area__wrap {
    width: 900vw;
    width: 800vw;
    -webkit-animation: kv__wrapmove 45s -15s linear infinite;
            animation: kv__wrapmove 45s -15s linear infinite;
  }
}
.kv__area__in {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.kv__area__in div {
  width: 100%;
  height: 100%;
  margin: 0 -1px;
  background-size: 100% auto;
  background-position: center 27%;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .kv__area__in div {
    background-position: center 55%;
  }
}

@-webkit-keyframes kv__wrapmove {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes kv__wrapmove {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.kv__1 {
  background-image: url(../image/kv/fkv_1.jpg);
}
.kv__2 {
  background-image: url(../image/kv/fkv_2.jpg);
}
.kv__3 {
  background-image: url(../image/kv/fkv_3.jpg);
}

@media screen and (max-width: 767px) {
  .kv__1 {
    background-image: url(../image/kv/fkv_1_sp.jpg);
  }
  .kv__2 {
    background-image: url(../image/kv/fkv_2_sp.jpg);
  }
  .kv__3 {
    background-image: url(../image/kv/fkv_3_sp.jpg);
  }
}
/*test*/
.test__area {
  width: 100%;
  height: 100vh;
  background-color: #333;
}

.foot__area {
  position: relative;
  width: 100%;
  height: 100vh;
  background-color: #333;
}

.kv__headline {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 0.6vw;
  background-color: #ffe773;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .kv__headline {
    height: 1.2vw;
  }
}

.menukv__area {
  position: relative;
  overflow: hidden;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .menukv__area {
    width: 100%;
    height: 100%;
  }
  .menukv__area .kv__area__wrap {
    width: 700vh;
  }
}
@media screen and (max-width: 767px) {
  .menukv__area {
    width: 100%;
    height: 80vw;
  }
  .menukv__area .kv__area__wrap {
    width: 600vw;
  }
  .menukv__area .kv__area__wrap .kv__div {
    background-position: center 30%;
  }
}

.menukv__area__logo {
  position: absolute;
  bottom: 5vh;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 100;
  width: 70%;
  height: auto;
}

/* =====================================================
  1.0 - Foundation
===================================================== */
.en_title {
  -webkit-transition: all 1500ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 1500ms cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
}
.en_title[observer=true] {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.en_title[observer=false] {
  opacity: 0;
  -webkit-transform: translateY(30%);
          transform: translateY(30%);
}

.ja_title {
  -webkit-transition: all 1500ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 1500ms cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
}
.ja_title[observer=true] {
  opacity: 1;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.ja_title[observer=false] {
  opacity: 0;
}

.observer_opacity {
  opacity: 0;
  -webkit-transition: all 1500ms 0.2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 1500ms 0.2s cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
}
.observer_opacity[observer=true] {
  opacity: 1;
}

.observer_line {
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transition: all 1500ms 0.2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 1500ms 0.2s cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
}
.observer_line[observer=true] {
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
}

.sun__anime {
  -webkit-animation: sun 3s ease-in-out infinite alternate;
          animation: sun 3s ease-in-out infinite alternate;
}

@-webkit-keyframes sun {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(16deg);
            transform: rotate(16deg);
  }
}

@keyframes sun {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(16deg);
            transform: rotate(16deg);
  }
}
.sun__anime__left {
  -webkit-animation: sun__left 3s ease-in-out infinite alternate;
          animation: sun__left 3s ease-in-out infinite alternate;
}

@-webkit-keyframes sun__left {
  0% {
    -webkit-transform: translateX(-50%) rotate(0deg);
            transform: translateX(-50%) rotate(0deg);
  }
  100% {
    -webkit-transform: translateX(-50%) rotate(16deg);
            transform: translateX(-50%) rotate(16deg);
  }
}

@keyframes sun__left {
  0% {
    -webkit-transform: translateX(-50%) rotate(0deg);
            transform: translateX(-50%) rotate(0deg);
  }
  100% {
    -webkit-transform: translateX(-50%) rotate(16deg);
            transform: translateX(-50%) rotate(16deg);
  }
}
.hover__scale {
  -webkit-transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
}
.hover__scale:hover {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}

.hover__opacity {
  -webkit-transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
}
.hover__opacity:hover {
  opacity: 0.8;
}

/* =====================================================
  1.0 - Foundation
===================================================== */
.c-tablepage {
  border-top: 1px solid rgba(0, 0, 0, 0.5);
}
.c-tablepage__set {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  width: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  padding: 2.5rem 0;
  font-size: 1.7rem;
}
@media screen and (max-width: 767px) {
  .c-tablepage__set {
    font-size: 2rem;
    display: block;
  }
}
.c-tablepage__set__title {
  width: 35%;
  color: #0d5b27;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-right: 2rem;
}
@media screen and (max-width: 767px) {
  .c-tablepage__set__title {
    width: 100%;
    padding: 0 0 1rem;
  }
}
.c-tablepage__set__text {
  width: 65%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .c-tablepage__set__text {
    width: 100%;
  }
}
.c-tablepage__set ul {
  padding-left: 1em;
}
.c-tablepage__set li {
  list-style: disc;
  margin-bottom: 0.5em;
}

/* =====================================================
  1.0 - Foundation
===================================================== */
.popup__area {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  -webkit-transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
}
.popup__close__button {
  position: absolute;
  top: 2.1rem;
  right: 2.1rem;
  width: 4.2rem;
  height: 4.2rem;
  border-radius: 50%;
  background: #0d5b27;
  cursor: pointer;
  z-index: 10;
  -webkit-transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
}
.popup__close__button::before, .popup__close__button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.4rem;
  height: 0.2rem;
  background: #fff4d7;
  border-radius: 1rem;
}
.popup__close__button::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.popup__close__button::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.popup__close__button:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.popup__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.popup__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: auto;
}
@media screen and (max-width: 767px) {
  .popup__content {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.popup__content__box {
  z-index: 10;
  overflow-y: auto;
  padding: 0;
  max-height: 100%;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.popup__content__box:before, .popup__content__box:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
}
.popup__content__box:before {
  margin-bottom: 5rem;
}
.popup__content__box:after {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .popup__content__box:before {
    margin-bottom: 15rem;
  }
  .popup__content__box:after {
    margin-top: 15rem;
  }
}
@media screen and (max-width: 767px) {
  .popup__content__box_old {
    height: 100vh;
    overflow-y: auto;
  }
}
@media screen and (max-width: 767px) {
  .popup__content__box_old--01 {
    padding-top: 3rem;
    margin-top: -3rem;
  }
}
@media screen and (max-width: 767px) {
  .popup__content__box_old--02 {
    height: 108.1rem;
  }
}

[data-popup=close] .popup__area {
  opacity: 0;
  pointer-events: none;
}

[data-popup-content] {
  display: none;
}

[data-popup="1"] [data-popup-content="1"],
[data-popup="2"] [data-popup-content="2"],
[data-popup="3"] [data-popup-content="3"] {
  display: block;
}

[data-popup="1"],
[data-popup="2"],
[data-popup="3"] {
  overflow: hidden;
}

.popup-item {
  background: #fff4d7;
  border-radius: 2rem;
  width: 100rem;
  margin: 0 auto;
  z-index: 20;
  position: relative;
}
@media screen and (max-width: 767px) {
  .popup-item {
    border-radius: 1.5rem;
    width: 67.6rem;
  }
}

.popup-01 {
  padding: 3.4rem 0 2.2rem;
}
@media screen and (max-width: 767px) {
  .popup-01 {
    padding: 8.4rem 0 2.7rem;
  }
}
.popup-01__head {
  text-align: center;
  color: #0d5b27;
  position: relative;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin: 0 auto;
}
.popup-01__head-text {
  font-size: 2.3rem;
  letter-spacing: 0.05em;
  line-height: 150%;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .popup-01__head-text {
    font-size: 3.6rem;
    margin-bottom: 2.6rem;
  }
}
.popup-01__head-logo {
  width: 15.8rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .popup-01__head-logo {
    width: 27.6rem;
  }
}
.popup-01__head-deco {
  width: 9rem;
  position: absolute;
  right: -6rem;
  top: -5rem;
}
@media screen and (max-width: 767px) {
  .popup-01__head-deco {
    width: 20.4rem;
    right: -14rem;
    top: -12rem;
  }
}
.popup-01__title {
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  line-height: 150%;
  margin-top: 2.7rem;
  color: #0d5b27;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .popup-01__title {
    font-size: 3.2rem;
    margin-top: 5.9rem;
  }
}
.popup-01__list {
  width: 92.7rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.2rem 0.95rem;
  margin-top: 1.7rem;
}
@media screen and (max-width: 767px) {
  .popup-01__list {
    gap: 1.8rem;
    width: 59.6rem;
    margin-top: 1.8rem;
  }
}
.popup-01__item {
  width: 14.45rem;
  border-radius: 2rem;
  overflow: hidden;
  -webkit-transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
}
@media screen and (max-width: 767px) {
  .popup-01__item {
    width: 28.9rem;
  }
}
@media screen and (min-width: 768px) {
  .popup-01__item:hover {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.popup-01__item-foot {
  padding: 0.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #ff7b37;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .popup-01__item-foot {
    padding: 1.4rem;
  }
}
.popup-01__item-foot img {
  width: 2.2rem;
}
@media screen and (max-width: 767px) {
  .popup-01__item-foot img {
    width: 4.4rem;
  }
}
.popup-01__item-title {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 120%;
  color: #fff;
  width: 11.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .popup-01__item-title {
    font-size: 2.8rem;
    width: 22.9rem;
  }
}
.popup-01__notes {
  font-size: 1.3rem;
  text-align: center;
  margin-top: 1rem;
  line-height: 140%;
  color: #0d5b27;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .popup-01__notes {
    margin: 0 auto;
    font-size: 2rem;
    margin-top: 2.7rem;
  }
}

.popup-02 {
  padding: 5.8rem 7.7rem 5.8rem 6.5rem;
}
@media screen and (max-width: 767px) {
  .popup-02 {
    padding: 3.9rem 3.9rem 6.6rem;
  }
}
.popup-02__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .popup-02__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.popup-02__thumbnail {
  width: 29.9rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .popup-02__thumbnail {
    width: 100%;
  }
}
.popup-02__detail {
  width: 47.4rem;
  text-align: center;
  color: #0d5b27;
}
.popup-02__detail-name {
  font-family: "Cormorant Garamond", serif;
  font-size: 7rem;
  letter-spacing: -0.02em;
  line-height: 80%;
}
@media screen and (max-width: 767px) {
  .popup-02__detail-name {
    font-size: 7.5rem;
    margin-top: 3.9rem;
  }
}
.popup-02__detail-text {
  font-size: 1.5rem;
  letter-spacing: 0.15em;
  line-height: 160%;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .popup-02__detail-text {
    margin-top: 3.4rem;
    font-size: 2.2rem;
  }
}

.popup-03__head {
  padding: 2.9rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: left;
  border-bottom: 0.14rem solid #0d5b27;
  color: #0d5b27;
}
@media screen and (max-width: 767px) {
  .popup-03__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
    padding: 4.4rem 0 3.8rem;
  }
}
.popup-03__head-title {
  font-size: 3.2rem;
  letter-spacing: 0.05em;
  margin-right: 4.8rem;
}
@media screen and (max-width: 767px) {
  .popup-03__head-title {
    margin-right: 0;
    font-size: 3.6rem;
    line-height: 100%;
  }
}
.popup-03__head-text {
  font-size: 1.7rem;
  line-height: 200%;
  line-height: 160%;
}
@media screen and (max-width: 767px) {
  .popup-03__head-text {
    font-size: 2.3rem;
    line-height: 200%;
    margin-top: 1.7rem;
  }
}
.popup-03__detail {
  width: 92rem;
  margin: 0 auto;
  padding: 4.5rem 0;
}
@media screen and (max-width: 767px) {
  .popup-03__detail {
    width: 100%;
    padding: 4.4rem 3rem 5.1rem;
  }
}

/*
  3.2 - Project
-----------------------------------------------------*/
/* =====================================================
  1.0 - Foundation
===================================================== */
.p-terms {
  width: 100%;
  background-color: #fff4d7;
}
.p-terms a {
  text-decoration: underline;
}
.p-terms__head {
  font-size: 1.4rem;
  line-height: 160%;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-terms__head {
    font-size: 2.4rem;
  }
}
.p-terms__list {
  margin-top: 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-terms__list {
    margin-top: 11.4rem;
  }
}

/* =====================================================
  1.0 - Foundation
===================================================== */
.p-faq__tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: 100%;
  border-bottom: 2px solid #0d5b27;
}
.p-faq__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: -5rem;
}
@media screen and (max-width: 767px) {
  .p-faq__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 0;
  }
}
.p-faq__head {
  width: 34rem;
  position: sticky;
  top: 0;
  left: 0;
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-faq__head {
    width: 100%;
    padding-top: 0;
    position: static;
    margin-bottom: 4.5rem;
  }
}
.p-faq__search {
  margin-bottom: 5.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-faq__search {
    width: 72.46%;
    margin: 0 auto 5.4rem;
  }
}
.p-faq__search input {
  font-size: 1.6rem;
  border: none;
  height: 3.8rem;
  width: 80%;
  border-radius: 100rem 0 0 100rem;
  padding: 2rem;
}
@media screen and (max-width: 767px) {
  .p-faq__search input {
    font-size: 2.2rem;
    height: 5.3rem;
  }
}
.p-faq__search button {
  background: #0d5b27;
  width: 20%;
  color: #fff;
  border-radius: 0 100rem 100rem 0;
  letter-spacing: 0.1em;
  font-weight: 600;
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .p-faq__search button {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-faq__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0.8rem 0;
  }
}
.p-faq__button {
  background: #e3edc5;
  text-align: center;
  font-size: 2rem;
  border-radius: 1.5rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-faq__button {
    width: 49.5%;
    font-size: 2.2rem;
  }
}
.p-faq__button a {
  color: #0d5b27;
  display: block;
  padding: 1.35rem 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-faq__button a {
    padding: 2.67rem 0;
  }
}
.p-faq__button:hover {
  background: #0d5b27;
}
.p-faq__button:hover a {
  color: #e3edc5;
}
.p-faq__button + .p-faq__button {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-faq__button + .p-faq__button {
    margin-top: 0;
  }
}
.p-faq__main {
  width: 80rem;
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-faq__main {
    width: 100%;
  }
}
.p-faq__sec-title {
  font-size: 2.4rem;
  color: #0d5b27;
  line-height: 160%;
  padding-top: 5rem;
  margin-top: -5rem;
}
@media screen and (max-width: 767px) {
  .p-faq__sec-title {
    font-size: 4.2rem;
  }
}
.p-faq__list {
  border-top: 1px solid #333333;
  margin-top: 3.1rem;
}
@media screen and (max-width: 767px) {
  .p-faq__list {
    margin-top: 8rem;
  }
}
.p-faq__list + .p-faq__sec-title {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .p-faq__list + .p-faq__sec-title {
    margin-top: 6.5rem;
  }
}

.c-faq-item__note {
  font-size: 0.9em;
  color: #555;
}

.c-faq-item {
  -webkit-transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
  max-height: 200rem;
  overflow: auto;
}

.c-faq-item_hit {
  background: #f0f0f0;
}

.c-faq-item_not {
  opacity: 0.3;
  background: #fff;
  max-height: 0;
  border-width: 0;
}

.c-faq-item__bold {
  font-size: 1.1em;
  color: #075a22;
}

.c-faq-item__mid {
  font-size: 0.9em;
  opacity: 0.9;
}

.c-faq-item a {
  text-decoration: underline;
  color: inherit;
}

/* =====================================================
  1.0 - Foundation
===================================================== */
.p-supporters {
  background: #0d5b27;
  padding: 9rem 0;
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-supporters {
    padding: 21.5rem 0 18rem;
  }
}
.p-supporters__team {
  padding-bottom: 35.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-supporters__team {
    padding-bottom: 44.9rem;
  }
}
.p-supporters__team__line {
  content: "";
  height: 18rem;
  width: 1px;
  background: #fff4d7;
  position: absolute;
  top: auto;
  bottom: 9rem;
  left: 50%;
}
@media screen and (max-width: 767px) {
  .p-supporters__team__line {
    height: 23.5rem;
    bottom: 10rem;
  }
}
.p-supporters__team-lead {
  text-align: center;
  line-height: 200%;
  color: #fff4d7;
  font-size: 2rem;
  letter-spacing: 0.15em;
  margin-top: 9rem;
}
@media screen and (max-width: 767px) {
  .p-supporters__team-lead {
    font-size: 3.2rem;
    margin-top: 11.4rem;
  }
}
.p-supporters__team-list {
  width: 70.8333333333%;
  margin: 9rem auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.5rem 2.1rem;
}
@media screen and (max-width: 767px) {
  .p-supporters__team-list {
    width: 86.4%;
    gap: 1.6rem;
    margin: 11.1rem auto 0;
  }
}
.p-supporters__popular-slider {
  margin-top: 9rem;
  padding-left: 9rem;
}
@media screen and (max-width: 767px) {
  .p-supporters__popular-slider {
    margin-top: 11.5rem;
    padding-left: 5.1rem;
  }
}

.p-supporters-item {
  background: #fff4d7;
  width: 23.431372549%;
  border-radius: 1rem;
  color: #0d5b27;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-supporters-item {
    width: 48.7654320988%;
  }
}
.p-supporters-item__head {
  text-align: center;
  line-height: 120%;
  font-size: 1.8rem;
  padding: 1.4rem 0 1.2rem;
  border-bottom: 1px solid #0d5b27;
}
@media screen and (max-width: 767px) {
  .p-supporters-item__head {
    font-size: 2.8rem;
  }
}
.p-supporters-item__lead {
  text-align: center;
  font-size: 1.5rem;
  line-height: 145%;
}
@media screen and (max-width: 767px) {
  .p-supporters-item__lead {
    font-size: 2.4rem;
  }
}
.p-supporters-item__detail {
  padding: 1.4rem 1.6rem 1.3rem;
}
@media screen and (max-width: 767px) {
  .p-supporters-item__detail {
    padding: 2rem 2.1rem 1.1rem;
  }
}
.p-supporters-item__list {
  margin-top: 1.4rem;
}
.p-supporters-item__list li {
  font-size: 1.4rem;
  position: relative;
  line-height: 170%;
}
@media screen and (max-width: 767px) {
  .p-supporters-item__list li {
    font-size: 2rem;
  }
}
.p-supporters-item__list li::before {
  content: "・";
}
.p-supporters-item__etc {
  font-size: 1.4rem;
  line-height: 170%;
  text-align: right;
  margin-top: 1.1rem;
}
@media screen and (max-width: 767px) {
  .p-supporters-item__etc {
    font-size: 1.8rem;
  }
}

.p-popular-list__item {
  background: #fff4d7;
  border-radius: 1.5rem;
  width: 53.7rem;
  padding: 3rem 3.1rem 3.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.p-popular-list__item:last-child {
  margin-right: 0 !important;
}
.p-popular-list__item-head {
  font-size: 2rem;
  text-align: center;
  line-height: 150%;
  color: #0d5b27;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-popular-list__item-head {
    font-size: 3.2rem;
  }
}
.p-popular-list__item-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0.05em;
  margin-top: 2rem;
  color: #0d5b27;
}
@media screen and (max-width: 767px) {
  .p-popular-list__item-detail {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.p-popular-list__item-detail figure {
  width: 18.3rem;
  margin-right: 3.1rem;
}
@media screen and (max-width: 767px) {
  .p-popular-list__item-detail figure {
    width: 25.8rem;
    margin-right: 4rem;
  }
}
.p-popular-list__item-detail p {
  font-size: 1.6rem;
  line-height: 155%;
}
@media screen and (max-width: 767px) {
  .p-popular-list__item-detail p {
    font-size: 2.4rem;
  }
}

:root {
  --swiper-space-between: 3rem;
  --swiper-space-between-02: 6.2rem;
  --swiper-space-between-03: 4.3rem;
}
@media screen and (max-width: 767px) {
  :root {
    --swiper-space-between: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --swiper-space-between-02: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --swiper-space-between-03: 5.5rem;
  }
}

.p-will {
  background: #fff4d7;
  padding: 9rem 0;
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-will {
    padding: 21.5rem 0 18rem;
  }
}
.p-will img {
  mix-blend-mode: multiply;
}
.p-will__slide {
  margin-top: 6.7rem;
  padding-left: 9rem;
}
@media screen and (max-width: 767px) {
  .p-will__slide {
    padding-left: 4.1rem;
  }
}
.p-will__slide-item {
  position: relative;
}
.p-will__slide-item figure {
  background: #fff4d7;
}
.p-will__slide-item div {
  position: absolute;
  right: 0;
  bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .p-will__slide-item div {
    bottom: 6rem;
  }
}
.p-will__slide-item div p {
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  color: #fff4d7;
  line-height: 100%;
}
@media screen and (max-width: 767px) {
  .p-will__slide-item div p {
    font-size: 2.8rem;
  }
}
.p-will__slide-item div p span {
  background: #0d5b27;
  padding: 1rem 1.3rem 1.2rem;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.p-will__slide-item div p + p {
  margin-top: 3.3rem;
}
@media screen and (max-width: 767px) {
  .p-will__slide-item div p + p {
    margin-top: 3.5rem;
  }
}

.p-points {
  background: #0d5b27;
  padding: 11.2rem 0 12.1rem;
}
@media screen and (max-width: 767px) {
  .p-points {
    padding: 18rem 0 25.2rem;
  }
}

.p-point {
  width: 102.6rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-point {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 65rem;
    gap: 5rem;
  }
}
.p-point__item {
  width: 48.0506822612%;
  border: 1px solid #fff;
  border-radius: 0.8rem;
  text-align: center;
  padding: 3.9rem 0 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-point__item {
    width: 100%;
    padding: 5rem 0 6.7rem;
  }
}
.p-point__item-head {
  padding-bottom: 5.4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-point__item-head {
    padding-bottom: 7rem;
  }
}
.p-point__item-head::before {
  height: 1px;
  width: 6.8rem;
  position: absolute;
  content: "";
  background: #fff;
  top: 82%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .p-point__item-head::before {
    width: 11.1rem;
    top: 87%;
  }
}
.p-point__item-head dt {
  font-family: "Shippori Mincho", serif;
  color: #ffe773;
  font-size: 1.8rem;
  letter-spacing: -0.02em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 80%;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .p-point__item-head dt {
    font-size: 3.6rem;
  }
}
.p-point__item-head dd {
  font-family: "Instrument Serif", serif;
  font-size: 13.5rem;
  line-height: 100%;
  color: #ffe773;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-point__item-head dd {
    font-size: 25rem;
  }
}
.p-point__item-detail dt {
  font-size: 2rem;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 150%;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .p-point__item-detail dt {
    font-size: 4.6rem;
  }
}
.p-point__item-detail dd {
  font-size: 1.6rem;
  line-height: 200%;
  margin-top: 1.5rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-point__item-detail dd {
    font-size: 2.4rem;
  }
}
.p-point__item-button {
  background: #fff;
  color: #0d5b27;
  font-weight: bold;
  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;
  margin: 2rem auto 0;
  padding: 0.5rem 0.5rem 0.6rem 1.4rem;
  border-radius: 10rem;
  font-size: 1.6rem;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-point__item-button {
    font-size: 2.6rem;
    padding: 1.1rem 0.9rem 1.2rem 2.7rem;
    margin: 4.7rem auto 0;
  }
}
.p-point__item-button svg {
  width: 2.3rem;
  margin-left: 1.1rem;
}
@media screen and (max-width: 767px) {
  .p-point__item-button svg {
    width: 4rem;
    margin-left: 1.5rem;
  }
}

.p-for-you {
  margin: 22.6rem auto 0;
  width: 100rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-for-you {
    width: 65rem;
    margin: 33.9rem auto 0;
  }
}
.p-for-you__deco {
  width: 7.13rem;
  position: absolute;
  top: -23%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .p-for-you__deco {
    width: 11.8rem;
    top: -17%;
  }
}
.p-for-you__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 7.8rem;
  gap: 7rem 0;
}
@media screen and (max-width: 767px) {
  .p-for-you__list {
    gap: 7.8rem 0;
    margin-top: 16.1rem;
  }
}
.p-for-you__list-item:first-child {
  width: 37.9rem;
}
@media screen and (max-width: 767px) {
  .p-for-you__list-item:first-child {
    margin-left: 4.9rem;
    width: 43.2rem;
  }
}
.p-for-you__list-item:nth-child(2) {
  width: 34.3rem;
}
@media screen and (max-width: 767px) {
  .p-for-you__list-item:nth-child(2) {
    margin-left: auto;
    margin-right: 3.3rem;
    width: 39.1rem;
  }
}
.p-for-you__list-item:nth-child(3) {
  width: 41.9rem;
  margin-left: 10.1rem;
}
@media screen and (max-width: 767px) {
  .p-for-you__list-item:nth-child(3) {
    margin-left: 2.7rem;
    width: 47.7rem;
  }
}
.p-for-you__list-item:nth-child(4) {
  width: 35.6rem;
  margin-right: 7.2rem;
}
@media screen and (max-width: 767px) {
  .p-for-you__list-item:nth-child(4) {
    margin-left: auto;
    margin-right: 2.6rem;
    width: 40.5rem;
  }
}

.p-task {
  padding: 9rem 0 11rem;
  background: #ffe773;
}
@media screen and (max-width: 767px) {
  .p-task {
    padding: 21.5rem 0 9rem;
  }
}
.p-task__lead {
  font-size: 2rem;
  text-align: center;
  margin-top: 9rem;
  color: #0d5b27;
  line-height: 200%;
}
@media screen and (max-width: 767px) {
  .p-task__lead {
    margin-top: 13.7rem;
    font-size: 3.2rem;
  }
}
.p-task__list {
  width: 102.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 1.8rem;
  margin: 32.5rem auto 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-task__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 60rem;
    margin: 34.3rem auto 0;
    gap: 6rem 0;
  }
}
.p-task__line {
  height: 18rem;
  width: 1px;
  background: #0d5b27;
  position: absolute;
  top: -25.5rem;
  left: 50%;
}
@media screen and (max-width: 767px) {
  .p-task__line {
    height: 23.5rem;
    top: -29.5rem;
  }
}
.p-task__note {
  font-size: 1.2rem;
  line-height: 170%;
  color: #0d5b27;
  text-align: center;
  margin: 5rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-task__note {
    text-align: left;
    font-size: 2rem;
    width: 60rem;
    margin: 5rem auto 0;
  }
}

.p-task-item {
  background: #fff;
  width: 32.1637426901%;
  padding: 3.85rem 0 2.85rem;
  border-radius: 0.55rem;
}
@media screen and (max-width: 767px) {
  .p-task-item {
    width: 100%;
    padding: 7rem 0 3.3rem;
  }
}
.p-task-item:first-child .p-task-item__list {
  max-height: 70rem;
}
@media screen and (max-width: 767px) {
  .p-task-item:first-child .p-task-item__list {
    max-height: 130rem;
  }
}
.p-task-item:first-child .p-task-item__list.expanded {
  padding-bottom: 2rem;
}
.p-task-item:nth-child(2) .p-task-item__list {
  max-height: 48.5rem;
}
@media screen and (max-width: 767px) {
  .p-task-item:nth-child(2) .p-task-item__list {
    max-height: 89.5rem;
  }
}
.p-task-item:nth-child(2) .p-task-item__list.expanded {
  padding-bottom: 2rem;
}
.p-task-item:nth-child(3) .p-task-item__list {
  max-height: 29.5rem;
}
@media screen and (max-width: 767px) {
  .p-task-item:nth-child(3) .p-task-item__list {
    max-height: 54.5rem;
  }
}
.p-task-item:nth-child(3) .p-task-item__list.expanded {
  padding-bottom: 1rem;
}
.p-task-item__button {
  text-align: center;
}
.p-task-item__button button {
  cursor: pointer;
  font-size: 1.23rem;
  font-weight: bold;
  background-image: url(../image/top/oval.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 200%;
  width: 10.6rem;
  height: 4.7rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-task-item__button button:hover {
    opacity: 0.9;
  }
}
@media screen and (max-width: 767px) {
  .p-task-item__button button {
    width: 19.3rem;
    height: 8.7rem;
    font-size: 2.4rem;
  }
}
.p-task-item__button button button {
  position: absolute;
  top: 50%;
  left: 0%;
  width: 100%;
  text-align: center;
  line-height: 100%;
  -webkit-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
}
.p-task-item__head {
  text-align: center;
}
.p-task-item__head-title {
  font-size: 2.2rem;
  line-height: 150%;
  letter-spacing: 0.1em;
  color: #0d5b27;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .p-task-item__head-title {
    font-size: 4rem;
  }
}
.p-task-item__head-data {
  background: #eaf0ec;
  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;
  padding: 0.6rem 0 0.4rem;
  width: 21.65rem;
  margin: 1.75rem auto 0;
  border-radius: 10rem;
}
@media screen and (max-width: 767px) {
  .p-task-item__head-data {
    width: 39.3rem;
    padding: 1rem 0 0.65rem;
    margin: 3.4rem auto 0;
  }
}
.p-task-item__head-data p {
  color: #0d5b27;
}
.p-task-item__head-data p:first-child {
  font-size: 1.2rem;
  line-height: 200%;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-task-item__head-data p:first-child {
    font-size: 2.2rem;
  }
}
.p-task-item__head-data p:last-child {
  font-family: "Instrument Serif", serif;
  font-size: 2.9rem;
  letter-spacing: 0;
  line-height: 100%;
}
@media screen and (max-width: 767px) {
  .p-task-item__head-data p:last-child {
    font-size: 5.2rem;
  }
}
.p-task-item__head-data p:last-child span {
  font-size: 2.2rem;
  padding-left: 0.08rem;
}
@media screen and (max-width: 767px) {
  .p-task-item__head-data p:last-child span {
    font-size: 3.9rem;
  }
}
.p-task-item__head-lead {
  font-size: 1.4rem;
  line-height: 180%;
  color: #ff7b37;
  margin-top: 4rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-task-item__head-lead {
    margin-top: 7.1rem;
    font-size: 2.4rem;
  }
}
.p-task-item__list {
  margin-top: 4.5rem;
  overflow: hidden;
  position: relative;
  -webkit-transition: max-height 0.8s ease-in-out;
  transition: max-height 0.8s ease-in-out;
}
@media screen and (max-width: 767px) {
  .p-task-item__list {
    margin-top: 9rem;
  }
}
.p-task-item__list.expanded {
  max-height: 200rem !important;
}
.p-task-item__list.expanded:before {
  -webkit-transition: opacity 1.3s ease-in-out;
  transition: opacity 1.3s ease-in-out;
  opacity: 0;
}
.p-task-item__list::before {
  content: "";
  height: 18.7rem;
  width: 100%;
  position: absolute;
  bottom: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
}
@media screen and (max-width: 767px) {
  .p-task-item__list::before {
    height: 25.7rem;
  }
}
.p-task-item__list li {
  font-size: 1.4rem;
  text-align: center;
  border-top: 1px solid #0d5b27;
  line-height: 200%;
  padding: 0.55rem 0 0.6rem;
  color: #0d5b27;
}
@media screen and (max-width: 767px) {
  .p-task-item__list li {
    font-size: 2.4rem;
    padding: 1.3rem 0 1.35rem;
  }
}
.p-task-item__list li:last-child {
  border-bottom: 1px solid #0d5b27;
}

.p-how-to {
  background: #fff;
  padding: 9rem 0 14.2rem;
}
@media screen and (max-width: 767px) {
  .p-how-to {
    padding: 21.4rem 0;
  }
}
.p-how-to__main {
  width: 82.45rem;
  margin: 10.6rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-how-to__main {
    margin: 20.1rem auto 0;
    width: 65rem;
  }
}
.p-how-to__list {
  position: relative;
  padding-left: 8.4rem;
}
@media screen and (max-width: 767px) {
  .p-how-to__list {
    padding-left: 6rem;
  }
}
.p-how-to__list::before, .p-how-to__list::after {
  content: "";
  background: #0d5b27;
  position: absolute;
  width: 0.2rem;
}
.p-how-to__list::before {
  height: 100%;
  left: 0.9rem;
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transition: all 1500ms cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 1500ms cubic-bezier(0.86, 0, 0.07, 1); /* easeInOutQuint */
}
@media screen and (max-width: 767px) {
  .p-how-to__list::before {
    left: 0.7rem;
  }
}
.p-how-to__list[observer=true]::before {
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
}
.p-how-to__list::after {
  height: 2.12rem;
  bottom: -0.2em;
  left: 0.1rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  opacity: 0;
  -webkit-transition: all 500ms 1200ms cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 500ms 1200ms cubic-bezier(0.86, 0, 0.07, 1); /* easeInOutQuint */
}
@media screen and (max-width: 767px) {
  .p-how-to__list::after {
    left: 0.05rem;
  }
}
.p-how-to__list[observer=true]::after {
  opacity: 1;
}
.p-how-to__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #0d5b27;
}
.p-how-to__item + .p-how-to__item {
  margin-top: 6.07rem;
}
@media screen and (max-width: 767px) {
  .p-how-to__item + .p-how-to__item {
    margin-top: 10.8rem;
  }
}
.p-how-to__item-number {
  font-family: "Instrument Serif", serif;
  font-size: 10.5rem;
  letter-spacing: -0.02em;
  line-height: 100%;
  margin-right: 8.2rem;
  width: 8.6rem;
}
@media screen and (max-width: 767px) {
  .p-how-to__item-number {
    font-size: 14rem;
    width: 11.8rem;
    margin-right: 4.9rem;
  }
}
.p-how-to__item-detail {
  letter-spacing: 0.1em;
}
.p-how-to__item-detail dt {
  font-size: 2.4rem;
  line-height: 150%;
}
@media screen and (max-width: 767px) {
  .p-how-to__item-detail dt {
    font-size: 3.2rem;
  }
}
.p-how-to__item-detail dt span {
  display: block;
  font-size: 1.8rem;
  margin-left: -0.8rem;
}
@media screen and (max-width: 767px) {
  .p-how-to__item-detail dt span {
    font-size: 2.4rem;
  }
}
.p-how-to__item-detail dd {
  margin-top: 2rem;
  font-size: 1.8rem;
  line-height: 200%;
}
@media screen and (max-width: 767px) {
  .p-how-to__item-detail dd {
    font-size: 2.4rem;
    margin-top: 2.7rem;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}
.p-how-to__item-detail dd p {
  line-height: 140%;
  font-size: 1.2rem;
  margin-top: 0.7rem;
}
@media screen and (max-width: 767px) {
  .p-how-to__item-detail dd p {
    font-size: 2rem;
  }
}

.p-top-faq {
  padding: 9rem 0 10.2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-faq {
    padding: 21.8rem 0 17.7rem;
  }
}
.p-top-faq .c-title {
  position: relative;
  padding-bottom: 33.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-faq .c-title {
    padding-bottom: 39rem;
  }
}
.p-top-faq__line {
  content: "";
  height: 18rem;
  width: 1px;
  background: #0d5b27;
  position: absolute;
  top: 20rem;
  left: 50%;
}
@media screen and (max-width: 767px) {
  .p-top-faq__line {
    height: 23.5rem;
    top: 25rem;
  }
}
.p-top-faq__deco {
  width: 10.9rem;
  position: absolute;
  top: 6.3rem;
  right: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-faq__deco {
    top: 45.5rem;
    right: 2.7rem;
  }
}
.p-top-faq__list {
  width: 80rem;
  margin: 0 auto 0;
  position: relative;
  border-top: 1px solid #0d5b27;
}
@media screen and (max-width: 767px) {
  .p-top-faq__list {
    margin: 0 auto 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top-faq__list {
    width: 65rem;
  }
}
.p-top-faq__more {
  display: block;
  cursor: pointer;
  font-size: 1.63rem;
  font-weight: bold;
  background-image: url(../image/top/oval.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 200%;
  width: 10.6rem;
  height: 4.7rem;
  width: 13.6rem;
  height: 14.7rem;
  text-align: center;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-faq__more {
    width: 19.3rem;
    height: 8.7rem;
    width: 22.3rem;
    height: 10.7rem;
    font-size: 2.8rem;
    margin-top: 8rem;
  }
}
.p-top-faq__more span {
  position: absolute;
  top: 50%;
  left: 0%;
  color: #fff;
  width: 100%;
  text-align: center;
  line-height: 100%;
  -webkit-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
}

.p-chat {
  background-color: #fff;
  padding: 0 0 9.7rem;
  color: #000;
  width: 100%;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-chat {
    padding: 0 0 18rem;
  }
}
.p-chat__title {
  text-align: center;
  font-size: 4.2rem;
  letter-spacing: 0.1em;
  line-height: 160%;
  position: relative;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .p-chat__title {
    font-size: 5.1rem;
  }
}
.p-chat__title::before {
  content: "";
  height: 0.5rem;
  width: 38.2rem;
  background: #000;
  position: absolute;
  top: auto;
  bottom: -1.5rem;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .p-chat__title::before {
    width: 46.2rem;
    bottom: -1.6rem;
    height: 0.5rem;
  }
}
.p-chat__lead {
  text-align: center;
  margin-top: 7.8rem;
  font-size: 2rem;
  letter-spacing: 0.15rem;
  line-height: 200%;
}
@media screen and (max-width: 767px) {
  .p-chat__lead {
    font-size: 2.2rem;
    margin-top: 3.1rem;
  }
}
.p-chat__slider {
  margin-top: 6.4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-chat__slider {
    margin-top: 12rem;
  }
}
.p-chat__slider::before {
  content: "";
  width: 100%;
  height: 63rem;
  position: absolute;
  top: 0;
  background: #fff;
  background: -webkit-gradient(linear, left top, right top, from(rgb(255, 255, 255)), color-stop(45%, rgba(255, 255, 255, 0)), color-stop(55%, rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));
  background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 45%, rgba(255, 255, 255, 0) 55%, rgb(255, 255, 255) 100%);
  z-index: 2;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-chat__slider::before {
    height: 90rem;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.6)), color-stop(20%, rgba(255, 255, 255, 0)), color-stop(80%, rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.6)));
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.6) 100%);
  }
}
.p-chat__notes {
  font-size: 1.4rem;
  line-height: 150%;
  letter-spacing: 0.15em;
  text-align: center;
  position: relative;
  top: -7.5rem;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-chat__notes {
    font-size: 2rem;
    top: -20rem;
  }
}

.p-chat-item.swiper-slide-active {
  opacity: 1;
}
.p-chat-item.swiper-slide-active .p-chat-item__message-item {
  opacity: 1;
}
.p-chat-item.swiper-slide-active .p-chat-item__message-item:nth-child(1) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.p-chat-item.swiper-slide-active .p-chat-item__message-item:nth-child(2) {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.p-chat-item.swiper-slide-active .p-chat-item__message-item:nth-child(3) {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}
.p-chat-item.swiper-slide-active .p-chat-item__detail-notes {
  opacity: 1;
  color: #0d5b27;
}
.p-chat-item__detail {
  z-index: 1;
}
.p-chat-item__title {
  position: absolute;
  inset: 0;
  top: 1.92rem;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  line-height: 150%;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-chat-item__title {
    font-size: 2.4rem;
    top: 2.4rem;
  }
}
.p-chat-item__detail {
  opacity: 0;
}
.p-chat-item__detail-notes {
  font-size: 1.5rem;
  line-height: 150%;
  letter-spacing: 0;
  position: absolute;
  right: 1rem;
  bottom: 6.5rem;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .p-chat-item__detail-notes {
    font-size: 2rem;
    right: 2rem;
    bottom: 9.5rem;
  }
}
.p-chat-item__message {
  position: absolute;
  top: 24.2rem;
  left: 50%;
  -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%);
  width: 30.8rem;
  top: 0;
  padding-top: 7.7rem;
}
@media screen and (max-width: 767px) {
  .p-chat-item__message {
    width: 42.7rem;
    top: 0;
    padding-top: 10.8rem;
  }
}
.p-chat-item__message-item {
  width: 100%;
  padding: 1.66rem 0 1.73rem;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  line-height: 160%;
  color: #0d5b27;
  background: #ffe773;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  border-radius: 2rem;
  position: relative;
  opacity: 0;
  -webkit-transition: 0.4s ease-in-out;
  transition: 0.4s ease-in-out;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.66rem;
}
@media screen and (max-width: 767px) {
  .p-chat-item__message-item {
    font-size: 2.1rem;
    padding: 2.3rem 0 2.4rem;
    padding: 1.2rem 2rem;
  }
}
.p-chat-item__message-item::before {
  content: "";
  position: absolute;
  bottom: -1.5rem;
  left: 1.5rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 1rem solid rgba(0, 0, 0, 0);
  border-left: 1rem solid rgba(0, 0, 0, 0);
  border-top: 1.63rem solid #ffe773;
  border-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-chat-item__message-item::before {
    border-right: 1.2rem solid rgba(0, 0, 0, 0);
    border-left: 1.2rem solid rgba(0, 0, 0, 0);
    border-top: 1.93rem solid #ffe773;
    bottom: -1.6rem;
    left: 2rem;
  }
}
.p-chat-item__message-item + .p-chat-item__message-item {
  margin-top: 2.9rem;
}
@media screen and (max-width: 767px) {
  .p-chat-item__message-item + .p-chat-item__message-item {
    margin-top: 4.1rem;
  }
}

.p-message {
  width: 100%;
  background: #ffe773;
  padding: 10.4rem 0 14.4rem;
  color: #0d5b27;
  background-image: url(../image/top/message_bg.jpg);
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-message {
    padding: 13rem 0;
  }
}
.p-message__inner {
  width: 97.1rem;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-message__inner {
    width: 59.5rem;
    width: auto;
    margin: 0 6.1rem 0 9.4rem;
    margin: 0;
    padding-left: 6rem;
  }
}
.p-message__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-message__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-message__slogan {
  font-size: 4.2rem;
  letter-spacing: 0.05em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  margin-right: 8.7rem;
  line-height: 150%;
  width: 50%;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-message__slogan {
    text-align: left;
    width: 100%;
    font-size: 5.4rem;
    margin-right: 0;
  }
}
.p-message__slogan__in {
  text-align: left;
  display: inline-block;
  white-space: nowrap;
}
.p-message__text {
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  line-height: 230%;
  width: 50%;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-message__text {
    width: 100%;
    font-size: 2.8rem;
    margin-top: 14.3rem;
    letter-spacing: 0.05em;
  }
}
.p-message__foot {
  margin-top: 8.6rem;
}
@media screen and (max-width: 767px) {
  .p-message__foot {
    margin-top: 14.3rem;
  }
}
.p-message__foot-lead {
  font-size: 2.9rem;
  letter-spacing: 0.05em;
  line-height: 150%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-message__foot-lead {
    text-align: left;
    font-size: 5.4rem;
  }
}
.p-message__foot-logo {
  width: 42.1rem;
  margin: 4rem auto 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-message__foot-logo {
    width: 59.2rem;
    margin: 14.3rem 0 0 1.5rem;
  }
  .p-message__foot-logo img {
    display: block;
    margin: 0 auto;
  }
}

.p-about {
  background: #fff;
  padding: 8.6rem 0 9.7rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-about {
    padding: 17.2rem 0 15.6rem;
  }
}
.p-about__deco {
  width: 10.1rem;
  position: absolute;
  top: 6.5rem;
  right: 4.1rem;
}
.p-about__main {
  width: 97.65rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-about__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 68rem;
  }
}
.p-about__text {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
.p-about__text-title {
  font-size: 6rem;
  font-family: "Cormorant Garamond", serif;
  letter-spacing: -0.3rem;
  line-height: 100%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-about__text-title {
    font-size: 9.5rem;
  }
}
.p-about__text-lead {
  font-size: 2.2rem;
  text-align: center;
  letter-spacing: 0.1rem;
  line-height: 180%;
  margin-top: 3.6rem;
}
@media screen and (max-width: 767px) {
  .p-about__text-lead {
    font-size: 4rem;
    line-height: 160%;
    margin-top: 8.9rem;
  }
}
.p-about__lead {
  text-align: center;
  font-size: 2.2rem;
  line-height: 200%;
  letter-spacing: 0.1rem;
  margin-top: 0.9rem;
}
@media screen and (max-width: 767px) {
  .p-about__lead {
    font-size: 4rem;
    margin-top: -1.5rem;
  }
}
.p-about__lead span {
  color: #ff7b37;
  position: relative;
}
.p-about__lead span::before {
  content: "";
  width: 100%;
  height: 0.4rem;
  background: #ff7b37;
  position: absolute;
  bottom: -1.03rem;
  border-radius: 10rem;
}
@media screen and (max-width: 767px) {
  .p-about__lead span::before {
    height: 0.7rem;
    bottom: -1.8rem;
  }
}
.p-about__thum {
  width: 57.75rem;
  margin-left: 6.6rem;
}
@media screen and (max-width: 767px) {
  .p-about__thum {
    margin-left: 0;
    width: 100%;
    margin-top: 1.4rem;
  }
}
.p-about__detail {
  text-align: center;
  letter-spacing: 0.1em;
  color: #0d5b27;
  padding: 1.5rem 0 2rem;
  border: 0.3rem solid #0d5b27;
  width: 69.4rem;
  margin: 1rem auto 0;
  border-radius: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-about__detail {
    margin-top: 8.5rem;
    padding: 3.8rem 4.5rem 4.4rem 4.1rem;
    width: 62.2rem;
    text-align: left;
    border: 0.5rem solid #0d5b27;
  }
}
.p-about__detail-title {
  font-size: 2rem;
  line-height: 160%;
}
@media screen and (max-width: 767px) {
  .p-about__detail-title {
    font-size: 3rem;
    text-align: center;
  }
}
.p-about__detail-item {
  font-size: 1.4rem;
  margin-top: 1rem;
  line-height: 160%;
}
@media screen and (max-width: 767px) {
  .p-about__detail-item {
    font-size: 2.4rem;
    margin-top: 2.6rem;
  }
}

.p-focused {
  padding: 8.7rem 0 9rem;
  background: #f4f5f6;
}
@media screen and (max-width: 767px) {
  .p-focused {
    padding: 21.5rem 0 23rem;
  }
}
.p-focused__inner {
  width: 120.2rem;
  margin: 8.3rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-focused__inner {
    margin: 23.2rem auto 0;
    width: 66.4rem;
  }
}
.p-focused__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-focused__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12rem 0;
  }
}
.p-focused__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-focused__item:first-child {
  /*margin-left: 2.2rem;*/
}
.p-focused__item:first-child figure {
  width: 10.9rem;
  margin-right: 8.2rem;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-focused__item:first-child figure {
    width: 17.1rem;
    margin-right: 6.5rem;
    margin-top: 0;
  }
}
.p-focused__item:nth-child(2) figure {
  width: 13.3rem;
  margin-right: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-focused__item:nth-child(2) figure {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 20.8rem;
    margin-right: 0;
    margin-left: 4.5rem;
  }
}
.p-focused__item:nth-child(3) {
  width: 100%;
  margin: 3.2rem auto 1.5rem;
  margin: 1.5rem auto 1.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-focused__item:nth-child(3) {
    width: auto;
    margin: 0;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.p-focused__item:nth-child(3) figure {
  width: 10.9rem;
  margin-right: 4.4rem;
  margin-top: 2.3rem;
}
@media screen and (max-width: 767px) {
  .p-focused__item:nth-child(3) figure {
    width: 16.9rem;
    margin-right: 8rem;
  }
}
.p-focused__item:nth-child(4) figure {
  width: 13rem;
  margin-right: 5.1rem;
  margin-top: 2.3rem;
}
@media screen and (max-width: 767px) {
  .p-focused__item:nth-child(4) figure {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 20.4rem;
    margin-right: 0;
    margin-left: 7rem;
    margin-top: 1.9rem;
  }
}
.p-focused__item:nth-child(5) figure {
  width: 10.4rem;
  margin-right: 3.8rem;
  margin-top: -1.3rem;
}
@media screen and (max-width: 767px) {
  .p-focused__item:nth-child(5) figure {
    width: 16.2rem;
    margin-right: 8rem;
    margin-top: -2.5rem;
  }
}
.p-focused__item-text {
  -webkit-font-feature-settings: "none";
          font-feature-settings: "none";
}
.p-focused__item-text dt {
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 180%;
}
@media screen and (max-width: 767px) {
  .p-focused__item-text dt {
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 768px) {
  .p-focused__item-text dt .textline_y::before {
    height: 0.3rem;
  }
}
.p-focused__item-text dd {
  font-size: 1.4rem;
  line-height: 100%;
  letter-spacing: 0.05em;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-focused__item-text dd {
    font-size: 2.2rem;
  }
}

.p-sorry {
  background: #ffe773;
  padding: 9rem 0 9.8rem;
}
@media screen and (max-width: 767px) {
  .p-sorry {
    padding: 21.3rem 0 16.7rem;
  }
}
.p-sorry__list {
  width: 74.3rem;
  margin: 9rem auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-sorry__list {
    width: 63.7rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 17.2rem auto 0;
  }
}
.p-sorry__list-deco {
  position: absolute;
  width: 49.6rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .p-sorry__list-deco {
    width: 62.4rem;
  }
}
.p-sorry__list-item {
  position: relative;
  z-index: 1;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.2em;
  line-height: 150%;
  color: #0d5b27;
}
@media screen and (max-width: 767px) {
  .p-sorry__list-item {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sorry__list-item:nth-child(1) {
    margin-left: 3.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sorry__list-item:nth-child(2) {
    margin-top: 2.9rem;
    margin-right: -1.5rem;
  }
}
.p-sorry__list-item:nth-child(3) {
  width: 100%;
  text-align: center;
  margin: 2.1rem 0 4.1rem;
}
@media screen and (max-width: 767px) {
  .p-sorry__list-item:nth-child(3) {
    width: auto;
    margin: 2.9rem 0 0 4.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sorry__list-item:nth-child(4) {
    margin-top: 3.97rem;
    margin-right: -1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sorry__list-item:nth-child(5) {
    margin-left: 2.3rem;
  }
}
.p-sorry__list-item:nth-child(6) {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-sorry__list-item:nth-child(6) {
    margin-top: 0;
  }
}
.p-sorry__list-item:nth-child(even) {
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-sorry__list-item:nth-child(7) {
    margin-top: 5.2rem;
  }
}
.p-sorry__lead {
  text-align: center;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  line-height: 150%;
  margin-top: 9rem;
  color: #0d5b27;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-sorry__lead {
    font-size: 3.6rem;
    margin-top: 11rem;
  }
}
.p-sorry__lead-text {
  position: relative;
  display: inline-block;
}
.p-sorry__lead-text img {
  width: 8.24rem;
  position: absolute;
  top: -5rem;
  right: -5.5rem;
}

.p-plan {
  background: #ffe773;
  padding: 9rem 0 9.06rem;
}
@media screen and (max-width: 767px) {
  .p-plan {
    padding: 21.3rem 0 18rem;
  }
}
.p-plan__lead {
  font-size: 2rem;
  text-align: center;
  margin-top: 7.2rem;
  letter-spacing: 0.15em;
  color: #0d5b27;
  line-height: 200%;
}
@media screen and (max-width: 767px) {
  .p-plan__lead {
    font-size: 3.2rem;
    margin-top: 11.1rem;
  }
}
.p-plan__body {
  width: 124rem;
  height: 126.5rem;
  margin: 10.9rem auto 0;
  clip-path: inset(1px 0px 0px 0px);
  border-radius: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: #fff4d7;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-plan__body {
    margin: 12.8rem auto 0;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 290.8rem;
    -webkit-box-pack: unset;
        -ms-flex-pack: unset;
            justify-content: unset;
  }
}
.p-plan__body-shadow {
  position: absolute;
  width: 14.2rem;
  right: 44.3rem;
}
.p-plan__main {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 79.7rem;
  background-image: url(../image/top/plan_bk.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  padding-left: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-plan__main {
    width: 100%;
    height: 116rem;
    background-image: url(../image/top/plan_bk_sp.jpg);
    padding-left: 0;
  }
}
.p-plan__price {
  width: 57.2rem;
  padding-top: 4.86rem;
}
@media screen and (max-width: 767px) {
  .p-plan__price {
    width: 61.7rem;
    margin: 0 auto;
  }
}
.p-plan__price-item {
  font-size: 2.4rem;
  color: #fff;
  letter-spacing: 0.15em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  line-height: 100%;
}
@media screen and (max-width: 767px) {
  .p-plan__price-item {
    font-size: 2.63rem;
  }
}
.p-plan__price-item span {
  font-family: "avenir-lt-pro", sans-serif;
  font-weight: 700;
}
.p-plan__price-item + .p-plan__price-item {
  margin-top: 2.2rem;
  padding-top: 2.2rem;
  border-top: 0.18rem solid #fff;
}
.p-plan__point {
  width: 57rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 8.8rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-plan__point {
    width: 68.8rem;
    margin: 0 auto;
    position: relative;
    top: 4rem;
  }
}
.p-plan__point-deco {
  width: 3.31rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-plan__point-circle {
  width: 29.9rem;
}
@media screen and (max-width: 767px) {
  .p-plan__point-circle {
    width: 36.1rem;
  }
}
.p-plan__point-circle:last-child {
  margin-left: -1.5rem;
}
.p-plan__support {
  width: 49.1rem;
  padding-top: 4.2rem;
  position: absolute;
  right: 3.77rem;
}
@media screen and (max-width: 767px) {
  .p-plan__support {
    position: relative;
    width: 65rem;
    margin: 3.1rem auto 0;
    right: 0;
  }
}
.p-plan__support-arrow {
  width: 1.65rem;
  position: absolute;
  top: 53.5%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .p-plan__support-arrow {
    width: 2.2rem;
    top: 52.7%;
  }
}
.p-plan__support-title {
  text-align: center;
  font-size: 2.6rem;
  color: #0d5b27;
  line-height: 100%;
  margin-bottom: 2.9rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-plan__support-title {
    line-height: 200%;
    font-size: 3.4rem;
    margin-bottom: 2.6rem;
  }
}
.p-plan__support-notes {
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  line-height: 140%;
  margin-top: 1.6rem;
  margin-left: 3.4rem;
  color: #0d5b27;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .p-plan__support-notes {
    font-size: 2rem;
    margin-left: 0;
    margin-top: 3.8rem;
  }
}
.p-plan__detail__head {
  font-size: 2.4rem;
}
.p-plan__benefit {
  margin-top: 20.2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-plan__benefit {
    margin-top: 19.4rem;
  }
}
.p-plan__benefit-more {
  width: 81.4rem;
  margin: 8rem auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-plan__benefit-more {
    width: 65rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.9rem;
    margin: 11.6rem auto 0;
  }
}
.p-plan__benefit-deco {
  font-size: 6.5rem;
  font-family: "avenir-lt-pro", sans-serif;
  color: #ff7b37;
  position: absolute;
  top: -25%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .p-plan__benefit-deco {
    font-size: 9rem;
    top: -8.5%;
  }
}

.p-benefit-btn {
  width: 38.7rem;
  font-family: AvenirLTPro-Heavy, FP-KoburinaGoStdN-W6, "avenir-lt-pro", "KoburinaGoStdN-W6", Hiragino Kaku Gothic ProN, Yu Gothic, yugothic, メイリオ, meiryo, sans-serif;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-benefit-btn {
    width: 100%;
  }
}
.p-benefit-btn__text {
  text-align: center;
  font-size: 1.8rem;
  color: #ff7b37;
  letter-spacing: 0.1em;
  font-weight: bold;
  position: relative;
  display: inline-block;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-benefit-btn__text {
    line-height: 150%;
    font-size: 3.2rem;
    margin-bottom: 2rem;
  }
}
.p-benefit-btn__text::before, .p-benefit-btn__text::after {
  width: 2.2rem;
  height: 0.12rem;
  content: "";
  position: absolute;
  background: #ff7b37;
  bottom: 1.3rem;
}
@media screen and (max-width: 767px) {
  .p-benefit-btn__text::before, .p-benefit-btn__text::after {
    width: 3.7rem;
    height: 0.2rem;
    bottom: 2.3rem;
  }
}
.p-benefit-btn__text::before {
  left: -2rem;
  -webkit-transform: rotate(62deg);
          transform: rotate(62deg);
}
@media screen and (max-width: 767px) {
  .p-benefit-btn__text::before {
    left: -1.3em;
  }
}
.p-benefit-btn__text::after {
  right: -2rem;
  -webkit-transform: rotate(-62deg);
          transform: rotate(-62deg);
}
@media screen and (max-width: 767px) {
  .p-benefit-btn__text::after {
    right: -1.3em;
  }
}
.p-benefit-btn dl {
  letter-spacing: 0.1em;
  border-radius: 1.5rem;
  overflow: hidden;
}
.p-benefit-btn dl dt {
  background: #0d5b27;
  font-size: 2.4rem;
  color: #fff;
  line-height: 150%;
  padding: 2rem 0;
}
@media screen and (max-width: 767px) {
  .p-benefit-btn dl dt {
    font-size: 4.2rem;
    padding: 3.3rem 0;
  }
}
.p-benefit-btn dl dt span {
  font-family: "avenir-lt-pro", sans-serif;
  font-weight: 700;
}
.p-benefit-btn dl dd {
  font-size: 1.8rem;
  background: #fff4d7;
  line-height: 150%;
  padding: 1rem 0;
  color: #0d5b27;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-benefit-btn dl dd {
    font-size: 2.8rem;
    padding: 1.9rem;
  }
}
.p-benefit-btn dl dd svg {
  width: 2.62rem;
  position: absolute;
  right: 1rem;
  top: 0.85rem;
}
@media screen and (max-width: 767px) {
  .p-benefit-btn dl dd svg {
    width: 4.4rem;
    right: 1.8rem;
    top: 1.7rem;
  }
}

.p-plan-detail {
  background: #fff;
  border-radius: 1.5rem;
  overflow: hidden;
  color: #0d5b27;
  opacity: 0;
  -webkit-transition: all 1500ms 0.2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 1500ms 0.2s cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
}
.p-plan-detail[observer=true] {
  opacity: 1;
}
.p-plan-detail__head {
  font-size: 2.4rem;
  background-color: #0d5b27;
  text-align: center;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
  line-height: 100%;
  padding: 3rem 0 1rem;
}
@media screen and (max-width: 767px) {
  .p-plan-detail__head {
    font-size: 3.2rem;
    padding: 4rem 0 1.5rem;
  }
}
.p-plan-detail__head span {
  font-size: 6.5rem;
  font-family: "Instrument Serif", serif;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-plan-detail__head span {
    font-size: 8.5rem;
  }
}
.p-plan-detail__main {
  padding: 3.9rem 3.66rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-plan-detail__main {
    padding: 4.6rem 4.8rem 4.3rem;
  }
}
.p-plan-detail__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.8rem;
  line-height: 100%;
  letter-spacing: 0.15rem;
}
.p-plan-detail__list-item img {
  width: 1.83rem;
  margin-right: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-plan-detail__list-item img {
    width: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-plan-detail__list-item {
    font-size: 2.4rem;
  }
}
.p-plan-detail__list-item + .p-plan-detail__list-item {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-plan-detail__list-item + .p-plan-detail__list-item {
    margin-top: 2.8rem;
  }
}
.p-plan-detail__etc {
  font-size: 1.6rem;
  letter-spacing: 0.15rem;
  margin-left: 1.72em;
  margin-top: 3.2rem;
  line-height: 100%;
}
@media screen and (max-width: 767px) {
  .p-plan-detail__etc {
    font-size: 2.4rem;
    margin-top: 4.1rem;
  }
}
.p-plan-detail__price {
  line-height: 100%;
  margin-top: 3.8rem;
  font-family: "Shippori Mincho", serif;
  font-size: 2.6rem;
  font-weight: 600;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media screen and (max-width: 767px) {
  .p-plan-detail__price {
    font-size: 3.6rem;
    margin-top: 4.8rem;
  }
}
.p-plan-detail__price b {
  font-size: 6.2rem;
  font-family: "Instrument Serif", serif;
  font-weight: 500;
  margin-right: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-plan-detail__price b {
    font-size: 8.2rem;
  }
}
.p-plan-detail__price span {
  font-size: 1.8rem;
  margin-right: 1rem;
}
@media screen and (max-width: 767px) {
  .p-plan-detail__price span {
    font-size: 2.4rem;
  }
}
.p-plan-detail + .p-plan-detail {
  margin-top: 5.1rem;
}
@media screen and (max-width: 767px) {
  .p-plan-detail + .p-plan-detail {
    margin-top: 6.8rem;
  }
}

/* p-features */
.p-features {
  background: #fff;
  position: relative;
}
.p-features__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 56.6rem;
  z-index: 1;
  opacity: 0.7;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--s_b, #fff4d7)), to(rgba(255, 244, 215, 0)));
  background: linear-gradient(180deg, var(--s_b, #fff4d7) 0%, rgba(255, 244, 215, 0) 100%);
}
@media screen and (max-width: 767px) {
  .p-features__bg {
    display: none;
  }
}
.p-features__content {
  position: relative;
  z-index: 2;
}
.p-features__head {
  height: 33rem;
  padding-top: 8.7rem;
}
@media screen and (max-width: 767px) {
  .p-features__head {
    height: 60rem;
    padding-top: 21.3rem;
    background: #ffe773;
  }
}
.p-features__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 5.6rem;
}
.p-features__item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .p-features__item {
    display: block;
  }
}
.p-features__item__box {
  width: 50%;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-features__item__box {
    width: 100%;
  }
}
.p-features__item__box__square {
  width: 87.5%;
  position: relative;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-features__item__box__square {
    width: 100%;
  }
}
.p-features__item__box__square:before {
  display: block;
  content: "";
  width: 100%;
  padding-top: 100%;
}
@media screen and (max-width: 767px) {
  .p-features__item__box__square__2:before {
    display: none;
  }
}
.p-features__item__box__photo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.p-features__item__box__texts {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  color: #0d5b27;
}
@media screen and (max-width: 767px) {
  .p-features__item__box__texts {
    margin-top: 15.5rem;
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: none;
            transform: none;
  }
  .p-features__item__box__texts:before {
    content: "";
    display: block;
    width: 11.1rem;
    height: 1px;
    background: #ffe773;
    margin: 0 auto 5rem;
  }
}
.p-features__item__box__texts__title {
  font-size: 3.6rem;
  margin-bottom: 3.9rem;
}
@media screen and (max-width: 767px) {
  .p-features__item__box__texts__title {
    font-size: 5.5rem;
    margin-bottom: 5rem;
  }
}
.p-features__item__box__texts__text {
  font-size: 2rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-features__item__box__texts__text {
    font-size: 3rem;
    padding-bottom: 11rem;
  }
}
.p-features__item__numbox {
  position: relative;
  width: 0;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-features__item__numbox {
    width: 100%;
    height: 0;
  }
}
.p-features__item__numbox[observer=true] .p-features__item__numbox__num {
  opacity: 1;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-features__item__numbox__num {
  opacity: 0;
  -webkit-transition: all 1500ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 1500ms cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -25%);
          transform: translate(-50%, -25%);
  font-family: "Instrument Serif", serif;
  color: #ffe773;
  text-align: center;
  font-size: 20rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 200px */
  letter-spacing: -4px;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .p-features__item__numbox__num {
    font-size: 25rem;
  }
}

.textline_y {
  position: relative;
  display: inline-block;
}
.textline_y::before {
  content: "";
  position: absolute;
  bottom: 0em;
  width: 100%;
  height: 0.5rem;
  background: #ffe773;
  border-radius: 10rem;
  width: 0;
  -webkit-transition: all 1500ms 0.2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 1500ms 0.2s cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
}
.textline_y[observer=true]::before {
  width: 100%;
}

/* p-we-do */
.p-we-do {
  background: #fff;
  padding: 9rem 0 0;
}
.p-we-do__kv {
  width: 53rem;
  margin: 2.6rem auto 6.2rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-we-do__kv {
    width: 100%;
    margin: 10rem auto 6.2rem;
  }
}
.p-we-do__head {
  text-align: center;
}
.p-we-do__head__t1 {
  font-size: 2rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-we-do__head__t1 {
    font-size: 3.2rem;
  }
}
.p-we-do__head__t2 {
  font-size: 3.2rem;
  letter-spacing: 0.1em;
  border-bottom: 0.3rem solid #000;
  display: inline-block;
  margin-bottom: 3rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-we-do__head__t2 {
    font-size: 5.1rem;
  }
}
.p-we-do__head__t3 {
  font-size: 2.2rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-we-do__head__t3 {
    font-size: 2.4rem;
  }
}
.p-we-do__head__space {
  height: 9.8rem;
  width: 100%;
}
.p-we-do__set {
  position: relative;
}
.p-we-do__set__bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40rem;
  opacity: 0.45;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 244, 215, 0)), to(#fff4d7));
  background: linear-gradient(180deg, rgba(255, 244, 215, 0) 0%, #fff4d7 100%);
}
@media screen and (max-width: 767px) {
  .p-we-do__set__bg {
    height: 50rem;
  }
}
.p-we-do__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 2.3rem;
  position: relative;
  margin-top: 11.4rem;
  padding-bottom: 11.2rem;
}
@media screen and (max-width: 767px) {
  .p-we-do__list {
    display: block;
    padding-bottom: 14.8rem;
  }
}
.p-we-do__list__item {
  border: 2px solid #ff7b37;
  position: relative;
  width: 32.5rem;
  height: 32.5rem;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .p-we-do__list__item {
    width: 65rem;
    height: 65rem;
    margin: 14.8rem auto 0;
  }
  .p-we-do__list__item:nth-child(3) {
    height: 52rem;
  }
}
.p-we-do__list__item__num {
  width: 10.7rem;
  text-align: center;
  background: #fff;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #ff7b37;
  text-align: center;
  font-family: "Instrument Serif", serif;
  font-size: 7.5rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 75px */
  letter-spacing: -1.5px;
  -webkit-transition: all 1500ms 0.2s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 1500ms 0.2s cubic-bezier(0.19, 1, 0.22, 1); /* easeOutExpo */
}
@media screen and (max-width: 767px) {
  .p-we-do__list__item__num {
    font-size: 15rem;
    width: 21.4rem;
  }
}
.p-we-do__list__item[observer=false] .p-we-do__list__item__num {
  color: #fff;
  -webkit-transform: translate(-50%, -30%);
          transform: translate(-50%, -30%);
}
.p-we-do__list__item__text {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-we-do__list__item__text {
    font-size: 3.2rem;
    padding-bottom: 3rem;
  }
}
.p-we-do__list__item__text__2 {
  line-height: 2;
  padding-bottom: 11.5rem;
}
@media screen and (max-width: 767px) {
  .p-we-do__list__item__text__2 {
    padding-bottom: 16.3rem;
  }
}
.p-we-do__list__item__sun {
  position: absolute;
  bottom: 2.5rem;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 5rem;
  height: auto;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-we-do__list__item__sun {
    width: 7rem;
    bottom: 5rem;
  }
}

.loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ffe773;
  z-index: 9999;
}

.is-loaded .loader {
  -webkit-transition: all 300ms cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 300ms cubic-bezier(0.86, 0, 0.07, 1); /* easeInOutQuint */
  opacity: 0;
  pointer-events: none;
}

.sunmeline {
  position: absolute;
  bottom: 5rem;
  left: 0;
  width: 150%;
  height: 8rem;
  background-image: url(../image/top/sunmeline.svg);
  background-size: 40rem auto;
  background-repeat: repeat-x;
  background-position: center;
  z-index: 2;
  -webkit-animation: sunmeline 20s 0s linear infinite;
          animation: sunmeline 20s 0s linear infinite;
}
@media screen and (max-width: 768px) {
  .sunmeline {
    bottom: 9rem;
    height: 11rem;
    background-size: 60rem auto;
    -webkit-animation: sunmeline2 20s 0s linear infinite;
            animation: sunmeline2 20s 0s linear infinite;
  }
}

@-webkit-keyframes sunmeline {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-40rem);
            transform: translateX(-40rem);
  }
}

@keyframes sunmeline {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-40rem);
            transform: translateX(-40rem);
  }
}
@-webkit-keyframes sunmeline2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-60rem);
            transform: translateX(-60rem);
  }
}
@keyframes sunmeline2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-60rem);
            transform: translateX(-60rem);
  }
}
[role=button] {
  cursor: pointer;
}

/*cta*/
.cta__area {
  position: fixed;
  bottom: 1rem;
  right: 0.5rem;
  z-index: 300;
  font-size: 0;
}
@media screen and (max-width: 767px) {
  .cta__area {
    bottom: 2rem;
    right: 0;
    width: 100%;
    text-align: center;
  }
}
.cta__area a {
  display: inline-block;
  width: 24rem;
  position: relative;
  margin: 0 0.25rem;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
@media screen and (max-width: 767px) {
  .cta__area a {
    width: 34rem;
    margin: 0 0.5rem;
  }
}
.cta__area a img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .cta__area a:hover {
    -webkit-filter: brightness(1.2);
            filter: brightness(1.2);
  }
}

button:focus,
button:active {
  outline: none;
}

/*we focused edit*/
.p-focused__item-text {
  background: #fff;
  padding: 3rem 4rem;
  border-radius: 2rem;
  height: auto;
  position: relative;
}

.p-focused__item {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-focused__item {
    margin: 0 auto;
  }
  .p-focused__item:nth-child(2) {
    margin-right: 0;
  }
  .p-focused__item:nth-child(2) .p-focused__item-thum {
    left: 0;
    -webkit-transform: translate(-90%, 50%) scale(0.9);
            transform: translate(-90%, 50%) scale(0.9);
  }
  .p-focused__item:nth-child(4) {
    margin-right: 0;
  }
  .p-focused__item:nth-child(4) .p-focused__item-thum {
    left: 0;
    -webkit-transform: translate(-100%, 50%) scale(0.9);
            transform: translate(-100%, 50%) scale(0.9);
  }
}

.p-focused__item-thum {
  position: absolute;
  z-index: 2;
  left: 100%;
  bottom: 10%;
  -webkit-transform: translate(-50%, 50%) scale(1);
          transform: translate(-50%, 50%) scale(1);
}
@media screen and (max-width: 767px) {
  .p-focused__item-thum {
    -webkit-transform: translate(-50%, 50%) scale(0.9);
            transform: translate(-50%, 50%) scale(0.9);
  }
}

@media screen and (max-width: 767px) {
  .p-focused__main {
    gap: 7rem 0;
  }
}

@media screen and (min-width: 768px) {
  .p-focused__item:nth-child(3) {
    margin: -6rem 0;
  }
}

#member-benefits {
  position: relative;
  width: 100%;
  height: 1px;
}

#popular-support {
  position: relative;
  width: 100%;
  height: 1px;
  top: -10rem;
}

/* =====================================================
  1.0 - Foundation
===================================================== */
.pages .l-header__button {
  color: #0d5b27;
}
.pages .l-header__button:hover {
  color: #0d5b27;
}
.pages .l-header__button::before {
  background-color: #0d5b27 !important;
}

/*
  3.3 - Utility
-----------------------------------------------------*/
/*
  Break
*/
.isPc {
  display: none;
}
@media screen and (min-width: 1025px) {
  .isPc {
    display: block;
  }
}

.isSp {
  display: block;
}
@media screen and (min-width: 1025px) {
  .isSp {
    display: none !important;
    background-color: #fff;
    font-size: 12px;
  }
}

.font-kob {
  font-family: AvenirLTPro-Heavy, FP-KoburinaGoStdN-W6, "avenir-lt-pro", "KoburinaGoStdN-W6", Hiragino Kaku Gothic ProN, Yu Gothic, yugothic, メイリオ, meiryo, sans-serif !important;
}