@charset 'utf-8';
/* Reset
--------------------------------------------------- */
*, ::before, ::after { box-sizing: border-box; }
::before, ::after { text-decoration: inherit; vertical-align: inherit; }
html { cursor: default; line-height: 1.5; -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4; -webkit-tap-highlight-color: transparent; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; word-break: break-word; }

body { margin: 0; }
h1 { font-size: 2em; margin: 0.67em 0; }

dl dl, dl ol, dl ul, ol dl, ul dl { margin: 0; }
ol ol, ol ul, ul ol, ul ul { margin: 0; }
hr { height: 0; overflow: visible; }
main { display: block; }
nav ol, nav ul { list-style: none; padding: 0; }
pre { font-family: monospace, monospace; font-size: 1em; }

a { background-color: transparent; }
abbr[title] { text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }

audio, canvas, iframe, img, svg, video { vertical-align: middle; }
audio, video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
iframe { border-style: none; }
img { border-style: none; }
svg:not([fill]) { fill: currentColor; }
svg:not(:root) { overflow: hidden; }

table { border-collapse: collapse; }

details { display: block; }
dialog { background-color: white; border: solid; color: black; display: block; height: -moz-fit-content; height: -webkit-fit-content; height: fit-content; left: 0; margin: auto; padding: 1em; position: absolute; right: 0; width: -moz-fit-content; width: -webkit-fit-content; width: fit-content; }
dialog:not([open]) { display: none; }
summary { display: list-item; }

canvas { display: inline-block; }
template { display: none; }

a, area, button, input, label, select, summary, textarea, [tabindex] { touch-action: manipulation; }
[hidden] { display: none; }

img { max-width: 100%; height: auto; }
img[src$=".svg"], svg { width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-size: 100%; font-weight: normal; }
blockquote, figure, p { margin: 0; }
dl, dd, ol, ul { margin: 0; padding: 0; }
ul, ol { list-style: none; }
i, em { font-style: normal; }
/* base */
@media screen and (max-width: 23.4275em), screen and (min-width: 48em) and (max-width: 79.99em) {
  html {
    font-size: 56.25%;
  }
}
@media screen and (min-width: 23.4375em) and (max-width: 47.99em), screen and (min-width: 80em) {
  html {
    font-size: 62.5%;
  }
}
body {
  font-family: "Zen Kaku Gothic New", "Helvetica Neue", "Segoe UI", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  color: #31251c;
  letter-spacing: 0.02em;
  line-height: 1;
  font-feature-settings: "palt" 1;
  background: #fff url("../img/bg.png") 0 0 repeat;
}
@media (-webkit-min-device-pixel-ratio: 2) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}
::-moz-selection {
  background: #006953;
  color: #fff;
  text-shadow: none;
}
::selection {
  background: #006953;
  color: #fff;
  text-shadow: none;
}
a {
  color: #31251c;
  transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}
