@keyframes up2show {
  0% {
    -webkit-clip-path: inset(100% 0 0 0);
    clip-path: inset(100% 0 0 0)
  }

  to {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
  }
}

@keyframes up2hide {
  0% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
  }

  to {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
}

@keyframes left2show {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0)
  }

  to {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    translate: 0 10px
  }

  to {
    opacity: 1;
    translate: 0 0
  }
}

@keyframes fadeInBlur {
  0% {
    filter: blur(10px);
    opacity: 0
  }

  to {
    filter: blur(0);
    opacity: 1
  }
}

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    translate: 0 0
  }

  to {
    opacity: 0;
    translate: 0 10px
  }
}

@keyframes loop-images {
  0% {
    translate: 0 0
  }

  to {
    translate: -100% 0
  }
}

/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  word-break: normal
}

*,
:after,
:before {
  background-repeat: no-repeat;
  box-sizing: inherit
}

:after,
:before {
  text-decoration: inherit;
  vertical-align: inherit
}

* {
  margin: 0;
  padding: 0
}

hr {
  color: inherit;
  height: 0;
  overflow: visible
}

details,
main {
  display: block
}

summary {
  display: list-item
}

small {
  font-size: 80%
}

[hidden] {
  display: none
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}

a {
  background-color: transparent
}

a:active,
a:hover {
  outline-width: 0
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace
}

pre {
  font-size: 1em
}

