@charset "UTF-8";
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*!
Theme Name: Hakuba EX Adventure
Author:
*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  overflow-x: hidden;
  max-width: 100vw;
  margin: auto;
  color: #213d15;
  font-size: 62.5%;
  line-height: 1.15;
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
}

.pageName {
  display: none;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-overflow-scrolling: touch;
  font-size: 62.5%;
  scroll-behavior: smooth;
}
html.-load {
  font-family: "A P-OTF KuretakeMeiseki StdN", sans-serif;
}

body {
  position: relative;
  overflow-x: hidden;
  max-width: 100vw;
  color: #213d15;
  line-height: 2;
  -webkit-text-size-adjust: 100%;
}
body.news {
  background-color: #fafafa;
}

.bodyInner {
  max-width: 2560px;
  margin: 0 auto;
  padding-left: 300px;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
  transition: all 0.5s ease;
}
a:hover {
  opacity: 0.7;
}

button {
  padding: 0;
  outline: none;
  border: none;
  background-color: transparent;
  appearance: none;
}

img {
  max-width: 100%;
  border: none;
  vertical-align: top;
}

br.sp {
  display: none;
}
br.pc {
  display: block;
}

.pageTop {
  display: none;
}

.container {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 clamp(16px, 13.8888888889vw, 200px);
}

/* Sections
	 ========================================================================== */
/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
  line-height: 2;
  transition: opacity 0.3s ease;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  overflow: visible;
  box-sizing: content-box;
  height: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-size: 1em;
  font-family: monospace, monospace;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  display: inline-block;
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-size: 1em;
  font-family: monospace, monospace;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-size: 100%;
  font-family: inherit;
  line-height: 1.15;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
  border: none;
  -webkit-appearance: none;
  appearance: none;
  -webkit-appearance: none;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  display: table;
  box-sizing: border-box;
  max-width: 100%;
  padding: 0;
  color: inherit;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  -webkit-appearance: textfield;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

@media (max-width: 768px) {
  .container {
    padding-right: 20px;
    padding-left: 20px;
  }
  br.sp {
    display: inline;
  }
  br.pc {
    display: none;
  }
}
/* Box sizing
--------------------------------------------- */
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  font-weight: normal;
}

p {
  color: #213d15;
  font-size: clamp(1.4rem, 1.1111111111vw, 1.6rem);
  line-height: 200%;
}

body,
button,
input,
select,
optgroup,
textarea {
  font-weight: normal;
  font-style: normal;
  font-size: 1rem;
}

@font-face {
  font-weight: 600;
  font-family: "A P-OTF KuretakeMeiseki StdN";
  src: url("./font/AP-OTF-KuretakeMeisekiStdN-B.otf") format("opentype");
}
@font-face {
  font-weight: 400;
  font-family: "DIN OT";
  src: url("./font/DINOT.otf") format("opentype");
}
@font-face {
  font-weight: 500;
  font-family: "DIN OT";
  src: url("./font/DINOT-Medium.otf") format("opentype");
}
@font-face {
  font-weight: 600;
  font-family: "DIN OT";
  src: url("./font/DINOT-Bold.otf") format("opentype");
}
@font-face {
  font-weight: 700;
  font-family: "DIN OT";
  src: url("./font/DINOT-Black.otf") format("opentype");
}
/* Elements
--------------------------------------------- */
ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

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

/**
 * Default style for figure>img
 */
figure {
  margin-bottom: 0;
  position: relative;
  overflow: hidden;
}
figure::after {
  display: block;
}
figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/* Links
--------------------------------------------- */
/* Forms
--------------------------------------------- */
.copyrights {
  position: fixed;
  top: 50%;
  left: clamp(0px, 1.6666666667vw, 24px);
  z-index: 5;
  color: #8fc13c;
  transform: translate(0%, -50%) scale(-1, -1);
  writing-mode: vertical-rl;
  font-size: clamp(1.2rem, (0.8333333333vw), 1.2rem);
  font-weight: 600;
  line-height: 2;
}