a:link,
a:visited {
  color: #31251c;
  text-decoration: none;
}
@media screen and (min-width: 48em) {
  a:hover,
  a:active {
    color: #006953;
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  }
}
/* Layouts
--------------------------------------------------- */
/* frame */
.frame {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
}
.frame__header,
.frame__footer {
  flex-grow: 0;
  width: 100%;
}
.frame__content {
  flex-grow: 1;
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 47.999em) {
  .frame__content {
    min-height: 48rem;
    padding-top: 7.5rem;
  }
}
@media screen and (min-width: 48em) {
  .frame__header,
  .frame__footer,
  .frame__content {
    min-width: 1024px;
  }
  .frame__content {
    min-height: 80rem;
    padding-top: 14.7rem;
  }
}
/* column */
.grid {
  display: grid;
}
.grid.-g2 {
  gap: 0.2rem;
}
.grid.-g4 {
  gap: 0.4rem;
}
.grid.-g8 {
  gap: 0.8rem;
}
.grid img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 47.999em) {
  .grid {
    grid-template-columns: 1fr;
    max-width: 100%;
  }
  .grid.-c2-sp {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid.-c3-sp {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid.-g2-sp {
    gap: 0.2rem;
  }
  .grid.-g4-sp {
    gap: 0.4rem;
  }
  .grid.-g8-sp {
    gap: 0.8rem;
  }
  .grid.-g16-sp {
    gap: 1.6rem;
  }
}
@media screen and (min-width: 48em) {
  .grid__item {
    grid-column: span 2;
  }
  .grid.-c2 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid.-c3 {
    grid-template-columns: repeat(6, 1fr);
  }
  .grid.-c4 {
    grid-template-columns: repeat(8, 1fr);
  }
  .grid.-c5 {
    grid-template-columns: repeat(10, 1fr);
  }
  .grid.-g2-pc {
    gap: 0.2rem;
  }
  .grid.-g4-pc {
    gap: 0.4rem;
  }
  .grid.-g8-pc {
    gap: 0.8rem;
  }
  .grid.-g16-pc {
    gap: 1.6rem;
  }
  .grid.-middle {
    align-items: center;
  }
}
/* Components
--------------------------------------------------- */
/**
 * structure
 */
/* header */
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  background: #fff url("../img/bg.png") 0 0 repeat;
}
.header.-sticky {
  transition: box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  box-shadow: 0 2px 4px 0 rgba(0,0,0,0.08);
}
@media screen and (max-width: 47.999em) {
  .header {
    padding: 0.4rem 4.27%;
  }
  .header__logo {
    width: 5.6rem;
  }
}
@media screen and (min-width: 48em) {
  .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.6rem 2.78%;
    transition: padding 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .header__logo {
    width: 9.6rem;
  }
  .header.-sticky {
    padding: 0.8rem 2.78%;
    transition: padding 1s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .header.-sticky .header__logo {
    width: 6.4rem;
    transition: width 1s cubic-bezier(0.19, 1, 0.22, 1);
  }
}
@media not all and (hover: none) and (pointer: coarse) {
  .header__logo {
    transition: opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .header__logo:hover {
    opacity: 0.7;
    transition: opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  }
}
@media screen and (max-width: 47.999em) {
  .nav__container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -100vh;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    background-color: #006953;
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1), top 0.1s cubic-bezier(0.19, 1, 0.22, 1) 1s;
  }
  .nav__container-inner {
    transform: translateY(-10%);
    transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .nav__button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 4.27%;
    z-index: 999;
    width: 4rem;
    height: 4rem;
    display: block;
    cursor: pointer;
  }
  .nav__button-icon {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    width: 4rem;
    height: 1px;
    background-color: #006953;
    border-radius: 2px;
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .nav__button-icon::before,
  .nav__button-icon::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 4rem;
    height: 1px;
    background-color: #006953;
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .nav__button-icon::before {
    transform: translateY(-8px);
  }
  .nav__button-icon::after {
    transform: translateY(8px);
  }
  .nav.-open .nav__container {
    top: 0;
    z-index: 100;
    overflow-y: scroll;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .nav.-open .nav__container-inner {
    transform: translateY(0);
    transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .nav.-open .nav__button-icon {
    background-color: transparent;
  }
  .nav.-open .nav__button-icon::before {
    background-color: #fff;
    transform: rotate(15deg) scale(1);
  }
  .nav.-open .nav__button-icon::after {
    background-color: #fff;
    transform: rotate(-15deg);
  }
}
.nav-menu {
  font-weight: 700;
}
@media screen and (max-width: 47.999em) {
  .nav-menu {
    font-size: 2rem;
  }
  .nav-menu a,
  .nav-menu a:link,
  .nav-menu a:visited {
    color: #fff;
  }
  .nav-menu__item {
    line-height: 2;
    text-align: center;
  }
  .nav-menu__item > a {
    display: block;
  }
  .nav-menu__item:not(:first-child) {
    margin-top: 2rem;
  }
  .nav-menu__item.-booking {
    display: none;
  }
  .nav-menu__item.-sns {
    margin-top: 3.2rem;
  }
}
@media screen and (min-width: 48em) {
  .nav-menu {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    font-size: 1.6rem;
  }
  .nav-menu a,
  .nav-menu a:link,
  .nav-menu a:visited {
    color: #006953;
  }
  .nav-menu__item.-booking {
    margin-left: 0.8rem;
  }
  .nav-menu__item.-sns {
    display: none;
  }
}
@media screen and (min-width: 70em) {
  .nav-menu__item.-sns {
    margin-left: 0.8rem;
    display: block;
  }
}
@media screen and (min-width: 80em) {
  .nav-menu {
    gap: 2rem;
  }
  .nav-menu__item.-booking {
    margin-left: 1.6rem;
  }
  .nav-menu__item.-sns {
    margin-left: 1.6rem;
    display: block;
  }
}
@media not all and (hover: none) and (pointer: coarse) {
  .nav-menu a:hover,
  .nav-menu a:active {
    text-decoration: underline;
  }
}
/* footer */
.footer {
  position: relative;
  display: grid;
  justify-content: center;
  gap: 1.6rem;
}
.footer::after {
  content: '';
  position: absolute;
  pointer-events: none;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.0' viewBox='0 0 1440 63.489'%3E%3Cpath fill='%23A35640' d='M213 .09c-46.5.7-111.7 3.2-179.7 6.9-15 .8-28.6 1.5-30.3 1.5H0v55h1440V8.39l-12.7.6c-7.1.3-32.1 1-55.8 1.5-102.5 2.5-236.2 7.3-294 10.5-164.2 9.4-216.5 11.5-289 11.5-81.4 0-127.3-2.8-250.5-15-104.7-10.4-149-13.9-203-15.9-28.8-1.1-92.7-1.9-122-1.5z'/%3E%3C/svg%3E") center bottom no-repeat;
}
.footer__copyright {
  font-size: 1.2rem;
  text-align: center;
}
.footer__booking {
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 9999;
}
@media screen and (max-width: 47.999em) {
  .footer {
    padding: 4rem 0 12rem;
  }
  .footer__copyright {
    margin-top: 2.4rem;
  }
}
@media screen and (min-width: 48em) {
  .footer {
    padding: 6rem 0 20rem;
  }
  .footer__copyright {
    margin-top: 8rem;
  }
  .footer__booking {
    display: none;
  }
}
/**
 * common
 */
.section {
  line-height: 2;
}
.section strong {
  font-weight: bolder;
}
.section em {
  font-style: italic;
}
.section small {
  font-size: 0.8em;
}
.section a,
.section a:link,
.section a:visited {
  color: #006953;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.section p + p {
  margin-top: 1em;
}
.section p + img {
  margin-top: 1.5em;
}
.section img + p {
  margin-bottom: 1.5em;
}
.section ul:not([class]) > li,
.section ol:not([class]) > li {
  position: relative;
}
.section ul:not([class]) > li:nth-child(n+2),
.section ol:not([class]) > li:nth-child(n+2) {
  margin-top: 0.1em;
}
.section ul:not([class]) > li::before,
.section ol:not([class]) > li::before {
  display: inline-block;
  position: absolute;
}
.section ul:not([class]) > li > ul,
.section ol:not([class]) > li > ul,
.section ul:not([class]) > li > ol,
.section ol:not([class]) > li > ol {
  margin: 0.5em 0 !important;
}
.section ul:not([class]) > li {
  padding-left: 1em;
}
.section ul:not([class]) > li::before {
  content: '';
  top: 1em;
  left: 0.1em;
  transform: translateY(-25%);
  width: 0.25em;
  height: 0.25em;
  border-radius: 50%;
  background-color: #006953;
}
.section ol:not([class]) {
  counter-reset: num;
}
.section ol:not([class]) > li {
  padding-left: 1.25em;
}
.section ol:not([class]) > li::before {
  content: '' counter(num) '.';
  counter-increment: num;
  left: 0;
  width: 1.25em;
  color: #006953;
}
@media screen and (max-width: 47.999em) {
  .section {
    margin: 3.2rem 4.27%;
  }
  .section.-narrow,
  .section.-medium {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
  }
}
@media screen and (min-width: 48em) {
  .section {
    margin: 6rem auto;
  }
  .section.-narrow,
  .section.-medium {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
  }
  .section.-narrow {
    max-width: 80rem;
  }
  .section.-medium {
    max-width: 100rem;
  }
}
@media not all and (hover: none) and (pointer: coarse) {
  .section a:hover,
  .section a:active {
    color: #eccf00;
  }
}
.anchor-point {
  display: block;
}
@media screen and (max-width: 47.999em) {
  .anchor-point {
    padding-top: 4.8rem;
    margin-top: -4.8rem;
  }
}
@media screen and (min-width: 48em) {
  .anchor-point {
    padding-top: 8rem;
    margin-top: -8rem;
  }
}
.h-section {
  font-weight: 700;
  line-height: 1;
}
.h-section a,
.h-section a:link,
.h-section a:visited {
  color: #31251c;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(49,37,28,0.2);
  text-underline-offset: 4px;
}
.txt-lead {
  font-weight: 500;
}
.txt-small {
  font-size: 1.4rem;
}
.txt-note,
.list-notes > li,
.list-footnotes > li {
  padding-left: 1.2em;
  font-size: 1.4rem;
}
.txt-note::before,
.list-notes > li::before,
.list-footnotes > li::before {
  width: 1.2em;
  margin-left: -1.2em;
}
.txt-note::before,
.list-notes > li::before {
  display: inline-block;
  content: '\203B';
}
.list-footnotes {
  counter-reset: num;
}
.list-footnotes > li::before {
  content: '*' counter(num) ': ';
  counter-increment: num;
}
.list-notes > li:nth-child(n+2),
.list-footnotes > li:nth-child(n+2) {
  margin-top: 0.1em;
}
@media screen and (max-width: 47.999em) {
  .h-section {
    font-size: 2.4rem;
  }
  .h-section + p {
    margin-top: 0.8rem;
  }
  .txt-lead {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 48em) {
  .h-section {
    font-size: 2.8rem;
  }
  .h-section + p {
    margin-top: 1.6rem;
  }
  .txt-lead {
    font-size: 1.8rem;
    line-height: 2.33;
  }
}
@media not all and (hover: none) and (pointer: coarse) {
  .h-section a:hover,
  .h-section a:active {
    color: #eccf00;
  }
}
.link-button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #eccf00;
  font-weight: 700;
  color: #006953;
  letter-spacing: 0;
}
.link-button::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 60 27'%3E%3Cpath fill='%23006953' d='M42.907 15.94c1.05 1.31-2.82 2-1.52 4.54 1.31 2.54 6.58 4.59 9.48-.29 2.9-4.89 7.89-4.72 9.01-5.91 1.12-1.19-5.77-3.55-7.27-3.97-1.5-.42-4.41-1.35-7.02-1-2.61.35-5.76 2.8-2.68 6.63ZM26.957 9.55c3.06 1.51 4.34-.47 6.08 2.66.73 1.32 5.39 2.89 7.06-2.96 1.56-5.46 2.53-6.92 2.35-8.54-.17-1.62-1.96.57-5.49 1.57-1.5.42-4.31.68-6.89 1.22-4.75.99-5.84 4.71-3.12 6.05h.01Z'/%3E%3Cpath fill='%23fff' d='M54.13 13.87s-5.84-.45-9.58 1.81l9.58-1.81ZM32 8.85s5.46-2.11 7.86-5.76L32 8.85Z'/%3E%3Cpath fill='%23B5385A' d='M.828 15.76c3.35-3.33 5.14-4.39 8.15-5.5 3.39-1.24 7.04-1.61 10.64-1.48 5.8.21 11.32 2.79 15.93 6.31.98.75 3.41 2.72 3.92 3.85.51 1.13-.69 2.46-1.92 2.28-2.79-.18-7.76 3.03-11.17 4.51-4.25 1.84-9.34 1.31-14.14-1.12-4.07-2.06-7.32-6.34-9.35-6.62-.57-.08-1.51-.22-1.99-.52-.45-.28-.67-1.1-.07-1.71Z'/%3E%3Cpath fill='%23fff' d='M10.158 13.06s2.34-.26 3.02 1.27c.68 1.53-.04 2.33-.04 2.33s-1.33-2.47-2.97-3.6h-.01ZM19.367 18.82c1.72.23 3.86 2.33.81 4.34 0 0 .86-2.78-.81-4.34ZM21.507 12.24s1.83 1.45 2.21 2.88c0 0 1.5-3.12-2.21-2.88ZM28.598 15.25s2.01 1.65 1.43 3.71c0 0 2.15-.75 1.16-2.43-.99-1.69-2.59-1.28-2.59-1.28Z'/%3E%3C/svg%3E");
  width: 6rem;
  height: 2.7rem;
  margin-right: 0.8rem;
  line-height: 1;
}
.link-button > a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 47.999em) {
  .link-button {
    padding: 0 2.4rem;
    font-size: 2rem;
    line-height: 7.2rem;
  }
  .link-button:not(.-footer) {
    line-height: 5.6rem;
    border-radius: 5.6rem;
  }
}
@media screen and (min-width: 48em) {
  .link-button {
    padding: 0 4.8rem;
    border-radius: 9rem;
    font-size: 2.4rem;
    line-height: 9rem;
  }
  .link-button.-sm {
    padding: 0 2.4rem;
    font-size: 1.6rem;
    line-height: 6rem;
  }
}
@media not all and (hover: none) and (pointer: coarse) {
  .link-button {
    transition: background-color 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .link-button:hover {
    background-color: #006953;
    color: #fff;
    transition: background-color 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .link-button:hover::before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 60 27'%3E%3Cpath fill='%23ECCF00' d='M42.907 15.94c1.05 1.31-2.82 2-1.52 4.54 1.31 2.54 6.58 4.59 9.48-.29 2.9-4.89 7.89-4.72 9.01-5.91 1.12-1.19-5.77-3.55-7.27-3.97-1.5-.42-4.41-1.35-7.02-1-2.61.35-5.76 2.8-2.68 6.63ZM26.957 9.55c3.06 1.51 4.34-.47 6.08 2.66.73 1.32 5.39 2.89 7.06-2.96 1.56-5.46 2.53-6.92 2.35-8.54-.17-1.62-1.96.57-5.49 1.57-1.5.42-4.31.68-6.89 1.22-4.75.99-5.84 4.71-3.12 6.05h.01Z'/%3E%3Cpath fill='%23006953' d='M54.13 13.87s-5.84-.45-9.58 1.81l9.58-1.81ZM32 8.85s5.46-2.11 7.86-5.76L32 8.85Z'/%3E%3Cpath fill='%23B5385A' d='M.828 15.76c3.35-3.33 5.14-4.39 8.15-5.5 3.39-1.24 7.04-1.61 10.64-1.48 5.8.21 11.32 2.79 15.93 6.31.98.75 3.41 2.72 3.92 3.85.51 1.13-.69 2.46-1.92 2.28-2.79-.18-7.76 3.03-11.17 4.51-4.25 1.84-9.34 1.31-14.14-1.12-4.07-2.06-7.32-6.34-9.35-6.62-.57-.08-1.51-.22-1.99-.52-.45-.28-.67-1.1-.07-1.71Z'/%3E%3Cpath fill='%23fff' d='M10.158 13.06s2.34-.26 3.02 1.27c.68 1.53-.04 2.33-.04 2.33s-1.33-2.47-2.97-3.6h-.01ZM19.367 18.82c1.72.23 3.86 2.33.81 4.34 0 0 .86-2.78-.81-4.34ZM21.507 12.24s1.83 1.45 2.21 2.88c0 0 1.5-3.12-2.21-2.88ZM28.598 15.25s2.01 1.65 1.43 3.71c0 0 2.15-.75 1.16-2.43-.99-1.69-2.59-1.28-2.59-1.28Z'/%3E%3C/svg%3E");
  }
}
.sns-link {
  display: grid;
  justify-content: center;
  grid-template-columns: 4.8rem 4.8rem;
  gap: 1.6rem;
}
.sns-link.-sm {
  grid-template-columns: 3.2rem 3.2rem;
}
/**
 * section
 */
/* hero */
.hero {
  position: relative;
  overflow: hidden;
}
.hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: #fff url("../img/bg.png") center bottom repeat;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.0' viewBox='0 0 1440 63.489'%3E%3Cpath d='M213 .09c-46.5.7-111.7 3.2-179.7 6.9-15 .8-28.6 1.5-30.3 1.5H0v55h1440V8.39l-12.7.6c-7.1.3-32.1 1-55.8 1.5-102.5 2.5-236.2 7.3-294 10.5-164.2 9.4-216.5 11.5-289 11.5-81.4 0-127.3-2.8-250.5-15-104.7-10.4-149-13.9-203-15.9-28.8-1.1-92.7-1.9-122-1.5z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.0' viewBox='0 0 1440 63.489'%3E%3Cpath d='M213 .09c-46.5.7-111.7 3.2-179.7 6.9-15 .8-28.6 1.5-30.3 1.5H0v55h1440V8.39l-12.7.6c-7.1.3-32.1 1-55.8 1.5-102.5 2.5-236.2 7.3-294 10.5-164.2 9.4-216.5 11.5-289 11.5-81.4 0-127.3-2.8-250.5-15-104.7-10.4-149-13.9-203-15.9-28.8-1.1-92.7-1.9-122-1.5z'/%3E%3C/svg%3E");
  -webkit-mask-position: center bottom;
  mask-position: center bottom;
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.hero__copy {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 99;
  width: 100%;
  font-weight: 700;
  color: #fff;
  text-shadow: 0px 0px 4px rgba(0,0,0,0.2);
  letter-spacing: 0.04em;
  line-height: 2;
  text-align: center;
}
.hero__image {
  background-position: center center;
  background-size: cover;
}
.hero__nav > .swiper-pagination-bullet {
  margin: 0 0.6rem !important;
  width: 1.2rem;
  height: 1.2rem;
  background: #fff;
  opacity: 0.5;
}
.hero__nav > .swiper-pagination-bullet-active {
  opacity: 1;
}
@media screen and (max-width: 47.999em) {
  .hero {
    padding: 0 4.27%;
  }
  .hero__copy {
    font-size: 2rem;
  }
  .hero__image {
    height: 85.33vw;
    min-height: 32rem;
    max-height: calc(100vh - 10rem);
  }
  .hero__nav {
    bottom: 4rem !important;
  }
}
@media screen and (min-width: 48em) {
  .hero__copy {
    font-size: 3.6rem;
  }
  .hero__image {
    height: 47.36vw;
    min-height: 68.2rem;
    max-height: 68.2vh;
  }
  .hero__nav {
    bottom: 6.4rem !important;
  }
}
/* intro */
.intro {
  display: grid;
}
@media screen and (max-width: 47.999em) {
  .intro {
    gap: 2.4rem;
  }
  .intro__col {
    display: grid;
    gap: 2.4rem;
  }
}
@media screen and (min-width: 48em) {
  .intro {
    gap: 4rem;
    width: 90.83%;
    max-width: 124rem;
    padding-left: 8.33%;
  }
  .intro__col {
    display: grid;
    grid-template-columns: auto 36rem;
    gap: 4rem;
  }
}
/* profile */
.profile__content {
  color: #fdf1e0;
  background: #006953 url("../img/bg.png") 0 0 repeat;
}
.profile__content-heading {
  font-weight: 700;
  letter-spacing: 0;
  line-height: 2;
  border-bottom: 1px solid rgba(253,241,224,0.2);
}
.profile__content-text > h4 {
  margin-bottom: 1.6rem;
  font-weight: 500;
  line-height: 1.33;
}
@media screen and (max-width: 47.999em) {
  .profile {
    margin-bottom: 6.4rem;
  }
  .profile__content {
    padding: 1.6rem 7% 7%;
  }
  .profile__content-heading {
    font-size: 1.4rem;
  }
  .profile__content-text {
    margin-top: 1.6rem;
    margin-bottom: 1.6rem;
  }
  .profile__content-text > h4 {
    font-size: 1.8rem;
  }
  .profile__image {
    margin-top: 1px;
    width: 100%;
    height: 50vw;
  }
  .profile__image > img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 48em) {
  .profile {
    position: relative;
    width: 90.83%;
    max-width: 124rem;
    min-height: 66rem;
    margin-bottom: 12rem;
  }
  .profile__content {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 4rem;
    width: 83.71%;
    padding: 6.4rem 1.61% 6.4rem 33.71%;
    margin-left: auto;
  }
  .profile__content::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    transform: translateX(100%);
    width: 50vw;
    height: 100%;
    background: #006953 url("../img/bg.png") 0 0 repeat;
  }
  .profile__content-heading {
    width: 100%;
    font-size: 2.1rem;
  }
  .profile__content-text {
    width: calc(66.66% - 4rem);
  }
  .profile__content-text > h4 {
    font-size: 1.8rem;
  }
  .profile__content-text > p {
    font-size: 1.6rem;
  }
  .profile__content-portrait {
    width: 33.33%;
  }
  .profile__image {
    position: absolute;
    top: 7.6rem;
    left: 0.32%;
    width: 41.94%;
    height: calc(100% - 7.6rem);
  }
  .profile__image > img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/* experience */
.experience__content {
  display: flex;
  flex-direction: column;
  background: #f1e2cd url("../img/bg.png") 0 0 repeat;
}
.experience__content-heading {
  font-weight: 700;
  letter-spacing: 0;
  line-height: 2;
  border-bottom: 1px solid rgba(253,241,224,0.2);
}
.experience__content-text > h4 {
  margin-bottom: 1.6rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 47.999em) {
  .experience {
    margin-top: 6.4rem;
  }
  .experience__content {
    gap: 2.4rem;
    padding: 9.33%;
  }
  .experience__image {
    margin-top: 1px;
    width: 100%;
    height: 50vw;
  }
  .experience__image > img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 48em) {
  .experience {
    position: relative;
    width: 90.83%;
    max-width: 130.8rem;
    margin-top: 12rem;
  }
  .experience__content {
    align-items: flex-start;
    gap: 4rem;
    width: 87%;
    padding: 7.2rem 33.18% 8.8rem 7.95%;
  }
  .experience__image {
    position: absolute;
    top: 7.2rem;
    right: 0;
    width: 39.76%;
    height: calc(100% - 16rem);
  }
  .experience__image > img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/* faq */
.faq-list__q,
.faq-list__a {
  display: grid;
  gap: 1.6rem;
}
.faq-list__q::before,
.faq-list__a::before {
  font-weight: 700;
  text-align: center;
}
.faq-list__q {
  border-radius: 0.4rem;
  background-color: #fff;
  font-weight: 700;
  line-height: 1.33;
  cursor: pointer;
}
.faq-list__q::before {
  content: 'Q';
}
.faq-list__q-ico {
  position: relative;
  width: 1.6rem;
  height: 2.2rem;
}
.faq-list__q-ico::before,
.faq-list__q-ico::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background-color: #31251c;
  transition: transform 0.25s ease;
}
.faq-list__q-ico::before {
  transform: translate(-50%, -50%);
}
.faq-list__q-ico::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.faq-list__q.-open {
  border-radius: 0.4rem 0.4rem 0 0;
}
.faq-list__q.-open .faq-list__q-ico::after {
  transform: translate(-50%, -50%) rotate(0);
}
.faq-list__a {
  position: relative;
  height: 0;
  opacity: 0;
  border-radius: 0 0 0.4rem 0.4rem;
  background-color: #fff;
  font-size: 1.4rem;
  line-height: 1.75;
  transition: all 0.25s ease;
  overflow: hidden;
}
.faq-list__a::before {
  content: 'A';
}
.faq-list__a.-open {
  transition: all 0.25s ease;
  opacity: 1;
}
@media screen and (max-width: 47.999em) {
  .faq-list {
    --faq-padding: 24px;
  }
  .faq-list__q::before,
  .faq-list__a::before {
    width: 1.6rem;
    font-size: 1.6rem;
  }
  .faq-list__q {
    grid-template-columns: 1.6rem auto 1.6rem;
    margin-top: 0.4rem;
    padding: 1.6rem 1.2rem;
    font-size: 1.6rem;
  }
  .faq-list__a {
    grid-template-columns: 1.6rem auto;
    padding: 0 1.2rem;
  }
  .faq-list__a.-open {
    padding: 0 1.2rem 1.2rem 1.2rem;
  }
}
@media screen and (min-width: 48em) {
  .faq-list {
    --faq-padding: 24px;
  }
  .faq-list__q::before,
  .faq-list__a::before {
    width: 4rem;
    font-size: 1.8rem;
  }
  .faq-list__q {
    grid-template-columns: 4rem auto 1.6rem;
    margin-top: 0.4rem;
    padding: 2rem 2.4rem;
    font-size: 1.8rem;
  }
  .faq-list__a {
    grid-template-columns: 4rem auto;
    padding: 0 2.4rem;
  }
  .faq-list__a.-open {
    padding: 0 2.4rem 2.4rem 2.4rem;
  }
}
/* note */
.note-list {
  width: 100%;
}
.note-list__item {
  position: relative;
}
.note-list__item > img {
  margin: 0;
  width: 100%;
  height: 16.8rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.note-list__item > h3 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}
.note-list__item > a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 47.999em) {
  .note-list {
    padding: 0 4.66%;
  }
  .note-list__item > h3 {
    margin-top: 0.8rem;
  }
  .note-list__item:not(:first-child) {
    margin-top: 2.4rem;
  }
}
@media screen and (min-width: 48em) {
  .note-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2rem;
  }
  .note-list__item > h3 {
    margin-top: 1.6rem;
  }
}
/* Trumps
--------------------------------------------------- */
/* typo */
._center {
  text-align: center !important;
}
._left {
  text-align: left !important;
}
._right {
  text-align: right !important;
}
._small {
  font-size: 0.8em !important;
}
._large {
  font-size: 1.2em !important;
}
._nowrap {
  white-space: nowrap;
}
@media screen and (max-width: 47.999em) {
  ._center-sp {
    text-align: center !important;
  }
  ._left-sp {
    text-align: left !important;
  }
  ._right-sp {
    text-align: right !important;
  }
  ._small-sp {
    font-size: 0.8em !important;
  }
  ._large-sp {
    font-size: 1.2em !important;
  }
  ._nowrap-sp {
    white-space: nowrap;
  }
}
@media screen and (min-width: 48em) {
  ._center-pc {
    text-align: center !important;
  }
  ._left-pc {
    text-align: left !important;
  }
  ._right-pc {
    text-align: right !important;
  }
  ._small-pc {
    font-size: 0.8em !important;
  }
  ._large-pc {
    font-size: 1.2em !important;
  }
  ._nowrap-pc {
    white-space: nowrap;
  }
}
/* layout */
._pull-rt {
  float: right !important;
}
._pull-lt {
  float: left !important;
}
._p0 {
  padding: 0 !important;
}
._pt0,
._py0 {
  padding-top: 0 !important;
}
._pb0,
._py0 {
  padding-bottom: 0 !important;
}
._mr-auto {
  margin-right: auto !important;
}
._ml-auto {
  margin-left: auto !important;
}
._mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}
._m0 {
  margin: 0 !important;
}
._mt0,
._my0 {
  margin-top: 0 !important;
}
._mb0,
._my0 {
  margin-bottom: 0 !important;
}
._mt2,
._my2 {
  margin-top: 0.2rem !important;
}
._mb2,
._my2 {
  margin-bottom: 0.2rem !important;
}
._mt4,
._my4 {
  margin-top: 0.4rem !important;
}
._mb4,
._my4 {
  margin-bottom: 0.4rem !important;
}
._mt8,
._my8 {
  margin-top: 0.8rem !important;
}
._mb8,
._my8 {
  margin-bottom: 0.8rem !important;
}
._mt12,
._my12 {
  margin-top: 1.2rem !important;
}
._mb12,
._my12 {
  margin-bottom: 1.2rem !important;
}
._mt16,
._my16 {
  margin-top: 1.6rem !important;
}
._mb16,
._my16 {
  margin-bottom: 1.6rem !important;
}
._mt20,
._my20 {
  margin-top: 2rem !important;
}
._mb20,
._my20 {
  margin-bottom: 2rem !important;
}
._mt24,
._my24 {
  margin-top: 2.4rem !important;
}
._mb24,
._my24 {
  margin-bottom: 2.4rem !important;
}
._mt28,
._my28 {
  margin-top: 2.8rem !important;
}
._mb28,
._my28 {
  margin-bottom: 2.8rem !important;
}
._mt32,
._my32 {
  margin-top: 3.2rem !important;
}
._mb32,
._my32 {
  margin-bottom: 3.2rem !important;
}
._mt40,
._my40 {
  margin-top: 4rem !important;
}
._mb40,
._my40 {
  margin-bottom: 4rem !important;
}
._mt48,
._my48 {
  margin-top: 4.8rem !important;
}
._mb48,
._my48 {
  margin-bottom: 4.8rem !important;
}
._mt56,
._my56 {
  margin-top: 5.6rem !important;
}
._mb56,
._my56 {
  margin-bottom: 5.6rem !important;
}
._mt64,
._my64 {
  margin-top: 6.4rem !important;
}
._mb64,
._my64 {
  margin-bottom: 6.4rem !important;
}
._mt72,
._my72 {
  margin-top: 7.2rem !important;
}
._mb72,
._my72 {
  margin-bottom: 7.2rem !important;
}
._mt80,
._my80 {
  margin-top: 8rem !important;
}
._mb80,
._my80 {
  margin-bottom: 8rem !important;
}
._mt96,
._my96 {
  margin-top: 9.6rem !important;
}
._mb96,
._my96 {
  margin-bottom: 9.6rem !important;
}
._mt120,
._my120 {
  margin-top: 12rem !important;
}
._mb120,
._my120 {
  margin-bottom: 12rem !important;
}
._mt160,
._my160 {
  margin-top: 16rem !important;
}
._mb160,
._my160 {
  margin-bottom: 16rem !important;
}
@media screen and (max-width: 47.999em) {
  ._p0-sp {
    padding: 0 !important;
  }
  ._pt0-sp,
  ._py0-sp {
    padding-top: 0 !important;
  }
  ._pb0-sp,
  ._py0-sp {
    padding-bottom: 0 !important;
  }
  ._mr-auto-sp {
    margin-right: auto !important;
  }
  ._ml-auto-sp {
    margin-left: auto !important;
  }
  ._mx-auto-sp {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  ._mt2-sp,
  ._my2-sp {
    margin-top: 0.2rem !important;
  }
  ._mb2-sp,
  ._my2-sp {
    margin-bottom: 0.2rem !important;
  }
  ._mt4-sp,
  ._my4-sp {
    margin-top: 0.4rem !important;
  }
  ._mb4-sp,
  ._my4-sp {
    margin-bottom: 0.4rem !important;
  }
  ._mt8-sp,
  ._my8-sp {
    margin-top: 0.8rem !important;
  }
  ._mb8-sp,
  ._my8-sp {
    margin-bottom: 0.8rem !important;
  }
  ._mt12-sp,
  ._my12-sp {
    margin-top: 1.2rem !important;
  }
  ._mb12-sp,
  ._my12-sp {
    margin-bottom: 1.2rem !important;
  }
  ._mt16-sp,
  ._my16-sp {
    margin-top: 1.6rem !important;
  }
  ._mb16-sp,
  ._my16-sp {
    margin-bottom: 1.6rem !important;
  }
  ._mt20-sp,
  ._my20-sp {
    margin-top: 2rem !important;
  }
  ._mb20-sp,
  ._my20-sp {
    margin-bottom: 2rem !important;
  }
  ._mt24-sp,
  ._my24-sp {
    margin-top: 2.4rem !important;
  }
  ._mb24-sp,
  ._my24-sp {
    margin-bottom: 2.4rem !important;
  }
  ._mt28-sp,
  ._my28-sp {
    margin-top: 2.8rem !important;
  }
  ._mb28-sp,
  ._my28-sp {
    margin-bottom: 2.8rem !important;
  }
  ._mt32-sp,
  ._my32-sp {
    margin-top: 3.2rem !important;
  }
  ._mb32-sp,
  ._my32-sp {
    margin-bottom: 3.2rem !important;
  }
  ._mt40-sp,
  ._my40-sp {
    margin-top: 4rem !important;
  }
  ._mb40-sp,
  ._my40-sp {
    margin-bottom: 4rem !important;
  }
  ._mt48-sp,
  ._my48-sp {
    margin-top: 4.8rem !important;
  }
  ._mb48-sp,
  ._my48-sp {
    margin-bottom: 4.8rem !important;
  }
  ._mt56-sp,
  ._my56-sp {
    margin-top: 5.6rem !important;
  }
  ._mb56-sp,
  ._my56-sp {
    margin-bottom: 5.6rem !important;
  }
  ._mt64-sp,
  ._my64-sp {
    margin-top: 6.4rem !important;
  }
  ._mb64-sp,
  ._my64-sp {
    margin-bottom: 6.4rem !important;
  }
  ._mt72-sp,
  ._my72-sp {
    margin-top: 7.2rem !important;
  }
  ._mb72-sp,
  ._my72-sp {
    margin-bottom: 7.2rem !important;
  }
  ._mt80-sp,
  ._my80-sp {
    margin-top: 8rem !important;
  }
  ._mb80-sp,
  ._my80-sp {
    margin-bottom: 8rem !important;
  }
  ._mt96-sp,
  ._my96-sp {
    margin-top: 9.6rem !important;
  }
  ._mb96-sp,
  ._my96-sp {
    margin-bottom: 9.6rem !important;
  }
  ._mt120-sp,
  ._my120-sp {
    margin-top: 12rem !important;
  }
  ._mb120-sp,
  ._my120-sp {
    margin-bottom: 12rem !important;
  }
  ._mt160-sp,
  ._my160-sp {
    margin-top: 16rem !important;
  }
  ._mb160-sp,
  ._my160-sp {
    margin-bottom: 16rem !important;
  }
}
@media screen and (min-width: 48em) {
  ._p0-pc {
    padding: 0 !important;
  }
  ._pt0-pc,
  ._py0-pc {
    padding-top: 0 !important;
  }
  ._pb0-pc,
  ._py0-pc {
    padding-bottom: 0 !important;
  }
  ._mr-auto-pc {
    margin-right: auto !important;
  }
  ._ml-auto-pc {
    margin-left: auto !important;
  }
  ._mx-auto-pc {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  ._mt2-pc,
  ._my2-pc {
    margin-top: 0.2rem !important;
  }
  ._mb2-pc,
  ._my2-pc {
    margin-bottom: 0.2rem !important;
  }
  ._mt4-pc,
  ._my4-pc {
    margin-top: 0.4rem !important;
  }
  ._mb4-pc,
  ._my4-pc {
    margin-bottom: 0.4rem !important;
  }
  ._mt8-pc,
  ._my8-pc {
    margin-top: 0.8rem !important;
  }
  ._mb8-pc,
  ._my8-pc {
    margin-bottom: 0.8rem !important;
  }
  ._mt12-pc,
  ._my12-pc {
    margin-top: 1.2rem !important;
  }
  ._mb12-pc,
  ._my12-pc {
    margin-bottom: 1.2rem !important;
  }
  ._mt16-pc,
  ._my16-pc {
    margin-top: 1.6rem !important;
  }
  ._mb16-pc,
  ._my16-pc {
    margin-bottom: 1.6rem !important;
  }
  ._mt20-pc,
  ._my20-pc {
    margin-top: 2rem !important;
  }
  ._mb20-pc,
  ._my20-pc {
    margin-bottom: 2rem !important;
  }
  ._mt24-pc,
  ._my24-pc {
    margin-top: 2.4rem !important;
  }
  ._mb24-pc,
  ._my24-pc {
    margin-bottom: 2.4rem !important;
  }
  ._mt28-pc,
  ._my28-pc {
    margin-top: 2.8rem !important;
  }
  ._mb28-pc,
  ._my28-pc {
    margin-bottom: 2.8rem !important;
  }
  ._mt32-pc,
  ._my32-pc {
    margin-top: 3.2rem !important;
  }
  ._mb32-pc,
  ._my32-pc {
    margin-bottom: 3.2rem !important;
  }
  ._mt40-pc,
  ._my40-pc {
    margin-top: 4rem !important;
  }
  ._mb40-pc,
  ._my40-pc {
    margin-bottom: 4rem !important;
  }
  ._mt48-pc,
  ._my48-pc {
    margin-top: 4.8rem !important;
  }
  ._mb48-pc,
  ._my48-pc {
    margin-bottom: 4.8rem !important;
  }
  ._mt56-pc,
  ._my56-pc {
    margin-top: 5.6rem !important;
  }
  ._mb56-pc,
  ._my56-pc {
    margin-bottom: 5.6rem !important;
  }
  ._mt64-pc,
  ._my64-pc {
    margin-top: 6.4rem !important;
  }
  ._mb64-pc,
  ._my64-pc {
    margin-bottom: 6.4rem !important;
  }
  ._mt72-pc,
  ._my72-pc {
    margin-top: 7.2rem !important;
  }
  ._mb72-pc,
  ._my72-pc {
    margin-bottom: 7.2rem !important;
  }
  ._mt80-pc,
  ._my80-pc {
    margin-top: 8rem !important;
  }
  ._mb80-pc,
  ._my80-pc {
    margin-bottom: 8rem !important;
  }
  ._mt96-pc,
  ._my96-pc {
    margin-top: 9.6rem !important;
  }
  ._mb96-pc,
  ._my96-pc {
    margin-bottom: 9.6rem !important;
  }
  ._mt120-pc,
  ._my120-pc {
    margin-top: 12rem !important;
  }
  ._mb120-pc,
  ._my120-pc {
    margin-bottom: 12rem !important;
  }
  ._mt160-pc,
  ._my160-pc {
    margin-top: 16rem !important;
  }
  ._mb160-pc,
  ._my160-pc {
    margin-bottom: 16rem !important;
  }
}
/* responsive */
._hide {
  display: none;
}
@media screen and (max-width: 47.999em) {
  ._hide-sp {
    display: none;
  }
}
@media screen and (min-width: 48em) {
  ._hide-pc {
    display: none;
  }
}