b,
strong {
  font-weight: bolder
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

table {
  border-color: inherit;
  text-indent: 0
}

input {
  border-radius: 0
}

[disabled] {
  cursor: default
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

textarea {
  overflow: auto;
  resize: vertical
}

button,
input,
optgroup,
select,
textarea {
  font: inherit
}

optgroup {
  font-weight: 700
}

button {
  overflow: visible
}

button,
select {
  text-transform: none
}

[role=button],
[type=button],
[type=reset],
[type=submit],
button {
  color: inherit;
  cursor: pointer
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button:-moz-focusring {
  outline: 1px dotted ButtonText
}

[type=reset],
[type=submit],
button,
html [type=button] {
  -webkit-appearance: button
}

button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0
}

select {
  -moz-appearance: none;
  -webkit-appearance: none
}

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

select::-ms-value {
  color: currentColor
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit
}

img {
  border-style: none
}

progress {
  vertical-align: baseline
}

[aria-busy=true] {
  cursor: progress
}

[aria-controls] {
  cursor: pointer
}

[aria-disabled=true] {
  cursor: default
}

.m-Heading-1 {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 2.14844vw;
  font-weight: var(--weight-sb);
  gap: 1.4974vw;
  letter-spacing: .1em;
  line-height: 1.1303030303;
  text-align: center
}

.m-Heading-1:after {
  background: var(--color-main);
  content: "";
  display: block;
  height: .13021vw;
  width: 2.91536vw
}

.m-Heading-2 {
  align-items: center;
  display: flex;
  flex-direction: column;
  text-align: center
}

.m-Heading-2>* {
  flex: 0 0 auto
}

.m-Heading-2 .en {
  width: var(--en-width)
}

.m-Heading-2 .ja {
  color: var(--color-main);
  font-size: 1.95313vw;
  letter-spacing: .1em
}

.js-inView-fadeup {
  opacity: 0;
  visibility: hidden
}

.js-inView-fadeup.js-inView-activate {
  animation: fadeInUp .8s ease forwards;
  visibility: visible
}

.Header {
  background: #fff;
  height: 5.20833vw;
  padding: 1.36719vw 2.99479vw;
  width: 100%
}

.Header__logo {
  line-height: 1;
  width: 8.26823vw
}

.Firstview {
  display: flex;
  height: calc(100vh - 5.20833vw);
  min-height: 50.9vw
}

.Firstview__body {
  align-items: center;
  background: url(../images/bg-dot-red.png) 0 0/auto repeat;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: center;
  width: 44.66146vw
}

.Firstview__catch {
  margin: 0 auto;
  width: 27.14844vw
}

.Firstview__award {
  margin: 10px auto 0 auto;
  width: 27.14844vw
}

/* 768px~ */
@media (max-width: 768px) {
  .Firstview__award {
    width: 70vw;
  }
}

.Firstview__achievements {
  background: #8f0005;
  border: .0918vw solid #efcc81;
  border-radius: .50586vw;
  color: #fff;
  display: block;
  font-size: 1.37891vw;
  font-weight: var(--weight-b);
  list-style: none;
  margin: .39063vw auto 0;
  padding: .58594vw 1.30208vw 1.30208vw 2.60417vw;
  width: 29.42708vw
}

.Firstview__achievements>* {
  padding-left: 2.40885vw;
  position: relative
}

.Firstview__achievements>:before {
  background: #000;
  background: linear-gradient(180deg, #936910, #fdda90 48.44%, #d0ac5e);
  -webkit-clip-path: polygon(0 0, 0 100%, 50% 88.405%, 100% 100%, 100% 0);
  clip-path: polygon(0 0, 0 100%, 50% 88.405%, 100% 100%, 100% 0);
  content: "";
  display: block;
  height: 2.24609vw;
  left: 0;
  margin-top: -.65104vw;
  position: absolute;
  top: 50%;
  width: 1.10286vw
}

.Firstview__achievements .underline {
  align-items: baseline;
  display: inline-flex;
  position: relative
}

.Firstview__achievements .underline:after {
  background: currentColor;
  bottom: .26042vw;
  content: "";
  display: block;
  height: .0918vw;
  left: 0;
  position: absolute;
  width: 100%
}

.Firstview__achievements .number {
  font-size: 2.76823vw;
  font-weight: var(--weight-bk)
}

.Firstview__image {
  flex: 1 1 auto;
  width: 100%
}

.Firstview__image img,
.Firstview__image picture {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%
}

.Firstview__lead {
  color: #fff;
  font-size: 1.19466vw;
  font-weight: var(--weight-b);
  letter-spacing: .07em;
  line-height: 1.89;
  margin: 1.77799vw 0 0;
  text-align: center;
  text-shadow: 0 2.82368px 2.82368px rgba(0, 0, 0, .25)
}

.Firstview__feature {
  color: #fff;
  display: flex;
  gap: 1.10677vw;
  justify-content: center;
  margin: 1.0013vw 0 0
}

.Firstview__feature .item {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  font-weight: var(--weight-b);
  height: 5.79427vw;
  padding: .82813vw 0;
  position: relative
}

.Firstview__feature .item:after,
.Firstview__feature .item:before {
  aspect-ratio: 38/89;
  background: 0 0/contain no-repeat;
  content: "";
  display: block;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 2.47396vw
}

.Firstview__feature .item:before {
  background-image: url(../images/deco-winner-left.png);
  left: 0
}

.Firstview__feature .item:after {
  background-image: url(../images/deco-winner-right.png);
  right: 0
}

.Firstview__feature .label {
  font-size: .91992vw;
  font-weight: var(--weight-b);
  line-height: 1.15;
  text-align: center
}

.Firstview__feature .text {
  line-height: 1;
  margin-top: auto
}

.Firstview__feature .item_01 {
  width: 10.15625vw
}

.Firstview__feature .item_01 .text {
  font-size: 1.61003vw
}

.Firstview__feature .item_01 .number {
  font-size: 2.66862vw
}

.Firstview__feature .item_02 {
  width: 9.375vw
}

.Firstview__feature .item_02 .text {
  font-size: 1.61003vw
}

.Firstview__feature .item_02 .number {
  font-size: 2.66862vw
}

.Firstview__feature .item_02 .number .small {
  font-size: 1.38021vw
}

.Firstview__feature .item_03 {
  padding-bottom: .26042vw;
  width: 9.70052vw
}

.Firstview__feature .item_03 .text {
  font-size: 1.74805vw
}

.Cases {
  padding: 5.07813vw 0 5.20833vw
}

.Cases__lead {
  font-size: 1.82292vw;
  font-weight: var(--weight-sb);
  letter-spacing: .1em;
  line-height: 1.9;
  margin: 2.34375vw 0 0;
  text-align: center
}

.Cases__lead .large {
  font-size: 2.21354vw
}

.Cases__lead .text_02 {
  letter-spacing: .06em
}

.Cases__list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 3.25521vw 2.60417vw;
  justify-content: center;
  list-style: none;
  margin: 2.14844vw auto 0;
  padding: 0;
  width: 50.13021vw
}

.Cases__list>* {
  flex: 0 0 auto
}

.Cases__list .mercari {
  width: 10.61198vw
}

.Cases__list .tiger {
  width: 10.41667vw
}

.Cases__list .fuso {
  width: 10.41667vw
}

.Cases__list .fujisoft {
  width: 10.80729vw
}

.Cases__list .tel {
  width: 5.27344vw
}

.Cases__list .chugai {
  width: 18.03385vw
}

.Cases__list .asti {
  width: 8.52865vw
}

.Cases__small {
  margin-top: 2.60417vw;
  text-align: center
}

.Example {
  background: url(../images/bg-dot-gray.png) 0 0/auto repeat;
  padding: 4.94792vw 0
}

.Example__catch {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-weight: var(--weight-sb);
  letter-spacing: .1em;
  margin-top: 2.40885vw;
  text-align: center
}

.Example__catch .text_01 {
  font-size: 2.34375vw;
  letter-spacing: .1em
}

.Example__catch .text_02 {
  font-size: 2.08333vw;
  letter-spacing: .1em;
  margin-top: -.19531vw
}

.Example__catch .large {
  font-size: 3.90625vw;
  letter-spacing: .1em;
  margin-right: .26042vw;
  position: relative;
  top: -.39062vw
}

.Example__catch .large .smaller {
  font-size: 2.60417vw;
  letter-spacing: .1em
}

.Example__catch .underline {
  display: inline-block;
  font-size: 2.86458vw;
  letter-spacing: .1em;
  margin-right: .65104vw;
  position: relative
}

.Example__catch .underline:after {
  background: var(--color-main);
  bottom: -.0651vw;
  content: "";
  display: block;
  height: 2px;
  left: .58594vw;
  position: absolute;
  right: .71615vw
}

.Example__list {
  display: flex;
  gap: 2.60417vw;
  justify-content: center;
  margin-top: 2.60417vw
}

.Example__item {
  flex: 0 0 auto;
  width: 31.25vw
}

.Example__item.week .Example__label:before {
  background-image: url(../images/deco-1week.png)
}

.Example__item.month .Example__label:before {
  background-image: url(../images/deco-1month.png)
}

.Example__label {
  font-size: 2.47396vw;
  font-weight: var(--weight-sb);
  letter-spacing: .1em;
  margin: 0 0 3.25521vw;
  padding: 5.59896vw 0 0;
  position: relative;
  text-align: center;
  z-index: 0
}

.Example__label:before {
  background: top/contain no-repeat;
  content: "";
  display: block;
  height: 5.98958vw;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1
}

.Example__label:after {
  background: var(--color-black);
  content: "";
  display: block;
  height: 1.95313vw;
  left: 50%;
  margin-top: .52083vw;
  pointer-events: none;
  position: absolute;
  top: 100%;
  width: 1px
}

.Example__lead {
  align-items: center;
  display: flex;
  gap: 1.95313vw;
  justify-content: center
}

.Example__lead:before {
  aspect-ratio: 1;
  background: url(../images/icon-balloon.svg) 0 0/contain no-repeat;
  content: "";
  display: block;
  flex: 0 0 auto;
  height: auto;
  width: 5.20833vw
}

.Example__lead .text {
  color: var(--color-main);
  flex: 0 0 auto;
  font-size: 1.43229vw;
  font-weight: var(--weight-sb);
  letter-spacing: .1em;
  text-align: center
}

.Example__image {
  margin: 1.30208vw 0 1.17188vw
}

.Example__image+p {
  font-family: var(--font-gothic);
  font-size: 1.04167vw;
  letter-spacing: .1em;
  line-height: 1.75
}

.World {
  padding: 4.88281vw 0 0
}

.World__catch {
  font-size: 2.08333vw;
  font-weight: var(--weight-sb);
  letter-spacing: .1em;
  margin-top: 2.14844vw;
  text-align: center
}

.World__catch .number {
  font-size: 3.58073vw;
  letter-spacing: normal
}

.World-Case {
  display: grid;
  gap: 2.92969vw 2.60417vw;
  grid-template-columns: 1fr 1fr;
  margin: 3.125vw auto 0;
  width: 78.125vw
}

.World-Case__item {
  border: 1px solid #8e8e8e;
  border-radius: .55534vw;
  padding: 1.75781vw 1.95313vw
}

.World-Case__title {
  align-items: center;
  display: flex;
  font-weight: var(--weight-b);
  gap: 1.04167vw
}

.World-Case__title .icon {
  align-items: center;
  aspect-ratio: 1;
  border: .11133vw solid;
  border-radius: 100vw;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  font-size: .83268vw;
  justify-content: center;
  letter-spacing: .1em;
  line-height: 1;
  padding-top: .45573vw;
  width: 6.38021vw
}

.World-Case__title .icon .number {
  font-size: 1.99935vw
}

.World-Case__title .text {
  color: var(--color-main);
  font-size: 2.21354vw;
  letter-spacing: .1em;
  line-height: 1.2529411765;
  margin-right: -.65104vw
}

.World-Case__name {
  border-bottom: .11133vw solid #dadada;
  border-top: .11133vw solid #dadada;
  font-size: 1.5625vw;
  font-weight: var(--weight-sb);
  letter-spacing: .1em;
  line-height: 1.2791666667;
  margin: 1.10677vw 0 0;
  padding: .58594vw 0 .52083vw;
  text-align: center
}

.World-Case__flex {
  align-items: center;
  display: flex;
  margin: 1.36719vw -1.95312vw 0 0
}

.World-Case__image {
  flex: 0 0 auto;
  width: 20.50781vw
}

.World-Case__body {
  flex: 1 0 auto
}

.World-Case__body>* {
  flex-direction: column
}

.World-Case__body>*,
.World-Case__body>* .label {
  align-items: center;
  display: flex;
  text-align: center
}

.World-Case__body>* .label {
  border-radius: 100vw;
  color: #fff;
  flex: 0 0 auto;
  font-size: 1.16602vw;
  font-weight: var(--weight-b);
  height: 2.22135vw;
  justify-content: center;
  letter-spacing: .1em;
  width: 9.4401vw
}

.World-Case__body>* .text {
  font-size: 1.5625vw;
  font-weight: var(--weight-sb);
  margin-top: 1.04167vw
}

.World-Case__before:after {
  aspect-ratio: 1;
  background: #d5d5d5;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  content: "";
  display: block;
  margin: .71615vw auto;
  width: 1.30208vw
}

.World-Case__before .label {
  background: var(--color-gray)
}

.World-Case__after {
  background: var(--color-main);
  padding: 1.36719vw 0
}

.World-Case__after .label {
  background: #fff;
  color: var(--color-main)
}

.World-Case__after .text {
  color: #fff;
  margin-top: .65104vw
}

.World-Movies {
  background: url(../images/bg-dot-red.png) 0 0/auto repeat;
  color: #fff;
  margin: 5.20833vw 0 0;
  padding: 5.20833vw 0
}

.World-Movies__catch {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: .65104vw;
  line-height: 1;
  text-align: center
}

.World-Movies__catch .text_01 {
  font-size: 1.82292vw;
  letter-spacing: .1em
}

.World-Movies__catch .text_02 {
  font-size: 2.08333vw;
  font-weight: var(--weight-sb);
  letter-spacing: .1em;
  line-height: 1
}

.World-Movies__catch .text_02 .large {
  font-size: 3.58073vw;
  line-height: 1
}

.World-Movies__list {
  display: flex;
  flex-direction: column;
  gap: 3.90625vw;
  margin: 3.90625vw auto 0;
  width: 78.125vw
}

.World-Movies__item {
  align-items: center;
  display: flex;
  gap: 3.25521vw
}

.World-Movies__body {
  flex: 1 1 auto
}

.World-Movies__name {
  align-items: flex-end;
  display: flex;
  font-weight: var(--weight-sb);
  gap: 1.95313vw;
  line-height: 1
}

.World-Movies__name .name {
  border: 1px solid;
  font-size: 1.5625vw;
  padding: .58594vw 1.95313vw
}

.World-Movies__name .term {
  font-size: 1.95313vw
}

.World-Movies__name .number {
  display: inline-block;
  font-size: 3.90625vw;
  line-height: 3.90625vw
}

.World-Movies__comment {
  font-family: var(--font-gothic);
  font-size: 1.04167vw;
  letter-spacing: .1em;
  line-height: 1.75;
  margin-top: 1.95313vw
}

.World-Movies__movie {
  aspect-ratio: 16/9;
  flex: 0 0 auto;
  width: 37.76042vw
}

.World-Movies__movie>iframe {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%
}

.Methods {
  overflow: hidden;
  padding: 1.04167vw 0 4.55729vw;
  width: 100%
}

.Methods__loop {
  display: flex;
  gap: 5.20833vw;
  width: 100%
}

.Methods__loop>* {
  animation: loop-images 60s linear infinite;
  flex: 0 0 auto;
  width: 178.88151vw
}

.Methods__flex {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-top: 4.94792vw
}

.Methods__image {
  flex: 0 0 auto;
  width: 34.89583vw
}

.Methods__text {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  font-weight: var(--weight-b);
  gap: 1.30208vw;
  left: -.45573vw;
  position: relative;
  text-align: center;
  top: .32552vw;
  width: 32.55208vw
}

.Methods__text .text_01 {
  font-size: 1.87174vw;
  letter-spacing: .1em
}

.Methods__text .text_01 .dot {
  font-size: 2.28776vw
}

.Methods__text .text_01 .dot>* {
  display: inline-block;
  position: relative
}

.Methods__text .text_01 .dot>:before {
  aspect-ratio: 1;
  background: var(--color-main);
  border-radius: 100vw;
  content: "";
  display: block;
  left: 50%;
  margin: -.52083vw 0 0 -.26042vw;
  position: absolute;
  top: 0;
  width: .52083vw
}

.Methods__text .text_02 {
  font-size: 3.11979vw
}

.Points {
  background: url(../images/bg-dot-red.png) 0 0/auto repeat;
  padding: 4.23177vw 0 5.20833vw;
  padding-bottom: 40px;
}
.Points .estimate_link {
  width: 19.53125vw;
  margin: 0 auto;
  padding: 0;
}

.Points .estimate_link .Estimate__btn {
  width: 100%;
}

@media (max-width: 768px) {
  .Points .estimate_link {
    width: 100%;
    margin: 0 auto;
    padding: 0 7.74479vw;
    box-sizing: border-box;
  }
}

.Points__title {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: .39063vw;
  line-height: 1;
  text-align: center
}

.Points__title .text_01 {
  font-size: 1.82292vw;
  font-weight: var(--weight-sb);
  letter-spacing: .1em
}

.Points__title .text_01 .parsentage {
  font-size: 3.90625vw;
  letter-spacing: -.03em;
  margin-right: .45573vw
}

.Points__title .text_02 {
  font-size: 3.125vw;
  font-weight: var(--weight-b);
  letter-spacing: normal
}

.Points__title .text_02 .underline {
  display: inline-block;
  letter-spacing: .1em;
  line-height: 1;
  padding-bottom: .52083vw;
  position: relative;
  top: -.52083vw
}

.Points__title .text_02 .underline:after {
  background: #fff;
  bottom: .19531vw;
  content: "";
  display: block;
  height: 1px;
  left: .84635vw;
  position: absolute;
  right: .78125vw
}

.Points__title .text_02 .number {
  font-size: 5.20833vw;
  margin: 0 .39063vw 0 .91146vw
}

.Points__list {
  display: flex;
  flex-direction: column;
  gap: 1.95313vw;
  margin: 3.25521vw auto 0;
  width: 78.125vw
}

.Points__item {
  background: var(--color-gray-thin);
  border-radius: 1.5625vw;
  box-shadow: 0 4px 4px rgba(0, 0, 0, .25);
  padding: 4.55729vw 6.51042vw 4.88281vw
}

.Points__tag {
  align-items: flex-end;
  color: var(--color-gray);
  display: flex;
  gap: .45573vw;
  justify-content: center;
  line-height: 1
}

.Points__tag .text {
  border-bottom: .19531vw solid var(--color-gray);
  font-size: 1.30208vw;
  font-weight: var(--weight-b);
  letter-spacing: .1em;
  padding-bottom: .91146vw
}

.Points__tag .number {
  font-size: 3.25521vw;
  font-weight: var(--weight-sb);
  letter-spacing: .02em
}

.Point-01__flex {
  display: flex;
  gap: 3.25521vw;
  justify-content: center;
  margin: 3.25521vw 0 0
}

.Point-01__image01 {
  flex: 0 0 auto;
  width: 24.73958vw
}

.Point-01__image02 {
  flex: 0 0 auto;
  width: 21.22396vw
}

.Point-01__title {
  align-items: baseline;
  display: flex;
  font-weight: var(--weight-sb);
  justify-content: center;
  margin-top: 4.16667vw
}

.Point-01__title .text_01 {
  font-size: 2.08333vw;
  letter-spacing: .1em;
  white-space: nowrap
}

.Point-01__title .text_01 .large {
  font-size: 3.25521vw;
  letter-spacing: .1em;
  margin: 0 -1.6276vw 0 -2.73437vw
}

.Point-01__title .text_02 {
  font-size: 1.82292vw;
  letter-spacing: .1em;
  margin: -.26042vw 0 0 -.32552vw
}

.Point-01__title .text_02 .underline {
  display: inline-block;
  font-size: 3.125vw;
  letter-spacing: .1em;
  margin: 0 .45573vw;
  position: relative;
  top: -.26042vw
}

.Point-01__title .text_02 .underline:after {
  background: var(--color-main);
  bottom: -.26042vw;
  content: "";
  display: block;
  height: 2px;
  left: 0;
  position: absolute;
  right: .19531vw
}

.Point-01__text {
  font-family: var(--font-gothic);
  font-size: 1.04167vw;
  font-weight: var(--weight-r);
  letter-spacing: .1em;
  line-height: 1.75;
  margin: 2.34375vw 0 0;
  padding-right: .91146vw
}

.Point-02__title {
  align-items: center;
  color: var(--color-main);
  display: flex;
  flex-direction: column;
  font-size: 2.08333vw;
  font-weight: var(--weight-sb);
  margin: 3.64583vw 0 0;
  text-align: center
}

.Point-02__title .text_01 .large {
  color: var(--color-black);
  font-size: 3.25521vw
}

.Point-02__title .text_01 .dot {
  font-size: 4.55729vw
}

.Point-02__title .text_01 .dot>* {
  display: inline-block;
  position: relative
}

.Point-02__title .text_01 .dot>:before {
  aspect-ratio: 1;
  background: var(--color-main);
  border-radius: 100vw;
  content: "";
  display: block;
  left: 50%;
  margin: .39063vw 0 0 -.32552vw;
  position: absolute;
  top: 0;
  width: .65104vw
}

.Point-02__title .text_02 {
  line-height: 1
}

.Point-02__title .text_02 .large {
  font-size: 2.60417vw
}

.Point-02__text {
  font-family: var(--font-gothic);
  font-size: 1.04167vw;
  font-weight: var(--weight-r);
  letter-spacing: .1em;
  line-height: 1.75;
  margin: 1.95313vw 0 0
}

.Point-02__cases {
  margin-top: 1.95313vw
}

.Point-02__small {
  font-family: var(--font-gothic);
  font-size: .78125vw;
  letter-spacing: .1em;
  margin: 2.08333vw 0 0;
  text-align: center
}

.Point-02 .splide__pagination {
  display: flex;
  gap: 1.17188vw;
  justify-content: center;
  margin: 2.86458vw 0 0;
  position: relative
}

.Point-02 .splide__pagination>* {
  flex: 0 0 auto;
  width: .97656vw
}

.Point-02 .splide__pagination__page {
  background: #ffb0b0;
  height: .97656vw;
  margin: 0;
  width: .97656vw
}

.Point-02 .splide__pagination__page.is-active {
  background: var(--color-main);
  transform: scale(1)
}

.Point-02-Item__title {
  color: var(--color-main);
  font-size: 1.6276vw;
  font-weight: var(--weight-sb);
  line-height: 1.84;
  margin-bottom: 2.08333vw;
  position: relative;
  text-align: center;
  z-index: 10
}

.Point-02-Item__title:after {
  background: var(--color-black);
  content: "";
  display: block;
  height: 3.25521vw;
  left: 50%;
  margin: .65104vw 0 0;
  position: absolute;
  top: 100%;
  width: 1px
}

.Point-02-Item__body {
  background: #fff;
  border-radius: .65104vw;
  padding: 2.47396vw 3.125vw
}

.Point-02-Item__intro {
  align-items: flex-end;
  display: flex;
  gap: 1.95313vw
}

.Point-02-Item__image {
  flex: 0 0 auto;
  width: 23.4375vw
}

.Point-02-Item__detail {
  flex: 0 1 auto;
  width: 33.20313vw
}

.Point-02-Item__detail>* {
  align-items: flex-start;
  display: flex;
  gap: 1.82292vw
}

.Point-02-Item__tag {
  align-items: center;
  aspect-ratio: 1;
  border: 2px solid var(--color-black);
  border-radius: 100vw;
  display: flex;
  flex-direction: column;
  font-weight: var(--weight-sb);
  justify-content: center;
  line-height: 1;
  text-align: center;
  width: 6.51042vw
}

.Point-02-Item__tag .text {
  font-size: 1.04167vw;
  letter-spacing: .1em
}

.Point-02-Item__tag .number {
  font-size: 2.60417vw
}

.Point-02-Item__profile {
  display: grid;
  flex: 0 0 auto;
  font-family: var(--font-gothic);
  font-size: 1.30208vw;
  gap: .32552vw 0;
  grid-template-columns: auto 1fr;
  letter-spacing: .1em
}

.Point-02-Item__profile .label {
  color: var(--color-main);
  font-weight: var(--weight-b)
}

.Point-02-Item__profile .text {
  font-weight: var(--weight-m)
}

.Point-02-Item__profile .text:before {
  content: "：";
  margin: 0 .26042vw
}

.Point-02-Item__purpose {
  align-items: center;
  background: #f5e8e8;
  display: flex;
  font-family: var(--font-gothic);
  font-weight: var(--weight-m);
  gap: 1.04167vw;
  letter-spacing: .1em;
  margin: 1.69271vw 0 0;
  padding: 1.10677vw 1.43229vw
}

.Point-02-Item__purpose .label {
  align-items: center;
  aspect-ratio: 1;
  background: var(--color-main);
  color: #fff;
  display: flex;
  flex: 0 0 auto;
  font-size: .91146vw;
  justify-content: center;
  line-height: 1.2857142857;
  text-align: center;
  width: 3.25521vw
}

.Point-02-Item__purpose .text {
  font-size: 1.04167vw;
  line-height: 1.5
}

.Point-02-Item__figures {
  display: flex;
  gap: 2.66927vw;
  margin: 2.14844vw 0 0;
  position: relative
}

.Point-02-Item__figures .item {
  flex: 1 1 auto;
  position: relative
}

.Point-02-Item__figures .item:first-child:after {
  background: #bfbfbf;
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
  right: -1.30208vw;
  top: 0;
  width: 1px
}

.Point-02-Item__catch {
  color: var(--color-main);
  font-size: 1.82292vw;
  font-weight: var(--weight-sb);
  margin: 1.95313vw 0 0;
  text-align: center
}

.Point-03__flex {
  display: flex;
  gap: 3.1901vw;
  margin: 4.10156vw 0 0
}

.Point-03__image {
  flex: 0 0 auto;
  width: 30.59896vw
}

.Point-03__body {
  padding-top: .45573vw
}

.Point-03__title {
  display: flex;
  flex-direction: column;
  font-weight: var(--weight-sb);
  gap: .65104vw
}

.Point-03__title .text_01 {
  font-size: 1.82292vw;
  letter-spacing: .1em
}

.Point-03__title .text_02 {
  font-size: 2.40885vw;
  letter-spacing: normal
}

.Point-03__text {
  margin: 1.36719vw 0 0
}

.Point-03__coach {
  align-items: center;
  display: flex;
  font-family: var(font-gothic);
  gap: 3.1901vw
}

.Point-03__coach .banner {
  flex: 0 0 auto;
  margin: 1.95313vw auto;
  position: relative;
  width: 30.59896vw
}

.Point-03__coach .banner img {
  display: block;
  margin: 0 auto;
  width: 24.08854vw
}

.Point-03__coach .banner+* {
  font-family: var(--font-gothic);
  letter-spacing: .1em;
  line-height: 1.75
}

.Point-03__coach .banner+* .small {
  display: block;
  font-size: .78125vw;
  letter-spacing: .05em;
  margin-top: .39063vw
}

.Point-03__text {
  font-family: var(--font-gothic);
  font-size: 1.04167vw;
  letter-spacing: .1em;
  line-height: 1.75
}

.Environment {
  padding: 4.94792vw 0 5.20833vw;
  position: relative;
  z-index: 10
}

.Environment:after {
  aspect-ratio: 80/40;
  background: #fff;
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  content: "";
  display: block;
  left: 50%;
  margin: -1px 0 0 -2.79948vw;
  position: absolute;
  top: 100%;
  width: 5.20833vw
}

.Environment__title {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-weight: var(--weight-sb);
  gap: 1.95313vw;
  line-height: 1;
  text-align: center
}

.Environment__title .text_01 {
  font-size: 1.82292vw;
  letter-spacing: .1em
}

.Environment__title .text_02 {
  font-size: 2.60417vw;
  letter-spacing: .1em
}

.Environment__title .text_02 .small {
  font-size: 1.82292vw;
  letter-spacing: normal
}

.Environment__title .text_02 .dot {
  letter-spacing: normal
}

.Environment__title .text_02 .dot>* {
  display: inline-block;
  position: relative
}

.Environment__title .text_02 .dot>:before {
  aspect-ratio: 1;
  background: var(--color-main);
  border-radius: 100vw;
  content: "";
  display: block;
  left: 50%;
  margin: -.78125vw 0 0 -.21484vw;
  position: absolute;
  top: 0;
  width: .42969vw
}

.Environment__schedule {
  left: -1.17187vw;
  margin: 2.47396vw auto 0;
  position: relative;
  width: 28.38542vw
}

.Environment__figure {
  margin: 1.95313vw auto 0;
  width: 58.59375vw
}

.Environment-Shortterm {
  padding: 4.16667vw 0 0
}

.Environment-Shortterm__catch {
  font-size: 2.34375vw;
  font-weight: var(--weight-sb);
  letter-spacing: normal;
  text-align: center
}

.Environment-Shortterm__catch .large {
  font-size: 2.60417vw
}

.Environment-Shortterm__flex {
  display: flex;
  gap: 2.08333vw;
  justify-content: center;
  margin: 2.86458vw 0 0
}

.Environment-Shortterm__image {
  flex: 0 0 auto;
  width: 30.59896vw
}

.Environment-Shortterm__body {
  flex: 0 0 auto;
  padding-top: 2.60417vw;
  width: 32.42188vw
}

.Environment-Shortterm__title {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-weight: var(--weight-sb);
  gap: .32552vw;
  text-align: center
}

.Environment-Shortterm__title .text_01 {
  font-size: 1.43229vw;
  letter-spacing: normal
}

.Environment-Shortterm__title .text_02 {
  font-size: 2.08333vw;
  letter-spacing: normal
}

.Environment-Shortterm__comparison {
  display: flex;
  gap: 4.03646vw;
  justify-content: center;
  margin-top: 1.5625vw
}

.Environment-Shortterm__comparison .item {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  font-family: var(--font-gothic);
  font-weight: var(--weight-b)
}

.Environment-Shortterm__comparison .label {
  align-items: center;
  border: .10156vw solid;
  border-radius: 100vw;
  display: flex;
  font-size: 1.17188vw;
  height: 2.56836vw;
  justify-content: center;
  letter-spacing: normal;
  line-height: 1;
  text-align: center;
  width: 11.65169vw
}

.Environment-Shortterm__comparison .text {
  letter-spacing: normal;
  line-height: 1
}

.Environment-Shortterm__comparison .text .number {
  font-family: var(--font-gothic-en)
}

.Environment-Shortterm__comparison .item_01 {
  padding-top: .26042vw;
  position: relative
}

.Environment-Shortterm__comparison .item_01:after {
  aspect-ratio: 1;
  background: #d9d9d9;
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  content: "";
  display: block;
  left: 100%;
  margin: 3.25521vw 0 0 1.30208vw;
  position: absolute;
  top: 0;
  width: .97656vw
}

.Environment-Shortterm__comparison .item_01 .text {
  font-size: 1.50846vw;
  margin-top: 1.95313vw
}

.Environment-Shortterm__comparison .item_01 .text .large {
  font-size: 2.38802vw
}

.Environment-Shortterm__comparison .item_02 .label {
  border-color: var(--color-main);
  color: var(--color-main)
}

.Environment-Shortterm__comparison .item_02 .text {
  color: var(--color-main);
  font-size: 1.82292vw;
  margin-top: 1.23698vw;
  position: relative
}

.Environment-Shortterm__comparison .item_02 .text .large {
  font-size: 3.26758vw
}

.Environment-Shortterm__comparison .item_02 .text .small {
  color: #222;
  font-size: .65104vw;
  font-weight: var(--weight-m);
  margin-top: .65104vw;
  position: absolute;
  right: 0;
  top: 100%
}

.Activity {
  background: url(../images/bg-dot-red.png) 0 0/auto repeat;
  height: 93.48958vw;
  overflow: hidden;
  padding: 6.21745vw 0 5.20833vw;
  position: relative;
  width: 100%;
  z-index: 0
}

.Activity .deco {
  background: var(--color-main);
  display: block;
  mix-blend-mode: multiply;
  position: absolute;
  width: 100vw;
  z-index: 0
}

.Activity .deco_01 {
  height: 13.67188vw;
  left: 46.9401vw;
  top: 14.38802vw
}

.Activity .deco_02 {
  height: 23.4375vw;
  right: 45.11719vw;
  top: 49.60938vw
}

.Activity__lead {
  color: #fff;
  font-size: 1.95313vw;
  font-weight: var(--weight-sb);
  letter-spacing: .1em;
  line-height: 1.6666666667;
  text-align: center
}

.Activity__image {
  display: block;
  position: absolute;
  z-index: 10
}

.Activity__image.image_01 {
  aspect-ratio: 480/370;
  left: 20.70313vw;
  top: 16.08073vw;
  width: 31.25vw
}

.Activity__image.image_02 {
  aspect-ratio: 220/297;
  left: 58.46354vw;
  top: 18.42448vw;
  width: 14.32292vw
}

.Activity__image.image_03 {
  aspect-ratio: 550/328.3;
  left: 32.09635vw;
  top: 41.47135vw;
  width: 35.80729vw
}

.Activity__image.image_04 {
  aspect-ratio: 220/297;
  left: 27.21354vw;
  top: 66.47135vw;
  width: 14.32292vw
}

.Activity__image.image_05 {
  aspect-ratio: 480/370;
  left: 48.04688vw;
  top: 64.1276vw;
  width: 31.25vw
}

.Data {
  padding: 5.20833vw 0 4.81771vw
}

.Data__title {
  --en-width: 14.52995vw;
  margin-bottom: 4.16667vw;
  position: relative
}

.Data__title:after {
  background: var(--color-black);
  content: "";
  display: block;
  height: 2.60417vw;
  left: 50%;
  margin-top: 1.30208vw;
  position: absolute;
  top: 100%;
  width: 1px
}

.Data__title .en {
  left: 1.30208vw;
  position: relative
}

.Data__list {
  display: flex;
  flex-wrap: wrap;
  gap: 5.01302vw 7.8125vw;
  margin: 0 auto;
  width: 58.59375vw
}

.Data__item {
  flex: 0 0 auto;
  position: relative;
  width: 14.32292vw
}

.Data__item:nth-of-type(2) .Data__image {
  margin-top: -1.5625vw
}

.Data__item:nth-of-type(4) .Data__label {
  margin-bottom: 1.04167vw
}

.Data__item:last-child {
  padding-top: 1.23698vw;
  width: 28.71094vw
}

.Data__item:last-child .Data__label {
  left: .91146vw;
  position: absolute;
  top: 0
}

.Data__label {
  font-family: var(--font-gothic);
  font-size: 1.33724vw;
  font-weight: var(--weight-b);
  letter-spacing: normal;
  line-height: 1.6;
  margin-bottom: 2.28516vw;
  text-align: center
}

.Voice {
  background: url(../images/bg-dot-gray.png) 0 0/auto repeat;
  padding: 4.55729vw 0 5.20833vw
}

.Voice__title {
  --en-width: 17.80599vw
}

.Voice__title .ja {
  letter-spacing: normal
}

.Voice__list {
  display: flex;
  gap: 2.60417vw;
  justify-content: center;
  margin: 3.25521vw auto 0
}

.Voice__item {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: .45573vw;
  width: 17.57813vw
}

.Voice__image {
  flex: 0 0 auto;
  width: 12.63021vw
}

.Voice__body {
  background: #fff;
  border-radius: 1.10677vw;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, .25));
  flex: 1 0 auto;
  font-family: var(--font-gothic);
  font-size: .97656vw;
  font-weight: var(--weight-m);
  letter-spacing: normal;
  line-height: 1.75;
  padding: 1.04167vw 1.30208vw .91146vw;
  position: relative
}

