@charset "UTF-8";
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sassを使用しているので、cssファイルを直接編集しないでください。
先祖返りの原因となります。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/*
==================================================
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 {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font: inherit;
  color: inherit;
  line-height: inherit;
  vertical-align: baseline;
  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: "";
  content: none;
}

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

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

/* setting/_base.scss
-------------------------------------------------- */
/* setting/_extend.scss
-------------------------------------------------- */
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

@keyframes ItemLink {
  0% {
    scale: 0.8;
    opacity: 0;
  }
  100% {
    scale: 1;
    opacity: 1;
  }
}
@keyframes ItemSpeech {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(-5%);
  }
  75% {
    transform: translateY(5%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes openingText {
  0% {
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
  100% {
    clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
  }
}
@keyframes openingLogo {
  0% {
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  }
  100% {
    clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
  }
}
@keyframes openingBefore {
  0% {
    left: 0;
  }
  100% {
    left: -60vw;
  }
}
@keyframes openingAfter {
  0% {
    right: 0;
  }
  100% {
    right: -60vw;
  }
}
@keyframes modalMain {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes modalThumb {
  0% {
    scale: 0.8;
    opacity: 0;
  }
  100% {
    scale: 1;
    opacity: 1;
  }
}
@keyframes modalSpeech {
  0% {
    transform: translateY(5%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes modalSpeechReverse {
  0% {
    transform: translateY(-5%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes snsFigure {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes snsIcon {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes kvIcon {
  0% {
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes scrollBar {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  45% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  56% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
html {
  scroll-behavior: smooth;
}

body {
  position: relative;
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
  color: #000000;
  background-color: #FFFFFF;
  background: linear-gradient(to right, #F2FAE1 0%, #F2FAE1 50%, #79979E 50%, #79979E 100%);
}
body::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  background: linear-gradient(to right, #E6F5D5 0%, #E6F5D5 50%, #86A1A8 50%, #86A1A8 100%);
  transition: opacity 0.2s linear;
}
body:has(.m-section-02.is-fade)::before {
  opacity: 1;
}
body:has(.m-section-02.is-fade):has(.m-section-03.is-fade)::before {
  opacity: 0;
}
body:has(.m-section-02.is-fade):has(.m-section-03.is-fade):has(.m-section-04.is-fade)::before {
  opacity: 1;
}

main {
  z-index: 1;
}

img,
svg {
  vertical-align: bottom;
}

main figure {
  margin: 0;
}

img {
  height: auto;
}

svg {
  height: auto;
}

a {
  text-decoration: none;
}
a[href=""] {
  pointer-events: none;
}

a, div, button {
  -webkit-tap-highlight-color: transparent;
}

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

textarea {
  overflow: auto;
  resize: none;
}

input::-ms-clear {
  visibility: hidden;
}

select::-ms-expand {
  display: none;
}

button, label {
  cursor: pointer;
}

[data-hidden] {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  color: transparent;
  opacity: 0;
  transform: scale(0);
}

@media screen and (min-width: 769px) {
  [data-device=sp] {
    display: none !important;
  }
  a[href^=tel] {
    pointer-events: none;
  }
  input[type^=text],
  textarea {
    padding: min(15px, 1.0416666667vw);
    border-width: min(2px, 0.1388888889vw);
    font-size: clamp(10px, 1.25vw, 1.125rem);
    border-radius: min(15px, 1.0416666667vw);
  }
}
@media screen and (max-width: 768px) {
  [data-device=pc] {
    display: none !important;
  }
  body {
    -webkit-overflow-scrolling: touch;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  input[type^=text],
  textarea {
    padding: 4vw;
    border-width: 0.5333333333vw;
    font-size: 4.8vw;
    border-radius: 4vw;
  }
}
/* setting/_base.scss
-------------------------------------------------- */
/* lib/_slick.scss
-------------------------------------------------- */
.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: flex;
}
.slick-track::after {
  content: "";
  clear: both;
}
.slick-slide {
  display: none;
  float: left;
  height: auto !important;
  min-height: 1px;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-initialized .slick-slide {
  display: block;
}
.m-modal .slick-dots {
  display: flex;
  justify-content: center;
  align-items: center;
}
.m-modal .slick-dots li {
  color: #CAD3D6;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 600;
}
.m-modal .slick-dots li.slick-active {
  color: #FFFFFF;
}
@media screen and (min-width: 769px) {
  .m-modal .slick-dots {
    margin-top: min(40px, 2.7777777778vw);
    gap: 0 min(24px, 1.6666666667vw);
  }
  .m-modal .slick-dots li {
    font-size: clamp(10px, 1.1111111111vw, 1rem);
    transition: opacity 0.2s linear;
  }
  .m-modal .slick-dots li:hover {
    opacity: 0.5;
  }
  .m-modal .slick-dots li.slick-active {
    font-size: clamp(10px, 1.6666666667vw, 1.5rem);
  }
  .m-modal .slick-dots li.slick-active:hover {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .m-modal .slick-dots {
    margin-top: 9.8666666667vw;
    gap: 0 6.4vw;
  }
  .m-modal .slick-dots li {
    font-size: 4.2666666667vw;
  }
  .m-modal .slick-dots li.slick-active {
    font-size: 6.4vw;
  }
}

/* setting/_base.scss
-------------------------------------------------- */
/* global/_header.scss
-------------------------------------------------- */
.g-header__logo img {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .g-header__logo {
    position: fixed;
    top: min(27px, 1.875vw);
    right: min(29px, 2.0138888889vw);
    z-index: 5;
    width: min(48px, 3.3333333333vw);
  }
}
@media screen and (max-width: 768px) {
  .g-header__logo {
    padding: 5.0666666667vw 0 6.4vw;
    margin-left: auto;
    margin-right: 4.2666666667vw;
    width: 10.6666666667vw;
  }
}

/* setting/_base.scss
-------------------------------------------------- */
/* global/_footer.scss
-------------------------------------------------- */
.g-footer {
  background-color: #FFFFFF;
}
.g-footer__logo img {
  width: 100%;
}
.g-footer__pagetop {
  text-align: center;
}
.g-footer__pagetop-iconbox {
  aspect-ratio: 1/1;
}
.g-footer__pagetop-iconbox::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  mask: url(../img/common/sns_bg.svg) center center no-repeat;
  mask-size: cover;
  background-color: #485157;
  opacity: 0.3;
}
.g-footer__pagetop-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: url(../img/common/sns_bg.svg) center center no-repeat;
  background-size: cover;
}
.g-footer__pagetop-icon::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(../img/common/sns_bg_hover.svg) center center no-repeat;
  background-size: cover;
  opacity: 0;
}
.g-footer__pagetop p {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 600;
}
.g-footer__copyright {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 600;
}
@media screen and (min-width: 769px) {
  .g-footer {
    padding-top: min(86px, 5.9722222222vw);
    padding-bottom: min(24px, 1.6666666667vw);
  }
  .g-footer::before {
    content: "";
    position: absolute;
    top: -6.3194444444vw;
    left: 0;
    width: 6.3888888889vw;
    height: 6.3888888889vw;
    background-color: #FFFFFF;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
  }
  .g-footer::after {
    content: "";
    position: absolute;
    top: -6.3194444444vw;
    right: 0;
    width: 6.3888888889vw;
    height: 6.3888888889vw;
    background-color: #FFFFFF;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
    transform: scale(-1, 1);
  }
  .g-footer__inner {
    max-width: min(1348px, 93.6111111111vw);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: end;
  }
  .g-footer__logo {
    width: min(1196px, 83.0555555556vw);
  }
  .g-footer__pagetop {
    width: min(90px, 6.25vw);
    margin-bottom: max(-5px, -0.3472222222vw);
  }
  .g-footer__pagetop-iconbox {
    width: min(72px, 5vw);
    margin: 0 auto;
  }
  .g-footer__pagetop-iconbox::before {
    top: min(4px, 0.2777777778vw);
    left: min(4px, 0.2777777778vw);
    transition: top 0.2s linear, left 0.2s linear;
  }
  .g-footer__pagetop-icon::before {
    transition: opacity 0.2s linear;
  }
  .g-footer__pagetop-icon img {
    width: min(40px, 2.7777777778vw);
  }
  .g-footer__pagetop p {
    margin-top: min(8px, 0.5555555556vw);
    font-size: clamp(10px, 1.3888888889vw, 1.25rem);
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  .g-footer__pagetop:hover .g-footer__pagetop-iconbox::before {
    top: min(6px, 0.4166666667vw);
    left: min(6px, 0.4166666667vw);
  }
  .g-footer__pagetop:hover .g-footer__pagetop-icon::before {
    opacity: 1;
  }
  .g-footer__copyright {
    max-width: min(1348px, 93.6111111111vw);
    margin: min(33px, 2.2916666667vw) auto 0;
    font-size: clamp(10px, 1.1111111111vw, 1rem);
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  .g-footer {
    padding-top: 12.8vw;
    padding-bottom: 6.4vw;
  }
  .g-footer::before {
    content: "";
    position: absolute;
    top: -13.6vw;
    left: 0;
    width: 13.8666666667vw;
    height: 13.8666666667vw;
    background-color: #FFFFFF;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
    z-index: 1;
  }
  .g-footer::after {
    content: "";
    position: absolute;
    top: -13.6vw;
    right: 0;
    width: 13.8666666667vw;
    height: 13.8666666667vw;
    background-color: #FFFFFF;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
    transform: scale(-1, 1);
    z-index: 1;
  }
  .g-footer__inner {
    width: 89.3333333333vw;
    margin: 0 auto;
    display: flex;
    flex-direction: column-reverse;
    gap: 10.6666666667vw;
  }
  .g-footer__logo {
    width: 100%;
  }
  .g-footer__pagetop {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 4vw;
  }
  .g-footer__pagetop-iconbox {
    width: 12.8vw;
  }
  .g-footer__pagetop-iconbox::before {
    top: 1.0666666667vw;
    left: 1.0666666667vw;
  }
  .g-footer__pagetop-icon img {
    width: 6.4vw;
  }
  .g-footer__pagetop p {
    font-size: 5.3333333333vw;
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
  .g-footer__copyright {
    text-align: center;
    margin-top: 7.2vw;
    font-size: 2.6666666667vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}

/* setting/_base.scss
-------------------------------------------------- */
/* modules/_opening.scss
-------------------------------------------------- */
.m-opening {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100vw;
  height: 100vh;
  z-index: 1000;
}
.m-opening::before {
  content: "";
  position: absolute;
  width: 50%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #F2FAE1;
}
.m-opening::after {
  content: "";
  position: absolute;
  width: 50%;
  height: 100%;
  top: 0;
  right: 0;
  background-color: #79979E;
}
.m-opening__main {
  z-index: 1;
}
.m-opening__copy {
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  transition: opacity 0.2s linear;
}
.m-opening__copy span {
  position: absolute;
  top: 0;
  left: 0;
}
.m-opening__copy span img {
  width: 100%;
}
.m-opening__logo svg {
  width: 100%;
}
.m-opening__logo svg path {
  transition: opacity 0.2s linear;
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
}
.m-opening.is-load::before {
  animation: openingBefore 0.8s ease-out forwards 1.8s;
}
.m-opening.is-load::after {
  animation: openingAfter 0.8s ease-out forwards 1.8s;
}
.m-opening.is-load .m-opening__copy {
  animation: openingText 0.6s cubic-bezier(0.075, 0.82, 0.165, 1) forwards 0.1s;
  opacity: 0;
  transition-delay: 1.3s;
}
.m-opening.is-load .m-opening__logo svg path {
  opacity: 0;
  transition-delay: 1.3s;
}
.m-opening.is-load .m-opening__logo svg path:first-child {
  animation: openingLogo 0.4s cubic-bezier(0.075, 0.82, 0.165, 1) forwards;
}
.m-opening.is-load .m-opening__logo svg path:nth-child(2) {
  animation: openingLogo 0.4s cubic-bezier(0.075, 0.82, 0.165, 1) forwards 0.05s;
}
.m-opening.is-load .m-opening__logo svg path:nth-child(3) {
  animation: openingLogo 0.4s cubic-bezier(0.075, 0.82, 0.165, 1) forwards 0.1s;
}
.m-opening.is-load .m-opening__logo svg path:nth-child(6) {
  animation: openingLogo 0.4s cubic-bezier(0.075, 0.82, 0.165, 1) forwards 0.15s;
}
.m-opening.is-load .m-opening__logo svg path:nth-child(4) {
  animation: openingLogo 0.4s cubic-bezier(0.075, 0.82, 0.165, 1) forwards 0.2s;
}
.m-opening.is-load .m-opening__logo svg path:nth-child(5) {
  animation: openingLogo 0.4s cubic-bezier(0.075, 0.82, 0.165, 1) forwards 0.25s;
}
@media screen and (min-width: 769px) {
  .m-opening__copy {
    width: min(279px, 19.375vw);
    height: min(45px, 3.125vw);
  }
  .m-opening__copy span {
    width: min(279px, 19.375vw);
    height: min(56px, 3.8888888889vw);
  }
  .m-opening__logo {
    width: min(256px, 17.7777777778vw);
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .m-opening__copy {
    width: 37.3333333333vw;
    height: 6.1333333333vw;
    margin-bottom: 1.3333333333vw;
  }
  .m-opening__copy span {
    width: 37.3333333333vw;
    height: 6.1333333333vw;
  }
  .m-opening__logo {
    width: 34.1333333333vw;
    margin: 0 auto;
  }
}

/* setting/_base.scss
-------------------------------------------------- */
/* modules/_kv.scss
-------------------------------------------------- */
.m-kv.is-loaded .m-kv__icon svg g:first-child {
  animation: kvIcon 0.3s linear forwards;
}
.m-kv.is-loaded .m-kv__icon svg g:not(:first-child) {
  animation: kvIcon 0.3s linear forwards;
}
.m-kv.is-loaded .m-kv__scroll {
  opacity: 1;
}
.m-kv__fig {
  width: 100%;
}
.m-kv__img {
  width: 100%;
}
.m-kv__icon svg {
  width: 100%;
}
.m-kv__icon svg g {
  opacity: 0;
  transform: translateY(20px);
}
.m-kv__scroll {
  position: absolute;
  opacity: 0;
  transition: opacity 0.2s linear;
}
.m-kv__scroll-txt {
  color: #798184;
  font-weight: 600;
  letter-spacing: 0.05em;
  font-family: "Barlow Semi Condensed", sans-serif;
}
.m-kv__scroll-bar::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #798184;
  animation: scrollBar 2s cubic-bezier(0.81, 0.01, 0.2, 0.99) infinite;
}
@media screen and (min-width: 769px) {
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(2) {
    animation-delay: 0s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(3) {
    animation-delay: 0.04s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(4) {
    animation-delay: 0.08s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(5) {
    animation-delay: 0.12s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(6) {
    animation-delay: 0.16s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(7) {
    animation-delay: 0.2s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(8) {
    animation-delay: 0.24s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(9) {
    animation-delay: 0.28s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(10) {
    animation-delay: 0.32s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(11) {
    animation-delay: 0.36s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(12) {
    animation-delay: 0.4s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(13) {
    animation-delay: 0.44s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(14) {
    animation-delay: 0.48s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(15) {
    animation-delay: 0.52s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(16) {
    animation-delay: 0.56s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(17) {
    animation-delay: 0.6s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(18) {
    animation-delay: 0.64s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(19) {
    animation-delay: 0.68s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(20) {
    animation-delay: 0.72s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(21) {
    animation-delay: 0.76s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(22) {
    animation-delay: 0.8s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(23) {
    animation-delay: 0.84s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(24) {
    animation-delay: 0.88s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(25) {
    animation-delay: 0.92s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(26) {
    animation-delay: 0.96s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:first-child {
    animation-delay: 1.46s;
  }
  .m-kv__icon {
    position: absolute;
    top: 1.3888888889vw;
    left: 0.8333333333vw;
    width: 96.875vw;
  }
  .m-kv__scroll {
    left: 50%;
    top: 22.2222222222vw;
    transform: translateX(-50%);
    transition-delay: 1.91s;
  }
  .m-kv__scroll-txt {
    font-size: clamp(10px, 1.3888888889vw, 1.25rem);
    line-height: 1.8;
    margin-bottom: 0.625vw;
  }
  .m-kv__scroll-bar {
    margin: 0 auto;
    width: 2px;
    height: 3.4722222222vw;
  }
}
@media screen and (max-width: 768px) {
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(2) {
    animation-delay: 0s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(3) {
    animation-delay: 0.04s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(4) {
    animation-delay: 0.08s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(5) {
    animation-delay: 0.12s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(6) {
    animation-delay: 0.16s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(7) {
    animation-delay: 0.2s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(8) {
    animation-delay: 0.24s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(9) {
    animation-delay: 0.28s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:nth-child(10) {
    animation-delay: 0.32s;
  }
  .m-kv.is-loaded .m-kv__icon svg g:first-child {
    animation-delay: 0.82s;
  }
  .m-kv {
    margin-bottom: 49.0666666667vw;
  }
  .m-kv__icon {
    position: absolute;
    top: 10.4vw;
    left: 2.4vw;
    width: 94.1866666667vw;
  }
  .m-kv__scroll {
    left: 5.0666666667vw;
    bottom: -29.6vw;
    display: flex;
    flex-direction: row-reverse;
    gap: 0 3.7333333333vw;
    transition-delay: 1.27s;
  }
  .m-kv__scroll-txt {
    margin-top: -1.6vw;
    font-size: 4.2666666667vw;
    line-height: 1.8;
  }
  .m-kv__scroll-bar {
    margin: 0 auto;
    width: 1px;
    height: 18.6666666667vw;
  }
}

/* setting/_base.scss
-------------------------------------------------- */
/* modules/_section.scss
-------------------------------------------------- */
.m-section-01 .m-section__speech::before {
  background: url(../img/modules/section/speech01.svg) center center no-repeat;
  background-size: contain;
}
.m-section-02 .m-section__speech::before {
  background: url(../img/modules/section/speech02.svg) center center no-repeat;
  background-size: contain;
}
.m-section-03 .m-section__speech::before {
  background: url(../img/modules/section/speech03.svg) center center no-repeat;
  background-size: contain;
}
.m-section-04 .m-section__speech::before {
  background: url(../img/modules/section/speech04.svg) center center no-repeat;
  background-size: contain;
}
.m-section__thumb.is-active .m-section__thumb-main {
  animation: modalMain 0.2s linear forwards;
}
.m-section__thumb.is-active .m-section__thumb-main::after {
  animation: modalMain 0.2s linear forwards 0.7s;
}
.m-section__thumb.is-active .m-section__speech {
  animation: modalSpeech 0.3s linear forwards 1s;
}
.m-section__thumb.is-active figure {
  animation: modalThumb 0.4s cubic-bezier(0.22, 1.09, 0.75, 0.98) forwards 0.3s;
}
.m-section__thumb-main {
  position: relative;
  background-color: #FFFFFF;
  opacity: 0;
  transition: opacity 0.2s linear;
}
.m-section__thumb-main::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(../img/common/icon_play.svg) center center no-repeat;
  background-size: cover;
  opacity: 0;
}
.m-section__thumb-main::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(../img/common/icon_play_hover.svg) center center no-repeat;
  background-size: cover;
  opacity: 0;
}
.m-section__thumb figure {
  width: 100%;
  aspect-ratio: 952/535;
  overflow: hidden;
  scale: 0.8;
  opacity: 0;
}
.m-section__thumb img {
  width: 100%;
  height: 100%;
}
.m-section__speech {
  position: absolute;
  color: #FFFFFF;
  text-align: center;
  font-weight: 500;
  opacity: 0;
  transform: translateY(5%);
}
.m-section__speech::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.m-section__cont {
  display: flex;
  justify-content: center;
}
.m-section__list {
  flex: 1;
}
.m-section__btnbox::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  mask: url(../img/common/btn.svg) center center no-repeat;
  mask-size: contain;
  background-color: #485157;
  opacity: 0.7;
}
.m-section__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../img/common/btn.svg) center center no-repeat;
  background-size: cover;
  color: #FFFFFF;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.m-section__btn span {
  z-index: 2;
}
.m-section__btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/common/btn_hover.svg) center center no-repeat;
  background-size: cover;
  opacity: 0;
}
@media screen and (min-width: 769px) {
  .m-section-01 {
    padding-top: min(120px, 8.3333333333vw);
    padding-bottom: min(128px, 8.8888888889vw);
  }
  .m-section-01 .m-section__speech {
    padding-top: min(26px, 1.8055555556vw);
    width: min(247px, 17.1527777778vw);
    height: min(108px, 7.5vw);
    left: max(-116px, -8.0555555556vw);
    bottom: max(-48px, -3.3333333333vw);
  }
  .m-section-02 {
    padding-top: min(168px, 11.6666666667vw);
    padding-bottom: min(128px, 8.8888888889vw);
  }
  .m-section-02 .m-section__cont {
    margin-top: min(132px, 9.1666666667vw);
  }
  .m-section-02 .m-section__speech {
    padding-top: min(6px, 0.4166666667vw);
    width: min(384px, 26.6666666667vw);
    height: min(108px, 7.5vw);
    right: max(-116px, -8.0555555556vw);
    top: max(-48px, -3.3333333333vw);
  }
  .m-section-03 {
    padding-top: min(120px, 8.3333333333vw);
    padding-bottom: min(128px, 8.8888888889vw);
  }
  .m-section-03 .m-section__cont {
    margin-top: min(137px, 9.5138888889vw);
  }
  .m-section-03 .m-section__speech {
    padding-top: min(26px, 1.8055555556vw);
    width: min(507px, 35.2083333333vw);
    height: min(108px, 7.5vw);
    left: max(-84px, -5.8333333333vw);
    bottom: max(-48px, -3.3333333333vw);
  }
  .m-section-04 {
    padding-top: min(174px, 12.0833333333vw);
    padding-bottom: min(128px, 8.8888888889vw);
  }
  .m-section-04 .m-section__cont {
    margin-top: min(124px, 8.6111111111vw);
  }
  .m-section-04 .m-section__speech {
    padding-top: min(6px, 0.4166666667vw);
    width: min(466px, 32.3611111111vw);
    height: min(108px, 7.5vw);
    right: max(-116px, -8.0555555556vw);
    top: max(-48px, -3.3333333333vw);
  }
  .m-section__thumb {
    width: min(976px, 67.7777777778vw);
    margin: 0 auto;
    cursor: pointer;
  }
  .m-section__thumb:hover .m-section__thumb-main {
    box-shadow: min(18px, 1.25vw) min(18px, 1.25vw) 0 rgba(65, 66, 67, 0.5);
  }
  .m-section__thumb:hover .m-section__thumb-main::before {
    opacity: 1;
  }
  .m-section__thumb:hover figure img {
    transform: scale(1.1);
  }
  .m-section__thumb-main {
    padding: min(10px, 0.6944444444vw);
    border: 2px solid #CAD3D6;
    box-shadow: min(12px, 0.8333333333vw) min(12px, 0.8333333333vw) 0 rgba(65, 66, 67, 0.5);
    transition: box-shadow 0.2s linear;
  }
  .m-section__thumb-main::after {
    width: min(72px, 5vw);
    height: min(72px, 5vw);
  }
  .m-section__thumb-main::before {
    width: min(72px, 5vw);
    height: min(72px, 5vw);
    transition: 0.2s opacity linear;
    z-index: 2;
  }
  .m-section__thumb figure img {
    transition: transform 0.2s linear;
  }
  .m-section__speech {
    font-size: clamp(10px, 2.7777777778vw, 2.5rem);
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
  .m-section__cont {
    margin-top: min(156px, 10.8333333333vw);
  }
  .m-section__btnbox {
    width: min(281px, 19.5138888889vw);
    height: min(94px, 6.5277777778vw);
    margin: min(92px, 6.3888888889vw) auto 0;
  }
  .m-section__btnbox::before {
    top: min(8px, 0.5555555556vw);
    left: min(8px, 0.5555555556vw);
    transition: top 0.2s linear, left 0.2s linear;
  }
  .m-section__btnbox:hover::before {
    top: min(12px, 0.8333333333vw);
    left: min(12px, 0.8333333333vw);
  }
  .m-section__btn {
    width: 100%;
    height: 100%;
    font-size: clamp(10px, 1.9444444444vw, 1.75rem);
    transition: filter 0.2s linear;
  }
  .m-section__btn::after {
    transition: 0.2s opacity linear;
  }
  .m-section__btn:hover::after {
    opacity: 1;
  }
  .m-section__list-01 .m-section__item:first-child {
    margin-left: auto;
    margin-right: min(226px, 15.6944444444vw);
    width: min(316px, 21.9444444444vw);
  }
  .m-section__list-01 .m-section__item:first-child .m-item__img {
    top: max(-19px, -1.3194444444vw);
    left: min(20px, 1.3888888889vw);
    width: min(249px, 17.2916666667vw);
  }
  .m-section__list-01 .m-section__item:first-child .m-item__icon {
    top: max(-6px, -0.4166666667vw);
    right: max(-128px, -8.8888888889vw);
    width: min(188px, 13.0555555556vw);
  }
  .m-section__list-01 .m-section__item:first-child .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-01 .m-section__item:first-child .m-item__icon-txt {
    width: min(147px, 10.2083333333vw);
    top: min(14px, 0.9722222222vw);
    left: min(20px, 1.3888888889vw);
  }
  .m-section__list-01 .m-section__item:nth-child(2) {
    margin-top: min(76px, 5.2777777778vw);
    margin-left: auto;
    margin-right: min(93px, 6.4583333333vw);
    width: min(236px, 16.3888888889vw);
  }
  .m-section__list-01 .m-section__item:nth-child(2) .m-item__img {
    top: min(63px, 4.375vw);
    left: min(17px, 1.1805555556vw);
    width: min(237px, 16.4583333333vw);
  }
  .m-section__list-01 .m-section__item:nth-child(2) .m-item__icon {
    top: min(18px, 1.25vw);
    left: max(-204px, -14.1666666667vw);
    width: min(239px, 16.5972222222vw);
  }
  .m-section__list-01 .m-section__item:nth-child(2) .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-01 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: min(176px, 12.2222222222vw);
    top: min(17px, 1.1805555556vw);
    left: min(24px, 1.6666666667vw);
  }
  .m-section__list-01 .m-section__item:nth-child(3) {
    margin-top: min(44px, 3.0555555556vw);
    margin-left: auto;
    margin-right: min(349px, 24.2361111111vw);
    width: min(256px, 17.7777777778vw);
  }
  .m-section__list-01 .m-section__item:nth-child(3) .m-item__img {
    top: max(-74px, -5.1388888889vw);
    left: min(37px, 2.5694444444vw);
    width: min(167px, 11.5972222222vw);
  }
  .m-section__list-01 .m-section__item:nth-child(3) .m-item__icon {
    top: min(27px, 1.875vw);
    right: max(-112px, -7.7777777778vw);
    width: min(152px, 10.5555555556vw);
  }
  .m-section__list-01 .m-section__item:nth-child(3) .m-item__icon-speech {
    background-color: #45B035;
    transform: scale(-1, 1);
  }
  .m-section__list-01 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: min(112px, 7.7777777778vw);
    top: min(11px, 0.7638888889vw);
    left: min(24px, 1.6666666667vw);
  }
  .m-section__list-01 .m-section__item:nth-child(4) {
    margin-top: min(76px, 5.2777777778vw);
    margin-left: auto;
    margin-right: min(185px, 12.8472222222vw);
    width: min(304px, 21.1111111111vw);
  }
  .m-section__list-01 .m-section__item:nth-child(4) .m-item__img {
    top: min(27px, 1.875vw);
    left: min(54px, 3.75vw);
    width: min(272px, 18.8888888889vw);
  }
  .m-section__list-01 .m-section__item:nth-child(4) .m-item__icon {
    top: max(-32px, -2.2222222222vw);
    right: max(-116px, -8.0555555556vw);
    width: min(188px, 13.0555555556vw);
  }
  .m-section__list-01 .m-section__item:nth-child(4) .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-01 .m-section__item:nth-child(4) .m-item__icon-txt {
    width: min(147px, 10.2083333333vw);
    top: min(14px, 0.9722222222vw);
    left: min(20px, 1.3888888889vw);
  }
  .m-section__list-02 {
    margin-top: min(8px, 0.5555555556vw);
  }
  .m-section__list-02 .m-section__item:first-child {
    margin-left: min(267px, 18.5416666667vw);
    width: min(256px, 17.7777777778vw);
  }
  .m-section__list-02 .m-section__item:first-child .m-item__img {
    top: max(-19px, -1.3194444444vw);
    left: min(37px, 2.5694444444vw);
    width: min(249px, 17.2916666667vw);
  }
  .m-section__list-02 .m-section__item:first-child .m-item__icon {
    top: min(73px, 5.0694444444vw);
    left: max(-165px, -11.4583333333vw);
    width: min(200px, 13.8888888889vw);
  }
  .m-section__list-02 .m-section__item:first-child .m-item__icon-speech {
    background-color: #485157;
  }
  .m-section__list-02 .m-section__item:first-child .m-item__icon-txt {
    width: min(147px, 10.2083333333vw);
    top: min(14px, 0.9722222222vw);
    left: min(20px, 1.3888888889vw);
  }
  .m-section__list-02 .m-section__item:nth-child(2) {
    margin-top: min(74px, 5.1388888889vw);
    margin-left: min(102px, 7.0833333333vw);
    width: min(304px, 21.1111111111vw);
  }
  .m-section__list-02 .m-section__item:nth-child(2) .m-item__img {
    top: min(68px, 4.7222222222vw);
    left: min(25px, 1.7361111111vw);
    width: min(310px, 21.5277777778vw);
  }
  .m-section__list-02 .m-section__item:nth-child(2) .m-item__icon {
    top: max(-35px, -2.4305555556vw);
    left: max(-40px, -2.7777777778vw);
    width: min(168px, 11.6666666667vw);
  }
  .m-section__list-02 .m-section__item:nth-child(2) .m-item__icon-speech {
    background-color: #485157;
    transform: scale(-1, 1);
  }
  .m-section__list-02 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: min(132px, 9.1666666667vw);
    top: min(13px, 0.9027777778vw);
    left: min(18px, 1.25vw);
  }
  .m-section__list-02 .m-section__item:nth-child(3) {
    margin-top: min(28px, 1.9444444444vw);
    margin-left: min(367px, 25.4861111111vw);
    width: min(224px, 15.5555555556vw);
  }
  .m-section__list-02 .m-section__item:nth-child(3) .m-item__img {
    top: min(31px, 2.1527777778vw);
    left: min(31px, 2.1527777778vw);
    width: min(164px, 11.3888888889vw);
  }
  .m-section__list-02 .m-section__item:nth-child(3) .m-item__icon {
    top: min(118px, 8.1944444444vw);
    left: max(-268px, -18.6111111111vw);
    width: min(294px, 20.4166666667vw);
  }
  .m-section__list-02 .m-section__item:nth-child(3) .m-item__icon-speech {
    background-color: #485157;
  }
  .m-section__list-02 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: min(217px, 15.0694444444vw);
    top: min(21px, 1.4583333333vw);
    left: min(30px, 2.0833333333vw);
  }
  .m-section__list-02 .m-section__item:nth-child(4) {
    margin-top: min(84px, 5.8333333333vw);
    margin-left: min(99px, 6.875vw);
    width: min(304px, 21.1111111111vw);
  }
  .m-section__list-02 .m-section__item:nth-child(4) .m-item__img {
    top: min(4px, 0.2777777778vw);
    left: max(-22px, -1.5277777778vw);
    width: min(286px, 19.8611111111vw);
  }
  .m-section__list-02 .m-section__item:nth-child(4) .m-item__icon {
    top: min(168px, 11.6666666667vw);
    right: max(-200px, -13.8888888889vw);
    width: min(278px, 19.3055555556vw);
  }
  .m-section__list-02 .m-section__item:nth-child(4) .m-item__icon-speech {
    background-color: #485157;
    transform: scale(-1, 1);
  }
  .m-section__list-02 .m-section__item:nth-child(4) .m-item__icon-txt {
    width: min(205px, 14.2361111111vw);
    top: min(20px, 1.3888888889vw);
    left: min(44px, 3.0555555556vw);
  }
  .m-section__list-03 .m-section__item:first-child {
    margin-right: min(257px, 17.8472222222vw);
    margin-left: auto;
    width: min(304px, 21.1111111111vw);
  }
  .m-section__list-03 .m-section__item:first-child .m-item__img {
    top: min(6px, 0.4166666667vw);
    left: max(-30px, -2.0833333333vw);
    width: min(314px, 21.8055555556vw);
  }
  .m-section__list-03 .m-section__item:first-child .m-item__icon {
    top: max(-21px, -1.4583333333vw);
    right: max(-200px, -13.8888888889vw);
    width: min(252px, 17.5vw);
  }
  .m-section__list-03 .m-section__item:first-child .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-03 .m-section__item:first-child .m-item__icon-txt {
    width: min(197px, 13.6805555556vw);
    top: min(20px, 1.3888888889vw);
    left: min(27px, 1.875vw);
  }
  .m-section__list-03 .m-section__item:nth-child(2) {
    margin-top: min(76px, 5.2777777778vw);
    margin-left: auto;
    margin-right: min(96px, 6.6666666667vw);
    width: min(224px, 15.5555555556vw);
  }
  .m-section__list-03 .m-section__item:nth-child(2) .m-item__img {
    top: max(-64px, -4.4444444444vw);
    left: min(16px, 1.1111111111vw);
    width: min(220px, 15.2777777778vw);
  }
  .m-section__list-03 .m-section__item:nth-child(2) .m-item__icon {
    top: min(22px, 1.5277777778vw);
    left: max(-200px, -13.8888888889vw);
    width: min(229px, 15.9027777778vw);
  }
  .m-section__list-03 .m-section__item:nth-child(2) .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-03 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: min(169px, 11.7361111111vw);
    top: min(17px, 1.1805555556vw);
    left: min(23px, 1.5972222222vw);
  }
  .m-section__list-03 .m-section__item:nth-child(3) {
    margin-top: min(92px, 6.3888888889vw);
    margin-left: auto;
    margin-right: min(317px, 22.0138888889vw);
    width: min(256px, 17.7777777778vw);
  }
  .m-section__list-03 .m-section__item:nth-child(3) .m-item__img {
    top: max(-46px, -3.1944444444vw);
    left: max(-19px, -1.3194444444vw);
    width: min(252px, 17.5vw);
  }
  .m-section__list-03 .m-section__item:nth-child(3) .m-item__icon {
    top: max(-36px, -2.5vw);
    right: max(-164px, -11.3888888889vw);
    width: min(235px, 16.3194444444vw);
  }
  .m-section__list-03 .m-section__item:nth-child(3) .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-03 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: min(184px, 12.7777777778vw);
    top: min(18px, 1.25vw);
    left: min(25px, 1.7361111111vw);
  }
  .m-section__list-04 {
    margin-top: min(16px, 1.1111111111vw);
  }
  .m-section__list-04 .m-section__item:first-child {
    margin-left: min(315px, 21.875vw);
    width: min(256px, 17.7777777778vw);
  }
  .m-section__list-04 .m-section__item:first-child .m-item__img {
    top: min(70px, 4.8611111111vw);
    left: min(47px, 3.2638888889vw);
    width: min(246px, 17.0833333333vw);
  }
  .m-section__list-04 .m-section__item:first-child .m-item__icon {
    top: min(5px, 0.3472222222vw);
    left: max(-132px, -9.1666666667vw);
    width: min(203px, 14.0972222222vw);
  }
  .m-section__list-04 .m-section__item:first-child .m-item__icon-speech {
    background-color: #485157;
    transform: scale(-1, 1);
  }
  .m-section__list-04 .m-section__item:first-child .m-item__icon-txt {
    width: min(159px, 11.0416666667vw);
    top: min(16px, 1.1111111111vw);
    left: min(22px, 1.5277777778vw);
  }
  .m-section__list-04 .m-section__item:nth-child(2) {
    margin-top: min(60px, 4.1666666667vw);
    margin-left: min(111px, 7.7083333333vw);
    width: min(304px, 21.1111111111vw);
  }
  .m-section__list-04 .m-section__item:nth-child(2) .m-item__img {
    top: max(-51px, -3.5416666667vw);
    left: min(35px, 2.4305555556vw);
    width: min(266px, 18.4722222222vw);
  }
  .m-section__list-04 .m-section__item:nth-child(2) .m-item__icon {
    top: min(195px, 13.5416666667vw);
    right: max(-241px, -16.7361111111vw);
    width: min(285px, 19.7916666667vw);
  }
  .m-section__list-04 .m-section__item:nth-child(2) .m-item__icon-speech {
    background-color: #485157;
    transform: scale(-1, 1);
  }
  .m-section__list-04 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: min(210px, 14.5833333333vw);
    top: min(21px, 1.4583333333vw);
    left: min(44px, 3.0555555556vw);
  }
  .m-section__list-04 .m-section__item:nth-child(3) {
    margin-top: min(75px, 5.2083333333vw);
    margin-left: min(359px, 24.9305555556vw);
    width: min(224px, 15.5555555556vw);
  }
  .m-section__list-04 .m-section__item:nth-child(3) .m-item__img {
    top: min(13px, 0.9027777778vw);
    left: min(26px, 1.8055555556vw);
    width: min(207px, 14.375vw);
  }
  .m-section__list-04 .m-section__item:nth-child(3) .m-item__icon {
    top: min(23px, 1.5972222222vw);
    left: max(-205px, -14.2361111111vw);
    width: min(229px, 15.9027777778vw);
  }
  .m-section__list-04 .m-section__item:nth-child(3) .m-item__icon-speech {
    background-color: #485157;
  }
  .m-section__list-04 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: min(169px, 11.7361111111vw);
    top: min(17px, 1.1805555556vw);
    left: min(23px, 1.5972222222vw);
  }
  .m-section__list-05 {
    margin-top: min(35px, 2.4305555556vw);
  }
  .m-section__list-05 .m-section__item:first-child {
    margin-right: min(349px, 24.2361111111vw);
    margin-left: auto;
    width: min(224px, 15.5555555556vw);
  }
  .m-section__list-05 .m-section__item:first-child .m-item__img {
    top: min(62px, 4.3055555556vw);
    left: max(-24px, -1.6666666667vw);
    width: min(228px, 15.8333333333vw);
  }
  .m-section__list-05 .m-section__item:first-child .m-item__icon {
    top: max(-47px, -3.2638888889vw);
    right: max(-166px, -11.5277777778vw);
    width: min(220px, 15.2777777778vw);
  }
  .m-section__list-05 .m-section__item:first-child .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-05 .m-section__item:first-child .m-item__icon-txt {
    width: min(172px, 11.9444444444vw);
    top: min(17px, 1.1805555556vw);
    left: min(24px, 1.6666666667vw);
  }
  .m-section__list-05 .m-section__item:nth-child(2) {
    margin-top: min(44px, 3.0555555556vw);
    margin-left: auto;
    margin-right: min(113px, 7.8472222222vw);
    width: min(256px, 17.7777777778vw);
  }
  .m-section__list-05 .m-section__item:nth-child(2) .m-item__img {
    top: max(-66px, -4.5833333333vw);
    left: min(62px, 4.3055555556vw);
    width: min(159px, 11.0416666667vw);
  }
  .m-section__list-05 .m-section__item:nth-child(2) .m-item__icon {
    top: min(140px, 9.7222222222vw);
    left: max(-172px, -11.9444444444vw);
    width: min(223px, 15.4861111111vw);
  }
  .m-section__list-05 .m-section__item:nth-child(2) .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-05 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: min(164px, 11.3888888889vw);
    top: min(16px, 1.1111111111vw);
    left: min(23px, 1.5972222222vw);
  }
  .m-section__list-05 .m-section__item:nth-child(3) {
    margin-top: min(76px, 5.2777777778vw);
    margin-left: auto;
    margin-right: min(269px, 18.6805555556vw);
    width: min(304px, 21.1111111111vw);
  }
  .m-section__list-05 .m-section__item:nth-child(3) .m-item__img {
    top: max(-31px, -2.1527777778vw);
    left: max(-26px, -1.8055555556vw);
    width: min(301px, 20.9027777778vw);
  }
  .m-section__list-05 .m-section__item:nth-child(3) .m-item__icon {
    top: min(203px, 14.0972222222vw);
    right: max(-203px, -14.0972222222vw);
    width: min(242px, 16.8055555556vw);
  }
  .m-section__list-05 .m-section__item:nth-child(3) .m-item__icon-speech {
    background-color: #45B035;
    transform: scale(-1, 1);
  }
  .m-section__list-05 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: min(178px, 12.3611111111vw);
    top: min(17px, 1.1805555556vw);
    left: min(38px, 2.6388888889vw);
  }
  .m-section__list-06 .m-section__item:first-child {
    margin-left: min(286px, 19.8611111111vw);
    width: min(304px, 21.1111111111vw);
  }
  .m-section__list-06 .m-section__item:first-child .m-item__img {
    top: max(-25px, -1.7361111111vw);
    left: min(64px, 4.4444444444vw);
    width: min(200px, 13.8888888889vw);
  }
  .m-section__list-06 .m-section__item:first-child .m-item__icon {
    top: max(-37px, -2.5694444444vw);
    left: max(-134px, -9.3055555556vw);
    width: min(219px, 15.2083333333vw);
  }
  .m-section__list-06 .m-section__item:first-child .m-item__icon-speech {
    background-color: #485157;
    transform: scale(-1, 1);
  }
  .m-section__list-06 .m-section__item:first-child .m-item__icon-txt {
    width: min(171px, 11.875vw);
    top: min(17px, 1.1805555556vw);
    left: min(24px, 1.6666666667vw);
  }
  .m-section__list-06 .m-section__item:nth-child(2) {
    margin-top: min(53px, 3.6805555556vw);
    margin-left: min(130px, 9.0277777778vw);
    width: min(224px, 15.5555555556vw);
  }
  .m-section__list-06 .m-section__item:nth-child(2) .m-item__img {
    top: min(22px, 1.5277777778vw);
    left: min(21px, 1.4583333333vw);
    width: min(180px, 12.5vw);
  }
  .m-section__list-06 .m-section__item:nth-child(2) .m-item__icon {
    top: min(151px, 10.4861111111vw);
    right: max(-217px, -15.0694444444vw);
    width: min(252px, 17.5vw);
  }
  .m-section__list-06 .m-section__item:nth-child(2) .m-item__icon-speech {
    background-color: #485157;
    transform: scale(-1, 1);
  }
  .m-section__list-06 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: min(186px, 12.9166666667vw);
    top: min(18px, 1.25vw);
    left: min(40px, 2.7777777778vw);
  }
  .m-section__list-06 .m-section__item:nth-child(3) {
    margin-top: min(92px, 6.3888888889vw);
    margin-left: min(316px, 21.9444444444vw);
    width: min(256px, 17.7777777778vw);
  }
  .m-section__list-06 .m-section__item:nth-child(3) .m-item__img {
    top: max(-60px, -4.1666666667vw);
    left: min(5px, 0.3472222222vw);
    width: min(243px, 16.875vw);
  }
  .m-section__list-06 .m-section__item:nth-child(3) .m-item__icon {
    top: min(72px, 5vw);
    left: max(-193px, -13.4027777778vw);
    width: min(223px, 15.4861111111vw);
  }
  .m-section__list-06 .m-section__item:nth-child(3) .m-item__icon-speech {
    background-color: #485157;
  }
  .m-section__list-06 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: min(164px, 11.3888888889vw);
    top: min(16px, 1.1111111111vw);
    left: min(23px, 1.5972222222vw);
  }
  .m-section__list-07 .m-section__item:first-child {
    margin-right: min(233px, 16.1805555556vw);
    margin-left: auto;
    width: min(304px, 21.1111111111vw);
  }
  .m-section__list-07 .m-section__item:first-child .m-item__img {
    top: min(54px, 3.75vw);
    left: max(-31px, -2.1527777778vw);
    width: min(327px, 22.7083333333vw);
  }
  .m-section__list-07 .m-section__item:first-child .m-item__icon {
    top: max(-19px, -1.3194444444vw);
    right: max(-165px, -11.4583333333vw);
    width: min(228px, 15.8333333333vw);
  }
  .m-section__list-07 .m-section__item:first-child .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-07 .m-section__item:first-child .m-item__icon-txt {
    width: min(179px, 12.4305555556vw);
    top: min(18px, 1.25vw);
    left: min(25px, 1.7361111111vw);
  }
  .m-section__list-07 .m-section__item:nth-child(2) {
    margin-top: min(76px, 5.2777777778vw);
    margin-left: auto;
    margin-right: min(73px, 5.0694444444vw);
    width: min(224px, 15.5555555556vw);
  }
  .m-section__list-07 .m-section__item:nth-child(2) .m-item__img {
    top: max(-56px, -3.8888888889vw);
    left: min(10px, 0.6944444444vw);
    width: min(180px, 12.5vw);
  }
  .m-section__list-07 .m-section__item:nth-child(2) .m-item__icon {
    top: min(22px, 1.5277777778vw);
    left: max(-200px, -13.8888888889vw);
    width: min(229px, 15.9027777778vw);
  }
  .m-section__list-07 .m-section__item:nth-child(2) .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-07 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: min(169px, 11.7361111111vw);
    top: min(17px, 1.1805555556vw);
    left: min(23px, 1.5972222222vw);
  }
  .m-section__list-07 .m-section__item:nth-child(3) {
    margin-top: min(91px, 6.3194444444vw);
    margin-left: auto;
    margin-right: min(316px, 21.9444444444vw);
    width: min(256px, 17.7777777778vw);
  }
  .m-section__list-07 .m-section__item:nth-child(3) .m-item__img {
    top: min(46px, 3.1944444444vw);
    left: min(31px, 2.1527777778vw);
    width: min(210px, 14.5833333333vw);
  }
  .m-section__list-07 .m-section__item:nth-child(3) .m-item__icon {
    top: max(-36px, -2.5vw);
    right: max(-163px, -11.3194444444vw);
    width: min(235px, 16.3194444444vw);
  }
  .m-section__list-07 .m-section__item:nth-child(3) .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-07 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: min(184px, 12.7777777778vw);
    top: min(18px, 1.25vw);
    left: min(25px, 1.7361111111vw);
  }
  .m-section__list-08 {
    margin-top: min(16px, 1.1111111111vw);
  }
  .m-section__list-08 .m-section__item:first-child {
    margin-left: min(292px, 20.2777777778vw);
    width: min(256px, 17.7777777778vw);
  }
  .m-section__list-08 .m-section__item:first-child .m-item__img {
    top: max(-33px, -2.2916666667vw);
    left: min(9px, 0.625vw);
    width: min(239px, 16.5972222222vw);
  }
  .m-section__list-08 .m-section__item:first-child .m-item__icon {
    top: max(-25px, -1.7361111111vw);
    left: max(-164px, -11.3888888889vw);
    width: min(226px, 15.6944444444vw);
  }
  .m-section__list-08 .m-section__item:first-child .m-item__icon-speech {
    background-color: #485157;
    transform: scale(-1, 1);
  }
  .m-section__list-08 .m-section__item:first-child .m-item__icon-txt {
    width: min(177px, 12.2916666667vw);
    top: min(17px, 1.1805555556vw);
    left: min(24px, 1.6666666667vw);
  }
  .m-section__list-08 .m-section__item:nth-child(2) {
    margin-top: min(67px, 4.6527777778vw);
    margin-left: min(111px, 7.7083333333vw);
    width: min(304px, 21.1111111111vw);
  }
  .m-section__list-08 .m-section__item:nth-child(2) .m-item__img {
    top: 0;
    left: max(-13px, -0.9027777778vw);
    width: min(382px, 26.5277777778vw);
  }
  .m-section__list-08 .m-section__item:nth-child(2) .m-item__icon {
    top: max(-55px, -3.8194444444vw);
    left: max(-62px, -4.3055555556vw);
    width: min(204px, 14.1666666667vw);
  }
  .m-section__list-08 .m-section__item:nth-child(2) .m-item__icon-speech {
    background-color: #485157;
    transform: scale(-1, 1);
  }
  .m-section__list-08 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: min(160px, 11.1111111111vw);
    top: min(16px, 1.1111111111vw);
    left: min(22px, 1.5277777778vw);
  }
  .m-section__list-08 .m-section__item:nth-child(3) {
    margin-top: min(67px, 4.6527777778vw);
    margin-left: min(359px, 24.9305555556vw);
    width: min(224px, 15.5555555556vw);
  }
  .m-section__list-08 .m-section__item:nth-child(3) .m-item__img {
    top: min(32px, 2.2222222222vw);
    left: min(30px, 2.0833333333vw);
    width: min(172px, 11.9444444444vw);
  }
  .m-section__list-08 .m-section__item:nth-child(3) .m-item__icon {
    top: min(113px, 7.8472222222vw);
    left: max(-256px, -17.7777777778vw);
    width: min(291px, 20.2083333333vw);
  }
  .m-section__list-08 .m-section__item:nth-child(3) .m-item__icon-speech {
    background-color: #485157;
  }
  .m-section__list-08 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: min(215px, 14.9305555556vw);
    top: min(21px, 1.4583333333vw);
    left: min(30px, 2.0833333333vw);
  }
}
@media screen and (max-width: 768px) {
  .m-section-01 {
    padding-top: 29.8666666667vw;
    padding-bottom: 10.6666666667vw;
  }
  .m-section-01 .m-section__speech {
    padding-top: 5.3333333333vw;
    width: 37.3333333333vw;
    height: 17.0666666667vw;
    right: 0;
    top: -19.2vw;
    scale: -1;
  }
  .m-section-01 .m-section__speech span {
    display: inline-block;
    transform: scale(-1, -1);
  }
  .m-section-01 .m-section__thumb.is-active .m-section__speech {
    animation: modalSpeechReverse 0.3s linear forwards 1s;
  }
  .m-section-02 {
    padding-top: 29.8666666667vw;
    padding-bottom: 10.6666666667vw;
  }
  .m-section-02 .m-section__cont {
    margin-top: 14.9333333333vw;
  }
  .m-section-02 .m-section__speech {
    padding-top: 2.1333333333vw;
    width: 55.4666666667vw;
    height: 17.0666666667vw;
    right: -2.1333333333vw;
    top: -19.2vw;
  }
  .m-section-03 {
    padding-top: 29.8666666667vw;
    padding-bottom: 10.6666666667vw;
  }
  .m-section-03 .m-section__cont {
    margin-top: 14.6666666667vw;
  }
  .m-section-03 .m-section__speech {
    padding-top: 5.3333333333vw;
    width: 72vw;
    height: 17.0666666667vw;
    right: 0;
    top: -19.2vw;
    scale: -1;
  }
  .m-section-03 .m-section__speech span {
    display: inline-block;
    transform: scale(-1, -1);
  }
  .m-section-03 .m-section__thumb.is-active .m-section__speech {
    animation: modalSpeechReverse 0.3s linear forwards 1s;
  }
  .m-section-04 {
    padding-top: 29.8666666667vw;
    padding-bottom: 10.6666666667vw;
  }
  .m-section-04 .m-section__cont {
    margin-top: 14.9333333333vw;
  }
  .m-section-04 .m-section__speech {
    padding-top: 2.1333333333vw;
    width: 66.4vw;
    height: 17.0666666667vw;
    right: 0;
    top: -19.2vw;
  }
  .m-section__thumb {
    width: 91.4666666667vw;
    margin: 0 auto;
  }
  .m-section__thumb-main {
    padding: 2.1333333333vw;
    border: 1px solid #CAD3D6;
    box-shadow: 2.1333333333vw 2.1333333333vw 0 rgba(65, 66, 67, 0.5);
  }
  .m-section__thumb-main::after {
    width: 12.8vw;
    height: 12.8vw;
  }
  .m-section__btnbox {
    width: 45.0666666667vw;
    height: 16.2666666667vw;
    margin: 12.2666666667vw auto 0;
  }
  .m-section__btnbox::before {
    top: 1.0666666667vw;
    left: 1.0666666667vw;
  }
  .m-section__btn {
    width: 100%;
    height: 100%;
    font-size: 4.2666666667vw;
    background-size: contain;
  }
  .m-section__speech {
    font-size: 5.3333333333vw;
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
  .m-section__cont {
    margin-top: 14.9333333333vw;
  }
  .m-section__list-01 .m-section__item:first-child {
    margin-left: auto;
    margin-right: 7.4666666667vw;
    width: 38.1333333333vw;
  }
  .m-section__list-01 .m-section__item:first-child .m-item__img {
    top: -1.3333333333vw;
    left: 3.4666666667vw;
    width: 29.8666666667vw;
  }
  .m-section__list-01 .m-section__item:first-child .m-item__icon {
    top: -2.1333333333vw;
    right: -5.8666666667vw;
    width: 19.4666666667vw;
  }
  .m-section__list-01 .m-section__item:first-child .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-01 .m-section__item:first-child .m-item__icon-txt {
    width: 15.2vw;
    top: 1.6vw;
    left: 2.1333333333vw;
  }
  .m-section__list-01 .m-section__item:nth-child(2) {
    margin-top: 11.4666666667vw;
    margin-left: auto;
    margin-right: 5.6vw;
    width: 28.2666666667vw;
  }
  .m-section__list-01 .m-section__item:nth-child(2) .m-item__img {
    top: 7.4666666667vw;
    left: 2.6666666667vw;
    width: 27.7333333333vw;
  }
  .m-section__list-01 .m-section__item:nth-child(2) .m-item__icon {
    top: 2.1333333333vw;
    left: -11.4666666667vw;
    width: 19.2vw;
  }
  .m-section__list-01 .m-section__item:nth-child(2) .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-01 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: 14.1333333333vw;
    top: 1.3333333333vw;
    left: 1.8666666667vw;
  }
  .m-section__list-01 .m-section__item:nth-child(3) {
    margin-top: 8vw;
    margin-left: auto;
    margin-right: 10.9333333333vw;
    width: 34.6666666667vw;
  }
  .m-section__list-01 .m-section__item:nth-child(3) .m-item__img {
    top: -3.2vw;
    left: 6.6666666667vw;
    width: 19.4666666667vw;
  }
  .m-section__list-01 .m-section__item:nth-child(3) .m-item__icon {
    top: -2.6666666667vw;
    right: -7.2vw;
    width: 17.3333333333vw;
    aspect-ratio: 188/72.11;
  }
  .m-section__list-01 .m-section__item:nth-child(3) .m-item__icon-speech {
    mask-image: url(../img/modules/item/speech01.svg);
    background-color: #45B035;
  }
  .m-section__list-01 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: 13.6vw;
    top: 1.3333333333vw;
    left: 1.8666666667vw;
  }
  .m-section__list-01 .m-section__item:nth-child(4) {
    margin-top: 8vw;
    margin-left: auto;
    margin-right: 3.7333333333vw;
    width: 38.1333333333vw;
  }
  .m-section__list-01 .m-section__item:nth-child(4) .m-item__img {
    top: 5.6vw;
    left: 6.4vw;
    width: 28.5333333333vw;
  }
  .m-section__list-01 .m-section__item:nth-child(4) .m-item__icon {
    bottom: -6.4vw;
    left: -3.7333333333vw;
    width: 25.0933333333vw;
  }
  .m-section__list-01 .m-section__item:nth-child(4) .m-item__icon-speech {
    background-color: #45B035;
    transform: scale(-1, -1);
  }
  .m-section__list-01 .m-section__item:nth-child(4) .m-item__icon-txt {
    width: 19.4666666667vw;
    top: 3.4666666667vw;
    left: 2.6666666667vw;
  }
  .m-section__list-02 {
    margin-top: 11.7333333333vw;
  }
  .m-section__list-02 .m-section__item:first-child {
    margin-left: 4.2666666667vw;
    width: 34.6666666667vw;
  }
  .m-section__list-02 .m-section__item:first-child .m-item__img {
    top: 2.1333333333vw;
    left: 7.4666666667vw;
    width: 30.9333333333vw;
  }
  .m-section__list-02 .m-section__item:first-child .m-item__icon {
    top: -4vw;
    left: -1.8666666667vw;
    width: 18.4vw;
    aspect-ratio: 188/72.11;
  }
  .m-section__list-02 .m-section__item:first-child .m-item__icon-speech {
    mask-image: url(../img/modules/item/speech01.svg);
    background-color: #485157;
    transform: scale(-1, 1);
  }
  .m-section__list-02 .m-section__item:first-child .m-item__icon-txt {
    width: 14.4vw;
    top: 1.3333333333vw;
    left: 1.8666666667vw;
  }
  .m-section__list-02 .m-section__item:nth-child(2) {
    margin-top: 8vw;
    margin-left: 8.2666666667vw;
    width: 38.1333333333vw;
  }
  .m-section__list-02 .m-section__item:nth-child(2) .m-item__img {
    top: 7.7333333333vw;
    left: 2.6666666667vw;
    width: 37.0666666667vw;
  }
  .m-section__list-02 .m-section__item:nth-child(2) .m-item__icon {
    bottom: -4vw;
    left: -3.7333333333vw;
    width: 25.0666666667vw;
  }
  .m-section__list-02 .m-section__item:nth-child(2) .m-item__icon-speech {
    background-color: #485157;
    transform: scale(-1, -1);
  }
  .m-section__list-02 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: 19.4666666667vw;
    top: 3.4666666667vw;
    left: 2.6666666667vw;
  }
  .m-section__list-02 .m-section__item:nth-child(3) {
    margin-top: 8vw;
    margin-left: 2.1333333333vw;
    width: 26.6666666667vw;
  }
  .m-section__list-02 .m-section__item:nth-child(3) .m-item__img {
    top: 4.2666666667vw;
    left: 4.2666666667vw;
    width: 17.8666666667vw;
  }
  .m-section__list-02 .m-section__item:nth-child(3) .m-item__icon {
    bottom: -4.5333333333vw;
    right: -14.9333333333vw;
    width: 23.4666666667vw;
    aspect-ratio: 188/72.11;
  }
  .m-section__list-02 .m-section__item:nth-child(3) .m-item__icon-speech {
    mask-image: url(../img/modules/item/speech01.svg);
    background-color: #485157;
    transform: scale(1, -1);
  }
  .m-section__list-02 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: 18.4vw;
    top: 3.2vw;
    left: 2.4vw;
  }
  .m-section__list-02 .m-section__item:nth-child(4) {
    margin-top: 10.1333333333vw;
    margin-left: 10.6666666667vw;
    width: 34.6666666667vw;
  }
  .m-section__list-02 .m-section__item:nth-child(4) .m-item__img {
    top: 2.6666666667vw;
    left: 2.9333333333vw;
    width: 29.3333333333vw;
  }
  .m-section__list-02 .m-section__item:nth-child(4) .m-item__icon {
    top: 26.6666666667vw;
    left: -7.7333333333vw;
    width: 22.1333333333vw;
  }
  .m-section__list-02 .m-section__item:nth-child(4) .m-item__icon-speech {
    background-color: #485157;
  }
  .m-section__list-02 .m-section__item:nth-child(4) .m-item__icon-txt {
    width: 16.2666666667vw;
    top: 1.6vw;
    left: 2.1333333333vw;
  }
  .m-section__list-03 .m-section__item:first-child {
    margin-right: 17.6vw;
    margin-left: auto;
    width: 26.6666666667vw;
  }
  .m-section__list-03 .m-section__item:first-child .m-item__img {
    top: 0.5333333333vw;
    left: -2.1333333333vw;
    width: 26.1333333333vw;
  }
  .m-section__list-03 .m-section__item:first-child .m-item__icon {
    bottom: -4.5333333333vw;
    right: -15.7333333333vw;
    width: 23.4666666667vw;
  }
  .m-section__list-03 .m-section__item:first-child .m-item__icon-speech {
    background-color: #45B035;
    transform: scale(1, -1);
  }
  .m-section__list-03 .m-section__item:first-child .m-item__icon-txt {
    width: 18.4vw;
    top: 3.2vw;
    left: 2.4vw;
  }
  .m-section__list-03 .m-section__item:nth-child(2) {
    margin-top: 12.2666666667vw;
    margin-left: auto;
    margin-right: 6.9333333333vw;
    width: 34.6666666667vw;
  }
  .m-section__list-03 .m-section__item:nth-child(2) .m-item__img {
    top: -5.8666666667vw;
    left: 3.4666666667vw;
    width: 30.4vw;
  }
  .m-section__list-03 .m-section__item:nth-child(2) .m-item__icon {
    top: -2.1333333333vw;
    left: -6.1333333333vw;
    width: 19.4666666667vw;
    aspect-ratio: 188/72.11;
  }
  .m-section__list-03 .m-section__item:nth-child(2) .m-item__icon-speech {
    mask-image: url(../img/modules/item/speech01.svg);
    background-color: #45B035;
    transform: scale(-1, 1);
  }
  .m-section__list-03 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: 15.2vw;
    top: 1.3333333333vw;
    left: 2.1333333333vw;
  }
  .m-section__list-03 .m-section__item:nth-child(3) {
    margin-top: 8vw;
    margin-left: auto;
    margin-right: 8.8vw;
    width: 38.1333333333vw;
  }
  .m-section__list-03 .m-section__item:nth-child(3) .m-item__img {
    top: -4.8vw;
    left: -1.8666666667vw;
    width: 34.9333333333vw;
  }
  .m-section__list-03 .m-section__item:nth-child(3) .m-item__icon {
    top: -1.8666666667vw;
    right: -5.6vw;
    width: 17.3333333333vw;
  }
  .m-section__list-03 .m-section__item:nth-child(3) .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-03 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: 13.6vw;
    top: 1.3333333333vw;
    left: 1.8666666667vw;
  }
  .m-section__list-04 .m-section__item:first-child {
    margin-left: 4.2666666667vw;
    width: 34.6666666667vw;
  }
  .m-section__list-04 .m-section__item:first-child .m-item__img {
    top: 6.1333333333vw;
    left: 2.1333333333vw;
    width: 35.4666666667vw;
  }
  .m-section__list-04 .m-section__item:first-child .m-item__icon {
    top: -4.8vw;
    right: -7.4666666667vw;
    width: 22.1333333333vw;
  }
  .m-section__list-04 .m-section__item:first-child .m-item__icon-speech {
    background-color: #485157;
  }
  .m-section__list-04 .m-section__item:first-child .m-item__icon-txt {
    width: 17.3333333333vw;
    top: 1.8666666667vw;
    left: 2.4vw;
  }
  .m-section__list-04 .m-section__item:nth-child(2) {
    margin-top: 8vw;
    margin-left: 8.2666666667vw;
    width: 38.1333333333vw;
  }
  .m-section__list-04 .m-section__item:nth-child(2) .m-item__img {
    top: -3.7333333333vw;
    left: 5.6vw;
    width: 29.3333333333vw;
  }
  .m-section__list-04 .m-section__item:nth-child(2) .m-item__icon {
    bottom: -5.6vw;
    left: -3.7333333333vw;
    width: 25.0666666667vw;
    aspect-ratio: 188/72.11;
  }
  .m-section__list-04 .m-section__item:nth-child(2) .m-item__icon-speech {
    mask-image: url(../img/modules/item/speech01.svg);
    background-color: #485157;
    transform: scale(-1, -1);
  }
  .m-section__list-04 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: 19.4666666667vw;
    top: 3.4666666667vw;
    left: 2.6666666667vw;
  }
  .m-section__list-04 .m-section__item:nth-child(3) {
    margin-top: 14.4vw;
    margin-left: 7.2vw;
    width: 26.6666666667vw;
  }
  .m-section__list-04 .m-section__item:nth-child(3) .m-item__img {
    top: 4.2666666667vw;
    left: 3.2vw;
    width: 21.0666666667vw;
  }
  .m-section__list-04 .m-section__item:nth-child(3) .m-item__icon {
    top: -5.0666666667vw;
    right: -12.5333333333vw;
    width: 22.1333333333vw;
    aspect-ratio: 188/72.11;
  }
  .m-section__list-04 .m-section__item:nth-child(3) .m-item__icon-speech {
    mask-image: url(../img/modules/item/speech01.svg);
    background-color: #485157;
  }
  .m-section__list-04 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: 17.3333333333vw;
    top: 1.6vw;
    left: 2.4vw;
  }
  .m-section__list-05 {
    margin-top: 4.5333333333vw;
  }
  .m-section__list-05 .m-section__item:first-child {
    margin-right: 7.4666666667vw;
    margin-left: auto;
    width: 38.1333333333vw;
  }
  .m-section__list-05 .m-section__item:first-child .m-item__img {
    top: 12.5333333333vw;
    left: 4vw;
    width: 29.6vw;
  }
  .m-section__list-05 .m-section__item:first-child .m-item__icon {
    top: -2.1333333333vw;
    right: -5.8666666667vw;
    width: 19.4666666667vw;
  }
  .m-section__list-05 .m-section__item:first-child .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-05 .m-section__item:first-child .m-item__icon-txt {
    width: 15.2vw;
    top: 1.6vw;
    left: 2.1333333333vw;
  }
  .m-section__list-05 .m-section__item:nth-child(2) {
    margin-top: 11.4666666667vw;
    margin-left: auto;
    margin-right: 5.8666666667vw;
    width: 26.6666666667vw;
  }
  .m-section__list-05 .m-section__item:nth-child(2) .m-item__img {
    top: -7.2vw;
    left: 6.9333333333vw;
    width: 16.5333333333vw;
  }
  .m-section__list-05 .m-section__item:nth-child(2) .m-item__icon {
    top: 2.1333333333vw;
    left: -11.4666666667vw;
    width: 19.2vw;
    aspect-ratio: 239/72.49;
  }
  .m-section__list-05 .m-section__item:nth-child(2) .m-item__icon-speech {
    mask-image: url(../img/modules/item/speech02.svg);
    background-color: #45B035;
  }
  .m-section__list-05 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: 14.1333333333vw;
    top: 1.3333333333vw;
    left: 2.1333333333vw;
  }
  .m-section__list-05 .m-section__item:nth-child(3) {
    margin-top: 8vw;
    margin-left: auto;
    margin-right: 11.2vw;
    width: 34.6666666667vw;
  }
  .m-section__list-05 .m-section__item:nth-child(3) .m-item__img {
    top: 0;
    left: -1.6vw;
    width: 32.5333333333vw;
  }
  .m-section__list-05 .m-section__item:nth-child(3) .m-item__icon {
    top: -2.6666666667vw;
    right: -7.2vw;
    width: 17.3333333333vw;
    aspect-ratio: 188/72.11;
  }
  .m-section__list-05 .m-section__item:nth-child(3) .m-item__icon-speech {
    mask-image: url(../img/modules/item/speech01.svg);
    background-color: #45B035;
  }
  .m-section__list-05 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: 13.6vw;
    top: 1.3333333333vw;
    left: 1.8666666667vw;
  }
  .m-section__list-06 .m-section__item:first-child {
    margin-left: 4.2666666667vw;
    width: 34.6666666667vw;
  }
  .m-section__list-06 .m-section__item:first-child .m-item__img {
    top: 2.9333333333vw;
    left: 6.9333333333vw;
    width: 19.7333333333vw;
  }
  .m-section__list-06 .m-section__item:first-child .m-item__icon {
    top: -4.5333333333vw;
    left: -1.8666666667vw;
    width: 19.4666666667vw;
  }
  .m-section__list-06 .m-section__item:first-child .m-item__icon-speech {
    background-color: #485157;
    transform: scale(-1, 1);
  }
  .m-section__list-06 .m-section__item:first-child .m-item__icon-txt {
    width: 15.2vw;
    top: 1.6vw;
    left: 2.1333333333vw;
  }
  .m-section__list-06 .m-section__item:nth-child(2) {
    margin-top: 8vw;
    margin-left: 8.2666666667vw;
    width: 38.1333333333vw;
  }
  .m-section__list-06 .m-section__item:nth-child(2) .m-item__img {
    top: 4.2666666667vw;
    left: 5.0666666667vw;
    width: 28.5333333333vw;
  }
  .m-section__list-06 .m-section__item:nth-child(2) .m-item__icon {
    bottom: -5.0666666667vw;
    left: -3.7333333333vw;
    width: 25.0666666667vw;
    aspect-ratio: 188/72.11;
  }
  .m-section__list-06 .m-section__item:nth-child(2) .m-item__icon-speech {
    mask-image: url(../img/modules/item/speech01.svg);
    background-color: #485157;
    transform: scale(-1, -1);
  }
  .m-section__list-06 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: 19.4666666667vw;
    top: 3.4666666667vw;
    left: 2.6666666667vw;
  }
  .m-section__list-06 .m-section__item:nth-child(3) {
    margin-top: 8vw;
    margin-left: 6.4vw;
    width: 26.6666666667vw;
  }
  .m-section__list-06 .m-section__item:nth-child(3) .m-item__img {
    top: -3.2vw;
    left: 2.9333333333vw;
    width: 20.8vw;
  }
  .m-section__list-06 .m-section__item:nth-child(3) .m-item__icon {
    bottom: -6.4vw;
    right: -13.8666666667vw;
    width: 23.4666666667vw;
    aspect-ratio: 188/72.11;
  }
  .m-section__list-06 .m-section__item:nth-child(3) .m-item__icon-speech {
    mask-image: url(../img/modules/item/speech01.svg);
    background-color: #485157;
    transform: scale(1, -1);
  }
  .m-section__list-06 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: 18.4vw;
    top: 3.2vw;
    left: 2.4vw;
  }
  .m-section__list-07 .m-section__item:first-child {
    margin-right: 17.8666666667vw;
    margin-left: auto;
    width: 26.6666666667vw;
  }
  .m-section__list-07 .m-section__item:first-child .m-item__img {
    top: 1.6vw;
    left: 0.5333333333vw;
    width: 29.0666666667vw;
  }
  .m-section__list-07 .m-section__item:first-child .m-item__icon {
    bottom: -4.5333333333vw;
    right: -15.7333333333vw;
    width: 23.4666666667vw;
  }
  .m-section__list-07 .m-section__item:first-child .m-item__icon-speech {
    background-color: #45B035;
    transform: scale(1, -1);
  }
  .m-section__list-07 .m-section__item:first-child .m-item__icon-txt {
    width: 18.4vw;
    top: 3.2vw;
    left: 2.4vw;
  }
  .m-section__list-07 .m-section__item:nth-child(2) {
    margin-top: 12.2666666667vw;
    margin-left: auto;
    margin-right: 6.9333333333vw;
    width: 34.6666666667vw;
  }
  .m-section__list-07 .m-section__item:nth-child(2) .m-item__img {
    top: 1.8666666667vw;
    left: 6.1333333333vw;
    width: 20.5333333333vw;
  }
  .m-section__list-07 .m-section__item:nth-child(2) .m-item__icon {
    top: -4.2666666667vw;
    left: -6.1333333333vw;
    width: 19.4666666667vw;
    aspect-ratio: 188/72.11;
  }
  .m-section__list-07 .m-section__item:nth-child(2) .m-item__icon-speech {
    mask-image: url(../img/modules/item/speech01.svg);
    background-color: #45B035;
    transform: scale(-1, 1);
  }
  .m-section__list-07 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: 15.2vw;
    top: 1.6vw;
    left: 2.1333333333vw;
  }
  .m-section__list-07 .m-section__item:nth-child(3) {
    margin-top: 8vw;
    margin-left: auto;
    margin-right: 8.8vw;
    width: 38.1333333333vw;
  }
  .m-section__list-07 .m-section__item:nth-child(3) .m-item__img {
    top: 7.2vw;
    left: 6.4vw;
    width: 25.8666666667vw;
  }
  .m-section__list-07 .m-section__item:nth-child(3) .m-item__icon {
    top: -1.8666666667vw;
    right: -5.6vw;
    width: 17.3333333333vw;
  }
  .m-section__list-07 .m-section__item:nth-child(3) .m-item__icon-speech {
    background-color: #45B035;
  }
  .m-section__list-07 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: 13.6vw;
    top: 1.3333333333vw;
    left: 1.8666666667vw;
  }
  .m-section__list-08 .m-section__item:first-child {
    margin-left: 4.2666666667vw;
    width: 34.6666666667vw;
  }
  .m-section__list-08 .m-section__item:first-child .m-item__img {
    top: -1.3333333333vw;
    left: 3.2vw;
    width: 27.4666666667vw;
  }
  .m-section__list-08 .m-section__item:first-child .m-item__icon {
    top: -4.8vw;
    right: -4.8vw;
    width: 16.5333333333vw;
  }
  .m-section__list-08 .m-section__item:first-child .m-item__icon-speech {
    background-color: #485157;
  }
  .m-section__list-08 .m-section__item:first-child .m-item__icon-txt {
    width: 13.0666666667vw;
    top: 1.3333333333vw;
    left: 1.8666666667vw;
  }
  .m-section__list-08 .m-section__item:nth-child(2) {
    margin-top: 8vw;
    margin-left: 8.2666666667vw;
    width: 38.1333333333vw;
  }
  .m-section__list-08 .m-section__item:nth-child(2) .m-item__img {
    top: 2.1333333333vw;
    left: -1.3333333333vw;
    width: 39.7333333333vw;
  }
  .m-section__list-08 .m-section__item:nth-child(2) .m-item__icon {
    bottom: -4vw;
    left: -3.7333333333vw;
    width: 25.0666666667vw;
  }
  .m-section__list-08 .m-section__item:nth-child(2) .m-item__icon-speech {
    background-color: #485157;
    transform: scale(-1, -1);
  }
  .m-section__list-08 .m-section__item:nth-child(2) .m-item__icon-txt {
    width: 19.4666666667vw;
    top: 3.4666666667vw;
    left: 2.6666666667vw;
  }
  .m-section__list-08 .m-section__item:nth-child(3) {
    margin-top: 14.4vw;
    margin-left: 7.2vw;
    width: 26.6666666667vw;
  }
  .m-section__list-08 .m-section__item:nth-child(3) .m-item__img {
    top: 5.3333333333vw;
    left: 4.2666666667vw;
    width: 17.6vw;
  }
  .m-section__list-08 .m-section__item:nth-child(3) .m-item__icon {
    top: -4vw;
    right: -12.5333333333vw;
    width: 22.1333333333vw;
    aspect-ratio: 188/72.11;
  }
  .m-section__list-08 .m-section__item:nth-child(3) .m-item__icon-speech {
    mask-image: url(../img/modules/item/speech01.svg);
    background-color: #485157;
  }
  .m-section__list-08 .m-section__item:nth-child(3) .m-item__icon-txt {
    width: 17.3333333333vw;
    top: 1.6vw;
    left: 2.4vw;
  }
}

/* setting/_base.scss
-------------------------------------------------- */
/* modules/_item.scss
-------------------------------------------------- */
.m-item {
  position: relative;
  aspect-ratio: 1/1;
}
.m-item.is-active::after {
  opacity: 1;
}
.m-item.is-active::before {
  opacity: 1;
}
.m-item.is-active .m-item__link {
  animation: ItemLink 0.35s cubic-bezier(0.22, 1.09, 0.75, 0.98) forwards 0.1s;
}
.m-item.is-active .m-item__img {
  animation: ItemLink 0.4s cubic-bezier(0, 1.47, 0.86, 1.3) forwards 0.5s;
}
.m-item.is-active .m-item__icon {
  opacity: 1;
  transition-delay: 0.9s;
  animation: ItemSpeech 2s linear infinite 1.2s;
}
.m-item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask: url(../img/modules/item/frame.svg) center center no-repeat;
  mask-size: cover;
  background-color: #CAD3D6;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.1s linear;
}
.m-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask: url(../img/modules/item/bg.svg) center center no-repeat;
  mask-size: cover;
  background-color: rgba(65, 66, 67, 0.4);
  opacity: 0;
  transition: opacity 0.2s linear 0.4s, top 0.2s linear 0.4s, left 0.2s linear 0.4s, transform 0.2s linear;
  pointer-events: none;
}
.m-item__link {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/modules/item/bg.svg) center center no-repeat;
  background-size: cover;
  scale: 0.8;
  opacity: 0;
}
.m-item__img {
  position: absolute;
  z-index: 1;
  scale: 0.8;
  opacity: 0;
  pointer-events: none;
}
.m-item__icon {
  position: absolute;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.2s linear;
  pointer-events: none;
}
.m-item__icon-speech {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.7;
}
.m-item__icon-txt {
  position: absolute;
}
.m-item__icon-01 {
  aspect-ratio: 188/72.11;
}
.m-item__icon-01 .m-item__icon-speech {
  mask: url(../img/modules/item/speech01.svg) center center no-repeat;
  mask-size: cover;
}
.m-item__icon-02 {
  aspect-ratio: 239/72.49;
}
.m-item__icon-02 .m-item__icon-speech {
  mask: url(../img/modules/item/speech02.svg) center center no-repeat;
  mask-size: cover;
}
.m-item__icon-03 {
  aspect-ratio: 294/89.17;
}
.m-item__icon-03 .m-item__icon-speech {
  mask: url(../img/modules/item/speech03.svg) center center no-repeat;
  mask-size: cover;
}
.m-item__speech01 {
  aspect-ratio: 91.39/30.05;
}
@media screen and (min-width: 769px) {
  .m-item.is-active::before {
    top: min(12px, 0.8333333333vw);
    left: min(12px, 0.8333333333vw);
  }
  .m-item:hover::before {
    transform: translate(min(6px, 0.4166666667vw), min(6px, 0.4166666667vw));
  }
  .m-item:hover .m-item__img {
    transform: scale(1.25);
  }
  .m-item__img {
    transition: transform 0.2s ease-out;
  }
}
@media screen and (max-width: 768px) {
  .m-item.is-active::before {
    top: 1.6vw;
    left: 1.6vw;
  }
}

/* setting/_base.scss
-------------------------------------------------- */
/* modules/_sns.scss
-------------------------------------------------- */
.m-sns.is-active .m-sns__box {
  opacity: 1;
}
.m-sns.is-active .m-sns__figbox {
  animation: snsFigure 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.3s;
}
.m-sns.is-active .m-sns__icon {
  animation: snsIcon 0.2s linear forwards 0.9s;
}
.m-sns__inner {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.m-sns__box {
  opacity: 0;
  transition: opacity 0.2s linear;
}
.m-sns__ttl {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-align: center;
}
.m-sns__list {
  display: flex;
}
.m-sns__li {
  aspect-ratio: 1/1;
}
.m-sns__li::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  mask: url(../img/common/sns_bg.svg) center center no-repeat;
  mask-size: cover;
  background-color: #485157;
  opacity: 0.3;
}
.m-sns__link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: url(../img/common/sns_bg.svg) center center no-repeat;
  background-size: cover;
}
.m-sns__link img {
  z-index: 2;
}
.m-sns__link::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/common/sns_bg_hover.svg) center center no-repeat;
  background-size: cover;
  opacity: 0;
  pointer-events: none;
}
.m-sns__figbox {
  position: absolute;
  transform: translateY(100%);
}
.m-sns__figbox:first-of-type .m-sns__icon-speech {
  mask: url(../img/modules/item/speech01.svg) center center no-repeat;
  mask-size: cover;
  background-color: #45B035;
  transform: scale(-1, 1);
  opacity: 0.7;
}
.m-sns__figbox:last-of-type .m-sns__icon-speech {
  mask: url(../img/modules/item/speech01.svg) center center no-repeat;
  mask-size: cover;
  background-color: #485157;
  opacity: 0.7;
}
.m-sns__fig {
  position: absolute;
}
.m-sns__img {
  width: 100%;
}
.m-sns__icon {
  position: absolute;
  text-align: center;
  opacity: 0;
}
.m-sns__icon-speech {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 769px) {
  .m-sns {
    padding: min(8px, 0.5555555556vw);
  }
  .m-sns__cont {
    aspect-ratio: 1424/373;
    background: url(../img/modules/sns/bg.svg) center center no-repeat;
    background-size: cover;
  }
  .m-sns__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
  }
  .m-sns__ttl {
    font-size: clamp(10px, 1.6666666667vw, 1.5rem);
    line-height: 1.2;
    margin-bottom: min(24px, 1.6666666667vw);
  }
  .m-sns__list {
    gap: 0 min(32px, 2.2222222222vw);
  }
  .m-sns__li {
    width: min(72px, 5vw);
  }
  .m-sns__li::before {
    top: min(4px, 0.2777777778vw);
    left: min(4px, 0.2777777778vw);
    transition: top 0.2s linear, left 0.2s linear;
  }
  .m-sns__li:has(.m-sns__link:hover)::before {
    top: min(6px, 0.4166666667vw);
    left: min(6px, 0.4166666667vw);
  }
  .m-sns__link img {
    width: min(28px, 1.9444444444vw);
  }
  .m-sns__link::after {
    transition: opacity 0.2s linear;
  }
  .m-sns__link--tiktok img {
    width: min(24.87px, 1.7270833333vw);
  }
  .m-sns__link:hover::after {
    opacity: 1;
  }
  .m-sns__figbox:first-of-type {
    top: 4.5833333333vw;
    left: 5.6944444444vw;
    width: 43.8194444444vw;
    height: 42.7083333333vw;
  }
  .m-sns__figbox:first-of-type .m-sns__fig {
    bottom: 0;
    right: 0;
    width: 37.6388888889vw;
  }
  .m-sns__figbox:first-of-type .m-sns__icon {
    top: 0;
    left: 0;
    width: 15.7333333333vw;
    height: 6.0347222222vw;
  }
  .m-sns__figbox:first-of-type .m-sns__icon-txt {
    margin-top: 1.1805555556vw;
    width: 12.3361111111vw;
  }
  .m-sns__figbox:last-of-type {
    top: 4.0277777778vw;
    right: 4.5833333333vw;
    width: 31.3888888889vw;
    height: 28.4027777778vw;
  }
  .m-sns__figbox:last-of-type .m-sns__fig {
    bottom: 0;
    left: 0;
    width: 15.9722222222vw;
  }
  .m-sns__figbox:last-of-type .m-sns__icon {
    top: 0;
    right: 0;
    width: 15.8569444444vw;
    height: 6.0826388889vw;
  }
  .m-sns__figbox:last-of-type .m-sns__icon-txt {
    margin-top: 1.25vw;
    width: 12.4333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .m-sns {
    padding: 2.1333333333vw;
    background: linear-gradient(to right, #E6F5D5 0%, #E6F5D5 50%, #86A1A8 50%, #86A1A8 100%);
  }
  .m-sns__cont {
    aspect-ratio: 359/409;
    background: url(../img/modules/sns/bg_sp.svg) center center no-repeat;
    background-size: cover;
  }
  .m-sns__inner {
    padding-top: 17.0666666667vw;
    display: flex;
    justify-content: center;
    margin: 0 auto;
  }
  .m-sns__ttl {
    font-size: 6.4vw;
    line-height: 1.2;
    margin-bottom: 4.2666666667vw;
  }
  .m-sns__list {
    gap: 0 6.4vw;
  }
  .m-sns__li {
    width: 12.8vw;
  }
  .m-sns__li::before {
    top: 1.0666666667vw;
    left: 1.0666666667vw;
  }
  .m-sns__link img {
    width: 5.3333333333vw;
  }
  .m-sns__link--tiktok img {
    width: 4.736vw;
  }
  .m-sns__figbox:first-of-type {
    bottom: -31.2vw;
    left: -3.4666666667vw;
    width: 70.1333333333vw;
    height: 88vw;
  }
  .m-sns__figbox:first-of-type .m-sns__fig {
    bottom: 0;
    left: 0;
    width: 70.1333333333vw;
  }
  .m-sns__figbox:first-of-type .m-sns__icon {
    top: 0;
    left: 8.5333333333vw;
    width: 25.0266666667vw;
    height: 9.6vw;
  }
  .m-sns__figbox:first-of-type .m-sns__icon-speech {
    mask-image: url(../img/modules/item/speech04.svg);
    transform: scale(1, 1);
  }
  .m-sns__figbox:first-of-type .m-sns__icon-txt {
    margin-top: 1.8666666667vw;
    width: 19.624vw;
  }
  .m-sns__figbox:last-of-type {
    bottom: -14.9333333333vw;
    right: 4.2666666667vw;
    width: 43.2vw;
    height: 65.6vw;
  }
  .m-sns__figbox:last-of-type .m-sns__fig {
    bottom: 0;
    left: -2.6666666667vw;
    width: 34.1333333333vw;
    transform: rotate(-5deg);
  }
  .m-sns__figbox:last-of-type .m-sns__icon {
    top: 0;
    right: 0;
    width: 25.0266666667vw;
    height: 9.6vw;
  }
  .m-sns__figbox:last-of-type .m-sns__icon-speech {
    mask-image: url(../img/modules/item/speech04.svg);
    transform: scale(-1, 1);
  }
  .m-sns__figbox:last-of-type .m-sns__icon-txt {
    margin-top: 1.8666666667vw;
    width: 19.624vw;
  }
}

/* setting/_base.scss
-------------------------------------------------- */
/* modules/_modal.scss
-------------------------------------------------- */
.m-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s ease-in-out;
  pointer-events: none;
  opacity: 0;
  z-index: 101;
  background-color: rgba(0, 0, 0, 0.8);
}
.m-modal.is-active {
  opacity: 1;
  pointer-events: inherit;
}
.m-modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.m-modal__close {
  position: absolute;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
.m-modal__close::before, .m-modal__close::after {
  content: "";
  position: absolute;
  height: 2px;
  background-color: #FFFFFF;
  top: 50%;
  left: 0;
}
.m-modal__close::before {
  transform: translateY(-50%) rotate(15deg);
}
.m-modal__close::after {
  transform: translateY(-50%) rotate(-15deg);
}
.m-modal__prev, .m-modal__next {
  position: absolute;
  font-size: 0;
  z-index: 1;
}
.m-modal__prev::before, .m-modal__next::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/common/sns_bg.svg) center center no-repeat;
  background-size: cover;
  z-index: 1;
}
.m-modal__prev::after, .m-modal__next::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  mask: url(../img/common/sns_bg.svg) center center no-repeat;
  mask-size: cover;
  background-color: #485157;
  opacity: 0.3;
}
.m-modal__prev span, .m-modal__next span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  z-index: 2;
}
.m-modal__prev span::before, .m-modal__next span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/common/sns_bg_hover.svg) center center no-repeat;
  background-size: cover;
  opacity: 0;
}
.m-modal__prev span::after, .m-modal__next span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: url(../img/common/icon_arrow.svg) center center no-repeat;
  background-size: cover;
}
.m-modal__prev span::after {
  transform: translate(-50%, -50%) rotate(-90deg);
}
.m-modal__next span::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.m-modal__item {
  background-color: #fff;
}
@media screen and (min-width: 769px) {
  .m-modal__content {
    width: min(976px, 67.7777777778vw);
    margin: 0 auto;
  }
  .m-modal__close {
    top: max(-66px, -4.5833333333vw);
    right: max(-168px, -11.6666666667vw);
    width: min(121px, 8.4027777778vw);
    height: min(34px, 2.3611111111vw);
    cursor: pointer;
    transition: opacity 0.2s linear;
  }
  .m-modal__close::before, .m-modal__close::after {
    width: min(125px, 8.6805555556vw);
  }
  .m-modal__close:hover {
    opacity: 0.5;
  }
  .m-modal__prev, .m-modal__next {
    top: min(239px, 16.5972222222vw);
    width: min(72px, 5vw);
    height: min(72px, 5vw);
    cursor: pointer;
  }
  .m-modal__prev::after, .m-modal__next::after {
    top: min(4px, 0.2777777778vw);
    left: min(4px, 0.2777777778vw);
    transition: top 0.2s linear, left 0.2s linear;
  }
  .m-modal__prev span::before, .m-modal__next span::before {
    transition: opacity 0.2s linear;
  }
  .m-modal__prev span::after, .m-modal__next span::after {
    width: min(40px, 2.7777777778vw);
    height: min(40px, 2.7777777778vw);
  }
  .m-modal__prev:hover::after, .m-modal__next:hover::after {
    top: min(6px, 0.4166666667vw);
    left: min(6px, 0.4166666667vw);
  }
  .m-modal__prev:hover span::before, .m-modal__next:hover span::before {
    opacity: 1;
  }
  .m-modal__prev {
    left: max(-112px, -7.7777777778vw);
  }
  .m-modal__next {
    right: max(-112px, -7.7777777778vw);
  }
  .m-modal__item {
    width: min(976px, 67.7777777778vw);
    aspect-ratio: 976/548;
    margin: 0 min(76px, 5.2777777778vw);
  }
  .m-modal__item iframe {
    width: 100%;
    aspect-ratio: 976/548;
  }
}
@media screen and (max-width: 768px) {
  .m-modal__content {
    width: 91.4666666667vw;
    margin: 0 auto;
  }
  .m-modal__close {
    top: -14.9333333333vw;
    right: 0;
    width: 21.8666666667vw;
    height: 6.9333333333vw;
  }
  .m-modal__close::before, .m-modal__close::after {
    width: 23.4666666667vw;
    height: 1px;
  }
  .m-modal__prev, .m-modal__next {
    bottom: -2.4vw;
    width: 12.8vw;
    height: 12.8vw;
    cursor: pointer;
  }
  .m-modal__prev::after, .m-modal__next::after {
    top: 1.0666666667vw;
    left: 1.0666666667vw;
  }
  .m-modal__prev span::after, .m-modal__next span::after {
    width: 6.4vw;
    height: 6.4vw;
  }
  .m-modal__prev {
    left: 0;
  }
  .m-modal__next {
    right: 0;
  }
  .m-modal__item {
    width: 91.4666666667vw;
    aspect-ratio: 343/193;
    margin: 0 5.3333333333vw;
  }
  .m-modal__item iframe {
    width: 100%;
    aspect-ratio: 343/193;
  }
}