@media only screen and (max-width: 768px) {
  .copyrights {
    display: none;
  }
}
body.home .footerLogoWrap, body.athletic .footerLogoWrap, body.rafting .footerLogoWrap, body.canyoning .footerLogoWrap {
  background-color: #fff;
  background-image: url(./optimized/common/section_bg.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
body.blog .footerLogoWrap, body.team .footerLogoWrap, body.contact .footerLogoWrap, body.contact-thanks .footerLogoWrap, body.privacy .footerLogoWrap, body.faq .footerLogoWrap {
  background-color: #fafafa;
}

.footerLogoWrap {
  display: none;
}

.footer {
  background-color: #157b2a;
}

.footerInner {
  padding-top: clamp(26px, 2.6388888889vw, 38px);
  padding-bottom: clamp(13px, 2.2222222222vw, 32px);
}
.footerInner .container {
  width: 100%;
  max-width: 1920px;
  padding: 0 clamp(16px, 10.0694444444vw, 145px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.footerHeadLogo {
  width: clamp(0px, 7.5vw, 108px);
  height: clamp(0px, 5.2777777778vw, 76px);
}

.footerHeadCompany {
  margin-top: clamp(12px, 1.1805555556vw, 17px);
}

.footerHeadCompanyName {
  color: #fff;
  font-size: clamp(1.6rem, (1.25vw), 1.8rem);
  font-weight: 600;
  line-height: 1.5555555556;
}

.footerHeadSub {
  color: #fff;
  font-size: clamp(1.2rem, (0.9027777778vw), 1.3rem);
  font-weight: 600;
  line-height: 1.2;
}

.footerHeadCompanyAddress {
  color: #fff;
  font-style: normal;
  font-size: clamp(1.6rem, (1.25vw), 1.8rem);
  font-weight: 600;
  line-height: 2;
}

.footerHeadCompanyTel {
  margin-top: clamp(0px, 0.6944444444vw, 10px);
  color: #fff;
  font-size: clamp(1.6rem, (1.25vw), 1.8rem);
  font-weight: 600;
  line-height: 1.5555555556;
}

.footerHeadCompanyTel + .footerHeadCompanyName {
  margin-top: clamp(6px, 1.1111111111vw, 16px);
}

.footerHeadCompanyFax {
  color: #fff;
  font-size: clamp(1.6rem, (1.25vw), 1.8rem);
  font-weight: 600;
  line-height: 1.5555555556;
}

.footerNavWrap {
  width: 66.4347826087%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-direction: row;
}

.footerNavBlock:first-child {
  margin-right: clamp(17px, 4.8611111111vw, 70px);
}
.footerNavBlock:nth-child(2) {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}
.footerNavBlock:nth-child(2) .footerNavList:first-child {
  margin-right: clamp(0px, 6.8055555556vw, 98px);
}

.footerNavList.-social .footerNavItem:not(:last-child) {
  margin-bottom: clamp(8px, 1.3888888889vw, 20px);
}

.footerNavItem:first-child {
  margin-top: 6px;
}
.footerNavItem:not(:last-child) {
  margin-bottom: clamp(0px, 0.5555555556vw, 8px);
}
.footerNavItem.-title {
  margin-bottom: clamp(0px, 0.3472222222vw, 5px);
  color: #fff;
  font-size: clamp(1.6rem, (1.3888888889vw), 2rem);
  font-weight: 600;
  line-height: 2;
}
.footerNavItem.sp {
  display: none;
}
.footerNavItem.pc {
  display: block;
}

.footerNavLink {
  color: #fff;
  white-space: nowrap;
  font-size: clamp(1.4rem, (1.25vw), 1.8rem);
  font-weight: 600;
  line-height: 2;
}
.footerNavLink span.-instagram {
  display: block;
  width: clamp(22px, 2.2222222222vw, 32px);
  height: clamp(22px, 2.2222222222vw, 32px);
  background-image: url(./optimized/common/instagram_icon.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.footerCopy {
  padding-top: clamp(5px, 0.6944444444vw, 10px);
  padding-bottom: clamp(5px, 0.6944444444vw, 10px);
  background-color: #fff;
  color: #8fc13c;
  text-align: center;
  font-size: clamp(1.2rem, (0.8333333333vw), 1.2rem);
  font-weight: 600;
  line-height: 2;
}

@media (max-width: 1200px) {
  .footerLogoWrap {
    display: block;
    margin-bottom: -5px;
    text-align: center;
  }
  .footer {
    position: relative;
    z-index: 1;
  }
  .footerInner .container {
    padding: 0 16px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
  }
  .footerHeadLogo {
    display: none;
  }
  .footerNavWrap {
    width: 100%;
    padding-bottom: 17px;
    border-bottom: 1px solid #3ea75b;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
  }
  .footerNavBlock {
    width: 47.8134110787%;
  }
  .footerNavBlock:first-child {
    margin-right: 0;
  }
  .footerNavBlock:first-child .footerNavList {
    padding: 13px 0;
  }
  .footerNavBlock:nth-child(2) {
    display: block;
  }
  .footerNavList {
    padding: 13px;
    border-top: 1px solid #3ea75b;
  }
  .footerNavList:first-child {
    margin-right: 0 !important;
  }
  .footerNavItem.sp {
    display: block;
  }
  .footerNavItem.pc {
    display: none;
  }
  .footerNavLink.-small {
    font-size: clamp(1rem, (0.9027777778vw), 1.3rem);
    font-weight: 600;
    line-height: 2;
  }
}
form.sent .formModalThanks {
  display: block;
}

.wpcf7 {
  margin-bottom: clamp(0px, 0.4166666667vw, 6px);
}
.wpcf7 input[type=checkbox] {
  display: none;
  width: auto;
}
.wpcf7 input[type=checkbox] + .checkboxIcon {
  display: inline-block;
  margin-top: clamp(3px, 0.2777777778vw, 4px);
}
.wpcf7 input[type=checkbox] + .checkboxIcon:before {
  width: clamp(13px, 0.9027777778vw, 13px);
  height: clamp(13px, 0.9027777778vw, 13px);
  border: 1px solid #6f6f6f;
  background-color: #fafafa;
  content: "";
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.wpcf7 input[type=checkbox]:checked + .checkboxIcon:before {
  width: clamp(13px, 0.9027777778vw, 13px);
  height: clamp(13px, 0.9027777778vw, 13px);
  content: "✓";
  font-family: "Font Awesome 5 Free";
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.wpcf7-form {
  width: 66.5938864629%;
  margin-top: clamp(24px, 3.5416666667vw, 51px);
  margin-right: auto;
  margin-bottom: clamp(69px, 4.7916666667vw, 69px);
  margin-left: auto;
}

.formList {
  width: 100%;
  margin: 0 auto;
}

.formItem.formItemSelect {
  position: relative;
}
.formItem.formItemSelect .itemPlaceHolder {
  position: absolute;
  top: 50%;
  left: 2px;
  width: 90%;
  padding-left: clamp(7px, 0.7638888889vw, 11px);
  background-color: #fff;
  color: #8f8f8f;
  letter-spacing: 0em;
  font-weight: 400;
  font-size: clamp(1rem, 0.6944444444vw, 1rem);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  transform: translate(0%, -50%);
}
.formItem.formItemSelect .itemPlaceHolder.isHidden {
  display: none;
}
.formItem.-select {
  position: relative;
}
.formItem.-select::before {
  position: absolute;
  top: 50%;
  right: clamp(10px, 1.1111111111vw, 16px);
  z-index: 1;
  width: clamp(7px, 0.4861111111vw, 7px);
  height: clamp(14px, 0.9722222222vw, 14px);
  background-image: url(./optimized/common/form_select_arrow.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  transform: translate(0%, -50%);
}
.formItem:not(:last-child) {
  margin-bottom: clamp(12px, 0.8333333333vw, 12px);
}
.formItem p {
  line-height: 1;
}
.formItem span input {
  width: 100%;
  padding-top: clamp(4px, 0.2777777778vw, 4px);
  padding-right: clamp(7px, 0.7638888889vw, 11px);
  padding-bottom: clamp(4px, 0.2777777778vw, 4px);
  padding-left: clamp(7px, 0.7638888889vw, 11px);
  border: 1px solid #6f6f6f;
  border-radius: 0;
  background-color: white;
  letter-spacing: 0em;
  font-weight: 400;
  font-size: clamp(1rem, 0.6944444444vw, 1rem);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  -webkit-appearance: none;
}
.formItem span input::placeholder {
  color: #8f8f8f;
}
.formItem span input.wpcf7-date {
  color: #8f8f8f;
}
.formItem span select {
  position: relative;
  width: 100%;
  padding-top: clamp(4px, 0.2777777778vw, 4px);
  padding-bottom: clamp(4px, 0.2777777778vw, 4px);
  padding-left: clamp(4px, 0.3472222222vw, 5px);
  border: 1px solid #6f6f6f;
  border-radius: 0;
  background-color: white;
  color: #000;
  letter-spacing: 0em;
  font-weight: 400;
  font-size: clamp(1rem, 0.6944444444vw, 1rem);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  -webkit-appearance: none;
}
.formItem span textarea {
  width: 100%;
  height: clamp(166px, 12.9166666667vw, 186px);
  padding-top: clamp(3px, 0.2083333333vw, 3px);
  padding-bottom: clamp(4px, 0.3472222222vw, 5px);
  padding-left: clamp(4px, 0.7638888889vw, 11px);
  border: 1px solid #6f6f6f;
  border-radius: 0;
  background-color: white;
  letter-spacing: 0em;
  font-weight: 400;
  font-size: clamp(1rem, 0.6944444444vw, 1rem);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  -webkit-appearance: none;
}
.formItem span textarea::placeholder {
  color: #8f8f8f;
}

.formLink {
  margin-top: clamp(18px, 1.25vw, 18px);
  color: #1c1c1c;
  font-family: "Noto Sans JP", sans-serif;
}
.formLink a {
  color: #1c1c1c;
  text-decoration: underline;
  font-size: clamp(1.4rem, (1.3888888889vw), 2rem);
  font-weight: 400;
  line-height: 1;
}
.formLink.reservationAgreement {
  margin-top: clamp(4px, 1.0416666667vw, 15px);
}

.wpcf7-checkbox .wpcf7-list-item {
  margin-left: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}
.wpcf7-checkbox .wpcf7-list-item label {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.wpcf7-checkbox span {
  width: auto !important;
  margin-left: clamp(6px, 0.5555555556vw, 8px);
  color: #1c1c1c;
  letter-spacing: 0em;
  font-weight: 400;
  transform: translateY(-1px);
  font-size: clamp(1.4rem, (1.3888888889vw), 2rem);
  font-weight: 400;
  line-height: 1;
}

.formSubmit {
  width: 100%;
  margin-top: clamp(20px, 2.0138888889vw, 29px);
}
.formSubmit .wpcf7-response-output {
  border: none !important;
  font-size: 1.5rem;
}
.formSubmit input {
  width: 100%;
  padding: clamp(10px, 0.6944444444vw, 10px) 0;
  border: 3px solid #157b2a;
  border-radius: 5px;
  background-color: #157b2a;
  color: #fafafa;
  font-family: "Noto Sans JP", sans-serif;
  cursor: pointer;
  transition: all 0.5s ease;
  font-size: clamp(1.8rem, (1.3888888889vw), 2rem);
  font-weight: 400;
  line-height: 1.5;
}
.formSubmit input:hover {
  background-color: #fff;
  color: #157b2a;
}
.formSubmit input.isInactive {
  opacity: 0.5;
}
.formSubmit input.isInactive:hover {
  background-color: #157b2a;
  color: #fafafa;
}

.wpcf7-not-valid-tip {
  margin-top: clamp(2px, 0.2777777778vw, 4px);
  font-size: clamp(1rem, 0.6944444444vw, 1rem);
  font-family: "Noto Sans JP", sans-serif;
}

.formImportant {
  margin-top: clamp(-40px, -2.7777777778vw, -40px);
  color: #ff0000;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.3rem, (1.1805555556vw), 1.7rem);
  font-weight: 400;
  line-height: 1.4705882353;
}

@media (max-width: 768px) {
  .wpcf7-form {
    width: 100%;
    margin-bottom: 100px;
  }
  .wpcf7 {
    position: relative;
    border-bottom: none;
  }
  .wpcf7 input[type=checkbox] + .checkboxIcon::before {
    width: 20px;
    height: 20px;
  }
  .formItem.-select::before {
    width: 15px;
    height: 30px;
  }
  .formItem span .wpcf7-date {
    height: 54px;
  }
  .formItem span input {
    width: 100%;
    padding-top: 13px;
    padding-bottom: 13px;
    font-size: 1.6rem;
  }
  .formItem span textarea {
    height: 220px;
    padding-top: 13px;
    padding-right: 11px;
    padding-bottom: 13px;
    padding-left: 11px;
    font-size: 1.6rem;
  }
  .formItem span select {
    padding-top: 13px;
    padding-bottom: 13px;
    font-size: 1.6rem;
    padding-left: 9px;
    padding-right: 9px;
  }
  .formItem.formItemSelect .itemPlaceHolder {
    font-size: 1.6rem;
  }
  .formSubmit input {
    padding: 8px 0;
  }
  .formLink {
    margin-top: 50px;
  }
  .formLink.reservationAgreement {
    margin-top: 18px;
  }
  .formImportant {
    white-space: normal;
  }
}
body.athletic .formModalContentList {
  margin-bottom: 0;
}
body.athletic .formModalClose {
  font-size: clamp(1.6rem, (2.5694444444vw), 3.7rem);
  font-weight: 600;
  line-height: 1.9459459459;
}

.formModal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 99;
  visibility: hidden;
  width: calc(100% - clamp(32px, 27.7777777778vw, 400px));
  height: 0;
  height: 85svh;
  opacity: 0;
  transition: all 0.3s ease;
  transform: translate(-50%, -50%);
  background-color: #fff;
}
.formModal.is-open {
  visibility: visible;
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  .formModal {
    width: calc(100% - 32px);
  }
}

.formModalOverlay {
  position: fixed;
  top: 50%;
  transition: all 0.3s ease;
  left: 50%;
  display: block;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  z-index: 91;
  transform: translate(-50%, -50%);
  pointer-events: none;
  opacity: 0;
}
.formModalOverlay.is-open {
  opacity: 0.7;
  pointer-events: auto;
}

.formModalContainer {
  position: relative;
  z-index: 9;
  height: 100%;
  padding-top: clamp(40px, 5.5555555556vw, 80px);
  padding-right: clamp(12px, 6.5972222222vw, 95px);
  padding-bottom: clamp(18px, 7.8472222222vw, 113px);
  padding-left: clamp(12px, 6.5972222222vw, 95px);
  background: none;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.25);
}
@media only screen and (max-width: 768px) {
  .formModalContainer {
    padding-left: 12px;
    padding-right: 12px;
  }
}

.formModalInner {
  overflow-y: scroll;
  height: 100%;
}

.formModalTitle {
  padding-bottom: clamp(14px, 1.3888888889vw, 20px);
  border-bottom: 2px solid #000000;
  color: #157b2a;
  text-align: center;
  font-size: clamp(2.2rem, (3.6111111111vw), 5.2rem);
  font-weight: 600;
  line-height: 2;
}
@media only screen and (max-width: 768px) {
  .formModalTitle {
    text-align: left;
  }
}

.formModalContent {
  margin-top: clamp(24px, 2.9166666667vw, 42px);
}

.formModalContentTitle {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (1.1111111111vw), 1.6rem);
  font-weight: 700;
  line-height: 2;
}
.formModalContentTitle + .formModalContentTitle {
  margin-top: clamp(24px, 2.2222222222vw, 32px);
}

.formModalContentText {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (1.1111111111vw), 1.6rem);
  font-weight: 400;
  line-height: 2;
}
.formModalContentText + .formModalContentTitle {
  margin-top: clamp(24px, 2.2222222222vw, 32px);
}

.formModalContentList {
  margin-bottom: clamp(16px, 2.2222222222vw, 32px);
  padding-left: clamp(14px, 1.3888888889vw, 20px);
}

.formModalContentItem {
  position: relative;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (1.1111111111vw), 1.6rem);
  font-weight: 400;
  line-height: 2;
}
.formModalContentItem:before {
  position: absolute;
  top: clamp(0px, 0vw, 0px);
  left: clamp(-20px, -1.3888888889vw, -20px);
  color: #000000;
  content: "・";
  transform: translate(0%, 0%);
  font-size: clamp(1.4rem, (1.1111111111vw), 1.6rem);
  font-weight: 700;
  line-height: 2;
}

.formModalClose {
  width: 100%;
  margin-top: clamp(48px, 4.8611111111vw, 70px);
  padding-top: clamp(16px, 1.5277777778vw, 22px);
  padding-bottom: clamp(16px, 1.5277777778vw, 22px);
  border-radius: 20px;
  background-color: #157b2a;
  color: #fff;
  text-align: center;
  cursor: pointer;
  font-size: clamp(1.6rem, (1.7361111111vw), 2.5rem);
  font-weight: 600;
  line-height: 2;
  transition: all 0.3s ease;
}
.formModalClose:hover {
  opacity: 0.7;
}
.formModalClose.-hide {
  display: none;
}

.formModalButton {
  position: relative;
  color: #1c1c1c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (1.3888888889vw), 2rem);
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
}
.formModalButton::before {
  position: absolute;
  bottom: -2px;
  left: 0%;
  width: 98%;
  height: 2px;
  background-color: #1c1c1c;
  content: "";
  transform: translate(0%, 0%);
}

.formModalThanks {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 10;
  display: none;
  width: 100%;
  height: 100%;
  transition: all 0.3s ease;
  transform: translate(-50%, -50%);
}

.formModalThanksInner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 clamp(16px, 13.8888888889vw, 200px);
  transform: translate(-50%, -50%);
}
.formModalThanksInner .container {
  padding-top: clamp(40px, 7.2222222222vw, 104px);
  padding-right: 0;
  padding-bottom: clamp(40px, 7.7083333333vw, 111px);
  padding-left: 0;
  background-color: #fff;
}
.formModalThanksInner .container p {
  text-align: center;
}

.formModalThanksOverlay {
  position: fixed;
  top: 50%;
  left: 50%;
  display: block;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  opacity: 0.7;
  transform: translate(-50%, -50%);
}

.formModalThanksTitle {
  color: #157b2a;
  text-align: center;
  font-size: clamp(1.6rem, (2.2916666667vw), 3.3rem);
  font-weight: 600;
  line-height: 2;
}

.formModalThanksText {
  margin-top: clamp(40px, 5.7638888889vw, 83px);
  color: #157b2a;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.2rem, (1.3888888889vw), 2rem);
  font-weight: 400;
  line-height: 1.5;
}

.formModalThanksLink {
  width: 38.1730769231%;
  margin-top: clamp(40px, 9.3055555556vw, 134px);
  padding-top: clamp(6px, 0.9027777778vw, 13px);
  padding-bottom: clamp(6px, 0.9027777778vw, 13px);
  border-radius: 20px;
  background-color: #157b2a;
  color: #fff;
  text-align: center;
  transition: all 0.5s ease;
  font-size: clamp(1.4rem, (1.7361111111vw), 2.5rem);
  font-weight: 600;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .formModalThanksInner {
    padding-right: 20px;
    padding-left: 20px;
  }
  .formModalThanksInner .container {
    padding-right: 16px;
    padding-left: 16px;
  }
  .formModalButton::before {
    height: 1px;
  }
}
.burger {
  display: none;
}

@media (max-width: 768px) {
  .burger {
    z-index: 7;
    display: block;
    width: 44px;
    height: 44px;
    margin-right: 3px;
    padding: 10px;
    border-radius: 8px;
    background-color: #8fc13c;
    cursor: pointer;
    transition: all 0.5s ease;
  }
  .burger.isActive {
    background-color: #fff;
  }
  .burger.isActive .burgerWrapper .line {
    width: 40px;
    background-color: #8fc13c;
  }
  .burger.isActive .burgerWrapper .line:nth-of-type(1) {
    transform: translateX(-50%) translateY(11px) rotate(-45deg);
  }
  .burger.isActive .burgerWrapper .line:nth-of-type(2) {
    opacity: 0;
  }
  .burger.isActive .burgerWrapper .line:nth-of-type(3) {
    transform: translateX(-50%) translateY(-10px) rotate(45deg);
  }
  .burgerWrapper {
    position: relative;
    width: 100%;
    height: 100%;
    transition: all 0.5s ease;
  }
  .burgerWrapper .line {
    display: inline-block;
    width: 100%;
    height: 3px;
    border-radius: 10px;
    background-color: #fff;
    transition: all 0.5s ease;
  }
  .burgerWrapper .line:nth-of-type(1) {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .burgerWrapper .line:nth-of-type(2) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .burgerWrapper .line:nth-of-type(3) {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
.header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 5;
  width: 100%;
  padding-top: clamp(9px, 1.8055555556vw, 26px);
  padding-right: clamp(14px, 0.9722222222vw, 14px);
  padding-left: clamp(14px, 1.25vw, 18px);
}

.headerInner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
}

.headerLogo {
  z-index: 7;
  width: clamp(98px, 10.4166666667vw, 150px);
  height: clamp(69px, 7.2916666667vw, 105px);
  transition: all 0.2s ease;
}
.headerLogo:hover {
  opacity: 1;
  transform: scale(1.1);
}

.headerListWrap {
  position: relative;
  margin-right: clamp(0px, 0.4861111111vw, 7px);
  padding-right: clamp(0px, 16.6666666667vw, 240px);
  border: 2px solid #213d15;
  background-color: #157b2a;
}
.headerListWrap::before {
  position: absolute;
  right: -10px;
  bottom: -11px;
  z-index: -1;
  width: 100%;
  height: clamp(0px, 3.4722222222vw, 50px);
  background-color: #213d15;
  content: "";
}
.headerListWrap::after {
  position: absolute;
  right: -10px;
  bottom: 0;
  z-index: -1;
  width: 200px;
  height: 40px;
  background-color: #213d15;
  content: "";
}

.headerList {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}

body.news .headerLink.news {
  color: #213d15;
  background: #fee04c;
}
body.blog .headerLink.blog {
  color: #213d15;
  background: #fee04c;
}
body.athletic .headerLink.ex-adventure {
  color: #213d15;
  background: #fee04c;
}
body.rafting .headerLink.rafting {
  color: #213d15;
  background: #fee04c;
}
body.faq .headerLink.faq {
  color: #213d15;
  background: #fee04c;
}
body.contact .headerLink.contact {
  color: #213d15;
  background: #fee04c;
}

.headerLink {
  position: relative;
  z-index: 1;
  color: #fff;
  font-weight: 600;
  font-size: min(1.25vw, 18px);
  line-height: 2;
  white-space: nowrap;
  padding-right: clamp(0px, 1.1111111111vw, 16px);
  padding-left: clamp(0px, 1.1111111111vw, 16px);
  transition: all 0.2s ease;
  cursor: pointer;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}
.headerLink.-expand::after {
  margin-left: 4px;
  content: "";
  display: block;
  width: clamp(5px, 0.625vw, 9px);
  height: clamp(5px, 0.625vw, 9px);
  background-image: url(./optimized/common/arrow-white.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media only screen and (max-width: 768px) {
  .headerLink.-expand::after {
    display: none;
  }
}
.headerLink:hover {
  opacity: 1;
  color: #213d15;
  background-color: #fee04c;
}

.headerItem {
  position: relative;
}
.headerItem.-trigger:hover .headerLink {
  opacity: 1;
  color: #213d15;
  background-color: #fee04c;
}
.headerItem.-trigger:hover .headerLink.-expand::after {
  background-image: url(./optimized/common/arrow.svg);
}
@media only screen and (max-width: 768px) {
  .headerItem.-trigger:hover .headerLink.-expand::after {
    display: none;
  }
}
.headerItem.-trigger:hover .headerListSub {
  transform: translateY(100%);
  opacity: 1;
  pointer-events: auto;
}
@media only screen and (max-width: 768px) {
  .headerItem.-trigger:hover .headerListSub {
    transform: translateY(0%);
  }
}

.headerListSub {
  position: absolute;
  bottom: 0;
  z-index: 2;
  left: 0;
  min-width: 100%;
  transform: translateY(80%);
  transition: all 0.3s ease;
  opacity: 0;
  pointer-events: none;
  background-color: #fee04c;
  margin-left: 0;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 20px;
  padding-right: 20px;
  border: 2px solid #213d15;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(0px, 0.9027777778vw, 13px);
}
@media only screen and (max-width: 768px) {
  .headerListSub {
    padding-top: 17px;
    padding-bottom: 0;
    position: static;
    opacity: 1;
    transform: translateY(0%);
    pointer-events: auto;
    background: none;
    border: none;
    padding-left: 0;
    padding-right: 0;
    row-gap: 8px;
  }
}

.headerItemSub {
  color: #213d15;
  font-size: min(1.25vw, 18px);
  border-bottom: 2px solid rgba(33, 61, 21, 0);
  white-space: nowrap;
}
.headerItemSub:hover {
  border-bottom: 2px solid #213d15;
}
@media only screen and (max-width: 768px) {
  .headerItemSub:hover {
    border: none;
  }
}
@media only screen and (max-width: 768px) {
  .headerItemSub {
    font-size: 1.8rem;
    color: white;
    width: 100%;
  }
}

@media only screen and (max-width: 768px) {
  .headerLinkSub {
    width: 100%;
    position: relative;
  }
  .headerLinkSub::before {
    position: absolute;
    top: 50%;
    right: 12px;
    left: auto;
    z-index: 1;
    display: block;
    width: 10px !important;
    height: 18px;
    background-color: unset;
    background-image: url(./optimized/common/burger_menu_arrow.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    content: "";
    transform: translate(0%, -50%);
  }
}

.headerOtherLinkWrap {
  position: absolute;
  right: -10px;
  bottom: min(2.7vw, 39px);
  width: clamp(100px, 37.1527777778vw, 535px);
  padding-left: clamp(0px, 1.4583333333vw, 21px);
  background-color: #213d15;
}

.headerOtherLink {
  position: relative;
  display: inline-block;
  color: #fff;
  font-weight: 600;
  font-size: min(1.111111vw, 16px);
  line-height: 2;
  transition: all 0.2s ease;
}
.headerOtherLink::before {
  position: absolute;
  top: 50%;
  right: -20px;
  width: clamp(0px, 0.6944444444vw, 10px);
  height: clamp(0px, 0.8333333333vw, 12px);
  background-image: url(./optimized/common/link_arrow_white.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  transform: translate(0%, -50%);
}
.headerOtherLink:hover {
  opacity: 1;
  transform: scale(1.1);
}

.headerReservation {
  position: absolute;
  right: 8px;
  bottom: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.headerReservation:hover {
  opacity: 1;
  transform: scale(1.1);
}

.headerReservationText {
  display: block;
  width: clamp(0px, 14.0972222222vw, 203px);
  padding-top: clamp(0px, 0.1388888889vw, 2px);
  padding-bottom: clamp(0px, 0.1388888889vw, 2px);
  border: 3px solid #213d15;
  background-color: #fee04c;
  color: #213d15;
  text-align: center;
  font-weight: 600;
  font-size: min(1.527777vw, 22px);
  line-height: 2;
}
.headerReservationText.-link {
  display: none;
}
.headerReservationText:hover {
  opacity: 1;
}

.headerReservationList {
  position: absolute;
  right: 10px;
  bottom: calc(-100% + 100% - clamp(42px, 4.5138888889vw, 65px));
  display: none;
}
.headerReservationList.isActive {
  display: block;
}
.headerReservationList::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(0px, 11.4583333333vw, 165px);
  height: clamp(0px, 6.3888888889vw, 92px);
  background-image: url(./optimized/common/reservation_bg.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  transform: translate(-50%, -50%);
}

.headerReservationItem {
  position: relative;
  z-index: 1;
}
.headerReservationItem:first-child {
  margin-top: clamp(0px, 1.3888888889vw, 20px);
}

.headerReservationLink {
  position: relative;
  color: #213d15;
  font-weight: 600;
  font-size: min(1.180555vw, 17px);
  line-height: 1.5882352941;
}
.headerReservationLink::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  display: none;
  width: 100%;
  height: 3px;
  background-color: #213d15;
  content: "";
  transform: translate(-50%, 0%);
}
.headerReservationLink:hover {
  opacity: 1;
}
.headerReservationLink:hover::before {
  display: block;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .headerLink {
    white-space: nowrap;
    font-size: min(1.25vw, 16px);
  }
}
@media (max-width: 768px) {
  .headerReservationItem:first-child {
    margin-top: 0;
    border-bottom: 1px solid #213d15;
  }
  .headerReservationList {
    display: block;
    width: 100%;
    position: relative;
    right: auto;
    bottom: auto;
  }
  .headerReservationList::before {
    display: none;
  }
  .headerReservationLink {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    font-weight: 600;
    font-size: 2.1rem;
    width: 100%;
    line-height: 2;
    color: #213d15;
  }
  .headerReservationLink::after {
    z-index: 1;
    display: block;
    width: 10px;
    margin-right: 12px;
    height: 18px;
    background-color: unset;
    background-image: url(./optimized/common/burger_menu_arrow2.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    content: "";
  }
  .headerListWrap {
    position: fixed;
    top: 0;
    right: 0;
    z-index: -2;
    display: block;
    visibility: hidden;
    overflow-y: scroll;
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 0;
    padding-bottom: 100px;
    border: none;
    background-color: #157b2a;
    opacity: 0;
    transition: opacity 0.5s ease, z-index 0.5s ease, visibility 0.5s ease;
    pointer-events: none;
  }
  .headerListWrap.isActive {
    z-index: 2;
    visibility: visible;
    opacity: 1;
    animation-duration: 0.5s;
    pointer-events: all;
  }
  .headerListWrap::before {
    display: none;
  }
  .headerListWrap:after {
    display: none;
  }
  .headerList {
    display: block;
    padding-top: 126px;
    padding-right: 35px;
    padding-bottom: 42px;
    padding-left: 35px;
  }
  .headerItem {
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #fff;
  }
  .headerItem:not(:last-child) {
    margin-right: 0;
  }
  .headerLink {
    display: block;
    color: #fff !important;
    font-size: 1.8rem;
    background: none !important;
  }
  .headerLink.-expand::before {
    background: none;
  }
  .headerLink::before {
    position: absolute;
    top: 50%;
    right: 12px;
    left: auto;
    z-index: 1;
    display: block;
    width: 10px !important;
    height: 18px;
    background-color: unset;
    background-image: url(./optimized/common/burger_menu_arrow.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    content: "";
    transform: translate(0%, -50%);
  }
  .headerOtherLinkWrap {
    position: unset;
    width: 100%;
    padding: 0;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 35px;
    background-color: #fff;
  }
  .headerOtherLink {
    color: #157b2a;
    font-size: 1.6rem;
  }
  .headerOtherLink:before {
    display: none;
  }
  .headerReservation {
    position: unset;
    padding-right: 35px;
    padding-left: 35px;
    border: 3px solid #213d15;
    background-color: #fee04c;
    padding-bottom: 15px;
  }
  .headerReservation:hover {
    transform: scale(1);
  }
  .headerReservationText {
    width: 100%;
    padding-top: 11px;
    text-align: left;
    padding-bottom: 2px;
    border: none;
    font-size: 2.6rem;
    background: none;
  }
  .headerReservationText.-link {
    display: block;
  }
  .headerReservationText.-link:hover {
    opacity: 1;
  }
  .headerReservationText.-link .-text {
    position: relative;
  }
  .headerReservationText.-link .-arrow {
    position: absolute;
    top: 50%;
    right: -30px;
    width: 10px;
    height: 18px;
    background-image: url(./optimized/common/reservation_arrow_sp.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    transform: translate(0%, -50%);
  }
}
.pagination {
  padding-top: clamp(56px, 4.0972222222vw, 59px);
  padding-bottom: clamp(100px, 6.9444444444vw, 100px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.pageNumbers {
  display: block;
  margin: 0 clamp(20px, 1.3888888889vw, 20px);
  font-family: "Noto Sans JP", sans-serif;
  transition: all 0.5s ease;
  font-size: clamp(1.8rem, (1.3888888889vw), 2rem);
  font-weight: 400;
  line-height: 1.4;
}
.pageNumbers.arrowPrev {
  display: block;
  width: clamp(11px, 0.7638888889vw, 11px);
  height: clamp(18px, 1.25vw, 18px);
  margin: 0 clamp(30px, 2.0833333333vw, 30px) 0 0;
  background-image: url(./optimized/common/papgination_arrow_prev.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.pageNumbers.arrowNext {
  display: block;
  width: clamp(11px, 0.7638888889vw, 11px);
  height: clamp(18px, 1.25vw, 18px);
  margin: 0 0 0 clamp(30px, 2.0833333333vw, 30px);
  background-image: url(./optimized/common/papgination_arrow_next.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.pageNumbers.-current {
  color: #8fc13c;
  pointer-events: none;
  font-size: clamp(1.8rem, (1.3888888889vw), 2rem);
  font-weight: 600;
  line-height: 1.4;
}

@media (max-width: 768px) {
  .pageNumbers.arrowPrev {
    width: 21px;
    height: 34px;
    background-image: url(./optimized/common/papgination_arrow_prev_sp.svg);
  }
  .pageNumbers.arrowNext {
    width: 21px;
    height: 34px;
    background-image: url(./optimized/common/papgination_arrow_next_sp.svg);
  }
}
.sectionBg {
  background-color: #fff;
  background-image: url(./optimized/common/section_bg.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.sectionHeroTitle {
  color: #157b2a;
  font-size: clamp(1.8rem, (1.5277777778vw), 2.2rem);
  font-weight: 600;
  line-height: 2.1818181818;
}
.sectionHeroTitle span {
  display: inline-block;
  margin-right: clamp(25px, 1.7361111111vw, 25px);
  color: #8fc13c;
  font-family: "DIN OT", sans-serif;
  font-size: clamp(4.2rem, (4.8611111111vw), 7rem);
  font-weight: 700;
  line-height: 1.2857142857;
}

@media (max-width: 768px) {
  .sectionHeroTitle {
    margin-left: 0;
  }
  .sectionHeroTitle span {
    display: block;
  }
}
.linkTarget {
  position: absolute;
  height: 1px;
  width: 1px;
  pointer-events: noen;
  top: -150px;
  left: 0;
}

/* -----------------------------------------------
* Page エントリーポイント
-------------------------------------------------- */
.activity .container {
  position: relative;
}
.activity .container::after {
  background-color: #fff;
  background-image: url(./optimized/common/section_bg.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + 1px);
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  left: 50%;
  z-index: -1;
}

.activityHeroImg {
  position: relative;
  overflow: hidden;
  position: fixed;
  top: 0;
  width: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.activityHeroImg::before {
  display: block;
  padding-top: 39.5833333333%;
  content: "";
}

.activitySec {
  position: relative;
  overflow: hidden;
}
.activitySec::before {
  display: block;
  padding-top: 39.5833333333%;
  content: "";
}

.activityHead {
  z-index: 1;
  padding-top: clamp(0px, 2.8472222222vw, 41px);
  padding-bottom: clamp(100px, 7.2222222222vw, 104px);
  position: relative;
}
.activityHead::after {
  content: "";
  display: block;
  position: absolute;
  width: 100vw;
  height: 200%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  background-image: url(./optimized/common/section_bg.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: -2;
}

.activityHeadTitle {
  color: #158b36;
  text-align: center;
  font-size: clamp(2.8rem, (5.5555555556vw), 8rem);
  font-weight: 600;
  line-height: 1.5;
}
.activityHeadTitle span {
  display: block;
  color: #8fc13c;
  font-family: "DIN OT", sans-serif;
  font-size: clamp(3rem, (2.7777777778vw), 4rem);
  font-weight: 700;
  line-height: 1.3;
}

.activityDesc {
  margin-top: clamp(24px, 1.7361111111vw, 25px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.activityDescText {
  width: 32.7884615385%;
  font-size: clamp(1.4rem, (1.1805555556vw), 1.7rem);
  font-weight: 600;
  line-height: 1.4705882353;
}

.activityVideo {
  position: relative;
  width: 63.8461538462%;
  position: relative;
  overflow: hidden;
}
.activityVideo::before {
  display: block;
  padding-top: 58.2831325301%;
  content: "";
}
.activityVideo.isHidden::after {
  display: none;
}
.activityVideo::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
  content: "";
  transform: translate(-50%, -50%);
}
.activityVideo video {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  font-family: "object-fit: cover;";
  object-fit: cover;
}
.activityVideo #damyImg {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
}
.activityVideo #damyImg.isHidden {
  display: none;
}
.activityVideo #videoBtn {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 80px;
  height: 80px;
  cursor: pointer;
  transform: translate(-50%, -50%);
}
.activityVideo #videoBtn.isHidden {
  display: none;
}

@media (max-width: 768px) {
  .activitySec {
    position: relative;
    overflow: hidden;
  }
  .activitySec::before {
    display: block;
    padding-top: 81.3333333333%;
    content: "";
  }
  .activityHeroImg {
    position: relative;
    overflow: hidden;
    position: fixed;
  }
  .activityHeroImg::before {
    display: block;
    padding-top: 81.3333333333%;
    content: "";
  }
  .activityHeroImg:after {
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    height: 35.737704918%;
    background: linear-gradient(180deg, rgba(55, 55, 55, 0.6) 28.03%, rgba(55, 55, 55, 0) 100%);
    content: "";
    transform: translate(-50%, 0%);
    mix-blend-mode: multiply;
  }
  .activityHead {
    padding-top: 50px;
  }
  .activityDesc {
    display: block;
  }
  .activityVideo {
    width: 100vw;
    margin: 0 calc(50% - 50vw) 32px;
    position: relative;
    overflow: hidden;
  }
  .activityVideo::before {
    display: block;
    padding-top: 49.0666666667%;
    content: "";
  }
  .activityVideo #videoBtn {
    width: 60px;
    height: 60px;
  }
  .activityDescText {
    width: 100%;
  }
}
.activityCourse {
  position: relative;
  z-index: 2;
}
.activityCourse::before {
  position: absolute;
  top: 28vw;
  left: 50%;
  width: 100vw;
  height: calc(100% - 28vw);
  background-color: #157b2a;
  content: "";
  transform: translate(-50%, 0%);
}

.activityCourseList {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.activityCourseItem {
  width: 47.9807692308%;
}

.activityCourseNo {
  margin-bottom: clamp(20px, 1.6666666667vw, 24px);
  text-align: center;
}
.activityCourseNo span br {
  display: none;
}
.activityCourseNo span:first-child {
  color: #8fc13c;
  font-family: "DIN OT", sans-serif;
  font-size: clamp(2rem, (1.8055555556vw), 2.6rem);
  font-weight: 700;
  line-height: 1.5384615385;
}
.activityCourseNo span:nth-child(2) {
  display: block;
  margin-top: clamp(2px, 0.4166666667vw, 6px);
  color: #157b2a;
  font-size: clamp(2rem, (3.6111111111vw), 5.2rem);
  font-weight: 600;
  line-height: 1;
}

.activityCourseSlider .splide__track {
  border: 5px solid #fafafa;
}
.activityCourseSlider .splide__track .splide__list .activityCourseSliderItem figure {
  position: relative;
  overflow: hidden;
}
.activityCourseSlider .splide__track .splide__list .activityCourseSliderItem figure::before {
  display: block;
  padding-top: 105.6112224449%;
  content: "";
}
.activityCourseSlider .splide__arrows .splide__arrow {
  width: clamp(29px, 2.8472222222vw, 41px);
  height: clamp(28px, 2.7777777778vw, 40px);
  background: unset;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 1;
}
.activityCourseSlider .splide__arrows .splide__arrow.splide__arrow--prev {
  left: clamp(10px, 1.25vw, 18px);
  background-image: url(./optimized/activity/activity_alider_arrow_prev.svg);
}
.activityCourseSlider .splide__arrows .splide__arrow.splide__arrow--next {
  right: clamp(10px, 1.25vw, 18px);
  background-image: url(./optimized/activity/activity_alider_arrow_next.svg);
}
.activityCourseSlider .splide__arrows .splide__arrow svg {
  display: none;
}

.activityCourseGuide.-sp {
  display: none;
}
.activityCourseGuide.-sp .courseMap {
  display: none;
}

.activityCourseGuideTitle {
  margin-right: clamp(0px, 3.1944444444vw, 46px);
  color: #fafafa;
  font-size: clamp(2.4rem, (3.4722222222vw), 5rem);
  font-weight: 600;
  line-height: 1;
}

.activityCourseGuideCategory {
  width: 17.1153846154%;
}

.activityCourseGuideCategoryItem {
  border-radius: 10px;
  color: #fafafa;
  text-align: center;
  font-size: clamp(2rem, (1.3888888889vw), 2rem);
  font-weight: 600;
  line-height: 1.25;
}
.activityCourseGuideCategoryItem:first-child {
  margin-bottom: clamp(0px, 0.3472222222vw, 5px);
  background-color: #3da0c0;
}
.activityCourseGuideCategoryItem:nth-child(2) {
  background-color: #173991;
}

.activityCourseGuideAnnotation {
  width: 95.2187182096%;
  margin-top: clamp(10px, 0.9027777778vw, 13px);
  color: #fafafa;
  font-size: clamp(1.4rem, (0.9722222222vw), 1.4rem);
  font-weight: 600;
  line-height: 1.7857142857;
}

.guideBtn {
  cursor: pointer;
}

.activityCourseGuideAreaCheck {
  position: absolute;
  right: 2px;
  bottom: 2px;
  padding-top: clamp(0px, 0.4861111111vw, 7px);
  padding-right: clamp(0px, 1.1111111111vw, 16px);
  padding-bottom: clamp(0px, 0.4861111111vw, 7px);
  padding-left: clamp(0px, 1.1111111111vw, 16px);
  border: 2px solid #2f2725;
  border-radius: 10px 0 0 0;
  background-color: #8fc13c;
  color: #fafafa;
  font-size: clamp(1.4rem, (1.3194444444vw), 1.9rem);
  font-weight: 600;
  line-height: 1.3157894737;
}

.activityCourseGuideName {
  position: absolute;
  right: 0px;
  transform: translateX(calc(100% + 11px));
  bottom: clamp(12px, 6.9444444444vw, 100px);
  display: block;
  color: #fafafa;
  text-shadow: -4px 3px 0px #213d15;
  font-size: clamp(1.4rem, (2.5vw), 3.6rem);
  font-weight: 600;
  line-height: 0.9166666667;
  writing-mode: vertical-rl;
  opacity: 0;
  pointer-events: none;
}
.activityCourseGuideName.is-active {
  opacity: 1;
}

@media (max-width: 768px) {
  .activityCourse::before {
    top: 120px;
    height: calc(100% - 120px);
  }
  .activityCourseList {
    display: block;
  }
  .activityCourseItem {
    width: 100%;
  }
  .activityCourseItem:not(:last-child) {
    margin-bottom: 56px;
  }
  .activityCourseNo span br {
    display: inline;
  }
  .activityCourseNo span:first-child {
    font-size: 2.6rem;
  }
  .activityCourseNo span:nth-child(2) {
    display: none;
  }
  .activityCourseGuide.-sp {
    display: block;
  }
  .activityCourseGuide.-sp .courseMap {
    display: block;
  }
  .activityCourseSlider .splide__track .splide__list .activityCourseSliderItem figure {
    position: relative;
    overflow: hidden;
  }
  .activityCourseSlider .splide__track .splide__list .activityCourseSliderItem figure::before {
    display: block;
    padding-top: 58.9333333333%;
    content: "";
  }
  .activityCourseSlider .splide__arrows .splide__arrow.splide__arrow--prev {
    left: 28px;
  }
  .activityCourseSlider .splide__arrows .splide__arrow.splide__arrow--next {
    right: 28px;
  }
  .activityCourseSlider .splide__arrows .splide__arrow svg {
    display: none;
  }
}
.activityCourseDetail {
  position: relative;
  padding-top: clamp(56px, 6.9444444444vw, 100px);
  padding-bottom: clamp(60px, 25.1388888889vw, 362px);
}
.activityCourseDetail::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  background-color: #157b2a;
  content: "";
  transform: translate(-50%, 0%);
}

.activityCourseDetailList {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.activityCourseDetailItem {
  position: relative;
  width: 48.8461538462%;
}

.activityCourseDetailItemEng {
  position: absolute;
  top: 0;
  right: clamp(0px, 0.2083333333vw, 3px);
  color: #8fc13c;
  font-family: "DIN OT", sans-serif;
  writing-mode: vertical-rl;
  font-size: clamp(2rem, (2.0833333333vw), 3rem);
  font-weight: 700;
  line-height: 1.3;
}

.activityCourseDetailSlider {
  width: 93.3070866142%;
  border: 5px solid #fafafa;
}
.activityCourseDetailSlider .splide__arrows .splide__arrow {
  width: clamp(16px, 2.8472222222vw, 41px);
  height: clamp(17px, 2.7777777778vw, 40px);
  background: unset;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 1;
}
.activityCourseDetailSlider .splide__arrows .splide__arrow.splide__arrow--prev {
  left: clamp(7px, 0.8333333333vw, 12px);
  background-image: url(./optimized/activity/activity_alider_arrow_prev.svg);
}
.activityCourseDetailSlider .splide__arrows .splide__arrow.splide__arrow--next {
  right: clamp(7px, 0.8333333333vw, 12px);
  background-image: url(./optimized/activity/activity_alider_arrow_next.svg);
}
.activityCourseDetailSlider .splide__arrows .splide__arrow svg {
  display: none;
}

.activityCourseDetailSliderItem figure {
  position: relative;
  overflow: hidden;
}
.activityCourseDetailSliderItem figure::before {
  display: block;
  padding-top: 81.8565400844%;
  content: "";
}

.activityCourseDetailInfo {
  width: 93.3070866142%;
  margin-top: clamp(17px, 1.4583333333vw, 21px);
  margin-bottom: clamp(17px, 1.4583333333vw, 21px);
}

.activityCourseDetailTitle {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}
.activityCourseDetailTitle span {
  color: #fafafa;
  white-space: nowrap;
}
.activityCourseDetailTitle span:first-child {
  font-size: clamp(2rem, (2.2222222222vw), 3.2rem);
  font-weight: 600;
  line-height: 1;
}
.activityCourseDetailTitle span:nth-child(2) {
  font-size: clamp(1.3rem, (2.0833333333vw), 3rem);
  font-weight: 600;
  line-height: 2;
}

.activityCourseDetailCategory {
  display: block;
  width: 37.552742616%;
  min-width: 178px;
  border-radius: 10px;
  background-color: #173991;
  color: #fafafa;
  text-align: center;
  font-size: clamp(2rem, (1.3888888889vw), 2rem);
  font-weight: 600;
  line-height: 1.25;
}

.activityCourseDetailText {
  width: 93.3070866142%;
  color: #fafafa;
  font-size: clamp(1.4rem, (1.1805555556vw), 1.7rem);
  font-weight: 600;
  line-height: 1.4705882353;
}

@media (max-width: 768px) {
  .activityCourseDetail {
    padding-bottom: 100px;
  }
  .activityCourseDetail::after {
    position: absolute;
    bottom: -479px;
    left: 50%;
    width: 100vw;
    height: 480px;
    background-color: #157b2a;
    content: "";
    transform: translate(-50%, 0%);
  }
  .activityCourseDetailItem {
    width: 47.5218658892%;
  }
  .activityCourseDetailItemEng {
    position: unset;
    display: block;
    text-align: center;
    writing-mode: unset;
  }
  .activityCourseDetailSlider {
    width: 100%;
    margin-top: 16px;
  }
  .activityCourseDetailInfo {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column-reverse;
  }
  .activityCourseDetailTitle {
    display: block;
    margin-top: 18px;
    text-align: center;
  }
  .activityCourseDetailCategory {
    width: 90.7975460123%;
    min-width: unset;
  }
  .activityCourseDetailText {
    width: 100%;
  }
}
.activityTemporary {
  position: relative;
  padding-top: clamp(56px, 6.9444444444vw, 100px);
  padding-bottom: clamp(60px, 25.1388888889vw, 362px);
}
.activityTemporary::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  background-color: #157b2a;
  content: "";
  transform: translate(-50%, 0%);
}

.activityTemporaryList {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.activityTemporaryItem {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.activityTemporaryItemBlock {
  width: 45.5769230769%;
  position: relative;
}

.activityTemporaryItemContents {
  width: 45.5769230769%;
}

.activityTemporaryItemEng {
  position: absolute;
  top: 0;
  right: clamp(0px, 0.2083333333vw, 3px);
  color: #8fc13c;
  font-family: "DIN OT", sans-serif;
  writing-mode: vertical-rl;
  font-size: clamp(2rem, (2.0833333333vw), 3rem);
  font-weight: 700;
  line-height: 1.3;
  transform: translateX(100%);
}

.activityTemporarySlider {
  width: 100%;
  border: 5px solid #fafafa;
}
.activityTemporarySlider .splide__arrows .splide__arrow {
  width: clamp(16px, 2.8472222222vw, 41px);
  height: clamp(17px, 2.7777777778vw, 40px);
  background: unset;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 1;
}
.activityTemporarySlider .splide__arrows .splide__arrow.splide__arrow--prev {
  left: clamp(7px, 0.8333333333vw, 12px);
  background-image: url(./optimized/activity/activity_alider_arrow_prev.svg);
}
.activityTemporarySlider .splide__arrows .splide__arrow.splide__arrow--next {
  right: clamp(7px, 0.8333333333vw, 12px);
  background-image: url(./optimized/activity/activity_alider_arrow_next.svg);
}
.activityTemporarySlider .splide__arrows .splide__arrow svg {
  display: none;
}

.activityTemporarySliderItem figure {
  position: relative;
  overflow: hidden;
}
.activityTemporarySliderItem figure::before {
  display: block;
  padding-top: 81.8565400844%;
  content: "";
}

.activityTemporaryInfo {
  width: 93.3070866142%;
  margin-top: clamp(17px, 1.4583333333vw, 21px);
  margin-bottom: clamp(17px, 1.4583333333vw, 21px);
}

.activityTemporaryTitle {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}
.activityTemporaryTitle span {
  color: #fafafa;
  white-space: nowrap;
}
.activityTemporaryTitle span:first-child {
  font-size: clamp(2rem, (2.2222222222vw), 3.2rem);
  font-weight: 600;
  line-height: 1;
}
.activityTemporaryTitle span:nth-child(2) {
  font-size: clamp(1.3rem, (2.0833333333vw), 3rem);
  font-weight: 600;
  line-height: 2;
}

.activityTemporaryCategory {
  display: block;
  width: 37.552742616%;
  min-width: 178px;
  border-radius: 10px;
  background-color: #173991;
  color: #fafafa;
  text-align: center;
  font-size: clamp(2rem, (1.3888888889vw), 2rem);
  font-weight: 600;
  line-height: 1.25;
}

.activityTemporaryText {
  width: 93.3070866142%;
  color: #fafafa;
  font-size: clamp(1.4rem, (1.1805555556vw), 1.7rem);
  font-weight: 600;
  line-height: 1.4705882353;
}

@media (max-width: 768px) {
  .activityTemporary {
    padding-bottom: 100px;
  }
  .activityTemporary::after {
    position: absolute;
    bottom: -479px;
    left: 50%;
    width: 100vw;
    height: 480px;
    background-color: #157b2a;
    content: "";
    transform: translate(-50%, 0%);
  }
  .activityTemporaryItem {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  .activityTemporaryItemEng {
    position: unset;
    display: block;
    text-align: center;
    writing-mode: unset;
    transform: translate(0);
    text-align: center;
    width: 100%;
  }
  .activityTemporarySlider {
    width: 100%;
    margin-top: 16px;
  }
  .activityTemporaryInfo {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column-reverse;
  }
  .activityTemporaryTitle {
    display: block;
    margin-top: 18px;
    text-align: center;
  }
  .activityTemporaryCategory {
    width: 90.7975460123%;
    min-width: unset;
  }
  .activityTemporaryText {
    width: 100%;
  }
  .activityTemporaryItemBlock {
    display: contents;
  }
  .activityTemporaryItemContents {
    display: contents;
  }
}
.activityCourseGallery {
  margin-top: clamp(100px, 9.7916666667vw, 141px);
}
.activityCourseGallery.-canyoning {
  padding-bottom: clamp(100px, 7.9861111111vw, 115px);
}

.activityCourseGallerySlider .splide__arrows .splide__arrow {
  width: clamp(26px, 2.8472222222vw, 41px);
  height: clamp(25px, 2.7777777778vw, 40px);
  background: unset;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 1;
}
.activityCourseGallerySlider .splide__arrows .splide__arrow.splide__arrow--prev {
  left: clamp(7px, 0.8333333333vw, 12px);
  background-image: url(./optimized/activity/activity_alider_arrow_prev.svg);
}
.activityCourseGallerySlider .splide__arrows .splide__arrow.splide__arrow--next {
  right: clamp(7px, 0.8333333333vw, 12px);
  background-image: url(./optimized/activity/activity_alider_arrow_next.svg);
}
.activityCourseGallerySlider .splide__arrows .splide__arrow svg {
  display: none;
}

.activityCourseGallerySliderItem figure {
  position: relative;
  overflow: hidden;
}
.activityCourseGallerySliderItem figure::before {
  display: block;
  padding-top: 54.8076923077%;
  content: "";
}

.activityCourseGallerySliderThumb {
  margin-top: clamp(0px, 0.9722222222vw, 14px);
}

.activityCourseGallerySliderThumbItem {
  border: none !important;
}
.activityCourseGallerySliderThumbItem figure {
  position: relative;
  overflow: hidden;
}
.activityCourseGallerySliderThumbItem figure::before {
  display: block;
  padding-top: 72.049689441%;
  content: "";
}
.activityCourseGallerySliderThumbItem.is-active {
  border: none !important;
}

@media (max-width: 768px) {
  .activityCourseGallerySliderThumb {
    margin-top: 24px;
  }
}
.guideIllust {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  display: inline-block;
  opacity: 0;
  transition: all 0.2s ease;
  width: clamp(160px, 13.8888888889vw, 200px);
  height: clamp(160px, 13.8888888889vw, 200px);
  object-fit: contain;
  z-index: 3;
}
.guideIllust.isActive {
  opacity: 1;
}

.activityCourseGuideWrap {
  position: relative;
  z-index: 1;
  width: 94.5192307692%;
  margin: 0 auto;
  margin-top: -4.1666666667vw;
}
.activityCourseGuideWrap .splide__arrows .splide__arrow {
  width: clamp(29px, 4.6527777778vw, 67px);
  height: clamp(28px, 4.5138888889vw, 65px);
  background: unset;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 1;
}
.activityCourseGuideWrap .splide__arrows .splide__arrow[disabled] {
  display: none;
}
.activityCourseGuideWrap .splide__arrows .splide__arrow.splide__arrow--prev {
  left: 0;
  background-image: url(./optimized/activity/activity_alider_arrow_prev.svg);
  transform: translateX(-70%);
}
.activityCourseGuideWrap .splide__arrows .splide__arrow.splide__arrow--next {
  right: 0;
  background-image: url(./optimized/activity/activity_alider_arrow_next.svg);
  transform: translateX(70%);
}
.activityCourseGuideWrap .splide__arrows .splide__arrow svg {
  display: none;
}

.activityCourseGuideHead {
  width: 100%;
  padding-top: clamp(12px, 1.3888888889vw, 20px);
  padding-bottom: clamp(18px, 1.3888888889vw, 20px);
  border-top: 3px solid #213d15;
  border-right: 3px solid #213d15;
  border-left: 3px solid #213d15;
  border-radius: 15px 15px 0 0;
  background-color: #157b2a;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.activityCourseGuideTitle {
  margin-right: clamp(0px, 3.1944444444vw, 46px);
  color: #fafafa;
  font-size: clamp(2.4rem, (3.4722222222vw), 5rem);
  font-weight: 600;
  line-height: 1;
}

.activityCourseGuideCategory {
  width: 17.1153846154%;
}

.activityCourseGuideCategoryItem {
  border-radius: 10px;
  color: #fafafa;
  text-align: center;
  font-size: clamp(2rem, (1.3888888889vw), 2rem);
  font-weight: 600;
  line-height: 1.25;
}
.activityCourseGuideCategoryItem:first-child {
  margin-bottom: clamp(0px, 0.3472222222vw, 5px);
  background-color: #3da0c0;
}
.activityCourseGuideCategoryItem:nth-child(2) {
  background-color: #173991;
}

.activityCourseGuideArea {
  position: relative;
  width: 100%;
}

.activityCourseGuideDrawing {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.activityCourseGuideDrawing::after {
  z-index: -2;
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #eae8d8;
}

.courseMapIllustration {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.courseMap {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.guideBtnNum {
  pointer-events: none;
}

.activityCourseGuideAreaCheck {
  position: absolute;
  right: 2px;
  bottom: 2px;
  padding-top: clamp(0px, 0.4861111111vw, 7px);
  padding-right: clamp(0px, 1.1111111111vw, 16px);
  padding-bottom: clamp(0px, 0.4861111111vw, 7px);
  padding-left: clamp(0px, 1.1111111111vw, 16px);
  border: 2px solid #2f2725;
  border-radius: 10px 0 0 0;
  background-color: #8fc13c;
  color: #fafafa;
  font-size: clamp(1.4rem, (1.3194444444vw), 1.9rem);
  font-weight: 600;
  line-height: 1.3157894737;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .activityCourseGuideCategoryItem {
    font-size: 1.2rem;
  }
}
@media (max-width: 768px) {
  .activityCourseGuide {
    position: relative;
    margin-top: -26px;
  }
  .activityCourseGuide.-sp {
    display: block;
  }
  .activityCourseGuide.-sp .activityCourseGuideArea {
    overflow: scroll;
    height: 320px;
    border: 3px solid #213d15;
  }
  .activityCourseGuide.-sp .activityCourseGuideArea .courseMap {
    width: 100%;
    height: 100%;
  }
  .zoomInIllust {
    position: absolute;
    right: 12px;
    bottom: 70px;
    z-index: 2;
    width: 41px;
    height: 40px;
    background: unset;
    background-image: url(./optimized/activity/zoom_in_icon.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    cursor: pointer;
  }
  .zoomOutIllust {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    width: 41px;
    height: 40px;
    background: unset;
    background-image: url(./optimized/activity/zoom_out_icon.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    cursor: pointer;
  }
  .activityCourseGuideHead {
    display: block;
    width: 100%;
    padding-top: 26px;
    padding-right: 12px;
    padding-left: 12px;
  }
  .activityCourseGuideTitle {
    text-align: center;
  }
  .activityCourseGuideCategory {
    width: 100%;
    margin-top: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
  }
  .activityCourseGuideCategoryItem {
    width: 47.2843450479%;
  }
  .activityCourseGuideAreaWrap {
    position: relative;
  }
  .activityCourseGuideArea {
    width: 100%;
  }
  .activityCourseGuideAreaCheck {
    display: none;
  }
  .activityCourseGuideWrap {
    display: none;
  }
}
.activityCourseInstagram {
  margin-top: clamp(24px, 6.0416666667vw, 87px);
  padding-bottom: clamp(100px, 6.9444444444vw, 100px);
}

.activityCourseInstagramTitle {
  margin-bottom: clamp(32px, 2.7777777778vw, 40px);
  color: #8fc13c;
  text-align: center;
  font-family: "DIN OT", sans-serif;
  font-size: clamp(3rem, (2.7777777778vw), 4rem);
  font-weight: 700;
  line-height: 1.3;
}

.activityCourseInstagramList #sb_instagram #sbi_images {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.activityCourseInstagramList #sb_instagram #sbi_images .sbi_item {
  margin-right: 12px;
  width: calc((100% - 36px) / 4);
  margin-bottom: 0;
  margin-right: 12px !important;
}
.activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-of-type(4n) {
  margin-right: 0;
}
.activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(4) {
  margin-bottom: 0;
}
.activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(1) {
  margin-bottom: 0;
}
.activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(2) {
  margin-bottom: 0;
}
.activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(3) {
  margin-bottom: 0;
}
.activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(4) {
  margin-bottom: 0;
}
.activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-of-type(4n) {
  margin-right: 0 !important;
}
@media (max-width: 768px) {
  .activityCourseInstagram {
    margin-top: 100px;
  }
  .activityCourseInstagramList #sb_instagram #sbi_images .sbi_item {
    margin-right: 12px;
    margin-bottom: 0;
    width: calc((100% - 12px) / 2);
    margin-right: 12px !important;
    margin-bottom: 12px !important;
  }
  .activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-of-type(4n) {
    margin-right: 12px;
  }
  .activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(4) {
    margin-bottom: 0;
  }
  .activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(1) {
    margin-bottom: 0;
  }
  .activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(2) {
    margin-bottom: 0;
  }
  .activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(3) {
    margin-bottom: 0;
  }
  .activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(4) {
    margin-bottom: 0;
  }
  .activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-of-type(2n) {
    margin-right: 0;
  }
  .activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(2) {
    margin-bottom: 0;
  }
  .activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(1) {
    margin-bottom: 0;
  }
  .activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(2) {
    margin-bottom: 0;
  }
  .activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-of-type(2n) {
    margin-right: 0px !important;
  }
  .activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(1), .activityCourseInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(2) {
    margin-bottom: 0 !important;
  }
}
body.rafting .activityCourseReservationPrice, body.canyoning .activityCourseReservationPrice {
  margin-top: 0;
}
body.rafting .activityCourseReservationQuestion, body.canyoning .activityCourseReservationQuestion {
  margin-top: 0;
  padding-right: clamp(20px, 3.9583333333vw, 57px);
  padding-left: clamp(20px, 3.9583333333vw, 57px);
}

.activityCourseReservationWrap {
  position: relative;
}
.activityCourseReservationWrap::before {
  position: absolute;
  top: -19.4444444444vw;
  left: 50%;
  width: 100vw;
  height: 2380px;
  background-color: #157b2a;
  content: "";
  transform: translate(-50%, 0%);
}

.activityCourseReservation {
  position: relative;
  z-index: 2;
  margin-top: -12.8vw;
}
.activityCourseReservation .contactThanks {
  margin-bottom: 69px;
}

.activityCourseReservationList .wpcf7-response-output {
  border: none !important;
  font-size: 1.5rem;
}
.activityCourseReservationList.-rafting {
  background: #fafafa;
  border: 5px solid #8fc13c;
  margin-bottom: 53px;
  padding-bottom: clamp(48px, 4.0277777778vw, 58px);
}
.activityCourseReservationList.-canyoning {
  padding-bottom: clamp(48px, 4.0277777778vw, 58px);
}

.activityCourseReservationItem {
  padding-top: 55px;
  padding-bottom: clamp(17px, 3.8194444444vw, 55px);
  border: 5px solid #8fc13c;
  padding-right: clamp(20px, 3.9583333333vw, 57px);
  padding-left: clamp(20px, 3.9583333333vw, 57px);
  background-color: #fafafa;
}
.activityCourseReservationItem.-blue .activityCourseReservationHead {
  background-color: #173991;
}
.activityCourseReservationItem.-blue .activityCourseReservationHead span {
  color: #173991;
}
.activityCourseReservationItem.-blue .activityCourseReservationButton {
  background-color: #173991;
}
.activityCourseReservationItem.-blue .activityCourseReservationText.-color {
  color: #173991;
}
.activityCourseReservationItem.-green {
  border: none;
  background: none;
}
.activityCourseReservationItem.-green .activityCourseReservationHead {
  background-color: #157b2a;
}
.activityCourseReservationItem.-green .activityCourseReservationHead span {
  color: #157b2a;
}
.activityCourseReservationItem.-green .activityCourseReservationButton {
  background-color: #157b2a;
}
.activityCourseReservationItem.-green .activityCourseReservationText.-color {
  color: #157b2a;
}
.activityCourseReservationItem.-skyblue .activityCourseReservationHead {
  background-color: #3da0c0;
}
.activityCourseReservationItem.-skyblue .activityCourseReservationHead span {
  color: #3da0c0;
}
.activityCourseReservationItem.-skyblue .activityCourseReservationButton {
  background-color: #3da0c0;
}
.activityCourseReservationItem.-skyblue .activityCourseReservationText.-color {
  color: #3da0c0;
}
.activityCourseReservationItem.-yellowgreen .activityCourseReservationHead {
  background-color: #8fc13c;
}
.activityCourseReservationItem.-yellowgreen .activityCourseReservationHead span {
  color: #8fc13c;
}
.activityCourseReservationItem.-yellowgreen .activityCourseReservationButton {
  background-color: #8fc13c;
}
.activityCourseReservationItem.-yellowgreen .activityCourseReservationText.-color {
  color: #8fc13c;
}
.activityCourseReservationItem:not(:last-child) {
  margin-bottom: 46px;
}

.activityCourseReservationHead {
  position: relative;
  margin: 0 auto;
  padding-top: clamp(4px, 0.4166666667vw, 6px);
  padding-bottom: clamp(4px, 0.4166666667vw, 6px);
  border-radius: 10px;
  color: #fafafa;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: clamp(2.4rem, (2.0833333333vw), 3rem);
  font-weight: 600;
  line-height: 0.8666666667;
  min-height: 67px;
}
.activityCourseReservationHead span {
  position: absolute;
  white-space: nowrap;
  right: clamp(0px, 1.3194444444vw, 19px);
  top: 50%;
  display: block;
  padding-top: clamp(2px, 0.1388888889vw, 2px);
  text-align: center;
  padding-right: clamp(10px, 1.875vw, 27px);
  padding-bottom: clamp(2px, 0.1388888889vw, 2px);
  padding-left: clamp(10px, 1.875vw, 27px);
  border-radius: 10px;
  background-color: #fafafa;
  transform: translate(0%, -50%);
  font-size: clamp(1.4rem, (1.25vw), 1.8rem);
  font-weight: 600;
  line-height: 0.8333333333;
}
.activityCourseReservationHead.-small br.-sp {
  display: none;
}

.activityCourseReservationInner {
  display: flex;
  justify-content: space-between;
  margin-top: clamp(22px, 2.1527777778vw, 31px);
}
.activityCourseReservationInner.-rafting .activityCourseReservationImg {
  height: auto;
  position: relative;
  overflow: hidden;
}
.activityCourseReservationInner.-rafting .activityCourseReservationImg::before {
  display: block;
  padding-top: 103.6553524804%;
  content: "";
}

.activityCourseReservationImgWrap {
  width: 41.8122270742%;
}
.activityCourseReservationImgWrap .activityCourseReservationBlock {
  margin-top: 0;
  padding-top: clamp(15px, 1.3888888889vw, 20px);
  padding-right: clamp(14px, 1.3888888889vw, 20px);
  padding-bottom: clamp(24px, 1.8055555556vw, 26px);
  padding-left: clamp(14px, 1.3888888889vw, 20px);
  background-color: #f5f3f2;
}
.activityCourseReservationImgWrap .activityCourseReservationBlockText {
  margin-top: clamp(0px, 0.6944444444vw, 10px);
}

.activityCourseReservationImg {
  height: 100%;
  position: relative;
  overflow: hidden;
}
.activityCourseReservationImg::before {
  display: block;
  padding-top: 100%;
  content: "";
}

.activityCourseReservationDesc {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  width: 55.6768558952%;
}

.activityCourseReservationText {
  font-size: clamp(1.4rem, (1.1111111111vw), 1.6rem);
  font-weight: 600;
  line-height: 1.625;
}
.activityCourseReservationText:not(:last-child) {
  margin-bottom: 10px;
}

.activityCourseReservationPrice {
  margin-top: clamp(0px, 0.8333333333vw, 12px);
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-direction: row;
}
.activityCourseReservationPrice span {
  font-size: clamp(1.6rem, (1.1111111111vw), 1.6rem);
  font-weight: 600;
  line-height: 1.625;
  white-space: nowrap;
}

.activityCourseReservationPriceList {
  margin-bottom: clamp(8px, 0.6944444444vw, 10px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-direction: row;
}

.activityCourseReservationPriceBlock:nth-child(2) .activityCourseReservationPriceDt {
  margin-left: clamp(33px, 3.8194444444vw, 55px);
}

.activityCourseReservationPriceDt {
  font-size: clamp(1.6rem, (1.1111111111vw), 1.6rem);
  font-weight: 600;
  line-height: 1.625;
}

.activityCourseReservationPriceDd {
  margin-top: clamp(6px, 0.5555555556vw, 8px);
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(3.4rem, (2.7777777778vw), 4rem);
  font-weight: 400;
  line-height: 0.65;
}

.activityCourseReservationTicketList {
  margin-top: clamp(0px, 1.3888888889vw, 20px);
}

.activityCourseReservationTicketBlock {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}
.activityCourseReservationTicketBlock:not(:last-child) {
  margin-bottom: clamp(0px, 1.3194444444vw, 19px);
}

.activityCourseReservationTicketDt {
  font-size: clamp(1.5rem, (1.1111111111vw), 1.6rem);
  font-weight: 600;
  line-height: 1.625;
}

.activityCourseReservationTicketDd {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.6rem, (1.9444444444vw), 2.8rem);
  font-weight: 400;
  line-height: 0.9285714286;
}

.activityCourseReservationButton {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  margin-top: clamp(20px, 1.6666666667vw, 24px);
  padding-top: clamp(14px, 1.1111111111vw, 16px);
  padding-bottom: clamp(17px, 1.3888888889vw, 20px);
  border-radius: 10px;
  color: #fafafa;
  text-align: center;
  cursor: pointer;
  pointer-events: all;
  font-size: clamp(2rem, (1.9444444444vw), 2.8rem);
  font-weight: 600;
  line-height: 0.8928571429;
  transition: all 0.2s ease;
}
.activityCourseReservationButton:hover {
  opacity: 1;
  transform: scale(1.05);
}
.activityCourseReservationButton span {
  margin-bottom: 1%;
  font-size: clamp(1.6rem, (1.4583333333vw), 2.1rem);
  font-weight: 600;
  line-height: 1.1904761905;
}

.activityCourseReservationQuestion {
  margin-top: clamp(42px, 5.5555555556vw, 80px);
}

.activityReserve {
  border-radius: 10px;
  width: 100%;
  padding-top: clamp(21px, 1.5972222222vw, 23px);
  padding-bottom: clamp(21px, 1.5972222222vw, 23px);
  font-size: clamp(1.9rem, (1.9444444444vw), 2.8rem);
  font-weight: 22;
  line-height: 1.1785714286;
  color: #213d15;
  background-color: #fee04c;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 2px solid #213d15;
}
.activityReserve:hover {
  opacity: 1;
  transform: scale(1.1);
}
.activityReserve span {
  display: inline-block;
}

.activityCourseReservationQuestionLink {
  display: block;
  margin: 0 auto;
  padding-top: clamp(4px, 0.5555555556vw, 8px);
  padding-bottom: clamp(4px, 0.5555555556vw, 8px);
  border-radius: 10px;
  background-color: #157b2a;
  color: #fafafa;
  text-align: center;
  font-size: clamp(2rem, (1.4583333333vw), 2.1rem);
  font-weight: 600;
  line-height: 1.5714285714;
  transition: all 0.2s ease;
}
.activityCourseReservationQuestionLink:hover {
  opacity: 1;
  transform: scale(1.1);
}

.activityReserve + .activityCourseReservationQuestionLink {
  margin-top: 20px;
}

.activityCourseReservationAnnotation {
  margin-top: clamp(24px, 1.6666666667vw, 24px);
  font-size: clamp(1.4rem, (1.1111111111vw), 1.6rem);
  font-weight: 600;
  line-height: 1.625;
}

.activityCourseReservationBlock {
  margin-top: clamp(24px, 2.2916666667vw, 33px);
}

.activityCourseReservationBlockTitle {
  margin-bottom: clamp(4px, 0.4166666667vw, 6px);
  padding-bottom: clamp(4px, 0.4166666667vw, 6px);
  border-bottom: 1px solid #000000;
  font-size: clamp(1.6rem, (1.1111111111vw), 1.6rem);
  font-weight: 600;
  line-height: 1.625;
}

.activityCourseReservationBlockText {
  margin-top: clamp(4px, 0.3472222222vw, 5px);
  font-size: clamp(1.4rem, (1.1111111111vw), 1.6rem);
  font-weight: 600;
  line-height: 1.625;
}
.activityCourseReservationBlockText a {
  text-decoration: underline;
}
.activityCourseReservationBlockText.-red {
  margin-top: clamp(0px, 0.6944444444vw, 10px);
  color: #ff0000;
  font-size: clamp(1.3rem, (0.9722222222vw), 1.4rem);
  font-weight: 600;
  line-height: 1.8571428571;
}

.activityCourseReservationCalender {
  margin-top: clamp(48px, 5.625vw, 81px);
  position: relative;
}

.activityCourseReservationCalenderTitle {
  color: #157b2a;
  text-align: center;
  font-size: clamp(2.4rem, (2.5vw), 3.6rem);
  font-weight: 600;
  line-height: 0.6944444444;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .activityCourseReservationCalender + .wpcf7 {
    padding-left: clamp(17px, 3.3333333333vw, 40px);
    padding-right: clamp(17px, 3.3333333333vw, 40px);
  }
  .activityCourseReservationHead {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px 0 8px;
  }
  .activityCourseReservationHead span {
    position: unset;
    display: inline-block;
    width: 40%;
    margin: 16px auto 0;
    padding: 4px 0;
  }
  .activityCourseReservationInner {
    display: block;
  }
  .activityCourseReservationDesc {
    margin-top: 12px;
  }
  .activityCourseReservationImgWrap {
    width: 100%;
  }
  .activityCourseReservationDesc {
    width: 100%;
  }
  .activityCourseReservationButton {
    margin-top: 20px;
  }
}
@media (max-width: 768px) {
  .activityCourseReservationCalender + .wpcf7 {
    padding-left: clamp(17px, 3.3333333333vw, 40px);
    padding-right: clamp(17px, 3.3333333333vw, 40px);
  }
  .activityCourseReservationCalender + .wpcf7 .wpcf7-form {
    margin-bottom: 19px;
  }
  .activityCourseReservationText {
    line-height: 1.3571428571;
  }
  .activityCourseReservationText:not(:last-child) {
    margin-bottom: 10px;
  }
  .activityCourseReservationInner {
    margin-top: 0;
  }
  .activityCourseReservationImg::before {
    padding-top: 42%;
  }
  .activityCourseReservationWrap::before {
    top: -32px;
    height: clamp(2472px, 366.5364583333vw, 2815px);
  }
  .activityCourseReservation {
    margin-top: 0;
  }
  .activityCourseReservationItem {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
  }
  .activityCourseReservationHead {
    min-height: 83px;
    padding-top: 19px;
    padding-right: 4px;
    padding-bottom: 14px;
    padding-left: 4px;
    border-radius: 0;
  }
  .activityCourseReservationHead span {
    position: absolute;
    display: block;
    top: 0;
    left: 50%;
    transform: translate(-50%, calc(-50% - 11px));
    right: auto;
    margin: 6px 0 0px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .activityCourseReservationHead.-small {
    font-size: 1.8rem;
    line-height: 1.0952380952;
    padding-top: 7px;
    padding-bottom: 9px;
  }
  .activityCourseReservationHead.-small br {
    display: none;
  }
  .activityCourseReservationHead.-small br.-sp {
    display: inline !important;
  }
  .activityCourseReservationTicketBlock:not(:last-child) {
    margin-bottom: 10px;
  }
  .activityCourseReservationTicketDd {
    font-size: 3.2rem;
  }
  .activityCourseReservationQuestion {
    padding-left: 20px;
    padding-right: 20px;
  }
  .activityCourseReservationQuestionLink {
    padding-top: 18px;
    padding-bottom: 18px;
  }
  .activityCourseReservationInner {
    display: block;
  }
  .activityCourseReservationInner.-rafting .activityCourseReservationPriceList {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    flex-direction: row;
  }
  .activityCourseReservationInner.-rafting .activityCourseReservationImg::before {
    padding-top: 42%;
  }
  .activityCourseReservationImgWrap {
    width: 100%;
  }
  .activityCourseReservationImgWrap .activityCourseReservationBlockText {
    padding-left: 8px;
    padding-right: 8px;
    margin-top: 17px;
  }
  body.rafting .activityCourseReservationPrice {
    margin-bottom: 10px;
  }
  .activityCourseReservationDesc {
    flex-wrap: nowrap;
    width: 100%;
    margin-top: 30px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .activityCourseReservationPrice {
    display: block;
    margin-bottom: 20px;
  }
  .activityCourseReservationPrice span {
    display: block;
    font-size: 2rem;
  }
  .activityCourseReservationTicketBlock {
    display: block;
  }
  .activityCourseReservationTicketList {
    margin-bottom: 20px;
  }
  .activityCourseReservationPriceList {
    white-space: nowrap;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    flex-direction: row;
  }
  .activityCourseReservationBlockText.-red {
    margin-top: 8px;
    padding-left: 2px;
    padding-right: 2px;
  }
  .activityCourseReservationAnnotation {
    margin-top: 15px;
  }
  .activityCourseReservationBlockTitle {
    margin-bottom: 10px;
    padding-left: 8px;
    padding-right: 8px;
  }
  .activityCourseReservationBlock {
    margin-top: 29px;
    background: none !important;
    position: relative;
    z-index: 1;
  }
  .activityCourseReservationBlock::after {
    margin-right: clamp(14px, 1.3888888889vw, 20px);
    margin-left: clamp(14px, 1.3888888889vw, 20px);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-color: #f5f3f2;
    display: inline-block;
    width: calc(100% - clamp(14px, 1.3888888889vw, 20px) * 2);
    height: 100%;
  }
  .activityCourseReservationBlock.-nobg::after {
    display: none;
  }
  .activityCourseReservationBlock.-nobg .activityCourseReservationBlockTitle,
  .activityCourseReservationBlock.-nobg .activityCourseReservationBlockText {
    padding-left: 0;
    padding-right: 0;
  }
  .activityCourseReservationButton {
    padding-top: 5px;
    padding-bottom: 9px;
    margin-top: 0;
  }
  .activityCourseReservationCalender {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column-reverse;
  }
  .activityCourseReservationCalender .activityCourseReservationCalenderTitle {
    line-height: 1.25;
  }
}
.activityCourseSlider .splide__track {
  border: 5px solid #fafafa;
}
.activityCourseSlider .splide__track .splide__list .activityCourseSliderItem figure {
  position: relative;
  overflow: hidden;
}
.activityCourseSlider .splide__track .splide__list .activityCourseSliderItem figure::before {
  display: block;
  padding-top: 105.6112224449%;
  content: "";
}
.activityCourseSlider .splide__arrows .splide__arrow {
  width: clamp(29px, 2.8472222222vw, 41px);
  height: clamp(28px, 2.7777777778vw, 40px);
  background: unset;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 1;
}
.activityCourseSlider .splide__arrows .splide__arrow.splide__arrow--prev {
  left: clamp(10px, 1.25vw, 18px);
  background-image: url(./optimized/activity/activity_alider_arrow_prev.svg);
}
.activityCourseSlider .splide__arrows .splide__arrow.splide__arrow--next {
  right: clamp(10px, 1.25vw, 18px);
  background-image: url(./optimized/activity/activity_alider_arrow_next.svg);
}
.activityCourseSlider .splide__arrows .splide__arrow svg {
  display: none;
}

@media (max-width: 768px) {
  .activityCourseSlider {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  .activityCourseSlider .splide__track .splide__list .activityCourseSliderItem figure {
    position: relative;
    overflow: hidden;
  }
  .activityCourseSlider .splide__track .splide__list .activityCourseSliderItem figure::before {
    display: block;
    padding-top: 58.9333333333%;
    content: "";
  }
  .activityCourseSlider .splide__arrows .splide__arrow.splide__arrow--prev {
    left: 28px;
  }
  .activityCourseSlider .splide__arrows .splide__arrow.splide__arrow--next {
    right: 28px;
  }
  .activityCourseSlider .splide__arrows .splide__arrow svg {
    display: none;
  }
}
body.rafting .activityCourseReservation, body.canyoning .activityCourseReservation {
  margin-top: clamp(32px, 3.75vw, 54px);
}

.activityRaftingSlider {
  position: relative;
  z-index: 2;
}

.activityRaftingSlider .splide__track {
  border: 5px solid #fafafa;
}
.activityRaftingSlider .splide__track .splide__list .activityRaftingSliderItem .activityRaftingSliderImg {
  position: relative;
  overflow: hidden;
}
.activityRaftingSlider .splide__track .splide__list .activityRaftingSliderItem .activityRaftingSliderImg::before {
  display: block;
  padding-top: 52.3076923077%;
  content: "";
}
.activityRaftingSlider .splide__arrows .splide__arrow {
  width: clamp(29px, 2.8472222222vw, 41px);
  height: clamp(28px, 2.7777777778vw, 40px);
  background: unset;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 1;
}
.activityRaftingSlider .splide__arrows .splide__arrow.splide__arrow--prev {
  left: clamp(10px, 1.25vw, 18px);
  background-image: url(./optimized/activity/activity_alider_arrow_prev.svg);
}
.activityRaftingSlider .splide__arrows .splide__arrow.splide__arrow--next {
  right: clamp(10px, 1.25vw, 18px);
  background-image: url(./optimized/activity/activity_alider_arrow_next.svg);
}
.activityRaftingSlider .splide__arrows .splide__arrow svg {
  display: none;
}

@media (max-width: 768px) {
  .activityRaftingSlider {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  .activityRaftingSlider .splide__track .splide__list .activityRaftingSliderItem .activityRaftingSliderImg {
    position: relative;
    overflow: hidden;
  }
  .activityRaftingSlider .splide__track .splide__list .activityRaftingSliderItem .activityRaftingSliderImg::before {
    display: block;
    padding-top: 58.9333333333%;
    content: "";
  }
  .activityRaftingSlider .splide__arrows .splide__arrow.splide__arrow--prev {
    left: 28px;
  }
  .activityRaftingSlider .splide__arrows .splide__arrow.splide__arrow--next {
    right: 28px;
  }
  .activityRaftingSlider .splide__arrows .splide__arrow svg {
    display: none;
  }
}
.raftingCalendar {
  position: relative;
  margin-top: clamp(45px, 5.5555555556vw, 80px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  overflow: hidden;
  padding-left: clamp(0px, 4.0277777778vw, 58px);
  width: 100%;
  padding-right: clamp(0px, 4.0277777778vw, 58px);
}
@media only screen and (max-width: 768px) {
  .raftingCalendar {
    padding-left: 0;
    padding-right: 0;
  }
}

.raftingCalendarCalendar {
  font-family: "DIN OT", sans-serif;
  padding-bottom: clamp(17px, 1.3194444444vw, 19px);
  width: 100%;
  position: relative;
}
.raftingCalendarCalendar.fc .fc-view-harness {
  z-index: 1;
}
.raftingCalendarCalendar.fc .fc-col-header-cell-cushion {
  font-size: clamp(1.2rem, (1.1111111111vw), 1.6rem);
  font-weight: 500;
  line-height: 1.3125;
  margin-bottom: 5px;
  text-transform: uppercase;
  color: #157b2a;
}
.raftingCalendarCalendar.fc .fc-scrollgrid-section-header .fc-col-header-cell {
  border: none;
}
.raftingCalendarCalendar.fc .fc-scrollgrid-section-header > th {
  background: none !important;
  border: none;
}
.raftingCalendarCalendar.fc .fc-scrollgrid-liquid {
  border: none !important;
}
.raftingCalendarCalendar.fc .fc-scroller-harness {
  overflow: visible !important;
}
.raftingCalendarCalendar.fc .fc-view-harness-active > .fc-view {
  height: 100%;
  position: static !important;
}
.raftingCalendarCalendar.fc table {
  margin-bottom: 0;
  border: none;
}
.raftingCalendarCalendar.fc tbody .fc-scroller-liquid-absolute {
  overflow: visible !important;
}
.raftingCalendarCalendar.fc tbody th,
.raftingCalendarCalendar.fc tbody td {
  border: none !important;
}
.raftingCalendarCalendar.fc tbody .fc-daygrid-day {
  position: relative;
  background: #f4f9ed;
  z-index: 3;
}
.raftingCalendarCalendar.fc tbody .fc-daygrid-day .fc-daygrid-day-frame {
  border: 1px solid #8fc13c !important;
  transition: all 0.2s ease;
  padding-top: clamp(7px, 0.8333333333vw, 12px);
  padding-left: clamp(3px, 0.8333333333vw, 12px);
  padding-bottom: clamp(7px, 0.8333333333vw, 12px);
  padding-right: clamp(3px, 0.8333333333vw, 12px);
}
.raftingCalendarCalendar.fc tbody .fc-daygrid-day.fc-day-today {
  background: unset;
}
.raftingCalendarCalendar.fc tbody .fc-daygrid-day.-mixed {
  background: #fbf9ee;
  z-index: 2;
}
.raftingCalendarCalendar.fc tbody .fc-daygrid-day.-mixed .fc-daygrid-day-frame {
  border: 1px solid #7b6515 !important;
}
.raftingCalendarCalendar.fc tbody .fc-daygrid-day.-mixed .fc-daygrid-day-number {
  color: #92840d;
}
.raftingCalendarCalendar.fc tbody .fc-daygrid-day.-empty, .raftingCalendarCalendar.fc tbody .fc-daygrid-day.-closed {
  z-index: 1;
  background: #dddddd;
}
.raftingCalendarCalendar.fc tbody .fc-daygrid-day.-empty .fc-daygrid-day-frame, .raftingCalendarCalendar.fc tbody .fc-daygrid-day.-closed .fc-daygrid-day-frame {
  border: 1px solid #b3b3b3 !important;
}
.raftingCalendarCalendar.fc tbody .fc-daygrid-day.-empty .fc-daygrid-day-number, .raftingCalendarCalendar.fc tbody .fc-daygrid-day.-closed .fc-daygrid-day-number {
  color: #696969;
}
.raftingCalendarCalendar.fc tbody .fc-daygrid-day-top {
  flex-direction: row;
}
.raftingCalendarCalendar.fc tbody .fc-daygrid-day-number {
  font-size: clamp(1.2rem, (1.4583333333vw), 2.1rem);
  font-weight: 500;
  line-height: 0.8571428571;
  padding: 0;
  padding-bottom: 10px;
  pointer-events: none;
  color: #157b2a;
}
.raftingCalendarCalendar.fc .fc-daygrid-event-harness {
  display: none !important;
}
.raftingCalendarCalendar.fc .fc-day-other {
  background: none !important;
}
.raftingCalendarCalendar.fc .fc-day-other .fc-daygrid-day-frame {
  background: none !important;
}
.raftingCalendarCalendar.fc .fc-day-other .fc-daygrid-day-frame .fc-daygrid-day-top {
  color: #c8c8c8;
}
.raftingCalendarCalendar.fc .fc-day-other .fc-daygrid-day-frame .fc-daygrid-day-events {
  opacity: 0.2;
}
.raftingCalendarCalendar.fc .fc-h-event {
  background: none;
  border: none;
  pointer-events: none;
}
.raftingCalendarCalendar.fc .fc-daygrid-day-events {
  margin-top: 0;
}
.raftingCalendarCalendar.fc .fc-daygrid-body-natural .fc-daygrid-day-events {
  margin-bottom: 0;
}
.raftingCalendarCalendar.fc .fc-header-toolbar {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  margin-bottom: 35px !important;
}
.raftingCalendarCalendar.fc .fc-toolbar-title {
  font-size: clamp(2.4rem, (2.2222222222vw), 3.2rem);
  font-weight: 700;
  line-height: 1.28125;
  color: #213d15;
  vertical-align: baseline;
  margin: 0 clamp(15px, 1.3888888889vw, 20px);
}
.raftingCalendarCalendar.fc .fc-today-button {
  display: none !important;
}
.raftingCalendarCalendar.fc .fc-button {
  background: none !important;
  border: none !important;
  position: relative;
}
.raftingCalendarCalendar.fc .fc-button .fc-icon {
  display: none !important;
}
.raftingCalendarCalendar.fc .fc-button::after {
  content: "";
  background: url("./optimized/activity/img_calendar-icon.svg");
  height: clamp(19px, 1.5972222222vw, 23px);
  width: clamp(11px, 0.9027777778vw, 13px);
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
}
.raftingCalendarCalendar.fc .fc-next-button::after {
  transform: rotate(180deg);
  transform-origin: center center;
}

.raftingCalendarScheduleWrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.raftingCalendarSchedule {
  font-size: clamp(1.05rem, (1.1111111111vw), 1.6rem);
  font-weight: 500;
  line-height: 1.125;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  display: inline-flex;
  color: #898989;
  border-radius: 4px;
  padding-top: clamp(0px, 0.2777777778vw, 4px);
  padding-bottom: clamp(0px, 0.2777777778vw, 4px);
  padding-left: clamp(0px, 0.2777777778vw, 4px);
  padding-right: clamp(0px, 0.2777777778vw, 4px);
  background-color: #8fc13c;
  color: white;
  text-align: center;
}
.raftingCalendarSchedule:not(:last-of-type) {
  margin-bottom: clamp(8px, 0.8333333333vw, 12px);
}
.raftingCalendarSchedule.-unavailable {
  background: #898989;
}

.raftingCalendarWrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: 10px;
  column-gap: 27px;
}
@media only screen and (max-width: 768px) {
  .raftingCalendarWrap {
    padding-left: 13px;
    padding-right: 13px;
  }
}

.raftingCalendarDesc {
  letter-spacing: -0.085em;
  font-size: clamp(1.6rem, (1.3888888889vw), 2rem);
  font-weight: 600;
  line-height: 2;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}
.raftingCalendarDesc::before {
  margin-right: 7px;
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
}
.raftingCalendarDesc:first-of-type::before {
  width: 25px;
  height: 25px;
  background-color: #8fc13c;
}
.raftingCalendarDesc:last-of-type::before {
  width: 25px;
  height: 25px;
  background-color: #898989;
}

.blogDetail {
  padding-bottom: clamp(0px, 8.75vw, 126px);
  background-color: #fafafa;
}
.blogDetail .container {
  padding: 0 clamp(16px, 5.2777777778vw, 76px);
}

.blogDetailHeroImg {
  position: relative;
  overflow: hidden;
}
.blogDetailHeroImg::before {
  display: block;
  padding-top: 36.7361111111%;
  content: "";
}

.blogDetailInner {
  position: relative;
  z-index: 1;
  margin-top: clamp(-130px, -9.0277777778vw, -130px);
  margin-bottom: clamp(100px, 11.1111111111vw, 160px);
  padding-top: clamp(18px, 4.4444444444vw, 64px);
  padding-right: clamp(9px, 6.1111111111vw, 88px);
  padding-left: clamp(9px, 8.8888888889vw, 128px);
  background-color: #fafafa;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.blogDetailMain {
  width: 61.1007462687%;
}

.blogDetailHead {
  padding-top: clamp(21px, 1.5277777778vw, 22px);
  padding-bottom: clamp(21px, 1.5277777778vw, 22px);
  border-top: 1px solid #8fc13c;
  border-bottom: 1px solid #8fc13c;
}
.blogDetailHead time {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.2rem, (0.9027777778vw), 1.3rem);
  font-weight: 400;
  line-height: 1.3076923077;
}

.blogDetailTitle {
  margin-top: clamp(5px, 0.4166666667vw, 6px);
  color: #157b2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.8rem, (1.7361111111vw), 2.5rem);
  font-weight: 500;
  line-height: 1.96;
}

.blogDetailContent {
  margin-top: clamp(24px, 3.75vw, 54px);
  padding-bottom: clamp(56px, 4.7916666667vw, 69px);
  border-bottom: 1px solid #8fc13c;
}
.blogDetailContent h2 {
  position: relative;
  padding-left: clamp(14px, 0.9722222222vw, 14px);
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.8rem, (1.4583333333vw), 2.1rem);
  font-weight: 500;
  line-height: 1.380952381;
}
.blogDetailContent h2::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: clamp(6px, 0.4166666667vw, 6px);
  height: 100%;
  background-color: #157b2a;
  content: "";
  transform: translate(0%, -50%);
}
.blogDetailContent h3 {
  position: relative;
  margin-top: clamp(24px, 1.875vw, 27px);
  margin-bottom: clamp(15px, 1.0416666667vw, 15px);
  padding-bottom: clamp(5px, 0.3472222222vw, 5px);
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (1.0416666667vw), 1.5rem);
  font-weight: 500;
  line-height: 1.7333333333;
}
.blogDetailContent h3::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #8fc13c;
  content: "";
}
.blogDetailContent h3::after {
  position: absolute;
  bottom: clamp(-1.5px, -0.1041666667vw, -1.5px);
  left: 0;
  width: clamp(22px, 2.9166666667vw, 42px);
  height: clamp(4px, 0.2777777778vw, 4px);
  background-color: #157b2a;
  content: "";
}
.blogDetailContent p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (0.9722222222vw), 1.4rem);
  font-weight: 400;
  line-height: 1.7142857143;
}
.blogDetailContent img {
  width: 100%;
  margin-top: clamp(32px, 5.1388888889vw, 74px);
}

.blogDetailEyecatch {
  margin-bottom: clamp(27px, 1.875vw, 27px);
  position: relative;
  overflow: hidden;
}
.blogDetailEyecatch::before {
  display: block;
  padding-top: 60.6153846154%;
  content: "";
}
.blogDetailEyecatch img {
  margin-top: 0;
}

.blogDetailBtnInner {
  margin-top: clamp(56px, 5.7638888889vw, 83px);
}

.blogDetailBtn {
  width: 34.1984732824%;
  padding-top: clamp(4px, 0.3819444444vw, 5.5px);
  padding-bottom: clamp(4px, 0.3819444444vw, 5.5px);
  border-radius: 15px;
  background-color: #fee04c;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.2rem, (0.9027777778vw), 1.3rem);
  font-weight: 500;
  line-height: 1.4615384615;
}

.blogDetailSide {
  width: 33.8619402985%;
  padding-top: clamp(20px, 2.8472222222vw, 41px);
  border-top: 1px solid #8fc13c;
}

.blogDetailSideBlock:not(:last-child) {
  margin-bottom: clamp(56px, 5.3472222222vw, 77px);
}

.blogDetailSideArticleItem:not(:last-child) {
  margin-bottom: clamp(12px, 1.7361111111vw, 25px);
}

.blogDetailSideArticleItemLink time {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.2rem, (0.9027777778vw), 1.3rem);
  font-weight: 400;
  line-height: 1.7692307692;
}

.blogDetailSideArticleTitle {
  color: #8fc13c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (1.3888888889vw), 2rem);
  font-weight: 500;
  line-height: 1.95;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.blogDetailSideBlockTitle {
  position: relative;
  margin-bottom: clamp(14px, 1.0416666667vw, 15px);
  padding-bottom: clamp(10px, 0.9027777778vw, 13px);
  color: #8fc13c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (1.1805555556vw), 1.7rem);
  font-weight: 700;
  line-height: 1.3529411765;
}
.blogDetailSideBlockTitle::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #8fc13c;
  content: "";
}

.blogDetailSideCategoryItem:not(:last-child) {
  margin-bottom: clamp(10px, 1.0416666667vw, 15px);
}

.blogDetailSideCategoryLink {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (1.3888888889vw), 2rem);
  font-weight: 500;
  line-height: 1.45;
}

.blogDetailRecently {
  width: 83.4627329193%;
  margin: 0 auto;
}
.blogDetailRecently.-sp {
  display: none;
}

.blogDetailRecentlyList {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.blogDetailRecentlyItem {
  width: 31.7209302326%;
}

.blogDetailRecentlyLink {
  width: 100%;
}

.blogDetailRecentlyImg {
  margin-bottom: clamp(11px, 0.7638888889vw, 11px);
  position: relative;
  overflow: hidden;
}
.blogDetailRecentlyImg::before {
  display: block;
  padding-top: 105.8651026393%;
  content: "";
}

.blogDetailRecentlyContent br {
  display: none;
}
.blogDetailRecentlyContent time {
  margin-bottom: clamp(2px, 0.1388888889vw, 2px);
  font-family: "DIN OT", sans-serif;
  font-size: clamp(1.3rem, (0.9722222222vw), 1.4rem);
  font-weight: 600;
  line-height: 1.2857142857;
}
.blogDetailRecentlyContent .blogDetailRecentlyText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (0.9722222222vw), 1.4rem);
  font-weight: 400;
  line-height: 1.5;
}
.blogDetailRecentlyContent .blogDetailRecentlyText > a {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.blogDetailRecentlyContent .blogDetailRecentlyText > a + p,
.blogDetailRecentlyContent .blogDetailRecentlyText > a + a {
  display: none;
}
.blogDetailRecentlyContent .blogDetailRecentlyText:nth-of-type(n + 2) {
  display: none;
  display: none;
  visibility: hidden;
  height: 0px;
  line-height: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.blogDetailRecentlyContent p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (0.9722222222vw), 1.4rem);
  font-weight: 400;
  line-height: 1.5;
}

.blogDetailRecentlyTitle {
  margin-bottom: clamp(13px, 0.9027777778vw, 13px);
  color: #8fc13c;
  font-family: "Noto Sans JP", sans-serif;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: clamp(1.8rem, (1.3888888889vw), 2rem);
  font-weight: 500;
  line-height: 1.7;
}
.blogDetailRecentlyTitle a {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

@media (max-width: 768px) {
  .blogDetail .container {
    padding: 0 16px;
  }
  .blogDetailHeroImg {
    position: relative;
    overflow: hidden;
  }
  .blogDetailHeroImg::before {
    display: block;
    padding-top: 81.3333333333%;
    content: "";
  }
  .blogDetailHeroImg:after {
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    height: 35.737704918%;
    background: linear-gradient(180deg, rgba(55, 55, 55, 0.6) 28.03%, rgba(55, 55, 55, 0) 100%);
    content: "";
    transform: translate(-50%, 0%);
    mix-blend-mode: multiply;
  }
  .blogDetailInner {
    display: block;
    margin-top: -64px;
    margin-bottom: 50px;
    padding-right: 9px;
    padding-left: 9px;
  }
  .blogDetailMain {
    width: 100%;
  }
  .blogDetailHead {
    margin-bottom: 21px;
  }
  .blogDetailTitle {
    text-align: center;
  }
  .blogDetailEyecatch {
    margin-bottom: 56px;
  }
  .blogDetailContent h3 {
    margin-top: 32px;
    margin-bottom: 23px;
    padding-bottom: 8px;
    font-size: 1.6rem;
  }
  .blogDetailContent p {
    width: 96.9230769231%;
    margin: 0 auto;
    font-weight: 300;
  }
  .blogDetailBtnInner {
    margin-bottom: 100px;
    text-align: center;
  }
  .blogDetailBtn {
    width: 68.9230769231%;
    padding-top: 17px;
    padding-bottom: 17px;
    font-size: 1.8rem;
  }
  .blogDetailSide {
    width: 100%;
    margin-top: 56px;
  }
  .blogDetailSideBlockTitle {
    padding-left: 15px;
  }
  .blogDetailSideArticle {
    width: 87.6923076923%;
    margin: 0 auto;
  }
  .blogDetailSideArticleItemLink {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
  }
  .blogDetailSideArticleItemLink time {
    margin-right: 32px;
  }
  .blogDetailSideArticleTitle {
    font-weight: 400;
  }
  .blogDetailSideBlockTitle {
    margin-bottom: 20px;
    font-size: 1.8rem;
  }
  .blogDetailSideCategory {
    width: 87.6923076923%;
    margin: 0 auto;
  }
  .blogDetailSideCategoryLink {
    font-weight: 400;
  }
  .blogDetailRecently {
    width: 100%;
  }
  .blogDetailRecently.-pc {
    display: none;
  }
  .blogDetailRecently.-sp {
    display: block;
  }
  .blogDetailRecentlyList {
    display: block;
  }
  .blogDetailRecentlyItem {
    width: 100%;
  }
  .blogDetailRecentlyItem:not(:last-child) {
    margin-bottom: 32px;
  }
  .blogDetailRecentlyImg {
    margin-bottom: 24px;
    position: relative;
    overflow: hidden;
  }
  .blogDetailRecentlyImg::before {
    display: block;
    padding-top: 50.7936507937%;
    content: "";
  }
  .blogDetailRecentlyContent time {
    display: block;
    margin-bottom: 8px;
  }
  .blogDetailRecentlyContent .blogDetailRecentlyText {
    line-height: 1.8571428571;
  }
  .blogDetailRecentlyContent .blogDetailRecentlyText > a {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
  }
  .blogDetailRecentlyTitle {
    margin-bottom: 16px;
  }
}
.blogSummary {
  padding-top: clamp(123px, 19.2361111111vw, 277px);
  background-color: #fafafa;
}
.blogSummary .pagination {
  padding-top: 0;
}

.blogSummaryTitle {
  color: #157b2a;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-direction: row;
  font-size: clamp(1.8rem, (1.5277777778vw), 2.2rem);
  font-weight: 600;
  line-height: 2.7272727273;
  font-family: "A P-OTF KuretakeMeiseki StdN", sans-serif;
}
.blogSummaryTitle span {
  margin-right: clamp(0px, 1.5277777778vw, 22px);
  color: #8fc13c;
  font-family: "DIN OT", sans-serif;
  font-size: clamp(4.2rem, (4.8611111111vw), 7rem);
  font-weight: 700;
  line-height: 1.2857142857;
}

.blogSummaryInner {
  margin-top: clamp(24px, 6.6666666667vw, 96px);
}

.blogSummaryCategoryTitle {
  margin-bottom: clamp(24px, 3.3333333333vw, 48px);
  color: #157b2a;
  font-size: clamp(2rem, (2.7777777778vw), 4rem);
  font-weight: 400;
  line-height: 1;
}
.blogSummaryCategoryTitle span {
  color: #213d15;
}

.blogSummaryList {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}

.blogSummaryItem {
  width: 47.5%;
  margin-bottom: 6.6346153846%;
}
.blogSummaryItem:not(:nth-child(2n)) {
  margin-right: 5%;
}
.blogSummaryItem:nth-child(2n) {
  margin-right: 0;
}

.blogSummaryLink {
  width: 100%;
}

.blogSummaryImg {
  margin-bottom: clamp(0px, 0.625vw, 9px);
  position: relative;
  overflow: hidden;
}
.blogSummaryImg::before {
  display: block;
  padding-top: 73.0769230769%;
  content: "";
}

.blogSummaryContent time {
  margin-bottom: clamp(0px, 0.0694444444vw, 1px);
  font-size: clamp(1.3rem, (1.1111111111vw), 1.6rem);
  font-weight: 600;
  line-height: 1.3125;
}

.blogSummaryItemTitle {
  margin-bottom: clamp(0px, 0.4166666667vw, 6px);
  color: #8fc13c;
  font-family: "Noto Sans JP", sans-serif;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: clamp(1.8rem, (1.5277777778vw), 2.2rem);
  font-weight: 400;
  line-height: 1.4545454545;
}

.blogSummaryText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (1.1111111111vw), 1.6rem);
  font-weight: 400;
  line-height: 1.5;
}
.blogSummaryText:nth-of-type(n + 2) {
  display: none;
  visibility: hidden;
  height: 0px;
  line-height: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.blogSummaryText > a {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.blogSummaryText > a + p,
.blogSummaryText > a + a {
  display: none;
}
.blogSummaryText > a img {
  display: none;
}

@media (max-width: 768px) {
  .blogSummary .pagination {
    padding-top: 22px;
  }
  .blogSummaryCategoryTitle {
    margin-top: 48px;
  }
  .blogSummaryTitle {
    line-height: 2;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  .blogSummaryList {
    display: block;
  }
  .blogSummaryItem {
    width: 100%;
    margin-bottom: 32px;
  }
  .blogSummaryItem:not(:nth-child(2n)) {
    margin-right: 0;
  }
  .blogSummaryImg {
    margin-bottom: 28px;
    position: relative;
    overflow: hidden;
  }
  .blogSummaryImg::before {
    display: block;
    padding-top: 68.253968254%;
    content: "";
  }
  .blogSummaryContent time {
    margin-bottom: 8px;
  }
  .blogSummaryItemTitle {
    margin-bottom: 16px;
  }
  .blogSummaryText {
    line-height: 1.8571428571;
  }
  .blogSummaryText > a {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
  }
}
.contactSection {
  padding-top: clamp(123px, 12.6388888889vw, 182px);
  padding-bottom: clamp(104px, 9.3055555556vw, 134px);
  background-color: #fafafa;
}
.contactSection .wpcf7-form {
  width: 60.2884615385%;
  margin-bottom: clamp(-40px, -2.7777777778vw, -40px);
}
.contactSection .formItem span input {
  padding-left: clamp(4px, 0.3472222222vw, 5px);
  background-color: #fafafa;
}
.contactSection .formItem span textarea {
  background-color: #fafafa;
}
.contactSection .formLink {
  margin-top: clamp(30px, 2.8472222222vw, 41px);
}
.contactSection .formLink a {
  font-size: clamp(1.4rem, (1.1111111111vw), 1.6rem);
  font-weight: 400;
  line-height: 1.25;
}
.contactSection .wpcf7-checkbox span {
  font-size: clamp(1.4rem, (1.1111111111vw), 1.6rem);
  font-weight: 400;
  line-height: 1.25;
}
.contactSection .wpcf7-checkbox .wpcf7-list-item {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.contactSection .formSubmit {
  margin-top: clamp(30px, 3.125vw, 45px);
}
.contactSection .formSubmit input {
  padding-top: clamp(9px, 1.3194444444vw, 19px);
  padding-bottom: clamp(9px, 1.3194444444vw, 19px);
  border-radius: 0px;
}
.contactSection .wpcf7-response-output {
  border: none !important;
  font-size: 1.5rem;
}

.contactSectionHero {
  margin-bottom: clamp(40px, 5.1388888889vw, 74px);
}

.contactSectionHeroTitle {
  color: #8fc13c;
  text-align: center;
  font-family: "DIN OT", sans-serif;
  font-size: clamp(3.6rem, (4.8611111111vw), 7rem);
  font-weight: 700;
  line-height: 1.5;
}
.contactSectionHeroTitle span {
  display: block;
  color: #157b2a;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.6rem, (1.1111111111vw), 1.6rem);
  font-weight: 400;
  line-height: 1;
}

@media (max-width: 768px) {
  .contactSection .wpcf7-form {
    width: 88.9212827988%;
  }
  .contactSection .formItem:not(:last-child) {
    margin-bottom: 15px;
  }
  .contactSection .formItem span input {
    padding-left: 9px;
    background-color: #fff;
  }
  .contactSection .formItem span textarea {
    padding-left: 9px;
    background-color: #fff;
  }
  .contactSection .wpcf7-checkbox span.wpcf7-list-item-label {
    padding-left: 14px;
  }
  .contactSection .formSubmit input {
    padding-top: 6.5px;
    padding-bottom: 6.5px;
    font-size: 2rem;
  }
}
.contactThanks {
  margin-top: clamp(70px, 10.2777777778vw, 148px);
  text-align: center;
  display: none;
}

.contactThanksText {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.6rem, (1.1111111111vw), 1.6rem);
  font-weight: 400;
  line-height: 1.5;
}

.contactThanksLink {
  width: 60.2884615385%;
  margin: clamp(71px, 20.4166666667vw, 294px) auto 0;
  padding-top: clamp(11px, 1.1805555556vw, 17px);
  padding-bottom: clamp(11px, 1.1805555556vw, 17px);
  background: #fee04c;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.8rem, (1.6666666667vw), 2.4rem);
  font-weight: 400;
  line-height: 1.7083333333;
}

@media (max-width: 768px) {
  .contactThanks {
    width: 88.9212827988%;
    margin: 70px auto 0;
  }
  .contactThanksText {
    width: 89.5081967213%;
    margin: 0 auto;
  }
  .contactThanksLink {
    width: 100%;
  }
  .contactThanksLink span {
    position: relative;
    display: inline-block;
  }
  .contactThanksLink span::before {
    position: absolute;
    top: 50%;
    right: -26px;
    width: 10px;
    height: 17px;
    background-image: url(./optimized/common/contact_thanks_arrow.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    content: "";
    transform: translate(0%, -50%);
  }
}
.faqSec {
  padding-top: clamp(123px, 20.0694444444vw, 289px);
  padding-bottom: clamp(100px, 8.5416666667vw, 123px);
  background-color: #fafafa;
}

.faqTabMenu {
  margin-top: clamp(24px, 5.9722222222vw, 86px);
  margin-bottom: clamp(50px, 5.4166666667vw, 78px);
}

.faqTabMenuListWrap {
  display: none;
}

.faqTabMenuList {
  flex-wrap: wrap;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
}

.faqTabMenuItem {
  width: 31.25%;
  margin-bottom: clamp(0px, 1.9444444444vw, 28px);
  text-align: center;
  margin-right: 31px;
  width: calc((100% - 62px) / 3);
  margin-bottom: 28px;
}
.faqTabMenuItem:nth-of-type(3n) {
  margin-right: 0;
}
.faqTabMenuItem:nth-last-of-type(3) {
  margin-bottom: 0;
}
.faqTabMenuItem:nth-last-of-type(1) {
  margin-bottom: 0;
}
.faqTabMenuItem:nth-last-of-type(2) {
  margin-bottom: 0;
}
.faqTabMenuItem:nth-last-of-type(3) {
  margin-bottom: 0;
}
.faqTabMenuItem.-current .faqTabMenuLink {
  border: 1px solid #213d15;
  background-color: #fee04c;
}
.faqTabMenuItem:hover .faqTabMenuLink {
  border: 1px solid #213d15;
  background-color: #fee04c;
  opacity: 1;
}

.faqTabMenuLink {
  display: block;
  width: 100%;
  padding-top: clamp(10px, 0.5208333333vw, 7.5px);
  padding-bottom: clamp(10px, 0.5208333333vw, 7.5px);
  border: 1px solid #157b2a;
  background-color: #fafafa;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(2rem, (1.3888888889vw), 2rem);
  font-weight: 500;
  line-height: 1.45;
  transition: all 0.2s ease;
}
.faqTabMenuLink:hover {
  opacity: 1;
  transform: scale(1.1);
}

.faqTabContentList {
  display: none;
}
.faqTabContentList.-current {
  display: block;
}
.faqTabContentList.-pc {
  display: block;
}
.faqTabContentList.-sp {
  display: none;
}

.faqTabContentItem {
  padding-bottom: clamp(26px, 2.4305555556vw, 35px);
  border-bottom: 1px solid #8fc13c;
}
.faqTabContentItem:not(:last-child) {
  margin-bottom: clamp(49px, 3.4027777778vw, 49px);
}

.faqTabContentItemTitle {
  position: relative;
  margin-bottom: clamp(44px, 3.0555555556vw, 44px);
  padding-left: clamp(40px, 3.75vw, 54px);
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.6rem, (1.1805555556vw), 1.7rem);
  font-weight: 500;
  line-height: 1.1764705882;
}
.faqTabContentItemTitle::before {
  position: absolute;
  top: clamp(-14px, -0.9722222222vw, -14px);
  left: 0;
  color: #8fc13c;
  content: "Q";
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(3.2rem, (2.7777777778vw), 4rem);
  font-weight: 400;
  line-height: 1.45;
}

.faqTabContentItemText {
  position: relative;
  margin-left: clamp(62px, 4.3055555556vw, 62px);
  padding-left: clamp(16px, 3.1944444444vw, 46px);
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (1.25vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
}
.faqTabContentItemText::before {
  position: absolute;
  top: clamp(-10px, -0.6944444444vw, -10px);
  left: 0;
  color: #157b2a;
  content: "A";
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(3.2rem, (2.7777777778vw), 4rem);
  font-weight: 400;
  line-height: 1.45;
}

@media (max-width: 768px) {
  .faqTabMenuListWrap {
    position: relative;
    display: block;
  }
  .faqTabMenuListWrap::before {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 20px;
    height: 13px;
    background-image: url(./optimized/common/select_arrow_white.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    content: "";
    transform: translate(0%, -50%);
  }
  .faqTabMenuList {
    display: block;
    width: 100%;
    padding: 10px 20px;
    border: none;
    background-color: #157b2a;
    color: #fff;
    text-align: -webkit-center;
    letter-spacing: 0.1em;
    font-weight: 500;
    font-size: 2rem;
    font-family: "Noto Sans JP", sans-serif;
    -webkit-appearance: none;
    appearance: none;
  }
  .faqTabMenuList.-pc {
    display: none;
  }
  .faqTabMenuItem {
    width: 100%;
    margin: 0;
  }
  .faqTabContentList {
    padding: 0 7px;
  }
  .faqTabContentItem {
    position: relative;
    padding-bottom: 32px;
    border-bottom: none;
  }
  .faqTabContentItem::before {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 100vw;
    height: 1px;
    background-color: #8fc13c;
    content: "";
    transform: translate(-50%, 0%);
  }
  .faqTabContentItemTitle {
    margin-bottom: 51px;
  }
  .faqTabContentItemTitle::before {
    position: absolute;
    top: -17px;
    left: 0;
    transform: translate(0%, 0%);
  }
  .faqTabContentItemText {
    margin-left: 0;
    padding-left: 40px;
  }
  .faqTabContentItemText::before {
    position: absolute;
    top: -12px;
    left: 0;
    transform: translate(0%, 0%);
  }
}
.homeAbout {
  position: relative;
  padding-bottom: clamp(50px, 3.4722222222vw, 50px);
}

.homeAboutImgWrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}

.homeAboutImg {
  transition: transform 0.4s ease, opacity 0.5s ease;
  transform: translateY(25%);
  opacity: 0;
}
.homeAboutImg.-load {
  transform: translateY(0);
  opacity: 1;
}
.homeAboutImg:first-child {
  width: 46.9230769231%;
  position: relative;
  overflow: hidden;
}
.homeAboutImg:first-child::before {
  display: block;
  padding-top: 107.1721311475%;
  content: "";
}
.homeAboutImg:nth-child(2) {
  width: 53.0769230769%;
  margin-top: clamp(0px, 24.5833333333vw, 354px);
  position: relative;
  overflow: hidden;
}
.homeAboutImg:nth-child(2)::before {
  display: block;
  padding-top: 82.2463768116%;
  content: "";
}

.homeAboutDesc {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  max-width: 1920px;
  padding: 0 clamp(16px, 13.8888888889vw, 200px);
  transform: translate(-50%, 0%);
}

.homeAboutTitle {
  width: 53.0769230769%;
  margin: 0 0 0 auto;
  margin-bottom: clamp(24px, 2.2222222222vw, 32px);
  padding-left: clamp(0px, 2.6388888889vw, 38px);
  color: #157b2a;
  text-shadow: 4px 4px 8px #ffffff;
  letter-spacing: -0.08em;
  transform: rotate(-2.55deg);
  font-size: clamp(3.2rem, (3.3333333333vw), 4.8rem);
  font-weight: 600;
  line-height: 1.0625;
}

.homeAboutText {
  font-size: clamp(1.4rem, (1.1805555556vw), 1.7rem);
  font-weight: 600;
  line-height: 1.4705882353;
}
.homeAboutText:nth-of-type(1) {
  width: 53.0769230769%;
  margin: 0 0 0 auto;
  padding-left: clamp(0px, 2.6388888889vw, 38px);
}
.homeAboutText:nth-of-type(2) {
  width: 46.9230769231%;
  margin: 20.4861111111vw auto 0 0;
  padding-right: clamp(0px, 0.9027777778vw, 13px);
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .homeAboutTitle {
    white-space: nowrap;
  }
  .homeAboutImg:first-child {
    height: 325px;
  }
  .homeAboutImg:nth-child(2) {
    margin-top: 280px;
  }
  .homeAboutText:nth-of-type(2) {
    margin: max(5vw, 90px) auto 0 0;
  }
}
@media (min-width: 1500px) {
  .homeAboutText:nth-of-type(2) {
    margin: 36% auto 0 0;
  }
}
@media (max-width: 768px) {
  .homeAbout {
    padding-top: 50px;
  }
  .homeAboutImgWrap {
    display: block;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  .homeAboutImg:first-child {
    width: 91.4666666667%;
    position: relative;
    overflow: hidden;
  }
  .homeAboutImg:first-child::before {
    display: block;
    padding-top: 69.6793002915%;
    content: "";
  }
  .homeAboutImg:nth-child(2) {
    width: 90.6666666667%;
    margin: -60px 0 0 auto;
    position: relative;
    overflow: hidden;
  }
  .homeAboutImg:nth-child(2)::before {
    display: block;
    padding-top: 60.2941176471%;
    content: "";
  }
  .homeAboutDesc {
    position: unset;
    width: 100%;
    margin-top: 24px;
    padding: 0;
    transform: translate(0%, 0%);
  }
  .homeAboutTitle {
    width: 100%;
    margin: 0 0 42px 0;
    padding: 0;
  }
  .homeAboutText {
    line-height: 1.7857142857;
  }
  .homeAboutText:nth-of-type(1) {
    width: 100%;
    margin: 0 0 32px 0;
    padding: 0;
  }
  .homeAboutText:nth-of-type(2) {
    width: 100%;
    margin: 0;
    padding: 0;
  }
}
.homeCompanyInner {
  max-width: 628px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  padding-bottom: clamp(50px, 8.125vw, 117px);
}

.homeCompanyTxt {
  font-size: clamp(1.4rem, (1.1805555556vw), 1.7rem);
  font-weight: 600;
  line-height: 1.4705882353;
  color: #213d15;
}

.homeCompanyTtl {
  margin-top: clamp(19px, 2.6388888889vw, 38px);
  font-size: clamp(1.7rem, (1.5972222222vw), 2.3rem);
  font-weight: 600;
  line-height: 2;
  color: #157b2a;
  text-align: center;
}

.homeCompanyTel {
  margin-top: clamp(4px, 1.1111111111vw, 16px);
  background-color: #157b2a;
  font-size: clamp(1.5rem, (2.0138888889vw), 2.9rem);
  font-weight: 600;
  line-height: 1.3793103448;
  padding-top: 10px;
  padding-left: clamp(18px, 2.7777777778vw, 40px);
  padding-bottom: 10px;
  padding-right: clamp(18px, 2.7777777778vw, 40px);
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  color: #fff;
  text-decoration: none;
}
.homeCompanyTel span {
  display: inline-block;
}

.homeActivity {
  position: relative;
  padding-top: clamp(50px, 3.4722222222vw, 50px);
}
.homeActivity::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  height: clamp(0px, 41.3194444444vw, 595px);
  background-color: #fff;
  background-image: url(./optimized/common/section_bg.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  transform: translate(-50%, 0%);
}
@media (max-width: 1000px) {
  .homeActivity::before {
    height: 90%;
  }
}
.homeActivity .container {
  position: relative;
  z-index: 1;
}

.homeActivityTitle {
  color: #8fc13c;
  text-align: center;
  font-family: "DIN OT", sans-serif;
  font-size: clamp(4.2rem, (4.8611111111vw), 7rem);
  font-weight: 700;
  line-height: 1.2857142857;
}

.homeActivityInner {
  width: 89.2307692308%;
  width: 100%;
  margin: 0 auto;
}

.homeActivityList {
  margin-top: clamp(24px, 2.3611111111vw, 34px);
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-direction: row;
  flex-wrap: wrap;
}
.homeActivityItem {
  position: relative;
  width: 33.3333333333%;
  transition: transform 0.4s ease, opacity 0.5s ease;
  transform: translateY(15%);
  opacity: 0;
}
.homeActivityItem.-load {
  transform: translateY(0);
  opacity: 1;
}
.homeActivityItem:nth-child(2) {
  transition-delay: 0.2s;
}
.homeActivityItem:nth-child(3) {
  transition-delay: 0.4s;
}
@media (max-width: 1000px) {
  .homeActivityItem {
    width: calc(50% - 16px);
  }
  .homeActivityItem:not(:last-child) {
    margin: 0 0 76px 0;
  }
  .homeActivityItem:nth-child(2) .homeActivityItemDesc {
    height: auto;
  }
}
@media only screen and (max-width: 768px) {
  .homeActivityItem {
    width: 100%;
  }
}

.homeActiveWrap {
  width: 81.7927170868%;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: column;
  background-color: white;
  height: 100%;
  border-radius: 0px 0px 15px 15px;
  position: relative;
}
@media (max-width: 1000px) {
  .homeActiveWrap {
    background-color: transparent;
    width: 100%;
  }
  .homeActiveWrap::after {
    content: "";
    display: block;
    width: 100%;
    z-index: -1;
    height: 50%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: white;
    border-radius: 0px 0px 15px 15px;
  }
}

.homeActivityEng {
  position: absolute;
  top: 0;
  right: 0%;
  color: #8fc13c;
  font-family: "DIN OT", sans-serif;
  transform: translateX(105%);
  font-size: clamp(3.2rem, (2.7777777778vw), 4rem);
  font-weight: 700;
  line-height: 1;
  writing-mode: vertical-rl;
}
@media (max-width: 1000px) {
  .homeActivityEng {
    position: relative;
    writing-mode: unset;
    transform: translate(0);
    padding-bottom: 5px;
  }
}

.homeActivityItemImg {
  width: 100%;
  margin: 0 auto 0 0;
  border-radius: 15px 15px 0px 0px;
  position: relative;
  overflow: hidden;
}
.homeActivityItemImg::before {
  display: block;
  padding-top: 108.5616438356%;
  content: "";
}
@media (max-width: 1000px) {
  .homeActivityItemImg {
    width: 100%;
    position: relative;
    overflow: hidden;
  }
  .homeActivityItemImg::before {
    display: block;
    padding-top: 71.1370262391%;
    content: "";
  }
}

.homeActivityItemDesc {
  display: block;
  width: 100%;
  margin: 0 auto 0 0;
  padding-top: clamp(15px, 1.1111111111vw, 16px);
  padding-right: 15px;
  padding-bottom: 40px;
  padding-left: 15px;
}
@media (max-width: 1000px) {
  .homeActivityItemDesc {
    width: 100%;
    height: auto;
    padding: 15px 16px 45px;
    border-radius: 0 0 15px 15px;
    background-color: white;
  }
}

.homeActivityItemTitle {
  margin-bottom: clamp(16px, 1.1805555556vw, 17px);
  color: #8fc13c;
  text-align: center;
  font-size: clamp(2.4rem, (1.8055555556vw), 2.6rem);
  font-weight: 600;
  line-height: 1.1923076923;
}
.homeActivityItemTitle span {
  display: inline-block;
}

.homeActivityItemText {
  font-size: clamp(1.4rem, (1.0416666667vw), 1.5rem);
  font-weight: 600;
  line-height: 1.4666666667;
}

.homeActivityItemLink {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
  display: block;
  width: calc(100% - 28px);
  padding-top: 12px;
  padding-bottom: 12px;
  border-radius: 15px;
  background-color: #fee04c;
  text-align: center;
  font-size: clamp(2rem, (1.3888888889vw), 2rem);
  font-weight: 600;
  line-height: 1.25;
  transition: all 0.2s ease;
}
.homeActivityItemLink:hover {
  opacity: 1;
  transform: translate(-50%, 50%) scale(1.1);
}

@media (min-width: 1500px) {
  .homeActivity::before {
    height: 44vw;
  }
}
@media (max-width: 768px) {
  .homeActivityInner {
    width: 100%;
  }
  .homeActivityItemLink {
    width: 91.3432835821%;
    margin: -30px auto 0;
  }
}
.homeBlog {
  padding-top: clamp(0px, 4.8611111111vw, 70px);
}

.homeBlogTitle {
  color: #8fc13c;
  font-family: "DIN OT", sans-serif;
  font-size: clamp(4rem, (2.7777777778vw), 4rem);
  font-weight: 700;
  line-height: 1.3;
}

.homeBlogList {
  margin-top: clamp(10px, 0.9027777778vw, 13px);
  margin-bottom: clamp(20px, 1.3888888889vw, 20px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.homeBlogItem {
  width: 22.7884615385%;
  transform: translateY(25%);
  opacity: 0;
  transition: transform 0.4s cubic-bezier(0.15, 0.465, 0.535, 1.455), opacity 0.5s ease;
}
.homeBlogItem:nth-of-type(1) {
  transition-delay: calc(0.1s * 1);
}
.homeBlogItem:nth-of-type(2) {
  transition-delay: calc(0.1s * 2);
}
.homeBlogItem:nth-of-type(3) {
  transition-delay: calc(0.1s * 3);
}
.homeBlogItem:nth-of-type(4) {
  transition-delay: calc(0.1s * 4);
}
.homeBlogItem:nth-of-type(5) {
  transition-delay: calc(0.1s * 5);
}
.homeBlogItem:nth-of-type(6) {
  transition-delay: calc(0.1s * 6);
}
.homeBlogItem:nth-of-type(7) {
  transition-delay: calc(0.1s * 7);
}
.homeBlogItem:nth-of-type(8) {
  transition-delay: calc(0.1s * 8);
}
.homeBlogItem:nth-of-type(9) {
  transition-delay: calc(0.1s * 9);
}
.homeBlogItem:nth-of-type(10) {
  transition-delay: calc(0.1s * 10);
}
.homeBlogItem:nth-of-type(11) {
  transition-delay: calc(0.1s * 11);
}
.homeBlogItem:nth-of-type(12) {
  transition-delay: calc(0.1s * 12);
}
.homeBlogItem:nth-of-type(13) {
  transition-delay: calc(0.1s * 13);
}
.homeBlogItem:nth-of-type(14) {
  transition-delay: calc(0.1s * 14);
}
.homeBlogItem:nth-of-type(15) {
  transition-delay: calc(0.1s * 15);
}
.homeBlogItem:nth-of-type(16) {
  transition-delay: calc(0.1s * 16);
}
.homeBlogItem:nth-of-type(17) {
  transition-delay: calc(0.1s * 17);
}
.homeBlogItem:nth-of-type(18) {
  transition-delay: calc(0.1s * 18);
}
.homeBlogItem:nth-of-type(19) {
  transition-delay: calc(0.1s * 19);
}
.homeBlogItem:nth-of-type(20) {
  transition-delay: calc(0.1s * 20);
}
.homeBlogItem:nth-of-type(21) {
  transition-delay: calc(0.1s * 21);
}
.homeBlogItem:nth-of-type(22) {
  transition-delay: calc(0.1s * 22);
}
.homeBlogItem:nth-of-type(23) {
  transition-delay: calc(0.1s * 23);
}
.homeBlogItem:nth-of-type(24) {
  transition-delay: calc(0.1s * 24);
}
.homeBlogItem:nth-of-type(25) {
  transition-delay: calc(0.1s * 25);
}
.homeBlogItem:nth-of-type(26) {
  transition-delay: calc(0.1s * 26);
}
.homeBlogItem:nth-of-type(27) {
  transition-delay: calc(0.1s * 27);
}
.homeBlogItem:nth-of-type(28) {
  transition-delay: calc(0.1s * 28);
}
.homeBlogItem:nth-of-type(29) {
  transition-delay: calc(0.1s * 29);
}
.homeBlogItem:nth-of-type(30) {
  transition-delay: calc(0.1s * 30);
}
.homeBlogItem.-load {
  transform: translateY(0);
  opacity: 1;
}
.homeBlogItem time {
  font-family: "DIN OT", sans-serif;
  font-size: clamp(1.3rem, (1.0416666667vw), 1.5rem);
  font-weight: 700;
  line-height: 1.2666666667;
}

.homeBlogImg {
  margin-bottom: clamp(0px, 0.4861111111vw, 7px);
  position: relative;
  overflow: hidden;
}
.homeBlogImg::before {
  display: block;
  padding-top: 92.4050632911%;
  content: "";
}

.homeBlogItemLink {
  width: 100%;
  transition: all 0.2s ease;
}
.homeBlogItemLink:hover {
  opacity: 1;
  transform: scale(1.1);
}

.homeBlogItemTitle {
  color: #8fc13c;
  font-size: clamp(1.4rem, (1.25vw), 1.8rem);
  font-weight: 600;
  line-height: 1.6111111111;
}
.homeBlogItemTitle a {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.homeBlogItemText {
  font-size: clamp(1.2rem, (0.9027777778vw), 1.3rem);
  font-weight: 600;
  line-height: 1.4615384615;
}
.homeBlogItemText:nth-of-type(n + 2) {
  display: none;
  visibility: hidden;
  height: 0px;
  line-height: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.homeBlogItemText > a {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  min-height: 0;
}
.homeBlogItemText > a + p,
.homeBlogItemText > a + a {
  display: none;
}
.homeBlogItemText > a img {
  display: none;
}
.homeBlogItemText > a p {
  font-size: clamp(1.2rem, (0.9027777778vw), 1.3rem);
  font-weight: 600;
  line-height: 1.4615384615;
}

.homeBlogLink {
  display: block;
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  padding-top: clamp(0px, 0.4513888889vw, 6.5px);
  padding-bottom: clamp(0px, 0.4513888889vw, 6.5px);
  border-radius: 15px;
  background-color: #157b2a;
  color: #fff;
  text-align: center;
  font-size: clamp(1.8rem, (1.3888888889vw), 2rem);
  font-weight: 600;
  line-height: 1.25;
  transition: all 0.2s ease;
}
.homeBlogLink:hover {
  opacity: 1;
  transform: scale(1.1);
}

@media (max-width: 768px) {
  .homeBlog {
    padding-top: 100px;
  }
  .homeBlogList {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
  }
  .homeBlogItem {
    width: 47.8134110787%;
  }
  .homeBlogItem:nth-child(n+3) {
    display: none;
  }
  .homeBlogImg {
    margin-bottom: 11px;
  }
  .homeBlogItemTitle {
    margin-bottom: 4px;
  }
  .homeBlogItemText {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .homeBlogLink {
    padding-top: 17px;
    padding-bottom: 17px;
  }
}
.homeBottom {
  padding-bottom: clamp(100px, 8.125vw, 117px);
}

.homeBottomMap {
  margin-bottom: 69px;
  position: relative;
  overflow: hidden;
}
.homeBottomMap::before {
  display: block;
  padding-top: 44.375%;
  content: "";
}
.homeBottomMap iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  font-family: "object-fit: cover;";
  object-fit: cover;
}

.homeBottomBlock:first-child .homeBottomBannerList {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.homeBottomBlock:first-child .homeBottomBannerList .homeBottomBannerItem {
  width: 32.9807692308%;
}
.homeBottomBlock:first-child .homeBottomBannerList .homeBottomBannerItem:not(:last-child) {
  margin-right: 3.1730769231%;
}
.homeBottomBlock:not(:first-child) {
  margin-top: clamp(60px, 4.1666666667vw, 60px);
}

.homeBottomTitle {
  position: relative;
  border-bottom: 1px solid #8fc13c;
  color: #157b2a;
  text-align: center;
  font-size: clamp(1.8rem, (2.0138888889vw), 2.9rem);
  font-weight: 600;
  line-height: 2;
}
.homeBottomTitle span {
  position: absolute;
  bottom: 10px;
  left: 0;
  display: block;
  color: #8fc13c;
  font-family: "DIN OT", sans-serif;
  font-size: clamp(2rem, (1.6666666667vw), 2.4rem);
  font-weight: 700;
  line-height: 1.2916666667;
}

.homeBottomBannerList {
  flex-wrap: wrap;
  margin-top: clamp(34px, 2.3611111111vw, 34px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}

.homeBottomBannerItem {
  width: 22.5%;
  margin-right: 3.1730769231%;
  margin-bottom: 2.5%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  row-gap: clamp(3px, 0.5555555556vw, 8px);
}
.homeBottomBannerItem:nth-child(4n) {
  margin-right: 0;
}

.homeBottomBannerLink {
  display: block;
}
.homeBottomBannerLink img {
  width: 100%;
}

@media (max-width: 768px) {
  .homeBottomMap {
    margin-bottom: 100px;
    position: relative;
    overflow: hidden;
  }
  .homeBottomMap::before {
    display: block;
    padding-top: 102.4%;
    content: "";
  }
  .homeBottomBlock:first-child .homeBottomBannerList .homeBottomBannerItem {
    width: 100%;
  }
  .homeBottomBlock:first-child .homeBottomBannerList .homeBottomBannerItem:not(:last-child) {
    margin-right: 0;
  }
  .homeBottomBlock:not(:first-child) {
    margin-top: 100px;
  }
  .homeBottomBlock:nth-child(2) .homeBottomBannerList {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row;
  }
  .homeBottomTitle {
    padding: 0 19px 8px;
    border-bottom: none;
    text-align: right;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-direction: row;
  }
  .homeBottomTitle::before {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 100vw;
    height: 1px;
    background-color: #8fc13c;
    content: "";
    transform: translate(-50%, 0%);
  }
  .homeBottomTitle span {
    top: 50%;
    bottom: auto;
    left: 0;
    display: block;
    transform: translate(0%, -50%);
  }
  .homeBottomBannerList {
    margin-top: 42px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  .homeBottomBannerItem {
    width: 68.5131195335%;
  }
  .homeBottomBannerItem:not(:last-child) {
    margin-right: 0;
    margin-bottom: 32px;
  }
}
.homeBottomBannerItemTtl {
  font-size: clamp(1.4rem, (1.1805555556vw), 1.7rem);
  font-weight: 600;
  line-height: 1.4705882353;
  text-align: center;
  color: rgb(33, 61, 21);
}

.homeFixedImg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
}
.homeFixedImg::before {
  display: block;
  padding-top: 35.83%;
  content: "";
}
.homeFixedImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.homeFixedSection {
  position: relative;
  z-index: 1;
  height: clamp(250px, 25.3472222222vw, 365px);
}

@media (max-width: 768px) {
  .homeFixedImg::before {
    display: block;
    padding-top: 133.33%;
    content: "";
  }
}
.homeInstagram {
  padding-top: clamp(0px, 4.3055555556vw, 62px);
  padding-bottom: clamp(96px, 6.6666666667vw, 96px);
}

.homeInstagramTitle {
  color: #8fc13c;
  text-align: center;
  font-family: "DIN OT", sans-serif;
  font-size: clamp(4.2rem, (4.8611111111vw), 7rem);
  font-weight: 700;
  line-height: 1.2857142857;
}

.homeInstagramInner {
  margin-top: clamp(24px, 1.6666666667vw, 24px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.homeInstagramBlock {
  width: 100%;
}
.homeInstagramBlock.-hide {
  display: none;
}

.homeInstagramBlockHead {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-direction: row;
}

.homeInstagramBlockTitle {
  color: #157b2a;
  font-family: "DIN OT", sans-serif;
  font-size: clamp(2.4rem, (2.0833333333vw), 3rem);
  font-weight: 600;
  line-height: 1.3;
}

.homeInstagramBlockLink {
  margin-bottom: clamp(0px, 0.2777777778vw, 4px);
  margin-left: clamp(0px, 0.9027777778vw, 13px);
  font-size: clamp(1.6rem, (1.1111111111vw), 1.6rem);
  font-weight: 500;
  line-height: 1.3125;
}

.homeInstagramList {
  margin-top: clamp(16px, 1.3888888889vw, 20px);
}
.homeInstagramList #sb_instagram #sbi_images {
  display: flex;
}
.homeInstagramList #sb_instagram #sbi_images .sbi_item {
  margin-right: 12px;
  width: calc((100% - 12px) / 2);
  margin-bottom: 0;
  margin-right: 12px !important;
}
.homeInstagramList #sb_instagram #sbi_images .sbi_item:nth-of-type(2n) {
  margin-right: 0;
}
.homeInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(2) {
  margin-bottom: 0;
}
.homeInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(1) {
  margin-bottom: 0;
}
.homeInstagramList #sb_instagram #sbi_images .sbi_item:nth-last-of-type(2) {
  margin-bottom: 0;
}
.homeInstagramList #sb_instagram #sbi_images .sbi_item:nth-of-type(2n) {
  margin-right: 0 !important;
}
.homeInstagramList #sb_instagram #sbi_images .sbi_item:nth-of-type(n + 3) {
  display: none;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .homeInstagramBlockHead {
    display: block;
  }
}
@media (max-width: 768px) {
  .homeInstagram {
    padding-top: 136px;
  }
  .homeInstagramInner {
    display: block;
  }
  .homeInstagramBlock {
    width: 100%;
  }
  .homeInstagramBlock:not(:last-child) {
    margin-bottom: 57px;
  }
  .homeInstagramBlockHead {
    display: block;
  }
  .homeInstagramBlockLink {
    margin: 0;
  }
}
.homeMenu {
  padding-top: 40px;
}
@media (max-width: 1000px) {
  .homeMenu {
    margin-top: 48px;
  }
}

.homeMenuList {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.homeMenuItem {
  width: 31.7307692308%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

.homeMenuEng {
  position: relative;
  z-index: 1;
  color: #8fc13c;
  font-family: "DIN OT", sans-serif;
  font-size: 4rem;
  vertical-align: bottom;
  line-height: 0.8;
  font-weight: 700;
}

.homeMenuLink {
  width: 100%;
  padding-top: clamp(20px, 1.4583333333vw, 21px);
  padding-bottom: clamp(20px, 1.4583333333vw, 21px);
  border-radius: 0px 15px 15px 15px;
  background-color: #157b2a;
  color: #fff;
  text-align: center;
  font-size: clamp(1.8rem, (1.3888888889vw), 2rem);
  font-weight: 600;
  line-height: 1.25;
  transition: all 0.2s ease;
}
.homeMenuLink:hover {
  opacity: 1;
  transform: scale(1.1);
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .homeMenuList {
    display: block;
  }
  .homeMenuItem {
    width: 100%;
  }
  .homeMenuItem:not(:last-child) {
    margin-bottom: 37px;
  }
}
@media (max-width: 768px) {
  .homeMenu {
    padding-top: 56px;
  }
  .homeMenuList {
    display: block;
  }
  .homeMenuItem {
    width: 100%;
  }
  .homeMenuItem:not(:last-child) {
    margin-bottom: 37px;
  }
  .homeMenuLink {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.homeMv {
  position: relative;
}

.homeMvMessageWrap {
  position: absolute;
  top: calc(50% - 2vw);
  left: 50%;
  z-index: 4;
  width: 100%;
  text-align: center;
  transform: translate(-50%, -50%) rotate(-7.78deg);
}
.homeMvMessageWrap span {
  display: inline-block;
  opacity: 0;
  transform: translateY(100%);
  pointer-events: none;
  transition: transform 0.4s cubic-bezier(0.15, 0.465, 0.535, 1.455), opacity 0.5s ease;
}
.homeMvMessageWrap span:nth-of-type(1) {
  transition-delay: calc(0.5s + 0.075s * 1);
}
.homeMvMessageWrap span:nth-of-type(2) {
  transition-delay: calc(0.5s + 0.075s * 2);
}
.homeMvMessageWrap span:nth-of-type(3) {
  transition-delay: calc(0.5s + 0.075s * 3);
}
.homeMvMessageWrap span:nth-of-type(4) {
  transition-delay: calc(0.5s + 0.075s * 4);
}
.homeMvMessageWrap span:nth-of-type(5) {
  transition-delay: calc(0.5s + 0.075s * 5);
}
.homeMvMessageWrap span:nth-of-type(6) {
  transition-delay: calc(0.5s + 0.075s * 6);
}
.homeMvMessageWrap span:nth-of-type(7) {
  transition-delay: calc(0.5s + 0.075s * 7);
}
.homeMvMessageWrap span:nth-of-type(8) {
  transition-delay: calc(0.5s + 0.075s * 8);
}
.homeMvMessageWrap span:nth-of-type(9) {
  transition-delay: calc(0.5s + 0.075s * 9);
}
.homeMvMessageWrap span:nth-of-type(10) {
  transition-delay: calc(0.5s + 0.075s * 10);
}
.homeMvMessageWrap span:nth-of-type(11) {
  transition-delay: calc(0.5s + 0.075s * 11);
}
.homeMvMessageWrap span:nth-of-type(12) {
  transition-delay: calc(0.5s + 0.075s * 12);
}
.homeMvMessageWrap span:nth-of-type(13) {
  transition-delay: calc(0.5s + 0.075s * 13);
}
.homeMvMessageWrap span:nth-of-type(14) {
  transition-delay: calc(0.5s + 0.075s * 14);
}
.homeMvMessageWrap span:nth-of-type(15) {
  transition-delay: calc(0.5s + 0.075s * 15);
}
.homeMvMessageWrap span:nth-of-type(16) {
  transition-delay: calc(0.5s + 0.075s * 16);
}
.homeMvMessageWrap span:nth-of-type(17) {
  transition-delay: calc(0.5s + 0.075s * 17);
}
.homeMvMessageWrap span:nth-of-type(18) {
  transition-delay: calc(0.5s + 0.075s * 18);
}
.homeMvMessageWrap span:nth-of-type(19) {
  transition-delay: calc(0.5s + 0.075s * 19);
}
.homeMvMessageWrap span:nth-of-type(20) {
  transition-delay: calc(0.5s + 0.075s * 20);
}
.homeMvMessageWrap span:nth-of-type(21) {
  transition-delay: calc(0.5s + 0.075s * 21);
}
.homeMvMessageWrap span:nth-of-type(22) {
  transition-delay: calc(0.5s + 0.075s * 22);
}
.homeMvMessageWrap span:nth-of-type(23) {
  transition-delay: calc(0.5s + 0.075s * 23);
}
.homeMvMessageWrap span:nth-of-type(24) {
  transition-delay: calc(0.5s + 0.075s * 24);
}
.homeMvMessageWrap span:nth-of-type(25) {
  transition-delay: calc(0.5s + 0.075s * 25);
}
.homeMvMessageWrap span:nth-of-type(26) {
  transition-delay: calc(0.5s + 0.075s * 26);
}
.homeMvMessageWrap span:nth-of-type(27) {
  transition-delay: calc(0.5s + 0.075s * 27);
}
.homeMvMessageWrap span:nth-of-type(28) {
  transition-delay: calc(0.5s + 0.075s * 28);
}
.homeMvMessageWrap span:nth-of-type(29) {
  transition-delay: calc(0.5s + 0.075s * 29);
}
.homeMvMessageWrap span:nth-of-type(30) {
  transition-delay: calc(0.5s + 0.075s * 30);
}
.homeMvMessageWrap span.-load {
  transform: translateY(0);
  opacity: 1;
}

.homeMvMessage {
  display: inline-block;
  color: #fff;
  text-align: left;
  text-shadow: 4px 8px 10px rgba(0, 0, 0, 0.25);
  letter-spacing: -0.09em;
  font-size: clamp(5.8rem, (9.2361111111vw), 13.3rem);
  font-weight: 600;
  line-height: 1.2030075188;
}

.homeMvText:first-of-type {
  position: absolute;
  top: clamp(115px, 8.125vw, 117px);
  right: 1.7361111111%;
  z-index: 2;
  color: #213d15;
  font-family: "DIN OT", sans-serif;
  writing-mode: vertical-rl;
  font-size: clamp(1.6rem, (3.125vw), 4.5rem);
  font-weight: 700;
  line-height: 1;
}
.homeMvText:nth-of-type(2) {
  position: absolute;
  bottom: 1.3888888889%;
  left: 0;
  z-index: 1;
  color: #213d15;
  font-family: "DIN OT", sans-serif;
  font-size: clamp(1.6rem, (3.8194444444vw), 5.5rem);
  font-weight: 700;
  line-height: 1.2909090909;
}

.homeMvVideoInner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}
.homeMvVideoInner:first-of-type {
  position: relative;
  width: 87.7777777778%;
  margin-right: 4.6527777778%;
  margin-left: 7.5694444444%;
}
.homeMvVideoInner:first-of-type figure:first-child {
  position: relative;
  z-index: 2;
  width: 40.9018987342%;
  position: relative;
  overflow: hidden;
}
.homeMvVideoInner:first-of-type figure:first-child::before {
  display: block;
  padding-top: 91.4893617021%;
  content: "";
}
.homeMvVideoInner:first-of-type figure:nth-child(2) {
  width: 65.2689873418%;
  margin-top: clamp(0px, 4.4444444444vw, 64px);
  margin-left: -5.416666vw;
  z-index: 0;
  position: relative;
  overflow: hidden;
}
.homeMvVideoInner:first-of-type figure:nth-child(2)::before {
  display: block;
  padding-top: 71.0303030303%;
  content: "";
}
.homeMvVideoInner:nth-of-type(2) {
  width: 100%;
  margin-top: -13.527777vw;
}
.homeMvVideoInner:nth-of-type(2) figure:first-child {
  width: 65.9018987342%;
  position: relative;
  overflow: hidden;
}
.homeMvVideoInner:nth-of-type(2) figure:first-child::before {
  display: block;
  padding-top: 55.4621848739%;
  content: "";
}
.homeMvVideoInner:nth-of-type(2) figure:nth-child(2) {
  width: 54.5886075949%;
  margin-top: clamp(0px, 9.1666666667vw, 132px);
  margin-left: -5.763888vw;
  position: relative;
  overflow: hidden;
}
.homeMvVideoInner:nth-of-type(2) figure:nth-child(2)::before {
  display: block;
  padding-top: 56.0869565217%;
  content: "";
}
.homeMvVideoInner figure video {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  font-family: "object-fit: cover;";
  object-fit: cover;
}

@media (max-width: 768px) {
  .homeMvMessageWrap {
    top: calc(50% + 16px);
    left: calc(50% - 6px);
    z-index: 2;
  }
  .homeMvMessage {
    letter-spacing: -0.15em;
  }
  .homeMvVideoWrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column-reverse;
  }
  .homeMvVideoInner:first-of-type {
    width: 88.2666666667%;
    margin-top: -57px;
    margin-right: 0;
    margin-left: 41px;
    z-index: 1;
  }
  .homeMvVideoInner:first-of-type figure:first-child {
    display: none;
  }
  .homeMvVideoInner:first-of-type figure:nth-child(2) {
    width: 100%;
    position: relative;
    overflow: hidden;
  }
  .homeMvVideoInner:first-of-type figure:nth-child(2)::before {
    display: block;
    padding-top: 61.0271903323%;
    content: "";
  }
  .homeMvVideoInner:nth-of-type(2) {
    width: 93.6%;
    margin: 34px auto 0 0;
  }
  .homeMvVideoInner:nth-of-type(2) figure:first-child {
    display: none;
  }
  .homeMvVideoInner:nth-of-type(2) figure:nth-child(2) {
    width: 100%;
    margin-top: 0;
    margin-left: 0;
    position: relative;
    overflow: hidden;
  }
  .homeMvVideoInner:nth-of-type(2) figure:nth-child(2)::before {
    display: block;
    padding-top: 90.5982905983%;
    content: "";
  }
  .homeMvText:first-of-type {
    top: 138px;
    right: 7px;
  }
  .homeMvText:nth-of-type(2) {
    bottom: 0px;
    left: 16px;
    transform: translateY(100%);
    z-index: 2;
  }
}
.homeNews {
  padding-top: clamp(25px, 1.7361111111vw, 25px);
  padding-bottom: clamp(50px, 5.6944444444vw, 82px);
}

.homeNewsInner {
  position: relative;
  padding-top: clamp(0px, 1.5972222222vw, 23px);
  padding-bottom: clamp(0px, 0.8333333333vw, 12px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}
.homeNewsInner:before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  background-color: #8fc13c;
  content: "";
  transform: translate(-50%, 0%);
}
.homeNewsInner:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  background-color: #8fc13c;
  content: "";
  transform: translate(-50%, 0%);
}

.homeNewsHead {
  width: 18.1730769231%;
  margin-right: 11.7307692308%;
}

.homeNewsHeadTitle {
  margin-bottom: clamp(0px, 2.2222222222vw, 32px);
  color: #8fc13c;
  font-family: "DIN OT", sans-serif;
  font-size: clamp(4.2rem, (4.8611111111vw), 7rem);
  font-weight: 700;
  line-height: 1;
}

.homeNewsLink {
  width: clamp(0px, 12.9166666667vw, 186px);
  background-color: #157b2a;
  color: #fff;
  text-align: center;
  transition: all 0.2s ease;
  font-size: clamp(1.8rem, (1.25vw), 1.8rem);
  font-weight: 600;
  line-height: 1.4444444444;
}
.homeNewsLink:hover {
  opacity: 1;
  transform: scale(1.1);
}
.homeNewsLink.sp {
  display: none;
}

.homeNewsList {
  width: 70%;
}

.homeNewsItem:not(:first-child) {
  border-top: 1px solid #8fc13c;
}

.homeNewsItemLink {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  transition: all 0.2s ease;
}
.homeNewsItemLink time {
  display: block;
  margin-right: clamp(0px, 1.5972222222vw, 23px);
  font-family: "DIN OT", sans-serif;
  font-size: clamp(1.4rem, (1.1805555556vw), 1.7rem);
  font-weight: 600;
  line-height: 1.2941176471;
}
.homeNewsItemLink:hover {
  opacity: 1;
  transform: scale(1.1);
}

.homeNewsItemTitle {
  color: #157b2a;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  font-size: clamp(1.4rem, (1.1805555556vw), 1.7rem);
  font-weight: 600;
  line-height: 2.3529411765;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .homeNewsLink {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .homeNews {
    padding-top: 46px;
  }
  .homeNewsInner {
    display: block;
    margin-bottom: 32px;
    padding: 0;
  }
  .homeNewsInner::before {
    display: none;
  }
  .homeNewsInner::after {
    display: none;
  }
  .homeNewsHead {
    width: 100%;
    margin-bottom: 16px;
  }
  .homeNewsHeadTitle {
    margin-bottom: 0;
  }
  .homeNewsList {
    width: 100%;
    padding-right: 16px;
  }
  .homeNewsLink {
    width: 100%;
    padding-top: 5px;
    padding-bottom: 5px;
  }
  .homeNewsLink.pc {
    display: none;
  }
  .homeNewsLink.sp {
    display: block;
  }
  .homeNewsItem {
    padding-bottom: 13px;
    border-bottom: 1px solid #8fc13c;
  }
  .homeNewsItem:not(:last-child) {
    margin-bottom: 12px;
  }
  .homeNewsItem:not(:first-child) {
    border-top: none;
  }
  .homeNewsItemLink {
    display: block;
    padding-bottom: 0;
  }
  .homeNewsItemLink time {
    margin-right: 0;
    margin-bottom: 4px;
  }
}
.homeBanner {
  width: 100%;
  padding-top: clamp(50px, 4.8611111111vw, 100px);
}

.homeBannerImg {
  width: 100%;
}
.homeBannerImg img {
  position: static;
  width: 100%;
  height: auto;
  transform: translate(0);
  object-fit: contain;
}

.newsSummary {
  margin-top: clamp(123px, 14.6527777778vw, 211px);
}

.newsSummaryInner {
  margin-top: clamp(24px, 2.2222222222vw, 32px);
}

.newsSummaryItem {
  display: flex;
  flex-direction: flex-start;
  min-height: 340px;
}
.newsSummaryItem:not(:last-child) {
  margin-bottom: clamp(24px, 3.125vw, 45px);
}
.newsSummaryItem:nth-child(2n) .newsSummaryTitle {
  color: #8fc13c;
}

.newsSummaryInfo {
  width: 36.25%;
  background-color: rgba(254, 224, 76, 0.1);
}
.newsSummaryInfo time {
  display: block;
  padding-top: clamp(18.5px, 1.7361111111vw, 25px);
  padding-bottom: clamp(18.5px, 1.7361111111vw, 25px);
  padding-left: clamp(19px, 3.4027777778vw, 49px);
  border-bottom: 2px solid #fff;
  font-size: clamp(1.3rem, (1.25vw), 1.8rem);
  font-weight: 500;
  line-height: 1.7777777778;
}

.newsSummaryTitle {
  padding-top: clamp(17px, 1.875vw, 27px);
  padding-right: clamp(19px, 3.4027777778vw, 49px);
  padding-bottom: clamp(17px, 1.875vw, 27px);
  padding-left: clamp(19px, 3.4027777778vw, 49px);
  color: #157b2a;
  font-size: clamp(1.6rem, (1.5277777778vw), 2.2rem);
  font-weight: 600;
  line-height: 1.5454545455;
}

.newsSummaryContent {
  width: 63.75%;
  padding-top: clamp(20px, 2.0833333333vw, 30px);
  padding-right: clamp(24px, 2.7777777778vw, 40px);
  padding-bottom: clamp(29px, 2.3611111111vw, 34px);
  padding-left: clamp(24px, 2.7777777778vw, 40px);
  border-left: 2px solid #fff;
  background-color: rgba(254, 224, 76, 0.1);
}
.newsSummaryContent img {
  width: 100%;
  margin-bottom: clamp(20px, 1.3888888889vw, 20px);
}

@media (max-width: 768px) {
  .newsSummaryItem {
    display: block;
  }
  .newsSummaryInfo {
    width: 100%;
  }
  .newsSummaryInfo time {
    position: relative;
    border-bottom: none;
  }
  .newsSummaryInfo time::before {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: calc(100% - 24px);
    height: 2px;
    background-color: #fff;
    content: "";
    transform: translate(-50%, 0%);
  }
  .newsSummaryTitle {
    position: relative;
  }
  .newsSummaryTitle::before {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: calc(100% - 24px);
    height: 2px;
    background-color: #fff;
    content: "";
    transform: translate(-50%, 0%);
  }
  .newsSummaryContent {
    width: 100%;
  }
}
.pageDefault {
  padding-top: clamp(51px, 11.1805555556vw, 161px);
  padding-bottom: clamp(62px, 8.4722222222vw, 122px);
}
.pageDefault .container {
  max-width: 1243px;
  padding: 0 clamp(35px, 5.5555555556vw, 80px);
}

.pageDefaultTitle {
  margin-bottom: clamp(33px, 5.4166666667vw, 78px);
  color: #213d15;
  letter-spacing: 0em;
  font-weight: 600;
  font-size: clamp(3rem, 2.0833333333vw, 3rem);
  font-family: "DIN OT", sans-serif;
  line-height: 4.1666666667;
}

.pageDefaultInner {
  margin-bottom: clamp(83px, 6.3194444444vw, 91px);
}
.pageDefaultInner p {
  color: #213d15;
  letter-spacing: 0em;
  font-weight: 600;
  font-size: clamp(1.3rem, 1.25vw, 1.8rem);
  line-height: 2.3333333333;
}

.pageDefaultLink {
  width: clamp(320px, 33.2638888889vw, 479px);
  max-width: 100%;
  padding-top: clamp(33px, 3.4027777778vw, 49px);
  padding-bottom: clamp(34px, 3.4722222222vw, 50px);
  background-color: #157b2a;
  color: #213d15;
  text-align: center;
  letter-spacing: 0em;
  font-weight: 600;
  font-size: clamp(2rem, 1.3888888889vw, 2rem);
  line-height: 1.35;
  transition: all 0.5s ease;
}
.pageDefaultLink:hover {
  background-color: #213d15;
  color: #fff;
  opacity: 1;
}

@media (max-width: 768px) {
  .pageDefaultInner p {
    line-height: 1.7692307692;
  }
  .pageDefaultLinkInner {
    text-align: center;
  }
  .pageDefaultLink {
    margin: 0 auto;
  }
}
.privacySec {
  padding-top: clamp(180px, 20.5555555556vw, 296px);
  padding-bottom: clamp(100px, 11.5277777778vw, 166px);
  background-color: #fafafa;
}
.privacySec h2 {
  margin-bottom: clamp(10px, 0.6944444444vw, 10px);
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (0.9722222222vw), 1.4rem);
  font-weight: 600;
  line-height: 1.5214285714;
}
.privacySec h2:not(:first-of-type) {
  margin-top: clamp(10px, 2.9166666667vw, 42px);
}
.privacySec p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (0.9722222222vw), 1.4rem);
  font-weight: 400;
  line-height: 1.5214285714;
}
.privacySec p:not(:last-child) {
  margin-bottom: clamp(10px, 0.6944444444vw, 10px);
}

@media (max-width: 768px) {
  .privacySec h2 {
    margin-bottom: 30px;
  }
  .privacySec p:not(:last-child) {
    margin-bottom: 30px;
  }
}
.teamBuilding {
  padding-top: clamp(123px, 18.6805555556vw, 269px);
  background-color: #fafafa;
}

.teamBuildingAbout {
  padding-top: clamp(24px, 6.9444444444vw, 100px);
  padding-bottom: clamp(56px, 9.5833333333vw, 138px);
}

.teamBuildingAboutBlock {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
.teamBuildingAboutBlock:first-of-type {
  margin-bottom: clamp(50px, 3.4722222222vw, 50px);
}
.teamBuildingAboutBlock:nth-of-type(2) {
  margin-bottom: clamp(42px, 4.4444444444vw, 64px);
}
.teamBuildingAboutBlock:nth-of-type(2) .teamBuildingAboutTitleSub {
  font-size: clamp(1.8rem, (1.5972222222vw), 2.3rem);
  font-weight: 600;
  line-height: 1.3913043478;
}

.teamBuildingAboutDesc {
  width: 42.0192307692%;
}

.teamBuildingAboutTitleSub {
  margin-bottom: clamp(24px, 1.7361111111vw, 25px);
  color: #157b2a;
  font-size: clamp(2.4rem, (2.4305555556vw), 3.5rem);
  font-weight: 600;
  line-height: 1.1142857143;
}

.teamBuildingAboutText {
  font-size: clamp(1.4rem, (1.1805555556vw), 1.7rem);
  font-weight: 600;
  line-height: 1.5882352941;
}

.teamBuildingAboutImg {
  width: 53.75%;
  position: relative;
  overflow: hidden;
}
.teamBuildingAboutImg::before {
  display: block;
  padding-top: 63.6851520572%;
  content: "";
}

.teamBuildingAboutTitle {
  margin-bottom: clamp(24px, 3.0555555556vw, 44px);
  color: #157b2a;
  text-align: center;
  font-size: clamp(3rem, (3.4722222222vw), 5rem);
  font-weight: 600;
  line-height: 1.8;
}

.teamBuildingAboutDownload {
  width: 100%;
  margin-top: clamp(42px, 3.4722222222vw, 50px);
  padding-top: clamp(19px, 1.3194444444vw, 19px);
  padding-bottom: clamp(19px, 1.3194444444vw, 19px);
  border-radius: 10px;
  background-color: #157b2a;
  color: #fff;
  text-align: center;
  font-size: clamp(1.8rem, (1.9444444444vw), 2.8rem);
  font-weight: 600;
  line-height: 0.8928571429;
}

.teamBuildingAboutSdgs {
  width: 68.4615384615%;
  margin: clamp(56px, 7.1527777778vw, 103px) auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
}

.teamBuildingAboutSdgsImg {
  width: 36.5168539326%;
  position: relative;
  overflow: hidden;
}
.teamBuildingAboutSdgsImg::before {
  display: block;
  padding-top: 103.0769230769%;
  content: "";
}

.teamBuildingAboutSdgsDesc {
  width: 52.808988764%;
}

.teamBuildingAboutSdgsTitle {
  font-size: clamp(1.8rem, (2.0833333333vw), 3rem);
  font-weight: 600;
  line-height: 1.4666666667;
}

.teamBuildingAboutSdgsText {
  display: none;
}

@media (max-width: 768px) {
  .teamBuildingAboutBlock {
    display: block;
  }
  .teamBuildingAboutBlock:nth-of-type(2) .teamBuildingAboutTitleSub {
    width: 86.5889212828%;
    margin: 0 auto 24px;
    text-align: left;
  }
  .teamBuildingAboutBlock:nth-of-type(2) .teamBuildingAboutImg {
    margin: 42px calc(50% - 50vw);
  }
  .teamBuildingAboutDesc {
    width: 100%;
  }
  .teamBuildingAboutTitleSub {
    text-align: center;
    line-height: 1.625;
  }
  .teamBuildingAboutText {
    width: 86.5889212828%;
    margin: 0 auto;
    line-height: 1.9285714286;
  }
  .teamBuildingAboutImg {
    width: 100vw;
    margin: 56px calc(50% - 50vw);
  }
  .teamBuildingAboutTitle {
    line-height: 1.2666666667;
  }
  .teamBuildingAboutDownload {
    display: block;
    width: 88.9212827988%;
    margin: 42px auto 0;
  }
  .teamBuildingAboutSdgs {
    display: block;
    width: 87.7551020408%;
  }
  .teamBuildingAboutSdgsImg {
    width: 46.6472303207%;
    margin: 0 auto 16px;
  }
  .teamBuildingAboutSdgsDesc {
    width: 100%;
  }
  .teamBuildingAboutSdgsTitle {
    text-align: center;
  }
  .teamBuildingAboutSdgsText {
    display: block;
    margin-top: 16px;
    letter-spacing: 0em;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
.teamBuildingContact {
  padding-top: clamp(100px, 6.9444444444vw, 100px);
  padding-bottom: clamp(60px, 6.9444444444vw, 100px);
  background-color: #fafafa;
}
.teamBuildingContact .wpcf7-form {
  width: 54.4230769231%;
  margin-bottom: 0;
}
.teamBuildingContact .formList {
  margin-bottom: clamp(46px, 4.7222222222vw, 68px);
}
.teamBuildingContact .formList .formItem span input {
  background-color: #fafafa;
}
.teamBuildingContact .formList .formItem span textarea {
  background-color: #fafafa;
}
.teamBuildingContact .formList .formItem span select {
  background-color: #fafafa;
}
.teamBuildingContact .formLink a {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (1.0416666667vw), 1.5rem);
  font-weight: 400;
  line-height: 1.3333333333;
}
.teamBuildingContact .formLink .wpcf7-checkbox span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, (1.0416666667vw), 1.5rem);
  font-weight: 400;
  line-height: 1.3333333333;
}
.teamBuildingContact .formLink .wpcf7-checkbox .wpcf7-list-item {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.teamBuildingContact .wpcf7 input[type=checkbox] + .checkboxIcon:before {
  width: clamp(16px, 1.1111111111vw, 16px);
  height: clamp(16px, 1.1111111111vw, 16px);
}
.teamBuildingContact .formSubmit {
  margin-top: clamp(16px, 4.1666666667vw, 60px);
}
.teamBuildingContact .formSubmit input {
  border-radius: 0px;
  font-size: clamp(1.4rem, (1.1111111111vw), 1.6rem);
  font-weight: 400;
  line-height: 1.5;
}

.teamBuildingContactTitle {
  color: #8fc13c;
  text-align: center;
  font-family: "DIN OT", sans-serif;
  font-size: clamp(3rem, (2.7777777778vw), 4rem);
  font-weight: 600;
  line-height: 1.3;
}

.teamBuildingContactTitleSub {
  margin-top: clamp(30px, 2.1527777778vw, 31px);
  margin-bottom: clamp(-20px, -1.3888888889vw, -20px);
  color: #157b2a;
  text-align: center;
  font-size: clamp(2.4rem, (2.7083333333vw), 3.9rem);
  font-weight: 600;
  line-height: 1.3333333333;
}

@media (max-width: 768px) {
  .teamBuildingContact .wpcf7-form {
    width: 89.2128279883%;
  }
  .teamBuildingContact .wpcf7-form .formItem:not(:last-child) {
    margin-bottom: 14px;
  }
  .teamBuildingContact .formSubmit input {
    font-size: 1.8rem;
    line-height: 1.5;
  }
  .teamBuildingContactTitleSub {
    margin-bottom: 42px;
  }
}
.teamBuildingElementSec:first-of-type .teamBuildingElementInner {
  padding-top: clamp(36px, 8.75vw, 126px);
  padding-bottom: clamp(53px, 10.8333333333vw, 156px);
}
.teamBuildingElementSec:nth-of-type(2) {
  margin-top: clamp(56px, 6.9444444444vw, 100px);
}
.teamBuildingElementSec:nth-of-type(2) .teamBuildingElementInner {
  padding-top: clamp(29px, 2.0138888889vw, 29px);
  padding-bottom: clamp(56px, 6.875vw, 99px);
}

.teamBuildingElementHeading {
  margin-bottom: clamp(6px, 0.7638888889vw, 11px);
  color: #8fc13c;
  text-align: center;
  font-family: "DIN OT", sans-serif;
  font-size: clamp(3rem, (2.7777777778vw), 4rem);
  font-weight: 700;
  line-height: 1.3;
}

.teamBuildingElementInner {
  position: relative;
}
.teamBuildingElementInner::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  background-color: #157b2a;
  content: "";
  transform: translate(-50%, 0%);
}

.teamBuildingElementBlock {
  position: relative;
}

.teamBuildingElementBlockTitle {
  margin-bottom: clamp(24px, 2.9861111111vw, 43px);
}
.teamBuildingElementBlockTitle span {
  display: block;
  color: #fafafa;
  text-align: center;
  font-size: clamp(2.4rem, (3.8194444444vw), 5.5rem);
  font-weight: 600;
  line-height: 1.3272727273;
}

.teamBuildingElementText {
  color: #fafafa;
  font-size: clamp(1.4rem, (1.1805555556vw), 1.7rem);
  font-weight: 600;
  line-height: 1.5882352941;
}

.teamBuildingElementList {
  margin-top: clamp(42px, 3.4722222222vw, 50px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.teamBuildingElementItem {
  width: 44.2307692308%;
}

.teamBuildingElementItemImg {
  margin-bottom: clamp(28px, 1.9444444444vw, 28px);
  position: relative;
  overflow: hidden;
}
.teamBuildingElementItemImg::before {
  display: block;
  padding-top: 98.4782608696%;
  content: "";
}

.teamBuildingElementItemTitle {
  margin-bottom: clamp(24px, 2.2222222222vw, 32px);
  color: #fafafa;
  text-align: center;
  white-space: nowrap;
  font-size: clamp(2.4rem, (1.875vw), 2.7rem);
  font-weight: 600;
  line-height: 2;
}

.teamBuildingElementItemText {
  margin-bottom: clamp(32px, 3.4722222222vw, 50px);
  color: #fafafa;
  font-size: clamp(1.4rem, (1.1805555556vw), 1.7rem);
  font-weight: 600;
  line-height: 1.4705882353;
}

.teamBuildingElementItemLink {
  width: 100%;
  padding-top: clamp(7px, 0.4861111111vw, 7px);
  padding-bottom: clamp(7px, 0.4861111111vw, 7px);
  border-radius: 10px;
  background-color: #fafafa;
  color: #157b2a;
  text-align: center;
  font-size: clamp(1.8rem, (1.6666666667vw), 2.4rem);
  font-weight: 600;
  line-height: 1.0416666667;
}

.teamBuildingElementOther {
  margin-top: clamp(34px, 5.6944444444vw, 82px);
}

.teamBuildingElementOtherList {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.teamBuildingElementOtherItem {
  width: 48.5576923077%;
  padding-right: clamp(16px, 1.1111111111vw, 16px);
  padding-bottom: clamp(20px, 1.3888888889vw, 20px);
  padding-left: clamp(16px, 1.1111111111vw, 16px);
  border: 3px solid #8fc13c;
  background-color: #fafafa;
}
.teamBuildingElementOtherItem:first-child .teamBuildingElementOtherTitle {
  line-height: 2.59375;
}
.teamBuildingElementOtherItem:first-child .teamBuildingElementOtherImg {
  position: relative;
  overflow: hidden;
}
.teamBuildingElementOtherItem:first-child .teamBuildingElementOtherImg::before {
  display: block;
  padding-top: 45.4117647059%;
  content: "";
}
.teamBuildingElementOtherItem:first-child .teamBuildingElementOtherText {
  margin-top: clamp(12px, 0.8333333333vw, 12px);
  margin-bottom: clamp(16px, 1.3888888889vw, 20px);
  font-size: clamp(1.8rem, (1.6666666667vw), 2.4rem);
  font-weight: 600;
  line-height: 1.7083333333;
}
.teamBuildingElementOtherItem:first-child .teamBuildingElementOtherAnnotation {
  color: #000;
  font-size: clamp(1.4rem, (1.0416666667vw), 1.5rem);
  font-weight: 600;
  line-height: 1.7333333333;
}
.teamBuildingElementOtherItem:nth-child(2) .teamBuildingElementOtherTitle {
  padding-top: clamp(17px, 1.1805555556vw, 17px);
}
.teamBuildingElementOtherItem:nth-child(2) .teamBuildingElementOtherImg {
  margin-top: clamp(15px, 1.0416666667vw, 15px);
  position: relative;
  overflow: hidden;
}
.teamBuildingElementOtherItem:nth-child(2) .teamBuildingElementOtherImg::before {
  display: block;
  padding-top: 46.0385438972%;
  content: "";
}
.teamBuildingElementOtherItem:nth-child(2) .teamBuildingElementOtherText {
  margin-top: clamp(12px, 1.0416666667vw, 15px);
  margin-bottom: clamp(15px, 1.0416666667vw, 15px);
  font-size: clamp(1.4rem, (1.1111111111vw), 1.6rem);
  font-weight: 600;
  line-height: 1.625;
}
.teamBuildingElementOtherItem:nth-child(2) .teamBuildingElementOtherAnnotation {
  color: #000;
  font-size: clamp(1.3rem, (0.9722222222vw), 1.4rem);
  font-weight: 600;
  line-height: 1.8571428571;
}

.teamBuildingElementOtherTitle {
  color: #157b2a;
  text-align: center;
  white-space: nowrap;
  font-size: clamp(2.4rem, (2.2222222222vw), 3.2rem);
  font-weight: 600;
  line-height: 1.03125;
}

.teamBuildingElementOtherText {
  color: #000;
}

.teamBuildingElementAbout {
  margin-top: clamp(32px, 8.4027777778vw, 121px);
  padding-top: clamp(30px, 2.0833333333vw, 30px);
  padding-right: clamp(19px, 1.5972222222vw, 23px);
  padding-bottom: clamp(16px, 2.2222222222vw, 32px);
  padding-left: clamp(19px, 1.5972222222vw, 23px);
  background-color: #fafafa;
}
.teamBuildingElementAbout.-rafting {
  margin-top: clamp(35px, 2.4305555556vw, 35px);
  padding-top: clamp(52px, 4.7916666667vw, 69px);
  padding-right: clamp(16px, 3.8888888889vw, 56px);
  padding-bottom: clamp(36px, 3.8194444444vw, 55px);
  padding-left: clamp(16px, 3.8888888889vw, 56px);
}
.teamBuildingElementAbout.-rafting .teamBuildingElementAboutBlock {
  margin-top: clamp(39px, 3.5416666667vw, 51px);
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row-reverse;
}
.teamBuildingElementAbout.-rafting .teamBuildingElementAboutBlock:nth-of-type(2) {
  margin-bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
.teamBuildingElementAbout.-rafting .teamBuildingElementAboutBlock:nth-of-type(2) .teamBuildingElementAboutIllust {
  width: 41.2715517241%;
  position: relative;
  overflow: hidden;
}
.teamBuildingElementAbout.-rafting .teamBuildingElementAboutBlock:nth-of-type(2) .teamBuildingElementAboutIllust::before {
  display: block;
  padding-top: 62.1409921671%;
  content: "";
}
.teamBuildingElementAbout.-rafting .teamBuildingElementAboutBlock:nth-of-type(2) .teamBuildingElementAboutText {
  width: 54.6336206897%;
  margin-right: 0;
}
.teamBuildingElementAbout.-rafting .teamBuildingElementAboutIllust {
  width: 50.3232758621%;
  margin-right: 0;
  position: relative;
  overflow: hidden;
}
.teamBuildingElementAbout.-rafting .teamBuildingElementAboutIllust::before {
  display: block;
  padding-top: 73.6616702355%;
  content: "";
}
.teamBuildingElementAbout.-rafting .teamBuildingElementAboutText {
  width: 39.8706896552%;
  margin-right: clamp(0px, 3.75vw, 54px);
  font-size: clamp(1.6rem, (1.1111111111vw), 1.6rem);
  font-weight: 600;
  line-height: 1.625;
}

.teamBuildingElementAboutTitle {
  margin-bottom: clamp(24px, 1.6666666667vw, 24px);
  color: #157b2a;
  text-align: center;
  font-size: clamp(3rem, (2.7777777778vw), 4rem);
  font-weight: 600;
  line-height: 2.075;
}

.teamBuildingElementAboutTitleSub {
  width: 100%;
  margin: 0 auto;
  padding-top: clamp(6.5px, 0.4513888889vw, 6.5px);
  padding-bottom: clamp(6.5px, 0.4513888889vw, 6.5px);
  border-radius: 10px;
  background-color: #157b2a;
  color: #fafafa;
  text-align: center;
  font-size: clamp(1.8rem, (2.0833333333vw), 3rem);
  font-weight: 600;
  line-height: 0.8333333333;
}

.teamBuildingElementAboutBlock {
  margin-top: clamp(24px, 1.8055555556vw, 26px);
  margin-bottom: clamp(24px, 5.5555555556vw, 80px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.teamBuildingElementAboutIllust {
  width: 41.8511066398%;
  margin-right: 3.6217303823%;
  position: relative;
  overflow: hidden;
}
.teamBuildingElementAboutIllust::before {
  display: block;
  padding-top: 84.8557692308%;
  content: "";
}

.teamBuildingElementAboutText {
  width: 50.2012072435%;
  font-size: clamp(1.4rem, (1.1805555556vw), 1.7rem);
  font-weight: 600;
  line-height: 1.5294117647;
}

.teamBuildingElementAboutTypeList {
  flex-wrap: wrap;
  margin-top: clamp(40px, 2.7777777778vw, 40px);
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row;
}

.teamBuildingElementAboutTypeItem {
  width: 45.7746478873%;
  margin-bottom: 2.9175050302%;
  padding-top: clamp(13px, 0.9027777778vw, 13px);
  padding-right: clamp(13px, 1.0416666667vw, 15px);
  padding-bottom: clamp(13px, 0.9027777778vw, 13px);
  padding-left: clamp(13px, 1.0416666667vw, 15px);
  border-radius: 8px;
  background: rgba(21, 123, 42, 0.06);
}
.teamBuildingElementAboutTypeItem:not(:nth-child(2n)) {
  margin-right: 2.9175050302%;
}

.teamBuildingElementAboutTypeTitle {
  margin-bottom: clamp(12px, 0.8333333333vw, 12px);
  padding-bottom: clamp(12px, 0.8333333333vw, 12px);
  border-bottom: 1px solid #8fc13c;
  color: #8fc13c;
  text-align: center;
  font-size: clamp(1.8rem, (1.9444444444vw), 2.8rem);
  font-weight: 600;
  line-height: 0.9285714286;
}
.teamBuildingElementAboutTypeTitle span {
  display: block;
  color: #8fc13c;
  text-align: center;
  font-size: clamp(1.6rem, (1.25vw), 1.8rem);
  font-weight: 600;
  line-height: 1.4444444444;
}

.teamBuildingElementAboutTypeText {
  font-size: clamp(1.4rem, (1.1111111111vw), 1.6rem);
  font-weight: 600;
  line-height: 1.5625;
}

.teamBuildingElementGame {
  margin-top: clamp(27px, 1.875vw, 27px);
}

.teamBuildingElementGameList {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.teamBuildingElementGameItem {
  width: 32.3943661972%;
}

.teamBuildingElementGameImg {
  margin-bottom: clamp(8px, 0.5555555556vw, 8px);
  position: relative;
  overflow: hidden;
}
.teamBuildingElementGameImg::before {
  display: block;
  padding-top: 79.1925465839%;
  content: "";
}

.teamBuildingElementGameName {
  font-size: clamp(1.6rem, (1.1111111111vw), 1.6rem);
  font-weight: 600;
  line-height: 1.625;
}

.teamBuildingElementGameText {
  margin-top: clamp(16px, 1.1111111111vw, 16px);
  font-size: clamp(1.4rem, (1.1111111111vw), 1.6rem);
  font-weight: 600;
  line-height: 1.625;
}

.teamBuildingElementBlockImg {
  margin-top: clamp(24px, 1.8055555556vw, 26px);
  margin-bottom: clamp(20px, 1.3888888889vw, 20px);
  position: relative;
  overflow: hidden;
}
.teamBuildingElementBlockImg::before {
  display: block;
  padding-top: 46.7181467181%;
  content: "";
}

.teamBuildingElementText {
  color: #fafafa;
  font-size: clamp(1.4rem, (1.1805555556vw), 1.7rem);
  font-weight: 600;
  line-height: 1.4705882353;
}

.teamBuildingElementAboutLink {
  position: relative;
  display: block;
  margin-top: clamp(31px, 2.1527777778vw, 31px);
  padding-top: clamp(16px, 1.1111111111vw, 16px);
  padding-bottom: clamp(16px, 1.1111111111vw, 16px);
  border-radius: 10px;
  background-color: #fafafa;
  color: #157b2a;
  text-align: center;
  font-size: clamp(1.8rem, (2.0833333333vw), 3rem);
  font-weight: 600;
  line-height: 0.8333333333;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .teamBuildingElementItemTitle {
    font-size: clamp(1.4rem, (1.9444444444vw), 2.8rem);
    font-weight: 600;
    line-height: 1.4285714286;
  }
  .teamBuildingElementOtherTitle {
    font-size: clamp(1.4rem, (2.0833333333vw), 3rem);
    font-weight: 600;
    line-height: 1.2666666667;
  }
}
@media (max-width: 768px) {
  .teamBuildingElementBlockTitle span {
    line-height: 1.6666666667;
  }
  .teamBuildingElementText {
    width: 93.8775510204%;
    margin: 0 auto;
    line-height: 2.1428571429;
  }
  .teamBuildingElementList {
    display: block;
  }
  .teamBuildingElementItem {
    width: 100%;
  }
  .teamBuildingElementItem:not(:last-child) {
    margin: 0 0 56px;
  }
  .teamBuildingElementSec:nth-of-type(2) .teamBuildingElementInner {
    padding-top: 39px;
  }
  .teamBuildingElementSec:nth-of-type(2) .teamBuildingElementText {
    width: 100%;
  }
  .teamBuildingElementItemImg {
    width: 100vw;
    margin: 0 calc(50% - 50vw) 42px;
    position: relative;
    overflow: hidden;
  }
  .teamBuildingElementItemImg::before {
    display: block;
    padding-top: 45.3333333333%;
    content: "";
  }
  .teamBuildingElementItemText {
    line-height: 2.1428571429;
  }
  .teamBuildingElementItemLink {
    display: block;
    width: 90.6705539359%;
    margin: 0 auto;
    padding-top: 16.5px;
    padding-bottom: 16.5px;
  }
  .teamBuildingElementOtherList {
    display: block;
  }
  .teamBuildingElementOtherItem {
    width: 100%;
  }
  .teamBuildingElementOtherItem:first-child .teamBuildingElementOtherTitle {
    padding-top: 26px;
  }
  .teamBuildingElementOtherItem:first-child .teamBuildingElementOtherImg {
    margin-bottom: 24px;
    position: relative;
    overflow: hidden;
  }
  .teamBuildingElementOtherItem:first-child .teamBuildingElementOtherImg::before {
    display: block;
    padding-top: 63.8436482085%;
    content: "";
  }
  .teamBuildingElementOtherItem:first-child .teamBuildingElementOtherText {
    line-height: 2.2777777778;
  }
  .teamBuildingElementOtherItem:nth-child(2) .teamBuildingElementOtherTitle {
    padding-top: 32px;
  }
  .teamBuildingElementOtherItem:nth-child(2) .teamBuildingElementOtherImg {
    margin-top: 20px;
    position: relative;
    overflow: hidden;
  }
  .teamBuildingElementOtherItem:nth-child(2) .teamBuildingElementOtherImg::before {
    display: block;
    padding-top: 72.6351351351%;
    content: "";
  }
  .teamBuildingElementOtherItem:nth-child(2) .teamBuildingElementOtherText {
    line-height: 2.1428571429;
  }
  .teamBuildingElementOtherItem:not(:last-child) {
    margin-bottom: 32px;
  }
  .teamBuildingElementOtherTitle {
    margin-bottom: 16px;
  }
  .teamBuildingElementAbout {
    padding-top: 42px;
  }
  .teamBuildingElementAboutTitle {
    line-height: 1.3333333333;
  }
  .teamBuildingElementAboutBlock {
    display: block;
    margin-bottom: 42px;
  }
  .teamBuildingElementAboutIllust {
    width: 100%;
    margin-bottom: 24px;
    position: relative;
    overflow: hidden;
  }
  .teamBuildingElementAboutIllust::before {
    display: block;
    padding-top: 84.7682119205%;
    content: "";
  }
  .teamBuildingElementAboutText {
    width: 100%;
    line-height: 1.8571428571;
  }
  .teamBuildingElementAboutTypeList {
    display: block;
  }
  .teamBuildingElementAboutTypeItem {
    width: 100%;
    padding-top: 23px;
    padding-bottom: 21px;
  }
  .teamBuildingElementAboutTypeItem:not(:last-child) {
    margin-bottom: 16px;
  }
  .teamBuildingElementAboutTypeTitle {
    line-height: 1.4444444444;
  }
  .teamBuildingElementAboutTypeText {
    line-height: 1.8571428571;
  }
  .teamBuildingElementGame {
    margin-top: 56px;
  }
  .teamBuildingElementGameList {
    display: block;
  }
  .teamBuildingElementGameItem {
    width: 100%;
  }
  .teamBuildingElementGameItem:not(:last-child) {
    margin-bottom: 32px;
  }
  .teamBuildingElementGameImg {
    position: relative;
    overflow: hidden;
  }
  .teamBuildingElementGameImg::before {
    display: block;
    padding-top: 85.0793650794%;
    content: "";
  }
  .teamBuildingElementGameName {
    text-align: center;
  }
  .teamBuildingElementGameText {
    margin-top: 42px;
    line-height: 1.8571428571;
  }
  .teamBuildingElementHeading {
    margin-bottom: 33px;
  }
  .teamBuildingElementBlockImg {
    width: 100vw;
    margin: 24px calc(50% - 50vw);
    position: relative;
    overflow: hidden;
  }
  .teamBuildingElementBlockImg::before {
    display: block;
    padding-top: 52.2666666667%;
    content: "";
  }
  .teamBuildingElementAbout.-rafting .teamBuildingElementAboutBlock {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
  }
  .teamBuildingElementAbout.-rafting .teamBuildingElementAboutBlock:nth-of-type(2) {
    display: block;
    margin-top: 42px;
  }
  .teamBuildingElementAbout.-rafting .teamBuildingElementAboutBlock:nth-of-type(2) .teamBuildingElementAboutIllust {
    width: 100%;
  }
  .teamBuildingElementAbout.-rafting .teamBuildingElementAboutBlock:nth-of-type(2) .teamBuildingElementAboutText {
    width: 100%;
    margin-top: 42px;
    margin-bottom: 0;
    font-size: 1.4rem;
    line-height: 1.8571428571;
  }
  .teamBuildingElementAbout.-rafting .teamBuildingElementAboutText {
    width: 100%;
    margin-right: 0;
    margin-bottom: 56px;
  }
  .teamBuildingElementAbout.-rafting .teamBuildingElementAboutIllust {
    width: 95.498392283%;
    margin-bottom: 0;
    position: relative;
    overflow: hidden;
  }
  .teamBuildingElementAbout.-rafting .teamBuildingElementAboutIllust::before {
    display: block;
    padding-top: 115.8249158249%;
    content: "";
  }
  .teamBuildingElementAboutTitleSub {
    padding-top: 15.5px;
    padding-bottom: 15.5px;
  }
  .teamBuildingElementAboutLink {
    padding-top: 8px;
    padding-bottom: 8px;
    line-height: 1.3888888889;
  }
}
.teamBuildingLead {
  position: relative;
  padding-bottom: clamp(42px, 6.9444444444vw, 100px);
}
.teamBuildingLead::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  background-color: #8fc13c;
  content: "";
  transform: translate(-50%, 0%);
}

.teamBuildingLeadHeading {
  margin-bottom: clamp(30px, 2.2222222222vw, 32px);
  color: #157b2a;
  font-size: clamp(3rem, (2.7777777778vw), 4rem);
  font-weight: 600;
  line-height: 0.975;
}

.teamBuildingLeadImg {
  margin-bottom: clamp(15px, 1.0416666667vw, 15px);
  position: relative;
  overflow: hidden;
}
.teamBuildingLeadImg::before {
  display: block;
  padding-top: 46.1538461538%;
  content: "";
}

.teamBuildingLeadText {
  font-size: clamp(1.4rem, (1.1805555556vw), 1.7rem);
  font-weight: 500;
  line-height: 1.5882352941;
}

@media (max-width: 768px) {
  .teamBuildingLeadHeading {
    text-align: center;
    line-height: 1.3;
  }
  .teamBuildingLeadImg {
    width: 100vw;
    margin: 0 calc(50% - 50vw) 16px;
  }
}
.teamBuildingMenu {
  margin-bottom: clamp(100px, 6.9444444444vw, 100px);
}

.teamBuildingMenuTitle {
  position: relative;
  padding-top: clamp(0px, 1.9444444444vw, 28px);
  padding-bottom: clamp(24px, 1.9444444444vw, 28px);
  color: #157b2a;
  text-align: center;
  font-size: clamp(3rem, (4.3055555556vw), 6.2rem);
  font-weight: 600;
  line-height: 1;
}
.teamBuildingMenuTitle::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  background-color: #8fc13c;
  content: "";
  transform: translate(-50%, 0%);
}
.teamBuildingMenuTitle::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  background-color: #8fc13c;
  content: "";
  transform: translate(-50%, 0%);
}

.teamBuildingMenuText {
  margin-top: clamp(24px, 2.0138888889vw, 29px);
  margin-bottom: clamp(42px, 3.4722222222vw, 50px);
  color: #157b2a;
  font-size: clamp(1.6rem, (1.5277777778vw), 2.2rem);
  font-weight: 600;
  line-height: 1.3636363636;
}

.teamBuildingMenuItem {
  position: relative;
  padding-bottom: clamp(25px, 1.7361111111vw, 25px);
}
.teamBuildingMenuItem:not(:last-child) {
  margin-bottom: clamp(25px, 1.7361111111vw, 25px);
  border-bottom: 1px solid #8fc13c;
}
.teamBuildingMenuItem::before {
  position: absolute;
  top: 0;
  right: 0;
  width: clamp(50px, 4.3055555556vw, 62px);
  height: clamp(50px, 4.3055555556vw, 62px);
  background-image: url(./optimized/team/team_menu_arrow.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}

.teamBuildingMenuLink {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}

.teamBuildingMenuItemTitle {
  width: 33.8461538462%;
  margin-right: 3.0769230769%;
  font-size: clamp(2rem, (2.5vw), 3.6rem);
  font-weight: 600;
  line-height: 1.1666666667;
}

.teamBuildingMenuItemText {
  width: 51.9230769231%;
  font-size: clamp(1.6rem, (1.5277777778vw), 2.2rem);
  font-weight: 600;
  line-height: 1.4545454545;
}

@media (max-width: 768px) {
  .teamBuildingMenuTitle {
    padding-top: 100px;
  }
  .teamBuildingMenuText {
    width: 86.5889212828%;
    margin: 24px auto 42px;
    line-height: 1.875;
  }
  .teamBuildingMenuItem {
    position: relative;
    width: 88.9212827988%;
    margin: 0 auto 24px;
    padding-bottom: 42px;
  }
  .teamBuildingMenuItem:nth-child(2) .teamBuildingMenuItemTitle {
    line-height: 2.8;
  }
  .teamBuildingMenuItem:first-child .teamBuildingMenuItemText {
    margin-top: 16px;
  }
  .teamBuildingMenuItem:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: 1px;
    margin: 0 calc(50% - 50vw);
    background-color: #8fc13c;
    content: "";
  }
  .teamBuildingMenuItem:not(:last-child) {
    margin-bottom: 24px;
    border-bottom: none;
  }
  .teamBuildingMenuLink {
    display: block;
  }
  .teamBuildingMenuItemTitle {
    width: 74.0983606557%;
    margin-right: 0;
  }
  .teamBuildingMenuItemText {
    width: 89.5081967213%;
    margin-top: 10px;
    line-height: 2;
  }
}