.Voice__body:before {
  aspect-ratio: 12/14;
  background: #fff;
  bottom: 100%;
  -webkit-clip-path: polygon(0 100%, 50% 0, 100% 100%);
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
  content: "";
  display: block;
  left: 50%;
  margin: 1px 0 0 -.39062vw;
  position: absolute;
  width: .78125vw
}

.Voice__body .profile {
  font-size: .91146vw
}

.Voice__body .name {
  font-weight: var(--weight-b)
}

.Floormap {
  padding: 5.20833vw 0 4.88281vw
}

.Floormap__title {
  --en-width: 32.61719vw;
  margin-bottom: 3.77604vw;
  position: relative
}

.Floormap__title:after {
  background: var(--color-black);
  content: "";
  display: block;
  height: 2.60417vw;
  left: 50%;
  margin-top: 1.30208vw;
  position: absolute;
  top: 100%;
  width: 1px
}

.Floormap__title .en {
  margin-bottom: -.32552vw
}

.Floormap__image {
  margin: 0 auto 2.81315vw;
  width: 65.10417vw
}

.Floormap__image+p {
  font-family: var(--font-gothic);
  font-size: 1.04167vw;
  font-weight: var(--weight-r);
  letter-spacing: .1em;
  line-height: 1.75;
  text-align: center
}

.Room {
  background: url(../images/bg-dot-red.png) 0 0/auto repeat;
  padding: 5.20833vw 0 4.55729vw;
  position: relative;
  transform: translateZ(0);
  z-index: 200
}

.Room__title {
  --en-width: 18.61979vw
}

.Room__title .ja {
  color: #fff;
  font-weight: var(--weight-sb);
  letter-spacing: .1em
}

.Room__title .ja .large {
  font-size: 3.25521vw
}

.Room__list {
  margin: 3.25521vw auto 0;
  width: 65.10417vw
}

.Room__item {
  align-items: center;
  background: #fff;
  border-radius: .84635vw;
  box-shadow: 0 3.9px 13px rgba(0, 0, 0, .2);
  display: flex;
  gap: 4.6875vw;
  padding: 3.25521vw
}

.Room__image {
  flex: 0 0 auto;
  width: 29.29688vw
}

.Room__body {
  flex: 0 1 auto;
  font-family: var(--font-gothic);
  width: 100%
}

.Room__champ {
  align-items: baseline;
  color: #b59760;
  display: flex;
  gap: .45573vw;
  letter-spacing: normal
}

.Room__champ .icon {
  flex: 0 0 auto;
  position: relative;
  width: 3.25521vw
}

.Room__champ .text {
  font-size: 1.30208vw;
  font-weight: var(--weight-m);
  line-height: 1.64
}

.Room__label {
  font-size: 2.21354vw;
  font-weight: var(--weight-m);
  letter-spacing: normal;
  line-height: 1.64
}

.Room__detail {
  display: flex;
  flex-direction: column;
  gap: 1.10677vw;
  letter-spacing: .1em;
  list-style: none;
  margin: .39063vw 0 0;
  padding: 0
}

.Room__detail>* {
  align-items: center;
  display: flex;
  font-weight: var(--weight-r);
  gap: 1.6276vw
}

.Room__detail .goods .text {
  color: #7e7e7e;
  position: relative
}

.Room__detail .goods .small {
  font-size: .78125vw;
  left: 0;
  position: absolute;
  top: 100%
}

.Room__detail .icon {
  flex: 0 0 auto;
  position: relative;
  width: 1.69271vw
}

.Room__detail .text {
  flex: 1 1 auto
}

.Room .splide__pagination {
  display: flex;
  gap: 1.17188vw;
  justify-content: center;
  margin: 2.92969vw 0 0;
  opacity: 1;
  position: relative
}

.Room .splide__pagination>* {
  flex: 0 0 auto;
  width: .97656vw
}

.Room .splide__pagination__page {
  background: #9c9c9c;
  height: .97656vw;
  width: .97656vw
}

.Room .splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1)
}

.Room .splide__arrow {
  aspect-ratio: 1;
  background: transparent;
  border-radius: 0;
  height: auto;
  margin-top: -1.95312vw;
  opacity: 1;
  width: 3.90625vw
}

.Room .splide__arrow svg {
  height: 100%;
  width: 100%
}

.Room .splide__arrow svg path {
  fill: #fff
}

.Room .splide__arrow--prev {
  left: -8.46354vw
}

.Room .splide__arrow--next {
  right: -8.46354vw
}

.Program {
  background: url(../images/bg-dot-gray.png) 0 0/auto repeat;
  overflow: hidden;
  padding: 4.55729vw 0;
  position: relative;
  transform: translateZ(0);
  z-index: 200
}

.Program__title {
  --en-width: 28.1901vw;
  margin-bottom: 4.23177vw;
  position: relative
}

.Program__title .ja {
  letter-spacing: .15em;
  margin-top: -.39062vw
}

.Program__title:after {
  background: var(--color-black);
  content: "";
  display: block;
  height: 2.60417vw;
  left: 50%;
  margin-top: 1.30208vw;
  position: absolute;
  top: 100%;
  width: 1px
}

.Program__list {
  margin: 0 auto;
  width: 67.05729vw
}

.Program__item {
  background: #fff;
  border-radius: .84635vw;
  box-shadow: 0 3.9px 13px rgba(0, 0, 0, .2);
  padding: 4.55729vw 3.25521vw 6.51042vw;
  position: relative
}

.Program__label {
  text-align: center
}

.Program__label .en {
  color: var(--color-main);
  font-family: var(--font-gothic-en);
  font-size: 3.90625vw;
  font-weight: var(--weight-sb);
  left: 0;
  line-height: 1;
  position: absolute;
  right: 0;
  top: 0;
  translate: 0 -50%
}

.Program__label .ja {
  font-size: 2.34375vw;
  font-weight: var(--weight-sb);
  line-height: 1
}

.Program__details {
  display: grid;
  font-family: var(--font-gothic);
  font-size: 1.15104vw;
  font-weight: var(--weight-m);
  gap: 0 .95898vw;
  grid-template-columns: auto 1fr;
  margin: 3.25521vw 0 0;
  position: relative
}

.Program__details:before {
  border-left: 1px dotted #ccc;
  bottom: 0;
  content: "";
  display: block;
  left: 18.55469vw;
  position: absolute;
  top: 0
}

.Program__details .label {
  align-items: center;
  border-bottom: 1px solid #ccc;
  color: #666;
  display: flex;
  justify-content: center;
  min-height: 3.90625vw;
  text-align: center;
  width: 18.22917vw
}

