@charset "UTF-8";
/*
==================================================
sassを使用しているので、cssファイルを直接編集しないでください。
先祖返りの原因となります。
==================================================
*/
/* setting/_reset.scss
-------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, button {
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 100%;
  line-height: inherit;
  vertical-align: baseline;
  color: inherit;
  background: initial;
  border: 0;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block;
}

body {
  line-height: inherit;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

body *:not(table, tbody, thead, tfoot, tr, th, td, dialog, picture), body *:not(table, tbody, thead, tfoot, tr, th, td, dialog, picture)::before, body *:not(table, tbody, thead, tfoot, tr, th, td, dialog, picture)::after {
  position: relative;
  box-sizing: border-box;
}

:where(dialog) {
  /* サイズ制限の解除 */
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  /* paddingや色、枠線など見た目のリセット */
  padding: unset;
  /* スクロール設定 */
  overflow: unset;
  color: unset;
  background-color: unset;
  border: unset;
}

body:has(dialog:modal) {
  /* ダイアログが開いている間はダイアログ外のスクロールを禁止 */
  overflow: hidden;
}

::backdrop {
  /* ダイアログの背景色をリセット */
  background-color: unset;
}

/* setting/_base.scss
-------------------------------------------------- */
* {
  min-height: 0;
}

html,
body {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  vertical-align: middle;
  color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

html {
  scroll-behavior: smooth;
}

body {
  line-height: 1;
  opacity: 0;
}
body.is-load {
  opacity: 1;
}

img,
svg {
  vertical-align: bottom;
}

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

svg {
  width: 100%;
  height: auto;
}

input[type=text],
input[type=email],
input[type=url],
input[type=tel],
input[type=search],
input[type=submit],
input[type=reset],
textarea,
button,
select {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: inherit;
  appearance: none;
  border: none;
}

input[type=radio],
input[type=checkbox] {
  padding: 0;
  margin: 0;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
}

input[type=submit],
input[type=reset],
a,
label,
button {
  text-decoration: none;
  cursor: pointer;
}

[data-hidden] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

:root {
  --leading-trim: calc((1em - 1lh) / 2);
}
@supports not (top: 1lh) {
  :root {
    --leading-trim: 0;
  }
}

@media screen and (min-width: 769px), print {
  html {
    scroll-padding-top: min(81px, calc(5.7857142857 * var(--vw)));
  }
  a[href^=tel] {
    pointer-events: none;
  }
  [data-device=sp] {
    display: none !important;
  }
  :root {
    --header-h: min(81px, calc(5.7857142857 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  html {
    scroll-padding-top: calc(15.8974358974 * var(--vw));
  }
  body {
    -webkit-overflow-scrolling: touch;
  }
  [data-device=pc] {
    display: none !important;
  }
  :root {
    --header-h: calc(15.8974358974 * var(--vw));
  }
}
/* setting/_keyframe.scss
-------------------------------------------------- */
@keyframes logo-slider {
  0% {
    transform: translate(-33.33333%);
  }
  100% {
    transform: translate(-66.66666%);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes forestScroll {
  0% {
    transform: translate(-33.33333%);
  }
  100% {
    transform: translate(-66.66666%);
  }
}
/* lib/_slick.scss
-------------------------------------------------- */
/* setting/_extend.scss
-------------------------------------------------- */
@media screen and (min-width: 769px), print {
  .m-forest-intro__wrap, .m-forest-about__wrap, .m-forest-fv__wrap, .m-project__wrap, .m-message__wrap, .m-top-area__wrap, .m-top-myproject__wrap, .m-top-pickup__wrap, .m-top-fv__wrap {
    width: min(1200px, calc(85.7142857143 * var(--vw)));
    margin-inline: auto;
  }
}

.m-myproject__btn, .m-forest__btn, .m-project__back-link, .m-message__back-link, .m-top-myproject__btn, .m-top-pickup__btn, .m-top-message__btn {
  display: block;
  max-width: 100%;
  margin-inline: auto;
  font-weight: 700;
  color: #D80C18;
  text-align: center;
  background-color: #fff;
  border: 1px solid #D80C18;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
  transition: color 0.2s linear, background-color 0.2s linear;
}
.m-myproject__btn::after, .m-forest__btn::after, .m-project__back-link::after, .m-message__back-link::after, .m-top-myproject__btn::after, .m-top-pickup__btn::after, .m-top-message__btn::after {
  position: absolute;
  inset-block: 0;
  display: block;
  aspect-ratio: 9/14;
  margin-block: auto;
  content: "";
  background: currentColor;
  mask: url("../img/common/arrow.svg") no-repeat center center;
  mask-size: contain;
  transition: transform 0.2s linear;
}
@media (any-hover: hover) {
  .m-myproject__btn:hover, .m-forest__btn:hover, .m-project__back-link:hover, .m-message__back-link:hover, .m-top-myproject__btn:hover, .m-top-pickup__btn:hover, .m-top-message__btn:hover {
    color: #fff;
    background-color: #D80C18;
  }
  .m-myproject__btn:hover::after, .m-forest__btn:hover::after, .m-project__back-link:hover::after, .m-message__back-link:hover::after, .m-top-myproject__btn:hover::after, .m-top-pickup__btn:hover::after, .m-top-message__btn:hover::after {
    transform: translateX(25%);
  }
}
@media screen and (min-width: 769px), print {
  .m-myproject__btn, .m-forest__btn, .m-project__back-link, .m-message__back-link, .m-top-myproject__btn, .m-top-pickup__btn, .m-top-message__btn {
    width: min(380px, calc(27.1428571429 * var(--vw)));
    padding: min(12px, calc(0.8571428571 * var(--vw))) min(37px, calc(2.6428571429 * var(--vw))) min(14px, calc(1 * var(--vw)));
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
    border-radius: min(12px, calc(0.8571428571 * var(--vw)));
  }
  .m-myproject__btn::after, .m-forest__btn::after, .m-project__back-link::after, .m-message__back-link::after, .m-top-myproject__btn::after, .m-top-pickup__btn::after, .m-top-message__btn::after {
    right: min(28px, calc(1.995 * var(--vw)));
    width: min(9px, calc(0.6428571429 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-myproject__btn, .m-forest__btn, .m-project__back-link, .m-message__back-link, .m-top-myproject__btn, .m-top-pickup__btn, .m-top-message__btn {
    width: 100%;
    padding: calc(3.5897435897 * var(--vw)) calc(5.3846153846 * var(--vw)) calc(4.1025641026 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.38em;
    border-radius: calc(3.0769230769 * var(--vw));
  }
  .m-myproject__btn::after, .m-forest__btn::after, .m-project__back-link::after, .m-message__back-link::after, .m-top-myproject__btn::after, .m-top-pickup__btn::after, .m-top-message__btn::after {
    right: calc(6.558974359 * var(--vw));
    width: calc(2.3076923077 * var(--vw));
    height: calc(3.5897435897 * var(--vw));
  }
}

.slick-slider {
  user-select: none;
  touch-action: pan-y;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-list, .slick-track {
  transform: translate3d(0, 0, 0);
}
.slick-track {
  display: block;
  overflow: hidden;
}
.slick-track::after {
  content: "";
  clear: both;
}
.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-initialized .slick-slide {
  display: block;
}
.m-top-pickup__list .slick-dots {
  list-style-type: none;
  padding: 0;
  display: flex;
  position: relative;
  bottom: 0;
  justify-content: center;
}
.m-top-pickup__list .slick-dots li {
  text-indent: 110%;
  white-space: nowrap;
  overflow: hidden;
  border-radius: 50%;
  background-color: #fff;
}
.m-top-pickup__list .slick-dots li.slick-active {
  background-color: #D80C18;
}
.m-top-pickup__list .slick-dots li button {
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  text-indent: 100%;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .m-top-pickup__list .slick-dots {
    margin: calc(2.0512820513 * var(--vw)) 0 0;
  }
  .m-top-pickup__list .slick-dots li {
    width: calc(3.0769230769 * var(--vw));
    height: calc(3.0769230769 * var(--vw));
    margin: 0 calc(1.2820512821 * var(--vw));
  }
}

/* global/_header.scss
-------------------------------------------------- */
.g-header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: var(--header-h);
  background-color: #fff;
}
.g-header__wrap {
  display: flex;
  justify-content: space-between;
  height: 100%;
}
.g-header__logos {
  display: flex;
}
.g-header__project, .g-header__top {
  transition: opacity 0.1s linear;
  cursor: pointer;
}
@media (any-hover: hover) {
  .g-header__project:hover, .g-header__top:hover {
    opacity: 0.7;
  }
}
.g-header__project, .g-header__top {
  display: block;
}
.g-header__project img, .g-header__top img {
  width: 100%;
}
.g-header__link {
  font-weight: 700;
  transition: color 0.1s linear;
}
@media (any-hover: hover) {
  .g-header__link:hover {
    color: #D80C18;
  }
}
@media screen and (min-width: 769px), print {
  .g-header__wrap {
    align-items: end;
    padding: min(10px, calc(0.7142857143 * var(--vw))) min(36px, calc(2.5714285714 * var(--vw))) min(10px, calc(0.7142857143 * var(--vw))) min(24px, calc(1.7142857143 * var(--vw)));
  }
  .g-header__logos {
    gap: 0 min(15px, calc(1.0714285714 * var(--vw)));
    align-items: end;
    padding-bottom: min(4px, calc(0.2857142857 * var(--vw)));
  }
  .g-header__project {
    width: min(152px, calc(10.8571428571 * var(--vw)));
  }
  .g-header__top {
    width: min(99px, calc(7.0714285714 * var(--vw)));
  }
  .g-header__list {
    display: flex;
    gap: 0 min(30px, calc(2.1428571429 * var(--vw)));
  }
  .g-header__link {
    display: block;
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
}
@media screen and (max-width: 768px) {
  .g-header__wrap {
    gap: 0 calc(5.3846153846 * var(--vw));
    align-items: center;
    padding: calc(2.3076923077 * var(--vw)) calc(2.5641025641 * var(--vw)) calc(2.3076923077 * var(--vw)) calc(3.8461538462 * var(--vw));
  }
  .g-header__logos {
    flex: 1 1 10%;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
  }
  .g-header__project {
    width: calc(30.5128205128 * var(--vw));
  }
  .g-header__top {
    width: calc(24.1025641026 * var(--vw));
  }
  .g-header__menu {
    width: calc(13.8461538462 * var(--vw));
    height: calc(11.2820512821 * var(--vw));
    border: 1px solid #D80C18;
    border-radius: 50%;
  }
  .g-header__menu.is-open span {
    opacity: 0;
  }
  .g-header__menu.is-open::before {
    top: 50%;
    width: calc(5.3846153846 * var(--vw));
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .g-header__menu.is-open::after {
    top: 50%;
    width: calc(5.3846153846 * var(--vw));
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .g-header__menu span {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: calc(4.6153846154 * var(--vw));
    height: calc(0.5128205128 * var(--vw));
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    background-color: #D80C18;
    border-radius: 100vmax;
    transform: translate(-50%, -50%);
    transition: opacity 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  }
  .g-header__menu::before {
    position: absolute;
    top: calc(50% - 1.7948717949 * var(--vw));
    left: 50%;
    width: calc(5.3846153846 * var(--vw));
    height: calc(0.5128205128 * var(--vw));
    content: "";
    background-color: #D80C18;
    border-radius: 100vmax;
    transform: translate(-50%, -50%);
    transition: width 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95), top 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95), transform 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  }
  .g-header__menu::after {
    position: absolute;
    top: calc(50% + 1.7948717949 * var(--vw));
    left: 50%;
    width: calc(3.8461538462 * var(--vw));
    height: calc(0.5128205128 * var(--vw));
    content: "";
    background-color: #D80C18;
    border-radius: 100vmax;
    transform: translate(-50%, -50%);
    transition: width 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95), top 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95), transform 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  }
  .g-header__nav {
    position: fixed;
    top: calc(15.8974358974 * var(--vw));
    left: 0;
    z-index: 10;
    width: 100%;
    height: calc(100vh - 15.8974358974 * var(--vw));
    padding: calc(14.8717948718 * var(--vw)) calc(8.4615384615 * var(--vw));
    overflow-y: auto;
    pointer-events: none;
    scrollbar-width: none;
    background-color: #f5f5f5;
    opacity: 0;
    transition: opacity 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    -ms-overflow-style: none;
  }
  .g-header__nav::-webkit-scrollbar {
    display: none;
  }
  .g-header__nav.is-open {
    pointer-events: inherit;
    opacity: 1;
  }
  .g-header__item {
    border-bottom: 1px solid #B8B8B8;
  }
  .g-header__item:first-child .g-header__link {
    padding-top: 0;
  }
  .g-header__link {
    display: block;
    padding: calc(4.6153846154 * var(--vw)) 0 calc(3.3333333333 * var(--vw));
    font-size: calc(4.6153846154 * var(--vw));
    line-height: 1.8888888889em;
  }
  .g-header__link::after {
    position: absolute;
    top: 50%;
    right: calc(2.5641025641 * var(--vw));
    width: calc(2.0512820513 * var(--vw));
    height: calc(3.0769230769 * var(--vw));
    content: "";
    background: url("../img/common/arrow.svg") center center no-repeat;
    background-size: contain;
    transform: translateY(-50%);
  }
  .g-header__sublist {
    margin-top: calc(6.9230769231 * var(--vw));
  }
  .g-header__sublink {
    font-size: calc(4.1025641026 * var(--vw));
    font-weight: 700;
    line-height: 2.5em;
  }
  .g-header__sublink::before {
    content: "・";
  }
  .g-header__banners {
    margin-top: calc(8.4615384615 * var(--vw));
  }
  .g-header__banner {
    display: block;
    width: calc(66.6666666667 * var(--vw));
    margin: 0 auto;
  }
  .g-header__banner + .g-header__banner {
    margin-top: calc(6.6666666667 * var(--vw));
  }
  .g-header__banner img {
    width: 100%;
  }
}

/* global/_banner.scss
-------------------------------------------------- */
.g-banner {
  background-color: #f5f5f5;
}
.g-banner__link {
  transition: opacity 0.1s linear;
  cursor: pointer;
}
@media (any-hover: hover) {
  .g-banner__link:hover {
    opacity: 0.7;
  }
}
.g-banner__link {
  display: block;
}
.g-banner__img {
  width: 100%;
}
@media screen and (min-width: 769px), print {
  .g-banner {
    padding: min(100px, calc(7.1428571429 * var(--vw))) 0;
  }
  .g-banner__list {
    display: flex;
    justify-content: center;
    gap: 0 min(72px, calc(5.1428571429 * var(--vw)));
  }
  .g-banner__item {
    width: min(284px, calc(20.2857142857 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .g-banner {
    padding: calc(15.1282051282 * var(--vw)) 0 calc(12.5641025641 * var(--vw));
  }
  .g-banner__item {
    margin: 0 auto;
    width: calc(66.6666666667 * var(--vw));
  }
  .g-banner__item + .g-banner__item {
    margin-top: calc(6.6666666667 * var(--vw));
  }
}

/* global/_footer.scss
-------------------------------------------------- */
.g-footer__logo {
  transition: opacity 0.1s linear;
  cursor: pointer;
}
@media (any-hover: hover) {
  .g-footer__logo:hover {
    opacity: 0.7;
  }
}
.g-footer__logo {
  display: block;
}
.g-footer__logo img {
  width: 100%;
}
.g-footer__list {
  display: flex;
  align-items: center;
}
.g-footer__link {
  font-weight: 700;
  transition: color 0.1s linear;
}
@media (any-hover: hover) {
  .g-footer__link:hover {
    color: #D80C18;
  }
}
.g-footer__copy {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #fff;
  text-align: center;
  background-color: #D80C18;
}
@media screen and (min-width: 769px), print {
  .g-footer__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: min(26px, calc(1.8571428571 * var(--vw))) min(76px, calc(5.4285714286 * var(--vw))) min(31px, calc(2.2142857143 * var(--vw))) min(100px, calc(7.1428571429 * var(--vw)));
  }
  .g-footer__logo {
    width: min(152px, calc(10.8571428571 * var(--vw)));
  }
  .g-footer__item {
    padding: 0 min(18px, calc(1.2857142857 * var(--vw)));
  }
  .g-footer__item:first-child {
    padding-left: 0;
  }
  .g-footer__item:last-child {
    padding-right: 0;
  }
  .g-footer__item:not(:last-child) {
    border-right: 1px solid #000;
  }
  .g-footer__link {
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 0.8888888889em;
  }
  .g-footer__copy {
    padding: min(13px, calc(0.9285714286 * var(--vw))) 0;
    font-size: min(0.875rem, calc(1 * var(--vw)));
    line-height: 1.7142857143em;
  }
}
@media screen and (max-width: 768px) {
  .g-footer__wrap {
    padding-block: calc(9.4871794872 * var(--vw)) calc(4.6153846154 * var(--vw));
  }
  .g-footer__logo {
    width: calc(24.1025641026 * var(--vw));
    margin-inline: auto;
  }
  .g-footer__list {
    flex-wrap: wrap;
    column-gap: calc(4.1025641026 * var(--vw));
    justify-content: center;
    margin-top: calc(6.6666666667 * var(--vw));
    font-size: calc(2.5641025641 * var(--vw));
    line-height: 1.4em;
  }
  .g-footer__copy {
    padding: calc(1.2820512821 * var(--vw)) 0;
    font-size: calc(2.8205128205 * var(--vw));
    line-height: 1.6363636364em;
  }
}

/* global/_modal.scss
-------------------------------------------------- */
.g-modal {
  margin: 0;
}
.g-modal[open] {
  animation: fadeIn 0.3s ease-out forwards;
}
.g-modal.is-hide {
  animation: fadeOut 0.3s ease-out forwards;
}
.g-modal__bg {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3);
}
.g-modal__box {
  display: block grid;
  place-content: center;
  height: 100%;
}
.g-modal__contents {
  z-index: 2;
  max-height: 100dvh;
  padding-top: 3vh;
  margin-inline: auto;
  overflow-y: auto;
  outline: none;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.g-modal__contents::-webkit-scrollbar {
  display: none;
}
.g-modal__contents::after {
  display: block;
  height: 2vh;
  content: "";
}
.g-modal__item {
  overflow: hidden;
  pointer-events: all;
  background-color: #fff;
}
.g-modal__ttl {
  color: #fff;
  text-align: center;
  background-color: #D80C18;
}
.g-modal__ttl[data-cate=employee] {
  background-color: #144FC4;
}
.g-modal__ttl[data-cate=customer] {
  background-color: #FF992D;
}
.g-modal__ttl[data-cate=society] {
  background-color: #088F3E;
}
.g-modal__heading {
  text-align: center;
  box-shadow: 0 4px 3px rgba(0, 0, 0, 0.15);
}
.g-modal__heading::after {
  position: absolute;
  left: 50%;
  width: 0;
  height: 0;
  content: "";
  border-color: #fff transparent transparent;
  border-style: solid;
  filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.15));
  transform: translateX(-50%);
}
.g-modal__fig {
  overflow: hidden;
}
.g-modal__img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.g-modal__prof {
  display: flex;
  align-items: end;
}
.g-modal__prof-fig {
  aspect-ratio: 1/1;
}
.g-modal__prof-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.g-modal__prof-department {
  border-top: 1px solid #D80C18;
}
.g-modal__li {
  text-align: center;
  background-color: #fff;
}
.g-modal__caption {
  text-align: center;
}
.g-modal__caption span {
  color: #D80C18;
}
.g-modal__download {
  display: block;
  color: #fff;
  text-align: center;
  background-color: #D80C18;
}
.g-modal__close {
  transition: opacity 0.1s linear;
  cursor: pointer;
}
@media (any-hover: hover) {
  .g-modal__close:hover {
    opacity: 0.7;
  }
}
.g-modal__close {
  display: block;
  font-weight: 700;
  text-align: center;
  pointer-events: all;
  background-color: #fff;
  border-radius: 100vmax;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15);
}
@media screen and (min-width: 769px), print {
  .g-modal__contents {
    width: min(1033px, calc(73.7857142857 * var(--vw)));
    padding-bottom: 8px;
  }
  .g-modal__item {
    border-radius: min(20px, calc(1.4285714286 * var(--vw)));
  }
  .g-modal__ttl {
    padding: min(12px, calc(0.8571428571 * var(--vw))) 0 min(13px, calc(0.9285714286 * var(--vw)));
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
  .g-modal__heading {
    padding: min(35px, calc(2.5 * var(--vw))) 1em;
    font-size: min(1.5rem, calc(1.7142857143 * var(--vw)));
    line-height: 1.4583333333em;
  }
  .g-modal__heading::after {
    bottom: max(-16px, calc(-1.1428571429 * var(--vw)));
    border-width: min(17px, calc(1.2142857143 * var(--vw))) min(10px, calc(0.7142857143 * var(--vw))) 0;
  }
  .g-modal__block {
    display: flex;
    gap: 0 min(27px, calc(1.9285714286 * var(--vw)));
    align-items: start;
    padding: min(45px, calc(3.2142857143 * var(--vw))) min(54px, calc(3.8571428571 * var(--vw))) min(48px, calc(3.4285714286 * var(--vw)));
  }
  .g-modal__fig {
    width: min(460px, calc(32.8571428571 * var(--vw)));
    border-radius: min(13px, calc(0.9285714286 * var(--vw)));
    box-shadow: 0 5px 6px rgba(0, 0, 0, 0.15);
  }
  .g-modal__flex {
    flex: 1;
  }
  .g-modal__scroll {
    height: min(314px, calc(22.4285714286 * var(--vw)));
    overflow-y: auto;
  }
  .g-modal__txt {
    font-size: min(1rem, calc(1.1428571429 * var(--vw)));
    line-height: 1.9375em;
  }
  .g-modal__prof {
    gap: 0 min(6px, calc(0.4285714286 * var(--vw)));
    margin-top: min(15px, calc(1.0714285714 * var(--vw)));
  }
  .g-modal__prof-fig {
    width: min(115px, calc(8.2142857143 * var(--vw)));
  }
  .g-modal__prof-box {
    flex: 1;
  }
  .g-modal__prof-name {
    margin-bottom: min(3px, calc(0.2142857143 * var(--vw)));
    font-size: min(1.25rem, calc(1.4285714286 * var(--vw)));
    line-height: 1.7em;
  }
  .g-modal__prof-department {
    padding-top: min(5px, calc(0.3571428571 * var(--vw)));
    font-size: min(1rem, calc(1.1428571429 * var(--vw)));
    line-height: 1.9375em;
  }
  .g-modal__list {
    display: flex;
    flex-wrap: wrap;
    gap: min(39px, calc(2.7857142857 * var(--vw))) min(30px, calc(2.1428571429 * var(--vw)));
    justify-content: center;
  }
  .g-modal__li {
    width: min(298px, calc(21.2857142857 * var(--vw)));
    padding: min(27px, calc(1.9285714286 * var(--vw))) min(21px, calc(1.5 * var(--vw))) min(21px, calc(1.5 * var(--vw)));
    border-radius: min(24px, calc(1.7142857143 * var(--vw)));
  }
  .g-modal__caption {
    margin-bottom: min(14px, calc(1 * var(--vw)));
    font-size: min(1.5rem, calc(1.7142857143 * var(--vw)));
    line-height: 1.4583333333em;
  }
  .g-modal__icon {
    width: min(68px, calc(4.8571428571 * var(--vw)));
  }
  .g-modal__download {
    width: 100%;
    padding: min(9px, calc(0.6428571429 * var(--vw))) 0 min(11px, calc(0.7857142857 * var(--vw)));
    margin-top: min(17px, calc(1.2142857143 * var(--vw)));
    font-size: min(1.3125rem, calc(1.5 * var(--vw)));
    line-height: 1.9047619048em;
    border-radius: min(14px, calc(1 * var(--vw)));
    box-shadow: 0 6px 6px rgba(0, 0, 0, 0.25);
    transition: background-color 0.2s linear;
  }
}
@media screen and (min-width: 769px) and (any-hover: hover), print and (any-hover: hover) {
  .g-modal__download:hover {
    background-color: #9E0810;
  }
}
@media screen and (min-width: 769px), print {
  .g-modal__close {
    width: min(197px, calc(14.0714285714 * var(--vw)));
    padding: min(13px, calc(0.9285714286 * var(--vw))) 0;
    margin: min(20px, calc(1.4285714286 * var(--vw))) auto 0;
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
}
@media screen and (max-width: 768px) {
  .g-modal__contents {
    width: calc(89.2307692308 * var(--vw));
    padding-bottom: 8px;
  }
  .g-modal__item {
    border-radius: calc(5.1282051282 * var(--vw));
  }
  .g-modal__ttl {
    padding: calc(3.0769230769 * var(--vw)) 0;
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.375em;
  }
  .g-modal__heading {
    padding: calc(6.1538461538 * var(--vw)) 1em calc(7.1794871795 * var(--vw));
    font-size: calc(5.1282051282 * var(--vw));
    line-height: 1.7em;
  }
  .g-modal__heading::after {
    bottom: calc(-2.5641025641 * var(--vw));
    border-width: calc(2.8205128205 * var(--vw)) calc(1.5384615385 * var(--vw)) 0;
  }
  .g-modal__block {
    padding: calc(10.7692307692 * var(--vw)) calc(4.8717948718 * var(--vw)) calc(12.3076923077 * var(--vw));
  }
  .g-modal__fig {
    width: 100%;
    border-radius: calc(2.5641025641 * var(--vw));
    box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
  }
  .g-modal__flex {
    margin-top: calc(3.8461538462 * var(--vw));
  }
  .g-modal__txt {
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.9375em;
  }
  .g-modal__prof {
    gap: 0 calc(4.1025641026 * var(--vw));
    margin-top: calc(3.5897435897 * var(--vw));
  }
  .g-modal__prof-fig {
    width: calc(29.4871794872 * var(--vw));
  }
  .g-modal__prof-box {
    flex: 1;
  }
  .g-modal__prof-name {
    margin-bottom: calc(2.3076923077 * var(--vw));
    font-size: calc(4.6153846154 * var(--vw));
    line-height: 1.0555555556em;
  }
  .g-modal__prof-department {
    padding-top: calc(2.3076923077 * var(--vw));
    font-size: calc(3.5897435897 * var(--vw));
    line-height: 1.7142857143em;
  }
  .g-modal__li {
    width: calc(53.0769230769 * var(--vw));
    padding: calc(6.1538461538 * var(--vw)) calc(3.8461538462 * var(--vw)) calc(3.8461538462 * var(--vw));
    margin: 0 auto;
    border-radius: calc(4.358974359 * var(--vw));
  }
  .g-modal__li + .g-modal__li {
    margin-top: calc(5.1282051282 * var(--vw));
  }
  .g-modal__caption {
    margin-bottom: calc(1.7948717949 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.625em;
  }
  .g-modal__icon {
    width: calc(11.0256410256 * var(--vw));
  }
  .g-modal__download {
    width: 100%;
    padding: calc(1.2820512821 * var(--vw)) 0 calc(1.5384615385 * var(--vw));
    margin-top: calc(2.8205128205 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.875em;
    border-radius: calc(2.5641025641 * var(--vw));
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  }
  .g-modal__close {
    width: calc(23.5897435897 * var(--vw));
    padding: calc(2.3076923077 * var(--vw)) 0 calc(2.5641025641 * var(--vw));
    margin: calc(5.1282051282 * var(--vw)) auto 0;
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.375em;
  }
}

/* modules/loading/_loading.scss
-------------------------------------------------- */
.m-loading {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  overflow: hidden;
  background-color: #fff;
  transition: opacity 2s ease-out 7.8s, pointer-events 0s linear 9.8s;
}
.is-first .m-loading {
  display: block;
}
.m-loading::before, .m-loading::after {
  position: absolute;
  top: 50%;
  z-index: 8888;
  display: block;
  width: 130vmax;
  height: 130vmax;
  content: "";
  background-color: #D80C18;
  border-radius: 100vmax;
  transform: translateY(-50%);
  transition: transform 1.6s ease-in-out 0.8s;
}
.m-loading__logo {
  position: relative;
  z-index: 7777;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.m-loading__logo-fig img {
  width: 100%;
}
.m-loading__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 7777;
  width: 100%;
  height: 100%;
  padding-top: var(--header-h);
  background-color: #D80C18;
  transform: translateY(-100%);
  transition: transform 0.3s ease-in-out 3.8s;
}
.m-loading__txtblk {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100dvh - var(--header-h));
}
.m-loading__txtblk-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.m-loading__copy {
  color: #fff;
  opacity: 0;
  transition: opacity 2s ease-out 4.8s;
}
.m-loading__anniversary-logo {
  opacity: 0;
  transform: scale(0);
  transition: opacity 0.3s ease-in-out 4s, transform 0.8s linear(0, 0.072, 0.24, 0.443, 0.64, 0.808, 0.935, 1.021, 1.07, 1.091, 1.091, 1.079, 1.061, 1.042, 1.025, 1.011, 1.002, 0.995, 0.992, 0.991, 0.992, 0.993, 0.995, 0.997, 1) 4s;
}
.m-loading__anniversary-logo img {
  width: 100%;
}
@media screen and (min-width: 769px), print {
  .m-loading::before {
    left: -50vmax;
  }
  .m-loading::after {
    right: -50vmax;
  }
  .m-loading__logo-fig {
    width: min(278px, calc(19.8571428571 * var(--vw)));
  }
  .m-loading__txtblk {
    padding-block: min(93px, calc(6.6428571429 * var(--vw))) min(164px, calc(11.7142857143 * var(--vw)));
  }
  .m-loading__txtblk-inner {
    gap: min(32px, calc(2.2714285714 * var(--vw)));
  }
  .m-loading__anniversary-logo {
    width: min(422px, calc(30.1428571429 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-loading::before {
    left: -65vmax;
  }
  .m-loading::after {
    right: -65vmax;
  }
  .m-loading__logo-fig {
    width: calc(47.4358974359 * var(--vw));
  }
  .m-loading__txtblk {
    padding-block: calc(21.5384615385 * var(--vw)) calc(18.4615384615 * var(--vw));
    padding-inline: calc(7.9487179487 * var(--vw));
  }
  .m-loading__txtblk-inner {
    gap: calc(12.3076923077 * var(--vw));
    justify-content: flex-start;
    height: calc(137.1794871795 * var(--vw));
  }
  .m-loading__anniversary-logo {
    width: calc(90.2564102564 * var(--vw));
  }
}

body.is-load .m-loading {
  pointer-events: none;
  opacity: 0;
}
body.is-load .m-loading::before {
  transform: translate(-100vmax, -50%);
}
body.is-load .m-loading::after {
  transform: translate(100vmax, -50%);
}
body.is-load .m-loading__logo {
  animation: fadeIn 1.4s ease-out 1.2s forwards, fadeOut 0.3s ease-out 3.4s forwards;
}
body.is-load .m-loading__bg {
  transform: translateY(0);
}
body.is-load .m-loading__anniversary-logo {
  opacity: 1;
  transform: scale(1);
}
body.is-load .m-loading__copy {
  opacity: 1;
}

/* modules/index/_fv.scss
-------------------------------------------------- */
.m-top-fv {
  display: block grid;
  align-items: center;
  min-height: calc(100dvh - var(--header-h));
  color: #fff;
  background: #D80C18;
}
.m-top-fv__copy {
  font-weight: 700;
  text-align: center;
}
.m-top-fv__copy-line {
  display: block;
}
.m-top-fv__copy-line > em {
  position: relative;
  display: inline-block;
}
.m-top-fv__copy-line > em::before {
  position: absolute;
  left: 0;
  display: block;
  aspect-ratio: 23/11;
  content: "";
  background: url("../img/modules/index/fv/ttl_light.svg") no-repeat center center/contain;
  transform: translateX(-40%);
}
.m-top-fv__logo {
  margin-inline: auto;
}
.m-top-fv__logo img {
  display: block;
  width: 100%;
}
.m-top-fv__btn {
  display: block flex;
  flex-direction: column;
  align-items: center;
  font-weight: 700;
  line-height: 1.2em;
  color: #D80C18;
  text-align: center;
  transition: opacity 0.1s linear;
  cursor: pointer;
}
@media (any-hover: hover) {
  .m-top-fv__btn:hover {
    opacity: 0.7;
  }
}
.m-top-fv__btn-label, .m-top-fv__btn-arw {
  position: relative;
  z-index: 2;
  display: block;
}
.m-top-fv__btn-arw {
  margin-inline: auto;
  background: currentColor;
  border-radius: 50%;
}
.m-top-fv__btn-arw::before {
  position: absolute;
  inset: 0;
  display: block;
  aspect-ratio: 1/1;
  margin: auto;
  content: "";
  background: #fff;
  mask: url("../img/common/arrow.svg") no-repeat center center;
  mask-size: contain;
}
.m-top-fv__btn-bg {
  position: absolute;
  inset: 0;
  object-fit: contain;
  filter: drop-shadow(0 6px 6px rgba(0, 0, 0, 0.15));
}
.m-top-fv__anniversary {
  position: absolute;
  aspect-ratio: 264/185;
  background: url("../img/modules/index/fv/anniversary_logo.svg") no-repeat center center/contain;
}
.m-top-fv__anniversary > span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
@media screen and (min-width: 769px), print {
  .m-top-fv {
    padding-block: min(93px, calc(6.6428571429 * var(--vw))) min(164px, calc(11.7142857143 * var(--vw)));
  }
  .m-top-fv__copy {
    font-size: min(1.75rem, calc(2 * var(--vw)));
    line-height: 1.2857142857em;
  }
  .m-top-fv__copy-line + .m-top-fv__copy-line {
    margin-top: 0.6857142857em;
  }
  .m-top-fv__copy-line > em::before {
    top: max(-7px, calc(-0.5 * var(--vw)));
    width: min(23px, calc(1.6428571429 * var(--vw)));
  }
  .m-top-fv__logo {
    width: min(161px, calc(11.5228571429 * var(--vw)));
    margin-top: min(53px, calc(3.785 * var(--vw)));
  }
  .m-top-fv__btn {
    position: absolute;
    bottom: max(-60px, calc(-4.2857142857 * var(--vw)));
    left: min(183px, calc(13.0714285714 * var(--vw)));
    row-gap: min(11px, calc(0.7857142857 * var(--vw)));
    width: min(190px, calc(13.5714285714 * var(--vw)));
    height: min(173px, calc(12.3571428571 * var(--vw)));
    padding-top: min(47px, calc(3.3571428571 * var(--vw)));
    font-size: min(1.25rem, calc(1.4285714286 * var(--vw)));
  }
  .m-top-fv__btn-arw {
    width: min(52px, calc(3.7142857143 * var(--vw)));
    height: min(42px, calc(3 * var(--vw)));
  }
  .m-top-fv__btn-arw::before {
    width: min(13px, calc(0.9285714286 * var(--vw)));
  }
  .m-top-fv__anniversary {
    right: min(140px, calc(10 * var(--vw)));
    bottom: max(-52px, calc(-3.7142857143 * var(--vw)));
    width: min(264px, calc(18.8571428571 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-top-fv {
    padding-block: calc(21.5384615385 * var(--vw)) calc(18.4615384615 * var(--vw));
  }
  .m-top-fv__wrap {
    width: 100%;
    padding-inline: calc(7.9487179487 * var(--vw));
  }
  .m-top-fv__copy {
    font-size: calc(5.8974358974 * var(--vw));
    line-height: 1.3043478261em;
  }
  .m-top-fv__copy-line + .m-top-fv__copy-line {
    margin-top: 0.6956521739em;
  }
  .m-top-fv__copy-line > em::before {
    top: calc(-1.7948717949 * var(--vw));
    width: calc(4.8717948718 * var(--vw));
  }
  .m-top-fv__logo {
    width: calc(36.8256410256 * var(--vw));
    margin-top: calc(12.3076923077 * var(--vw));
  }
  .m-top-fv__btn {
    row-gap: calc(2.6564102564 * var(--vw));
    width: calc(33.7435897436 * var(--vw));
    height: calc(30.6743589744 * var(--vw));
    padding-top: calc(8.2051282051 * var(--vw));
    margin-top: calc(12.4717948718 * var(--vw));
    font-size: calc(3.5897435897 * var(--vw));
  }
  .m-top-fv__btn-arw {
    width: calc(8.5333333333 * var(--vw));
    height: calc(6.8923076923 * var(--vw));
  }
  .m-top-fv__btn-arw::before {
    width: calc(2.3076923077 * var(--vw));
  }
  .m-top-fv__anniversary {
    right: calc(6.1538461538 * var(--vw));
    bottom: 0;
    width: calc(48.7179487179 * var(--vw));
  }
}

/* modules/index/_logo.scss
-------------------------------------------------- */
.m-top-logo {
  font-weight: 700;
}
.m-top-logo__ttl {
  color: #D80C18;
  text-align: center;
}
.m-top-logo__cont {
  display: block grid;
}
.m-top-logo__logo {
  display: block grid;
  place-content: center;
}
.m-top-logo__logo-img {
  display: block;
}
.m-top-logo__profile {
  display: block grid;
  border-top: 1px solid #D80C18;
}
.m-top-logo__profile-head {
  display: block flex;
  flex-wrap: wrap;
}
.m-top-logo__profile-name em,
.m-top-logo__profile-name span {
  display: block;
}
.m-top-logo__profile-seal {
  display: block;
}
.m-top-logo__profile-img {
  display: block;
  width: 100%;
}
@media screen and (min-width: 769px), print {
  .m-top-logo {
    padding: min(56px, calc(4 * var(--vw))) min(54px, calc(3.8571428571 * var(--vw))) min(63px, calc(4.5 * var(--vw))) min(83px, calc(5.9285714286 * var(--vw)));
  }
  .g-modal__contents:has(.m-top-logo) {
    width: min(1065px, calc(76.0714285714 * var(--vw)));
  }
  .m-top-logo__ttl {
    font-size: min(1.875rem, calc(2.1428571429 * var(--vw)));
    line-height: 1.5em;
  }
  .m-top-logo__cont {
    grid-template-columns: repeat(1, min(188px, calc(13.4285714286 * var(--vw))) 1fr);
    gap: min(18px, calc(1.2857142857 * var(--vw))) min(52px, calc(3.7142857143 * var(--vw)));
    margin-top: min(31px, calc(2.2142857143 * var(--vw)));
  }
  .m-top-logo__logo {
    grid-row: span 2/span 2;
  }
  .m-top-logo__logo-img {
    width: 100%;
  }
  .m-top-logo__comment {
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
  .m-top-logo__profile {
    grid-template-columns: repeat(1, min(174px, calc(12.4285714286 * var(--vw))) 1fr);
    grid-column-start: 2;
    gap: min(6px, calc(0.4285714286 * var(--vw))) min(26px, calc(1.8571428571 * var(--vw)));
    max-width: min(663px, calc(47.3571428571 * var(--vw)));
    padding-top: min(23px, calc(1.6428571429 * var(--vw)));
  }
  .m-top-logo__profile-head {
    grid-column: span 2/span 2;
    align-items: flex-end;
    justify-content: flex-start;
  }
  .m-top-logo__profile-h {
    width: 11.2777777778em;
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.3888888889em;
  }
  .m-top-logo__profile-name {
    display: block flex;
    column-gap: min(4px, calc(0.2857142857 * var(--vw)));
    align-items: flex-end;
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
  .m-top-logo__profile-name em {
    font-size: 1.6666666667em;
    line-height: 1.5em;
  }
  .m-top-logo__profile-seal {
    width: min(42px, calc(3 * var(--vw)));
    margin-left: min(21px, calc(1.5 * var(--vw)));
  }
  .m-top-logo__profile-fig {
    display: block grid;
    place-items: center;
  }
  .m-top-logo__profile-txt {
    font-size: min(1rem, calc(1.1428571429 * var(--vw)));
    line-height: 1.95em;
  }
}
@media screen and (max-width: 768px) {
  .m-top-logo {
    padding: calc(9.7435897436 * var(--vw)) calc(6.6666666667 * var(--vw)) calc(11.5384615385 * var(--vw));
  }
  .g-modal__contents:has(.m-top-logo) {
    width: calc(91.2820512821 * var(--vw));
  }
  .m-top-logo__ttl {
    font-size: calc(5.1282051282 * var(--vw));
    line-height: 1.7em;
  }
  .m-top-logo__cont {
    margin-top: calc(5.641025641 * var(--vw));
  }
  .m-top-logo__logo-img {
    width: calc(27.4358974359 * var(--vw));
  }
  .m-top-logo__comment {
    margin-top: calc(6.1538461538 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.95em;
  }
  .m-top-logo__profile {
    grid-template-columns: repeat(1, calc(30.7692307692 * var(--vw)) 1fr);
    gap: calc(1.5384615385 * var(--vw)) calc(5.1282051282 * var(--vw));
    padding-top: calc(7.6923076923 * var(--vw));
    margin-top: calc(4.8717948718 * var(--vw));
  }
  .m-top-logo__profile-head {
    grid-row-start: 1;
    grid-column-start: 2;
    align-items: flex-end;
  }
  .m-top-logo__profile-h {
    width: 100%;
    margin-bottom: auto;
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.4375em;
  }
  .m-top-logo__profile-name {
    flex: 1 1 5%;
    min-width: 0;
    font-size: calc(3.5897435897 * var(--vw));
    line-height: 1.2em;
  }
  .m-top-logo__profile-name em {
    font-size: 1.4285714286em;
    line-height: 1.7em;
  }
  .m-top-logo__profile-seal {
    width: calc(9.4871794872 * var(--vw));
  }
  .m-top-logo__profile-fig {
    grid-row-start: 1;
    grid-column-start: 1;
  }
  .m-top-logo__profile-img {
    aspect-ratio: 120/133;
    object-fit: cover;
  }
  .m-top-logo__profile-txt {
    grid-column: span 2/span 2;
    font-size: calc(3.5897435897 * var(--vw));
    line-height: 1.8em;
  }
}

/* modules/index/_message.scss
-------------------------------------------------- */
.m-top-message__ttl {
  font-weight: 700;
  color: #D80C18;
}
.m-top-message__video {
  display: block;
  overflow: hidden;
}
.m-top-message__video video {
  display: block;
  width: 100%;
  height: auto;
}
.m-top-message__play-btn {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.m-top-message__play-btn.is-hide {
  pointer-events: none;
  opacity: 0;
}
.m-top-message__icn-play {
  position: absolute;
  inset: 0;
  display: block;
  aspect-ratio: 1/1;
  margin: auto;
  pointer-events: none;
}
.m-top-message__icn-play::before, .m-top-message__icn-play::after {
  position: absolute;
  inset: 0;
  display: block;
  margin: auto;
  content: "";
}
.m-top-message__icn-play::before {
  border: 1px solid #fff;
  border-radius: 50%;
}
.m-top-message__icn-play::after {
  aspect-ratio: 1/1;
  background: url("../img/common/play_btn.svg") no-repeat center center/contain;
}
.m-top-message__txt {
  font-weight: 700;
  color: #070707;
}
@media screen and (min-width: 769px), print {
  .m-top-message {
    padding-block: min(90px, calc(6.4285714286 * var(--vw))) min(121px, calc(8.6428571429 * var(--vw)));
    margin-top: min(21px, calc(1.5 * var(--vw)));
  }
  .m-top-message__wrap {
    max-width: min(724px, calc(51.7142857143 * var(--vw)));
    margin-inline: auto;
  }
  .m-top-message__ttl {
    font-size: min(1.875rem, calc(2.1428571429 * var(--vw)));
    line-height: 1.5em;
  }
  .m-top-message__video {
    margin-top: min(32px, calc(2.2857142857 * var(--vw)));
    border-radius: min(20px, calc(1.4285714286 * var(--vw)));
  }
  .m-top-message__video::after {
    width: min(101px, calc(7.1828571429 * var(--vw)));
  }
  .m-top-message__icn-play {
    width: min(101px, calc(7.1828571429 * var(--vw)));
  }
  .m-top-message__icn-play::before {
    transition: scale 0.1s ease-out;
  }
  .m-top-message__icn-play::after {
    width: min(85px, calc(6.0714285714 * var(--vw)));
  }
}
@media screen and (min-width: 769px) and (any-hover: hover), print and (any-hover: hover) {
  .m-top-message__play-btn:hover .m-top-message__icn-play::before {
    scale: 0.94;
  }
}
@media screen and (min-width: 769px), print {
  .m-top-message__txt {
    margin-top: min(32px, calc(2.2857142857 * var(--vw)));
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
  .m-top-message__btn {
    margin-top: min(47px, calc(3.3392857143 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-top-message {
    padding: calc(14.6153846154 * var(--vw)) calc(5.3846153846 * var(--vw)) calc(18.4615384615 * var(--vw));
  }
  .m-top-message__ttl {
    font-size: calc(6.1538461538 * var(--vw));
    line-height: 1.46em;
    text-align: center;
  }
  .m-top-message__video {
    margin-top: calc(6.1538461538 * var(--vw));
    border-radius: calc(2.5641025641 * var(--vw));
  }
  .m-top-message__icn-play {
    width: calc(12.2128205128 * var(--vw));
  }
  .m-top-message__icn-play::after {
    width: calc(6.4102564103 * var(--vw));
  }
  .m-top-message__txt {
    padding-left: calc(2.5641025641 * var(--vw));
    margin-top: calc(5.1282051282 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 2em;
  }
  .m-top-message__btn {
    margin-top: calc(10.2564102564 * var(--vw));
  }
}

/* modules/index/_project.scss
-------------------------------------------------- */
.m-top-project {
  color: #fff;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.m-top-project__ttl {
  aspect-ratio: 152/46;
  margin-inline: auto;
  background: currentColor;
  mask: url("../img/common/logo-project.svg") no-repeat center center;
  mask-size: contain;
}
.m-top-project__ttl > span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.m-top-project__txt {
  font-weight: 700;
  text-align: center;
}
.m-top-project__txt + .m-top-project__txt {
  margin-top: 1lh;
}
.m-top-project__fig {
  max-width: 100%;
  margin-inline: auto;
}
.m-top-project__img {
  display: block;
  width: 100%;
}
@media screen and (min-width: 769px), print {
  .m-top-project {
    padding-block: min(104px, calc(7.4285714286 * var(--vw))) min(79px, calc(5.6257142857 * var(--vw)));
    background-image: url("../img/modules/index/project/bg_img-pc.jpg");
  }
  .m-top-project__ttl {
    width: min(465px, calc(33.2142857143 * var(--vw)));
  }
  .m-top-project__txt {
    margin-top: min(45px, calc(3.2 * var(--vw)));
    font-size: min(1.25rem, calc(1.4285714286 * var(--vw)));
    line-height: 2em;
  }
  .m-top-project__fig {
    width: min(544px, calc(38.8571428571 * var(--vw)));
    margin-top: min(48px, calc(3.4285714286 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-top-project {
    padding: calc(20.2564102564 * var(--vw)) calc(2.5641025641 * var(--vw)) calc(21.1846153846 * var(--vw));
    background-image: url("../img/modules/index/project/bg_img-sp.jpg");
  }
  .m-top-project__ttl {
    width: calc(70 * var(--vw));
  }
  .m-top-project__txt {
    margin-top: calc(9.7435897436 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.95em;
  }
  .m-top-project__fig {
    width: calc(82.0512820513 * var(--vw));
    margin-top: calc(18.2051282051 * var(--vw));
  }
}

/* modules/index/_pickup.scss
-------------------------------------------------- */
.m-top-pickup {
  overflow: hidden;
  background-color: #FFE9E8;
}
.m-top-pickup__ttl {
  width: fit-content;
  margin-inline: auto;
  color: #D80C18;
  text-align: center;
}
.m-top-pickup__ttl::before, .m-top-pickup__ttl::after {
  position: absolute;
  inset-block: 0;
  display: block;
  height: 2px;
  margin-block: auto;
  content: "";
  background-color: currentColor;
}
.m-top-pickup__ttl > span {
  display: block;
}
.m-top-pickup__list:not(.slick-initialized),
.m-top-pickup__list .slick-track {
  display: block flex;
}
.m-top-pickup__list .slick-track::before, .m-top-pickup__list .slick-track::after {
  display: none;
}
.m-top-pickup__list .slick-slide {
  float: none;
  height: auto;
}
.m-top-pickup__item {
  background-color: #fff;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15);
}
.m-top-pickup__card {
  display: block flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
}
.m-top-pickup__caption {
  display: block grid;
  place-content: center;
  min-height: 2lh;
  font-weight: 700;
  text-align: center;
}
.m-top-pickup__fig {
  aspect-ratio: 306/196;
  overflow: hidden;
}
.m-top-pickup__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m-top-pickup__tag, .m-top-pickup__tag--society, .m-top-pickup__tag--customer, .m-top-pickup__tag--employee {
  width: fit-content;
  font-weight: 700;
  color: #fff;
  text-align: center;
  border-radius: 100vmax;
}
.m-top-pickup__tag--employee {
  background: #144FC4;
}
.m-top-pickup__tag--customer {
  background: #FF992D;
}
.m-top-pickup__tag--society {
  background: #088F3E;
}
.m-top-pickup__txt {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
  font-weight: 700;
  -webkit-box-orient: vertical;
  line-height: 1.95em;
}
@media screen and (min-width: 769px), print {
  .m-top-pickup {
    padding-block: min(109px, calc(7.7857142857 * var(--vw))) min(36px, calc(2.5714285714 * var(--vw)));
  }
  .m-top-pickup__ttl {
    font-size: min(2.25rem, calc(2.5714285714 * var(--vw)));
    line-height: 1.4722222222em;
  }
  .m-top-pickup__ttl::before, .m-top-pickup__ttl::after {
    width: min(50px, calc(3.6064285714 * var(--vw)));
  }
  .m-top-pickup__ttl::before {
    left: max(-52px, calc(-3.7142857143 * var(--vw)));
    rotate: 66.68deg;
  }
  .m-top-pickup__ttl::after {
    right: max(-52px, calc(-3.7142857143 * var(--vw)));
    rotate: -66.68deg;
  }
  .m-top-pickup__ttl > span {
    min-width: min(783px, calc(55.9285714286 * var(--vw)));
  }
  .m-top-pickup__list {
    gap: 0 min(30px, calc(2.1428571429 * var(--vw)));
    justify-content: center;
    margin-top: min(54px, calc(3.8314285714 * var(--vw)));
  }
  .m-top-pickup__item {
    width: min(348px, calc(24.8571428571 * var(--vw)));
    border-radius: min(20px, calc(1.4285714286 * var(--vw)));
  }
  .m-top-pickup__card {
    padding: min(26px, calc(1.8571428571 * var(--vw))) min(21px, calc(1.5 * var(--vw))) min(25px, calc(1.7857142857 * var(--vw)));
  }
  .m-top-pickup__caption {
    font-size: min(1.25rem, calc(1.4285714286 * var(--vw)));
    line-height: 1.7em;
  }
  .m-top-pickup__fig {
    margin-top: min(19px, calc(1.3571428571 * var(--vw)));
  }
  .m-top-pickup__img {
    border-radius: min(12px, calc(0.8571428571 * var(--vw)));
  }
  .m-top-pickup__tag, .m-top-pickup__tag--employee, .m-top-pickup__tag--customer, .m-top-pickup__tag--society {
    padding: min(7px, calc(0.5 * var(--vw))) min(12px, calc(0.8571428571 * var(--vw))) min(8px, calc(0.5714285714 * var(--vw)));
    margin-top: min(13px, calc(0.93 * var(--vw)));
    font-size: min(0.875rem, calc(1 * var(--vw)));
    line-height: 1.2em;
  }
  .m-top-pickup__txt {
    margin-top: min(6px, calc(0.4285714286 * var(--vw)));
    font-size: min(1rem, calc(1.1428571429 * var(--vw)));
  }
  .m-top-pickup__btn {
    margin-top: min(60px, calc(4.3114285714 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-top-pickup {
    padding: calc(17.9487179487 * var(--vw)) calc(5.3846153846 * var(--vw)) calc(6.4102564103 * var(--vw));
  }
  .m-top-pickup__ttl {
    font-size: calc(6.1538461538 * var(--vw));
    line-height: 1.46em;
  }
  .m-top-pickup__ttl::before, .m-top-pickup__ttl::after {
    width: calc(13.8076923077 * var(--vw));
  }
  .m-top-pickup__ttl::before {
    left: calc(-11.5384615385 * var(--vw));
    rotate: 68.2deg;
  }
  .m-top-pickup__ttl::after {
    right: calc(-11.5384615385 * var(--vw));
    rotate: -68.2deg;
  }
  .m-top-pickup__list {
    width: 100vw;
    margin: calc(8.2051282051 * var(--vw)) calc(50% - 50vw) 0;
  }
  .m-top-pickup__list:not(.slick-initialized),
  .m-top-pickup__list .slick-track {
    padding-bottom: 5px;
  }
  .m-top-pickup__item {
    margin-inline: calc(5.3846153846 * var(--vw));
    border-radius: calc(5.1282051282 * var(--vw));
  }
  .m-top-pickup__card {
    padding: calc(6.6666666667 * var(--vw)) calc(5.3846153846 * var(--vw)) calc(6.4102564103 * var(--vw));
  }
  .m-top-pickup__caption {
    font-size: calc(5.1282051282 * var(--vw));
    line-height: 1.7em;
  }
  .m-top-pickup__fig {
    margin-top: calc(4.8717948718 * var(--vw));
    border-radius: calc(3.0769230769 * var(--vw));
  }
  .m-top-pickup__tag, .m-top-pickup__tag--employee, .m-top-pickup__tag--customer, .m-top-pickup__tag--society {
    padding: calc(1.7948717949 * var(--vw)) calc(3.0769230769 * var(--vw)) calc(2.0512820513 * var(--vw));
    margin-top: calc(3.3333333333 * var(--vw));
    font-size: calc(3.5897435897 * var(--vw));
    line-height: 1.2em;
  }
  .m-top-pickup__txt {
    margin-top: calc(1.5384615385 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
  }
  .m-top-pickup__slider-dots {
    margin-top: calc(3.3333333333 * var(--vw));
  }
  .m-top-pickup__slider-dots .slick-dots {
    display: block flex;
    flex-wrap: wrap;
    gap: calc(2.5641025641 * var(--vw));
    align-items: center;
    justify-content: center;
  }
  .m-top-pickup__slider-dots .slick-dots button {
    display: block;
    width: calc(3.0769230769 * var(--vw));
    aspect-ratio: 1/1;
    overflow: hidden;
    line-height: 0;
    color: transparent;
    text-indent: 110%;
    white-space: nowrap;
    background: #fff;
    border-radius: 50%;
  }
  .m-top-pickup__slider-dots .slick-dots .slick-active button {
    background: #D80C18;
  }
  .m-top-pickup__slider-arws {
    display: block grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: calc(2.0512820513 * var(--vw));
    margin-top: calc(9.2307692308 * var(--vw));
  }
  .m-top-pickup__arw, .m-top-pickup__arw--prev, .m-top-pickup__arw--next {
    display: block flex;
    align-items: center;
    justify-content: center;
    padding-block: calc(3.3333333333 * var(--vw)) calc(4.358974359 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    font-weight: 700;
    line-height: 1.38em;
    color: #D80C18;
    text-align: center;
    background-color: #fff;
    border: 1px solid #D80C18;
    border-radius: calc(3.0769230769 * var(--vw));
    box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
  }
  .m-top-pickup__arw::before, .m-top-pickup__arw--prev::before, .m-top-pickup__arw--next::before {
    position: absolute;
    inset-block: 0;
    display: block;
    width: calc(2.0512820513 * var(--vw));
    height: calc(3.5897435897 * var(--vw));
    margin-block: auto;
    content: "";
    background: url("../img/common/arrow.svg") no-repeat center center/contain;
  }
  .m-top-pickup__arw--prev::before {
    left: calc(5.1282051282 * var(--vw));
    scale: -1;
  }
  .m-top-pickup__arw--next::before {
    right: calc(5.1282051282 * var(--vw));
  }
  .m-top-pickup__btn {
    margin-top: calc(2.0512820513 * var(--vw));
  }
  .m-top-pickup__btn::after {
    right: calc(4.8641025641 * var(--vw));
    width: calc(3.8461538462 * var(--vw));
    aspect-ratio: 15/14;
    mask-image: url("../img/common/arrow_double.svg");
  }
}

/* modules/index/_myproject.scss
-------------------------------------------------- */
.m-top-myproject {
  background-color: #FFE9E8;
}
.m-top-myproject__ttl {
  font-weight: 700;
  color: #D80C18;
  text-align: center;
}
.m-top-myproject__lead {
  font-weight: 700;
  text-align: center;
}
.m-top-myproject__list {
  display: block grid;
}
.m-top-myproject__open {
  transition: opacity 0.1s linear;
  cursor: pointer;
}
@media (any-hover: hover) {
  .m-top-myproject__open:hover {
    opacity: 0.7;
  }
}
.m-top-myproject__open {
  display: block;
  font-weight: 700;
  text-align: left;
  background-color: #fff;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15);
}
.m-top-myproject__open[data-cate=employee] .m-top-myproject__tag {
  background-color: #144FC4;
}
.m-top-myproject__open[data-cate=employee] .m-top-myproject__arw {
  background-color: #144FC4;
}
.m-top-myproject__open[data-cate=customer] .m-top-myproject__tag {
  background-color: #FF992D;
}
.m-top-myproject__open[data-cate=customer] .m-top-myproject__arw {
  background-color: #FF992D;
}
.m-top-myproject__open[data-cate=society] .m-top-myproject__tag {
  background-color: #088F3E;
}
.m-top-myproject__open[data-cate=society] .m-top-myproject__arw {
  background-color: #088F3E;
}
.m-top-myproject__fig {
  width: 100%;
  overflow: hidden;
}
.m-top-myproject__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m-top-myproject__tag {
  width: fit-content;
  color: #fff;
  text-align: center;
  background-color: #D80C18;
  border-radius: 100vmax;
}
.m-top-myproject__caption {
  display: -webkit-box;
  margin-bottom: var(--leading-trim);
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  line-height: 1.7em;
  -webkit-box-orient: vertical;
}
.m-top-myproject__prof {
  display: block flex;
  align-items: flex-end;
}
.m-top-myproject__prof-img {
  display: block;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 50%;
}
.m-top-myproject__box {
  flex: 1 1 5%;
  min-width: 0;
}
.m-top-myproject__name {
  line-height: 1.8em;
}
.m-top-myproject__department em,
.m-top-myproject__department span {
  display: block;
}
.m-top-myproject__arw {
  display: block;
  background-color: #D80C18;
  border-radius: 50%;
}
.m-top-myproject__arw::before {
  position: absolute;
  inset: 0;
  display: block;
  margin: auto;
  content: "";
  background-color: #fff;
  mask: url("../img/common/arrow.svg") no-repeat center center;
  mask-size: contain;
}
@media screen and (min-width: 769px), print {
  .m-top-myproject {
    padding-block: min(73px, calc(5.1885714286 * var(--vw))) min(103px, calc(7.3571428571 * var(--vw)));
  }
  .m-top-myproject__ttl {
    font-size: min(2.25rem, calc(2.5714285714 * var(--vw)));
    line-height: 1.4722222222em;
  }
  .m-top-myproject__lead {
    margin-top: min(18px, calc(1.2857142857 * var(--vw)));
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
  .m-top-myproject__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 min(30px, calc(2.1428571429 * var(--vw)));
    padding-inline: min(48px, calc(3.4285714286 * var(--vw)));
    margin-top: min(49px, calc(3.5257142857 * var(--vw)));
  }
  .m-top-myproject__open {
    padding: min(20px, calc(1.4285714286 * var(--vw))) min(21px, calc(1.5 * var(--vw))) min(22px, calc(1.5714285714 * var(--vw)));
    border-radius: min(20px, calc(1.4285714286 * var(--vw))) min(20px, calc(1.4285714286 * var(--vw))) min(50px, calc(3.5714285714 * var(--vw)));
  }
  .m-top-myproject__open::before {
    right: min(37px, calc(2.6428571429 * var(--vw)));
    bottom: min(28px, calc(2 * var(--vw)));
    width: min(52px, calc(3.7142857143 * var(--vw)));
    height: min(42px, calc(3 * var(--vw)));
  }
  .m-top-myproject__open::after {
    right: min(58px, calc(4.1428571429 * var(--vw)));
    bottom: min(43px, calc(3.0714285714 * var(--vw)));
    width: min(8px, calc(0.5714285714 * var(--vw)));
    height: min(13px, calc(0.9285714286 * var(--vw)));
  }
  .m-top-myproject__fig {
    aspect-ratio: 306/196;
    border-radius: min(12px, calc(0.8571428571 * var(--vw))) min(12px, calc(0.8571428571 * var(--vw))) min(12px, calc(0.8571428571 * var(--vw))) 0;
  }
  .m-top-myproject__tag {
    min-width: min(122px, calc(8.7142857143 * var(--vw)));
    padding: min(6px, calc(0.4285714286 * var(--vw))) 1em min(8px, calc(0.5714285714 * var(--vw)));
    margin-top: max(-16px, calc(-1.1428571429 * var(--vw)));
    font-size: min(0.875rem, calc(1 * var(--vw)));
    line-height: 1.2em;
  }
  .m-top-myproject__caption {
    margin-top: min(5px, calc(0.3571428571 * var(--vw)));
    font-size: min(1.25rem, calc(1.4285714286 * var(--vw)));
  }
  .m-top-myproject__prof {
    padding-right: min(16px, calc(1.1428571429 * var(--vw)));
    margin-top: min(16px, calc(1.1428571429 * var(--vw)));
  }
  .m-top-myproject__box {
    margin-left: min(14px, calc(1 * var(--vw)));
  }
  .m-top-myproject__prof-img {
    width: min(67px, calc(4.7857142857 * var(--vw)));
  }
  .m-top-myproject__name {
    font-size: min(0.875rem, calc(1 * var(--vw)));
  }
  .m-top-myproject__department em,
  .m-top-myproject__department span {
    font-size: min(0.75rem, calc(0.8571428571 * var(--vw)));
    line-height: 1.5em;
  }
  .m-top-myproject__arw {
    width: min(52px, calc(3.7142857143 * var(--vw)));
    height: min(42px, calc(3 * var(--vw)));
    margin-bottom: min(6px, calc(0.4285714286 * var(--vw)));
  }
  .m-top-myproject__arw::before {
    width: min(8px, calc(0.5714285714 * var(--vw)));
    height: min(13px, calc(0.9285714286 * var(--vw)));
  }
  .m-top-myproject__btn {
    margin-top: min(65px, calc(4.6428571429 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-top-myproject {
    padding: calc(22.3076923077 * var(--vw)) calc(5.3846153846 * var(--vw)) calc(18.4615384615 * var(--vw));
  }
  .m-top-myproject__ttl {
    font-size: calc(6.1538461538 * var(--vw));
    line-height: 1.46em;
  }
  .m-top-myproject__lead {
    margin-top: calc(6.6666666667 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.95em;
  }
  .m-top-myproject__list {
    row-gap: calc(12.8205128205 * var(--vw));
    margin-top: calc(9.7435897436 * var(--vw));
  }
  .m-top-myproject__open {
    padding: calc(5.1282051282 * var(--vw)) calc(5.3846153846 * var(--vw)) calc(5.641025641 * var(--vw));
    border-radius: calc(5.1282051282 * var(--vw)) calc(5.1282051282 * var(--vw)) calc(12.8205128205 * var(--vw));
  }
  .m-top-myproject__fig {
    aspect-ratio: 306/196;
    border-radius: calc(3.0769230769 * var(--vw)) calc(3.0769230769 * var(--vw)) calc(3.0769230769 * var(--vw)) 0;
  }
  .m-top-myproject__tag {
    min-width: calc(31.2820512821 * var(--vw));
    padding: calc(1.7948717949 * var(--vw)) 1em calc(2.0512820513 * var(--vw));
    margin-top: calc(-4.1025641026 * var(--vw));
    font-size: calc(3.5897435897 * var(--vw));
    line-height: 1.2em;
  }
  .m-top-myproject__caption {
    margin-top: calc(1.2820512821 * var(--vw));
    font-size: calc(5.1282051282 * var(--vw));
  }
  .m-top-myproject__prof {
    padding-right: calc(4.1025641026 * var(--vw));
    margin-top: calc(4.1025641026 * var(--vw));
  }
  .m-top-myproject__prof-img {
    width: calc(17.1794871795 * var(--vw));
  }
  .m-top-myproject__box {
    margin-left: calc(3.5897435897 * var(--vw));
  }
  .m-top-myproject__name {
    font-size: calc(3.5897435897 * var(--vw));
  }
  .m-top-myproject__department em,
  .m-top-myproject__department span {
    font-size: calc(3.0769230769 * var(--vw));
    line-height: 1.5em;
  }
  .m-top-myproject__arw {
    width: calc(13.3333333333 * var(--vw));
    height: calc(10.7692307692 * var(--vw));
    margin-bottom: calc(1.5384615385 * var(--vw));
  }
  .m-top-myproject__arw::before {
    width: calc(2.0512820513 * var(--vw));
    height: calc(3.3333333333 * var(--vw));
  }
  .m-top-myproject__btn {
    margin-top: calc(13.5897435897 * var(--vw));
  }
  .m-top-myproject__btn::after {
    right: calc(4.8641025641 * var(--vw));
    width: calc(3.8461538462 * var(--vw));
    aspect-ratio: 15/14;
    mask-image: url("../img/common/arrow_double.svg");
  }
}

/* modules/index/_area.scss
-------------------------------------------------- */
.m-top-area__ttl {
  width: fit-content;
  margin-inline: auto;
  color: #D80C18;
}
.m-top-area__ttl::before, .m-top-area__ttl::after {
  position: absolute;
  height: 2px;
  content: "";
  background-color: #D80C18;
}
.m-top-area__ttl::before {
  transform: translateY(-50%) rotate(65deg);
}
.m-top-area__ttl::after {
  transform: translateY(-50%) rotate(-65deg);
}
.m-top-area__caption {
  margin-inline: auto;
  color: #D80C18;
  text-align: center;
  background-color: #FFE9E8;
}
.m-top-area__caption::after {
  position: absolute;
  inset-inline: 0;
  margin-inline: auto;
  content: "";
  background-color: #FFE9E8;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.m-top-area__map.is-close .m-top-area__caption {
  opacity: 0.4;
}
.m-top-area__map.is-close .m-top-area__map-contents {
  opacity: 0.4;
}
.m-top-area__map.is-close .m-top-area__map-btn {
  pointer-events: none;
}
.m-top-area__map-btn {
  position: absolute;
  display: block;
  text-align: center;
  background-color: #fff;
  border: 1.5px solid #000;
  border-radius: 100vmax;
  transition: border-color 0.2s linear, color 0.2s linear, background-color 0.2s linear;
}
.m-top-area__map-btn::after {
  position: absolute;
  inset-block: 0;
  display: block;
  margin-block: auto;
  content: "";
  background-color: currentColor;
  mask: url("../img/common/arrow.svg") no-repeat center center;
  mask-size: cover;
  transform: rotate(90deg);
}
@media (any-hover: hover) {
  .m-top-area__map-btn:hover {
    color: #A3CC00;
    background-color: #FBFFEC;
    border-color: #A3CC00;
  }
}
.m-top-area__map-soon {
  position: absolute;
  inset: 0;
  height: fit-content;
  margin: auto;
  color: #D80C18;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.8);
  border: solid #D80C18;
}
.m-top-area__map-soon em {
  display: block;
}
.m-top-area__forest-ttl {
  width: fit-content;
  margin-inline: auto;
  color: #088F3E;
}
.m-top-area__forest-ttl::before, .m-top-area__forest-ttl::after {
  position: absolute;
  display: block;
  height: 2px;
  content: "";
  background-color: #088F3E;
}
.m-top-area__forest-ttl::before {
  transform: translateY(-50%) rotate(60deg);
}
.m-top-area__forest-ttl::after {
  transform: translateY(-50%) rotate(-60deg);
}
.m-top-area__forest-link {
  transition: opacity 0.1s linear;
  cursor: pointer;
}
@media (any-hover: hover) {
  .m-top-area__forest-link:hover {
    opacity: 0.7;
  }
}
.m-top-area__forest-link {
  display: block;
  margin-inline: auto;
  overflow: hidden;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
}
@media screen and (min-width: 769px), print {
  .m-top-area {
    padding-block: min(109px, calc(7.7857142857 * var(--vw))) min(123px, calc(8.7857142857 * var(--vw)));
  }
  .m-top-area__ttl {
    font-size: min(1.875rem, calc(2.1428571429 * var(--vw)));
    line-height: 1.5em;
  }
  .m-top-area__ttl::before, .m-top-area__ttl::after {
    top: calc(50% + min(3px, calc(0.2142857143 * var(--vw))));
    width: min(60px, calc(4.2857142857 * var(--vw)));
  }
  .m-top-area__ttl::before {
    left: max(-75px, calc(-5.3571428571 * var(--vw)));
  }
  .m-top-area__ttl::after {
    right: max(-75px, calc(-5.3571428571 * var(--vw)));
  }
  .m-top-area__caption {
    width: min(380px, calc(27.1428571429 * var(--vw)));
    padding-block: min(13px, calc(0.9285714286 * var(--vw)));
    margin-top: min(43px, calc(3.0714285714 * var(--vw)));
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
    border-radius: min(12px, calc(0.8571428571 * var(--vw)));
  }
  .m-top-area__caption::after {
    bottom: max(-12px, calc(-0.8571428571 * var(--vw)));
    width: min(14px, calc(1 * var(--vw)));
    height: min(13px, calc(0.9285714286 * var(--vw)));
  }
  .m-top-area__map {
    width: min(876px, calc(62.5714285714 * var(--vw)));
    margin-inline: auto;
  }
  .m-top-area__map-contents {
    margin-top: max(-64px, calc(-4.5714285714 * var(--vw)));
  }
  .m-top-area__map-img {
    width: min(751px, calc(53.6428571429 * var(--vw)));
  }
  .m-top-area__map-btn {
    padding: min(11px, calc(0.7857142857 * var(--vw))) min(10px, calc(0.7142857143 * var(--vw))) min(12px, calc(0.8571428571 * var(--vw))) 0;
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  }
  .m-top-area__map-btn::after {
    right: min(28px, calc(2 * var(--vw)));
    width: min(9px, calc(0.6428571429 * var(--vw)));
    height: min(15px, calc(1.0714285714 * var(--vw)));
  }
  .m-top-area__map-btn[data-target=tohoku] {
    top: min(230px, calc(16.4285714286 * var(--vw)));
    right: min(8px, calc(0.5714285714 * var(--vw)));
    width: min(220px, calc(15.7142857143 * var(--vw)));
  }
  .m-top-area__map-btn[data-target=kanto] {
    top: min(424px, calc(30.2857142857 * var(--vw)));
    right: min(125px, calc(8.9285714286 * var(--vw)));
    width: min(160px, calc(11.4285714286 * var(--vw)));
  }
  .m-top-area__map-btn[data-target=chubu] {
    top: min(218px, calc(15.5714285714 * var(--vw)));
    right: min(390px, calc(27.8571428571 * var(--vw)));
    width: min(205px, calc(14.6428571429 * var(--vw)));
  }
  .m-top-area__map-btn[data-target=kinki] {
    top: min(563px, calc(40.2142857143 * var(--vw)));
    left: min(272px, calc(19.4285714286 * var(--vw)));
    width: min(160px, calc(11.4285714286 * var(--vw)));
  }
  .m-top-area__map-btn[data-target=chugoku] {
    top: min(311px, calc(22.2142857143 * var(--vw)));
    left: min(109px, calc(7.7857142857 * var(--vw)));
    width: min(205px, calc(14.6428571429 * var(--vw)));
  }
  .m-top-area__map-btn[data-target=kyushu] {
    top: min(467px, calc(33.3571428571 * var(--vw)));
    left: max(-77px, calc(-5.5 * var(--vw)));
    width: min(205px, calc(14.6428571429 * var(--vw)));
  }
  .m-top-area__map-soon {
    width: min(245px, calc(17.5 * var(--vw)));
    padding-block: min(29px, calc(2.0714285714 * var(--vw))) min(33px, calc(2.3571428571 * var(--vw)));
    font-size: min(1.5rem, calc(1.7142857143 * var(--vw)));
    line-height: 1.25em;
    border-width: 1.5px;
    border-radius: min(30px, calc(2.1428571429 * var(--vw)));
    transform: translateY(max(-26px, calc(-1.8571428571 * var(--vw))));
  }
  .m-top-area__map-soon em {
    font-size: min(1.875rem, calc(2.1428571429 * var(--vw)));
    line-height: 1.5em;
  }
  .m-top-area__forest {
    margin-top: min(93px, calc(6.6428571429 * var(--vw)));
  }
  .m-top-area__forest-ttl {
    margin-bottom: min(29px, calc(2.0714285714 * var(--vw)));
    font-size: min(1.875rem, calc(2.1428571429 * var(--vw)));
    line-height: 1.5em;
  }
  .m-top-area__forest-ttl::before, .m-top-area__forest-ttl::after {
    top: calc(50% + min(3px, calc(0.2142857143 * var(--vw))));
    width: min(60px, calc(4.2857142857 * var(--vw)));
  }
  .m-top-area__forest-ttl::before {
    left: max(-85px, calc(-6.0714285714 * var(--vw)));
  }
  .m-top-area__forest-ttl::after {
    right: max(-85px, calc(-6.0714285714 * var(--vw)));
  }
  .m-top-area__forest-link {
    width: min(912px, calc(65.1428571429 * var(--vw)));
    border-radius: min(20px, calc(1.4285714286 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-top-area__wrap {
    padding-block: calc(16.4102564103 * var(--vw)) calc(21.0256410256 * var(--vw));
  }
  .m-top-area__ttl {
    margin-bottom: calc(7.4358974359 * var(--vw));
    font-size: calc(6.1538461538 * var(--vw));
    line-height: 1.4583333333em;
    text-align: center;
  }
  .m-top-area__ttl::before, .m-top-area__ttl::after {
    top: calc(50% + 0.5128205128 * var(--vw));
    width: calc(23.0769230769 * var(--vw));
  }
  .m-top-area__ttl::before {
    left: calc(-15.8974358974 * var(--vw));
    transform: translateY(-50%) rotate(75deg);
  }
  .m-top-area__ttl::after {
    right: calc(-15.8974358974 * var(--vw));
    transform: translateY(-50%) rotate(-75deg);
  }
  .m-top-area__caption {
    width: calc(85.641025641 * var(--vw));
    padding-block: calc(3.8461538462 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.375em;
    border-radius: calc(3.0769230769 * var(--vw));
  }
  .m-top-area__caption::after {
    bottom: calc(-2.5641025641 * var(--vw));
    width: calc(3.3333333333 * var(--vw));
    height: calc(2.8205128205 * var(--vw));
  }
  .m-top-area__map {
    padding-inline: calc(1.0256410256 * var(--vw));
  }
  .m-top-area__map-contents {
    margin-top: calc(2.8205128205 * var(--vw));
  }
  .m-top-area__map-img {
    width: 100%;
  }
  .m-top-area__map-btn {
    padding: calc(1.2820512821 * var(--vw)) calc(2.5641025641 * var(--vw)) calc(1.5384615385 * var(--vw)) 0;
    font-size: calc(3.5897435897 * var(--vw));
    line-height: 1.5714285714em;
    border-width: 1px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  }
  .m-top-area__map-btn::after {
    right: calc(3.5897435897 * var(--vw));
    width: calc(1.4102564103 * var(--vw));
    height: calc(2.3076923077 * var(--vw));
  }
  .m-top-area__map-btn[data-target=tohoku] {
    top: calc(13.0769230769 * var(--vw));
    right: calc(23.0769230769 * var(--vw));
    width: calc(33.8461538462 * var(--vw));
  }
  .m-top-area__map-btn[data-target=kanto] {
    top: calc(48.2051282051 * var(--vw));
    right: calc(12.0512820513 * var(--vw));
    width: calc(17.9487179487 * var(--vw));
  }
  .m-top-area__map-btn[data-target=chubu] {
    top: calc(38.2051282051 * var(--vw));
    right: calc(34.6153846154 * var(--vw));
    width: calc(29.4871794872 * var(--vw));
  }
  .m-top-area__map-btn[data-target=kinki] {
    top: calc(72.0512820513 * var(--vw));
    left: calc(41.0256410256 * var(--vw));
    width: calc(19.2307692308 * var(--vw));
  }
  .m-top-area__map-btn[data-target=chugoku] {
    top: calc(50.7692307692 * var(--vw));
    left: calc(7.9487179487 * var(--vw));
    width: calc(29.2307692308 * var(--vw));
  }
  .m-top-area__map-btn[data-target=kyushu] {
    top: calc(82.5641025641 * var(--vw));
    left: calc(8.7179487179 * var(--vw));
    width: calc(29.7435897436 * var(--vw));
  }
  .m-top-area__map-soon {
    width: calc(41.7948717949 * var(--vw));
    padding-block: calc(5.1282051282 * var(--vw)) calc(5.8974358974 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.375em;
    border-width: 1px;
    border-radius: calc(5.1282051282 * var(--vw));
    transform: translateY(calc(-0.7692307692 * var(--vw)));
  }
  .m-top-area__map-soon em {
    font-size: calc(5.1282051282 * var(--vw));
    line-height: 1.5em;
  }
  .m-top-area__forest {
    margin-top: calc(22.0512820513 * var(--vw));
  }
  .m-top-area__forest-ttl {
    margin-bottom: calc(8.4615384615 * var(--vw));
    font-size: calc(6.1538461538 * var(--vw));
    line-height: 1.4583333333em;
    text-align: center;
  }
  .m-top-area__forest-ttl::before, .m-top-area__forest-ttl::after {
    top: calc(50% + 0.5128205128 * var(--vw));
    width: calc(13.8461538462 * var(--vw));
  }
  .m-top-area__forest-ttl::before {
    left: calc(-12.8205128205 * var(--vw));
    transform: translateY(-50%) rotate(70deg);
  }
  .m-top-area__forest-ttl::after {
    right: calc(-12.8205128205 * var(--vw));
    transform: translateY(-50%) rotate(-70deg);
  }
  .m-top-area__forest-link {
    width: calc(83.3333333333 * var(--vw));
    border-radius: calc(5.1282051282 * var(--vw));
  }
}

/* modules/index/_banner.scss
-------------------------------------------------- */
.m-top-banner__link {
  transition: opacity 0.1s linear;
  cursor: pointer;
}
@media (any-hover: hover) {
  .m-top-banner__link:hover {
    opacity: 0.7;
  }
}
.m-top-banner__link {
  display: block;
  margin-inline: auto;
}
.m-top-banner__link img {
  display: block;
  width: 100%;
  filter: drop-shadow(0 4px 5px rgba(0, 0, 0, 0.15));
}
@media screen and (min-width: 769px), print {
  .m-top-banner {
    padding-bottom: min(137px, calc(9.7857142857 * var(--vw)));
  }
  .m-top-banner__link {
    width: min(912px, calc(65.1428571429 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-top-banner {
    padding-bottom: calc(15.3846153846 * var(--vw));
  }
  .m-top-banner__link {
    width: calc(83.3333333333 * var(--vw));
  }
}

/* modules/message/_index.scss
-------------------------------------------------- */
.m-message__ttl {
  font-weight: 700;
  color: #D80C18;
  text-align: center;
  background-repeat: no-repeat;
}
.m-message__wrap {
  counter-reset: chapter;
}
.m-message__back-link::after {
  right: auto;
  scale: -1;
}
@media screen and (min-width: 769px), print {
  .m-message {
    padding-block: min(69px, calc(4.9285714286 * var(--vw))) min(96px, calc(6.8571428571 * var(--vw)));
  }
  .m-message__ttl {
    padding-block: min(33px, calc(2.3571428571 * var(--vw))) min(47px, calc(3.3571428571 * var(--vw)));
    font-size: min(2.25rem, calc(2.5714285714 * var(--vw)));
    line-height: 1.4722222222em;
    background-image: url("../img/modules/message/index/ttl_line-pc.svg");
    background-position: center center;
    background-size: 100% 100%;
  }
  .m-message__wrap {
    padding-inline: min(50px, calc(3.5714285714 * var(--vw)));
    margin-top: min(69px, calc(4.9285714286 * var(--vw)));
  }
  .m-message__back {
    margin-top: min(133px, calc(9.5 * var(--vw)));
  }
  .m-message__back-link::after {
    left: min(24px, calc(1.7142857143 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-message {
    padding-block: calc(11.2820512821 * var(--vw)) calc(10.2564102564 * var(--vw));
  }
  .m-message__ttl {
    padding-bottom: calc(8.7179487179 * var(--vw));
    font-size: calc(6.1538461538 * var(--vw));
    line-height: 1.46em;
    background-image: url("../img/modules/message/index/ttl_line-sp.svg");
    background-position: center bottom;
    background-size: 100% auto;
  }
  .m-message__wrap {
    padding-inline: calc(5.1282051282 * var(--vw));
    margin-top: calc(13.8461538462 * var(--vw));
  }
  .m-message__back {
    margin-top: calc(25.641025641 * var(--vw));
  }
  .m-message__back-link::after {
    left: calc(5.3846153846 * var(--vw));
  }
}

/* modules/message/_intro.scss
-------------------------------------------------- */
.m-message-intro {
  overflow: hidden;
}
.m-message-intro__ttl {
  font-weight: 700;
  text-align: center;
}
.m-message-intro__fig:empty {
  background: #D9D9D9;
}
.m-message-intro__img {
  display: block;
  width: 100%;
}
@media screen and (min-width: 769px), print {
  .m-message-intro__ttl {
    font-size: min(2.25rem, calc(2.5714285714 * var(--vw)));
    line-height: 1.4722222222em;
  }
  .m-message-intro__fig {
    margin-top: min(78px, calc(5.5714285714 * var(--vw)));
  }
  .m-message-intro__fig:empty {
    aspect-ratio: 1100/427;
  }
}
@media screen and (max-width: 768px) {
  .m-message-intro__ttl {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
    font-size: calc(6.1538461538 * var(--vw));
    line-height: 1.46em;
  }
  .m-message-intro__fig {
    margin-top: calc(13.8461538462 * var(--vw));
  }
  .m-message-intro__fig:empty {
    aspect-ratio: 350/500;
  }
}

/* modules/message/_chapter.scss
-------------------------------------------------- */
.m-message-chapter {
  font-weight: 700;
  counter-increment: chapter;
}
.m-message-chapter__head::before {
  display: block;
  color: #D80C18;
  content: "Chapter " counter(chapter);
}
.m-message-chapter__ttl {
  color: #fff;
  text-align: center;
  background: #D80C18;
}
.m-message-chapter__fig--wide img {
  width: 100%;
}
.m-message-chapter__fig--wide:empty {
  background: #D9D9D9;
}
.m-message-chapter__img, .m-message-chapter__img--cp-2, .m-message-chapter__img--cp-3 {
  display: block;
}
.m-message-chapter__h {
  color: #D80C18;
}
.m-message-chapter__txt {
  line-height: 1.8888888889em;
}
.m-message-chapter__txt + .m-message-chapter__txt {
  margin-top: 1lh;
}
@media screen and (min-width: 769px), print {
  .m-message-chapter {
    margin-top: min(56px, calc(4 * var(--vw)));
  }
  .m-message-chapter + .m-message-chapter {
    margin-top: min(120px, calc(8.5714285714 * var(--vw)));
  }
  .m-message-chapter__head::before {
    margin-block: var(--leading-trim);
    font-size: min(1.5rem, calc(1.7142857143 * var(--vw)));
  }
  .m-message-chapter__ttl {
    padding-block: min(10px, calc(0.7142857143 * var(--vw))) min(9px, calc(0.6428571429 * var(--vw)));
    margin-top: min(10px, calc(0.7142857143 * var(--vw)));
    font-size: min(2.25rem, calc(2.5714285714 * var(--vw)));
    line-height: 1.4722222222em;
    border-radius: min(12px, calc(0.8571428571 * var(--vw)));
  }
  .m-message-chapter__body {
    display: block flex;
    flex-wrap: wrap;
    gap: min(100px, calc(7.1428571429 * var(--vw))) min(35px, calc(2.5 * var(--vw)));
    margin-top: min(90px, calc(6.4285714286 * var(--vw)));
  }
  .m-message-chapter__fig--wide {
    width: 100%;
  }
  .m-message-chapter__img--cp-2 {
    width: min(340px, calc(24.2857142857 * var(--vw)));
  }
  .m-message-chapter__img--cp-3 {
    width: min(357px, calc(25.5 * var(--vw)));
  }
  .m-message-chapter__fig--wide {
    width: 100%;
  }
  .m-message-chapter__fig--wide:empty {
    aspect-ratio: 1100/427;
  }
  .m-message-chapter__bloc {
    flex: 1 1 10%;
    min-width: 0;
  }
  .m-message-chapter__h {
    margin-bottom: min(30px, calc(2.1428571429 * var(--vw)));
    font-size: min(1.875rem, calc(2.1428571429 * var(--vw)));
    line-height: 1.5em;
  }
  .m-message-chapter__h:not(:first-child) {
    margin-top: min(70px, calc(5 * var(--vw)));
  }
  .m-message-chapter__txt {
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-message-chapter {
    margin-top: calc(13.5897435897 * var(--vw));
  }
  .m-message-chapter + .m-message-chapter {
    margin-top: calc(25.641025641 * var(--vw));
  }
  .m-message-chapter__head::before {
    font-size: calc(5.1282051282 * var(--vw));
    line-height: 1.2em;
  }
  .m-message-chapter__ttl {
    display: block grid;
    place-content: center;
    min-height: calc(25.641025641 * var(--vw));
    padding-block: calc(3.0769230769 * var(--vw));
    margin-top: calc(2.5641025641 * var(--vw));
    font-size: calc(5.1282051282 * var(--vw));
    line-height: 1.7em;
    border-radius: calc(3.0769230769 * var(--vw));
  }
  .m-message-chapter__body {
    display: block grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: calc(13.8461538462 * var(--vw));
    margin-top: calc(15.3846153846 * var(--vw));
  }
  .m-message-chapter__h {
    margin-bottom: calc(5.1282051282 * var(--vw));
    font-size: calc(6.1538461538 * var(--vw));
    line-height: 1.46em;
  }
  .m-message-chapter__h:not(:first-child) {
    margin-top: calc(12.8205128205 * var(--vw));
  }
  .m-message-chapter__txt {
    font-size: calc(4.6153846154 * var(--vw));
  }
  .m-message-chapter__fig--wide {
    margin-top: calc(11.7948717949 * var(--vw));
  }
  .m-message-chapter__fig--wide:empty {
    aspect-ratio: 350/500;
  }
  .m-message-chapter__img, .m-message-chapter__img--cp-2, .m-message-chapter__img--cp-3 {
    width: 100%;
  }
}

/* modules/message/_future.scss
-------------------------------------------------- */
.m-message-future__ttl {
  font-weight: 700;
  text-align: center;
}
.m-message-future__movie {
  display: block;
  overflow: hidden;
}
.m-message-future__movie video {
  display: block;
  width: 100%;
  height: auto;
}
.m-message-future__play-btn {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.m-message-future__play-btn.is-hide {
  pointer-events: none;
  opacity: 0;
}
.m-message-future__icn-play {
  position: absolute;
  inset: 0;
  display: block;
  aspect-ratio: 1/1;
  margin: auto;
}
.m-message-future__icn-play::before, .m-message-future__icn-play::after {
  position: absolute;
  inset: 0;
  display: block;
  aspect-ratio: 1/1;
  content: "";
}
.m-message-future__icn-play::before {
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid #fff;
  border-radius: 50%;
  transition: scale 0.1s ease-out;
}
.m-message-future__icn-play::after {
  margin: auto;
  background: url("../img/common/play_btn.svg") no-repeat center center/contain;
}
@media (any-hover: hover) {
  .m-message-future__play-btn:hover .m-message-future__icn-play::before {
    scale: 0.94;
  }
}
@media screen and (min-width: 769px), print {
  .m-message-future {
    margin-top: min(100px, calc(7.1428571429 * var(--vw)));
  }
  .m-message-future__ttl {
    font-size: min(2.25rem, calc(2.5714285714 * var(--vw)));
    line-height: 1.4722222222em;
  }
  .m-message-future__movie {
    margin-top: min(100px, calc(7.1428571429 * var(--vw)));
    border-radius: min(20px, calc(1.4285714286 * var(--vw)));
  }
  .m-message-future__icn-play {
    width: min(112px, calc(8.0285714286 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-message-future {
    margin-top: calc(25.641025641 * var(--vw));
  }
  .m-message-future__ttl {
    font-size: calc(6.1538461538 * var(--vw));
    line-height: 1.46em;
  }
  .m-message-future__movie {
    margin-top: calc(25.641025641 * var(--vw));
    border-radius: calc(5.1282051282 * var(--vw));
  }
  .m-message-future__icn-play {
    width: calc(12.2128205128 * var(--vw));
  }
}

/* modules/project/_index.scss
-------------------------------------------------- */
.m-project {
  background: #FFE9E8;
}
.m-project__ttl {
  font-weight: 700;
  color: #D80C18;
  text-align: center;
}
.m-project__counter {
  font-weight: 700;
  line-height: 1.46em;
  color: #D80C18;
  text-align: center;
}
.m-project__boxs {
  display: block grid;
}
.m-project__back-link::after {
  right: auto;
  scale: -1;
}
@media screen and (min-width: 769px), print {
  .m-project {
    padding-block: min(102px, calc(7.2857142857 * var(--vw))) min(96px, calc(6.8571428571 * var(--vw)));
  }
  .m-project__ttl {
    font-size: min(2.25rem, calc(2.5714285714 * var(--vw)));
    line-height: 1.4722222222em;
  }
  .m-project__counter {
    margin-top: min(44px, calc(3.1428571429 * var(--vw)));
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
  }
  .m-project__counter > span {
    font-size: 1.7777777778em;
  }
  .m-project__boxs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: min(30px, calc(2.1428571429 * var(--vw)));
    padding-inline: min(48px, calc(3.4285714286 * var(--vw)));
    margin-top: min(17px, calc(1.2142857143 * var(--vw)));
  }
  .m-project__back {
    margin-top: min(110px, calc(7.8571428571 * var(--vw)));
  }
  .m-project__back-link::after {
    left: min(24px, calc(1.7142857143 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-project {
    padding: calc(15.3846153846 * var(--vw)) calc(5.3846153846 * var(--vw)) calc(4.1025641026 * var(--vw));
  }
  .m-project__ttl {
    font-size: calc(6.1538461538 * var(--vw));
    line-height: 1.46em;
  }
  .m-project__counter {
    margin-top: calc(7.4358974359 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
  }
  .m-project__counter > span {
    font-size: 1.75em;
  }
  .m-project__boxs {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: calc(12.8205128205 * var(--vw));
    margin-top: calc(2.3076923077 * var(--vw));
  }
  .m-project__back {
    margin-top: calc(25.3846153846 * var(--vw));
  }
  .m-project__back-link::after {
    left: calc(5.3846153846 * var(--vw));
  }
}

/* modules/project/_filter.scss
-------------------------------------------------- */
.m-project-filter {
  display: block grid;
  grid-template-columns: repeat(3, 1fr);
}
.m-project-filter__btn {
  display: block;
  font-weight: 700;
  text-align: center;
  transition: color 0.1s linear;
}
.m-project-filter__btn::before {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  background: #fff;
  filter: drop-shadow(0 4px 5px rgba(0, 0, 0, 0.15));
  transition: background-color 0.1s linear;
}
.m-project-filter__btn > span {
  position: relative;
  z-index: 2;
  display: block;
}
.m-project-filter__btn[aria-selected=true] {
  pointer-events: none;
}
.m-project-filter__btn[data-target=all] {
  grid-column: span 3/span 3;
  color: #FFB8B8;
}
@media (any-hover: hover) {
  .m-project-filter__btn[data-target=all]:hover {
    color: #D80C18;
  }
}
.m-project-filter__btn[data-target=all][aria-selected=true] {
  color: #fff;
}
.m-project-filter__btn[data-target=all][aria-selected=true]::before {
  background: #D80C18;
}
.m-project-filter__btn:not([data-target=all])::after {
  position: absolute;
  inset-inline: 0;
  top: 100%;
  display: block;
  width: 0;
  height: 0;
  margin-inline: auto;
  pointer-events: none;
  content: "";
  border-color: #fff transparent transparent;
  border-style: solid;
  transition: border-color 0.1s linear;
}
.m-project-filter__btn[data-target=employee] {
  color: #A3B9E5;
}
@media (any-hover: hover) {
  .m-project-filter__btn[data-target=employee]:hover {
    color: #144FC4;
  }
  .m-project-filter__btn[data-target=employee]:hover::after {
    border-top-color: #144FC4;
  }
}
.m-project-filter__btn[data-target=employee][aria-selected=true] {
  color: #fff;
}
.m-project-filter__btn[data-target=employee][aria-selected=true]::before {
  background: #144FC4;
}
.m-project-filter__btn[data-target=employee][aria-selected=true]::after {
  border-top-color: #144FC4;
}
.m-project-filter__btn[data-target=customer] {
  color: #F6CEA4;
}
@media (any-hover: hover) {
  .m-project-filter__btn[data-target=customer]:hover {
    color: #FF992D;
  }
  .m-project-filter__btn[data-target=customer]:hover::after {
    border-top-color: #FF992D;
  }
}
.m-project-filter__btn[data-target=customer][aria-selected=true] {
  color: #fff;
}
.m-project-filter__btn[data-target=customer][aria-selected=true]::before {
  background: #FF992D;
}
.m-project-filter__btn[data-target=customer][aria-selected=true]::after {
  border-top-color: #FF992D;
}
.m-project-filter__btn[data-target=society] {
  color: #ABDBBE;
}
@media (any-hover: hover) {
  .m-project-filter__btn[data-target=society]:hover {
    color: #088F3E;
  }
  .m-project-filter__btn[data-target=society]:hover::after {
    border-top-color: #088F3E;
  }
}
.m-project-filter__btn[data-target=society][aria-selected=true] {
  color: #fff;
}
.m-project-filter__btn[data-target=society][aria-selected=true]::before {
  background: #088F3E;
}
.m-project-filter__btn[data-target=society][aria-selected=true]::after {
  border-top-color: #088F3E;
}
@media screen and (min-width: 769px), print {
  .m-project-filter {
    gap: min(21px, calc(1.5 * var(--vw))) min(20px, calc(1.4285714286 * var(--vw)));
    max-width: min(880px, calc(62.8571428571 * var(--vw)));
    margin: min(100px, calc(7.1428571429 * var(--vw))) auto 0;
  }
  .m-project-filter__btn {
    padding-block: min(11px, calc(0.7857142857 * var(--vw))) min(16px, calc(1.1428571429 * var(--vw)));
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
    border-radius: min(10px, calc(0.7142857143 * var(--vw)));
  }
  .m-project-filter__btn::before {
    border-radius: min(10px, calc(0.7142857143 * var(--vw)));
  }
  .m-project-filter__btn:not([data-target=all])::after {
    margin-top: min(10px, calc(0.7142857143 * var(--vw)));
    border-width: min(13px, calc(0.9285714286 * var(--vw))) min(8px, calc(0.5714285714 * var(--vw))) 0;
  }
}
@media screen and (max-width: 768px) {
  .m-project-filter {
    gap: calc(2.8205128205 * var(--vw)) calc(2.3076923077 * var(--vw));
    margin-top: calc(11.7948717949 * var(--vw));
  }
  .m-project-filter__btn {
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.38em;
    border-radius: calc(2.5641025641 * var(--vw));
  }
  .m-project-filter__btn::before {
    border-radius: calc(2.5641025641 * var(--vw));
  }
  .m-project-filter__btn[data-target=all] {
    padding-block: calc(3.8461538462 * var(--vw));
  }
  .m-project-filter__btn:not([data-target=all]) {
    padding-block: calc(2.8205128205 * var(--vw));
  }
  .m-project-filter__btn:not([data-target=all])::after {
    margin-top: calc(1.5384615385 * var(--vw));
    border-width: calc(2.3076923077 * var(--vw)) calc(1.5384615385 * var(--vw)) 0;
  }
}

/* modules/project/_card.scss
-------------------------------------------------- */
.m-project-card {
  display: block flex;
  flex-direction: column;
  min-height: 34.3125em;
  padding: 1.625em 1.3125em 1.1875em;
  font-weight: 700;
  background: #fff;
  border-radius: 1.25em;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15);
}
.m-project-card__ttl {
  display: block grid;
  place-content: center;
  min-height: 2lh;
  margin-inline: -1.3125em;
  font-size: 1.25em;
  line-height: 1.7em;
  text-align: center;
}
.m-project-card__fig {
  aspect-ratio: 306/196;
  margin-top: 1.125em;
  overflow: hidden;
  border-radius: 0.75em;
}
.m-project-card__fig:empty {
  background: #CCC;
}
.m-project-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.75em;
}
.m-project-card__cate {
  display: block;
  width: fit-content;
  padding: 0.5em 0.8571428571em 0.5714285714em;
  margin-block: 1em 0.4285714286em;
  font-size: 0.875em;
  line-height: 1.2em;
  color: #fff;
  text-align: center;
  border-radius: 100vmax;
}
[data-cate=employee] .m-project-card__cate {
  background: #144FC4;
}
[data-cate=customer] .m-project-card__cate {
  background: #FF992D;
}
[data-cate=society] .m-project-card__cate {
  background: #088F3E;
}
.m-project-card__txt {
  font-size: 1em;
  line-height: 1.95em;
}
.m-project-card__txt > li {
  padding-left: 1em;
  text-indent: -1em;
}
.m-project-card__txt > li::before {
  content: "・";
}
.m-project-card__txt strong {
  font-weight: bolder;
}
.m-project-card__link {
  display: block;
  padding: 0.5em 0.3571428571em 0.5714285714em;
  margin-top: 1.2142857143em;
  font-size: 0.875em;
  line-height: 1.2em;
  color: #fff;
  text-align: center;
  border: 1px solid;
  border-radius: 100vmax;
  transition: color 0.1s linear, background-color 0.1s linear;
}
[data-cate=employee] .m-project-card__link {
  background: #144FC4;
  border-color: #144FC4;
}
[data-cate=customer] .m-project-card__link {
  background: #FF992D;
  border-color: #FF992D;
}
[data-cate=society] .m-project-card__link {
  background: #088F3E;
  border-color: #088F3E;
}
@media (any-hover: hover) {
  .m-project-card__link:hover {
    background: #fff;
  }
  [data-cate=employee] .m-project-card__link:hover {
    color: #144FC4;
  }
  [data-cate=customer] .m-project-card__link:hover {
    color: #FF992D;
  }
  [data-cate=society] .m-project-card__link:hover {
    color: #088F3E;
  }
}
.m-project-card__sdgs {
  display: block flex;
  flex-wrap: wrap;
  gap: 0.5em;
  align-items: flex-start;
  justify-content: flex-start;
  padding-bottom: 1.1875em;
  margin-top: 1.0625em;
}
.m-project-card__sdgs-icon {
  display: block;
  width: 3.25em;
}
.m-project-card__more-box {
  display: block flex;
  flex: 1 1 5%;
  flex-direction: column;
  min-height: 0;
}
.m-project-card__more-btn {
  display: block flex;
  column-gap: 0.4375em;
  align-items: center;
  justify-content: flex-end;
  width: fit-content;
  padding-top: 0.375em;
  margin-top: auto;
  margin-left: auto;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.38em;
  text-align: right;
  transition: opacity 0.1s linear;
  cursor: pointer;
}
@media (any-hover: hover) {
  .m-project-card__more-btn:hover {
    opacity: 0.7;
  }
}
[data-cate=employee] .m-project-card__more-btn {
  color: #144FC4;
}
[data-cate=customer] .m-project-card__more-btn {
  color: #FF992D;
}
[data-cate=society] .m-project-card__more-btn {
  color: #088F3E;
}
.m-project-card__more-arw {
  display: block;
  width: 3.25em;
  height: 2.625em;
  background: currentColor;
  border-radius: 50%;
}
.m-project-card__more-arw::before {
  position: absolute;
  inset: 0;
  display: block;
  width: 0.8125em;
  aspect-ratio: 1/1;
  margin: auto;
  content: "";
  background: url("../img/common/arrow_open.svg") no-repeat center center/contain;
}
[aria-expanded=true] .m-project-card__more-arw::before {
  scale: 1 -1;
}
.m-project-card__more-block {
  display: none;
}
@media screen and (min-width: 769px), print {
  .m-project-card {
    font-size: min(1rem, calc(1.1428571429 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-project-card {
    font-size: calc(4.1025641026 * var(--vw));
  }
}

/* modules/forest/_forest.scss
-------------------------------------------------- */
.m-forest {
  background-color: #FEECD2;
}
.m-forest__mori {
  position: relative;
}
.m-forest__mori::before {
  content: "も";
  position: absolute;
  top: -0.6em;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.5em;
  line-height: 1;
}
.m-forest__hayashi {
  position: relative;
}
.m-forest__hayashi::before {
  content: "り";
  position: absolute;
  top: -0.6em;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.5em;
  line-height: 1;
}
@media screen and (min-width: 769px), print {
  .m-forest {
    padding-bottom: min(96px, calc(6.8571428571 * var(--vw)));
  }
  .m-forest__btn::after {
    right: inherit;
    left: min(28px, calc(1.995 * var(--vw)));
    transform: rotate(180deg);
  }
  .m-forest__btn:hover::after {
    transform: translateX(-25%) rotate(180deg);
  }
}
@media screen and (max-width: 768px) {
  .m-forest {
    padding-bottom: calc(4.1025641026 * var(--vw));
  }
  .m-forest__btn {
    width: calc(89.2307692308 * var(--vw));
    margin: 0 auto;
  }
  .m-forest__btn::after {
    right: inherit;
    left: calc(6.558974359 * var(--vw));
    transform: rotate(180deg);
  }
  .m-forest__btn:hover::after {
    transform: translateX(-25%) rotate(180deg);
  }
}

/* modules/forest/_fv.scss
-------------------------------------------------- */
.m-forest-fv__hgroup {
  text-align: center;
}
.m-forest-fv__sub {
  color: #088F3E;
}
.m-forest-fv__sub ruby rt {
  font-size: 60%;
}
.m-forest-fv__ttl {
  color: #088F3E;
}
.m-forest-fv__ttl ruby rt {
  font-size: 45%;
}
.m-forest-fv__lead {
  text-align: center;
}
@media screen and (min-width: 769px), print {
  .m-forest-fv::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(1013px, calc(72.3571428571 * var(--vw)));
    height: min(168px, calc(12 * var(--vw)));
    background: url(../img/modules/forest/fv/fv_img.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-fv__wrap {
    padding-top: min(100px, calc(7.1428571429 * var(--vw)));
    padding-bottom: min(191px, calc(13.6428571429 * var(--vw)));
  }
  .m-forest-fv__wrap::before {
    content: "";
    position: absolute;
    top: min(93px, calc(6.6428571429 * var(--vw)));
    left: min(39px, calc(2.7857142857 * var(--vw)));
    width: min(331px, calc(23.6428571429 * var(--vw)));
    height: min(499px, calc(35.6428571429 * var(--vw)));
    background: url(../img/modules/forest/fv/fv_bg01.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-fv__wrap::after {
    content: "";
    position: absolute;
    top: min(47px, calc(3.3571428571 * var(--vw)));
    right: min(42px, calc(3 * var(--vw)));
    width: min(453px, calc(32.3571428571 * var(--vw)));
    height: min(558px, calc(39.8571428571 * var(--vw)));
    background: url(../img/modules/forest/fv/fv_bg02.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-fv__hgroup {
    margin-bottom: min(39px, calc(2.7857142857 * var(--vw)));
  }
  .m-forest-fv__sub {
    font-size: min(1.25rem, calc(1.4285714286 * var(--vw)));
    line-height: 1.7em;
  }
  .m-forest-fv__ttl {
    margin-top: min(30px, calc(2.1428571429 * var(--vw)));
    font-size: min(2.5rem, calc(2.8571428571 * var(--vw)));
    line-height: 1;
  }
  .m-forest-fv__lead {
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
  .m-forest-fv__lead + .m-forest-fv__lead {
    margin-top: min(15px, calc(1.0714285714 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-forest-fv::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(34.8717948718 * var(--vw));
    background: url(../img/modules/forest/fv/fv_img_sp.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-fv__wrap {
    padding-top: calc(15.8974358974 * var(--vw));
    padding-bottom: calc(36.1538461538 * var(--vw));
  }
  .m-forest-fv__wrap::before {
    content: "";
    position: absolute;
    top: calc(-1.5384615385 * var(--vw));
    left: calc(5.641025641 * var(--vw));
    width: calc(90 * var(--vw));
    height: calc(23.8461538462 * var(--vw));
    background: url(../img/modules/forest/fv/fv_bg01_sp.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-fv__wrap::after {
    content: "";
    position: absolute;
    top: calc(78.7179487179 * var(--vw));
    left: calc(5.8974358974 * var(--vw));
    width: calc(91.0256410256 * var(--vw));
    height: calc(15.1282051282 * var(--vw));
    background: url(../img/modules/forest/fv/fv_bg02_sp.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-fv__hgroup {
    margin-bottom: calc(6.6666666667 * var(--vw));
  }
  .m-forest-fv__sub {
    font-size: calc(5.1282051282 * var(--vw));
    line-height: 1.7em;
  }
  .m-forest-fv__ttl {
    margin-top: calc(3.8461538462 * var(--vw));
    font-size: calc(10.2564102564 * var(--vw));
    line-height: 1.425em;
  }
  .m-forest-fv__lead {
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.9375em;
    opacity: 0;
    transition: opacity 1s linear;
  }
  .m-forest-fv__lead:nth-of-type(2) {
    transition-delay: 0.3s;
  }
  .m-forest-fv__lead:nth-of-type(3) {
    transition-delay: 0.6s;
  }
  .m-forest-fv__lead.on {
    opacity: 1;
  }
  .m-forest-fv__lead + .m-forest-fv__lead {
    margin-top: calc(3.8461538462 * var(--vw));
  }
}

/* modules/forest/_about.scss
-------------------------------------------------- */
.m-forest-about__cont {
  background-color: #fff;
  text-align: center;
}
.m-forest-about__ttl {
  color: #088F3E;
}
.m-forest-about__txt span {
  color: #088F3E;
}
@media screen and (min-width: 769px), print {
  .m-forest-about__wrap {
    padding-top: min(72px, calc(5.1428571429 * var(--vw)));
    padding-bottom: min(31px, calc(2.2142857143 * var(--vw)));
  }
  .m-forest-about__wrap::before {
    content: "";
    position: absolute;
    top: min(150px, calc(10.7142857143 * var(--vw)));
    left: min(12px, calc(0.8571428571 * var(--vw)));
    width: min(66px, calc(4.7142857143 * var(--vw)));
    height: min(328px, calc(23.4285714286 * var(--vw)));
    background: url(../img/modules/forest/about/about_bg01.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-about__wrap::after {
    content: "";
    position: absolute;
    top: min(139px, calc(9.9285714286 * var(--vw)));
    right: min(16px, calc(1.1428571429 * var(--vw)));
    width: min(101px, calc(7.2142857143 * var(--vw)));
    height: min(162px, calc(11.5714285714 * var(--vw)));
    background: url(../img/modules/forest/about/about_bg02.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-about__cont {
    width: min(911px, calc(65.0714285714 * var(--vw)));
    margin: 0 auto;
    padding: min(50px, calc(3.5714285714 * var(--vw))) 1em min(56px, calc(4 * var(--vw)));
    border-radius: min(20px, calc(1.4285714286 * var(--vw)));
  }
  .m-forest-about__cont::before {
    content: "";
    position: absolute;
    top: min(98px, calc(7 * var(--vw)));
    left: max(-8px, calc(-0.5714285714 * var(--vw)));
    width: min(184px, calc(13.1428571429 * var(--vw)));
    height: min(220px, calc(15.7142857143 * var(--vw)));
    background: url(../img/modules/forest/about/cont_bg01.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-about__cont::after {
    content: "";
    position: absolute;
    top: min(46px, calc(3.2857142857 * var(--vw)));
    right: min(50px, calc(3.5714285714 * var(--vw)));
    width: min(126px, calc(9 * var(--vw)));
    height: min(252px, calc(18 * var(--vw)));
    background: url(../img/modules/forest/about/cont_bg02.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-about__ttl {
    font-size: min(1.5rem, calc(1.7142857143 * var(--vw)));
    line-height: 1.3333333333em;
  }
  .m-forest-about__txt {
    margin-top: min(35px, calc(2.5 * var(--vw)));
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
}
@media screen and (max-width: 768px) {
  .m-forest-about__wrap {
    padding: calc(15.8974358974 * var(--vw)) calc(5.3846153846 * var(--vw)) 0;
  }
  .m-forest-about__cont {
    width: 100%;
    padding: calc(9.2307692308 * var(--vw)) calc(6.1538461538 * var(--vw)) calc(10.2564102564 * var(--vw));
    border-radius: calc(5.1282051282 * var(--vw));
  }
  .m-forest-about__ttl {
    font-size: calc(6.1538461538 * var(--vw));
    line-height: 1.3333333333em;
  }
  .m-forest-about__txt {
    margin-top: calc(5.1282051282 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.9375em;
  }
}

/* modules/forest/_intro.scss
-------------------------------------------------- */
.m-forest-intro__ttl {
  width: fit-content;
  margin: 0 auto;
  color: #088F3E;
}
.m-forest-intro__ttl::before, .m-forest-intro__ttl::after {
  content: "";
  position: absolute;
  top: 50%;
  background-color: #088F3E;
  border-radius: 999px;
}
.m-forest-intro__speech {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  text-align: center;
}
.m-forest-intro__speech::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
}
.m-forest-intro__btn {
  position: absolute;
  text-align: center;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 999px;
}
.m-forest-intro__btn::before {
  content: "";
  position: absolute;
  pointer-events: none;
}
.m-forest-intro__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  mask: url(../img/common/arrow.svg) center center no-repeat;
  mask-size: contain;
  background-color: #000;
  transform: translateY(-50%) rotate(90deg);
}
@media screen and (min-width: 769px), print {
  .m-forest-intro__wrap {
    padding-top: min(45px, calc(3.2142857143 * var(--vw)));
  }
  .m-forest-intro__wrap::before {
    content: "";
    position: absolute;
    top: min(262px, calc(18.7142857143 * var(--vw)));
    left: min(35px, calc(2.5 * var(--vw)));
    width: min(382px, calc(27.2857142857 * var(--vw)));
    height: min(528px, calc(37.7142857143 * var(--vw)));
    background: url(../img/modules/forest/intro/intro_bg01.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-intro__wrap::after {
    content: "";
    position: absolute;
    top: min(168px, calc(12 * var(--vw)));
    right: min(16px, calc(1.1428571429 * var(--vw)));
    width: min(540px, calc(38.5714285714 * var(--vw)));
    height: min(648px, calc(46.2857142857 * var(--vw)));
    background: url(../img/modules/forest/intro/intro_bg02.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-intro__ttl {
    font-size: min(1.875rem, calc(2.1428571429 * var(--vw)));
    line-height: 1.5em;
  }
  .m-forest-intro__ttl::before, .m-forest-intro__ttl::after {
    width: min(54px, calc(3.8571428571 * var(--vw)));
    height: min(3px, calc(0.2142857143 * var(--vw)));
  }
  .m-forest-intro__ttl::before {
    transform: translateY(-50%) rotate(65deg);
    top: calc(50% + min(2px, calc(0.1428571429 * var(--vw))));
    left: max(-55px, calc(-3.9285714286 * var(--vw)));
  }
  .m-forest-intro__ttl::after {
    transform: translateY(-50%) rotate(-65deg);
    top: calc(50% + min(2px, calc(0.1428571429 * var(--vw))));
    right: max(-55px, calc(-3.9285714286 * var(--vw)));
  }
  .m-forest-intro__main {
    width: min(980px, calc(70 * var(--vw)));
    margin: min(45px, calc(3.2142857143 * var(--vw))) auto 0;
  }
  .m-forest-intro__speech {
    top: max(-8px, calc(-0.5714285714 * var(--vw)));
    padding: min(12px, calc(0.8571428571 * var(--vw))) 0 min(14px, calc(1 * var(--vw)));
    width: min(380px, calc(27.1428571429 * var(--vw)));
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
    border-radius: min(12px, calc(0.8571428571 * var(--vw)));
  }
  .m-forest-intro__speech::after {
    width: min(16px, calc(1.1428571429 * var(--vw)));
    height: min(14px, calc(1 * var(--vw)));
    bottom: max(-13px, calc(-0.9285714286 * var(--vw)));
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
  .m-forest-intro__img {
    width: min(854px, calc(61 * var(--vw)));
  }
  .m-forest-intro__btn {
    padding: min(12px, calc(0.8571428571 * var(--vw))) 0;
    width: min(180px, calc(12.8571428571 * var(--vw)));
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
    box-shadow: 0 4.8px 4.8px 0 rgba(0, 0, 0, 0.2);
    transition: color 0.2s linear, border-color 0.2s linear, background-color 0.2s linear;
  }
  .m-forest-intro__btn::after {
    top: calc(50% + min(1px, calc(0.0714285714 * var(--vw))));
    right: min(27px, calc(1.9285714286 * var(--vw)));
    width: min(9px, calc(0.6428571429 * var(--vw)));
    height: min(16px, calc(1.1428571429 * var(--vw)));
    transition: background-color 0.2s linear, top 0.2s linear;
  }
  .m-forest-intro__btn:hover {
    color: #088F3E;
    border-color: #088F3E;
    background-color: #E4FBED;
  }
  .m-forest-intro__btn:hover::after {
    top: calc(50% + min(4px, calc(0.2857142857 * var(--vw))));
    background-color: #088F3E;
  }
  .m-forest-intro__btn:nth-of-type(1) {
    top: min(297px, calc(21.2142857143 * var(--vw)));
    left: min(350px, calc(25 * var(--vw)));
  }
  .m-forest-intro__btn:nth-of-type(1)::before {
    top: min(29px, calc(2.0714285714 * var(--vw)));
    right: max(-88px, calc(-6.2857142857 * var(--vw)));
    width: min(88px, calc(6.2857142857 * var(--vw)));
    height: min(98px, calc(7 * var(--vw)));
    background: url(../img/modules/forest/intro/tochigi_line.svg) center center no-repeat;
    background-size: cover;
  }
  .m-forest-intro__btn:nth-of-type(2) {
    top: min(563px, calc(40.2142857143 * var(--vw)));
    left: min(337px, calc(24.0714285714 * var(--vw)));
  }
  .m-forest-intro__btn:nth-of-type(2)::before {
    top: max(-105px, calc(-7.5 * var(--vw)));
    left: 50%;
    width: min(6px, calc(0.4285714286 * var(--vw)));
    height: min(105px, calc(7.5 * var(--vw)));
    transform: translateX(-50%);
    background: url(../img/modules/forest/intro/shiga_line.svg) center center no-repeat;
    background-size: cover;
  }
  .m-forest-intro__btn:nth-of-type(3) {
    top: min(366px, calc(26.1428571429 * var(--vw)));
    left: min(649px, calc(46.3571428571 * var(--vw)));
  }
  .m-forest-intro__btn:nth-of-type(3)::before {
    top: max(-59px, calc(-4.2142857143 * var(--vw)));
    left: max(-41px, calc(-2.9285714286 * var(--vw)));
    width: min(131px, calc(9.3571428571 * var(--vw)));
    height: min(59px, calc(4.2142857143 * var(--vw)));
    background: url(../img/modules/forest/intro/yamagata_line.svg) center center no-repeat;
    background-size: cover;
  }
}
@media screen and (max-width: 768px) {
  .m-forest-intro__wrap {
    padding-top: calc(20.5128205128 * var(--vw));
    padding-bottom: calc(24.6153846154 * var(--vw));
  }
  .m-forest-intro__wrap::before {
    content: "";
    position: absolute;
    top: calc(31.5384615385 * var(--vw));
    right: calc(10.2564102564 * var(--vw));
    width: calc(4.358974359 * var(--vw));
    height: calc(3.8461538462 * var(--vw));
    background: url(../img/modules/forest/intro/intro_bg01_sp.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-intro__wrap::after {
    content: "";
    position: absolute;
    bottom: calc(2.3076923077 * var(--vw));
    right: calc(12.3076923077 * var(--vw));
    width: calc(29.2307692308 * var(--vw));
    height: calc(24.8717948718 * var(--vw));
    background: url(../img/modules/forest/intro/intro_bg02_sp.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-intro__ttl {
    font-size: calc(6.1538461538 * var(--vw));
    line-height: 1.3333333333em;
    text-align: center;
  }
  .m-forest-intro__ttl::before, .m-forest-intro__ttl::after {
    width: calc(15.3846153846 * var(--vw));
    height: calc(0.5128205128 * var(--vw));
  }
  .m-forest-intro__ttl::before {
    transform: translateY(-50%) rotate(65deg);
    top: calc(50% + 0.5128205128 * var(--vw));
    left: calc(-14.1025641026 * var(--vw));
  }
  .m-forest-intro__ttl::after {
    transform: translateY(-50%) rotate(-65deg);
    top: calc(50% + 0.5128205128 * var(--vw));
    right: calc(-14.1025641026 * var(--vw));
  }
  .m-forest-intro__main {
    width: 100%;
    margin: calc(5.1282051282 * var(--vw)) auto 0;
  }
  .m-forest-intro__speech {
    top: 0;
    padding: calc(3.5897435897 * var(--vw)) 0 calc(4.1025641026 * var(--vw));
    width: calc(85.641025641 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.375em;
    border-radius: calc(3.0769230769 * var(--vw));
    z-index: 1;
  }
  .m-forest-intro__speech::after {
    width: calc(3.5897435897 * var(--vw));
    height: calc(3.0769230769 * var(--vw));
    bottom: calc(-2.8205128205 * var(--vw));
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
  .m-forest-intro__img {
    width: 100%;
  }
  .m-forest-intro__btn {
    padding: calc(2.3076923077 * var(--vw)) 0;
    width: calc(38.4615384615 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 2em;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.2);
  }
  .m-forest-intro__btn::after {
    top: calc(50% + 0.2564102564 * var(--vw));
    right: calc(4.6153846154 * var(--vw));
    width: calc(2.0512820513 * var(--vw));
    height: calc(3.5897435897 * var(--vw));
  }
  .m-forest-intro__btn:nth-of-type(1) {
    top: calc(37.4358974359 * var(--vw));
    left: calc(16.6666666667 * var(--vw));
  }
  .m-forest-intro__btn:nth-of-type(1)::before {
    top: calc(5.8974358974 * var(--vw));
    right: calc(-17.4358974359 * var(--vw));
    width: calc(17.4358974359 * var(--vw));
    height: calc(25.641025641 * var(--vw));
    background: url(../img/modules/forest/intro/tochigi_line_sp.svg) center center no-repeat;
    background-size: cover;
  }
  .m-forest-intro__btn:nth-of-type(2) {
    top: calc(102.3076923077 * var(--vw));
    left: calc(17.6923076923 * var(--vw));
  }
  .m-forest-intro__btn:nth-of-type(2)::before {
    top: calc(-20 * var(--vw));
    left: 50%;
    width: calc(1.5384615385 * var(--vw));
    height: calc(20 * var(--vw));
    transform: translateX(-50%);
    background: url(../img/modules/forest/intro/shiga_line.svg) center center no-repeat;
    background-size: cover;
  }
  .m-forest-intro__btn:nth-of-type(3) {
    top: calc(75.641025641 * var(--vw));
    right: calc(1.5384615385 * var(--vw));
  }
  .m-forest-intro__btn:nth-of-type(3)::before {
    top: calc(-20.7692307692 * var(--vw));
    left: calc(10 * var(--vw));
    width: calc(9.2307692308 * var(--vw));
    height: calc(20.7692307692 * var(--vw));
    background: url(../img/modules/forest/intro/yamagata_line_sp.svg) center center no-repeat;
    background-size: cover;
  }
}

/* modules/forest/_section.scss
-------------------------------------------------- */
.m-forest-section__hgroup {
  text-align: center;
}
.m-forest-section__ttl {
  color: #088F3E;
}
.m-forest-section__tag {
  color: #088F3E;
  background-color: #fff;
  border-radius: 999px;
}
.m-forest-section__flex-fig {
  overflow: hidden;
}
.m-forest-section__flex-img {
  width: 100%;
}
.m-forest-section__item figure {
  text-align: center;
}
.m-forest-section__item figure img {
  width: 100%;
}
.m-forest-section__box-inner {
  background-color: #fff;
  overflow: hidden;
}
.m-forest-section__caption {
  color: #088F3E;
  text-align: center;
  border-bottom: 1px solid #088F3E;
}
.m-forest-section__btn {
  display: block;
  color: #088F3E;
  text-align: center;
  background-color: #fff;
}
.m-forest-section__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  mask: url(../img/modules/forest/section/top.svg) center center no-repeat;
  mask-size: contain;
  transform: translateY(-50%);
  background-color: #088F3E;
}
.m-forest-section__about {
  background-color: #fff;
}
.m-forest-section__about-img {
  width: 100%;
}
@media screen and (min-width: 769px), print {
  .m-forest-section:nth-of-type(1) .m-forest-section__hgroup::before {
    content: "";
    position: absolute;
    top: max(-31px, calc(-2.2142857143 * var(--vw)));
    left: min(140px, calc(10 * var(--vw)));
    width: min(27px, calc(1.9285714286 * var(--vw)));
    height: min(25px, calc(1.7857142857 * var(--vw)));
    background: url(../img/modules/forest/section/ttl_bg01.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(1) .m-forest-section__hgroup::after {
    content: "";
    position: absolute;
    top: min(22px, calc(1.5714285714 * var(--vw)));
    right: min(50px, calc(3.5714285714 * var(--vw)));
    width: min(103px, calc(7.3571428571 * var(--vw)));
    height: min(62px, calc(4.4285714286 * var(--vw)));
    background: url(../img/modules/forest/section/ttl_bg02.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(1) .m-forest-section__wrap::before {
    content: "";
    position: absolute;
    top: min(255px, calc(18.2142857143 * var(--vw)));
    left: max(-136px, calc(-9.7142857143 * var(--vw)));
    width: min(90px, calc(6.4285714286 * var(--vw)));
    height: min(96px, calc(6.8571428571 * var(--vw)));
    background: url(../img/modules/forest/section/section_bg01.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(1) .m-forest-section__wrap::after {
    content: "";
    position: absolute;
    top: min(447px, calc(31.9285714286 * var(--vw)));
    right: max(-102px, calc(-7.2857142857 * var(--vw)));
    width: min(89px, calc(6.3571428571 * var(--vw)));
    height: min(136px, calc(9.7142857143 * var(--vw)));
    background: url(../img/modules/forest/section/section_bg02.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(1) .m-forest-section__box::before {
    content: "";
    position: absolute;
    top: max(-64px, calc(-4.5714285714 * var(--vw)));
    left: max(-168px, calc(-12 * var(--vw)));
    width: min(125px, calc(8.9285714286 * var(--vw)));
    height: min(748px, calc(53.4285714286 * var(--vw)));
    background: url(../img/modules/forest/section/box_bg01.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(1) .m-forest-section__box::after {
    content: "";
    position: absolute;
    top: min(111px, calc(7.9285714286 * var(--vw)));
    right: max(-180px, calc(-12.8571428571 * var(--vw)));
    width: min(137px, calc(9.7857142857 * var(--vw)));
    height: min(188px, calc(13.4285714286 * var(--vw)));
    background: url(../img/modules/forest/section/box_bg02.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__hgroup::before {
    content: "";
    position: absolute;
    top: max(-57px, calc(-4.0714285714 * var(--vw)));
    left: max(-31px, calc(-2.2142857143 * var(--vw)));
    width: min(271px, calc(19.3571428571 * var(--vw)));
    height: min(130px, calc(9.2857142857 * var(--vw)));
    background: url(../img/modules/forest/section/ttl_bg03.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__hgroup::after {
    content: "";
    position: absolute;
    top: max(-159px, calc(-11.3571428571 * var(--vw)));
    right: max(-67px, calc(-4.7857142857 * var(--vw)));
    width: min(156px, calc(11.1428571429 * var(--vw)));
    height: min(236px, calc(16.8571428571 * var(--vw)));
    background: url(../img/modules/forest/section/ttl_bg04.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__wrap {
    padding-top: min(130px, calc(9.2857142857 * var(--vw)));
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__wrap::before {
    content: "";
    position: absolute;
    top: min(327px, calc(23.3571428571 * var(--vw)));
    left: max(-184px, calc(-13.1428571429 * var(--vw)));
    width: min(185px, calc(13.2142857143 * var(--vw)));
    height: min(811px, calc(57.9285714286 * var(--vw)));
    background: url(../img/modules/forest/section/section_bg03.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__wrap::after {
    content: "";
    position: absolute;
    top: min(503px, calc(35.9285714286 * var(--vw)));
    right: max(-175px, calc(-12.5 * var(--vw)));
    width: min(124px, calc(8.8571428571 * var(--vw)));
    height: min(766px, calc(54.7142857143 * var(--vw)));
    background: url(../img/modules/forest/section/section_bg04.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__box::before {
    content: "";
    position: absolute;
    top: min(437px, calc(31.2142857143 * var(--vw)));
    left: max(-169px, calc(-12.0714285714 * var(--vw)));
    width: min(219px, calc(15.6428571429 * var(--vw)));
    height: min(1561px, calc(111.5 * var(--vw)));
    background: url(../img/modules/forest/section/box_bg03.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__box::after {
    content: "";
    position: absolute;
    top: min(629px, calc(44.9285714286 * var(--vw)));
    right: max(-183px, calc(-13.0714285714 * var(--vw)));
    width: min(272px, calc(19.4285714286 * var(--vw)));
    height: min(1374px, calc(98.1428571429 * var(--vw)));
    background: url(../img/modules/forest/section/box_bg04.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__caption:not(:first-child) {
    padding-bottom: min(26px, calc(1.8571428571 * var(--vw)));
    padding-right: min(96px, calc(6.8571428571 * var(--vw)));
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__caption:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 0;
    right: min(200px, calc(14.2857142857 * var(--vw)));
    width: min(94px, calc(6.7142857143 * var(--vw)));
    height: min(53px, calc(3.7857142857 * var(--vw)));
    background: url(../img/modules/forest/section/caption_bg01.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(2) .m-forest-box__flex:nth-of-type(1)::before {
    content: "";
    position: absolute;
    bottom: max(-24px, calc(-1.7142857143 * var(--vw)));
    right: min(13px, calc(0.9285714286 * var(--vw)));
    width: min(100px, calc(7.1428571429 * var(--vw)));
    height: min(71px, calc(5.0714285714 * var(--vw)));
    background: url(../img/modules/forest/section/flex_bg01.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(3) .m-forest-section__hgroup::before {
    content: "";
    position: absolute;
    top: max(-135px, calc(-9.6428571429 * var(--vw)));
    left: max(-186px, calc(-13.2857142857 * var(--vw)));
    width: min(533px, calc(38.0714285714 * var(--vw)));
    height: min(160px, calc(11.4285714286 * var(--vw)));
    background: url(../img/modules/forest/section/ttl_bg05.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(3) .m-forest-section__hgroup::after {
    content: "";
    position: absolute;
    top: min(44px, calc(3.1428571429 * var(--vw)));
    right: max(-175px, calc(-12.5 * var(--vw)));
    width: min(91px, calc(6.5 * var(--vw)));
    height: min(157px, calc(11.2142857143 * var(--vw)));
    background: url(../img/modules/forest/section/ttl_bg06.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(3) .m-forest-section__wrap {
    padding-top: min(164px, calc(11.7142857143 * var(--vw)));
    padding-bottom: min(157px, calc(11.2142857143 * var(--vw)));
  }
  .m-forest-section:nth-of-type(3) .m-forest-section__wrap::before {
    content: "";
    position: absolute;
    top: min(578px, calc(41.2857142857 * var(--vw)));
    left: max(-138px, calc(-9.8571428571 * var(--vw)));
    width: min(137px, calc(9.7857142857 * var(--vw)));
    height: min(188px, calc(13.4285714286 * var(--vw)));
    background: url(../img/modules/forest/section/section_bg05.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(3) .m-forest-section__wrap::after {
    content: "";
    position: absolute;
    top: min(771px, calc(55.0714285714 * var(--vw)));
    right: max(-137px, calc(-9.7857142857 * var(--vw)));
    width: min(86px, calc(6.1428571429 * var(--vw)));
    height: min(129px, calc(9.2142857143 * var(--vw)));
    background: url(../img/modules/forest/section/section_bg06.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(3) .m-forest-section__box::before {
    content: "";
    position: absolute;
    top: min(136px, calc(9.7142857143 * var(--vw)));
    left: max(-138px, calc(-9.8571428571 * var(--vw)));
    width: min(90px, calc(6.4285714286 * var(--vw)));
    height: min(96px, calc(6.8571428571 * var(--vw)));
    background: url(../img/modules/forest/section/box_bg05.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(3) .m-forest-section__box::after {
    content: "";
    position: absolute;
    top: min(328px, calc(23.4285714286 * var(--vw)));
    right: max(-100px, calc(-7.1428571429 * var(--vw)));
    width: min(89px, calc(6.3571428571 * var(--vw)));
    height: min(136px, calc(9.7142857143 * var(--vw)));
    background: url(../img/modules/forest/section/box_bg06.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(3) .m-forest-section__caption {
    padding-top: min(13px, calc(0.9285714286 * var(--vw)));
  }
  .m-forest-section:nth-of-type(3) .m-forest-section__caption::before {
    content: "";
    position: absolute;
    top: max(-23px, calc(-1.6428571429 * var(--vw)));
    right: min(189px, calc(13.5 * var(--vw)));
    width: min(66px, calc(4.7142857143 * var(--vw)));
    height: min(77px, calc(5.5 * var(--vw)));
    background: url(../img/modules/forest/section/caption_bg02.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section__wrap {
    padding: min(85px, calc(6.0714285714 * var(--vw))) 0 min(102px, calc(7.2857142857 * var(--vw)));
    width: min(917px, calc(65.5 * var(--vw)));
    margin: 0 auto;
  }
  .m-forest-section__sub {
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
  .m-forest-section__ttl {
    margin-top: min(14px, calc(1 * var(--vw)));
    font-size: min(2.25rem, calc(2.5714285714 * var(--vw)));
    line-height: 1.4722222222em;
  }
  .m-forest-section__tag {
    margin: min(10px, calc(0.7142857143 * var(--vw))) auto 0;
    padding-bottom: min(2px, calc(0.1428571429 * var(--vw)));
    width: min(220px, calc(15.7142857143 * var(--vw)));
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.5555555556em;
  }
  .m-forest-section__flex {
    margin-top: min(58px, calc(4.1428571429 * var(--vw)));
    display: flex;
    gap: 0 min(32px, calc(2.2857142857 * var(--vw)));
  }
  .m-forest-section__flex-fig {
    width: min(455px, calc(32.5 * var(--vw)));
    border-radius: min(20px, calc(1.4285714286 * var(--vw)));
  }
  .m-forest-section__flex-txt {
    flex: 1;
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
  .m-forest-section__list {
    margin-top: min(52px, calc(3.7142857143 * var(--vw)));
    display: flex;
    gap: 0 min(8px, calc(0.5714285714 * var(--vw)));
  }
  .m-forest-section__item {
    flex: 1;
  }
  .m-forest-section__item figure figcaption {
    margin-top: min(12px, calc(0.8571428571 * var(--vw)));
    font-size: min(1rem, calc(1.1428571429 * var(--vw)));
    line-height: 1.5625em;
  }
  .m-forest-section__box {
    margin-top: min(44px, calc(3.1428571429 * var(--vw)));
  }
  .m-forest-section__box-inner {
    padding: min(47px, calc(3.3571428571 * var(--vw))) min(50px, calc(3.5714285714 * var(--vw))) min(77px, calc(5.5 * var(--vw)));
    border-radius: min(12px, calc(0.8571428571 * var(--vw)));
  }
  .m-forest-section__caption {
    margin-bottom: min(25px, calc(1.7857142857 * var(--vw)));
    padding-bottom: min(8px, calc(0.5714285714 * var(--vw)));
    font-size: min(1.875rem, calc(2.1428571429 * var(--vw)));
    line-height: 1.5em;
  }
  .m-forest-section__caption:not(:first-child) {
    margin-top: min(101px, calc(7.2142857143 * var(--vw)));
  }
  .m-forest-section__explain {
    width: min(530px, calc(37.8571428571 * var(--vw)));
    margin: 0 auto;
    text-align: center;
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
  .m-forest-section__explain:has(+ .m-forest-box__figbox) {
    width: min(643px, calc(45.9285714286 * var(--vw)));
  }
  .m-forest-section__explain:has(+ .m-forest-box__bugs) {
    width: 100%;
  }
  .m-forest-section__btn {
    padding: min(12px, calc(0.8571428571 * var(--vw))) 0 min(14px, calc(1 * var(--vw)));
    margin: min(49px, calc(3.5 * var(--vw))) auto 0;
    width: min(380px, calc(27.1428571429 * var(--vw)));
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
    border-radius: min(12px, calc(0.8571428571 * var(--vw)));
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15);
    transition: background-color 0.2s linear;
  }
  .m-forest-section__btn:hover {
    background-color: #E4FBED;
  }
  .m-forest-section__btn:hover::after {
    top: calc(50% - min(3px, calc(0.2142857143 * var(--vw))));
  }
  .m-forest-section__btn::after {
    right: min(32px, calc(2.2857142857 * var(--vw)));
    width: min(14px, calc(1 * var(--vw)));
    height: min(7px, calc(0.5 * var(--vw)));
    transition: top 0.2s linear;
  }
  .m-forest-section__about {
    margin-top: min(22px, calc(1.5714285714 * var(--vw)));
    display: flex;
    align-items: center;
    padding: min(33px, calc(2.3571428571 * var(--vw))) min(31px, calc(2.2142857143 * var(--vw))) min(28px, calc(2 * var(--vw))) min(28px, calc(2 * var(--vw)));
    border-radius: min(12px, calc(0.8571428571 * var(--vw)));
    gap: 0 min(17px, calc(1.2142857143 * var(--vw)));
  }
  .m-forest-section__about::before {
    content: "";
    position: absolute;
    top: max(-12px, calc(-0.8571428571 * var(--vw)));
    left: min(591px, calc(42.2142857143 * var(--vw)));
    width: min(16px, calc(1.1428571429 * var(--vw)));
    height: min(13px, calc(0.9285714286 * var(--vw)));
    background-color: #fff;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
  }
  .m-forest-section__about-fig {
    width: min(311px, calc(22.2142857143 * var(--vw)));
  }
  .m-forest-section__about-txt {
    flex: 1;
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
}
@media screen and (max-width: 768px) {
  .m-forest-section:nth-of-type(1) .m-forest-section__hgroup::before {
    content: "";
    position: absolute;
    top: calc(24.8717948718 * var(--vw));
    right: calc(7.6923076923 * var(--vw));
    width: calc(5.641025641 * var(--vw));
    height: calc(5.3846153846 * var(--vw));
    background: url(../img/modules/forest/section/ttl_bg01_sp.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(1) .m-forest-section__wrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(19.4871794872 * var(--vw));
    background: url(../img/modules/forest/section/section_bg01_sp.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__hgroup::before {
    content: "";
    position: absolute;
    top: calc(24.1025641026 * var(--vw));
    left: calc(0.7692307692 * var(--vw));
    width: calc(5.3846153846 * var(--vw));
    height: calc(5.1282051282 * var(--vw));
    background: url(../img/modules/forest/section/ttl_bg02_sp.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__wrap {
    padding-top: calc(23.0769230769 * var(--vw));
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__wrap::before {
    content: "";
    position: absolute;
    top: 0;
    right: calc(11.7948717949 * var(--vw));
    width: calc(63.0769230769 * var(--vw));
    height: calc(23.0769230769 * var(--vw));
    background: url(../img/modules/forest/section/section_bg02_sp.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__caption:first-child {
    padding-top: calc(1.7948717949 * var(--vw));
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__caption:first-child::before {
    content: "";
    position: absolute;
    top: 0;
    right: calc(4.1025641026 * var(--vw));
    width: calc(8.2051282051 * var(--vw));
    height: calc(9.2307692308 * var(--vw));
    background: url(../img/modules/forest/section/caption_bg01_sp.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__caption:not(:first-child) {
    padding-right: calc(11.2820512821 * var(--vw));
  }
  .m-forest-section:nth-of-type(2) .m-forest-section__caption:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 0;
    right: calc(0.5128205128 * var(--vw));
    width: calc(17.4358974359 * var(--vw));
    height: calc(10 * var(--vw));
    background: url(../img/modules/forest/section/caption_bg02_sp.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(3) .m-forest-section__wrap::before {
    content: "";
    position: absolute;
    top: calc(12.8205128205 * var(--vw));
    right: calc(11.7948717949 * var(--vw));
    width: calc(70 * var(--vw));
    height: calc(19.4871794872 * var(--vw));
    background: url(../img/modules/forest/section/section_bg03_sp.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section:nth-of-type(3) .m-forest-section__caption {
    padding-top: calc(3.3333333333 * var(--vw));
    padding-right: calc(1.5384615385 * var(--vw));
  }
  .m-forest-section:nth-of-type(3) .m-forest-section__caption::before {
    content: "";
    position: absolute;
    top: calc(-2.5641025641 * var(--vw));
    right: calc(6.4102564103 * var(--vw));
    width: calc(11.2820512821 * var(--vw));
    height: calc(12.3076923077 * var(--vw));
    background: url(../img/modules/forest/section/caption_bg02.png) center center no-repeat;
    background-size: cover;
    pointer-events: none;
  }
  .m-forest-section {
    overflow: hidden;
  }
  .m-forest-section__wrap {
    padding: calc(20.7692307692 * var(--vw)) calc(6.4102564103 * var(--vw)) calc(17.1794871795 * var(--vw));
    margin: 0 auto;
  }
  .m-forest-section__sub {
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.9375em;
  }
  .m-forest-section__ttl {
    margin-top: calc(2.5641025641 * var(--vw));
    font-size: calc(7.1794871795 * var(--vw));
    line-height: 1.4285714286em;
  }
  .m-forest-section__tag {
    margin: calc(3.5897435897 * var(--vw)) auto 0;
    padding-bottom: calc(0.5128205128 * var(--vw));
    width: calc(37.6923076923 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.125em;
  }
  .m-forest-section__flex {
    margin-top: calc(10 * var(--vw));
  }
  .m-forest-section__flex-fig {
    width: 100%;
    border-radius: calc(5.1282051282 * var(--vw));
  }
  .m-forest-section__flex-txt {
    margin-top: calc(4.1025641026 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.9375em;
  }
  .m-forest-section__scroll {
    width: fit-content;
    display: flex;
  }
  .m-forest-section__scroll.is-float {
    animation: forestScroll 15s linear infinite;
  }
  .m-forest-section__list {
    margin-top: calc(12.8205128205 * var(--vw));
    display: flex;
    width: calc(81.0256410256 * var(--vw) * 3);
  }
  .m-forest-section__item {
    width: calc(77.4358974359 * var(--vw));
    margin-right: calc(3.5897435897 * var(--vw));
  }
  .m-forest-section__item figure figcaption {
    margin-top: calc(3.0769230769 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.375em;
  }
  .m-forest-section__box {
    margin-top: calc(10 * var(--vw));
  }
  .m-forest-section__box-inner {
    padding: calc(6.4102564103 * var(--vw)) calc(3.8461538462 * var(--vw)) calc(9.2307692308 * var(--vw));
    border-radius: calc(3.0769230769 * var(--vw));
  }
  .m-forest-section__caption {
    margin-bottom: calc(5.3846153846 * var(--vw));
    padding-bottom: calc(1.2820512821 * var(--vw));
    font-size: calc(5.1282051282 * var(--vw));
    line-height: 1.7em;
  }
  .m-forest-section__caption:not(:first-child) {
    margin-top: calc(9.4871794872 * var(--vw));
  }
  .m-forest-section__explain {
    text-align: left;
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.9375em;
  }
  .m-forest-section__btn {
    padding: calc(3.5897435897 * var(--vw)) 0 calc(4.1025641026 * var(--vw));
    margin: calc(5.1282051282 * var(--vw)) auto 0;
    width: 100%;
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.375em;
    border-radius: calc(3.0769230769 * var(--vw));
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15);
  }
  .m-forest-section__btn::after {
    right: calc(8.2051282051 * var(--vw));
    width: calc(3.5897435897 * var(--vw));
    height: calc(1.7948717949 * var(--vw));
  }
  .m-forest-section__about {
    margin-top: calc(7.9487179487 * var(--vw));
    padding: calc(4.1025641026 * var(--vw)) calc(5.3846153846 * var(--vw)) calc(4.8717948718 * var(--vw));
    border-radius: calc(3.0769230769 * var(--vw));
  }
  .m-forest-section__about::before {
    content: "";
    position: absolute;
    top: calc(-3.0769230769 * var(--vw));
    left: calc(27.9487179487 * var(--vw));
    width: calc(4.1025641026 * var(--vw));
    height: calc(3.3333333333 * var(--vw));
    background-color: #fff;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
  }
  .m-forest-section__about-fig {
    width: 100%;
  }
  .m-forest-section__about-txt {
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.9375em;
  }
}

/* modules/forest/_box.scss
-------------------------------------------------- */
.m-forest-box__item {
  position: absolute;
}
.m-forest-box__item figure img {
  width: 100%;
}
.m-forest-box__flex-fig {
  overflow: hidden;
}
.m-forest-box__flex-img {
  width: 100%;
}
.m-forest-box__flex-figbox {
  display: flex;
}
.m-forest-box__flex-figbox figure {
  flex: 1;
}
.m-forest-box__flex-figbox figure img {
  width: 100%;
}
.m-forest-box__scroll {
  display: flex;
}
.m-forest-box__scroll-txtbox span {
  display: block;
  color: #088F3E;
}
.m-forest-box__scroll-txtbox em {
  display: block;
}
.m-forest-box__scroll-fig img {
  width: 100%;
}
.m-forest-box__figbox {
  display: flex;
}
.m-forest-box__fig img {
  width: 100%;
}
.m-forest-box__bug {
  position: absolute;
}
.m-forest-box__bug figure {
  text-align: center;
}
.m-forest-box__bug figure img {
  width: 100%;
}
.m-forest-box__class-item figure img {
  width: 100%;
}
@media screen and (min-width: 769px), print {
  .m-forest-box__list {
    margin-top: min(40px, calc(2.8571428571 * var(--vw)));
    width: 100%;
    height: min(263px, calc(18.7857142857 * var(--vw)));
  }
  .m-forest-box__item {
    width: min(212px, calc(15.1428571429 * var(--vw)));
  }
  .m-forest-box__item figure figcaption {
    margin-top: min(4px, calc(0.2857142857 * var(--vw)));
    font-size: min(1rem, calc(1.1428571429 * var(--vw)));
    line-height: 1.9375em;
  }
  .m-forest-box__item:nth-child(1) {
    top: min(43px, calc(3.0714285714 * var(--vw)));
    left: min(26px, calc(1.8571428571 * var(--vw)));
    transform: rotate(-2deg);
  }
  .m-forest-box__item:nth-child(2) {
    top: min(124px, calc(8.8571428571 * var(--vw)));
    left: min(219px, calc(15.6428571429 * var(--vw)));
    transform: rotate(4.23deg);
    z-index: 1;
  }
  .m-forest-box__item:nth-child(3) {
    top: 0;
    right: min(200px, calc(14.2857142857 * var(--vw)));
    transform: rotate(-4.46deg);
  }
  .m-forest-box__item:nth-child(3) figure figcaption {
    margin-left: min(30px, calc(2.1428571429 * var(--vw)));
  }
  .m-forest-box__item:nth-child(4) {
    top: min(105px, calc(7.5 * var(--vw)));
    right: min(7px, calc(0.5 * var(--vw)));
    transform: rotate(-5.96deg);
    z-index: 1;
  }
  .m-forest-box__flex {
    display: flex;
    align-items: start;
    gap: 0 min(31px, calc(2.2142857143 * var(--vw)));
  }
  .m-forest-box__flex-fig {
    width: min(360px, calc(25.7142857143 * var(--vw)));
    border-radius: min(20px, calc(1.4285714286 * var(--vw)));
  }
  .m-forest-box__flex-txtbox {
    flex: 1;
  }
  .m-forest-box__flex-txt {
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
  .m-forest-box__flex-figbox {
    margin-top: min(15px, calc(1.0714285714 * var(--vw)));
    gap: 0 min(12px, calc(0.8571428571 * var(--vw)));
  }
  .m-forest-box__flex-figbox figcaption {
    margin-top: min(2px, calc(0.1428571429 * var(--vw)));
    font-size: min(1rem, calc(1.1428571429 * var(--vw)));
    line-height: 1.9375em;
  }
  .m-forest-box__scroll {
    margin-top: min(57px, calc(4.0714285714 * var(--vw)));
    margin-bottom: min(73px, calc(5.2142857143 * var(--vw)));
    width: calc(min(334px, calc(23.8571428571 * var(--vw))) * 4);
  }
  .m-forest-box__scroll-item {
    width: min(302px, calc(21.5714285714 * var(--vw)));
    margin-right: min(14px, calc(1 * var(--vw)));
  }
  .m-forest-box__scroll-txtbox {
    height: min(60px, calc(4.2857142857 * var(--vw)));
  }
  .m-forest-box__scroll-txtbox span {
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.6666666667em;
  }
  .m-forest-box__scroll-txtbox em {
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.6666666667em;
  }
  .m-forest-box__figbox {
    margin-top: min(24px, calc(1.7142857143 * var(--vw)));
    justify-content: center;
    gap: 0 min(14px, calc(1 * var(--vw)));
  }
  .m-forest-box__fig {
    width: min(302px, calc(21.5714285714 * var(--vw)));
    text-align: center;
  }
  .m-forest-box__fig figcaption {
    margin-top: min(5px, calc(0.3571428571 * var(--vw)));
    font-size: min(1rem, calc(1.1428571429 * var(--vw)));
    line-height: 1.375em;
  }
  .m-forest-box__bugs {
    margin-top: min(37px, calc(2.6428571429 * var(--vw)));
    height: min(177px, calc(12.6428571429 * var(--vw)));
  }
  .m-forest-box__bug {
    width: min(168px, calc(12 * var(--vw)));
  }
  .m-forest-box__bug figure figcaption {
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8333333333em;
  }
  .m-forest-box__bug:nth-child(1) {
    top: 0;
    left: min(90px, calc(6.4285714286 * var(--vw)));
    transform: rotate(4.05deg);
  }
  .m-forest-box__bug:nth-child(2) {
    top: 0;
    left: min(309px, calc(22.0714285714 * var(--vw)));
    transform: rotate(-2.33deg);
  }
  .m-forest-box__bug:nth-child(3) {
    top: 0;
    right: min(120px, calc(8.5714285714 * var(--vw)));
    transform: rotate(2.7deg);
  }
  .m-forest-box__class {
    width: min(530px, calc(37.8571428571 * var(--vw)));
    padding-bottom: min(337px, calc(24.0714285714 * var(--vw)));
    margin: 0 auto;
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
    text-align: center;
  }
  .m-forest-box__class-list {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
  }
  .m-forest-box__class-list:nth-of-type(1) {
    left: max(-150px, calc(-10.7142857143 * var(--vw)));
  }
  .m-forest-box__class-list:nth-of-type(1) .m-forest-box__class-item:nth-child(1) {
    top: min(226px, calc(16.1428571429 * var(--vw)));
    left: min(26px, calc(1.8571428571 * var(--vw)));
    transform: rotate(-2deg);
  }
  .m-forest-box__class-list:nth-of-type(1) .m-forest-box__class-item:nth-child(2) {
    top: min(307px, calc(21.9285714286 * var(--vw)));
    left: min(219px, calc(15.6428571429 * var(--vw)));
    transform: rotate(4.23deg);
    z-index: 1;
  }
  .m-forest-box__class-list:nth-of-type(2) {
    right: max(-150px, calc(-10.7142857143 * var(--vw)));
  }
  .m-forest-box__class-list:nth-of-type(2) .m-forest-box__class-item:nth-child(1) {
    top: min(183px, calc(13.0714285714 * var(--vw)));
    right: min(200px, calc(14.2857142857 * var(--vw)));
    transform: rotate(-4.46deg);
  }
  .m-forest-box__class-list:nth-of-type(2) .m-forest-box__class-item:nth-child(1) figure figcaption {
    margin-left: min(30px, calc(2.1428571429 * var(--vw)));
  }
  .m-forest-box__class-list:nth-of-type(2) .m-forest-box__class-item:nth-child(2) {
    top: min(288px, calc(20.5714285714 * var(--vw)));
    right: min(7px, calc(0.5 * var(--vw)));
    transform: rotate(-5.96deg);
    z-index: 1;
  }
  .m-forest-box__class-item {
    position: absolute;
    width: min(212px, calc(15.1428571429 * var(--vw)));
  }
  .m-forest-box__class-item figure figcaption {
    text-align: left;
    margin-top: min(4px, calc(0.2857142857 * var(--vw)));
    font-size: min(1rem, calc(1.1428571429 * var(--vw)));
    line-height: 1.9375em;
  }
}
@media screen and (max-width: 768px) {
  .m-forest-box__list {
    margin-top: min(40px, calc(2.8571428571 * var(--vw)));
    width: 100%;
    height: min(263px, calc(18.7857142857 * var(--vw)));
  }
  .m-forest-box__item {
    width: min(212px, calc(15.1428571429 * var(--vw)));
  }
  .m-forest-box__item figure figcaption {
    margin-top: min(4px, calc(0.2857142857 * var(--vw)));
    font-size: min(1rem, calc(1.1428571429 * var(--vw)));
    line-height: 1.9375em;
  }
  .m-forest-box__item:nth-child(1) {
    top: min(43px, calc(3.0714285714 * var(--vw)));
    left: min(26px, calc(1.8571428571 * var(--vw)));
    transform: rotate(-2deg);
  }
  .m-forest-box__item:nth-child(2) {
    top: min(124px, calc(8.8571428571 * var(--vw)));
    left: min(219px, calc(15.6428571429 * var(--vw)));
    transform: rotate(4.23deg);
    z-index: 1;
  }
  .m-forest-box__item:nth-child(3) {
    top: 0;
    right: min(200px, calc(14.2857142857 * var(--vw)));
    transform: rotate(-4.46deg);
  }
  .m-forest-box__item:nth-child(3) figure figcaption {
    margin-left: min(30px, calc(2.1428571429 * var(--vw)));
  }
  .m-forest-box__item:nth-child(4) {
    top: min(105px, calc(7.5 * var(--vw)));
    right: min(7px, calc(0.5 * var(--vw)));
    transform: rotate(-5.96deg);
    z-index: 1;
  }
  .m-forest-box__flex-fig {
    width: 100%;
    border-radius: calc(5.1282051282 * var(--vw));
  }
  .m-forest-box__flex-txtbox {
    margin-top: calc(3.3333333333 * var(--vw));
  }
  .m-forest-box__flex-txt {
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.9375em;
  }
  .m-forest-box__flex-figbox {
    margin-top: calc(5.8974358974 * var(--vw));
  }
  .m-forest-box__flex-figbox figcaption {
    margin-top: calc(1.0256410256 * var(--vw));
    font-size: calc(3.5897435897 * var(--vw));
    line-height: 1.2142857143em;
  }
  .m-forest-box__scroll {
    margin-top: calc(8.4615384615 * var(--vw));
    margin-bottom: calc(7.4358974359 * var(--vw));
    width: calc(81.0256410256 * var(--vw) * 4);
  }
  .m-forest-box__scroll-item {
    width: calc(77.4358974359 * var(--vw));
    margin-right: calc(3.5897435897 * var(--vw));
  }
  .m-forest-box__scroll-txtbox {
    height: calc(15.3846153846 * var(--vw));
  }
  .m-forest-box__scroll-txtbox span {
    font-size: calc(4.6153846154 * var(--vw));
    line-height: 1.6666666667em;
  }
  .m-forest-box__scroll-txtbox em {
    font-size: calc(4.6153846154 * var(--vw));
    line-height: 1.6666666667em;
  }
  .m-forest-box__figbox {
    margin-top: calc(7.4358974359 * var(--vw));
    width: calc(81.0256410256 * var(--vw) * 2);
  }
  .m-forest-box__fig {
    width: calc(77.4358974359 * var(--vw));
    margin-right: calc(3.5897435897 * var(--vw));
  }
  .m-forest-box__fig figcaption {
    margin-top: calc(1.2820512821 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.375em;
  }
  .m-forest-box__bugs {
    margin-top: calc(14.1025641026 * var(--vw));
    height: calc(87.9487179487 * var(--vw));
  }
  .m-forest-box__bug {
    width: calc(35.8974358974 * var(--vw));
  }
  .m-forest-box__bug figure figcaption {
    margin-top: calc(0.5128205128 * var(--vw));
    font-size: calc(3.5897435897 * var(--vw));
    line-height: 1.2142857143em;
  }
  .m-forest-box__bug:nth-child(1) {
    top: 0;
    left: calc(0.7692307692 * var(--vw));
    transform: rotate(-3deg);
  }
  .m-forest-box__bug:nth-child(2) {
    top: calc(1.2820512821 * var(--vw));
    right: calc(1.7948717949 * var(--vw));
    transform: rotate(4deg);
  }
  .m-forest-box__bug:nth-child(3) {
    top: calc(46.1538461538 * var(--vw));
    left: calc(19.4871794872 * var(--vw));
    transform: rotate(3deg);
  }
  .m-forest-box__class-txt {
    display: block;
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.9375em;
  }
  .m-forest-box__class-txt:not(:first-child) {
    margin-top: calc(6.6666666667 * var(--vw));
  }
  .m-forest-box__class-list {
    height: calc(68.7179487179 * var(--vw));
    margin-top: calc(5.8974358974 * var(--vw));
  }
  .m-forest-box__class-item {
    position: absolute;
    width: calc(54.358974359 * var(--vw));
  }
  .m-forest-box__class-item:nth-child(1) {
    top: 0;
    left: 0;
  }
  .m-forest-box__class-item:nth-child(1) figure figcaption {
    bottom: calc(-5.1282051282 * var(--vw));
    left: 0;
  }
  .m-forest-box__class-item:nth-child(2) {
    bottom: 0;
    right: 0;
  }
  .m-forest-box__class-item:nth-child(2) figure figcaption {
    top: calc(-5.1282051282 * var(--vw));
    right: 0;
  }
  .m-forest-box__class-item figure figcaption {
    position: absolute;
    font-size: calc(3.5897435897 * var(--vw));
    line-height: 1.2142857143em;
  }
}

/* modules/myproject/_myproject.scss
-------------------------------------------------- */
.m-myproject {
  background-color: #FFE9E8;
}
.m-myproject__ttl {
  color: #D80C18;
  text-align: center;
}
.m-myproject__lead {
  text-align: center;
}
.m-myproject__list {
  display: block grid;
}
.m-myproject__open {
  transition: opacity 0.1s linear;
  cursor: pointer;
}
@media (any-hover: hover) {
  .m-myproject__open:hover {
    opacity: 0.7;
  }
}
.m-myproject__open {
  display: block;
  font-weight: 700;
  text-align: left;
  background-color: #fff;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15);
}
.m-myproject__open[data-cate=employee] .m-myproject__tag {
  background-color: #144FC4;
}
.m-myproject__open[data-cate=employee] .m-myproject__arw {
  background-color: #144FC4;
}
.m-myproject__open[data-cate=customer] .m-myproject__tag {
  background-color: #FF992D;
}
.m-myproject__open[data-cate=customer] .m-myproject__arw {
  background-color: #FF992D;
}
.m-myproject__open[data-cate=society] .m-myproject__tag {
  background-color: #088F3E;
}
.m-myproject__open[data-cate=society] .m-myproject__arw {
  background-color: #088F3E;
}
.m-myproject__fig {
  width: 100%;
  overflow: hidden;
}
.m-myproject__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m-myproject__tag {
  width: fit-content;
  color: #fff;
  text-align: center;
  background-color: #D80C18;
  border-radius: 100vmax;
}
.m-myproject__caption {
  display: -webkit-box;
  margin-bottom: var(--leading-trim);
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  line-height: 1.7em;
  -webkit-box-orient: vertical;
}
.m-myproject__prof {
  display: block flex;
  align-items: flex-end;
}
.m-myproject__prof-img {
  display: block;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 50%;
}
.m-myproject__box {
  flex: 1 1 5%;
  min-width: 0;
}
.m-myproject__name {
  line-height: 1.8em;
}
.m-myproject__department em,
.m-myproject__department span {
  display: block;
}
.m-myproject__arw {
  display: block;
  background-color: #D80C18;
  border-radius: 50%;
}
.m-myproject__arw::before {
  position: absolute;
  inset: 0;
  display: block;
  margin: auto;
  content: "";
  background-color: #fff;
  mask: url("../img/common/arrow.svg") no-repeat center center;
  mask-size: contain;
}
@media screen and (min-width: 769px), print {
  .m-myproject__wrap {
    padding-top: min(99px, calc(7.0714285714 * var(--vw)));
    padding-bottom: min(96px, calc(6.8571428571 * var(--vw)));
    margin: 0 auto;
    width: min(1104px, calc(78.8571428571 * var(--vw)));
  }
  .m-myproject__ttl {
    font-size: min(2.25rem, calc(2.5714285714 * var(--vw)));
    line-height: 1.4722222222em;
  }
  .m-myproject__lead {
    margin-top: min(18px, calc(1.2857142857 * var(--vw)));
    font-size: min(1.125rem, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
  .m-myproject__list {
    grid-template-columns: repeat(3, 1fr);
    gap: min(30px, calc(2.1428571429 * var(--vw)));
    margin-top: min(77px, calc(5.5 * var(--vw)));
  }
  .m-myproject__open {
    padding: min(20px, calc(1.4285714286 * var(--vw))) min(21px, calc(1.5 * var(--vw))) min(22px, calc(1.5714285714 * var(--vw)));
    border-radius: min(20px, calc(1.4285714286 * var(--vw))) min(20px, calc(1.4285714286 * var(--vw))) min(50px, calc(3.5714285714 * var(--vw)));
  }
  .m-myproject__open::before {
    right: min(37px, calc(2.6428571429 * var(--vw)));
    bottom: min(28px, calc(2 * var(--vw)));
    width: min(52px, calc(3.7142857143 * var(--vw)));
    height: min(42px, calc(3 * var(--vw)));
  }
  .m-myproject__open::after {
    right: min(58px, calc(4.1428571429 * var(--vw)));
    bottom: min(43px, calc(3.0714285714 * var(--vw)));
    width: min(8px, calc(0.5714285714 * var(--vw)));
    height: min(13px, calc(0.9285714286 * var(--vw)));
  }
  .m-myproject__fig {
    aspect-ratio: 306/196;
    border-radius: min(12px, calc(0.8571428571 * var(--vw))) min(12px, calc(0.8571428571 * var(--vw))) min(12px, calc(0.8571428571 * var(--vw))) 0;
  }
  .m-myproject__tag {
    min-width: min(122px, calc(8.7142857143 * var(--vw)));
    padding: min(6px, calc(0.4285714286 * var(--vw))) 1em min(8px, calc(0.5714285714 * var(--vw)));
    margin-top: max(-16px, calc(-1.1428571429 * var(--vw)));
    font-size: min(0.875rem, calc(1 * var(--vw)));
    line-height: 1.2em;
  }
  .m-myproject__caption {
    margin-top: min(5px, calc(0.3571428571 * var(--vw)));
    font-size: min(1.25rem, calc(1.4285714286 * var(--vw)));
  }
  .m-myproject__prof {
    padding-right: min(16px, calc(1.1428571429 * var(--vw)));
    margin-top: min(16px, calc(1.1428571429 * var(--vw)));
  }
  .m-myproject__box {
    margin-left: min(14px, calc(1 * var(--vw)));
  }
  .m-myproject__prof-img {
    width: min(67px, calc(4.7857142857 * var(--vw)));
  }
  .m-myproject__name {
    font-size: min(0.875rem, calc(1 * var(--vw)));
  }
  .m-myproject__department em,
  .m-myproject__department span {
    font-size: min(0.75rem, calc(0.8571428571 * var(--vw)));
    line-height: 1.5em;
  }
  .m-myproject__arw {
    width: min(52px, calc(3.7142857143 * var(--vw)));
    height: min(42px, calc(3 * var(--vw)));
    margin-bottom: min(6px, calc(0.4285714286 * var(--vw)));
  }
  .m-myproject__arw::before {
    width: min(8px, calc(0.5714285714 * var(--vw)));
    height: min(13px, calc(0.9285714286 * var(--vw)));
  }
  .m-myproject__btn {
    margin-top: min(91px, calc(6.5 * var(--vw)));
  }
  .m-myproject__btn::after {
    right: inherit;
    left: min(28px, calc(1.995 * var(--vw)));
    transform: rotate(180deg);
  }
  .m-myproject__btn:hover::after {
    transform: translateX(-25%) rotate(180deg);
  }
}
@media screen and (max-width: 768px) {
  .m-myproject__wrap {
    padding: calc(17.6923076923 * var(--vw)) calc(5.3846153846 * var(--vw)) calc(10.2564102564 * var(--vw));
  }
  .m-myproject__ttl {
    font-size: calc(6.1538461538 * var(--vw));
    line-height: 1.4166666667em;
  }
  .m-myproject__lead {
    margin-top: calc(6.6666666667 * var(--vw));
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.9375em;
  }
  .m-myproject__list {
    row-gap: calc(12.8205128205 * var(--vw));
    margin-top: calc(10 * var(--vw));
  }
  .m-myproject__open {
    padding: calc(5.1282051282 * var(--vw)) calc(5.3846153846 * var(--vw)) calc(5.641025641 * var(--vw));
    border-radius: calc(5.1282051282 * var(--vw)) calc(5.1282051282 * var(--vw)) calc(12.8205128205 * var(--vw));
  }
  .m-myproject__fig {
    aspect-ratio: 306/196;
    border-radius: calc(3.0769230769 * var(--vw)) calc(3.0769230769 * var(--vw)) calc(3.0769230769 * var(--vw)) 0;
  }
  .m-myproject__tag {
    min-width: calc(31.2820512821 * var(--vw));
    padding: calc(1.7948717949 * var(--vw)) 1em calc(2.0512820513 * var(--vw));
    margin-top: calc(-4.1025641026 * var(--vw));
    font-size: calc(3.5897435897 * var(--vw));
    line-height: 1.2em;
  }
  .m-myproject__caption {
    margin-top: calc(1.2820512821 * var(--vw));
    font-size: calc(5.1282051282 * var(--vw));
  }
  .m-myproject__prof {
    padding-right: calc(4.1025641026 * var(--vw));
    margin-top: calc(4.1025641026 * var(--vw));
  }
  .m-myproject__prof-img {
    width: calc(17.1794871795 * var(--vw));
  }
  .m-myproject__box {
    margin-left: calc(3.5897435897 * var(--vw));
  }
  .m-myproject__name {
    font-size: calc(3.5897435897 * var(--vw));
  }
  .m-myproject__department em,
  .m-myproject__department span {
    font-size: calc(3.0769230769 * var(--vw));
    line-height: 1.5em;
  }
  .m-myproject__arw {
    width: calc(13.3333333333 * var(--vw));
    height: calc(10.7692307692 * var(--vw));
    margin-bottom: calc(1.5384615385 * var(--vw));
  }
  .m-myproject__arw::before {
    width: calc(2.0512820513 * var(--vw));
    height: calc(3.3333333333 * var(--vw));
  }
  .m-myproject__btn {
    width: calc(89.2307692308 * var(--vw));
    margin: calc(24.1025641026 * var(--vw)) auto 0;
  }
  .m-myproject__btn::after {
    right: inherit;
    left: calc(6.558974359 * var(--vw));
    transform: rotate(180deg);
  }
  .m-myproject__btn:hover::after {
    transform: translateX(-25%) rotate(180deg);
  }
}

/* modules/history/_history.scss
-------------------------------------------------- */
@media screen and (min-width: 769px), print {
  .m-history {
    width: min(1104px, calc(78.8571428571 * var(--vw)));
    margin: 0 auto;
    padding-top: min(99px, calc(7.0714285714 * var(--vw)));
    padding-bottom: min(96px, calc(6.8571428571 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-history {
    padding: calc(17.6923076923 * var(--vw)) calc(5.3846153846 * var(--vw)) calc(10.2564102564 * var(--vw));
  }
}

/* modules/history/_title.scss
-------------------------------------------------- */
.m-history-title {
  text-align: center;
  background-color: #FFE9E8;
}
.m-history-title__foot {
  position: absolute;
  display: block;
}
.m-history-title__main-deco {
  position: relative;
}
.m-history-title__main-deco::after {
  content: "";
  position: absolute;
  display: block;
  background-image: url("../img/modules/history/title-deco.svg");
  background-repeat: no-repeat;
}
.m-history-title__list {
  display: flex;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.m-history-title__item {
  display: grid;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  aspect-ratio: 1;
  line-height: 1.2;
}
.m-history-title__item--blue {
  background-color: #144FC4;
}
.m-history-title__item--orange {
  background-color: #FF992D;
}
.m-history-title__item--green {
  background-color: #088F3E;
}
@media screen and (min-width: 769px), print {
  .m-history-title {
    position: relative;
    height: min(290px, calc(20.7142857143 * var(--vw)));
    padding-top: min(87px, calc(6.1785714286 * var(--vw)));
  }
  .m-history-title__foot--01 {
    top: 30%;
    left: 7%;
    width: min(109px, calc(7.7857142857 * var(--vw)));
    height: min(92px, calc(6.5714285714 * var(--vw)));
  }
  .m-history-title__foot--02 {
    top: 10%;
    left: 84%;
    width: min(126px, calc(9 * var(--vw)));
    height: min(78px, calc(5.5714285714 * var(--vw)));
  }
  .m-history-title__foot--03 {
    top: 74%;
    left: 78%;
    width: min(111px, calc(7.9285714286 * var(--vw)));
    height: min(81px, calc(5.7857142857 * var(--vw)));
  }
  .m-history-title::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-310%, -24%);
    display: block;
    width: min(110px, calc(7.8571428571 * var(--vw)));
    height: min(149px, calc(10.6428571429 * var(--vw)));
    background-image: url("../img/modules/history/title-chara.png");
    background-repeat: no-repeat;
    background-size: cover;
  }
  .m-history-title__sub {
    font-size: min(26px, calc(1.8571428571 * var(--vw)));
  }
  .m-history-title__main {
    margin-top: max(-9px, calc(-0.6428571429 * var(--vw)));
    font-size: min(70px, calc(5 * var(--vw)));
    line-height: 1.1285714286;
  }
  .m-history-title__main-number {
    margin-right: min(5px, calc(0.3571428571 * var(--vw)));
    font-size: min(86px, calc(6.1428571429 * var(--vw)));
  }
  .m-history-title__main-deco::after {
    content: "";
    position: absolute;
    top: 26%;
    left: 52%;
    width: min(28px, calc(2 * var(--vw)));
    height: min(14px, calc(1 * var(--vw)));
    background-size: cover;
  }
  .m-history-title__list {
    gap: min(20px, calc(1.4285714286 * var(--vw)));
    bottom: max(-45px, calc(-3.2142857143 * var(--vw)));
  }
  .m-history-title__item {
    width: min(100px, calc(7.1428571429 * var(--vw)));
    font-size: min(18px, calc(1.2857142857 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-history-title {
    height: calc(42.5641025641 * var(--vw));
    padding-top: calc(11.2820512821 * var(--vw));
  }
  .m-history-title__foot {
    display: none;
  }
  .m-history-title__sub {
    font-size: calc(4.1025641026 * var(--vw));
  }
  .m-history-title__main {
    margin-top: calc(-0.1282051282 * var(--vw));
    font-size: calc(10.2564102564 * var(--vw));
  }
  .m-history-title__main-number {
    margin-right: calc(0.7692307692 * var(--vw));
    font-size: calc(12.8205128205 * var(--vw));
  }
  .m-history-title__main-deco::after {
    content: "";
    position: absolute;
    top: 26.5%;
    left: 52%;
    width: calc(3.8461538462 * var(--vw));
    height: calc(2.0512820513 * var(--vw));
    background-size: contain;
  }
  .m-history-title__list {
    gap: calc(4.1025641026 * var(--vw));
    bottom: calc(-11.0256410256 * var(--vw));
  }
  .m-history-title__item {
    width: calc(20.5128205128 * var(--vw));
    font-size: calc(3.5897435897 * var(--vw));
  }
}

/* modules/history/_history.scss
-------------------------------------------------- */
.m-history-contents {
  position: relative;
}
.m-history-contents__trail {
  position: absolute;
  top: 0;
  height: 100%;
}
.m-history-contents__trail-base, .m-history-contents__trail-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.m-history-contents__trail-fill {
  height: 0;
  overflow: hidden;
}
.m-history-contents__trail-fill-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}
.m-history-contents__entry--2017 li:first-of-type, .m-history-contents__entry--2019 li:first-of-type {
  padding-top: 0;
}
.m-history-contents__entry-year {
  position: relative;
  font-weight: 900;
  color: #D80C18;
  letter-spacing: 0.1em;
}
.m-history-contents__entry-year::before, .m-history-contents__entry-year::after {
  position: absolute;
  display: block;
  content: "";
  background-color: #D80C18;
}
.m-history-contents__entry-year::before {
  width: 100%;
}
.m-history-contents__entry-year::after {
  aspect-ratio: 1;
  border-radius: 50%;
}
.m-history-contents__entry-year--right::after {
  left: 0;
}
.m-history-contents__entry-item p::before {
  margin-right: 0.25em;
  content: "●";
}
.m-history-contents__entry-item ul li {
  display: flex;
}
.m-history-contents__entry-item ul li::before {
  margin-right: 0.25em;
  content: "・";
}
.m-history-contents__entry-item--blue p::before {
  color: #144FC4;
}
.m-history-contents__entry-item--orange p::before {
  color: #FF992D;
}
.m-history-contents__entry-item--green p::before {
  color: #088F3E;
}
.m-history-contents__entry-image {
  overflow: hidden;
}
.m-history-contents__entry-image img {
  display: block;
  width: 100%;
}
@media screen and (min-width: 769px), print {
  .m-history-contents {
    width: min(1104px, calc(78.8571428571 * var(--vw)));
    padding-top: min(76px, calc(5.4285714286 * var(--vw)));
    padding-bottom: min(96px, calc(6.8571428571 * var(--vw)));
    margin: 0 auto;
  }
  .m-history-contents__trail {
    top: min(144px, calc(10.2857142857 * var(--vw)));
    left: 50%;
    width: min(133px, calc(9.5 * var(--vw)));
    height: min(5015px, calc(358.2142857143 * var(--vw)));
    transform: translateX(-20%);
  }
  .m-history-contents__trail-base, .m-history-contents__trail-fill-img {
    height: min(5015px, calc(358.2142857143 * var(--vw)));
  }
  .m-history-contents__entry--right .m-history-contents__entry-year {
    margin-left: auto;
    text-align: right;
  }
  .m-history-contents__entry--right .m-history-contents__entry-list {
    margin-left: auto;
  }
  .m-history-contents__entry--2016 .m-history-contents__entry-year {
    width: min(560px, calc(40 * var(--vw)));
  }
  .m-history-contents__entry--2016 .m-history-contents__entry-year::after {
    left: min(554px, calc(39.5714285714 * var(--vw)));
  }
  .m-history-contents__entry--2017 {
    margin-top: max(-547px, calc(-39.0714285714 * var(--vw)));
  }
  .m-history-contents__entry--2017 .m-history-contents__entry-year {
    width: min(474px, calc(33.8571428571 * var(--vw)));
  }
  .m-history-contents__entry--2018 {
    margin-top: max(-60px, calc(-4.2857142857 * var(--vw)));
  }
  .m-history-contents__entry--2018 .m-history-contents__entry-year {
    width: min(576px, calc(41.1428571429 * var(--vw)));
  }
  .m-history-contents__entry--2018 .m-history-contents__entry-year::after {
    left: min(570px, calc(40.7142857143 * var(--vw)));
  }
  .m-history-contents__entry--2019 {
    margin-top: max(-400px, calc(-28.5714285714 * var(--vw)));
  }
  .m-history-contents__entry--2019 .m-history-contents__entry-year {
    width: min(532px, calc(38 * var(--vw)));
  }
  .m-history-contents__entry--2020 {
    margin-top: max(-70px, calc(-5 * var(--vw)));
  }
  .m-history-contents__entry--2020 .m-history-contents__entry-year {
    width: min(526px, calc(37.5714285714 * var(--vw)));
  }
  .m-history-contents__entry--2020 .m-history-contents__entry-year::after {
    left: min(520px, calc(37.1428571429 * var(--vw)));
  }
  .m-history-contents__entry--2021 {
    margin-top: max(-350px, calc(-25 * var(--vw)));
  }
  .m-history-contents__entry--2021 .m-history-contents__entry-year {
    width: min(542px, calc(38.7142857143 * var(--vw)));
  }
  .m-history-contents__entry--2022 {
    margin-top: max(-160px, calc(-11.4285714286 * var(--vw)));
  }
  .m-history-contents__entry--2022 .m-history-contents__entry-year {
    width: min(448px, calc(32 * var(--vw)));
  }
  .m-history-contents__entry--2022 .m-history-contents__entry-year::after {
    left: min(442px, calc(31.5714285714 * var(--vw)));
  }
  .m-history-contents__entry--2023 {
    margin-top: max(-140px, calc(-10 * var(--vw)));
  }
  .m-history-contents__entry--2023 .m-history-contents__entry-year {
    width: min(480px, calc(34.2857142857 * var(--vw)));
  }
  .m-history-contents__entry--2024 {
    margin-top: max(-250px, calc(-17.8571428571 * var(--vw)));
  }
  .m-history-contents__entry--2024 .m-history-contents__entry-year {
    width: min(512px, calc(36.5714285714 * var(--vw)));
  }
  .m-history-contents__entry--2024 .m-history-contents__entry-year::after {
    left: min(506px, calc(36.1428571429 * var(--vw)));
  }
  .m-history-contents__entry--2025 {
    margin-top: max(-240px, calc(-17.1428571429 * var(--vw)));
  }
  .m-history-contents__entry--2025 .m-history-contents__entry-year {
    width: min(472px, calc(33.7142857143 * var(--vw)));
  }
  .m-history-contents__entry--last {
    width: min(650px, calc(46.4285714286 * var(--vw)));
    margin-top: max(-250px, calc(-17.8571428571 * var(--vw)));
  }
  .m-history-contents__entry--last p {
    font-size: min(18px, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889em;
  }
  .m-history-contents__entry--last .sp {
    display: none;
  }
  .m-history-contents__entry-year {
    font-size: min(80px, calc(5.7142857143 * var(--vw)));
  }
  .m-history-contents__entry-year::before {
    bottom: max(-10px, calc(-0.7142857143 * var(--vw)));
    height: min(2px, calc(0.1428571429 * var(--vw)));
  }
  .m-history-contents__entry-year::after {
    bottom: max(-15px, calc(-1.0714285714 * var(--vw)));
    width: min(12px, calc(0.8571428571 * var(--vw)));
  }
  .m-history-contents__entry-list {
    width: min(440px, calc(31.4285714286 * var(--vw)));
    margin-top: min(40px, calc(2.8571428571 * var(--vw)));
  }
  .m-history-contents__entry-item + .m-history-contents__entry-item {
    margin-top: min(20px, calc(1.4285714286 * var(--vw)));
  }
  .m-history-contents__entry-item p {
    font-size: min(18px, calc(1.2857142857 * var(--vw)));
    line-height: 1.8888888889;
  }
  .m-history-contents__entry-item small {
    font-size: min(16px, calc(1.1428571429 * var(--vw)));
    line-height: 1.9;
  }
  .m-history-contents__entry-item ul li {
    display: flex;
    font-size: min(16px, calc(1.1428571429 * var(--vw)));
    line-height: 1.95;
  }
  .m-history-contents__entry-image {
    margin-top: min(5px, calc(0.3571428571 * var(--vw)));
    border-radius: min(10px, calc(0.7142857143 * var(--vw)));
  }
  .m-history-contents__entry-image--border {
    border: min(1px, calc(0.0714285714 * var(--vw))) solid #E1E1E1;
  }
  .m-history-contents__entry-image--small {
    width: min(240px, calc(17.1428571429 * var(--vw)));
  }
  .m-history-contents__entry-image--last {
    width: min(448px, calc(32 * var(--vw)));
    margin-bottom: min(26px, calc(1.8571428571 * var(--vw)));
  }
  .m-history-contents .m-myproject__btn {
    margin-top: min(160px, calc(11.4285714286 * var(--vw)));
  }
}
@media screen and (max-width: 768px) {
  .m-history-contents {
    padding: calc(21.5384615385 * var(--vw)) calc(6.1538461538 * var(--vw)) calc(10.2564102564 * var(--vw));
  }
  .m-history-contents__trail {
    top: calc(18.4615384615 * var(--vw));
    right: calc(3.8461538462 * var(--vw));
    width: calc(13.8461538462 * var(--vw));
    height: calc(1825.641025641 * var(--vw));
  }
  .m-history-contents__trail-base, .m-history-contents__trail-fill-img {
    height: calc(1825.641025641 * var(--vw));
  }
  .m-history-contents__entry {
    width: calc(74.8717948718 * var(--vw));
  }
  .m-history-contents__entry + .m-history-contents__entry {
    margin-top: calc(20.5128205128 * var(--vw));
  }
  .m-history-contents__entry--last {
    width: 100%;
    text-align: center;
  }
  .m-history-contents__entry--last p {
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.95;
  }
  .m-history-contents__entry--last .sp {
    display: block;
  }
  .m-history-contents__entry-year {
    font-size: calc(12.3076923077 * var(--vw));
  }
  .m-history-contents__entry-year::before {
    bottom: calc(-1.7948717949 * var(--vw));
    width: calc(76.9230769231 * var(--vw));
    height: 1px;
  }
  .m-history-contents__entry-year::after {
    right: calc(-2.8205128205 * var(--vw));
    bottom: calc(-2.4358974359 * var(--vw));
    width: calc(1.5384615385 * var(--vw));
  }
  .m-history-contents__entry-list {
    margin-top: calc(7.6923076923 * var(--vw));
  }
  .m-history-contents__entry-item + .m-history-contents__entry-item {
    margin-top: calc(5.1282051282 * var(--vw));
  }
  .m-history-contents__entry-item p {
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.95;
  }
  .m-history-contents__entry-item small {
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.95;
  }
  .m-history-contents__entry-item ul li {
    display: flex;
    font-size: calc(4.1025641026 * var(--vw));
    line-height: 1.95;
  }
  .m-history-contents__entry-image {
    width: calc(57.9487179487 * var(--vw));
    margin-top: calc(1.2820512821 * var(--vw));
    border-radius: calc(2.5641025641 * var(--vw));
  }
  .m-history-contents__entry-image--border {
    border: calc(0.2564102564 * var(--vw)) solid #E1E1E1;
  }
  .m-history-contents__entry-image--last {
    width: calc(58.9743589744 * var(--vw));
    margin: 0 auto calc(6.6666666667 * var(--vw));
  }
}

/* patches/_foresr.scss
-------------------------------------------------- */
@media screen and (max-width: 768px) {
  html:has(.p-forest) {
    scroll-behavior: inherit;
  }
}