.Program__details .label:first-of-type {
  border-top: 1px solid #ccc
}

.Program__details .body {
  align-items: center;
  border-bottom: 1px solid #ccc;
  display: flex;
  justify-content: center;
  min-height: 3.90625vw;
  padding: .65104vw;
  text-align: center
}

.Program__details .body:first-of-type {
  border-top: 1px solid #ccc
}

.Program__details .body ul {
  list-style: none;
  margin: 0 auto 0 0;
  padding: 0
}

.Program__details .body ul>* {
  padding-left: 1.04167vw;
  position: relative;
  text-align: left
}

.Program__details .body ul>:before {
  content: "・";
  display: block;
  left: 0;
  position: absolute
}

.Program__details .circle {
  aspect-ratio: 1;
  border: .33724vw solid var(--color-main);
  border-radius: 100vw;
  width: 2.21354vw
}

.Program__details .number {
  font-size: 1.63021vw;
  font-weight: var(--weight-b)
}

.Program__details .koma {
  display: flex;
  gap: 2.08333vw
}

.Program__details .koma .item {
  align-items: baseline;
  display: flex
}

.Program__details .koma .item dd:before {
  content: ":";
  margin: 0 .5em
}

.Program__details .courses {
  display: grid;
  gap: 0 2.08333vw;
  grid-template-columns: auto auto;
  list-style: none;
  padding: .58594vw .26042vw .26042vw;
  text-align: left
}

.Program__details .courses>* {
  padding-left: 1.04167vw;
  position: relative
}

.Program__details .courses>:before {
  content: "・";
  display: block;
  left: 0;
  position: absolute
}

.Program__details .courses .small {
  color: #999;
  font-size: .95898vw;
  line-height: 1.4;
  position: relative
}

.Program .splide__slide {
  padding: 1.95313vw .97656vw .97656vw
}

.Program .splide__pagination {
  display: flex;
  gap: 1.95313vw;
  justify-content: center;
  margin: 1.95313vw 0 0;
  position: relative
}

.Program .splide__pagination>* {
  flex: 0 0 auto;
  width: 1.30208vw
}

.Program .splide__pagination__page {
  background: #ccc;
  height: 1.30208vw;
  opacity: 1;
  width: 1.30208vw
}

.Program .splide__pagination__page.is-active {
  background: var(--color-main);
  transform: scale(1)
}

.Program .splide__arrow {
  aspect-ratio: 1;
  background: var(--color-main);
  border-radius: 0;
  box-shadow: 0 4px 13px 0 rgba(0, 0, 0, .2);
  height: auto;
  margin-top: -.91146vw;
  opacity: 1;
  width: 6.51042vw
}

.Program .splide__arrow svg {
  height: 3.125vw;
  width: 3.125vw
}

.Program .splide__arrow svg path {
  fill: #fff
}

.Program .splide__arrow--prev {
  left: -6.90104vw
}

.Program .splide__arrow--prev svg {
  margin-left: -1.5625vw
}

.Program .splide__arrow--next {
  right: -6.90104vw
}

.Program .splide__arrow--next svg {
  margin-right: -1.5625vw
}

.History {
  background: #fafafa;
  padding: 0 0 5.20833vw
}

.History__header {
  background: #fafafa;
  padding-top: 4.81771vw;
  position: relative;
  transform: translateZ(0);
  width: 100%;
  z-index: 200
}

.History__catch {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 1.75781vw;
  font-weight: var(--weight-sb);
  gap: .39063vw;
  letter-spacing: .1em;
  margin: 2.79948vw 0 0
}

.History__catch .year {
  font-size: 2.60417vw
}

.History__stage {
  margin: 1.43229vw auto 0;
  padding: 2.27865vw 0 0;
  position: relative;
  width: 65.10417vw
}

.History__stage:before {
  background: var(--color-main);
  bottom: 0;
  content: "";
  display: block;
  left: 50%;
  margin-left: -1px;
  position: absolute;
  top: 0;
  width: 2px
}

.History__guide {
  aspect-ratio: 1;
  background: var(--color-main);
  border: .13021vw solid #fff;
  border-radius: 100vw;
  left: 50%;
  opacity: 0;
  position: fixed;
  top: 50vh;
  transform: translate3d(-50%, 0, 0) scale(0);
  transition: opacity .3s ease, transform .3s ease;
  width: 1.5625vw;
  will-change: transform;
  z-index: 99
}

.History__guide.js-pined {
  opacity: 1;
  transform: translate3d(-50%, 0, 0) scale(1)
}

.History__item {
  align-items: center;
  display: flex;
  gap: 3.90625vw;
  justify-content: center
}

.History__item+.History__item {
  margin-top: 5.20833vw
}

.History__item:nth-child(odd) .History__image img {
  margin-left: auto
}

.History__item:nth-child(odd) .History__body .year:before {
  left: -2.73437vw
}

.History__item:nth-child(2n) {
  flex-direction: row-reverse
}

.History__item:nth-child(2n) .History__image img {
  margin-left: right
}

.History__item:nth-child(2n) .History__body {
  text-align: right
}

.History__item:nth-child(2n) .History__body .year:before {
  right: -2.73437vw
}

.History__item.y2020 .History__body .year:before {
  translate: 0 -10px
}

.History__image {
  flex: 0 0 auto;
  width: 30.59896vw
}

.History__body {
  flex: 0 0 auto;
  width: 30.59896vw
}

.History__body .year {
  color: var(--color-main);
  font-size: 3.90625vw;
  font-weight: var(--weight-sb);
  letter-spacing: .03em;
  line-height: 1.5;
  position: relative
}

.History__body .year:before {
  aspect-ratio: 1;
  background: var(--color-main);
  border: .13021vw solid #fff;
  border-radius: 100vw;
  content: "";
  position: absolute;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  width: 1.5625vw;
  z-index: 300
}

.History__body .text {
  font-family: var(--font-gothic);
  font-size: 1.04167vw;
  font-weight: var(--weight-r);
  letter-spacing: .1em;
  line-height: 1.75;
  margin-top: .65104vw
}

.History__box {
  background: #fff;
  border: .13021vw solid var(--color-main);
  border-radius: .84635vw;
  font-family: var(--font-gothic);
  font-size: 1.04167vw;
  font-weight: var(--weight-r);
  letter-spacing: .1em;
  line-height: 1.75;
  margin-top: 3.90625vw;
  padding: 2.73438vw 6.51042vw 2.86458vw;
  position: relative;
  transform: translateZ(0);
  width: 100%;
  z-index: 200
}

.History .js-history-trigger:before {
  transform: translateZ(0) scale(0);
  transition: transform .3s ease;
  will-change: transform
}

.History .js-history-trigger.active:before {
  transform: translateZ(0) scale(1)
}

.History-Box02 {
  margin: 1.95313vw 0 0;
  padding-bottom: 2.60417vw;
  padding-top: 3.125vw
}

.History-Box02__title {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-family: var(--font-mincho);
  gap: .39063vw;
  line-height: 1;
  text-align: center
}

.History-Box02__title .text_01 {
  font-size: 1.17188vw;
  letter-spacing: normal
}

.History-Box02__title .text_02 {
  font-size: 2.09505vw;
  letter-spacing: normal;
  margin-left: -.91146vw
}

.History-Box02__title .text_02 .number {
  font-size: 3.62044vw
}

.History-Box02__flex {
  align-items: center;
  display: flex;
  gap: 2.60417vw;
  margin-top: .78125vw
}

.History-Box02__image {
  flex: 0 0 auto;
  width: 24.73958vw
}

.History-Box02__text {
  font-size: 1.04167vw;
  font-weight: var(--weight-r);
  line-height: 1.75
}

.Movie {
  padding: 5.2083vw 0 3.38542vw;
  position: relative;
  transform: translateZ(0);
  z-index: 200
}

.Movie__title {
  --en-width: 19.27083vw;
  margin-bottom: 2.92969vw;
  position: relative;
  z-index: 10
}

.Movie__title:after {
  background: var(--color-black);
  content: "";
  display: block;
  height: 3.90625vw;
  left: 50%;
  margin-top: 1.30208vw;
  position: absolute;
  top: 100%;
  width: 1px
}

.Movie__movie {
  aspect-ratio: 16/9;
  margin: 0 auto;
  width: 58.59375vw
}

.Movie__movie iframe {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  vertical-align: bottom;
  width: 100%
}

.Media {
  background: url(../images/bg-dot-gray.png) 0 0/auto repeat;
  padding: 4.94792vw 0 3.90625vw;
  position: relative;
  transform: translateZ(0);
  z-index: 200
}

.Media__list {
  display: grid;
  gap: 1.30208vw .97656vw;
  grid-template-columns: 32.7474vw 32.7474vw;
  left: .58594vw;
  margin: 3.90625vw auto 0;
  position: relative;
  width: -moz-fit-content;
  width: fit-content
}

.Media__item {
  font-family: var(--font-gothic);
  font-size: 1.04167vw;
  font-weight: var(--weight-m);
  line-height: 1.75;
  text-align: center
}

.Media__item_02 {
  display: flex
}

.Media__item_02 .item {
  flex: 1 1 auto;
  width: 100%
}

.Media__item_03 {
  padding: 4.7526vw 0 0 1.95313vw
}

.Media__item_03 .item {
  display: block;
  flex: 0 0 auto;
  width: 28.64583vw
}

.Media__text {
  margin-top: .26042vw
}

.Philippines {
  background: url(../images/bg-dot-red.png) 0 0/auto repeat;
  padding: 5.07813vw 0 5.20833vw;
  position: relative;
  transform: translateZ(0);
  z-index: 200
}

.Philippines__catch {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  line-height: 1;
  text-align: center
}

.Philippines__catch .text_01 {
  font-size: 1.82292vw;
  font-weight: var(--weight-sb);
  letter-spacing: .04em
}

.Philippines__catch .text_02 {
  display: block;
  font-family: "Shippori Mincho B1", serif;
  font-size: 2.08333vw;
  font-weight: var(--weight-b);
  letter-spacing: .1em;
  margin-top: .78125vw;
  position: relative
}

.Philippines__catch .text_02:after {
  background: #f3d38c;
  bottom: -.39062vw;
  content: "";
  display: block;
  height: 1px;
  left: .52083vw;
  position: absolute;
  right: .52083vw
}

.Philippines__catch .text_03 {
  color: #f3d38c;
  font-size: 2.47396vw;
  font-weight: var(--weight-b);
  letter-spacing: normal;
  margin-top: 2.08333vw;
  text-shadow: 0 1.8568px 1.8568px rgba(0, 0, 0, .25)
}

.Philippines__catch .text_03 .dot>* {
  display: inline-block;
  position: relative
}

.Philippines__catch .text_03 .dot>:before {
  aspect-ratio: 1;
  background: #f3d38c;
  border-radius: 100vw;
  content: "";
  display: block;
  left: 50%;
  margin: -.78125vw 0 0 -.32552vw;
  position: absolute;
  top: 0;
  width: .65104vw
}

.Philippines__box {
  background: #fff;
  background: linear-gradient(180deg, #f3d38c, #fff);
  border-radius: .65104vw;
  box-shadow: 0 10px 10px rgba(0, 0, 0, .1);
  margin: 0 auto;
  padding: 3.51563vw 3.51563vw 3.25521vw;
  position: relative;
  width: 65.10417vw;
  z-index: 0
}

.Philippines__box:before {
  background: #fff;
  border-radius: .52083vw;
  content: "";
  display: block;
  inset: .32552vw;
  position: absolute;
  z-index: -1
}

.Philippines__box_01 {
  margin-top: 2.21354vw
}

.Philippines__box_01 .image {
  margin: 0 auto;
  width: 9.11458vw
}

.Philippines__box_01 .Philippines__label {
  margin-top: 1.23698vw
}

.Philippines__box_01 .Philippines__text {
  margin-top: 1.10677vw
}

.Philippines__box_02 {
  margin-top: 1.95313vw;
  padding-top: 3.0599vw
}

.Philippines__box_02 .Philippines__label {
  display: flex;
  flex-direction: column;
  line-height: 1;
  margin-top: .65104vw
}

.Philippines__box_02 .Philippines__label .small {
  font-family: var(--font-gothic);
  font-size: 1.04167vw;
  letter-spacing: .1em;
  line-height: 1.75
}

.Philippines__box_02 .Philippines__label>:nth-child(2) {
  margin: .26042vw 0 .45573vw
}

.Philippines__box_02 .Philippines__item_01 .image {
  margin: 0 auto;
  width: 20.3776vw
}

.Philippines__box_02 .Philippines__item_02 .image {
  margin: 0 auto;
  width: 21.9401vw
}

.Philippines__flex {
  display: flex;
  gap: 6.25vw;
  position: relative
}

.Philippines__flex:before {
  background: #8e8e8e;
  bottom: 0;
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  top: 0;
  width: 1px
}

.Philippines__item {
  flex: 1 1 auto;
  width: 100%
}

.Philippines__label {
  font-size: 1.95313vw;
  font-weight: var(--weight-sb);
  letter-spacing: .1em;
  line-height: 1.02;
  text-align: center
}

.Philippines__text {
  font-family: var(--font-gothic);
  font-size: 1.04167vw;
  letter-spacing: .1em;
  line-height: 1.75
}

.Philippines__prise {
  font-family: var(--font-gothic);
  font-size: 1.04167vw;
  font-weight: var(--weight-b);
  letter-spacing: .1em;
  line-height: 1.75;
  margin-bottom: 1.23698vw;
  text-align: center
}

.Philippines__prise_text {
  font-family: var(--font-gothic);
  font-size: 1.04167vw;
  font-weight: var(--weight-r);
  letter-spacing: .1em;
  line-height: 1.75;
  text-align: center
}

.Philippines__lead {
  color: #fff;
  font-size: 1.69271vw;
  font-weight: var(--weight-b);
  letter-spacing: .12em;
  margin: 1.69271vw 0 0;
  text-align: center
}

.Philippines__reskill {
  background: #fff;
  background: linear-gradient(180deg, #f3d38c, #fff);
  border-radius: .65104vw;
  box-shadow: 0 10px 10px rgba(0, 0, 0, .1);
  margin: 1.5625vw auto 0;
  padding: 2.34375vw 7.03125vw;
  position: relative;
  width: 37.76042vw;
  z-index: 0
}

.Philippines__reskill:before {
  background: #fff;
  border-radius: .52083vw;
  content: "";
  display: block;
  inset: .32552vw;
  position: absolute;
  z-index: -1
}

.Philippines__reskill img {
  width: 23.63281vw
}

.Superiority {
  padding: 4.6875vw 0 6.38021vw;
  position: relative;
  transform: translateZ(0);
  z-index: 200
}

.Superiority__title {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-weight: var(--weight-sb);
  gap: .13021vw;
  padding-left: 4.42708vw
}

.Superiority__title .text_01 {
  font-size: 2.08333vw;
  letter-spacing: .1em
}

.Superiority__title .text_02 {
  font-size: 2.47396vw;
  letter-spacing: .1em;
  padding-left: .45573vw
}

.Superiority__image {
  left: .26042vw;
  margin: 2.79948vw auto 0;
  position: relative;
  width: 58.59375vw
}

.Faq {
  padding: 3.125vw 0 9.83073vw;
  position: relative;
  transform: translateZ(0);
  z-index: 200
}

.Faq__box {
  border-left: .13021vw solid #9b9b9b;
  border-radius: .65104vw 0 0 0;
  border-top: .13021vw solid #9b9b9b;
  font-family: var(--font-gothic);
  margin: 3.25521vw auto 0;
  padding: 2.27865vw 2.34375vw 0 2.60417vw;
  width: 65.10417vw
}

.faq_note {
  border: .13021vw solid #9b9b9b;
  border-radius: 0;
  border-top: .13021vw solid #9b9b9b;
  font-family: var(--font-gothic);
  margin: 3.25521vw auto 0;
  padding: 2.27865vw 2.60417vw;
  width: 65.10417vw
}

.faq_note p {
  font-size: 1.04167vw;
  letter-spacing: .1em;
  line-height: 1.75;
}

.Faq__details summary {
  display: block
}

.Faq__details summary::-webkit-details-marker {
  display: none
}

.Faq__details[open] .Faq__summary .icon {
  rotate: 0deg
}

.Faq__summary {
  padding: .52083vw 0 .52083vw 2.60417vw;
  position: relative
}

.Faq__summary:before {
  color: var(--color-main);
  content: "Q";
  font-family: var(--font-mincho);
  font-size: 1.95313vw;
  font-weight: var(--weight-b);
  left: 0;
  line-height: 1;
  position: absolute;
  top: 0
}

.Faq__summary .text {
  color: #272b2e;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  font-size: 1.04167vw;
  font-weight: var(--weight-b);
  justify-content: space-between;
  letter-spacing: .05em
}

.Faq__summary .icon {
  aspect-ratio: 18/13;
  background: var(--color-main);
  -webkit-clip-path: polygon(50% 0, 0 80.923%, 17% 100%, 50% 46.615%, 83% 100%, 100% 80.923%);
  clip-path: polygon(50% 0, 0 80.923%, 17% 100%, 50% 46.615%, 83% 100%, 100% 80.923%);
  position: absolute;
  right: -2.40885vw;
  rotate: 180deg;
  top: .19531vw;
  width: 1.17188vw
}

.Faq__inner {
  font-size: 1.04167vw;
  letter-spacing: .1em;
  line-height: 1.75;
  padding: 1.95313vw 0 0 2.60417vw;
  position: relative
}

.Faq__inner:before {
  color: #a9a9a9;
  content: "A";
  font-family: var(--font-mincho);
  font-size: 1.95313vw;
  font-weight: var(--weight-b);
  left: 0;
  line-height: 1;
  position: absolute;
  top: 1.95313vw
}

.Footer {
  padding-bottom: 5.20833vw;
  position: relative;
  transform: translateZ(0);
  z-index: 200
}

.Footer.no-banner {
  padding-bottom: 0
}

.Footer__nav {
  background: url(../images/bg-dot-gray.png) 0 0/auto repeat;
  display: flex;
  font-family: var(--font-gothic);
  font-size: .91146vw;
  font-weight: var(--weight-r);
  gap: .97656vw;
  justify-content: center;
  letter-spacing: .1em;
  padding: 6.3151vw 0 2.14844vw
}

.Footer__copyright {
  align-items: center;
  background: #2d2f2f;
  color: #fff;
  display: flex;
  font-family: var(--font-gothic);
  font-size: .91146vw;
  font-weight: var(--weight-r);
  height: 3.38542vw;
  justify-content: center;
  letter-spacing: normal;
  text-align: center;
  width: 100%
}

.Sticky {
  align-items: center;
  background: #2d2f2f;
  display: flex;
  height: 5.20833vw;
  justify-content: center;
  position: absolute;
  transform: translateZ(0);
  width: 100%;
  z-index: 999
}

.Sticky.js-pined {
  opacity: 1;
  pointer-events: auto
}

.Sticky__btn {
  align-items: center;
  border: 2px solid #272D7F;
  border-radius: .52083vw;
  color: #fff;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  font-weight: var(--weight-b);
  height: 3.77604vw;
  justify-content: center;
  overflow: hidden;
  padding: .52083vw .65104vw .58594vw;
  position: relative;
  text-decoration: none;
  width: 19.53125vw;
  z-index: 0
}

.Sticky__btn:after,
.Sticky__btn:before {
  background: #272D7F;
  border-radius: .26042vw;
  bottom: .32552vw;
  content: "";
  display: block;
  left: .39063vw;
  position: absolute;
  right: .39063vw;
  top: .32552vw;
  z-index: -1
}

.Sticky__btn:after {
  inset: 0
}

.Sticky__btn .text_01 {
  align-items: baseline;
  display: inline-flex;
  font-size: .78125vw;
  position: relative
}

.Sticky__btn .text_01:after,
.Sticky__btn .text_01:before {
  align-self: flex-end;
  background: #fff;
  content: "";
  display: block;
  flex: 0 0 auto;
  height: 1px;
  position: relative;
  top: -.32552vw;
  width: .84635vw
}

.Sticky__btn .text_01:before {
  margin-right: .39063vw;
  rotate: 45deg
}

.Sticky__btn .text_01:after {
  rotate: -45deg
}

.Sticky__btn .text_01 .number {
  font-size: 1.17188vw;
  letter-spacing: -.02em;
  margin: 0 .45573vw
}

.Sticky__btn .text_02 {
  font-size: .91146vw;
  letter-spacing: -.04em
}

.Contact {
  background: url(../images/bg-dot-gray.png) 0 0/auto repeat;
  padding: 6.1849vw 0 0
}

.Contact ::-moz-placeholder {
  color: #ccc
}

.Contact ::placeholder {
  color: #ccc
}

.Contact__title {
  font-size: 2.14844vw;
  gap: 2.27865vw
}

.Contact__form {
  font-family: var(--font-gothic);
  font-size: 1.17188vw;
  margin: .97656vw auto 0;
  width: 48.82813vw
}

.Contact__row+.Contact__row {
  margin-top: 1.75781vw
}

.Contact__flex {
  display: flex;
  gap: 1.95313vw;
  width: 100%
}

.Contact__flex>* {
  flex: 1 1 auto;
  width: 100%
}

.Contact__label {
  display: block;
  line-height: 1.75;
  margin-bottom: .13021vw
}

.Contact__label .require {
  color: var(--color-main);
  font-size: 1.82292vw;
  line-height: 1;
  vertical-align: middle
}

.Contact__label .small {
  font-size: .91146vw
}

.Contact__select {
  background: #fff;
  border: 1px solid #999;
  border-radius: .32552vw;
  height: 3.90625vw;
  position: relative;
  width: 100%
}

.Contact__select:before {
  aspect-ratio: 13/7;
  background: #081915;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  content: "";
  display: block;
  margin-top: -.22786vw;
  position: absolute;
  right: 1.17188vw;
  top: 50%;
  width: .84635vw
}

.Contact__select select {
  color: var(--color-black);
  cursor: pointer;
  height: 100%;
  padding: .91146vw 2.60417vw .91146vw 1.69271vw;
  width: 100%
}

.Contact__input {
  background: #fff;
  border: 1px solid #999;
  border-radius: .32552vw;
  height: 3.90625vw;
  width: 100%
}

.Contact__input input,
.Contact__input textarea {
  height: 100%;
  padding: .91146vw 1.69271vw;
  width: 100%
}

.Contact__text {
  background: #fff;
  border: 1px solid #999;
  border-radius: .32552vw;
  height: 13.02083vw;
  width: 100%
}

.Contact__text textarea {
  height: 100%;
  padding: .91146vw 1.69271vw;
  width: 100%
}

.Contact__radio {
  display: flex;
  flex-direction: column;
  gap: .65104vw;
  padding: .65104vw 0 0
}

.Contact__radio .item input,
.Contact__radio .item label {
  cursor: pointer
}

.Contact__radio .item label {
  margin-left: .26042vw
}

.Contact__checkbox .item input,
.Contact__checkbox .item label {
  cursor: pointer
}

.Contact__checkbox .item label {
  margin-left: .26042vw
}

.Contact__privacy {
  display: flex;
  flex-direction: column;
  gap: 1.95313vw;
  line-height: 1.75;
  margin: 1.43229vw 0 0
}

.Contact__privacy a {
  color: var(--color-main);
  font-weight: var(--weight-b)
}

.Contact__submit {
  margin: 1.95313vw 0 0
}

.Contact__submit input[type=submit] {
  align-items: center;
  background: var(--color-main);
  border-radius: 100vw;
  color: #fff;
  display: flex;
  font-size: 1.5625vw;
  font-weight: var(--weight-bk);
  height: 6.51042vw;
  justify-content: center;
  margin: 0 auto;
  width: 39.0625vw
}

.block {
  display: block !important
}

.flex {
  display: flex !important
}

.none {
  display: none !important
}

.u-Color_main {
  color: var(--color-main)
}

.u-Color_black {
  color: var(--color-black)
}

.u-Weight_r {
  font-weight: var(--weight-r)
}

.u-Weight_m {
  font-weight: var(--weight-m)
}

.u-Weight_b {
  font-weight: var(--weight-b)
}

.u-Weight_bk {
  font-weight: var(--weight-bk)
}

:root {
  --color-black: #000;
  --color-main: #ad161c;
  --color-gray: #8d8d8d;
  --color-gray-thin: #f3f3f3;
  --font-mincho: "Noto Serif JP", serif;
  --font-gothic: "Noto Sans JP", sans-serif;
  --font-gothic-en: "Roboto", sans-serif;
  --weight-t: 100;
  --weight-l: 300;
  --weight-r: 400;
  --weight-m: 500;
  --weight-sb: 600;
  --weight-b: 700;
  --weight-ex: 800;
  --weight-bk: 900
}

body {
  font-family: var(--font-mincho);
  font-size: 1.04167vw;
  font-weight: var(--weight-r);
  line-height: 1.4;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  color: var(--color-black);
  letter-spacing: normal
}

img,
svg {
  height: auto;
  image-rendering: optimize-contrast;
  max-width: 100%;
  vertical-align: bottom
}

img,
svg {
  width: 100%
}

sup {
  font-size: 10px
}

a {
  color: var(--color-blue);
  text-decoration: underline
}

a:hover {
  text-decoration: none
}

picture {
  display: block
}

iframe {
  border: 0
}

ol,
ul {
  padding-left: 1.2em
}

em {
  font-style: normal
}

@media screen and (min-width:769px) {
  .World-Movies__item:nth-of-type(2n) {
    flex-direction: row-reverse
  }

  .Point-02 {
    padding-bottom: 5.01302vw
  }

  .Point-03 {
    padding-bottom: 3.25521vw
  }

  .History__item.y2023 {
    margin-top: 3.64583vw
  }

  .History__item.y2023 .History__body {
    margin-top: -2.08333vw
  }

  .History__image img {
    display: block;
    width: 21.15885vw
  }

  .Media__title {
    padding-left: .78125vw
  }

  .Media__item_02 .item:last-child {
    left: -.26042vw;
    position: relative
  }

  .Media__item_04 img {
    left: -.26042vw;
    position: relative;
    width: 28.90625vw
  }

  .Philippines__box_02 .image {
    height: 9.11458vw
  }

  .Sticky__btn .text_01 {
    line-height: 1
  }

  a[href^="tel:"] {
    color: inherit !important;
    pointer-events: none;
    text-decoration: none
  }
}

@media screen and (max-width:1599px) {
  .xl\:block {
    display: block !important
  }

  .xl\:flex {
    display: flex !important
  }

  .xl\:none {
    display: none !important
  }
}

@media screen and (max-width:1399px) {
  .lg\:block {
    display: block !important
  }

  .lg\:flex {
    display: flex !important
  }

  .lg\:none {
    display: none !important
  }
}

@media screen and (max-width:1023px) {
  .md\:block {
    display: block !important
  }

  .md\:flex {
    display: flex !important
  }

  .md\:none {
    display: none !important
  }
}

@media screen and (max-width:768px) {
  .m-Heading-1 {
    font-size: 6.25vw;
    gap: 3.125vw
  }

  .m-Heading-1:after {
    height: .5208vw;
    width: 11.7187vw
  }

  .m-Heading-2 .ja {
    font-size: 5.2083vw
  }

  .Header {
    height: 14.3229vw;
    padding: 4.0364vw 0 0 4.9479vw
  }

  .Header__logo {
    width: 23.4375vw
  }

  .Firstview {
    flex-direction: column-reverse;
    height: auto;
    min-height: 1px
  }

  .Firstview__body {
    flex: 1 1 auto;
    padding: 0 8.3333vw 12.6302vw;
    position: relative;
    width: 100%;
    z-index: 10
  }

  .Firstview__catch {
    margin-top: -6.5105vw;
    width: 76.8229vw
  }

  .Firstview__achievements {
    border: .2604vw solid #efcc81;
    border-radius: 1.4322vw;
    font-size: 3.9062vw;
    margin-top: 0;
    padding: 1.8229vw 0 2.8645vw 7.6822vw;
    width: 100%
  }

  .Firstview__achievements>* {
    padding-left: 6.6406vw
  }

  .Firstview__achievements>:first-child .underline {
    left: .5208vw;
    top: .5208vw
  }

  .Firstview__achievements>:last-child:before {
    margin-top: -2.2136vw
  }

  .Firstview__achievements>:before {
    height: 6.25vw;
    margin-top: -1.823vw;
    width: 3.125vw
  }

  .Firstview__achievements .underline:after {
    bottom: .7812vw;
    height: .2604vw
  }

  .Firstview__achievements .number {
    font-size: 7.8424vw
  }

  .Firstview__image {
    flex: 0 0 auto;
    position: relative;
    z-index: 0
  }

  .Firstview__lead {
    font-size: 3.3854vw;
    margin-top: 4.9479vw
  }

  .Firstview__feature {
    gap: 3.3854vw;
    margin: 2.8645vw -2.7344vw 0
  }

  .Firstview__feature .item {
    height: 16.6666vw;
    padding: 2.3437vw 0
  }

  .Firstview__feature .item:after,
  .Firstview__feature .item:before {
    width: 7.1158vw
  }

  .Firstview__feature .label {
    font-size: 2.6041vw
  }

  .Firstview__feature .item_01 {
    width: 28.6458vw
  }

  .Firstview__feature .item_01 .text {
    font-size: 4.5572vw
  }

  .Firstview__feature .item_01 .number {
    font-size: 7.552vw
  }

  .Firstview__feature .item_02 {
    width: 26.302vw
  }

  .Firstview__feature .item_02 .text {
    font-size: 4.513vw;
    margin: -.5209vw 0 0 -1.1719vw
  }

  .Firstview__feature .item_02 .number {
    font-size: 7.552vw
  }

  .Firstview__feature .item_02 .number .small {
    font-size: 3.9062vw
  }

  .Firstview__feature .item_03 {
    padding-bottom: 1.1718vw;
    width: 27.0833vw
  }

  .Firstview__feature .item_03 .text {
    font-size: 4.9479vw
  }

  .Cases {
    padding: 11.9791vw 0 13.0208vw
  }

  .Cases__lead .text_02 {
    letter-spacing: .1em
  }

  .Cases__lead {
    font-size: 4.6875vw;
    line-height: 1.65;
    margin-top: 7.4218vw
  }

  .Cases__lead .large {
    font-size: 6.25vw;
    letter-spacing: .1em
  }

  .Cases__list {
    gap: 10.4166vw 0;
    justify-content: flex-start;
    margin: 10.4166vw 0 0 11.1979vw;
    width: 81.25vw
  }

  .Cases__list .mercari {
    margin-right: 7.927vw;
    width: 34.9114vw
  }

  .Cases__list .tiger {
    width: 34.1145vw
  }

  .Cases__list .fuso {
    margin-right: 7.6562vw;
    width: 34.1406vw
  }

  .Cases__list .fujisoft {
    width: 35.5468vw
  }

  .Cases__list .tel {
    margin-right: 4.0221vw;
    width: 17.4622vw
  }

  .Cases__list .chugai {
    width: 59.375vw
  }

  .Cases__list .asti {
    left: -1.9532vw;
    margin: 0 auto;
    position: relative;
    width: 28.5598vw
  }

  .Cases__small {
    margin-top: 7.8125vw
  }

  .Example {
    padding: 12.1093vw 0 11.9791vw
  }

  .Example__catch {
    margin-top: 5.8593vw
  }

  .Example__catch .text_01 {
    font-size: 4.6875vw;
    line-height: 1.45
  }

  .Example__catch .text_02 {
    font-size: 4.6875vw;
    margin-top: 0
  }

  .Example__catch .large {
    font-size: 10.4166vw;
    letter-spacing: .05em;
    margin-right: 0;
    top: 0
  }

  .Example__catch .large .smaller {
    font-size: 7.8125vw
  }

  .Example__catch .underline {
    font-size: 6.25vw;
    margin-right: 0
  }

  .Example__catch .underline:after {
    bottom: 0;
    height: .2604vw;
    left: .9114vw;
    right: 1.1718vw
  }

  .Example__list {
    flex-direction: column;
    gap: 6.5104vw;
    margin: 7.9427vw auto 0;
    width: 79.1666vw
  }

  .Example__item {
    width: 100%
  }

  .Example__item.month .Example__lead {
    line-height: 1.7
  }

  .Example__item.month .Example__label {
    margin-bottom: 7.0312vw
  }

  .Example__item.month .Example__image {
    margin-top: 3.6458vw
  }

  .Example__label {
    font-size: 6.25vw;
    margin-bottom: 7.4218vw;
    padding: 14.1927vw 0 0
  }

  .Example__label:before {
    height: 16.276vw;
    left: .651vw
  }

  .Example__label:after {
    height: 3.9062vw;
    margin-top: 1.5625vw
  }

  .Example__lead {
    gap: 3.9062vw
  }

  .Example__lead:before {
    width: 15.625vw
  }

  .Example__lead .text {
    font-size: 4.1666vw
  }

  .Example__image {
    margin: 4.5572vw 0 3.2552vw
  }

  .Example__image+p {
    font-size: 3.6458vw;
    margin-right: -1.0417vw
  }

  .World {
    padding-top: 12.5vw
  }

  .World__catch {
    font-size: 4.6875vw;
    margin-top: 4.9479vw
  }

  .World__catch .number {
    font-size: 10.4166vw
  }

  .World-Case {
    gap: 5.2083vw;
    grid-template-columns: 1fr;
    margin-top: 8.0729vw;
    width: 88.5416vw
  }

  .World-Case__item {
    border-radius: 1.302vw;
    font-size: 1.302vw;
    padding: 3.9062vw 4.1666vw 3.6458vw
  }

  .World-Case__title {
    gap: 2.3437vw
  }

  .World-Case__title .icon {
    border-width: .2604vw;
    font-size: 1.9531vw;
    width: 14.9739vw
  }

  .World-Case__title .icon .number {
    font-size: 4.6875vw
  }

  .World-Case__title .text {
    font-size: 5.2083vw;
    line-height: 1.25;
    margin-right: -1.3021vw
  }

  .World-Case__name {
    border-width: .2604vw;
    font-size: 3.6458vw;
    margin-top: 2.6041vw;
    padding: 1.5625vw
  }

  .World-Case__flex {
    margin: 3.2552vw -4.1667vw 0 0
  }

  .World-Case__image {
    width: 48.177vw
  }

  .World-Case__body>* .label {
    font-size: 2.7343vw;
    height: 5.2083vw;
    width: 22.1354vw
  }

  .World-Case__body>* .text {
    font-size: 3.6458vw;
    letter-spacing: .1em;
    margin-top: 2.7343vw
  }

  .World-Case__before:after {
    margin: 1.302vw auto;
    width: 3.5156vw
  }

  .World-Case__after {
    padding: 3.2552vw 0
  }

  .World-Case__after .text {
    margin-top: 1.302vw
  }

  .World-Movies {
    margin-top: 13.0208vw;
    padding: 12.5vw 0 12.7604vw
  }

  .World-Movies__catch {
    gap: 2.4739vw
  }

  .World-Movies__catch .text_01 {
    font-size: 4.1666vw
  }

  .World-Movies__catch .text_02 {
    font-size: 4.6875vw;
    line-height: 1.65
  }

  .World-Movies__catch .text_02 .large {
    font-size: 10.4166vw;
    letter-spacing: .01em
  }

  .World-Movies__list {
    align-items: center;
    flex-direction: column;
    gap: 10.4166vw;
    justify-content: flex-start;
    margin-top: 13.0208vw;
    width: 100%
  }

  .World-Movies__item {
    flex-direction: column;
    padding: 0 5.7291vw;
    width: 100%
  }

  .World-Movies__body {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding: 0 2.6041vw
  }

  .World-Movies__name {
    gap: 5.2083vw
  }

  .World-Movies__name .name {
    font-size: 4.6875vw;
    padding: 1.6927vw 3.776vw;
    white-space: nowrap
  }

  .World-Movies__name .term {
    font-size: 5.2083vw;
    white-space: nowrap
  }

  .World-Movies__name .number {
    font-size: 10.4166vw;
    line-height: 10.4166vw
  }

  .World-Movies__comment {
    font-size: 3.6458vw;
    margin-top: 3.9062vw
  }

  .World-Movies__movie {
    width: 100%
  }

  .Methods {
    padding: 11.9791vw 0 11.1979vw
  }

  .Methods__loop {
    gap: 8.8541vw
  }

  .Methods__loop>* {
    width: 308.2031vw
  }

  .Methods__flex {
    flex-direction: column-reverse;
    gap: 6.5104vw;
    margin-top: 10.677vw
  }

  .Methods__image {
    width: 91.1458vw
  }

  .Methods__text {
    gap: 2.7343vw;
    position: static;
    width: 100%
  }

  .Methods__text .text_01 {
    font-size: 4.6875vw
  }

  .Methods__text .text_01 .dot {
    font-size: 5.7291vw
  }

  .Methods__text .text_01 .dot>:before {
    margin: -1.3021vw 0 0 -.6511vw;
    width: 1.302vw
  }

  .Methods__text .text_02 {
    font-size: 7.8125vw
  }

  .Points {
    padding: 11.0677vw 0 13.0208vw
  }

  .Points__title {
    gap: 1.6927vw
  }

  .Points__title .text_01 {
    font-size: 3.6458vw
  }

  .Points__title .text_01 .parsentage {
    font-size: 7.8125vw;
    margin-right: 1.1718vw;
    position: relative;
    top: .5208vw
  }

  .Points__title .text_02 {
    font-size: 6.25vw;
    line-height: 1
  }

  .Points__title .text_02 .underline {
    padding-bottom: 1.0416vw;
    top: 0
  }

  .Points__title .text_02 .underline:after {
    left: 1.302vw;
    right: 2.0833vw
  }

  .Points__title .text_02 .number {
    font-size: 10.4166vw;
    margin: 0 .5208vw 0 0
  }

  .Points__list {
    gap: 5.2083vw;
    margin-top: 9.1145vw;
    width: 92.1875vw
  }

  .Points__item {
    border-radius: 3.125vw;
    padding: 7.8125vw 5.8593vw 9.1145vw
  }

  .Points__tag {
    gap: 1.5625vw
  }

  .Points__tag .text {
    border-bottom-width: .3906vw;
    font-size: 3.9062vw;
    margin-bottom: .7812vw;
    padding-bottom: .9114vw
  }

  .Points__tag .number {
    font-size: 7.8125vw
  }

  .Point-01__flex {
    flex-direction: column;
    gap: 5.2083vw;
    margin-top: 6.5104vw
  }

  .Point-01__image01 {
    width: 100%
  }

  .Point-01__image02 {
    width: 100%
  }

  .Point-01__title {
    align-items: center;
    flex-direction: column;
    gap: .2604vw;
    justify-content: flex-start;
    margin-top: 6.25vw
  }

  .Point-01__title .text_01 {
    font-size: 4.6875vw
  }

  .Point-01__title .text_01 .large {
    font-size: 7.8125vw;
    margin: 0 -4.6875vw 0 0
  }

  .Point-01__title .text_02 {
    font-size: 4.6875vw;
    left: 2.4739vw;
    line-height: 1;
    margin: 0;
    position: relative
  }

  .Point-01__title .text_02 .underline {
    font-size: 7.8125vw;
    margin: 0 .7812vw 0 0;
    top: 0
  }

  .Point-01__title .text_02 .underline:after {
    bottom: -1.0417vw;
    right: .3906vw
  }

  .Point-01__text {
    font-size: 3.6458vw;
    margin: 5.9895vw 0 0;
    padding-right: 0
  }

  .Point-02__title {
    font-size: 4.6875vw;
    gap: .2604vw;
    margin-top: 6.6406vw
  }

  .Point-02__title .text_01 .large {
    font-size: 7.8125vw
  }

  .Point-02__title .text_01 .dot {
    font-size: 10.4166vw
  }

  .Point-02__title .text_01 .dot>:before {
    margin: .651vw 0 0 -.5209vw;
    width: 1.5625vw
  }

  .Point-02__title .text_02 .large {
    font-size: 5.8593vw
  }

  .Point-02__text {
    font-size: 3.6458vw;
    margin-top: 6.6406vw
  }

  .Point-02__cases {
    margin: 3.9062vw -4.1667vw 0
  }

  .Point-02__small {
    font-size: 3.125vw;
    line-height: 1.75;
    margin-top: 2.0833vw;
    text-align: left
  }

  .Point-02 .splide__pagination {
    gap: 3.125vw;
    margin-top: 5.2083vw
  }

  .Point-02 .splide__pagination>* {
    width: 3.125vw
  }

  .Point-02 .splide__pagination__page {
    height: 3.125vw;
    width: 3.125vw
  }

  .Point-02-Item__title {
    font-size: 5.2083vw;
    margin-bottom: 10.4166vw
  }

  .Point-02-Item__title:after {
    height: 13.0208vw;
    margin-top: 2.6041vw
  }

  .Point-02-Item__body {
    border-radius: 1.302vw;
    padding: 5.2083vw 2.0833vw 9.8958vw
  }

  .Point-02-Item__intro {
    display: grid;
    gap: 0 3.5156vw;
    grid-template: "image tag" auto "image profile" auto "purpose purpose" auto/auto 1fr;
    width: 100%
  }

  .Point-02-Item__image {
    aspect-ratio: 326/300;
    grid-area: image;
    width: 42.4479vw
  }

  .Point-02-Item__image img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
  }

  .Point-02-Item__detail {
    display: contents
  }

  .Point-02-Item__detail>* {
    flex-direction: column;
    gap: 1.8229vw
  }

  .Point-02-Item__tag {
    grid-area: tag;
    width: 16.927vw
  }

  .Point-02-Item__tag .text {
    font-size: 2.6041vw
  }

  .Point-02-Item__tag .number {
    font-size: 6.25vw
  }

  .Point-02-Item__profile {
    font-size: 3.125vw;
    gap: 0;
    grid-area: profile
  }

  .Point-02-Item__profile .text:before {
    margin: 0 .5208vw 0 1.5625vw
  }

  .Point-02-Item__purpose {
    flex-direction: row;
    gap: 2.6041vw;
    grid-area: purpose;
    margin: 0;
    padding: 2.6041vw
  }

  .Point-02-Item__purpose .label {
    font-size: 3.125vw;
    width: 10.4166vw
  }

  .Point-02-Item__purpose .text {
    font-size: 3.3854vw
  }

  .Point-02-Item__figures {
    flex-direction: column;
    gap: 10.1562vw;
    margin-top: 5.4687vw
  }

  .Point-02-Item__figures .item:first-child:after {
    bottom: -5.2084vw;
    height: 1px;
    left: 0;
    right: 0;
    top: auto;
    width: 100%
  }

  .Point-02-Item__catch {
    font-size: 4.1666vw;
    margin-top: 5.9895vw
  }

  .Point-03__flex {
    flex-direction: column;
    gap: 0;
    margin-top: 6.1197vw
  }

  .Point-03__image {
    margin-top: 7.6822vw;
    order: 2;
    width: 100%
  }

  .Point-03__body {
    display: contents;
    padding-top: 0
  }

  .Point-03__title {
    align-items: center;
    gap: 1.302vw;
    order: 1;
    text-align: center
  }

  .Point-03__title .text_01 {
    font-size: 4.6875vw
  }

  .Point-03__title .text_02 {
    font-size: 7.8125vw;
    line-height: 1
  }

  .Point-03__text {
    font-size: 3.6458vw;
    margin-top: 5.7291vw;
    order: 3
  }

  .Point-03__coach {
    flex-direction: column;
    gap: 6.3802vw;
    margin-top: 6.5104vw
  }

  .Point-03__coach .banner {
    margin: 0 auto;
    width: 67.4479vw
  }

  .Point-03__coach .banner img {
    width: 100%
  }

  .Point-03__coach .banner+* {
    font-size: 3.6458vw
  }

  .Point-03__coach .banner+* .small {
    font-size: 3.125vw;
    line-height: 1.6;
    margin-top: 2.6041vw
  }

  .Point-03__text {
    font-size: 3.6458vw
  }

  .Environment {
    padding: 12.5vw 0 17.1875vw
  }

  .Environment:after {
    margin-left: -6.1198vw;
    width: 12.2395vw
  }

  .Environment__title {
    gap: 3.6458vw
  }

  .Environment__title .text_01 {
    font-size: 4.1666vw
  }

  .Environment__title .text_02 {
    font-size: 6.5104vw;
    line-height: 1.55
  }

  .Environment__title .text_02 .small {
    font-size: 6.5104vw;
    letter-spacing: .1em
  }

  .Environment__title .text_02 .dot {
    font-size: 7.8125vw
  }

  .Environment__title .text_02 .dot>:before {
    margin: 0 0 0 -.6511vw;
    width: 1.302vw
  }

  .Environment__schedule {
    left: 0;
    margin: 2.6041vw auto 0;
    width: 70.1822vw
  }

  .Environment__figure {
    margin: 5.2083vw auto 0;
    width: 89.8437vw
  }

  .Environment-Shortterm {
    padding-top: 7.8125vw
  }

  .Environment-Shortterm__catch {
    font-size: 5.2083vw
  }

  .Environment-Shortterm__catch .large {
    font-size: 6.5104vw
  }

  .Environment-Shortterm__flex {
    flex-direction: column;
    gap: 4.2968vw;
    margin-top: 4.1666vw
  }

  .Environment-Shortterm__image {
    margin: 0 auto;
    width: 89.8437vw
  }

  .Environment-Shortterm__body {
    padding-top: 0;
    width: 100%
  }

  .Environment-Shortterm__title {
    gap: .651vw
  }

  .Environment-Shortterm__title .text_01 {
    font-size: 3.9062vw
  }

  .Environment-Shortterm__title .text_02 {
    font-size: 5.2083vw
  }

  .Environment-Shortterm__comparison {
    gap: 8.8541vw;
    margin-top: 5.7291vw
  }

  .Environment-Shortterm__comparison .label {
    border-width: 1px;
    font-size: 3.125vw;
    height: 6.7708vw;
    width: 29.9479vw
  }

  .Environment-Shortterm__comparison .item_01 {
    padding-top: .5208vw
  }

  .Environment-Shortterm__comparison .item_01:after {
    margin: 9.1145vw 0 0 3.6458vw;
    width: 1.9531vw
  }

  .Environment-Shortterm__comparison .item_01 .text {
    font-size: 3.9062vw;
    margin-top: 4.6875vw
  }

  .Environment-Shortterm__comparison .item_01 .text .large {
    font-size: 5.9895vw
  }

  .Environment-Shortterm__comparison .item_02 .text {
    font-size: 5.2083vw;
    margin-top: 2.9947vw
  }

  .Environment-Shortterm__comparison .item_02 .text .large {
    font-size: 8.3333vw
  }

  .Environment-Shortterm__comparison .item_02 .text .small {
    font-size: 1.8229vw;
    letter-spacing: .1em;
    margin-top: 2.3437vw
  }

  .Activity {
    height: 202.2135vw;
    padding: 12.5vw 0 13.0208vw
  }

  .Activity .deco_01 {
    height: 27.6041vw;
    left: 50.1302vw;
    top: 38.2812vw
  }

  .Activity .deco_02 {
    height: 45.1822vw;
    right: 50.1302vw;
    top: 114.0625vw
  }

  .Activity__lead {
    font-size: 5.2083vw;
    line-height: 1.25
  }

  .Activity__image.image_01 {
    left: 0;
    top: 44.5312vw;
    width: 63.9322vw
  }

  .Activity__image.image_02 {
    left: 69.0104vw;
    top: 52.0833vw;
    width: 26.0416vw
  }

  .Activity__image.image_03 {
    left: 15.3645vw;
    top: 96.2239vw;
    width: 69.401vw
  }

  .Activity__image.image_04 {
    left: 5.2083vw;
    top: 147.2656vw;
    width: 26.0416vw
  }

  .Activity__image.image_05 {
    left: 36.3281vw;
    top: 140.2343vw;
    width: 63.6718vw
  }

  .Data {
    padding: 12.7604vw 0 13.0208vw
  }

  .Data__title {
    --en-width: 40.625vw;
    margin-bottom: 11.7187vw
  }

  .Data__title:after {
    height: 7.8125vw;
    margin-top: 2.0833vw
  }

  .Data__title .en {
    left: 0;
    margin-bottom: -.7813vw
  }

  .Data__list {
    gap: 10.4166vw 7.8125vw;
    width: 85.9375vw
  }

  .Data__item {
    width: 39.0625vw
  }

  .Data__item:nth-of-type(2) .Data__image {
    margin-top: -4.2969vw
  }

  .Data__item:nth-of-type(3) .Data__label {
    margin-bottom: 1.8229vw
  }

  .Data__item:nth-of-type(4) .Data__label {
    margin-bottom: 1.8229vw
  }

  .Data__item:last-child {
    padding-top: 0;
    width: 83.9843vw
  }

  .Data__item:last-child .Data__image {
    left: -1.3021vw;
    position: relative
  }

  .Data__label {
    font-size: 3.6458vw;
    margin-bottom: 6.1197vw
  }

  .Voice {
    padding: 11.1979vw 0 13.0208vw
  }

  .Voice__title {
    --en-width: 48.3072vw;
    gap: .7812vw
  }

  .Voice__list {
    align-items: center;
    flex-direction: column;
    gap: 7.8125vw;
    justify-content: flex-start;
    margin-top: 7.552vw
  }

  .Voice__item {
    gap: .7812vw;
    width: 87.2395vw
  }

  .Voice__image {
    width: 48.177vw
  }

  .Voice__body {
    border-radius: 2.2135vw;
    font-size: 3.6458vw;
    padding: 2.6041vw 5.2083vw 2.9947vw
  }

  .Voice__body:before {
    aspect-ratio: 1;
    margin-left: -1.5625vw;
    width: 3.125vw
  }

  .Voice__body .profile {
    font-size: 3.3854vw;
    margin-top: 1.5625vw
  }

  .Voice__body .profile dd {
    line-height: 1.2
  }

  .Floormap {
    padding: 13.5416vw 0 11.7187vw
  }

  .Floormap__title {
    --en-width: 91.1458vw;
    margin-bottom: 12.2395vw
  }

  .Floormap__title:after {
    height: 7.8125vw;
    margin-top: 1.8229vw
  }

  .Floormap__title .en {
    margin-bottom: -4.6875vw
  }

  .Floormap__title .ja {
    font-size: 4.1666vw
  }

  .Floormap__image {
    margin-bottom: 6.1197vw;
    width: 90.1041vw
  }

  .Floormap__image+p {
    font-size: 3.6458vw;
    padding: 0 8.0729vw;
    text-align: left
  }

  .Room {
    padding: 13.0208vw 0 10.9375vw
  }

  .Room__title {
    --en-width: 52.0833vw
  }

  .Room__title .ja {
    font-size: 5.1575vw;
    margin-top: -1.3021vw
  }

  .Room__title .ja .large {
    font-size: 7.7369vw
  }

  .Room__list {
    margin-top: 6.901vw;
    width: 100%
  }

  .Room__item {
    border-radius: 1.6927vw;
    flex-direction: column;
    gap: 3.776vw;
    padding: 3.2552vw 3.2552vw 8.5937vw;
    width: 76.8229vw
  }

  .Room__image {
    width: 100%
  }

  .Room__body {
    padding: 0 0 0 2.6041vw
  }

  .Room__champ {
    gap: .9114vw
  }

  .Room__champ .icon {
    top: -.7813vw;
    width: 6.5104vw
  }

  .Room__champ .text {
    font-size: 3.125vw
  }

  .Room__label {
    font-size: 5.7291vw;
    line-height: 1
  }

  .Room__detail {
    display: grid;
    gap: 1.0416vw 5.7291vw;
    grid-template-columns: auto 1fr;
    margin-top: 3.9062vw
  }

  .Room__detail>* {
    font-size: 3.3854vw;
    gap: 2.8645vw
  }

  .Room__detail .goods {
    grid-column: 1 / 3;
    position: relative
  }

  .Room__detail .goods .text {
    position: static
  }

  .Room__detail .goods .small {
    font-size: 2.6041vw;
    margin-top: .5208vw
  }

  .Room__detail .icon {
    top: -.6511vw;
    width: 4.6875vw
  }

  .Room .splide__pagination {
    gap: 3.125vw;
    margin-top: 6.5104vw
  }

  .Room .splide__pagination>* {
    width: 3.125vw
  }

  .Room .splide__pagination__page {
    height: 3.125vw;
    width: 3.125vw
  }

  .Room .splide__arrow {
    margin-top: -10.4167vw;
    width: 7.8125vw
  }

  .Room .splide__arrow--prev {
    left: 0
  }

  .Room .splide__arrow--next {
    right: 0
  }

  .Program {
    padding: 11.7187vw 0 10.677vw
  }

  .Program__title {
    --en-width: 77.3437vw;
    margin-bottom: 11.9791vw
  }

  .Program__title .ja {
    font-size: 4.1666vw;
    letter-spacing: .1em;
    margin-top: 0
  }

  .Program__title:after {
    height: 7.8125vw;
    margin-top: 1.5625vw
  }

  .Program__list {
    width: 100%
  }

  .Program__item {
    padding: 9.1145vw 4.1666vw 6.5104vw;
    width: 79.9479vw
  }

  .Program__label .en {
    font-size: 7.8125vw
  }

  .Program__label .ja {
    font-size: 4.6875vw
  }

  .Program__details {
    font-size: 3.125vw;
    gap: 0 2.6041vw;
    margin: 5.2083vw 0 0
  }

  .Program__details:before {
    left: 24.7395vw
  }

  .Program__details .label {
    min-height: 11.1979vw;
    padding: 2.6041vw 0;
    width: 23.4375vw
  }

  .Program__details .body {
    min-height: 11.1979vw;
    padding: 3.2552vw 0 3.3854vw;
    text-align: left
  }

  .Program__details .body ul>* {
    padding-left: 3.9062vw;
    text-align: left
  }

  .Program__details .circle {
    border-width: .9114vw;
    width: 7.8125vw
  }

  .Program__details .number {
    font-size: 4.427vw
  }

  .Program__details .koma {
    flex-direction: column;
    gap: .7812vw
  }

  .Program__details .koma .item dd {
    margin-left: auto
  }

  .Program__details .courses {
    gap: 0;
    grid-template-columns: 1fr;
    margin: -.5209vw 0 -.9115vw -2.3438vw
  }

  .Program__details .courses>* {
    padding-left: 3.9062vw;
    text-align: left
  }

  .Program__details .courses .small {
    font-size: 2.6041vw;
    left: -2.6042vw
  }

  .Program .splide__slide {
    padding: 2.6041vw 0
  }

  .Program .splide__pagination {
    gap: 3.125vw;
    margin-top: 6.5104vw
  }

  .Program .splide__pagination>* {
    width: 3.125vw
  }

  .Program .splide__pagination__page {
    height: 3.125vw;
    width: 3.125vw
  }

  .Program .splide__arrow {
    margin-top: -3.9063vw;
    width: 13.0208vw
  }

  .Program .splide__arrow svg {
    height: 6.25vw;
    width: 6.25vw
  }

  .Program .splide__arrow--prev {
    left: 0
  }

  .Program .splide__arrow--prev svg {
    margin-left: -3.125vw
  }

  .Program .splide__arrow--next {
    right: 0
  }

  .Program .splide__arrow--next svg {
    margin-right: -3.125vw
  }

  .History {
    background: #fff;
    padding: 0 0 13.0208vw
  }

  .History__header {
    background: #fff;
    padding-top: 12.3697vw
  }

  .History__catch {
    gap: .5208vw;
    margin-top: 7.8125vw;
    text-align: center
  }

  .History__catch .text_01 {
    font-size: 4.1666vw;
    letter-spacing: .1em
  }

  .History__catch .text_02 {
    font-size: 4.6875vw;
    letter-spacing: .1em;
    line-height: 1.25
  }

  .History__catch .text_02 .large {
    font-size: 6.25vw
  }

  .History__catch .year {
    font-size: 10.4166vw;
    letter-spacing: .1em
  }

  .History__stage {
    margin-top: 5.2083vw;
    padding-top: 4.1666vw;
    width: 89.8437vw
  }

  .History__guide {
    border-color: #fafafa;
    width: 3.125vw
  }

  .History__item {
    gap: 8.8541vw
  }

  .History__item+.History__item {
    margin-top: 7.8125vw
  }

  .History__item:nth-child(odd) .History__body .year:before {
    left: -5.9896vw
  }

  .History__item:nth-child(2n) .History__body .year:before {
    right: -5.9896vw
  }

  .History__image {
    width: 40.3645vw
  }

  .History__body {
    width: 40.3645vw
  }

  .History__body .year {
    font-size: 7.8125vw;
    line-height: 1.1666666667
  }

  .History__body .year:before {
    border-color: #fafafa;
    width: 3.125vw
  }

  .History__body .text {
    font-size: 3.125vw;
    letter-spacing: normal
  }

  .History__box {
    border-radius: 1.6927vw;
    border-width: .2604vw;
    font-size: 3.6458vw;
    margin: 10.677vw auto 0;
    padding: 7.2916vw 5.8593vw;
    width: 88.5416vw
  }

  .History-Box02 {
    margin-top: 6.5104vw;
    padding-bottom: 8.0729vw;
    padding-top: 7.8125vw
  }

  .History-Box02__title {
    gap: 0
  }

  .History-Box02__title .text_01 {
    font-size: 4.6875vw;
    line-height: 1.3888888889
  }

  .History-Box02__title .text_02 {
    font-size: 6.25vw;
    margin: -1.823vw 0 0;
    white-space: nowrap
  }

  .History-Box02__title .text_02 .number {
    font-size: 10.4166vw
  }

  .History-Box02__flex {
    flex-direction: column;
    gap: 1.3619vw;
    margin-top: 5.4687vw
  }

  .History-Box02__image {
    width: 100%
  }

  .History-Box02__text {
    font-size: 3.6458vw
  }

  .Movie {
    padding: 0
  }

  .Movie__title {
    --en-width: 53.8606vw;
    margin-bottom: 4.9479vw
  }

  .Movie__title:after {
    height: 7.8125vw;
    margin-top: .7812vw
  }

  .Movie__title .ja {
    font-size: 4.1666vw
  }

  .Movie__movie {
    width: 100%
  }

  .Media {
    padding: 12.7604vw 0 9.6354vw
  }

  .Media__list {
    display: flex;
    flex-direction: column;
    gap: 4.4895vw;
    margin: 9.1145vw auto 0;
    width: 95.052vw
  }

  .Media__item {
    font-size: 3.125vw
  }

  .Media__item_01 .Media__text {
    padding: 0 7.4218vw;
    text-align: left
  }

  .Media__item_02 .Media__text {
    line-height: 1;
    margin-top: -.7813vw
  }

  .Media__item_03 {
    padding: 1.6927vw 0 0
  }

  .Media__item_03 .item {
    margin: 0 auto;
    width: 64.8437vw
  }

  .Media__item_04 img {
    margin: 1.8229vw 0 0 -1.3021vw;
    width: 73.8281vw
  }

  .Philippines {
    padding: 12.5vw 0 13.5416vw
  }

  .Philippines__catch {
    margin-bottom: 5.2083vw
  }

  .Philippines__catch .text_01 {
    font-size: 4.1666vw
  }

  .Philippines__catch .text_02 {
    font-size: 4.6875vw;
    line-height: 1.5277777778;
    margin-top: 2.8645vw;
    text-decoration: underline;
    text-decoration-color: #f3d38c;
    text-decoration-thickness: 1px;
    text-underline-offset: 1.5625vw
  }

  .Philippines__catch .text_02:after {
    display: none
  }

  .Philippines__catch .text_03 {
    font-size: 6.25vw;
    letter-spacing: normal;
    margin: 3.125vw 0 0 -1.5625vw
  }

  .Philippines__catch .text_03 .dot>:before {
    margin: -1.3021vw 0 0 -.586vw;
    width: 1.1718vw
  }

  .Philippines__box {
    border-radius: 1.302vw;
    padding: 9.8958vw 7.9427vw 8.3333vw;
    width: 82.2916vw
  }

  .Philippines__box:before {
    border-radius: 1.0416vw;
    inset: .651vw
  }

  .Philippines__box_01 {
    margin-top: 7.0312vw
  }

  .Philippines__box_01 .image {
    width: 27.6263vw
  }

  .Philippines__box_01 .Philippines__label {
    margin-top: 4.9479vw
  }

  .Philippines__box_01 .Philippines__text {
    margin-top: 3.6458vw
  }

  .Philippines__box_02 {
    margin-top: 5.2083vw;
    padding-bottom: 7.552vw;
    padding-top: 7.6822vw
  }

  .Philippines__box_02 .Philippines__flex {
    gap: 14.8437vw
  }

  .Philippines__box_02 .Philippines__flex:before {
    top: 49%
  }

  .Philippines__box_02 .Philippines__label {
    font-size: 5.2083vw;
    margin-top: 3.6458vw
  }

  .Philippines__box_02 .Philippines__label .small {
    font-size: 3.6458vw
  }

  .Philippines__box_02 .Philippines__label>:nth-child(2) {
    margin: 0 0 1.302vw
  }

  .Philippines__box_02 .Philippines__item_01 .image {
    width: 65.7552vw
  }

  .Philippines__box_02 .Philippines__item_02 .image {
    width: 63.151vw
  }

  .Philippines__box_02 .Philippines__item_02 .Philippines__label>:nth-child(3) {
    padding: .651vw 2.0833vw 0;
    text-align: left
  }

  .Philippines__flex {
    flex-direction: column;
    gap: 13.802vw
  }

  .Philippines__flex:before {
    bottom: auto;
    height: 1px;
    left: 0;
    right: 0;
    top: 50%;
    width: auto
  }

  .Philippines__label {
    font-size: 6.25vw
  }

  .Philippines__text {
    font-size: 3.6458vw
  }

  .Philippines__prise {
    font-size: 3.6458vw;
    margin: 2.6041vw 0 3.9062vw
  }

  .Philippines__prise_text {
    font-size: 3.6458vw;
    text-align: left
  }

  .Philippines__lead {
    font-family: "Shippori Mincho B1", serif;
    font-size: 4.6875vw;
    letter-spacing: .1em;
    line-height: 1.55;
    margin-top: 3.6458vw
  }

  .Philippines__lead>:first-child {
    margin-left: -3.2553vw
  }

  .Philippines__reskill {
    margin-top: 3.5156vw;
    padding: 5.2083vw 11.7187vw 6.5104vw;
    width: 82.2916vw
  }

  .Philippines__reskill:before {
    border-radius: 1.0416vw;
    inset: .651vw
  }

  .Philippines__reskill img {
    width: 58.7239vw
  }

  .Superiority {
    padding: 12.2395vw 0 13.0208vw
  }

  .Superiority__title {
    gap: 1.302vw;
    line-height: 1.3;
    padding-left: 0
  }

  .Superiority__title .text_01 {
    font-size: 5.2083vw
  }

  .Superiority__title .text_02 {
    font-size: 6.25vw;
    padding-left: 0
  }

  .Superiority__image {
    left: 0;
    margin-top: 5.8593vw;
    width: 91.3294vw
  }

  .Faq {
    padding: 6.25vw 0 8.7239vw
  }

  .Faq__box {
    border-radius: 1.302vw 0 0 0;
    border-width: .2604vw;
    margin: 9.2447vw auto 10.4166vw;
    padding: 4.5572vw 0 0 4.6875vw;
    width: 91.1458vw
  }

  .faq_note {
    border-width: .2604vw;
    margin: 9.2447vw auto 10.4166vw;
    padding: 4.5572vw 4.6875vw;
    width: 91.1458vw
  }

  .faq_note p {
    font-size: 3.5156vw;
    letter-spacing: .05em;
    line-height: 1.9;
  }

  .Faq__summary {
    padding: .5208vw 9.5052vw .5208vw 9.6354vw
  }

  .Faq__summary:before {
    font-size: 5.2083vw;
    top: 1.6927vw
  }

  .Faq__summary .text {
    font-size: 3.5156vw;
    line-height: 1.8
  }

  .Faq__summary .icon {
    aspect-ratio: 38/22;
    -webkit-clip-path: polygon(50% 0, 0 87%, 7.473% 100%, 50% 26%, 92.526% 100%, 100% 87%);
    clip-path: polygon(50% 0, 0 87%, 7.473% 100%, 50% 26%, 92.526% 100%, 100% 87%);
    right: 2.3437vw;
    top: 3.125vw;
    width: 4.9479vw
  }

  .Faq__inner {
    font-size: 3.5156vw;
    letter-spacing: .05em;
    line-height: 1.9;
    padding: 8.3333vw 8.7239vw 7.6822vw 9.6354vw
  }

  .Faq__inner:before {
    font-size: 5.2083vw;
    top: 8.5937vw
  }

  .Footer {
    padding-bottom: 28.6458vw
  }

  .Footer__nav {
    font-size: 2.9947vw;
    gap: 4.427vw;
    padding: 12.3697vw 0 5.2083vw
  }

  .Footer__copyright {
    font-size: 2.3437vw;
    height: 6.7708vw
  }

  .Sticky {
    bottom: 0;
    height: 28.6458vw;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity .6s ease;
    width: 100%
  }

  .Sticky__btn {
    border-radius: 2.0833vw;
    height: 20.8333vw;
    padding: 1.5625vw 2.6041vw 3.776vw;
    width: 80.7291vw
  }

  .Sticky__btn:after,
  .Sticky__btn:before {
    border-radius: 1.302vw;
    bottom: .651vw;
    left: .7812vw;
    right: .7812vw;
    top: .651vw
  }

  .Sticky__btn .text_01 {
    font-size: 3.332vw
  }

  .Sticky__btn .text_01:after,
  .Sticky__btn .text_01:before {
    height: .2604vw;
    top: -1.823vw;
    width: 4.9479vw
  }

  .Sticky__btn .text_01:before {
    margin-right: 0
  }

  .Sticky__btn .text_01 .number {
    font-size: 5.332vw;
    margin: 0 .5208vw
  }

  .Sticky__btn .text_02 {
    font-size: 4.1666vw;
    padding-left: 2.6041vw
  }

  .Contact ::-moz-placeholder {
    font-size: 3.6458vw
  }

  .Contact ::placeholder {
    font-size: 3.6458vw
  }

  .Contact__form {
    font-size: 3.6458vw;
    margin-top: 3.9062vw;
    width: 82.0312vw
  }

  .Contact__row+.Contact__row {
    margin-top: 5.2083vw
  }

  .Contact__flex {
    gap: 2.8645vw
  }

  .Contact__label {
    margin-bottom: 1.302vw
  }

  .Contact__label.tel {
    line-height: 1.2;
    margin-bottom: 2.6041vw
  }

  .Contact__label .require {
    font-size: 3.6458vw;
    position: relative;
    top: -1.0417vw
  }

  .Contact__label .small {
    font-size: 3.6458vw
  }

  .Contact__label .sub {
    font-size: 3.125vw
  }

  .Contact__select {
    border-radius: .651vw;
    height: 11.9791vw
  }

  .Contact__select:before {
    margin-top: -.9115vw;
    right: 4.2968vw;
    width: 2.6041vw
  }

  .Contact__select select {
    padding: 2.6041vw 7.8125vw 2.6041vw 2.8645vw
  }

  .Contact__input {
    border-radius: .651vw;
    height: 11.9791vw
  }

  .Contact__input input,
  .Contact__input textarea {
    font-size: max(3.6458vw, 17px);
    padding: 2.6041vw 2.8645vw
  }

  .Contact__text {
    border-radius: .651vw;
    height: 45.5729vw
  }

  .Contact__text textarea {
    font-size: max(3.6458vw, 17px);
    padding: 2.6041vw 2.8645vw
  }

  .Contact__radio {
    gap: 2.6041vw;
    padding: 1.8229vw 0 0
  }

  .Contact__radio .item label {
    margin-left: 2.0833vw
  }

  .Contact__privacy {
    font-size: 2.3437vw;
    gap: 3.9062vw;
    margin: 2.8645vw 0 0
  }

  .Contact__submit {
    margin-top: 6.5104vw
  }

  .Contact__submit input[type=submit] {
    aspect-ratio: 632/130;
    font-size: 3.6458vw;
    height: auto;
    width: 100%
  }

  .sm\:block {
    display: block !important
  }

  .sm\:flex {
    display: flex !important
  }

  .sm\:none {
    display: none !important
  }

  body {
    font-size: 3.6458vw
  }
}

@media screen and (max-width:479px) {
  .xs\:block {
    display: block !important
  }

  .xs\:flex {
    display: flex !important
  }

  .xs\:none {
    display: none !important
  }
}

@media (hover:hover) {
  .Sticky__btn:after {
    opacity: 0;
    transition: opacity .3s ease
  }

  .Sticky__btn:hover:after {
    opacity: 1
  }

  .Contact__submit input[type=submit] {
    transition: background-color .3s ease
  }

  .Contact__submit input[type=submit]:hover {
    background: #bd4549
  }
}

/*# sourceMappingURL=style.css.map */

.Point-01__image {
  flex: 0 0 auto;
  width: 30.59896vw;
}

.Point-01__image01 {
  margin: 30px auto 0;
}

.Point-01__title {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-weight: var(--weight-sb);
  margin-top: 0;
}

/* banner images top */

.bnr_img {
  display: none;
}

.bnr_img.open {
  position: fixed !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(0, 0, 0, .2) !important;
  z-index: 100000 !important;
}

.bnr_img .bnr_ctn {
  position: fixed;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 480px;
  left: 50%;
  margin: 0 auto;
  z-index: 999; 
}
  @media (max-width: 768px) {
    .bnr_img .bnr_ctn {
      max-width: 100%;
      width: 80%; } }

.bnr_img.bnr_ctn a:hover {
  cursor: pointer; }

.bnr_img .close:hover {
  cursor: pointer; }

.bnr_img .close {
  position: absolute !important;
  top: -50px !important;
  right: 0px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  background: #000 !important;
  border-radius: 50% !important;
  width: 50px !important;
  height: 50px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  padding: 0 !important;
}

.bnr_img .close img {
  width: 16px;
}

.bnr_img.hidden_bnr {
  display: none!important;
}

/* estimate_link */
.estimate_link {
  width: 100%;
  padding: 20px 31px 40px;
}
.estimate_link .Estimate__btn {
  align-items: center;
  background: #272D7F;
  border-radius: .52083vw;
  color: #fff;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  font-weight: var(--weight-b);
  height: 3.77604vw;
  justify-content: center;
  overflow: hidden;
  padding: .52083vw .65104vw .58594vw;
  position: relative;
  text-decoration: none;
  width: 27.14844vw;
  margin: 0 auto;
  z-index: 0;
  transition: all 0.5s;
}
.estimate_link .Estimate__btn:hover {
  opacity: 0.7;
}
.Estimate__btn .text_01 {
  align-items: baseline;
  display: inline-flex;
  font-size: .78125vw;
  position: relative;
}
.Estimate__btn .text_01 .number {
  font-size: 1.17188vw;
  letter-spacing: -.02em;
  margin: 0 .45573vw;
}
.Estimate__btn .text_02 {
  font-size: .91146vw;
  letter-spacing: -.04em;
}
.Estimate__btn .text_01:after,
.Estimate__btn .text_01:before {
  align-self: flex-end;
  background: #fff;
  content: "";
  display: block;
  flex: 0 0 auto;
  height: 1px;
  position: relative;
  top: -.32552vw;
  width: .84635vw;
}
.Estimate__btn .text_01:before {
  margin-right: .39063vw;
  rotate: 45deg;
}
.Estimate__btn .text_01:after {
  rotate: -45deg;
}

@media (max-width: 768px) {
  .Firstview__body {
    padding-bottom: 40px;
  }
  .estimate_link {
    width: 100%;
    padding: 20px 0 0;
    box-sizing: content-box;
  }
  .estimate_link .Estimate__btn {
    border-radius: 2.0833vw;
    height: 20.8333vw;
    padding: 0;
    width: 100%;
  }
  .Estimate__btn .text_01 {
    font-size: 3.332vw;
  }
  .Estimate__btn .text_01 .number {
    font-size: 5.332vw;
    margin: 0 .5208vw;
  }
  .Estimate__btn .text_02 {
    font-size: 4.1666vw;
    padding-left: 2.6041vw;
  }
  .Estimate__btn .text_01:after,
  .Estimate__btn .text_01:before {
    height: .2604vw;
    top: -1.823vw;
    width: 4.9479vw;
  }
  .Estimate__btn .text_01:before {
    margin-right: 0;
  }
}
.img-case03 img {
  height: 21.9vw;
  object-fit: cover;
}

@media (max-width: 768px) {
  .img-case03 img {
    height: auto;
    object-fit: cover;
  }
}

.bnr_study-abroad {
  text-align: center;
    padding: 80px 0 0;
}
.bnr_study-abroad a {
  display: block;
    width: 90%;
    margin: 0 auto;
}
.bnr_study-abroad a img {
  max-width: 1000px;
}