@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video, main {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, main {
  display: block;
}

body, html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  font-size: 1em;
}

blockquote, q {
  quotes: none;
}

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

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

a img {
  border: none;
}

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

/* iOSでのデフォルトスタイルをリセット */
input[type=button], input[type=text], input[type=tel], input[type=email], input[type=submit], input[type=image], textarea {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}

button,
input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}

input[type=radio] {
  display: none;
}

input[type=radio]:checked + label {
  background: #5f5f5f;
}

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

figure img {
  vertical-align: bottom;
}

video {
  -webkit-filter: drop-shadow(0px 0px #000);
          filter: drop-shadow(0px 0px #000);
  outline: none;
  border: none;
}

em {
  font-style: normal;
}

/*******************************

BREAK POINTS

*******************************/
/*******************************

    COLORS

*******************************/
/*******************************

    FONTS

*******************************/
/* FONT SIZE */
/* FONT SET */
/*******************************

    DISPLAY

*******************************/
@media screen and (min-width: 641px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 640px) {
  .lsp {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .tbmin {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .ltbmin {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 1025px) {
  .tb {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .ltb {
    display: none !important;
  }
}

/*******************************

    HOVER

*******************************/
/*******************************

    BLOCK

*******************************/
@font-face {
  font-family: "icomoon";
  src: url("fonts/icomoon.eot?kiogqr");
  src: url("fonts/icomoon.eot?kiogqr#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?kiogqr") format("truetype"), url("fonts/icomoon.woff?kiogqr") format("woff"), url("fonts/icomoon.svg?kiogqr#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-map:before {
  content: "\e900";
}

/*******************************

    BASE

*******************************/
html,
body {
  height: 100%;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic StdN", "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
}
@media screen and (min-width: 1025px) {
  html {
    font-size: 0.6944444444vw;
  }
}
@media screen and (min-width: 1600px) {
  html {
    font-size: 10px;
  }
}
@media screen and (max-width: 1024px) {
  html {
    font-size: 0.9765625vw;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 1.3020833333vw;
  }
}
@media screen and (max-width: 640px) {
  html {
    font-size: 2.6666666667vw;
  }
}

body {
  background: #FFF;
  color: #303030;
  font-size: 1.6rem;
  font-weight: 500;
}

body.is-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}

img {
  max-width: 100%;
}

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

a {
  text-decoration: none;
  color: #303030;
}

p {
  word-wrap: break-word;
}

p img {
  vertical-align: bottom;
  max-width: 100%;
}

input[type=button], input[type=text], input[type=tel], input[type=email], input[type=submit], input[type=image], textarea, button {
  color: #303030;
}

a::-moz-selection, abbr::-moz-selection, acronym::-moz-selection, address::-moz-selection, applet::-moz-selection, article::-moz-selection, aside::-moz-selection, audio::-moz-selection, b::-moz-selection, big::-moz-selection, blockquote::-moz-selection, body::-moz-selection, canvas::-moz-selection, caption::-moz-selection, center::-moz-selection, cite::-moz-selection, code::-moz-selection, dd::-moz-selection, del::-moz-selection, details::-moz-selection, dfn::-moz-selection, div::-moz-selection, dl::-moz-selection, dt::-moz-selection, em::-moz-selection, embed::-moz-selection, fieldset::-moz-selection, figcaption::-moz-selection, figure::-moz-selection, footer::-moz-selection, form::-moz-selection, h1::-moz-selection, h2::-moz-selection, h3::-moz-selection, h4::-moz-selection, h5::-moz-selection, h6::-moz-selection, header::-moz-selection, hgroup::-moz-selection, html::-moz-selection, i::-moz-selection, iframe::-moz-selection, img::-moz-selection, ins::-moz-selection, kbd::-moz-selection, label::-moz-selection, legend::-moz-selection, li::-moz-selection, mark::-moz-selection, menu::-moz-selection, nav::-moz-selection, object::-moz-selection, ol::-moz-selection, output::-moz-selection, p::-moz-selection, pre::-moz-selection, q::-moz-selection, ruby::-moz-selection, s::-moz-selection, samp::-moz-selection, section::-moz-selection, small::-moz-selection, span::-moz-selection, strike::-moz-selection, strong::-moz-selection, sub::-moz-selection, summary::-moz-selection, sup::-moz-selection, table::-moz-selection, tbody::-moz-selection, td::-moz-selection, tfoot::-moz-selection, th::-moz-selection, thead::-moz-selection, time::-moz-selection, tr::-moz-selection, tt::-moz-selection, u::-moz-selection, ul::-moz-selection, var::-moz-selection, video::-moz-selection, main::-moz-selection, br::-moz-selection, picture::-moz-selection, pre::-moz-selection {
  background: #174a9d;
  color: #FFF;
}

a::selection, abbr::selection, acronym::selection, address::selection, applet::selection, article::selection, aside::selection, audio::selection, b::selection, big::selection, blockquote::selection, body::selection, canvas::selection, caption::selection, center::selection, cite::selection, code::selection, dd::selection, del::selection, details::selection, dfn::selection, div::selection, dl::selection, dt::selection, em::selection, embed::selection, fieldset::selection, figcaption::selection, figure::selection, footer::selection, form::selection, h1::selection, h2::selection, h3::selection, h4::selection, h5::selection, h6::selection, header::selection, hgroup::selection, html::selection, i::selection, iframe::selection, img::selection, ins::selection, kbd::selection, label::selection, legend::selection, li::selection, mark::selection, menu::selection, nav::selection, object::selection, ol::selection, output::selection, p::selection, pre::selection, q::selection, ruby::selection, s::selection, samp::selection, section::selection, small::selection, span::selection, strike::selection, strong::selection, sub::selection, summary::selection, sup::selection, table::selection, tbody::selection, td::selection, tfoot::selection, th::selection, thead::selection, time::selection, tr::selection, tt::selection, u::selection, ul::selection, var::selection, video::selection, main::selection, br::selection, picture::selection, pre::selection {
  background: #174a9d;
  color: #FFF;
}
a::-moz-selection, abbr::-moz-selection, acronym::-moz-selection, address::-moz-selection, applet::-moz-selection, article::-moz-selection, aside::-moz-selection, audio::-moz-selection, b::-moz-selection, big::-moz-selection, blockquote::-moz-selection, body::-moz-selection, canvas::-moz-selection, caption::-moz-selection, center::-moz-selection, cite::-moz-selection, code::-moz-selection, dd::-moz-selection, del::-moz-selection, details::-moz-selection, dfn::-moz-selection, div::-moz-selection, dl::-moz-selection, dt::-moz-selection, em::-moz-selection, embed::-moz-selection, fieldset::-moz-selection, figcaption::-moz-selection, figure::-moz-selection, footer::-moz-selection, form::-moz-selection, h1::-moz-selection, h2::-moz-selection, h3::-moz-selection, h4::-moz-selection, h5::-moz-selection, h6::-moz-selection, header::-moz-selection, hgroup::-moz-selection, html::-moz-selection, i::-moz-selection, iframe::-moz-selection, img::-moz-selection, ins::-moz-selection, kbd::-moz-selection, label::-moz-selection, legend::-moz-selection, li::-moz-selection, mark::-moz-selection, menu::-moz-selection, nav::-moz-selection, object::-moz-selection, ol::-moz-selection, output::-moz-selection, p::-moz-selection, pre::-moz-selection, q::-moz-selection, ruby::-moz-selection, s::-moz-selection, samp::-moz-selection, section::-moz-selection, small::-moz-selection, span::-moz-selection, strike::-moz-selection, strong::-moz-selection, sub::-moz-selection, summary::-moz-selection, sup::-moz-selection, table::-moz-selection, tbody::-moz-selection, td::-moz-selection, tfoot::-moz-selection, th::-moz-selection, thead::-moz-selection, time::-moz-selection, tr::-moz-selection, tt::-moz-selection, u::-moz-selection, ul::-moz-selection, var::-moz-selection, video::-moz-selection, main::-moz-selection, br::-moz-selection, picture::-moz-selection, pre::-moz-selection {
  background: #174a9d;
  color: #FFF;
}

svg {
  height: auto;
}

/*******************************

    HEAD

*******************************/
.head {
  height: 10rem;
  background: #fff;
  z-index: 9999;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .head {
    height: 8rem;
  }
}
@media screen and (max-width: 640px) {
  .head {
    height: 6.5rem;
  }
}
.head__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding: 0 10rem;
}
@media screen and (max-width: 1024px) {
  .head__inner {
    padding: 0 4rem;
  }
}
@media screen and (max-width: 640px) {
  .head__inner {
    padding: 0 2rem;
  }
}
.head__logo {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.head__logo img {
  display: block;
  width: 27rem;
}
@media screen and (max-width: 1024px) {
  .head__logo img {
    width: 20.25rem;
  }
}
@media screen and (max-width: 640px) {
  .head__logo img {
    width: 17.55rem;
  }
}
.head__logo span {
  display: block;
  margin-top: 0.75em;
  font-weight: 700;
  letter-spacing: 0.01em;
  font-size: 1.1rem;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .head__logo span {
    font-size: 0.8rem;
  }
}
.head__btn {
  width: 10rem;
  aspect-ratio: 100/40;
  position: fixed;
  background: #e51c18;
  right: 10rem;
  z-index: 9999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  cursor: pointer;
  border-radius: 90vh;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media screen and (max-width: 1024px) {
  .head__btn {
    width: 8rem;
  }
}
@media screen and (max-width: 640px) {
  .head__btn {
    width: 7rem;
  }
}
@media (any-hover: hover) {
  .head__btn:hover {
    background: #174a9d;
  }
}
@media screen and (max-width: 1024px) {
  .head__btn {
    right: 4rem;
    aspect-ratio: 16/9;
  }
}
@media screen and (max-width: 640px) {
  .head__btn {
    right: 2rem;
  }
}
.head__btn span {
  width: 35%;
  height: 2px;
  display: block;
  background: #fff;
  margin: 2px 0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  border-radius: 100vh;
}
.head__btn.is-active span {
  margin: 0;
}
.head__btn.is-active span:first-child {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
  margin-bottom: -2px;
}
.head__btn.is-active span:nth-child(2) {
  opacity: 0;
}
.head__btn.is-active span:nth-child(3) {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
  margin-top: -2px;
}

@media screen and (min-width: 1025px) {
  .head__aboutlist {
    margin-left: auto;
    margin-right: 14rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3rem;
  }
  .head__aboutlist a {
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.15em;
    font-weight: 500;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (min-width: 1025px) and (max-width: 640px) {
  .head__aboutlist a {
    font-size: 1.19rem;
  }
}
@media screen and (min-width: 1025px) {
  .head__aboutlist a span {
    position: relative;
    z-index: 1;
  }
  .head__aboutlist a::after {
    content: "";
    display: block;
    position: absolute;
    background: #e51c18;
    background: var(--data-color);
    opacity: 0.2;
    height: 80%;
    top: 10%;
    width: 100%;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: right center;
            transform-origin: right center;
    -webkit-transition: -webkit-transform 0.6s ease;
    transition: -webkit-transform 0.6s ease;
    transition: transform 0.6s ease;
    transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  }
}
@media screen and (min-width: 1025px) and (any-hover: hover) {
  .head__aboutlist a:hover::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
}
@media screen and (max-width: 1024px) {
  .head__aboutlist {
    display: none;
  }
}
.headMenu__wrap {
  position: fixed;
  overflow-x: hidden;
  background: #fff;
  width: calc(100% - 10rem);
  max-width: 134rem;
  height: 48rem;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: 14rem;
  z-index: 999;
  -webkit-transform-origin: center top;
          transform-origin: center top;
  clip-path: polygon(0 0, 100% 0%, 100% 0, 0 0);
  visibility: hidden;
  border-radius: 2rem;
  padding: 4rem 7rem 6rem;
}
@media screen and (max-width: 1024px) {
  .headMenu__wrap {
    padding: 8rem;
    width: 100%;
    height: 100dvh;
    left: 0;
    top: 0;
    border-radius: 0;
  }
}
@media screen and (max-width: 1024px) {
  .headMenu__wrap {
    padding: 6rem 2rem;
  }
}

.headMenu {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 44rem 1fr;
  grid-template-columns: 44rem 1fr;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  .headMenu {
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.headMenu__list {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: auto;
}
@media screen and (max-width: 1024px) {
  .headMenu__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 640px) {
  .headMenu__list {
    gap: 3rem;
  }
}
@media screen and (max-width: 1024px) {
  .headMenu__list__item {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 30rem 1fr;
    grid-template-columns: 30rem 1fr;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (max-width: 640px) {
  .headMenu__list__item {
    -ms-grid-columns: 15rem 1fr;
    grid-template-columns: 15rem 1fr;
  }
}
.headMenu__list__item .nav__btn {
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 3rem;
}
@media screen and (max-width: 640px) {
  .headMenu__list__item .nav__btn {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .headMenu__list__item .nav__btn {
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .headMenu__list__item .nav__btn {
    margin-bottom: 0.9rem;
  }
}
@media screen and (max-width: 1024px) {
  .headMenu__list__item .nav__btn {
    height: auto;
  }
}
@media (any-hover: hover) {
  .headMenu__list__item .nav__btn:hover .icon {
    border-color: #174a9d;
  }
  .headMenu__list__item .nav__btn:hover .icon svg {
    -webkit-transform: translateX(2px);
            transform: translateX(2px);
  }
}
.headMenu__list__item .nav__btn .icon {
  width: 3rem;
  margin-right: 1rem;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media screen and (max-width: 640px) {
  .headMenu__list__item .nav__btn .icon {
    width: 2.4rem;
  }
}
.headMenu__list__item .nav__btn .icon svg {
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.headMenu__list a.nav__btn + .nav__childlist {
  padding-left: 4rem;
}
@media screen and (max-width: 1024px) {
  .headMenu__list a.nav__btn + .nav__childlist {
    padding-left: 0;
  }
}
.headMenu__list .nav__childlist {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 640px) {
  .headMenu__list .nav__childlist {
    font-size: 1.26rem;
  }
}
@media screen and (max-width: 1024px) {
  .headMenu__list .nav__childlist {
    margin-top: 0.5em;
  }
}
.headMenu__cta {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 20rem 1fr;
  grid-template-columns: 20rem 1fr;
  width: 44rem;
}
.headMenu__cta figure img {
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  -webkit-transform: scale(1.005);
          transform: scale(1.005);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media (any-hover: hover) {
  .headMenu__cta:hover figure img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
@media screen and (max-width: 1024px) {
  .headMenu__cta {
    margin: 0 auto;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 640px) {
  .headMenu__cta {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 44rem;
  }
}
.headMenu__cta .cont {
  background: #f0eae1;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 640px) {
  .headMenu__cta .cont {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 640px) {
  .headMenu__cta .cont {
    padding: 2.4rem 0;
    font-size: 1.6rem;
  }
}
.headMenu__cta .img {
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  .headMenu__cta .img {
    aspect-ratio: 16/9;
  }
  .headMenu__cta .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.headMenu__sublist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
  gap: 6rem;
}
@media screen and (max-width: 1024px) {
  .headMenu__sublist {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-right: auto;
    margin-left: 0;
    gap: 4rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 640px) {
  .headMenu__sublist {
    gap: 3rem;
    margin-top: 3rem;
  }
}
.headMenu__sublist a {
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .headMenu__sublist a {
    font-size: 1.5rem;
  }
}
.headMenu__sublist svg {
  width: 3rem;
}
@media (any-hover: hover) {
  .headMenu a {
    -webkit-transition: 0.6s ease;
    transition: 0.6s ease;
  }
  .headMenu a svg path {
    -webkit-transition: 0.6s ease;
    transition: 0.6s ease;
  }
  .headMenu a:hover {
    color: #174a9d;
  }
  .headMenu a:hover svg path {
    fill: #174a9d;
  }
}

.headMenu__bg {
  content: "";
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.25);
  visibility: hidden;
  opacity: 0;
  z-index: 2;
}

/*******************************

    TTL/TXT/BTN

*******************************/
.cmn__txt {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .cmn__txt {
    font-size: 1.36rem;
  }
}

.cmn__deco14 {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .cmn__deco14 {
    font-size: 1.19rem;
  }
}

.cmn__subttl {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .cmn__subttl {
    font-size: 1.36rem;
  }
}

.cmn__h1 {
  font-size: 4rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .cmn__h1 {
    font-size: 2.8rem;
  }
}

.cmn__h2 {
  font-size: 3.2rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .cmn__h2 {
    font-size: 2.4rem;
  }
}

.cmn__h3 {
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .cmn__h3 {
    font-size: 1.8rem;
  }
}

.cmn__tag {
  font-size: 1.2rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .cmn__tag {
    font-size: 1.02rem;
  }
}

.cmn__copy {
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .cmn__copy {
    font-size: 1.5rem;
  }
}

.cmn__ttl01 {
  text-align: center;
}
.cmn__ttl01.is-left .en,
.cmn__ttl01.is-left .ja {
  margin-right: auto;
  margin-left: 0;
}
.cmn__ttl01 .en {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  display: block;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: 1.75em;
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .cmn__ttl01 .en {
    font-size: 1.19rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__ttl01 .en {
    margin-bottom: 1.5em;
  }
}
.cmn__ttl01 .en.is-red {
  color: #e51c18;
}
.cmn__ttl01 .ja {
  font-size: 3.2rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: block;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #303030;
  font-weight: 700;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .cmn__ttl01 .ja {
    font-size: 2.4rem;
  }
}

.cmn__btn01 {
  --data-btncolor:#303030;
  border: 1px solid var(--data-btncolor);
  border-radius: 100vh;
  font-size: 1.6rem;
  line-height: 1.25;
  letter-spacing: 0.01em;
  line-height: 1.25;
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
  padding-left: 4.2rem;
  padding-right: 2.2rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--data-btncolor);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
.cmn__btn01.is-red {
  --data-btncolor:#e51c18;
}
.cmn__btn01.is-white {
  --data-btncolor:#FFF;
}
@media screen and (max-width: 640px) {
  .cmn__btn01 {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__btn01 {
    padding-top: 1.05rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__btn01 {
    padding-top: 0.91rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__btn01 {
    padding-bottom: 1.05rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__btn01 {
    padding-bottom: 0.91rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__btn01 {
    padding-left: 3.15rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__btn01 {
    padding-left: 2.73rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__btn01 {
    padding-right: 1.65rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__btn01 {
    padding-right: 1.43rem;
  }
}
@media (any-hover: hover) {
  .cmn__btn01 {
    will-change: transform;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .cmn__btn01:hover {
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
  }
  .cmn__btn01:hover path:nth-of-type(2) {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
  .cmn__btn01.is-red:hover {
    border-color: #174a9d;
    color: #174a9d;
  }
  .cmn__btn01.is-red:hover path {
    fill: #174a9d;
  }
  .cmn__btn01.is-red:hover path:nth-of-type(2) {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
}
.cmn__btn01 span {
  margin-right: 1.8rem;
}
@media screen and (max-width: 1024px) {
  .cmn__btn01 span {
    margin-right: 1.35rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__btn01 span {
    margin-right: 0.81rem;
  }
}
.cmn__btn01 svg {
  width: 4.7rem;
}
@media screen and (max-width: 1024px) {
  .cmn__btn01 svg {
    width: 3.525rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__btn01 svg {
    width: 2.35rem;
  }
}
.cmn__btn01 svg path:nth-of-type(2) {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: fill 0.6s ease, -webkit-transform 0.6s ease;
  transition: fill 0.6s ease, -webkit-transform 0.6s ease;
  transition: transform 0.6s ease, fill 0.6s ease;
  transition: transform 0.6s ease, fill 0.6s ease, -webkit-transform 0.6s ease;
}
.cmn__btn01 svg path {
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
.cmn__btn01 svg path {
  fill: var(--data-btncolor);
}

.cmn__btn02 {
  --data-btncolor:#303030;
  border: 1px solid var(--data-btncolor);
  border-radius: 100vh;
  font-size: 1.6rem;
  line-height: 1.25;
  letter-spacing: 0.01em;
  line-height: 1.25;
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--data-btncolor);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  position: relative;
  width: 100%;
}
.cmn__btn02.is-red {
  --data-btncolor:#e51c18;
}
.cmn__btn02.is-white {
  --data-btncolor:#FFF;
}
@media screen and (max-width: 640px) {
  .cmn__btn02 {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__btn02 {
    padding-top: 1.05rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__btn02 {
    padding-top: 0.91rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__btn02 {
    padding-bottom: 1.05rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__btn02 {
    padding-bottom: 0.91rem;
  }
}
@media (any-hover: hover) {
  .cmn__btn02 {
    will-change: transform;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .cmn__btn02:hover {
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
  }
  .cmn__btn02:hover path:nth-of-type(2) {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
  .cmn__btn02.is-red:hover {
    border-color: #174a9d;
    color: #174a9d;
  }
  .cmn__btn02.is-red:hover path {
    fill: #174a9d;
  }
  .cmn__btn02.is-red:hover path:nth-of-type(2) {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
}
.cmn__btn02 span {
  margin-right: 1.8rem;
}
@media screen and (max-width: 1024px) {
  .cmn__btn02 span {
    margin-right: 1.35rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__btn02 span {
    margin-right: 0.81rem;
  }
}
.cmn__btn02 svg {
  width: 4.7rem;
  right: 2.2rem;
  position: absolute;
}
@media screen and (max-width: 1024px) {
  .cmn__btn02 svg {
    width: 3.525rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__btn02 svg {
    width: 2.35rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__btn02 svg {
    right: 1.65rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__btn02 svg {
    right: 1.43rem;
  }
}
.cmn__btn02 svg path:nth-of-type(2) {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: fill 0.6s ease, -webkit-transform 0.6s ease;
  transition: fill 0.6s ease, -webkit-transform 0.6s ease;
  transition: transform 0.6s ease, fill 0.6s ease;
  transition: transform 0.6s ease, fill 0.6s ease, -webkit-transform 0.6s ease;
}
.cmn__btn02 svg path {
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
.cmn__btn02 svg path {
  fill: var(--data-btncolor);
}

.cmn__btn03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  gap: 2rem;
  margin-left: auto;
}
@media screen and (max-width: 640px) {
  .cmn__btn03 {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__btn03 {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__btn03 {
    gap: 1rem;
  }
}
.cmn__btn03 .icon {
  width: 7.5rem;
  border-radius: 50%;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #303030;
}
@media screen and (max-width: 1024px) {
  .cmn__btn03 .icon {
    width: 5.625rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__btn03 .icon {
    width: 3.75rem;
  }
}
.cmn__btn03 .icon svg {
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  width: 50%;
  display: block;
}
@media (any-hover: hover) {
  a.cmn__btn03:hover .btn .icon svg {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}

.cmn__icon01 {
  border: 1px solid #303030;
  width: 4.8rem;
  border-radius: 50%;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 1024px) {
  .cmn__icon01 {
    width: 3.6rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__icon01 {
    width: 2.4rem;
  }
}
.cmn__icon01:not(.is-modal) svg {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.cmn__icon01.is-modal svg {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  width: 33%;
}
.cmn__icon01 svg {
  display: block;
  width: 42%;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
.cmn__icon01 svg path {
  fill: #303030;
}

@media (any-hover: hover) {
  .cmn__icon01btn:hover .cmn__icon01:not(.is-modal) svg {
    -webkit-transform: translateX(3px);
            transform: translateX(3px);
  }
}

/*******************************

    BLOCK

*******************************/
.is-age2-4 {
  --data-color: #7ACCEA;
}

.is-age4-6 {
  --data-color: #5F9EE7;
}

.is-ageLower {
  --data-color: #FFADAB;
}

.is-ageUpper {
  --data-color: #F26F6F;
}

.is-sora {
  --data-color:#174a9d;
}

.is-taiyo {
  --data-color:#e51c18;
}

.is-interview {
  --data-color:#7199ca;
}

.is-story {
  --data-color:#f2afbd;
}

main {
  padding-top: 10rem;
}
@media screen and (max-width: 1024px) {
  main {
    padding-top: 8rem;
  }
}
@media screen and (max-width: 640px) {
  main {
    padding-top: 6.5rem;
  }
}

/* kv
----------------------------- */
.cmnPankuzu {
  position: absolute;
  left: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  top: 2rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 1024px) {
  .cmnPankuzu {
    left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .cmnPankuzu {
    position: relative;
    top: auto;
    left: auto;
    padding-top: 2rem;
    padding-left: 4rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnPankuzu {
    padding-left: 2rem;
    padding-top: 1rem;
  }
}
.cmnPankuzu li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cmnPankuzu a,
.cmnPankuzu span,
.cmnPankuzu h1 {
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0;
  font-weight: 400;
  display: block;
}
@media screen and (max-width: 640px) {
  .cmnPankuzu a,
  .cmnPankuzu span,
  .cmnPankuzu h1 {
    font-size: 1.02rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnPankuzu a,
  .cmnPankuzu span,
  .cmnPankuzu h1 {
    font-size: 0.9rem;
  }
}
.cmnPankuzu li:not(:last-of-type)::after {
  content: ">";
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0;
  margin: 0 0.5em 0.1rem;
}
@media screen and (max-width: 640px) {
  .cmnPankuzu li:not(:last-of-type)::after {
    font-size: 1.02rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnPankuzu li:not(:last-of-type)::after {
    font-size: 0.9rem;
  }
}

.cmnKv01 {
  position: relative;
  background: #f0eae1;
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .cmnKv01 {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnKv01 {
    margin-bottom: 4.5rem;
  }
}
.cmnKv01__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .cmnKv01__inner {
    display: block;
  }
}
.cmnKv01__inner .cont {
  padding-left: 10rem;
}
@media screen and (max-width: 1024px) {
  .cmnKv01__inner .cont {
    padding-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .cmnKv01__inner .cont {
    width: 100%;
    padding: 6rem 4rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnKv01__inner .cont {
    padding: 3rem 2rem;
  }
}
.cmnKv01__inner .cont .ttl span {
  display: block;
}
.cmnKv01__inner .cont .ttl .en {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-bottom: 1.65em;
  margin-top: -1.5em;
  text-transform: uppercase;
}
@media screen and (max-width: 640px) {
  .cmnKv01__inner .cont .ttl .en {
    font-size: 1.19rem;
  }
}
@media screen and (max-width: 768px) {
  .cmnKv01__inner .cont .ttl .en {
    margin-top: 0;
  }
}
@media screen and (max-width: 640px) {
  .cmnKv01__inner .cont .ttl .en {
    margin-bottom: 1.5rem;
  }
}
.cmnKv01__inner .cont .ttl .ja {
  font-size: 4rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .cmnKv01__inner .cont .ttl .ja {
    font-size: 2.8rem;
  }
}
.cmnKv01__inner .img {
  border-radius: 0 0 0 10rem;
  overflow: hidden;
  aspect-ratio: 6/4;
  width: 60rem;
  max-width: 45%;
}
@media screen and (max-width: 1024px) {
  .cmnKv01__inner .img {
    border-radius: 0 0 0 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnKv01__inner .img {
    border-radius: 0 0 0 5rem;
  }
}
@media screen and (max-width: 768px) {
  .cmnKv01__inner .img {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    border-radius: 0 7.5rem 0 0;
  }
}
@media screen and (max-width: 640px) {
  .cmnKv01__inner .img {
    border-radius: 0 6rem 0 0;
  }
}
.cmnKv01__inner .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .cmnKv01__inner .img {
    aspect-ratio: 10/5;
  }
}

.cmnKv03 {
  position: relative;
  background: #f0eae1;
  margin-bottom: 16rem;
  padding: 5rem;
}
@media screen and (max-width: 1024px) {
  .cmnKv03 {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnKv03 {
    margin-bottom: 7.2rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmnKv03 {
    padding: 6rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .cmnKv03 {
    padding-top: 0;
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnKv03 {
    padding: 0 2rem 2rem;
  }
}
.cmnKv03 .cmnPankuzu {
  padding-left: 0 !important;
}
.cmnKv03__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .cmnKv03__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.cmnKv03__inner .cont {
  padding-left: 5rem;
}
@media screen and (max-width: 1024px) {
  .cmnKv03__inner .cont {
    padding-left: 0;
    padding: 4rem 0;
  }
}
@media screen and (max-width: 640px) {
  .cmnKv03__inner .cont {
    padding: 3rem 0;
  }
}
.cmnKv03__inner .cont .ttl {
  margin-top: 19rem;
}
@media screen and (max-width: 1024px) {
  .cmnKv03__inner .cont .ttl {
    margin-top: 0;
  }
}
.cmnKv03__inner .cont .ttl span {
  display: block;
}
.cmnKv03__inner .cont .ttl .en {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-bottom: 1.65em;
  text-transform: uppercase;
}
@media screen and (max-width: 640px) {
  .cmnKv03__inner .cont .ttl .en {
    font-size: 1.19rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnKv03__inner .cont .ttl .en {
    margin-bottom: 1.5rem;
  }
}
.cmnKv03__inner .cont .ttl .ja {
  font-size: 4rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .cmnKv03__inner .cont .ttl .ja {
    font-size: 2.8rem;
  }
}
.cmnKv03__inner .img {
  aspect-ratio: 80/58;
  width: 80rem;
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .cmnKv03__inner .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnKv03__inner .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmnKv03__inner .img {
    width: 100%;
  }
}
.cmnKv03__inner .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cmnKv03__inner .txt {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  bottom: 5rem;
  position: absolute;
  left: 10rem;
}
@media screen and (max-width: 640px) {
  .cmnKv03__inner .txt {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmnKv03__inner .txt {
    position: relative;
    left: auto;
    bottom: auto;
    margin-top: 4rem;
  }
}
.cmnKv03__inner .logo {
  position: absolute;
  left: 10rem;
  bottom: 6.4rem;
}
@media screen and (max-width: 1024px) {
  .cmnKv03__inner .logo {
    left: auto;
    bottom: auto;
    position: relative;
    margin-top: 4rem;
  }
}
.cmnKv03__inner .logo img {
  display: block;
  height: 4.5rem;
}
@media screen and (max-width: 1024px) {
  .cmnKv03__inner .logo img {
    height: 3.375rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnKv03__inner .logo img {
    height: 2.25rem;
  }
}
.cmnKv03__inner .logo figcaption {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-top: 1rem;
}
@media screen and (max-width: 640px) {
  .cmnKv03__inner .logo figcaption {
    font-size: 1.36rem;
  }
}

/* slider
----------------------------- */
.cmn__lineslide01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 1;
  pointer-events: none;
}
.cmn__lineslide01 .swiper-slide {
  width: auto !important;
}
.cmn__lineslide01 img {
  display: block;
  width: 208.4rem;
  padding-right: 5rem;
  max-width: none;
}
@media screen and (max-width: 1024px) {
  .cmn__lineslide01 img {
    width: 156.3rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__lineslide01 img {
    width: 72.94rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__lineslide01 img {
    padding-right: 3.75rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__lineslide01 img {
    padding-right: 2.25rem;
  }
}
.cmn__lineslide01__wrap {
  position: relative;
}
.cmn__lineslide01 .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
  /* 一定速度 */
}

.cmn__lineslide02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 1;
  pointer-events: none;
}
.cmn__lineslide02 .swiper-slide {
  width: auto !important;
}
.cmn__lineslide02 .imgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
  margin-right: 3rem;
}
@media screen and (max-width: 1024px) {
  .cmn__lineslide02 .imgs {
    gap: 2.25rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__lineslide02 .imgs {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__lineslide02 .imgs {
    margin-right: 2.25rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__lineslide02 .imgs {
    margin-right: 1.35rem;
  }
}
.cmn__lineslide02 .img {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .cmn__lineslide02 .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__lineslide02 .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
.cmn__lineslide02 .img:nth-of-type(odd) {
  width: 40rem;
  aspect-ratio: 4/5;
}
@media screen and (max-width: 1024px) {
  .cmn__lineslide02 .img:nth-of-type(odd) {
    width: 30rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__lineslide02 .img:nth-of-type(odd) {
    width: 20rem;
  }
}
.cmn__lineslide02 .img:nth-of-type(even) {
  width: 32rem;
  aspect-ratio: 3.2/4;
}
@media screen and (max-width: 1024px) {
  .cmn__lineslide02 .img:nth-of-type(even) {
    width: 24rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__lineslide02 .img:nth-of-type(even) {
    width: 16rem;
  }
}
.cmn__lineslide02 .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cmn__lineslide02__wrap {
  position: relative;
}
.cmn__lineslide02 .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
  /* 一定速度 */
}

.cmnSlideNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
@media screen and (max-width: 1024px) {
  .cmnSlideNav {
    gap: 0.75rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnSlideNav {
    gap: 0.5rem;
  }
}
.cmnSlideNav__prev, .cmnSlideNav__next {
  width: 9rem;
  aspect-ratio: 9/4;
  border: 1px solid #303030;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 100vh;
  cursor: pointer;
}
@media screen and (max-width: 640px) {
  .cmnSlideNav__prev, .cmnSlideNav__next {
    width: 6rem;
  }
}
.cmnSlideNav__prev svg, .cmnSlideNav__next svg {
  width: 4.7rem;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media screen and (max-width: 640px) {
  .cmnSlideNav__prev svg, .cmnSlideNav__next svg {
    width: 2.4rem;
  }
}
@media (any-hover: hover) {
  .cmnSlideNav__prev:hover svg {
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px);
  }
}
@media (any-hover: hover) {
  .cmnSlideNav__next:hover svg {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}
.cmnSlideNav .swiper-button-disabled {
  opacity: 0.5;
  pointer-events: none;
}
.cmnSlideNav__num {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-right: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
}
@media screen and (max-width: 640px) {
  .cmnSlideNav__num {
    font-size: 1.19rem;
  }
}

/* tab/accordion
----------------------------- */
.cmn__tabitem[aria-hidden=true] {
  opacity: 0;
  visibility: hidden;
  display: none;
}
.js-accordionItem summary {
  cursor: pointer;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media (any-hover: hover) {
  .js-accordionItem summary:hover {
    color: #174a9d;
  }
}

/* news & media
----------------------------- */
.cmn__newslist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6rem;
}
@media screen and (max-width: 1024px) {
  .cmn__newslist {
    gap: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__newslist {
    gap: 3rem;
  }
}
.cmn__newslist a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .cmn__newslist a {
    display: -ms-grid;
    display: grid;
    position: relative;
    -ms-grid-columns: auto 1rem 1fr;
    grid-template-columns: auto 1fr;
    gap: 1rem;
  }
}
@media (any-hover: hover) {
  .cmn__newslist a {
    -webkit-transition: 0.6s ease;
    transition: 0.6s ease;
  }
  .cmn__newslist a .ttl {
    -webkit-transition: 0.6s ease;
    transition: 0.6s ease;
  }
  .cmn__newslist a:hover {
    color: #174a9d;
  }
  .cmn__newslist a:hover .ttl {
    border-color: #174a9d;
  }
  .cmn__newslist a:hover svg {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}
.cmn__newslist a time {
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0;
  font-weight: 700;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-right: 1.4rem;
}
@media screen and (max-width: 640px) {
  .cmn__newslist a time {
    font-size: 0.9rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__newslist a time {
    margin-right: 1.05rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__newslist a time {
    margin-right: 0.63rem;
  }
}
@media screen and (max-width: 768px) {
  .cmn__newslist a time {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-right: 0;
  }
}
.cmn__newslist a .cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-right: 4rem;
}
@media screen and (max-width: 1024px) {
  .cmn__newslist a .cat {
    gap: 0.75rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__newslist a .cat {
    gap: 0.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__newslist a .cat {
    margin-right: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__newslist a .cat {
    margin-right: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .cmn__newslist a .cat {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.cmn__newslist a .cat span {
  background: #d6cec5;
  border-radius: 100vh;
  font-size: 1.2rem;
  padding: 0.65em 1.75em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  text-align: center;
  min-width: 12.5rem;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .cmn__newslist a .cat span {
    font-size: 1.02rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__newslist a .cat span {
    font-size: 0.85rem;
    min-width: auto;
    padding: 0.5em 1.5em;
  }
}
.cmn__newslist a .ttl {
  width: 100%;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 640px) {
  .cmn__newslist a .ttl {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 768px) {
  .cmn__newslist a .ttl {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    padding-right: 4rem;
  }
}
.cmn__newslist a svg {
  margin-left: 5rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  width: 2.2rem;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 1024px) {
  .cmn__newslist a svg {
    margin-left: 3.75rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__newslist a svg {
    margin-left: 2.25rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__newslist a svg {
    width: 1.65rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__newslist a svg {
    width: 1.1rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__newslist a svg {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 768px) {
  .cmn__newslist a svg {
    position: absolute;
    right: 0;
    width: 2.4rem;
    bottom: 0.75em;
  }
}
@media screen and (max-width: 640px) {
  .cmn__newslist a svg {
    width: 1.8rem;
  }
}
.cmn__newslist a svg path,
.cmn__newslist a svg rect {
  fill: #303030;
}

.cmn__mediapost a {
  display: block;
}
.cmn__mediapost a figure img {
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  -webkit-transform: scale(1.005);
          transform: scale(1.005);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media (any-hover: hover) {
  .cmn__mediapost a:hover figure img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.cmn__mediapost .img {
  position: relative;
  aspect-ratio: 4/5;
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 1024px) {
  .cmn__mediapost .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__mediapost .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__mediapost .img {
    margin-bottom: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__mediapost .img {
    margin-bottom: 1.44rem;
  }
}
.cmn__mediapost .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cmn__mediapost .summary {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cmn__mediapost .summary .cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-right: 4rem;
}
@media screen and (max-width: 1024px) {
  .cmn__mediapost .summary .cat {
    gap: 0.75rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__mediapost .summary .cat {
    gap: 0.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__mediapost .summary .cat {
    margin-right: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__mediapost .summary .cat {
    margin-right: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .cmn__mediapost .summary .cat {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.cmn__mediapost .summary .cat span {
  background: var(--data-color);
  border-radius: 100vh;
  font-size: 1.2rem;
  padding: 0.65em 1.75em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .cmn__mediapost .summary .cat span {
    font-size: 1.02rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__mediapost .summary .cat span {
    font-size: 0.85rem;
    padding: 0.5em 1.5em;
  }
}
.cmn__mediapost .summary time {
  border-radius: 100vh;
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0.15em;
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .cmn__mediapost .summary time {
    font-size: 0.9rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__mediapost .summary time {
    letter-spacing: 0;
  }
}
.cmn__mediapost .ttl {
  margin-top: 1em;
  margin-bottom: 1em;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .cmn__mediapost .ttl {
    font-size: 1.36rem;
  }
}
.cmn__mediapost .tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem 2rem;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.15em;
  color: #303030;
}
@media screen and (max-width: 640px) {
  .cmn__mediapost .tags {
    font-size: 1.05rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__mediapost .tags {
    gap: 0.5rem 1rem;
    font-size: 1rem;
  }
}

.cmnPostArc {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .cmnPostArc {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 4rem;
    max-width: calc(124rem);
    width: calc(100% - 6rem * 2);
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 768px) and (max-width: 1024px) {
  .cmnPostArc {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 768px) and (max-width: 640px) {
  .cmnPostArc {
    width: calc(100% - 2rem * 2);
  }
}
.cmnPostArc__filter {
  background: #f0eae1;
  border-radius: 0 0 10rem 0;
  overflow: hidden;
  padding: 6rem 6rem 6rem 10rem;
}
@media screen and (max-width: 1024px) {
  .cmnPostArc__filter {
    border-radius: 0 0 7.5rem 0;
  }
}
@media screen and (max-width: 640px) {
  .cmnPostArc__filter {
    border-radius: 0 0 5rem 0;
  }
}
@media screen and (max-width: 1024px) {
  .cmnPostArc__filter {
    padding: 6rem 4rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnPostArc__filter {
    padding: 3rem 2rem;
  }
}
.cmnPostArcFilterItem {
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .cmnPostArcFilterItem {
    width: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 8em 4rem 1fr;
    grid-template-columns: 8em 1fr;
    gap: 4rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnPostArcFilterItem {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
.cmnPostArcFilterItem__ttl {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 4rem;
}
@media screen and (max-width: 640px) {
  .cmnPostArcFilterItem__ttl {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmnPostArcFilterItem__ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnPostArcFilterItem__ttl {
    margin-bottom: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .cmnPostArcFilterItem__ttl {
    margin-bottom: 0;
  }
}
.cmnPostArcFilterItem__catlist {
  width: 100%;
  margin-top: -2rem;
}
@media screen and (max-width: 1024px) {
  .cmnPostArcFilterItem__catlist {
    margin-top: -1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnPostArcFilterItem__catlist {
    margin-top: -0.9rem;
  }
}
.cmnPostArcFilterItem__catlist li.is-active a {
  color: #e51c18;
  border-color: #e51c18;
}
.cmnPostArcFilterItem__catlist a {
  border-bottom: 1px solid #303030;
  color: #303030;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.15em;
  font-weight: 700;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  padding-top: 2rem;
  padding-bottom: 2rem;
  display: block;
}
@media screen and (max-width: 640px) {
  .cmnPostArcFilterItem__catlist a {
    font-size: 1.19rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmnPostArcFilterItem__catlist a {
    padding-top: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnPostArcFilterItem__catlist a {
    padding-top: 0.9rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmnPostArcFilterItem__catlist a {
    padding-bottom: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnPostArcFilterItem__catlist a {
    padding-bottom: 0.9rem;
  }
}
@media (any-hover: hover) {
  .cmnPostArcFilterItem__catlist a:hover {
    color: #174a9d;
    border-color: #174a9d;
  }
}
.cmnPostArcFilterItem__taglist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 640px) {
  .cmnPostArcFilterItem__taglist {
    gap: 1rem 0.5rem;
  }
}
.cmnPostArcFilterItem__taglist li.is-active a {
  color: #e51c18;
  border-color: #e51c18;
}
.cmnPostArcFilterItem__taglist a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #303030;
  font-size: 1.2rem;
  line-height: 2;
  letter-spacing: 0.15em;
  border-radius: 100vh;
  padding: 0.25em 1em;
  font-weight: 700;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media screen and (max-width: 640px) {
  .cmnPostArcFilterItem__taglist a {
    font-size: 1.02rem;
  }
}
@media (any-hover: hover) {
  .cmnPostArcFilterItem__taglist a:hover {
    color: #174a9d;
    border-color: #174a9d;
  }
}
.cmnPostArcFilterItem + .cmnPostArcFilterItem {
  margin-top: 8rem;
}
@media screen and (max-width: 1024px) {
  .cmnPostArcFilterItem + .cmnPostArcFilterItem {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnPostArcFilterItem + .cmnPostArcFilterItem {
    margin-top: 3.6rem;
  }
}

.cmn__pager {
  margin-top: 12rem;
}
@media screen and (max-width: 1024px) {
  .cmn__pager {
    margin-top: 9rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__pager {
    margin-top: 5.4rem;
  }
}
.cmn__pager .cmn__pager-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
@media screen and (max-width: 640px) {
  .cmn__pager .cmn__pager-links {
    gap: 0.5rem;
  }
}
.cmn__pager .page-numbers {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  height: 5rem;
  padding: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 1rem 1rem 1rem 1rem;
  overflow: hidden;
  min-width: 3.2rem;
  aspect-ratio: 0.85/1;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  .cmn__pager .page-numbers {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__pager .page-numbers {
    border-radius: 0.75rem 0.75rem 0.75rem 0.75rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__pager .page-numbers {
    border-radius: 0.5rem 0.5rem 0.5rem 0.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__pager .page-numbers {
    font-size: 1rem;
    padding: 0.25em;
    height: 3.5rem;
    aspect-ratio: 0.85/1;
    min-width: auto;
  }
}
.cmn__pager a.page-numbers {
  border: 1px solid #303030;
}
@media (any-hover: hover) {
  .cmn__pager a.page-numbers {
    -webkit-transition: 0.6s ease;
    transition: 0.6s ease;
  }
  .cmn__pager a.page-numbers:hover {
    background: #f0eae1;
  }
}
.cmn__pager .page-numbers.current {
  background: #303030;
  color: #fff;
}
.cmn__pager .dots {
  aspect-ratio: auto;
}
.cmn__pager .next,
.cmn__pager .prev {
  padding: 0 1.5em;
  border-radius: 100vh;
  aspect-ratio: auto;
}
@media screen and (max-width: 640px) {
  .cmn__pager .next,
  .cmn__pager .prev {
    padding: 0 1em;
  }
}
.cmn__pager .next svg,
.cmn__pager .prev svg {
  display: block;
  width: 4.7rem;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media screen and (max-width: 640px) {
  .cmn__pager .next svg,
  .cmn__pager .prev svg {
    width: 2.4rem;
  }
}
.cmn__pager .prev {
  margin-right: 2rem;
}
@media screen and (max-width: 640px) {
  .cmn__pager .prev {
    margin-right: 0.75rem;
  }
}
@media (any-hover: hover) {
  .cmn__pager .prev:hover svg {
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px);
  }
}
.cmn__pager .next {
  margin-left: 2rem;
}
@media screen and (max-width: 640px) {
  .cmn__pager .next {
    margin-left: 0.75rem;
  }
}
@media (any-hover: hover) {
  .cmn__pager .next:hover svg {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}

/* company
----------------------------- */
.cmnCompany {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 6rem;
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  margin-top: 16rem;
}
@media screen and (max-width: 1024px) {
  .cmnCompany {
    gap: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnCompany {
    gap: 3rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmnCompany {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .cmnCompany {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .cmnCompany {
    margin-top: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnCompany {
    margin-top: 7.2rem;
  }
}
@media screen and (max-width: 768px) {
  .cmnCompany {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.cmnCompany__main {
  width: 54rem;
  max-width: 100%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (max-width: 768px) {
  .cmnCompany__main {
    width: 100%;
  }
}
.cmnCompany__main .ttl {
  font-size: 3.2rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-weight: 700;
  margin-bottom: 1em;
}
@media screen and (max-width: 640px) {
  .cmnCompany__main .ttl {
    font-size: 2.4rem;
  }
}
.cmnCompany__main .txtbox {
  font-size: 1.4rem;
  line-height: 2.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 640px) {
  .cmnCompany__main .txtbox {
    font-size: 1.19rem;
  }
}
.cmnCompany__main .txtbox p + p {
  margin-top: 1.5em;
}
.cmnCompany__imgs {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 43.6rem;
}
@media screen and (max-width: 768px) {
  .cmnCompany__imgs {
    margin: 0 auto;
  }
}
.cmnCompany__imgs a {
  display: block;
  -webkit-transition: ease 0.6s;
  transition: ease 0.6s;
  margin: 0 auto;
  margin-bottom: 4rem;
  width: min(100%, 32.3rem);
}
@media (any-hover: hover) {
  .cmnCompany__imgs a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 1024px) {
  .cmnCompany__imgs a {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnCompany__imgs a {
    margin-bottom: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnCompany__imgs a {
    width: 24rem;
    margin-bottom: 3rem;
  }
}
.cmnCompany__imgs .img {
  width: 100%;
}

/* facility
----------------------------- */
.cmnFacility {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .cmnFacility {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .cmnFacility {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 768px) {
  .cmnFacility {
    margin-right: 0 !important;
    width: calc(100% - 4rem);
  }
}
@media screen and (max-width: 640px) {
  .cmnFacility {
    width: calc(100% - 2rem);
  }
}
@media screen and (max-width: 640px) {
  .cmnFacility__ttl {
    margin-bottom: 3rem;
  }
}
.cmnFacility__table {
  position: relative;
}
.cmnFacility__table::before {
  content: "";
  left: 30rem;
  width: 1px;
  height: 100%;
  background: #303030;
  position: absolute;
  top: 0;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .cmnFacility__table::before {
    left: 24rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnFacility__table::before {
    left: 10rem;
  }
}
.cmnFacility__table__inner {
  position: relative;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .cmnFacility__table__inner {
    overflow-y: scroll;
  }
}
.cmnFacility__table table {
  width: 100%;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .cmnFacility__table table {
    width: 90rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnFacility__table table {
    width: 46rem;
  }
}
.cmnFacility__table th,
.cmnFacility__table td {
  background: #fff;
}
.cmnFacility__table tr.logo th {
  padding-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .cmnFacility__table tr.logo th {
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnFacility__table tr.logo th {
    padding-bottom: 1rem;
  }
}
.cmnFacility__table tr.logo th:nth-of-type(1) {
  width: 30rem;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 1024px) {
  .cmnFacility__table tr.logo th:nth-of-type(1) {
    width: 24rem;
  }
}
@media screen and (max-width: 768px) {
  .cmnFacility__table tr.logo th:nth-of-type(1) {
    position: sticky;
    left: 0;
  }
}
@media screen and (max-width: 640px) {
  .cmnFacility__table tr.logo th:nth-of-type(1) {
    width: 10rem;
  }
}
.cmnFacility__table tr.logo th:nth-of-type(2) {
  width: calc(50% - 15rem);
  padding-top: 0.5em;
}
@media screen and (max-width: 1024px) {
  .cmnFacility__table tr.logo th:nth-of-type(2) {
    width: calc(50% - 12rem);
  }
}
@media screen and (max-width: 640px) {
  .cmnFacility__table tr.logo th:nth-of-type(2) {
    width: calc(50% - 6.5rem);
  }
}
.cmnFacility__table tr.logo th:nth-of-type(3) {
  width: calc(50% - 15rem);
  padding-top: 0.5em;
}
@media screen and (max-width: 1024px) {
  .cmnFacility__table tr.logo th:nth-of-type(3) {
    width: calc(50% - 12rem);
  }
}
@media screen and (max-width: 640px) {
  .cmnFacility__table tr.logo th:nth-of-type(3) {
    width: calc(50% - 6.5rem);
  }
}
.cmnFacility__table tr.logo .img img {
  display: block;
  height: 4.6rem;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .cmnFacility__table tr.logo .img img {
    height: 3.45rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnFacility__table tr.logo .img img {
    height: 2.3rem;
  }
}
.cmnFacility__table tr.logo .img figcaption {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-top: 0.75em;
}
@media screen and (max-width: 640px) {
  .cmnFacility__table tr.logo .img figcaption {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnFacility__table tr.logo .img figcaption {
    font-size: 1.2rem;
  }
}
.cmnFacility__table tr:not(.logo) th {
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .cmnFacility__table tr:not(.logo) th {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 768px) {
  .cmnFacility__table tr:not(.logo) th {
    position: sticky;
    left: 0;
  }
}
@media screen and (max-width: 640px) {
  .cmnFacility__table tr:not(.logo) th {
    font-size: 1.2rem;
  }
}
.cmnFacility__table tr:not(.logo) td {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media screen and (max-width: 640px) {
  .cmnFacility__table tr:not(.logo) td {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnFacility__table tr:not(.logo) td {
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 1.2rem;
  }
}
.cmnFacility__table tr:not(.logo) th,
.cmnFacility__table tr:not(.logo) td {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .cmnFacility__table tr:not(.logo) th,
  .cmnFacility__table tr:not(.logo) td {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnFacility__table tr:not(.logo) th,
  .cmnFacility__table tr:not(.logo) td {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmnFacility__table tr:not(.logo) th,
  .cmnFacility__table tr:not(.logo) td {
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnFacility__table tr:not(.logo) th,
  .cmnFacility__table tr:not(.logo) td {
    padding-bottom: 1rem;
  }
}
.cmnFacility__table tr:not(.logo) .blockitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 640px) {
  .cmnFacility__table tr:not(.logo) .blockitem {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.cmnFacility__table tr:not(.logo) .blockitem span {
  width: 9em;
}

/* flow
----------------------------- */
.cmnFlow01 {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .cmnFlow01 {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .cmnFlow01 {
    width: calc(100% - 2rem * 2);
  }
}
.cmnFlow01__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8rem;
}
@media screen and (max-width: 1024px) {
  .cmnFlow01__list {
    gap: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnFlow01__list {
    gap: 4rem;
  }
}
.cmnFlow01 li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.cmnFlow01 li .num {
  color: #e51c18;
  margin-right: 1rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  padding-top: 0.5em;
}
@media screen and (max-width: 640px) {
  .cmnFlow01 li .num {
    padding-top: 0.25em;
  }
}
.cmnFlow01 li .cont {
  width: 100%;
}
.cmnFlow01 li .cont .ttl {
  margin-bottom: 0.75em;
}
.cmnFlow01 li .cont .txtbox {
  max-width: 106.4rem;
}
.cmnFlow01 li .cont .txtbox em {
  font-weight: 700;
}
.cmnFlow01 li .cont.is-note {
  margin-top: 0.5rem;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .cmnFlow01 li .cont.is-note {
    margin-top: 0.375rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnFlow01 li .cont.is-note {
    margin-top: 0.225rem;
  }
}
.cmnFlow01 li .cont.is-note .subttl {
  background: #303030;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0;
  padding: 0.75em 1.75em;
  border-radius: 100vh;
  font-weight: 700;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 640px) {
  .cmnFlow01 li .cont.is-note .subttl {
    font-size: 1.14rem;
  }
}
.cmnFlow01 li .cont.is-note__main {
  max-width: 69rem;
  padding-left: 2rem;
}
.cmnFlow01 li .cont.is-note__ttl {
  margin: 1em 0 0.75em;
}
.cmnFlow01 li .cont.is-note .btn {
  margin: 0 auto;
  margin-top: 3.2rem;
}
@media screen and (max-width: 1024px) {
  .cmnFlow01 li .cont.is-note .btn {
    margin-top: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnFlow01 li .cont.is-note .btn {
    margin-top: 1.44rem;
  }
}

/* access
----------------------------- */
.cmnAccess {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1024px) {
  .cmnAccess {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .cmnAccess {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 768px) {
  .cmnAccess {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.cmnAccess__head {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: min(40%, 30rem);
}
@media screen and (max-width: 768px) {
  .cmnAccess__head {
    margin-bottom: 4rem;
    width: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 1024px) {
  .cmnAccess__head {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 768px) and (max-width: 640px) {
  .cmnAccess__head {
    margin-bottom: 1.8rem;
  }
}
.cmnAccess__head .ttl {
  margin-bottom: 0.75em;
}
.cmnAccess__head .txt {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  .cmnAccess__head .txt {
    font-size: 1.19rem;
  }
}
.cmnAccess .cont {
  width: 100%;
}
.cmnAccess .cont .gmap {
  width: 100%;
  padding-bottom: 8rem;
  margin-bottom: 6rem;
  border-bottom: 1px solid #303030;
}
@media screen and (max-width: 1024px) {
  .cmnAccess .cont .gmap {
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnAccess .cont .gmap {
    padding-bottom: 3.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmnAccess .cont .gmap {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnAccess .cont .gmap {
    margin-bottom: 2.7rem;
  }
}
.cmnAccess .cont .gmap iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 94/58;
}
.cmnAccess .cont .note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.cmnAccess .cont .note .ttl {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 6rem;
}
@media screen and (max-width: 1024px) {
  .cmnAccess .cont .note .ttl {
    padding-right: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnAccess .cont .note .ttl {
    padding-right: 1.5rem;
  }
}
.cmnAccess .cont .note .txt {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  .cmnAccess .cont .note .txt {
    font-size: 1.19rem;
  }
}

/* 
----------------------------- */
.cmnPostSlider {
  position: relative;
}
.cmnPostSlider__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8rem;
}
@media screen and (max-width: 1024px) {
  .cmnPostSlider__inner {
    gap: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .cmnPostSlider__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.cmnPostSlider__head {
  background: #f0eae1;
  padding: 10rem;
  width: 44%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  border-radius: 0 0 10rem 0;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 1024px) {
  .cmnPostSlider__head {
    padding: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnPostSlider__head {
    padding: 4.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmnPostSlider__head {
    border-radius: 0 0 7.5rem 0;
  }
}
@media screen and (max-width: 640px) {
  .cmnPostSlider__head {
    border-radius: 0 0 5rem 0;
  }
}
@media screen and (max-width: 1024px) {
  .cmnPostSlider__head {
    width: 47%;
  }
}
@media screen and (max-width: 768px) {
  .cmnPostSlider__head {
    width: calc(100% - 4rem);
  }
}
@media screen and (max-width: 640px) {
  .cmnPostSlider__head {
    width: calc(100% - 2rem);
    padding: 3.6rem 4rem 3.6rem 2rem;
  }
}
.cmnPostSlider__main {
  padding: 8rem 0;
  width: calc(56% - 8rem);
}
@media screen and (max-width: 1024px) {
  .cmnPostSlider__main {
    width: calc(56% - 4rem);
  }
}
@media screen and (max-width: 768px) {
  .cmnPostSlider__main {
    padding: 4rem 0;
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .cmnPostSlider__main {
    padding-top: 0;
  }
}
.cmnPostSlider__nav {
  position: absolute;
  bottom: 0;
  right: 10rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 1024px) {
  .cmnPostSlider__nav {
    position: relative;
    right: auto;
    bottom: auto;
    margin-left: auto;
    margin-right: 4rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnPostSlider__nav {
    margin-right: 2rem;
  }
}
.cmnPostSlider__ttl {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.cmnPostSlider__ttl .en,
.cmnPostSlider__ttl .ja {
  text-align: left;
  margin-left: 0;
  color: #303030;
}
.cmnPostSlider__txt {
  max-width: 36rem;
  margin-top: 4rem;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .cmnPostSlider__txt {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnPostSlider__txt {
    margin-top: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnPostSlider__txt {
    font-size: 1.36rem;
  }
}
.cmnPostSlider__btn {
  margin-top: auto;
}
@media screen and (max-width: 768px) {
  .cmnPostSlider__btn {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 768px) and (max-width: 1024px) {
  .cmnPostSlider__btn {
    margin-top: 4.5rem;
  }
}
@media screen and (max-width: 768px) and (max-width: 640px) {
  .cmnPostSlider__btn {
    margin-top: 2.7rem;
  }
}

.cmnSupportLink {
  display: -ms-grid;
  display: grid;
  gap: 2rem;
  -ms-grid-columns: 1fr 2rem 1fr;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 1024px) {
  .cmnSupportLink {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnSupportLink {
    gap: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .cmnSupportLink {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.cmnSupportLink a {
  background: var(--data-color);
  padding: 3rem;
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 28rem 3rem 1fr;
  grid-template-columns: 28rem 1fr;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 3rem;
  color: #fff;
}
@media screen and (max-width: 1024px) {
  .cmnSupportLink a {
    padding: 2.25rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnSupportLink a {
    padding: 1.35rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmnSupportLink a {
    gap: 2.25rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnSupportLink a {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmnSupportLink a {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 640px) {
  .cmnSupportLink a {
    padding: 3.6rem 2rem 2rem;
  }
}
@media (any-hover: hover) {
  .cmnSupportLink a:hover .img img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  .cmnSupportLink a:hover .btn .icon svg {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}
.cmnSupportLink a .img {
  width: 28rem;
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .cmnSupportLink a .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnSupportLink a .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
.cmnSupportLink a .img img {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .cmnSupportLink a .img {
    margin: 0 auto;
    width: 100%;
  }
}
.cmnSupportLink a .img img {
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
.cmnSupportLink a .ttl {
  font-size: 4rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FFFFFF;
  position: absolute;
  left: 4rem;
  bottom: 3.2rem;
}
@media screen and (max-width: 640px) {
  .cmnSupportLink a .ttl {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmnSupportLink a .ttl {
    position: relative;
    left: auto;
    bottom: auto;
    margin-right: auto;
  }
}
.cmnSupportLink a .logo img {
  display: block;
  height: 4.5rem;
}
@media screen and (max-width: 1024px) {
  .cmnSupportLink a .logo img {
    height: 3.375rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnSupportLink a .logo img {
    height: 2.25rem;
  }
}
.cmnSupportLink a .logo figcaption {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-top: 1rem;
  color: #fff;
}
@media screen and (max-width: 640px) {
  .cmnSupportLink a .logo figcaption {
    font-size: 1.36rem;
  }
}
.cmnSupportLink a .btn {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
}
@media screen and (max-width: 1024px) {
  .cmnSupportLink a .btn {
    grid-column: auto;
  }
}
.cmnSupportLink a .btn .icon {
  border-color: #fff;
}
.cmnSupportLink a .btn path {
  fill: #fff;
}

.cmnUgLink {
  background: #f0eae1;
}
.cmnUgLink a {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr min(50%, 63rem);
  grid-template-columns: 1fr min(50%, 63rem);
}
@media screen and (max-width: 768px) {
  .cmnUgLink a {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media (any-hover: hover) {
  .cmnUgLink a:hover .img img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  .cmnUgLink a:hover .btn .icon svg {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}
.cmnUgLink a .cont {
  padding: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .cmnUgLink a .cont {
    padding: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnUgLink a .cont {
    padding: 1.8rem;
  }
}
.cmnUgLink a .cont .ttl {
  margin-bottom: 3rem;
}
@media screen and (max-width: 1024px) {
  .cmnUgLink a .cont .ttl {
    margin-bottom: 2.25rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnUgLink a .cont .ttl {
    margin-bottom: 1.35rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnUgLink a .cont {
    padding: 3.6rem 2rem 2rem;
  }
}
.cmnUgLink a .cont .txt {
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .cmnUgLink a .cont .txt {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnUgLink a .cont .txt {
    margin-bottom: 2.7rem;
  }
}
.cmnUgLink a .cont .btn {
  margin-top: auto;
}
.cmnUgLink .img {
  overflow: hidden;
}
.cmnUgLink .img img {
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}

/*******************************

    CMN MODAL

*******************************/
.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  mix-blend-mode: overlay;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.modal__container {
  overflow-y: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.modal__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.modal__close {
  background: transparent;
  border: 0;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  aspect-ratio: 1/1;
  position: absolute;
  right: 5rem;
  top: 5rem;
}
@media screen and (max-width: 768px) {
  .modal__close {
    right: 2rem;
    top: 2rem;
  }
}
.modal__close .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.modal__close .icon::before, .modal__close .icon::after {
  content: "";
  width: 3rem;
  height: 1px;
  display: block;
  background: #fff;
}
@media screen and (max-width: 640px) {
  .modal__close .icon::before, .modal__close .icon::after {
    width: 1.75rem;
  }
}
.modal__close .icon::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  position: absolute;
}
.modal__close .icon::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.modal__header .modal__close:before {
  content: "✕";
}

.modal__btn {
  font-size: 0.875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background-color: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  border-radius: 0.25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: -webkit-transform 0.25s ease-out;
  -webkit-transition: -webkit-transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}

.modal__btn:focus,
.modal__btn:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}

/**************************\
  Demo Animation Style
\**************************/
@-webkit-keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes mmslideIn {
  from {
    -webkit-transform: translateY(15%);
            transform: translateY(15%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes mmslideIn {
  from {
    -webkit-transform: translateY(15%);
            transform: translateY(15%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
}
@keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
  position: relative;
  z-index: 99999;
}

.micromodal-slide[aria-hidden=false] .modal__overlay {
  -webkit-animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] .modal__container {
  -webkit-animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__overlay {
  -webkit-animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__container {
  -webkit-animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

/*******************************

    MODAL SETTINGS

*******************************/
.micromodal-slide .simplebar-scrollbar::before {
  background: #7199ca;
  border-radius: 0;
  width: 2px;
  margin-left: 0;
  margin-top: 0;
  border-radius: 2px;
  left: 0;
  top: 0 !important;
  bottom: 0 !important;
}
.micromodal-slide .simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}
.micromodal-slide .simplebar-track {
  right: -4rem;
  background: #D7C6BC;
  width: 2px !important;
  border-radius: 2px;
}
@media screen and (max-width: 768px) {
  .micromodal-slide .simplebar-track {
    right: -2.4rem;
  }
}

.modal__content {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  max-height: 72rem;
  background: #f0eae1;
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .modal__content {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .modal__content {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .modal__content {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .modal__content {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 768px) {
  .modal__content {
    width: 40rem;
    max-height: 90vh;
  }
}
@media screen and (max-width: 640px) {
  .modal__content {
    width: 33.5rem;
    max-height: 85vh;
  }
}
.modal__content .cont {
  padding: 4rem 8rem;
}
.modal__content .cont__inner {
  height: 100%;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.modal__content .cont__inner::-webkit-scrollbar {
  display: none;
}

/*******************************

    TOP

*******************************/
.topKv {
  width: 100%;
  aspect-ratio: 1440/620;
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .topKv {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .topKv {
    margin-bottom: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .topKv {
    aspect-ratio: 1/1;
  }
}
.topKv img,
.topKv video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.topKvBottomNews {
  margin-bottom: 16rem;
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1024px) {
  .topKvBottomNews {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .topKvBottomNews {
    margin-bottom: 7.2rem;
  }
}
@media screen and (max-width: 1024px) {
  .topKvBottomNews {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .topKvBottomNews {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .topKvBottomNews {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2rem;
  }
}
.topKvBottomNews__head {
  width: min(100%, 34rem);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (max-width: 1024px) {
  .topKvBottomNews__head {
    width: min(100%, 28rem);
  }
}
.topKvBottomNews__head .ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 2rem;
}
@media screen and (max-width: 640px) {
  .topKvBottomNews__head .ttl {
    gap: 1rem;
  }
}
.topKvBottomNews__head .ttl .en {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  padding-bottom: 0.5em;
  color: #e51c18;
}
@media screen and (max-width: 640px) {
  .topKvBottomNews__head .ttl .en {
    font-size: 1.19rem;
  }
}
.topKvBottomNews__head .ttl .ja {
  font-size: 3.2rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .topKvBottomNews__head .ttl .ja {
    font-size: 2.4rem;
  }
}
.topKvBottomNews__main {
  width: 100%;
}

/* philosophy
----------------------------- */
.topPhilos {
  margin-bottom: 24rem;
}
@media screen and (max-width: 1024px) {
  .topPhilos {
    margin-bottom: 18rem;
  }
}
@media screen and (max-width: 640px) {
  .topPhilos {
    margin-bottom: 10.8rem;
  }
}
.topPhilos__slide__wrap {
  margin-bottom: 6.8rem;
}
@media screen and (max-width: 1024px) {
  .topPhilos__slide__wrap {
    margin-bottom: 5.1rem;
  }
}
@media screen and (max-width: 640px) {
  .topPhilos__slide__wrap {
    margin-bottom: 3.06rem;
  }
}
.topPhilos__inner {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 1024px) {
  .topPhilos__inner {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .topPhilos__inner {
    width: calc(100% - 2rem * 2);
  }
}
.topPhilos__inner .ttl {
  text-align: center;
  font-size: 4.2rem;
  line-height: 2;
  letter-spacing: 0.16em;
  margin-bottom: 5.8rem;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .topPhilos__inner .ttl {
    font-size: 2.73rem;
  }
}
@media screen and (max-width: 1024px) {
  .topPhilos__inner .ttl {
    margin-bottom: 4.35rem;
  }
}
@media screen and (max-width: 640px) {
  .topPhilos__inner .ttl {
    margin-bottom: 2.61rem;
  }
}
.topPhilos__inner .ttl .ttlbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 0.25em;
}
.topPhilos__inner .ttl .ttlbox .item {
  color: var(--data-color);
}
.topPhilos__inner .txtbox {
  font-size: 2rem;
  line-height: 2.4;
  letter-spacing: 0.1em;
  margin-bottom: 8rem;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .topPhilos__inner .txtbox {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .topPhilos__inner .txtbox {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .topPhilos__inner .txtbox {
    margin-bottom: 3.6rem;
  }
}
.topPhilos__inner .txtbox p + p {
  margin-top: 1.5em;
}
.topPhilos__inner .btn {
  margin: 0 auto;
}

/* first
----------------------------- */
.topFirst {
  background: #f0eae1;
  padding-top: 8rem;
  padding-bottom: 8rem;
  padding-right: 10rem;
  padding-left: 10rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 50% 8rem 1fr;
  grid-template-columns: 50% 1fr;
  gap: 8rem;
}
@media screen and (max-width: 1024px) {
  .topFirst {
    padding-top: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .topFirst {
    padding-top: 3.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .topFirst {
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .topFirst {
    padding-bottom: 3.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .topFirst {
    padding-right: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topFirst {
    padding-right: 4.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .topFirst {
    padding-left: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topFirst {
    padding-left: 4.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .topFirst {
    gap: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .topFirst {
    gap: 4rem;
  }
}
@media screen and (max-width: 1024px) {
  .topFirst {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 640px) {
  .topFirst {
    padding: 3.6rem 2rem;
  }
}
.topFirst__main .ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .topFirst__main .ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .topFirst__main .ttl {
    margin-bottom: 1.8rem;
  }
}
.topFirst__main .txtbox {
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .topFirst__main .txtbox {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topFirst__main .txtbox {
    margin-bottom: 2.7rem;
  }
}
.topFirst__main .txtbox p + p {
  margin-top: 1.5em;
}
.topFirst__main .btns {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 3rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
@media screen and (max-width: 1024px) {
  .topFirst__main .btns {
    gap: 2.25rem;
  }
}
@media screen and (max-width: 640px) {
  .topFirst__main .btns {
    gap: 1.5rem;
  }
}
.topFirst__main .btns a {
  display: block;
}
.topFirst__main .btns a figure img {
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  -webkit-transform: scale(1.005);
          transform: scale(1.005);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media (any-hover: hover) {
  .topFirst__main .btns a:hover figure img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.topFirst__main .btns .img {
  aspect-ratio: 4/3;
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 1024px) {
  .topFirst__main .btns .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topFirst__main .btns .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .topFirst__main .btns .img {
    margin-bottom: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .topFirst__main .btns .img {
    margin-bottom: 1.08rem;
  }
}
.topFirst__main .btns .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.topFirst__main .btns .cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.topFirst__main .btns .cont .txt {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .topFirst__main .btns .cont .txt {
    font-size: 1.19rem;
  }
}
.topFirst__main .btns .cont .icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.topFirst__img {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .topFirst__img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topFirst__img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .topFirst__img {
    aspect-ratio: 1/1;
  }
}
.topFirst__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* support
----------------------------- */
.topSupport {
  margin-bottom: 16rem;
  margin-top: 24rem;
}
@media screen and (max-width: 1024px) {
  .topSupport {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport {
    margin-bottom: 7.2rem;
  }
}
@media screen and (max-width: 1024px) {
  .topSupport {
    margin-top: 18rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport {
    margin-top: 10.8rem;
  }
}
.topSupport__ttl {
  margin-bottom: 4.4rem;
}
@media screen and (max-width: 1024px) {
  .topSupport__ttl {
    margin-bottom: 3.3rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__ttl {
    margin-bottom: 1.98rem;
  }
}
.topSupport__mainslide {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .topSupport__mainslide {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__mainslide {
    margin-bottom: 1.8rem;
  }
}
.topSupport__mainslide .swiper-slide {
  height: auto;
}
.topSupport__mainslide__item__inner {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 50rem;
  grid-template-columns: 1fr 50rem;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  .topSupport__mainslide__item__inner {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__mainslide__item__inner {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 768px) {
  .topSupport__mainslide__item__inner {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__mainslide__item__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr 24rem;
    grid-template-rows: 1fr 24rem;
  }
  .topSupport__mainslide__item__inner > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .topSupport__mainslide__item__inner > *:nth-child(2) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
}
.topSupport__mainslide__item .cont {
  background: var(--data-color);
  padding: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .topSupport__mainslide__item .cont {
    padding: 3rem 4rem 3rem 2rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__mainslide__item .cont {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    height: calc(100% + 1rem);
    padding: 3rem 2rem;
  }
}
.topSupport__mainslide__item .cont .num {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-bottom: 4.4rem;
}
@media screen and (max-width: 640px) {
  .topSupport__mainslide__item .cont .num {
    font-size: 1.19rem;
  }
}
@media screen and (max-width: 1024px) {
  .topSupport__mainslide__item .cont .num {
    margin-bottom: 3.3rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__mainslide__item .cont .num {
    margin-bottom: 1.98rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__mainslide__item .cont .num {
    margin-bottom: 0.5em;
  }
}
.topSupport__mainslide__item .cont .ttl {
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 4rem;
}
@media screen and (max-width: 640px) {
  .topSupport__mainslide__item .cont .ttl {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .topSupport__mainslide__item .cont .ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__mainslide__item .cont .ttl {
    margin-bottom: 1.8rem;
  }
}
.topSupport__mainslide__item .cont .txt {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-bottom: auto;
  margin-bottom: 4rem;
}
@media screen and (max-width: 640px) {
  .topSupport__mainslide__item .cont .txt {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 1024px) {
  .topSupport__mainslide__item .cont .txt {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__mainslide__item .cont .txt {
    margin-bottom: 1.8rem;
  }
}
.topSupport__mainslide__item .cont .btn {
  max-width: 24rem;
}
@media screen and (max-width: 640px) {
  .topSupport__mainslide__item .cont .btn {
    max-width: 16rem;
    margin-top: auto;
  }
}
.topSupport__mainslide__item .img {
  width: calc(100% + 2rem);
  height: 100%;
  margin-left: -2rem;
  position: relative;
  z-index: 1;
  border-radius: 2rem 0 0 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .topSupport__mainslide__item .img {
    border-radius: 1.5rem 0 0 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__mainslide__item .img {
    border-radius: 1rem 0 0 1rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__mainslide__item .img {
    width: 100%;
    margin-left: 0;
    border-radius: 1rem 1rem 0 0;
  }
}
.topSupport__mainslide__item .img img {
  width: 100%;
  height: 115%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .topSupport__mainslide__item .img img {
    height: 100%;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__mainslide__item .img img {
    -o-object-position: center top;
       object-position: center top;
  }
}
.topSupport__thumbslide {
  max-width: calc(102rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .topSupport__thumbslide {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .topSupport__thumbslide {
    width: calc(100% - 2rem * 2);
  }
}
.topSupport__thumbslide__item__inner {
  position: relative;
  aspect-ratio: 240/130;
}
@media screen and (max-width: 640px) {
  .topSupport__thumbslide__item__inner {
    aspect-ratio: auto;
  }
}
.topSupport__thumbslide__item__inner .cont {
  background: var(--data-color);
  text-align: center;
  width: 50%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  padding-right: 1rem;
}
@media screen and (max-width: 640px) {
  .topSupport__thumbslide__item__inner .cont {
    aspect-ratio: 3/2;
    width: 100%;
    padding-right: 0;
  }
}
.topSupport__thumbslide__item__inner .txt {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .topSupport__thumbslide__item__inner .txt {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__thumbslide__item__inner .txt {
    line-height: 1.25;
  }
}
.topSupport__thumbslide__item__inner .img {
  position: absolute;
  width: calc(50% + 1rem);
  border-radius: 1rem 0 0 1rem;
  overflow: hidden;
  right: 0;
  top: 0;
  height: 100%;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .topSupport__thumbslide__item__inner .img {
    border-radius: 0.75rem 0 0 0.75rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__thumbslide__item__inner .img {
    border-radius: 0.5rem 0 0 0.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__thumbslide__item__inner .img {
    position: relative;
    width: 100%;
    height: auto;
    left: auto;
    top: auto;
    aspect-ratio: 4/3;
    margin-top: -0.5rem;
    border-radius: 0.5rem 0.5rem 0 0;
  }
}
.topSupport__thumbslide__item__inner .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 640px) {
  .topSupport__thumbslide__item__inner .img img {
    -o-object-position: center top;
       object-position: center top;
  }
}
.topSupport__thumbslide .swiper-slide {
  cursor: pointer;
  -webkit-transition: ease 0.6s;
  transition: ease 0.6s;
  border-radius: 1rem 1rem 1rem 1rem;
  overflow: hidden;
  position: relative;
  overflow: hidden;
}
@media (any-hover: hover) {
  .topSupport__thumbslide .swiper-slide:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 1024px) {
  .topSupport__thumbslide .swiper-slide {
    border-radius: 0.75rem 0.75rem 0.75rem 0.75rem;
  }
}
@media screen and (max-width: 640px) {
  .topSupport__thumbslide .swiper-slide {
    border-radius: 0.5rem 0.5rem 0.5rem 0.5rem;
  }
}
.topSupport__thumbslide .swiper-slide::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.5);
  -webkit-transition: background 0.6s ease;
  transition: background 0.6s ease;
  z-index: 2;
}
.topSupport__thumbslide .swiper-slide.swiper-slide-thumb-active::after {
  background: rgba(0, 0, 0, 0);
}

/* feature
----------------------------- */
.topFeature {
  background: #efce43;
  padding: 16rem 10rem;
  position: relative;
  margin-bottom: 24rem;
}
@media screen and (max-width: 1024px) {
  .topFeature {
    margin-bottom: 18rem;
  }
}
@media screen and (max-width: 640px) {
  .topFeature {
    margin-bottom: 10.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .topFeature {
    padding: 12rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .topFeature {
    padding: 16rem 4rem;
  }
}
@media screen and (max-width: 640px) {
  .topFeature {
    padding: 8rem 2rem;
    margin-top: 10rem;
    margin-bottom: 16rem;
  }
}
.topFeature__inner {
  position: relative;
  margin: 0 auto;
  max-width: 50rem;
}
.topFeature__ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .topFeature__ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .topFeature__ttl {
    margin-bottom: 1.8rem;
  }
}
.topFeature .txtbox {
  text-align: center;
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 1024px) {
  .topFeature .txtbox {
    margin-bottom: 3.6rem;
  }
}
@media screen and (max-width: 640px) {
  .topFeature .txtbox {
    margin-bottom: 2.16rem;
  }
}
.topFeature .txtbox p + p {
  margin-top: 1.5em;
}
.topFeature .btn {
  margin: 0 auto;
}
.topFeature__img01 {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  position: absolute;
  left: 10rem;
  top: 6rem;
  width: 26rem;
}
@media screen and (max-width: 1024px) {
  .topFeature__img01 {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topFeature__img01 {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .topFeature__img01 {
    left: 5rem;
  }
}
@media screen and (max-width: 640px) {
  .topFeature__img01 {
    left: 5rem;
  }
}
@media screen and (max-width: 1024px) {
  .topFeature__img01 {
    top: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .topFeature__img01 {
    top: 3rem;
  }
}
@media screen and (max-width: 1024px) {
  .topFeature__img01 {
    width: 16.9rem;
  }
}
@media screen and (max-width: 640px) {
  .topFeature__img01 {
    width: 10.4rem;
  }
}
@media screen and (max-width: 768px) {
  .topFeature__img01 {
    left: 0;
    top: 0;
  }
}
@media screen and (max-width: 640px) {
  .topFeature__img01 {
    top: -2rem;
  }
}
.topFeature__img02 {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  position: absolute;
  right: 10rem;
  bottom: 4rem;
  width: 30rem;
}
@media screen and (max-width: 1024px) {
  .topFeature__img02 {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topFeature__img02 {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .topFeature__img02 {
    right: 5rem;
  }
}
@media screen and (max-width: 640px) {
  .topFeature__img02 {
    right: 5rem;
  }
}
@media screen and (max-width: 1024px) {
  .topFeature__img02 {
    bottom: 2rem;
  }
}
@media screen and (max-width: 640px) {
  .topFeature__img02 {
    bottom: 2rem;
  }
}
@media screen and (max-width: 1024px) {
  .topFeature__img02 {
    width: 19.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topFeature__img02 {
    width: 13.5rem;
  }
}
@media screen and (max-width: 768px) {
  .topFeature__img02 {
    bottom: -8rem;
    right: 2rem;
  }
}
@media screen and (max-width: 640px) {
  .topFeature__img02 {
    bottom: -15rem;
  }
}

/* program
----------------------------- */
.topProgram__head {
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .topProgram__head {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .topProgram__head {
    margin-bottom: 7.2rem;
  }
}
.topProgram__head__logo {
  width: 80rem;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .topProgram__head__logo {
    width: 60rem;
  }
}
@media screen and (max-width: 640px) {
  .topProgram__head__logo {
    width: 28rem;
  }
}
@media screen and (max-width: 1024px) {
  .topProgram__head__logo {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topProgram__head__logo {
    margin-bottom: 2.7rem;
  }
}
.topProgram__head .ttl {
  text-align: center;
}
.topProgram__plan {
  margin-bottom: 16rem;
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 55rem 8rem 1fr;
  grid-template-columns: 55rem 1fr;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 8rem;
}
@media screen and (max-width: 1024px) {
  .topProgram__plan {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .topProgram__plan {
    margin-bottom: 7.2rem;
  }
}
@media screen and (max-width: 1024px) {
  .topProgram__plan {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .topProgram__plan {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .topProgram__plan {
    gap: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .topProgram__plan {
    gap: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .topProgram__plan {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.topProgram__plan .ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .topProgram__plan .ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .topProgram__plan .ttl {
    margin-bottom: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .topProgram__plan .txt {
    font-size: 1.36rem;
  }
}
.topProgram__plan .img {
  width: min(100%, 49.3rem);
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .topProgram__plan .img {
    margin: 0 auto;
    width: min(100%, 40rem);
  }
}
@media screen and (max-width: 640px) {
  .topProgram__plan .img {
    max-width: 24rem;
  }
}
.topProgram__plan .img svg {
  width: 100%;
}
.topProgram__slide {
  margin-bottom: 24rem;
}
@media screen and (max-width: 1024px) {
  .topProgram__slide {
    margin-bottom: 18rem;
  }
}
@media screen and (max-width: 640px) {
  .topProgram__slide {
    margin-bottom: 10.8rem;
  }
}
.topProgram__age {
  position: relative;
}
.topProgram__age__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1025px) {
  .topProgram__age__item {
    height: calc(100vh - 10rem);
    overflow: hidden;
  }
}
@media screen and (max-width: 1024px) {
  .topProgram__age__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .topProgram__age__item {
    gap: 3.2rem;
  }
}
.topProgram__age__item:not(:last-of-type) {
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .topProgram__age__item:not(:last-of-type) {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topProgram__age__item:not(:last-of-type) {
    margin-bottom: 2.7rem;
  }
}
@media screen and (max-width: 640px) {
  .topProgram__age__item:not(:last-of-type) {
    margin-bottom: 4.8rem;
  }
}
.topProgram__age__cont {
  background: var(--data-color);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 0 2rem 2rem 0;
  overflow: hidden;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (max-width: 1024px) {
  .topProgram__age__cont {
    border-radius: 0 1.5rem 1.5rem 0;
  }
}
@media screen and (max-width: 640px) {
  .topProgram__age__cont {
    border-radius: 0 1rem 1rem 0;
  }
}
@media screen and (min-width: 1025px) {
  .topProgram__age__cont {
    padding-bottom: 4rem;
    width: 37.5%;
    height: 100%;
    z-index: 2;
  }
}
@media screen and (max-width: 1024px) {
  .topProgram__age__cont {
    max-width: calc(124rem);
    width: calc(100% - 6rem * 2);
    margin-left: auto;
    margin-right: auto;
    padding: 6rem;
    border-radius: 2rem 2rem 2rem 2rem;
    overflow: hidden;
    overflow: visible;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .topProgram__age__cont {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 1024px) and (max-width: 640px) {
  .topProgram__age__cont {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .topProgram__age__cont {
    padding: 4.5rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 640px) {
  .topProgram__age__cont {
    padding: 2.7rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .topProgram__age__cont {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 640px) {
  .topProgram__age__cont {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
.topProgram__age__cont__inner {
  color: #fff;
}
@media screen and (min-width: 1025px) {
  .topProgram__age__cont__inner {
    max-width: 34rem;
    margin: 0 auto;
  }
}
.topProgram__age__cont .logo {
  width: auto;
  height: 4.8rem;
  margin-bottom: min(7vh, 5.6rem);
}
@media screen and (max-width: 1024px) {
  .topProgram__age__cont .logo {
    height: 3.6rem;
  }
}
@media screen and (max-width: 640px) {
  .topProgram__age__cont .logo {
    height: 2.4rem;
  }
}
@media screen and (max-width: 1024px) {
  .topProgram__age__cont .logo {
    margin-bottom: 5.6rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .topProgram__age__cont .logo {
    margin-bottom: 4.2rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 640px) {
  .topProgram__age__cont .logo {
    margin-bottom: 2.52rem;
  }
}
.topProgram__age__cont .logo img {
  width: auto;
  height: 100%;
}
.topProgram__age__cont .ttl {
  margin-bottom: min(7vh, 5.6rem);
}
@media screen and (max-width: 1024px) {
  .topProgram__age__cont .ttl {
    margin-bottom: 5.6rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .topProgram__age__cont .ttl {
    margin-bottom: 4.2rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 640px) {
  .topProgram__age__cont .ttl {
    margin-bottom: 2.52rem;
  }
}
.topProgram__age__cont .ttl span {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  display: block;
  margin-bottom: 0.75em;
}
@media screen and (max-width: 640px) {
  .topProgram__age__cont .ttl span {
    font-size: 1.36rem;
  }
}
.topProgram__age__cont .ttl em {
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: block;
}
@media screen and (max-width: 640px) {
  .topProgram__age__cont .ttl em {
    font-size: 1.8rem;
  }
}
.topProgram__age__cont .txt {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-bottom: min(10vh, 8.8rem);
}
@media screen and (max-width: 640px) {
  .topProgram__age__cont .txt {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 1024px) {
  .topProgram__age__cont .txt {
    margin-bottom: 8.8rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .topProgram__age__cont .txt {
    margin-bottom: 6.6rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 640px) {
  .topProgram__age__cont .txt {
    margin-bottom: 3.96rem;
  }
}
.topProgram__age__slide {
  width: 40rem;
  margin: 0 auto;
  position: relative;
  padding-bottom: 2em;
}
@media screen and (max-width: 640px) {
  .topProgram__age__slide {
    width: calc(100% - 8rem);
  }
}
.topProgram__age__slide .swiper-slide {
  height: auto !important;
}
.topProgram__age__slide__item {
  height: 100%;
}
.topProgram__age__slide__item .img {
  aspect-ratio: 4/5;
  position: relative;
  overflow: hidden;
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .topProgram__age__slide__item .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topProgram__age__slide__item .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
.topProgram__age__slide__item .txt {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-top: 1em;
  display: block;
}
@media screen and (max-width: 640px) {
  .topProgram__age__slide__item .txt {
    font-size: 1.19rem;
  }
}
.topProgram__age__slide__num {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 640px) {
  .topProgram__age__slide__num {
    font-size: 1.19rem;
  }
}

/* media
----------------------------- */
.topMedia {
  overflow: hidden;
  padding-top: 24rem;
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .topMedia {
    padding-top: 18rem;
  }
}
@media screen and (max-width: 640px) {
  .topMedia {
    padding-top: 10.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .topMedia {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .topMedia {
    margin-bottom: 7.2rem;
  }
}
.topMedia__head {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .topMedia__head {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .topMedia__head {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .topMedia__head {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topMedia__head {
    margin-bottom: 4.5rem;
  }
}
.topMedia__head .ttl picture {
  display: block;
  width: 90rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .topMedia__head .ttl picture {
    width: 67.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topMedia__head .ttl picture {
    width: 45rem;
  }
}
@media screen and (max-width: 1024px) {
  .topMedia__head .ttl picture {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .topMedia__head .ttl picture {
    margin-bottom: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .topMedia__head .ttl picture {
    width: 25rem;
    margin: 0 auto;
  }
}
.topMedia__head .ttl figcaption {
  font-weight: 800;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-top: 0.75em;
}
@media screen and (max-width: 640px) {
  .topMedia__head .ttl figcaption {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 640px) {
  .topMedia__head .ttl figcaption {
    text-align: center;
  }
}
.topMedia__btnbox {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  margin-top: 8rem;
}
@media screen and (max-width: 1024px) {
  .topMedia__btnbox {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .topMedia__btnbox {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .topMedia__btnbox {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .topMedia__btnbox {
    margin-top: 3.6rem;
  }
}
.topMedia__btnbox .btn {
  margin-left: auto;
}

.topMediaItem:not(:first-of-type) {
  margin-top: 12rem;
}
@media screen and (max-width: 1024px) {
  .topMediaItem:not(:first-of-type) {
    margin-top: 9rem;
  }
}
@media screen and (max-width: 640px) {
  .topMediaItem:not(:first-of-type) {
    margin-top: 5.4rem;
  }
}
.topMediaItem__head {
  background: var(--data-color);
}

.mediaspacer {
  display: block;
  padding-top: 24rem;
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .mediaspacer {
    padding-top: 18rem;
  }
}
@media screen and (max-width: 640px) {
  .mediaspacer {
    padding-top: 10.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .mediaspacer {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .mediaspacer {
    margin-bottom: 7.2rem;
  }
}

/* news,info
----------------------------- */
.topNews,
.topInfo {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 26rem 8rem 1fr;
  grid-template-columns: 26rem 1fr;
  gap: 8rem;
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .topNews,
  .topInfo {
    gap: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .topNews,
  .topInfo {
    gap: 4rem;
  }
}
@media screen and (max-width: 1024px) {
  .topNews,
  .topInfo {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .topNews,
  .topInfo {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 768px) {
  .topNews,
  .topInfo {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}

/* news
----------------------------- */
.topNews {
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .topNews {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .topNews {
    margin-bottom: 7.2rem;
  }
}
.topNews__main__tablist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6rem;
  margin-bottom: 6rem;
  padding-left: 1.8rem;
}
@media screen and (max-width: 1024px) {
  .topNews__main__tablist {
    gap: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topNews__main__tablist {
    gap: 3.9rem;
  }
}
@media screen and (max-width: 1024px) {
  .topNews__main__tablist {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topNews__main__tablist {
    margin-bottom: 2.7rem;
  }
}
.topNews__main__tablist li {
  font-weight: 700;
}
.topNews__main__tablist li button {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.15em;
  border-bottom: 1px solid #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 640px) {
  .topNews__main__tablist li button {
    font-size: 1.2rem;
  }
}
.topNews__main__tablist li button::before {
  content: "";
  display: block;
  width: 0.8rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: absolute;
  background: #fff;
  left: -1.8rem;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media (any-hover: hover) {
  .topNews__main__tablist li button {
    -webkit-transition: 0.6s ease;
    transition: 0.6s ease;
    cursor: pointer;
  }
  .topNews__main__tablist li button:hover {
    color: #174a9d;
    border-color: #174a9d;
  }
  .topNews__main__tablist li button:hover::before {
    background: #174a9d;
  }
}
.topNews__main__tablist li button[aria-selected=true] {
  color: #e51c18;
  border-color: #e51c18;
}
.topNews__main__tablist li button[aria-selected=true]::before {
  background: #e51c18;
}
.topNews__main__btn {
  margin-top: 8rem;
  margin-left: auto;
}
@media screen and (max-width: 1024px) {
  .topNews__main__btn {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .topNews__main__btn {
    margin-top: 3.6rem;
  }
}

/* info
----------------------------- */
.topInfoFacility {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .topInfoFacility {
    gap: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .topInfoFacility {
    gap: 4rem;
  }
}
@media screen and (max-width: 1024px) {
  .topInfoFacility {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .topInfoFacility {
    margin-bottom: 7.2rem;
  }
}
@media screen and (max-width: 1024px) {
  .topInfoFacility {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.topInfoFacility__ttl {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.topInfoFacility__main {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 8rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 8rem;
}
@media screen and (max-width: 1024px) {
  .topInfoFacility__main {
    gap: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .topInfoFacility__main {
    gap: 4rem;
  }
}
@media screen and (max-width: 640px) {
  .topInfoFacility__main {
    gap: 2rem;
  }
}
.topInfoFacility__main .img {
  margin-bottom: 5.6rem;
}
@media screen and (max-width: 1024px) {
  .topInfoFacility__main .img {
    margin-bottom: 4.2rem;
  }
}
@media screen and (max-width: 640px) {
  .topInfoFacility__main .img {
    margin-bottom: 2.52rem;
  }
}
.topInfoFacility__main .img img {
  display: block;
  height: 4.6rem;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .topInfoFacility__main .img img {
    height: 3.45rem;
  }
}
@media screen and (max-width: 640px) {
  .topInfoFacility__main .img img {
    height: 2.3rem;
  }
}
.topInfoFacility__main .img figcaption {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-top: 0.75em;
}
@media screen and (max-width: 640px) {
  .topInfoFacility__main .img figcaption {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 640px) {
  .topInfoFacility__main .img figcaption {
    font-size: 1.2rem;
  }
}
.topInfoFacility__main .list dt {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 1rem;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .topInfoFacility__main .list dt {
    font-size: 1.36rem;
  }
}
.topInfoFacility__main .list dd {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .topInfoFacility__main .list dd {
    font-size: 1.36rem;
  }
}
.topInfoFacility__main .list dd + dt {
  margin-top: 5.6rem;
}
@media screen and (max-width: 1024px) {
  .topInfoFacility__main .list dd + dt {
    margin-top: 4.2rem;
  }
}
@media screen and (max-width: 640px) {
  .topInfoFacility__main .list dd + dt {
    margin-top: 2.52rem;
  }
}
.topInfoFacility__main .list .blockitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .topInfoFacility__main .list .blockitem {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.topInfoFacility__main .list .blockitem span {
  display: block;
  width: 9em;
}

.topInfoAccess {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: min(100%, 30rem) 1fr;
  grid-template-columns: min(100%, 30rem) 1fr;
}
@media screen and (max-width: 1024px) {
  .topInfoAccess {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.topInfoAccess__head {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .topInfoAccess__head {
    margin-bottom: 4rem;
    width: 100%;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .topInfoAccess__head {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 640px) {
  .topInfoAccess__head {
    margin-bottom: 1.8rem;
  }
}
.topInfoAccess__head .ttl {
  margin-bottom: 0.75em;
}
.topInfoAccess__head .txt {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  .topInfoAccess__head .txt {
    font-size: 1.19rem;
  }
}
.topInfoAccess .cont {
  width: 100%;
}
.topInfoAccess .cont .gmap {
  width: 100%;
}
.topInfoAccess .cont .gmap iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 94/58;
}
.topInfoAccess .note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid #303030;
  margin-top: 6rem;
  padding-top: 6rem;
}
@media screen and (max-width: 1024px) {
  .topInfoAccess .note {
    margin-top: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topInfoAccess .note {
    margin-top: 2.7rem;
  }
}
@media screen and (max-width: 1024px) {
  .topInfoAccess .note {
    padding-top: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topInfoAccess .note {
    padding-top: 2.7rem;
  }
}
@media screen and (min-width: 1025px) {
  .topInfoAccess .note {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
  }
}
.topInfoAccess .note .ttl {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 6rem;
}
@media screen and (max-width: 1024px) {
  .topInfoAccess .note .ttl {
    padding-right: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topInfoAccess .note .ttl {
    padding-right: 1.5rem;
  }
}
.topInfoAccess .note .txt {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  .topInfoAccess .note .txt {
    font-size: 1.19rem;
  }
}

/* company
----------------------------- */
.topCompany {
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .topCompany {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .topCompany {
    margin-bottom: 4.5rem;
  }
}

.topUgLink {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .topUgLink {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .topUgLink {
    width: calc(100% - 2rem * 2);
  }
}

/*******************************

    FOOT

*******************************/
.cmnFixedBnr {
  position: fixed;
  right: 0;
  bottom: 8rem;
  z-index: 9999;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 5rem 30rem;
  grid-template-columns: 5rem 30rem;
  background: #f0eae1;
  border-radius: 1rem 0 0 1rem;
  overflow: hidden;
  -webkit-transform: translateX(calc(100% - 5rem));
          transform: translateX(calc(100% - 5rem));
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  opacity: 0;
}
@media screen and (max-width: 1024px) {
  .cmnFixedBnr {
    border-radius: 0.75rem 0 0 0.75rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnFixedBnr {
    border-radius: 0.5rem 0 0 0.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnFixedBnr {
    -webkit-transform: translateX(calc(100% - 4rem));
            transform: translateX(calc(100% - 4rem));
    -ms-grid-columns: 4rem 24rem;
    grid-template-columns: 4rem 24rem;
    bottom: 4rem;
  }
}
.cmnFixedBnr.is-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.cmnFixedBnr__head {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.2rem;
  letter-spacing: 0.125em;
  line-height: 1.25;
  font-weight: 700;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .cmnFixedBnr__head {
    font-size: 1rem;
  }
}
.cmnFixedBnr__main {
  border-left: 1px solid #303030;
  padding: 2rem 2rem 2rem 3rem;
}
@media screen and (max-width: 640px) {
  .cmnFixedBnr__main {
    padding: 1.5rem;
  }
}
@media (any-hover: hover) {
  .cmnFixedBnr__main:hover .img img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.cmnFixedBnr__main .img {
  overflow: hidden;
  aspect-ratio: 8/4;
  display: block;
}
.cmnFixedBnr__main .img img {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cmnFixedBnr__main .cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 2rem;
}
@media screen and (max-width: 1024px) {
  .cmnFixedBnr__main .cont {
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmnFixedBnr__main .cont {
    margin-bottom: 0.9rem;
  }
}
.cmnFixedBnr__main .cont .ttl {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .cmnFixedBnr__main .cont .ttl {
    font-size: 1.36rem;
  }
}
.cmnFixedBnr__main .icon {
  width: 4rem;
}
@media screen and (max-width: 640px) {
  .cmnFixedBnr__main .icon {
    width: 3rem;
  }
}
.cmnFixedBnr__main .icon svg {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}

.foot {
  margin-top: 16rem;
}
@media screen and (max-width: 1024px) {
  .foot {
    margin-top: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .foot {
    margin-top: 7.2rem;
  }
}
.foot__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 10rem;
  background: #f0eae1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1024px) {
  .foot__cta {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__cta {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .foot__cta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.foot__cta .img {
  width: min(88rem, 100%);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (max-width: 1024px) {
  .foot__cta .img {
    width: 100%;
  }
}
.foot__cta .cont {
  padding: 8rem;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .foot__cta .cont {
    padding: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__cta .cont {
    padding: 3.6rem;
  }
}
.foot__cta .cont .ttl {
  text-align: center;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 1024px) {
  .foot__cta .cont .ttl {
    margin-bottom: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__cta .cont .ttl {
    margin-bottom: 1.08rem;
  }
}
.foot__cta .cont .ttl .en {
  color: #303030;
}
.foot__cta .cont .txt {
  text-align: center;
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .foot__cta .cont .txt {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__cta .cont .txt {
    margin-bottom: 2.7rem;
  }
}
.foot__cta .cont .btn {
  margin: 0 auto;
}
.foot__main {
  margin-top: 16rem;
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  display: -ms-grid;
  display: grid;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-grid-columns: auto auto;
  grid-template-columns: auto auto;
  margin-bottom: 20rem;
}
@media screen and (max-width: 1024px) {
  .foot__main {
    margin-top: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__main {
    margin-top: 7.2rem;
  }
}
@media screen and (max-width: 1024px) {
  .foot__main {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .foot__main {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .foot__main {
    margin-bottom: 15rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__main {
    margin-bottom: 9rem;
  }
}
@media screen and (max-width: 1024px) {
  .foot__main {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 10rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .foot__main {
    gap: 7.5rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 640px) {
  .foot__main {
    gap: 5rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__main {
    gap: 4rem;
  }
}
.foot__main__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 8rem;
}
@media screen and (max-width: 1024px) {
  .foot__main__info {
    gap: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__main__info {
    gap: 4rem;
  }
}
@media screen and (max-width: 1024px) {
  .foot__main__info {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (max-width: 640px) {
  .foot__main__info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.foot__main__info__company .st {
  display: block;
  width: 20rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .foot__main__info__company .st {
    width: 15rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__main__info__company .st {
    width: 13rem;
  }
}
@media screen and (max-width: 1024px) {
  .foot__main__info__company .st {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__main__info__company .st {
    margin-bottom: 2.7rem;
  }
}
.foot__main__info__company .kc {
  display: block;
  width: 26rem;
  -webkit-transition: ease 0.6s;
  transition: ease 0.6s;
}
@media screen and (max-width: 1024px) {
  .foot__main__info__company .kc {
    width: 19.5rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__main__info__company .kc {
    width: 16.9rem;
  }
}
@media (any-hover: hover) {
  .foot__main__info__company .kc:hover {
    opacity: 0.6;
  }
}
.foot__main__info__txt p {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.15em;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 640px) {
  .foot__main__info__txt p {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 1024px) {
  .foot__main__info__txt p {
    margin-bottom: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__main__info__txt p {
    margin-bottom: 1.44rem;
  }
}
.foot__main__info__txt address {
  font-style: normal;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 640px) {
  .foot__main__info__txt address {
    font-size: 1.36rem;
  }
}
.foot__main__info__txt address i {
  color: #e51c18;
  padding-right: 0.35em;
}
.foot__main__info__txt address span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  padding: 0.5em 0;
}
.foot__main__info__txt address span a {
  border-bottom: 1px solid #303030;
}
@media (any-hover: hover) {
  .foot__main__info__txt address span a {
    -webkit-transition: 0.6s ease;
    transition: 0.6s ease;
  }
  .foot__main__info__txt address span a:hover {
    color: #174a9d;
    border-color: #174a9d;
  }
}
.foot__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .foot__bottom {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .foot__bottom {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .foot__bottom {
    padding-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__bottom {
    padding-bottom: 2.7rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
  }
}
.foot__bottom__submenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8rem;
}
@media screen and (max-width: 1024px) {
  .foot__bottom__submenu {
    gap: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__bottom__submenu {
    gap: 4rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__bottom__submenu {
    gap: 1rem 4rem;
  }
}
.foot__bottom__submenu li:not(:last-of-type) {
  position: relative;
}
.foot__bottom__submenu li:not(:last-of-type)::after {
  content: "";
  background: #303030;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  right: -4rem;
}
@media screen and (max-width: 1024px) {
  .foot__bottom__submenu li:not(:last-of-type)::after {
    right: -3rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__bottom__submenu li:not(:last-of-type)::after {
    right: -2rem;
  }
}
.foot__bottom__submenu a {
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.15em;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media screen and (max-width: 640px) {
  .foot__bottom__submenu a {
    font-size: 1.19rem;
  }
}
@media (any-hover: hover) {
  .foot__bottom__submenu a:hover {
    color: #174a9d;
  }
}
.foot__bottom__copy {
  font-size: 1.2rem;
  line-height: 2;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 640px) {
  .foot__bottom__copy {
    font-size: 1.02rem;
  }
}

.foot__main__menu {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media screen and (max-width: 1024px) {
  .foot__main__menu {
    width: 100%;
  }
}
.foot__main__menu__list {
  display: -ms-grid;
  display: grid;
  gap: 3rem 8rem;
}
@media screen and (min-width: 1025px) {
  .foot__main__menu__list {
    grid-auto-flow: column;
    -ms-grid-rows: (auto)[4];
    grid-template-rows: repeat(4, auto);
  }
}
@media screen and (max-width: 1024px) {
  .foot__main__menu__list {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .foot__main__menu__list {
    -ms-grid-columns: 1fr 2rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem 2rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__main__menu__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.foot__main__menu__list .nav__open {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 24rem;
  padding-left: 2.4rem;
}
@media screen and (max-width: 640px) {
  .foot__main__menu__list .nav__open {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 640px) {
  .foot__main__menu__list .nav__open {
    width: 100%;
  }
}
.foot__main__menu__list .nav__open .icon {
  margin: 0 0 0 auto;
  position: absolute;
  left: 0;
}
.foot__main__menu__list .nav__open .icon span {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.foot__main__menu__list .nav__open .icon span::before, .foot__main__menu__list .nav__open .icon span::after {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  content: "";
  background: #e51c18;
}
.foot__main__menu__list .nav__open .icon span::before {
  width: 100%;
  height: 2px;
}
.foot__main__menu__list .nav__open .icon span::after {
  width: 100%;
  height: 2px;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  position: absolute;
}
.foot__main__menu__list .js-accordionItem.is-active .icon span::after {
  -webkit-transform: rotate(0) !important;
          transform: rotate(0) !important;
}
.foot__main__menu__list .nav__childlist {
  padding-left: 2.4rem;
  padding-top: 1em;
  padding-bottom: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75em;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .foot__main__menu__list .nav__childlist {
    font-size: 1.36rem;
  }
}
.foot__main__menu__list .nav__childlist a {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media screen and (max-width: 640px) {
  .foot__main__menu__list .nav__childlist a {
    font-size: 1.36rem;
  }
}
@media (any-hover: hover) {
  .foot__main__menu__list .nav__childlist a:hover {
    color: #174a9d;
  }
}
.foot__main__menu__list .nav__btn {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media screen and (max-width: 640px) {
  .foot__main__menu__list .nav__btn {
    font-size: 1.36rem;
  }
}
@media (any-hover: hover) {
  .foot__main__menu__list .nav__btn:hover {
    color: #174a9d;
  }
}

/*******************************

    FAQ

*******************************/
.faqKv {
  margin-bottom: 8rem;
}
@media screen and (max-width: 1024px) {
  .faqKv {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .faqKv {
    margin-bottom: 3.6rem;
  }
}

.faqCats {
  max-width: calc(100rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .faqCats {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .faqCats {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .faqCats {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .faqCats {
    margin-bottom: 4.5rem;
  }
}
.faqCats .list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 1024px) {
  .faqCats .list {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .faqCats .list {
    gap: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .faqCats .list {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
.faqCats .list a {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  background: #f0eae1;
  min-height: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  position: relative;
  padding: 2rem;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .faqCats .list a {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .faqCats .list a {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 640px) {
  .faqCats .list a {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 640px) {
  .faqCats .list a {
    padding: 2rem 2rem 3rem;
  }
}
@media (any-hover: hover) {
  .faqCats .list a {
    -webkit-transition: 0.6s ease;
    transition: 0.6s ease;
  }
  .faqCats .list a:hover {
    border-color: #174a9d;
    color: #174a9d;
  }
  .faqCats .list a:hover svg {
    -webkit-transform: translateY(5px);
            transform: translateY(5px);
  }
  .faqCats .list a:hover svg path {
    fill: #174a9d;
  }
}
.faqCats .list a svg {
  position: absolute;
  bottom: 2rem;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  width: 1.3rem;
}
@media screen and (max-width: 640px) {
  .faqCats .list a svg {
    bottom: 1.5rem;
  }
}
.faqCats .list a svg path {
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}

.faqMain {
  max-width: calc(100rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .faqMain {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .faqMain {
    width: calc(100% - 2rem * 2);
  }
}
.faqMain__ttl {
  text-align: center;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 1024px) {
  .faqMain__ttl {
    margin-bottom: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .faqMain__ttl {
    margin-bottom: 1.44rem;
  }
}

.cmn__faqlist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-top: 1px solid #303030;
}
.cmn__faqlist:not(:last-of-type) {
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .cmn__faqlist:not(:last-of-type) {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__faqlist:not(:last-of-type) {
    margin-bottom: 4.5rem;
  }
}
.cmn__faqlist li {
  border-bottom: 1px solid #303030;
}
.cmn__faqlist li .q,
.cmn__faqlist li .a {
  font-size: 4rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  line-height: 1;
  padding-right: 2.5rem;
}
@media screen and (max-width: 640px) {
  .cmn__faqlist li .q,
  .cmn__faqlist li .a {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__faqlist li .q,
  .cmn__faqlist li .a {
    padding-right: 1.875rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__faqlist li .q,
  .cmn__faqlist li .a {
    padding-right: 1.125rem;
  }
}
.cmn__faqlist li .q {
  color: #174a9d;
}
.cmn__faqlist li .a {
  color: #e51c18;
}
.cmn__faqlist li summary {
  padding-top: 2.8rem;
  padding-bottom: 2.8rem;
  padding-left: 3rem;
  padding-right: 8rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 1024px) {
  .cmn__faqlist li summary {
    padding-top: 2.1rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__faqlist li summary {
    padding-top: 1.26rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__faqlist li summary {
    padding-bottom: 2.1rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__faqlist li summary {
    padding-bottom: 1.26rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__faqlist li summary {
    padding-left: 2.25rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__faqlist li summary {
    padding-left: 1.35rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__faqlist li summary {
    padding-right: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__faqlist li summary {
    padding-right: 4rem;
  }
}
.cmn__faqlist li summary .ttl {
  margin-top: 0.55em;
}
@media screen and (max-width: 640px) {
  .cmn__faqlist li summary .ttl {
    margin-top: 0.25em;
  }
}
.cmn__faqlist li summary .icon {
  width: 1.3rem;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  position: absolute;
  right: 3rem;
  top: calc(50% - 0.65rem);
}
@media screen and (max-width: 1024px) {
  .cmn__faqlist li summary .icon {
    right: 2.25rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__faqlist li summary .icon {
    right: 1.5rem;
  }
}
.cmn__faqlist li .cont__inner {
  padding-bottom: 3.2rem;
  padding-left: 3rem;
  padding-right: 8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 1024px) {
  .cmn__faqlist li .cont__inner {
    padding-bottom: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__faqlist li .cont__inner {
    padding-bottom: 1.44rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__faqlist li .cont__inner {
    padding-left: 2.25rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__faqlist li .cont__inner {
    padding-left: 1.35rem;
  }
}
@media screen and (max-width: 1024px) {
  .cmn__faqlist li .cont__inner {
    padding-right: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .cmn__faqlist li .cont__inner {
    padding-right: 4rem;
  }
}
.cmn__faqlist li .cont__inner .txt {
  margin-top: 0.55em;
}
@media screen and (max-width: 640px) {
  .cmn__faqlist li .cont__inner .txt {
    margin-top: 0.25em;
  }
}
.cmn__faqlist li details.is-active .icon {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

/*******************************

    POLICY

*******************************/
.policyMain {
  max-width: calc(100rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .policyMain {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .policyMain {
    width: calc(100% - 2rem * 2);
  }
}
.policyMain .ttl {
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .policyMain .ttl {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .policyMain .ttl {
    margin-bottom: 4.5rem;
  }
}
.policyMain .subttl {
  margin-bottom: 1em;
}
.policyMain .list {
  margin-top: 1em;
}
.policyMain .txt + .subttl,
.policyMain .list + .subttl {
  margin-top: 6rem;
}
@media screen and (max-width: 1024px) {
  .policyMain .txt + .subttl,
  .policyMain .list + .subttl {
    margin-top: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .policyMain .txt + .subttl,
  .policyMain .list + .subttl {
    margin-top: 2.7rem;
  }
}
.policyMain .add {
  margin-top: 6rem;
}
@media screen and (max-width: 1024px) {
  .policyMain .add {
    margin-top: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .policyMain .add {
    margin-top: 2.7rem;
  }
}

/*******************************

    404

*******************************/
.page404Main {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .page404Main {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .page404Main {
    width: calc(100% - 2rem * 2);
  }
}
.page404Main .ttl {
  margin-bottom: 8rem;
}
@media screen and (max-width: 1024px) {
  .page404Main .ttl {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .page404Main .ttl {
    margin-bottom: 3.6rem;
  }
}
.page404Main .txt {
  margin-bottom: 4rem;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .page404Main .txt {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .page404Main .txt {
    margin-bottom: 1.8rem;
  }
}
.page404Main .btn {
  margin: 0 auto;
}

/*******************************

    ANIM

*******************************/
.cmn__anim01__item {
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
  opacity: 0;
  display: block;
}

.intro {
  position: fixed;
  left: 0;
  top: 0;
  background: #fff;
  width: 100%;
  height: 100%;
  z-index: 100001;
}
@media screen and (min-width: 1025px) {
  .intro {
    padding: 10vh 0;
  }
}
.intro video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .intro video {
    -o-object-fit: contain;
       object-fit: contain;
  }
}

/*******************************

    FACILITY

*******************************/
.facilityMap {
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .facilityMap {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .facilityMap {
    margin-bottom: 7.2rem;
  }
}
.facilityMap__headimg {
  width: 100%;
  aspect-ratio: 144/50;
  max-height: 50rem;
}
.facilityMap__headimg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.facilityMap__item {
  background: #f0eae1;
  padding: 10rem 0;
}
@media screen and (max-width: 1024px) {
  .facilityMap__item {
    padding: 6rem 0;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 640px) {
  .facilityMap__item {
    padding: 3.2rem 0;
  }
}
.facilityMap__item__inner {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 8rem;
}
@media screen and (max-width: 1024px) {
  .facilityMap__item__inner {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .facilityMap__item__inner {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .facilityMap__item__inner {
    gap: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .facilityMap__item__inner {
    gap: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .facilityMap__item__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.facilityMap__item .img {
  width: 68rem;
  max-width: 100%;
}
.facilityMap__item .img img {
  width: 100%;
}
.facilityMap__item .cont {
  max-width: 44rem;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .facilityMap__item .cont {
    margin-right: auto;
    margin-left: 0;
    max-width: 100%;
  }
}
.facilityMap__item .cont .ttl {
  text-align: left;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 1024px) {
  .facilityMap__item .cont .ttl {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .facilityMap__item .cont .ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 640px) {
  .facilityMap__item .cont .ttl {
    margin-bottom: 1.8rem;
  }
}
.facilityMap__item .cont .txtbox {
  text-align: left;
}
.facilityMap__item .cont .txtbox p + p {
  margin-top: 1.5em;
}

.facilityDetail {
  margin-bottom: 16rem;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .facilityDetail {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .facilityDetail {
    margin-bottom: 7.2rem;
  }
}
.facilityDetail__ttl {
  margin-bottom: 4rem;
  margin-left: 10rem;
}
@media screen and (max-width: 1024px) {
  .facilityDetail__ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .facilityDetail__ttl {
    margin-bottom: 1.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .facilityDetail__ttl {
    margin-left: 4rem;
  }
}
@media screen and (max-width: 640px) {
  .facilityDetail__ttl {
    margin-left: 2rem;
  }
}
.facilityDetail__nav {
  position: absolute;
  right: 10rem;
  top: 0;
}
@media screen and (max-width: 1024px) {
  .facilityDetail__nav {
    position: relative;
    right: auto;
    top: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: 4rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .facilityDetail__nav {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 640px) {
  .facilityDetail__nav {
    margin-top: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .facilityDetail__nav {
    margin-right: 2rem;
  }
}
.facilityDetail__slide {
  margin-left: 10rem;
}
@media screen and (max-width: 1024px) {
  .facilityDetail__slide {
    margin-left: 4rem;
  }
}
@media screen and (max-width: 640px) {
  .facilityDetail__slide {
    margin-left: 2rem;
  }
}
.facilityDetail__slide .swiper-slide {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  background: #f0eae1;
  height: auto;
}
@media screen and (max-width: 1024px) {
  .facilityDetail__slide .swiper-slide {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .facilityDetail__slide .swiper-slide {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
.facilityDetail__slide .img {
  aspect-ratio: 44/30;
}
.facilityDetail__slide .img img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.facilityDetail__slide .cont {
  padding: 3rem;
}
@media screen and (max-width: 1024px) {
  .facilityDetail__slide .cont {
    padding: 2.25rem;
  }
}
@media screen and (max-width: 640px) {
  .facilityDetail__slide .cont {
    padding: 1.35rem;
  }
}
.facilityDetail__slide .cont .ttl {
  margin-bottom: 1em;
}

.facilitySlide {
  margin-bottom: 24rem;
}
@media screen and (max-width: 1024px) {
  .facilitySlide {
    margin-bottom: 18rem;
  }
}
@media screen and (max-width: 640px) {
  .facilitySlide {
    margin-bottom: 10.8rem;
  }
}

.facilityInfo {
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .facilityInfo {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .facilityInfo {
    margin-bottom: 7.2rem;
  }
}

/*******************************

    USER GUIDE

*******************************/
.ugInfo {
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .ugInfo {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .ugInfo {
    margin-bottom: 7.2rem;
  }
}
.ugInfo__note {
  margin-top: 8rem;
}
@media screen and (max-width: 1024px) {
  .ugInfo__note {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .ugInfo__note {
    margin-top: 3.6rem;
  }
}
@media screen and (max-width: 768px) {
  .ugInfo__note {
    padding-right: 4rem;
  }
}
@media screen and (max-width: 640px) {
  .ugInfo__note {
    padding-right: 2rem;
  }
}
.ugInfo__note p {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  .ugInfo__note p {
    font-size: 1.19rem;
  }
}
.ugInfo__note p + p {
  margin-top: 1.5em;
}

.ugFlow {
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .ugFlow {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .ugFlow {
    margin-bottom: 7.2rem;
  }
}
.ugFlow__ttl {
  text-align: center;
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .ugFlow__ttl {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ugFlow__ttl {
    margin-bottom: 4.5rem;
  }
}

.ugAccess {
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .ugAccess {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .ugAccess {
    margin-bottom: 7.2rem;
  }
}

.ugCompany {
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .ugCompany {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .ugCompany {
    margin-bottom: 7.2rem;
  }
}

.ugData {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .ugData {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .ugData {
    width: calc(100% - 2rem * 2);
  }
}
.ugData__ttl {
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .ugData__ttl {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ugData__ttl {
    margin-bottom: 2.7rem;
  }
}
.ugData__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6rem;
}
@media screen and (max-width: 1024px) {
  .ugData__list {
    gap: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ugData__list {
    gap: 3rem;
  }
}
.ugData li {
  border-bottom: 1px solid #303030;
}
.ugData summary {
  padding-bottom: 1rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1024px) {
  .ugData summary {
    padding-bottom: 0.75rem;
  }
}
@media screen and (max-width: 640px) {
  .ugData summary {
    padding-bottom: 0.45rem;
  }
}
.ugData summary .icon {
  margin: 0 0 0 auto;
  position: absolute;
  right: 0;
}
.ugData summary .icon span {
  width: 2rem;
  height: 2rem;
  display: block;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.ugData summary .icon span::before, .ugData summary .icon span::after {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  content: "";
  background: #e51c18;
}
.ugData summary .icon span::before {
  width: 100%;
  height: 2px;
}
.ugData summary .icon span::after {
  width: 100%;
  height: 2px;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  position: absolute;
}
.ugData .cont__inner {
  padding-top: 1rem;
  padding-bottom: 4rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2rem 1fr 2rem 1fr 2rem 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 1024px) {
  .ugData .cont__inner {
    padding-top: 0.75rem;
  }
}
@media screen and (max-width: 640px) {
  .ugData .cont__inner {
    padding-top: 0.45rem;
  }
}
@media screen and (max-width: 1024px) {
  .ugData .cont__inner {
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .ugData .cont__inner {
    padding-bottom: 1.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .ugData .cont__inner {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ugData .cont__inner {
    gap: 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .ugData .cont__inner {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .ugData .cont__inner {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 640px) {
  .ugData .cont__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.ugData .cont__inner a {
  background: #f0eae1;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  padding: 1.6rem 3.5rem;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media screen and (max-width: 640px) {
  .ugData .cont__inner a {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 640px) {
  .ugData .cont__inner a {
    padding: 1.5rem;
  }
}
@media (any-hover: hover) {
  .ugData .cont__inner a:hover {
    color: #174a9d;
  }
  .ugData .cont__inner a:hover svg {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}
.ugData .cont__inner svg {
  position: absolute;
  right: 2rem;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media screen and (max-width: 768px) {
  .ugData .cont__inner svg {
    right: 1.5rem;
  }
}
.ugData .js-accordionItem.is-active .icon span::after {
  -webkit-transform: rotate(0) !important;
          transform: rotate(0) !important;
}

/*******************************

    SERVICE GUIDE

*******************************/
.sgKv {
  margin-bottom: 20rem;
}
@media screen and (max-width: 1024px) {
  .sgKv {
    margin-bottom: 15rem;
  }
}
@media screen and (max-width: 640px) {
  .sgKv {
    margin-bottom: 9rem;
  }
}

.sgInfo {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 24rem;
}
@media screen and (max-width: 1024px) {
  .sgInfo {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .sgInfo {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .sgInfo {
    margin-bottom: 18rem;
  }
}
@media screen and (max-width: 640px) {
  .sgInfo {
    margin-bottom: 10.8rem;
  }
}
.sgInfo__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 48rem 10rem 1fr;
  grid-template-columns: 48rem 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10rem;
}
@media screen and (max-width: 1024px) {
  .sgInfo__inner {
    gap: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .sgInfo__inner {
    gap: 5rem;
  }
}
@media screen and (max-width: 1024px) {
  .sgInfo__inner {
    -ms-grid-columns: 40rem 1fr;
    grid-template-columns: 40rem 1fr;
  }
}
@media screen and (max-width: 768px) {
  .sgInfo__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.sgInfo__inner .img {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .sgInfo__inner .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgInfo__inner .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 768px) {
  .sgInfo__inner .cont {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
.sgInfo__inner .cont .ttl {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 1024px) {
  .sgInfo__inner .cont .ttl {
    margin-bottom: 4.8rem;
  }
}
@media screen and (max-width: 640px) {
  .sgInfo__inner .cont .ttl {
    margin-bottom: 2.88rem;
  }
}
@media screen and (max-width: 640px) {
  .sgInfo__inner .cont .txtbox {
    font-size: 1.36rem;
  }
}
.sgInfo__inner .cont .txtbox p + p {
  margin-top: 1.5em;
}

.sgSupport {
  margin-bottom: 16rem;
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .sgSupport {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .sgSupport {
    margin-bottom: 7.2rem;
  }
}
@media screen and (max-width: 1024px) {
  .sgSupport {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .sgSupport {
    width: calc(100% - 2rem * 2);
  }
}
.sgSupport__head {
  text-align: center;
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .sgSupport__head {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgSupport__head {
    margin-bottom: 4.5rem;
  }
}
.sgSupport__head .ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .sgSupport__head .ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .sgSupport__head .ttl {
    margin-bottom: 1.8rem;
  }
}
.sgSupport__head .txt {
  text-align: center;
}
.sgSupport__subttl {
  text-align: center;
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .sgSupport__subttl {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgSupport__subttl {
    margin-bottom: 2.7rem;
  }
}
.sgSupport__list {
  display: -ms-grid;
  display: grid;
  gap: 2rem;
  -ms-grid-columns: 1fr 2rem 1fr;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 1024px) {
  .sgSupport__list {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgSupport__list {
    gap: 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .sgSupport__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    max-width: 64rem;
    margin: 0 auto;
  }
}
.sgSupport__list__item {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .sgSupport__list__item {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgSupport__list__item {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
.sgSupport__list__item .cont {
  background: var(--data-color);
  padding: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: calc(50% + 1rem);
  margin-left: auto;
  z-index: 2;
  position: relative;
  border-radius: 2rem 0 0 2rem;
  overflow: hidden;
  aspect-ratio: 32/38;
}
@media screen and (max-width: 1024px) {
  .sgSupport__list__item .cont {
    border-radius: 1.5rem 0 0 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgSupport__list__item .cont {
    border-radius: 1rem 0 0 1rem;
  }
}
@media screen and (max-width: 640px) {
  .sgSupport__list__item .cont {
    padding: 2rem 1.5rem;
  }
}
.sgSupport__list__item .cont .num {
  margin-bottom: 1em;
}
.sgSupport__list__item .cont .ttl {
  margin-bottom: auto;
}
.sgSupport__list__item .cont .btn {
  width: min(100%, 24rem);
}
.sgSupport__list__item .img {
  width: calc(50% + 1rem);
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.sgSupport__list__item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.sgFlow {
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .sgFlow {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFlow {
    margin-bottom: 7.2rem;
  }
}
.sgFlow__head {
  text-align: center;
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .sgFlow__head {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFlow__head {
    margin-bottom: 4.5rem;
  }
}
.sgFlow__head .ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .sgFlow__head .ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFlow__head .ttl {
    margin-bottom: 1.8rem;
  }
}
.sgFlow__head .txt {
  text-align: center;
}
.sgFlow .subttl {
  text-align: center;
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .sgFlow .subttl {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFlow .subttl {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFlow .subttl {
    margin-bottom: 3rem;
  }
}

.sgWorry {
  position: relative;
  background: #f0eae1;
  margin-bottom: 8rem;
}
@media screen and (max-width: 1024px) {
  .sgWorry {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .sgWorry {
    margin-bottom: 3.6rem;
  }
}
.sgWorry__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  padding-top: 6rem;
  padding-bottom: 6rem;
  gap: 8rem;
}
@media screen and (max-width: 1024px) {
  .sgWorry__inner {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .sgWorry__inner {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .sgWorry__inner {
    padding-top: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgWorry__inner {
    padding-top: 2.7rem;
  }
}
@media screen and (max-width: 1024px) {
  .sgWorry__inner {
    padding-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgWorry__inner {
    padding-bottom: 2.7rem;
  }
}
@media screen and (max-width: 1024px) {
  .sgWorry__inner {
    gap: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .sgWorry__inner {
    gap: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .sgWorry__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 640px) {
  .sgWorry__inner {
    gap: 3.6rem;
  }
}
.sgWorry__inner .cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.sgWorry__inner .cont .ttl {
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .sgWorry__inner .cont .ttl {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgWorry__inner .cont .ttl {
    margin-bottom: 2.7rem;
  }
}
.sgWorry__inner .cont .txtbox {
  width: min(100%, 48rem);
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .sgWorry__inner .cont .txtbox {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .sgWorry__inner .cont .txtbox {
    margin-bottom: 1.8rem;
  }
}
.sgWorry__inner .cont .txtbox p + p {
  margin-top: 1.5em;
}
.sgWorry__inner .cont .btn {
  margin-top: auto;
}
@media screen and (max-width: 640px) {
  .sgWorry__inner .cont .btn {
    margin: 0 auto;
  }
}
.sgWorry__inner .img {
  aspect-ratio: 64/48;
  width: 64rem;
  max-width: 55%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .sgWorry__inner .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgWorry__inner .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 768px) {
  .sgWorry__inner .img {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    aspect-ratio: 16/9;
  }
}
.sgWorry__inner .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.sgFeature {
  background: #efce43;
  padding: 6rem 10rem;
  position: relative;
  margin-bottom: 8rem;
}
@media screen and (max-width: 1024px) {
  .sgFeature {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFeature {
    margin-bottom: 3.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .sgFeature {
    padding: 12rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .sgFeature {
    padding: 16rem 4rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFeature {
    padding: 8rem 2rem;
    margin-top: 10rem;
    margin-bottom: 16rem;
  }
}
.sgFeature__inner {
  position: relative;
  margin: 0 auto;
  max-width: 50rem;
}
.sgFeature__ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .sgFeature__ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFeature__ttl {
    margin-bottom: 1.8rem;
  }
}
.sgFeature .txtbox {
  text-align: center;
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 1024px) {
  .sgFeature .txtbox {
    margin-bottom: 3.6rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFeature .txtbox {
    margin-bottom: 2.16rem;
  }
}
.sgFeature .txtbox p + p {
  margin-top: 1.5em;
}
.sgFeature .btn {
  margin: 0 auto;
}
.sgFeature__img01 {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  position: absolute;
  left: 10rem;
  top: 6rem;
  width: 26rem;
}
@media screen and (max-width: 1024px) {
  .sgFeature__img01 {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFeature__img01 {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .sgFeature__img01 {
    left: 5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFeature__img01 {
    left: 5rem;
  }
}
@media screen and (max-width: 1024px) {
  .sgFeature__img01 {
    top: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFeature__img01 {
    top: 3rem;
  }
}
@media screen and (max-width: 1024px) {
  .sgFeature__img01 {
    width: 16.9rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFeature__img01 {
    width: 10.4rem;
  }
}
@media screen and (max-width: 768px) {
  .sgFeature__img01 {
    left: 0;
    top: 0;
  }
}
@media screen and (max-width: 640px) {
  .sgFeature__img01 {
    top: -2rem;
  }
}
.sgFeature__img02 {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  position: absolute;
  right: 10rem;
  bottom: 4rem;
  width: 30rem;
}
@media screen and (max-width: 1024px) {
  .sgFeature__img02 {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFeature__img02 {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .sgFeature__img02 {
    right: 5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFeature__img02 {
    right: 5rem;
  }
}
@media screen and (max-width: 1024px) {
  .sgFeature__img02 {
    bottom: 2rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFeature__img02 {
    bottom: 2rem;
  }
}
@media screen and (max-width: 1024px) {
  .sgFeature__img02 {
    width: 19.5rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFeature__img02 {
    width: 13.5rem;
  }
}
@media screen and (max-width: 768px) {
  .sgFeature__img02 {
    bottom: -8rem;
    right: 2rem;
  }
}
@media screen and (max-width: 640px) {
  .sgFeature__img02 {
    bottom: -15rem;
  }
}

.sgPlan {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .sgPlan {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .sgPlan {
    width: calc(100% - 2rem * 2);
  }
}
.sgPlan__head {
  margin-bottom: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1024px) {
  .sgPlan__head {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .sgPlan__head {
    margin-bottom: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .sgPlan__head {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
}
.sgPlan__head .ttl {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.sgPlan__head .txtbox {
  max-width: 46rem;
}

/*******************************

    DEVELOPMENTAL SUPPORT

*******************************/
.devSupportKv {
  color: #fff;
}
.devSupportKv .cmnPankuzu a,
.devSupportKv .cmnPankuzu span {
  color: #fff;
}
.devSupportKv.is-sora {
  background: #174a9d;
}
.devSupportKv.is-taiyo {
  background: #e51c18;
}

.devSupportAbout {
  margin-bottom: 24rem;
}
@media screen and (max-width: 1024px) {
  .devSupportAbout {
    margin-bottom: 18rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportAbout {
    margin-bottom: 10.8rem;
  }
}
.devSupportAbout__main {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10rem;
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .devSupportAbout__main {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .devSupportAbout__main {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .devSupportAbout__main {
    gap: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportAbout__main {
    gap: 5rem;
  }
}
@media screen and (max-width: 1024px) {
  .devSupportAbout__main {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportAbout__main {
    margin-bottom: 7.2rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportAbout__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.devSupportAbout .ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .devSupportAbout .ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportAbout .ttl {
    margin-bottom: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportAbout .txt {
    font-size: 1.6rem;
  }
}
.devSupportAbout .logo {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.devSupportAbout.dsSoraAbout .logo {
  width: 32rem;
}
@media screen and (max-width: 1024px) {
  .devSupportAbout.dsSoraAbout .logo {
    width: 24rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportAbout.dsSoraAbout .logo {
    width: 16rem;
  }
}
.devSupportAbout.dsTaiyoAbout .logo {
  width: 32.5rem;
}
@media screen and (max-width: 1024px) {
  .devSupportAbout.dsTaiyoAbout .logo {
    width: 24.375rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportAbout.dsTaiyoAbout .logo {
    width: 16.25rem;
  }
}

.devSupportPoint {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .devSupportPoint {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .devSupportPoint {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .devSupportPoint {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportPoint {
    margin-bottom: 7.2rem;
  }
}
.devSupportPoint__ttl {
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .devSupportPoint__ttl {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportPoint__ttl {
    margin-bottom: 4.5rem;
  }
}
.devSupportPoint__ttl .en {
  color: var(--data-color);
}

.devSupportPointItem__ttl {
  margin-bottom: 0.5em;
}
.devSupportPointItem__txt {
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .devSupportPointItem__txt {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportPointItem__txt {
    margin-bottom: 2.7rem;
  }
}
.devSupportPointItem__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2rem 1fr 2rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 1024px) {
  .devSupportPointItem__list {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportPointItem__list {
    gap: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .devSupportPointItem__list {
    -ms-grid-columns: 1fr 1rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem 1rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportPointItem__list {
    gap: 2.4rem 1rem;
  }
}
.devSupportPointItem__list a {
  display: block;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  position: relative;
}
@media (any-hover: hover) {
  .devSupportPointItem__list a:hover {
    color: #174a9d;
  }
}
.devSupportPointItem__list .img {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  margin-bottom: 3rem;
}
@media screen and (max-width: 1024px) {
  .devSupportPointItem__list .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportPointItem__list .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .devSupportPointItem__list .img {
    margin-bottom: 2.25rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportPointItem__list .img {
    margin-bottom: 1.35rem;
  }
}
.devSupportPointItem__list .ttl {
  margin-bottom: 0.15em;
}
.devSupportPointItem__list .num {
  color: var(--data-color);
}
.devSupportPointItem__list .icon {
  border: 1px solid var(--data-color);
  width: 4.8rem;
  border-radius: 50%;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 1024px) {
  .devSupportPointItem__list .icon {
    width: 3.6rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportPointItem__list .icon {
    width: 2.4rem;
  }
}
.devSupportPointItem__list .icon svg {
  display: block;
  width: 33%;
}
.devSupportPointItem__list .icon svg path {
  fill: var(--data-color);
}
.devSupportPointItem + .devSupportPointItem {
  margin-top: 10rem;
}
@media screen and (max-width: 1024px) {
  .devSupportPointItem + .devSupportPointItem {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportPointItem + .devSupportPointItem {
    margin-top: 4.5rem;
  }
}

.devSupportProgram {
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .devSupportProgram {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportProgram {
    margin-bottom: 7.2rem;
  }
}
.devSupportProgram__ttl {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 1024px) {
  .devSupportProgram__ttl {
    margin-bottom: 4.8rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportProgram__ttl {
    margin-bottom: 2.88rem;
  }
}
.devSupportProgram__ttl .en {
  color: var(--data-color);
}
.devSupportProgram.is-sora {
  --data-subcolor: #7DBEED;
}
.devSupportProgram.is-taiyo {
  --data-subcolor: #ED7D7D;
}
.devSupportProgram .swiper-slide {
  height: auto !important;
  min-height: 48rem;
}
@media screen and (max-width: 768px) {
  .devSupportProgram .swiper-slide {
    min-height: 30rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportProgram .swiper-slide {
    min-height: auto;
  }
}
.devSupportProgram__nav {
  margin-top: 4rem;
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: 10rem;
  color: var(--data-color);
}
@media screen and (max-width: 1024px) {
  .devSupportProgram__nav {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportProgram__nav {
    margin-top: 1.8rem;
  }
}
.devSupportProgram__nav path {
  fill: var(--data-color);
}
@media screen and (max-width: 1024px) {
  .devSupportProgram__nav {
    margin-right: 4rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportProgram__nav {
    margin-right: 2rem;
  }
}
.devSupportProgram__slide__prev, .devSupportProgram__slide__next {
  border-color: var(--data-color);
}

.devSupportProgramItem {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .devSupportProgramItem {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportProgramItem {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
.devSupportProgramItem__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}
@media screen and (max-width: 640px) {
  .devSupportProgramItem__inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 1fr 30rem;
    grid-template-rows: 1fr 30rem;
  }
}
.devSupportProgramItem__inner .cont {
  padding: 6rem;
  background: var(--data-subcolor);
  position: relative;
  border-radius: 0 2rem 2rem 0;
  overflow: hidden;
  width: calc(50% + 1rem);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (max-width: 1024px) {
  .devSupportProgramItem__inner .cont {
    padding: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportProgramItem__inner .cont {
    padding: 2.7rem;
  }
}
@media screen and (max-width: 1024px) {
  .devSupportProgramItem__inner .cont {
    border-radius: 0 1.5rem 1.5rem 0;
  }
}
@media screen and (max-width: 640px) {
  .devSupportProgramItem__inner .cont {
    border-radius: 0 1rem 1rem 0;
  }
}
@media screen and (max-width: 768px) {
  .devSupportProgramItem__inner .cont {
    padding: 6rem 2rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportProgramItem__inner .cont {
    width: 100%;
    padding: 3rem 2rem;
    border-radius: 0 0 1rem 1rem;
  }
}
.devSupportProgramItem__inner .cont .num {
  position: absolute;
  left: 2rem;
  top: 2rem;
}
@media screen and (max-width: 640px) {
  .devSupportProgramItem__inner .cont .num {
    position: relative;
    left: auto;
    top: auto;
    margin-bottom: 1rem;
  }
}
.devSupportProgramItem__inner .cont .ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .devSupportProgramItem__inner .cont .ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportProgramItem__inner .cont .ttl {
    margin-bottom: 1.8rem;
  }
}
.devSupportProgramItem__inner .cont .ttl span {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: block;
}
@media screen and (max-width: 640px) {
  .devSupportProgramItem__inner .cont .ttl span {
    font-size: 1.36rem;
  }
}
.devSupportProgramItem__inner .cont .txtbox p + p {
  margin-top: 1.5em;
}
.devSupportProgramItem__inner .img {
  width: calc(100% + 4rem);
  margin-left: -4rem;
}
@media screen and (max-width: 640px) {
  .devSupportProgramItem__inner .img {
    width: 100%;
    margin-top: -1rem;
    margin-left: 0;
  }
}
.devSupportProgramItem__inner .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.devSupportMedia {
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .devSupportMedia {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportMedia {
    margin-bottom: 7.2rem;
  }
}
.devSupportMedia__ttl {
  text-align: center;
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .devSupportMedia__ttl {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportMedia__ttl {
    margin-bottom: 2.7rem;
  }
}
.devSupportMedia__ttl picture {
  width: 58rem;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .devSupportMedia__ttl picture {
    width: 43.5rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportMedia__ttl picture {
    width: 29rem;
  }
}
.devSupportMedia__ttl .ja {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-weight: 700;
  margin-top: 2rem;
}
@media screen and (max-width: 640px) {
  .devSupportMedia__ttl .ja {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 1024px) {
  .devSupportMedia__ttl .ja {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportMedia__ttl .ja {
    margin-top: 0.9rem;
  }
}
.devSupportMedia__main {
  padding-top: 8rem;
  padding-bottom: 8rem;
  background: #f0eae1;
}
@media screen and (max-width: 1024px) {
  .devSupportMedia__main {
    padding-top: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportMedia__main {
    padding-top: 3.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .devSupportMedia__main {
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportMedia__main {
    padding-bottom: 3.6rem;
  }
}
.devSupportMedia__main__list {
  max-width: calc(112rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2rem 1fr 2rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .devSupportMedia__main__list {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .devSupportMedia__main__list {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .devSupportMedia__main__list {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportMedia__main__list {
    gap: 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .devSupportMedia__main__list {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportMedia__main__list {
    margin-bottom: 2.7rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportMedia__main__list {
    -ms-grid-columns: 1fr 1rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 2rem 1rem;
  }
}
.devSupportMedia .btn {
  margin: 0 auto;
}

.devSupportLink a {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 50rem 1fr;
  grid-template-columns: 50rem 1fr;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .devSupportLink a {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media (any-hover: hover) {
  .devSupportLink a:hover .img img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  .devSupportLink a:hover .btn .icon svg {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}
.devSupportLink .img {
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 768px) {
  .devSupportLink .img {
    aspect-ratio: 4/3;
  }
}
.devSupportLink .img img {
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.devSupportLink .cont {
  background: var(--data-color);
  padding: 8rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .devSupportLink .cont {
    padding: 4rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportLink .cont {
    padding: 3.6rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportLink .cont {
    padding: 3rem 2rem;
  }
}
.devSupportLink .cont .ttl span {
  display: block;
}
.devSupportLink .cont .ttl .en {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-bottom: 1.65em;
  text-transform: uppercase;
}
@media screen and (max-width: 640px) {
  .devSupportLink .cont .ttl .en {
    font-size: 1.19rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportLink .cont .ttl .en {
    margin-bottom: 1.5rem;
  }
}
.devSupportLink .cont .ttl .ja {
  font-size: 4rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .devSupportLink .cont .ttl .ja {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .devSupportLink .cont .logo {
    margin-top: auto;
  }
}
@media screen and (max-width: 640px) {
  .devSupportLink .cont .logo {
    margin-top: 4.8rem;
  }
}
.devSupportLink .cont .logo img {
  display: block;
  height: 4.5rem;
}
@media screen and (max-width: 1024px) {
  .devSupportLink .cont .logo img {
    height: 3.375rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportLink .cont .logo img {
    height: 2.25rem;
  }
}
.devSupportLink .cont .logo figcaption {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-top: 1rem;
}
@media screen and (max-width: 640px) {
  .devSupportLink .cont .logo figcaption {
    font-size: 1.36rem;
  }
}
.devSupportLink .cont .btn {
  position: absolute;
  right: 8rem;
  bottom: 8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
}
@media screen and (max-width: 1024px) {
  .devSupportLink .cont .btn {
    gap: 2.25rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportLink .cont .btn {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .devSupportLink .cont .btn {
    position: relative;
    right: auto;
    bottom: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .devSupportLink .cont .btn {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 640px) {
  .devSupportLink .cont .btn {
    margin-top: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportLink .cont .btn {
    margin-top: 1rem;
  }
}
.devSupportLink .cont .btn .icon {
  width: 7.5rem;
  border-radius: 50%;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #fff;
}
@media screen and (max-width: 1024px) {
  .devSupportLink .cont .btn .icon {
    width: 5.625rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportLink .cont .btn .icon {
    width: 3.75rem;
  }
}
.devSupportLink .cont .btn .icon svg {
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  width: 50%;
  display: block;
}
.devSupportPointModal__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 40rem minmax(0, 1fr);
  grid-template-columns: 40rem minmax(0, 1fr);
}
@media screen and (max-width: 768px) {
  .devSupportPointModal__item {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.devSupportPointModal .img {
  aspect-ratio: 40/58.3;
}
@media screen and (max-width: 768px) {
  .devSupportPointModal .img {
    aspect-ratio: 1/1;
  }
}
.devSupportPointModal .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.devSupportPointModal .cont {
  height: 100%;
  max-height: 72rem;
}
@media screen and (max-width: 1024px) {
  .devSupportPointModal .cont {
    padding: 4rem 8rem 4rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .devSupportPointModal .cont {
    padding: 3rem 4rem 3rem 2rem;
    max-height: calc(90vh - 40rem);
  }
}
@media screen and (max-width: 640px) {
  .devSupportPointModal .cont {
    max-height: calc(80vh - 33.5rem);
  }
}
.devSupportPointModal .cont__inner {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .devSupportPointModal .cont__inner {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportPointModal .cont__inner {
    padding-top: 1.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .devSupportPointModal .cont__inner {
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .devSupportPointModal .cont__inner {
    padding-bottom: 1.8rem;
  }
}
.devSupportPointModal .cont .num {
  display: block;
}
.devSupportPointModal .cont .ttl {
  margin: 1em 0;
}

/*******************************

    PHILOSOPHY

*******************************/
.phy {
  --v-margin: 16rem;
  --side-margin: 10rem;
}
@media screen and (max-width: 1024px) {
  .phy {
    --side-margin: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .phy {
    --v-margin: 8rem;
  }
}
.phy .phyKv {
  background-color: #fff;
  margin-bottom: 0;
}
.phy .phyKv .img {
  aspect-ratio: 88/68;
  width: auto;
  max-width: calc(100% - 56rem);
}
@media screen and (max-width: 1024px) {
  .phy .phyKv {
    display: block;
  }
  .phy .phyKv .img {
    max-width: 100%;
  }
}
.phy .phyIntro {
  margin-bottom: 24rem;
}
@media screen and (max-width: 1024px) {
  .phy .phyIntro {
    margin-bottom: 18rem;
  }
}
@media screen and (max-width: 640px) {
  .phy .phyIntro {
    margin-bottom: 10.8rem;
  }
}
.phy .phyIntro__content {
  padding: var(--v-margin) var(--side-margin) 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 640px) {
  .phy .phyIntro__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.phy .phyIntro__ttl {
  font-size: 4.2rem;
  line-height: 1.9;
  letter-spacing: 0.15em;
  font-weight: 700;
  margin-bottom: 4rem;
}
@media screen and (max-width: 640px) {
  .phy .phyIntro__ttl {
    font-size: 3.57rem;
  }
}
@media screen and (max-width: 1024px) {
  .phy .phyIntro__ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .phy .phyIntro__ttl {
    margin-bottom: 1.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .phy .phyIntro__ttl {
    font-size: 3.6rem;
    line-height: 1.9;
    letter-spacing: 0.15em;
  }
}
@media screen and (max-width: 1024px) and (max-width: 640px) {
  .phy .phyIntro__ttl {
    font-size: 3.06rem;
  }
}
@media screen and (max-width: 768px) {
  .phy .phyIntro__ttl {
    font-size: 3rem;
    line-height: 1.9;
    letter-spacing: 0.15em;
  }
}
@media screen and (max-width: 768px) and (max-width: 640px) {
  .phy .phyIntro__ttl {
    font-size: 2.55rem;
  }
}
.phy .phyIntro__txt {
  font-size: 2rem;
  line-height: 2.6;
  letter-spacing: 0.15em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .phy .phyIntro__txt {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 768px) {
  .phy .phyIntro__txt {
    font-size: 1.6rem;
    line-height: 1.9;
    letter-spacing: 0.15em;
    white-space: nowrap;
  }
}
@media screen and (max-width: 768px) and (max-width: 640px) {
  .phy .phyIntro__txt {
    font-size: 1.36rem;
  }
}
.phy .phyIntro__cont {
  padding-left: var(--side-margin);
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .phy .phyIntro__cont {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (max-width: 640px) {
  .phy .phyIntro__cont {
    padding-left: 0;
    padding-bottom: var(--side-margin);
  }
}
.phy .phyIntro__img {
  width: 64rem;
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (max-width: 1024px) {
  .phy .phyIntro__img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .phy .phyIntro__img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .phy .phyIntro__img {
    width: 45%;
  }
}
@media screen and (max-width: 640px) {
  .phy .phyIntro__img {
    width: 100%;
    margin: 0 auto;
  }
}
.phy .phyCopy {
  margin-bottom: -10svh;
}
.phy .phyCopy__logo {
  max-width: 80%;
  display: block;
  margin: 0 auto 6rem;
}
.phy .phyCopy__txt {
  font-size: 3.2rem;
  line-height: 1.6;
  letter-spacing: 0.15em;
  font-weight: 700;
  text-align: center;
  word-break: keep-all;
}
@media screen and (max-width: 640px) {
  .phy .phyCopy__txt {
    font-size: 2.72rem;
  }
}
@media screen and (max-width: 640px) {
  .phy .phyCopy__txt {
    font-size: 2.4rem;
    line-height: 1.6;
    letter-spacing: 0.15em;
  }
}
@media screen and (max-width: 640px) and (max-width: 640px) {
  .phy .phyCopy__txt {
    font-size: 2.04rem;
  }
}
.phy .pin-spacer:has(.phyMessages) {
  pointer-events: none;
}
.phy .phyMessages {
  min-height: 200svh;
  margin-bottom: -90svh;
}
.phy .phyMessages__content {
  padding: var(--v-margin) var(--side-margin);
  min-height: 100svh;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 8rem 1fr;
  grid-template-columns: 1fr 8rem 1fr;
  pointer-events: auto;
}
@media screen and (max-width: 768px) {
  .phy .phyMessages__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.phy .phyMessages__counter {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
  -ms-grid-row-align: end;
      align-self: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.15em;
  gap: 0.1em;
}
@media screen and (max-width: 640px) {
  .phy .phyMessages__counter {
    font-size: 1.19rem;
  }
}
@media screen and (max-width: 768px) {
  .phy .phyMessages__counter {
    text-align: right;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.phy .phyMessages__texts {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  display: -ms-grid;
  display: grid;
}
.phy .phyMessages__texts > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.phy .phyMessages__texts .txt {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  opacity: 0;
  -webkit-transform: translateY(20%);
          transform: translateY(20%);
  -ms-grid-row-align: center;
      align-self: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: 0.15em;
  font-weight: 600;
}
@media screen and (max-width: 640px) {
  .phy .phyMessages__texts .txt {
    font-size: 2.04rem;
  }
}
@media screen and (max-width: 640px) {
  .phy .phyMessages__texts .txt {
    font-size: 2rem;
    line-height: 1.6;
    letter-spacing: 0.15em;
  }
}
@media screen and (max-width: 640px) and (max-width: 640px) {
  .phy .phyMessages__texts .txt {
    font-size: 1.7rem;
  }
}
.phy .phyMessages__img {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
  grid-column: 3/4;
  overflow: hidden;
  border-radius: 2rem;
  aspect-ratio: 1/1;
  position: relative;
  -ms-grid-row-align: center;
      align-self: center;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .phy .phyMessages__img {
    margin-top: var(--side-margin);
    margin-left: var(--side-margin);
  }
}
@media screen and (max-width: 640px) {
  .phy .phyMessages__img {
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 4rem);
  }
}
.phy .phyMessages__img img {
  display: block;
  max-width: 100%;
  height: 100%;
  position: relative;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  border-radius: 2rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.phy .phyMessages__img img:not(:first-child) {
  position: absolute;
  top: 0;
  left: 0;
}
.phy .phyPlace {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 var(--side-margin);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 640px) {
  .phy .phyPlace {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0;
  }
}
.phy .phyPlace__img {
  width: 50%;
  padding-right: var(--side-margin);
}
@media screen and (max-width: 640px) {
  .phy .phyPlace__img {
    width: 100%;
    padding: 0;
  }
}
.phy .phyPlace__img img {
  display: block;
  width: 100%;
  border-radius: 2rem;
}
@media screen and (max-width: 640px) {
  .phy .phyPlace__img img {
    border-radius: 0;
    aspect-ratio: 6/4;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.phy .phyPlace__ttl {
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .phy .phyPlace__ttl {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .phy .phyPlace__ttl {
    margin-bottom: 2.7rem;
  }
}
.phy .phyPlace__text {
  width: 50%;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-weight: 600;
}
@media screen and (max-width: 640px) {
  .phy .phyPlace__text {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 640px) {
  .phy .phyPlace__text {
    padding: var(--side-margin);
    width: 100%;
  }
}
.phy .phyPlace__text p {
  margin-top: 0;
  margin-bottom: 1lh;
}
@media screen and (max-width: 640px) {
  .phy .phyPlace__text p br {
    display: none;
  }
}
.phy .phyPromises {
  padding: var(--v-margin) 0;
}
.phy .phyPromises__header {
  padding: 0 var(--side-margin);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 1rem;
  margin-bottom: 8rem;
}
@media screen and (max-width: 640px) {
  .phy .phyPromises__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 4rem;
  }
}
.phy .phyPromises__header .eng {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 640px) {
  .phy .phyPromises__header .eng {
    font-size: 1.19rem;
  }
}
.phy .phyPromise {
  background: #f0eae1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 640px) {
  .phy .phyPromise {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.phy .phyPromise:not(:last-child) {
  margin-bottom: 8rem;
}
.phy .phyPromise__cont {
  padding: 8rem var(--side-margin);
  width: 50%;
}
@media screen and (max-width: 640px) {
  .phy .phyPromise__cont {
    width: 100%;
    padding-top: 6rem;
    padding-bottom: 4rem;
  }
}
.phy .phyPromise__index {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #e51c18;
}
@media screen and (max-width: 640px) {
  .phy .phyPromise__index {
    font-size: 1.36rem;
  }
}
.phy .phyPromise__ttl {
  padding-top: 6rem;
  margin-bottom: 3rem;
  word-break: keep-all;
}
@media screen and (max-width: 640px) {
  .phy .phyPromise__ttl {
    padding-top: 2rem;
    margin-bottom: 2rem;
  }
}
.phy .phyPromise__txt {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .phy .phyPromise__txt {
    font-size: 1.36rem;
  }
}
.phy .phyPromise__img {
  display: block;
  width: 50%;
  aspect-ratio: 68/48;
}
@media screen and (max-width: 640px) {
  .phy .phyPromise__img {
    width: 100%;
  }
}
.phy .phyPromise__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*******************************

    TEAM

*******************************/
.teamAbout {
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .teamAbout {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .teamAbout {
    margin-bottom: 7.2rem;
  }
}
.teamAbout__ttl {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .teamAbout__ttl {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .teamAbout__ttl {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .teamAbout__ttl {
    font-size: 1.8rem;
  }
}

.teamAboutAfter {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .teamAboutAfter {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .teamAboutAfter {
    width: calc(100% - 2rem * 2);
  }
}
.teamAboutAfter__ttl {
  text-align: center;
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .teamAboutAfter__ttl {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .teamAboutAfter__ttl {
    margin-bottom: 7.2rem;
  }
}
@media screen and (max-width: 640px) {
  .teamAboutAfter__ttl {
    font-size: 1.8rem;
    margin-bottom: 4rem;
  }
}
.teamAboutAfter .img {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .teamAboutAfter .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .teamAboutAfter .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 640px) {
  .teamAboutAfter .img {
    margin-left: -2rem;
    margin-right: -2rem;
    border-radius: 0;
  }
}

.teamMessages {
  --v-margin: 16rem;
  --side-margin: 10rem;
  min-height: 200svh;
  margin-bottom: -90svh;
}
@media screen and (max-width: 1024px) {
  .teamMessages {
    --side-margin: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .teamMessages {
    --v-margin: 8rem;
  }
}
.teamMessages__content {
  padding: var(--v-margin) var(--side-margin);
  min-height: 100svh;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 8rem 1fr;
  grid-template-columns: 1fr 8rem 1fr;
  pointer-events: auto;
}
@media screen and (max-width: 768px) {
  .teamMessages__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.teamMessages__counter {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
  -ms-grid-row-align: end;
      align-self: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.15em;
  gap: 0.1em;
}
@media screen and (max-width: 640px) {
  .teamMessages__counter {
    font-size: 1.19rem;
  }
}
@media screen and (max-width: 768px) {
  .teamMessages__counter {
    text-align: right;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.teamMessages__texts {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  display: -ms-grid;
  display: grid;
}
.teamMessages__texts > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.teamMessages__texts .txt {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  opacity: 0;
  -webkit-transform: translateY(20%);
          transform: translateY(20%);
  -ms-grid-row-align: center;
      align-self: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: 0.15em;
  font-weight: 600;
}
@media screen and (max-width: 640px) {
  .teamMessages__texts .txt {
    font-size: 2.04rem;
  }
}
@media screen and (max-width: 640px) {
  .teamMessages__texts .txt {
    font-size: 2rem;
    line-height: 1.6;
    letter-spacing: 0.15em;
  }
}
@media screen and (max-width: 640px) and (max-width: 640px) {
  .teamMessages__texts .txt {
    font-size: 1.7rem;
  }
}
.teamMessages__img {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
  grid-column: 3/4;
  overflow: hidden;
  border-radius: 2rem;
  position: relative;
  -ms-grid-row-align: center;
      align-self: center;
  aspect-ratio: 1/1;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .teamMessages__img {
    margin-top: var(--side-margin);
    margin-left: var(--side-margin);
  }
}
.teamMessages__img img {
  display: block;
  max-width: 100%;
  height: 100%;
  position: relative;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  border-radius: 2rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.teamMessages__img img:not(:first-child) {
  position: absolute;
  top: 0;
  left: 0;
}

.teamMember {
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .teamMember {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .teamMember {
    margin-bottom: 7.2rem;
  }
}
.teamMember__head {
  background: #7199ca;
}
.teamMember__main__item {
  position: relative;
}
.teamMember__main__item .img {
  aspect-ratio: 4/5;
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .teamMember__main__item .img {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .teamMember__main__item .img {
    margin-bottom: 1.8rem;
  }
}
.teamMember__main__item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.teamMember__main__item .ttl .ja {
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: block;
}
@media screen and (max-width: 640px) {
  .teamMember__main__item .ttl .ja {
    font-size: 1.8rem;
  }
}
.teamMember__main__item .ttl .ja span {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  padding-left: 0.5em;
}
@media screen and (max-width: 640px) {
  .teamMember__main__item .ttl .ja span {
    font-size: 1.36rem;
  }
}
.teamMember__main__item .ttl .en {
  font-size: 1.2rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .teamMember__main__item .ttl .en {
    font-size: 1.02rem;
  }
}
.teamMember__main__item .icon {
  position: absolute;
  right: 0;
  bottom: 0;
}

.teamLink {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .teamLink {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .teamLink {
    width: calc(100% - 2rem * 2);
  }
}
.teamLink__ttl {
  text-align: center;
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .teamLink__ttl {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .teamLink__ttl {
    margin-bottom: 7.2rem;
  }
}
.teamLink__list {
  margin-bottom: 8rem;
}
@media screen and (max-width: 1024px) {
  .teamLink__list {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .teamLink__list {
    margin-bottom: 3.6rem;
  }
}

.teamMemberModal__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 40rem minmax(0, 1fr);
  grid-template-columns: 40rem minmax(0, 1fr);
}
@media screen and (max-width: 768px) {
  .teamMemberModal__item {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.teamMemberModal .profile {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 1fr auto;
  grid-template-rows: 1fr auto;
  position: relative;
}
.teamMemberModal .profile .img {
  aspect-ratio: 40/58.3;
}
@media screen and (max-width: 768px) {
  .teamMemberModal .profile .img {
    aspect-ratio: 1/1;
  }
}
.teamMemberModal .profile .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.teamMemberModal .profile__data {
  background: #7199ca;
  padding: 4rem;
}
@media screen and (max-width: 1024px) {
  .teamMemberModal .profile__data {
    padding: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .teamMemberModal .profile__data {
    padding: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .teamMemberModal .profile__data {
    position: absolute;
    left: 0;
    bottom: 0;
    border-radius: 0 2rem 0 0;
  }
}
.teamMemberModal .profile__data .ttl .ja,
.teamMemberModal .profile__data .ttl .en {
  display: block;
}
.teamMemberModal .profile__data .prof {
  margin-top: 1.5em;
  font-size: 1.2rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .teamMemberModal .profile__data .prof {
    font-size: 1.02rem;
  }
}
.teamMemberModal .cont {
  height: 100%;
  max-height: 72rem;
}
@media screen and (max-width: 1024px) {
  .teamMemberModal .cont {
    padding: 4rem 8rem 4rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .teamMemberModal .cont {
    padding: 3rem 4rem 3rem 2rem;
    max-height: calc(90vh - 40rem);
  }
}
@media screen and (max-width: 640px) {
  .teamMemberModal .cont {
    max-height: calc(80vh - 33.5rem);
  }
}
.teamMemberModal .cont__inner {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .teamMemberModal .cont__inner {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .teamMemberModal .cont__inner {
    padding-top: 1.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .teamMemberModal .cont__inner {
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .teamMemberModal .cont__inner {
    padding-bottom: 1.8rem;
  }
}
.teamMemberModal .cont dt {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .teamMemberModal .cont dt {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .teamMemberModal .cont dt {
    margin-bottom: 1.8rem;
  }
}
.teamMemberModal .cont dd p + p {
  margin-top: 1.5em;
}
.teamMemberModal .cont dd + dt {
  margin-top: 8rem;
}
@media screen and (max-width: 1024px) {
  .teamMemberModal .cont dd + dt {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .teamMemberModal .cont dd + dt {
    margin-top: 3.6rem;
  }
}

/*******************************

    NEWS

*******************************/
.newsArcKv {
  margin-bottom: 12rem;
}
@media screen and (max-width: 1024px) {
  .newsArcKv {
    margin-bottom: 9rem;
  }
}
@media screen and (max-width: 640px) {
  .newsArcKv {
    margin-bottom: 5.4rem;
  }
}

@media screen and (min-width: 769px) {
  .newsArcMain__inner,
  .newsSingleMain__inner {
    -ms-grid-columns: 32% 6rem 1fr;
    grid-template-columns: 32% 1fr;
    gap: 6rem;
  }
}
@media screen and (min-width: 769px) {
  .newsArcMain__inner .cmnPostArcFilterItem,
  .newsSingleMain__inner .cmnPostArcFilterItem {
    width: min(100%, 30rem);
  }
}
.newsArcMain__posts,
.newsSingleMain__posts {
  width: 100%;
  padding-right: 10rem;
}
@media screen and (max-width: 1024px) {
  .newsArcMain__posts,
  .newsSingleMain__posts {
    padding-right: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .newsArcMain__posts,
  .newsSingleMain__posts {
    padding-right: 0;
  }
}

.newsArcMain__list {
  gap: 0;
  margin-top: -4rem;
}
@media screen and (max-width: 1024px) {
  .newsArcMain__list {
    margin-top: -3rem;
  }
}
@media screen and (max-width: 640px) {
  .newsArcMain__list {
    margin-top: -1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .newsArcMain__list {
    margin-top: 0;
  }
}
.newsArcMain__list li a {
  border-bottom: 1px solid #303030;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .newsArcMain__list li a {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .newsArcMain__list li a {
    padding-top: 1.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .newsArcMain__list li a {
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .newsArcMain__list li a {
    padding-bottom: 1.8rem;
  }
}
.newsArcMain__list li a .ttl {
  -webkit-line-clamp: none;
}
@media screen and (max-width: 768px) {
  .newsArcMain__list li svg {
    bottom: calc(3rem + 0.75em);
  }
}
.newsArcMain__posts {
  width: 100%;
  padding-right: 8rem;
}
@media screen and (max-width: 1024px) {
  .newsArcMain__posts {
    padding-right: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .newsArcMain__posts {
    padding-right: 0;
  }
}

@media screen and (max-width: 768px) {
  .newsSingleMain__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 6rem;
  }
}
.newsSingleMainItem .summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.newsSingleMainItem .summary .cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  margin-right: 4rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 1024px) {
  .newsSingleMainItem .summary .cat {
    gap: 0.75rem;
  }
}
@media screen and (max-width: 640px) {
  .newsSingleMainItem .summary .cat {
    gap: 0.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .newsSingleMainItem .summary .cat {
    margin-right: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .newsSingleMainItem .summary .cat {
    margin-right: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .newsSingleMainItem .summary .cat {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.newsSingleMainItem .summary .cat span {
  background: #d6cec5;
  border-radius: 100vh;
  font-size: 1.2rem;
  padding: 0.65em 1.75em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  text-align: center;
  min-width: 12.5rem;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .newsSingleMainItem .summary .cat span {
    font-size: 1.02rem;
  }
}
@media screen and (max-width: 640px) {
  .newsSingleMainItem .summary .cat span {
    font-size: 1rem;
    min-width: auto;
    padding: 0.5em 1.5em;
  }
}
.newsSingleMainItem .summary time {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .newsSingleMainItem .summary time {
    font-size: 1.05rem;
  }
}
.newsSingleMainItem__ttl {
  padding: 1em 0;
  border-bottom: 1px solid #303030;
  width: 100%;
  margin-bottom: 1.5em;
}
.newsSingleMainItem__cont {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-bottom: 10rem;
}
@media screen and (max-width: 640px) {
  .newsSingleMainItem__cont {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 1024px) {
  .newsSingleMainItem__cont {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .newsSingleMainItem__cont {
    margin-bottom: 5.6rem;
  }
}
.newsSingleMainItem__cont p a {
  border-bottom: 1px solid #000;
}
.newsSingleMainItem__cont p em {
  font-style: italic;
}
.newsSingleMainItem__cont p,
.newsSingleMainItem__cont figure {
  margin-bottom: 3rem;
}
.newsSingleMainItem__cont h2,
.newsSingleMainItem__cont h3,
.newsSingleMainItem__cont h4,
.newsSingleMainItem__cont h5,
.newsSingleMainItem__cont h6 {
  margin-bottom: 1em;
  font-weight: 700;
}
.newsSingleMainItem__cont h2 {
  font-size: 1.75em;
}
.newsSingleMainItem__cont h3 {
  font-size: 1.5em;
}
.newsSingleMainItem__cont h4 {
  font-size: 1.25em;
}
.newsSingleMainItem__cont h3 {
  font-size: 1.15em;
}
.newsSingleMainItem__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .newsSingleMainItem__nav {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 6rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .newsSingleMainItem__nav {
    gap: 4.5rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 640px) {
  .newsSingleMainItem__nav {
    gap: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .newsSingleMainItem__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0;
  }
}
@media screen and (max-width: 640px) {
  .newsSingleMainItem__nav {
    display: -ms-grid;
    display: grid;
    gap: 3rem;
  }
}
.newsSingleMainItem__nav a {
  border: 1px solid #303030;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  padding: 0.75em 1.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 100vh;
}
@media screen and (max-width: 640px) {
  .newsSingleMainItem__nav a {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 640px) {
  .newsSingleMainItem__nav a {
    height: 3.5rem;
    padding: 0 1em;
  }
}
@media (any-hover: hover) {
  .newsSingleMainItem__nav a {
    -webkit-transition: 0.6s ease;
    transition: 0.6s ease;
  }
  .newsSingleMainItem__nav a:hover {
    background: #f0eae1;
  }
}
.newsSingleMainItem__nav .back {
  width: 26rem;
}
@media screen and (max-width: 1024px) {
  .newsSingleMainItem__nav .back {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    margin: 0 auto;
  }
}
@media screen and (max-width: 640px) {
  .newsSingleMainItem__nav .back {
    width: 20rem;
  }
}
.newsSingleMainItem__nav .next,
.newsSingleMainItem__nav .prev,
.newsSingleMainItem__nav .spacer {
  width: 19rem;
}
@media screen and (max-width: 640px) {
  .newsSingleMainItem__nav .next,
  .newsSingleMainItem__nav .prev,
  .newsSingleMainItem__nav .spacer {
    width: 13rem;
  }
}
.newsSingleMainItem__nav .next,
.newsSingleMainItem__nav .prev {
  gap: 2rem;
}
@media screen and (max-width: 1024px) {
  .newsSingleMainItem__nav .next,
  .newsSingleMainItem__nav .prev {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .newsSingleMainItem__nav .next,
  .newsSingleMainItem__nav .prev {
    gap: 1rem;
  }
}
.newsSingleMainItem__nav .next svg,
.newsSingleMainItem__nav .prev svg {
  display: block;
  width: 4.7rem;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media screen and (max-width: 640px) {
  .newsSingleMainItem__nav .next svg,
  .newsSingleMainItem__nav .prev svg {
    width: 2.4rem;
  }
}
@media screen and (max-width: 1024px) {
  .newsSingleMainItem__nav .prev {
    margin-right: auto;
  }
}
@media (any-hover: hover) {
  .newsSingleMainItem__nav .prev:hover svg {
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px);
  }
}
@media screen and (max-width: 1024px) {
  .newsSingleMainItem__nav .next {
    margin-left: auto;
  }
}
@media (any-hover: hover) {
  .newsSingleMainItem__nav .next:hover svg {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}

/*******************************

    CONTACT

*******************************/
.contactMain {
  max-width: calc(80rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .contactMain {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .contactMain {
    width: calc(100% - 2rem * 2);
  }
}
.contactMain__ttl {
  text-align: center;
  margin-bottom: 8rem;
}
@media screen and (max-width: 1024px) {
  .contactMain__ttl {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMain__ttl {
    margin-bottom: 3.6rem;
  }
}

.contactMainBefore {
  max-width: calc(100rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .contactMainBefore {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .contactMainBefore {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .contactMainBefore {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMainBefore {
    margin-bottom: 7.2rem;
  }
}
.contactMainBefore__head {
  text-align: center;
  margin-bottom: 8rem;
}
@media screen and (max-width: 1024px) {
  .contactMainBefore__head {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMainBefore__head {
    margin-bottom: 3.6rem;
  }
}
.contactMainBefore__head .ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .contactMainBefore__head .ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMainBefore__head .ttl {
    margin-bottom: 1.8rem;
  }
}
.contactMainBefore .list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 4rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
}
@media screen and (max-width: 1024px) {
  .contactMainBefore .list {
    gap: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMainBefore .list {
    gap: 2rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMainBefore .list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 640px) {
  .contactMainBefore .list {
    margin: 0 auto;
  }
}
.contactMainBefore .list li {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  display: -ms-grid;
  display: grid;
  gap: 0;
  -ms-grid-row-span: 4;
  grid-row: span 4;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
}
@media screen and (max-width: 1024px) {
  .contactMainBefore .list li {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMainBefore .list li {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMainBefore .list li {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .contactMainBefore .list li br {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .contactMainBefore .list li br {
    display: inherit;
  }
}
.contactMainBefore .list .cont {
  margin-top: -4rem;
  background: #f0eae1;
  border-radius: 2rem 2rem 0 0;
  overflow: hidden;
  z-index: 1;
  position: relative;
  padding: 4rem;
  display: inherit;
  -ms-grid-rows: inherit;
  grid-template-rows: inherit;
  grid-row: inherit;
}
@media screen and (max-width: 1024px) {
  .contactMainBefore .list .cont {
    border-radius: 1.5rem 1.5rem 0 0;
  }
}
@media screen and (max-width: 640px) {
  .contactMainBefore .list .cont {
    border-radius: 1rem 1rem 0 0;
  }
}
@media screen and (max-width: 1024px) {
  .contactMainBefore .list .cont {
    padding: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMainBefore .list .cont {
    padding: 1.8rem;
  }
}
.contactMainBefore .list .cont .ttl {
  text-align: center;
}
.contactMainBefore .list .cont .txt {
  padding: 2em 0;
}
@media screen and (max-width: 640px) {
  .contactMainBefore .list .cont .txt {
    padding: 1em 0 1.5em;
  }
}
.contactMainBefore .list .cont .btn {
  width: 100%;
}

.contactFlow {
  max-width: calc(100rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .contactFlow {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .contactFlow {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .contactFlow {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .contactFlow {
    margin-bottom: 7.2rem;
  }
}
.contactFlow__head {
  text-align: center;
  margin-bottom: 8rem;
}
@media screen and (max-width: 1024px) {
  .contactFlow__head {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .contactFlow__head {
    margin-bottom: 3.6rem;
  }
}
.contactFlow__head .ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .contactFlow__head .ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .contactFlow__head .ttl {
    margin-bottom: 1.8rem;
  }
}
.contactFlow .subttl {
  margin-bottom: 6rem;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .contactFlow .subttl {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .contactFlow .subttl {
    margin-bottom: 2.7rem;
  }
}
.contactFlow .list {
  gap: 6rem;
}
@media screen and (max-width: 1024px) {
  .contactFlow .list {
    gap: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .contactFlow .list {
    gap: 3rem;
  }
}

/* formレイアウト
-----------------------------*/
.contactMain__form .wpcf7-form-control-wrap:not([data-name=your-message]):not([data-name=your-address]):not([data-name=your-accept]) {
  display: block;
  width: 50%;
}
@media screen and (max-width: 768px) {
  .contactMain__form .wpcf7-form-control-wrap:not([data-name=your-message]):not([data-name=your-address]):not([data-name=your-accept]) {
    width: 100%;
  }
}
.contactMain__form dt {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 1rem;
}
@media screen and (max-width: 640px) {
  .contactMain__form dt {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMain__form dt {
    margin-bottom: 0.75rem;
  }
}
.contactMain__form dt .req {
  color: #fff;
  background: #e51c18;
  font-size: 1.2rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  padding: 0.25em 1.25em;
  margin-left: 0.8em;
  border-radius: 100vh;
}
@media screen and (max-width: 640px) {
  .contactMain__form dt .req {
    font-size: 1.02rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMain__form dt .req {
    padding: 0.35rem 0.75rem 0.45rem;
  }
}
.contactMain__form .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 1024px) {
  .contactMain__form .list {
    gap: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMain__form .list {
    gap: 2rem;
  }
}

/* 基本のform中身
-----------------------------*/
.contactMain__form input[type=text],
.contactMain__form input[type=email],
.contactMain__form input[type=tel],
.contactMain__form select,
.contactMain__form textarea {
  color: #303030;
  line-height: 2;
  letter-spacing: 0.1em;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic StdN", "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  padding: 0.75em 1.5em;
  border: 1px solid #303030;
  border-radius: 100vh;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .contactMain__form input[type=text],
  .contactMain__form input[type=email],
  .contactMain__form input[type=tel],
  .contactMain__form select,
  .contactMain__form textarea {
    font-size: 1.36rem;
  }
}
.contactMain__form input[type=text]:focus,
.contactMain__form input[type=email]:focus,
.contactMain__form input[type=tel]:focus,
.contactMain__form select:focus,
.contactMain__form textarea:focus {
  outline: none;
}
.contactMain__form input[type=text]::-webkit-input-placeholder, .contactMain__form input[type=email]::-webkit-input-placeholder, .contactMain__form input[type=tel]::-webkit-input-placeholder, .contactMain__form select::-webkit-input-placeholder, .contactMain__form textarea::-webkit-input-placeholder {
  color: #BABABA;
}
.contactMain__form input[type=text]::-moz-placeholder, .contactMain__form input[type=email]::-moz-placeholder, .contactMain__form input[type=tel]::-moz-placeholder, .contactMain__form select::-moz-placeholder, .contactMain__form textarea::-moz-placeholder {
  color: #BABABA;
}
.contactMain__form input[type=text]:-ms-input-placeholder, .contactMain__form input[type=email]:-ms-input-placeholder, .contactMain__form input[type=tel]:-ms-input-placeholder, .contactMain__form select:-ms-input-placeholder, .contactMain__form textarea:-ms-input-placeholder {
  color: #BABABA;
}
.contactMain__form input[type=text]::-ms-input-placeholder, .contactMain__form input[type=email]::-ms-input-placeholder, .contactMain__form input[type=tel]::-ms-input-placeholder, .contactMain__form select::-ms-input-placeholder, .contactMain__form textarea::-ms-input-placeholder {
  color: #BABABA;
}
.contactMain__form input[type=text]::placeholder,
.contactMain__form input[type=email]::placeholder,
.contactMain__form input[type=tel]::placeholder,
.contactMain__form select::placeholder,
.contactMain__form textarea::placeholder {
  color: #BABABA;
}
.contactMain__form textarea {
  height: 20rem;
  resize: vertical;
  border-radius: 2.6rem 2.6rem 2.6rem 2.6rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .contactMain__form textarea {
    border-radius: 1.95rem 1.95rem 1.95rem 1.95rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMain__form textarea {
    border-radius: 1.3rem 1.3rem 1.3rem 1.3rem;
  }
}
@media screen and (max-width: 768px) {
  .contactMain__form textarea {
    height: 40rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMain__form textarea {
    height: 28rem;
  }
}

/* valid
-----------------------------*/
.contactMain__form :has(.wpcf7-not-valid-tip) .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  margin-top: 0.5em;
}

/* select
-----------------------------*/
span[data-name=your-reason],
span[data-name=your-start],
span[data-name=your-age] {
  position: relative;
}
span[data-name=your-reason] select,
span[data-name=your-start] select,
span[data-name=your-age] select {
  background: url(../img/icon-select.svg) right 2.2rem center no-repeat;
  background-size: 1.1rem;
}

/* policy
-----------------------------*/
.contactMain__policy {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-top: 6rem;
}
@media screen and (max-width: 1024px) {
  .contactMain__policy {
    margin-top: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMain__policy {
    margin-top: 2.7rem;
  }
}
.contactMain__policy .your-consent {
  display: block;
  margin-bottom: 3rem;
  margin-left: 20rem;
}
.contactMain__policy .wpcf7-list-item {
  margin-left: 0;
}
.contactMain__policy .wpcf7-acceptance {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.contactMain__policy .wpcf7-acceptance input[type=checkbox] {
  display: none;
}
.contactMain__policy .wpcf7-acceptance label span {
  display: block;
  padding-left: 4.4rem;
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .contactMain__policy .wpcf7-acceptance label span {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMain__policy .wpcf7-acceptance label span {
    padding-left: 3.6rem;
  }
}
.contactMain__policy .wpcf7-acceptance label span a {
  color: #303030;
  -webkit-transition: ease 0.6s;
  transition: ease 0.6s;
  border-bottom: 1px solid #303030;
  line-height: 1;
}
@media (any-hover: hover) {
  .contactMain__policy .wpcf7-acceptance label span a:hover {
    opacity: 0.6;
  }
}
.contactMain__policy .wpcf7-acceptance label span::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  /* Safari用 */
  transform: translateY(-50%);
  left: 0;
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid #303030;
  border-radius: 0.6rem;
  background: #fff;
}
.contactMain__policy .wpcf7-acceptance input:checked + span::before {
  background: #174a9d;
  border-color: #174a9d;
}
.contactMain__policy .wpcf7-acceptance input:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0.75rem;
  left: 0.8rem;
  width: 0.7rem;
  height: 1.4rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

/* send
-----------------------------*/
.contactMain__send {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-top: 8rem;
}
@media screen and (max-width: 1024px) {
  .contactMain__send {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMain__send {
    margin-top: 3.6rem;
  }
}
.contactMain__send input[type=submit] {
  border: 1px solid #e51c18;
  border-radius: 100vh;
  font-size: 1.6rem;
  line-height: 1.25;
  letter-spacing: 0.01em;
  line-height: 1.25;
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
  width: 29rem;
  color: #e51c18;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  background: url(../img/contact/send-arrow.svg) right 2.4rem center no-repeat;
  background-size: 4.7rem;
}
@media screen and (max-width: 640px) {
  .contactMain__send input[type=submit] {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 1024px) {
  .contactMain__send input[type=submit] {
    padding-top: 1.05rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMain__send input[type=submit] {
    padding-top: 0.91rem;
  }
}
@media screen and (max-width: 1024px) {
  .contactMain__send input[type=submit] {
    padding-bottom: 1.05rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMain__send input[type=submit] {
    padding-bottom: 0.91rem;
  }
}
@media screen and (max-width: 640px) {
  .contactMain__send input[type=submit] {
    background-size: 2.4rem;
  }
}
@media (any-hover: hover) {
  .contactMain__send input[type=submit] {
    will-change: transform;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .contactMain__send input[type=submit]:hover {
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
  }
}

/*******************************

    FEATURE

*******************************/
.cmnKv03.is-feature {
  background: #efce43;
}

.featureAbout {
  margin-bottom: 16rem;
  background: #f0eae1;
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  padding-top: 10rem;
  padding-bottom: 10rem;
  padding-left: 6rem;
  padding-right: 6rem;
}
@media screen and (max-width: 1024px) {
  .featureAbout {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .featureAbout {
    margin-bottom: 7.2rem;
  }
}
@media screen and (max-width: 1024px) {
  .featureAbout {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .featureAbout {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .featureAbout {
    padding-top: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .featureAbout {
    padding-top: 4.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .featureAbout {
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .featureAbout {
    padding-bottom: 4.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .featureAbout {
    padding-left: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .featureAbout {
    padding-left: 2.7rem;
  }
}
@media screen and (max-width: 1024px) {
  .featureAbout {
    padding-right: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .featureAbout {
    padding-right: 2.7rem;
  }
}
@media screen and (max-width: 640px) {
  .featureAbout {
    width: 100%;
  }
}
.featureAbout__inner, .featureAbout__graph {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 36rem 6rem 1fr;
  grid-template-columns: 36rem 1fr;
  gap: 6rem;
}
@media screen and (max-width: 1024px) {
  .featureAbout__inner, .featureAbout__graph {
    gap: 3.6rem;
  }
}
@media screen and (max-width: 640px) {
  .featureAbout__inner, .featureAbout__graph {
    gap: 3rem;
  }
}
.featureAbout__inner {
  margin-bottom: 12rem;
}
@media screen and (max-width: 1024px) {
  .featureAbout__inner {
    margin-bottom: 9rem;
  }
}
@media screen and (max-width: 640px) {
  .featureAbout__inner {
    margin-bottom: 5.4rem;
  }
}
@media screen and (max-width: 768px) {
  .featureAbout__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.featureAbout__inner .img {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .featureAbout__inner .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .featureAbout__inner .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 768px) {
  .featureAbout__inner .img {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    aspect-ratio: 96/120;
  }
}
.featureAbout__inner .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .featureAbout__inner .cont {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
.featureAbout__inner .cont .ttl {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 1024px) {
  .featureAbout__inner .cont .ttl {
    margin-bottom: 4.8rem;
  }
}
@media screen and (max-width: 640px) {
  .featureAbout__inner .cont .ttl {
    margin-bottom: 2.88rem;
  }
}
@media screen and (max-width: 640px) {
  .featureAbout__inner .cont .txtbox {
    font-size: 1.36rem;
  }
}
.featureAbout__inner .cont .txtbox p + p {
  margin-top: 1.5em;
}
@media screen and (max-width: 1024px) {
  .featureAbout__graph {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.featureAbout__graph .ttl {
  padding-top: 0.75rem;
}
@media screen and (max-width: 1024px) {
  .featureAbout__graph .ttl {
    padding-top: 0;
    text-align: center;
  }
}
.featureAbout__graph .graph {
  max-width: 70rem;
}
@media screen and (max-width: 1024px) {
  .featureAbout__graph .graph {
    margin: 0 auto;
  }
}

.featurePoint {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 24rem;
}
@media screen and (max-width: 1024px) {
  .featurePoint {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .featurePoint {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .featurePoint {
    margin-bottom: 18rem;
  }
}
@media screen and (max-width: 640px) {
  .featurePoint {
    margin-bottom: 10.8rem;
  }
}

.featurePointItem__ttl {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 1024px) {
  .featurePointItem__ttl {
    margin-bottom: 4.8rem;
  }
}
@media screen and (max-width: 640px) {
  .featurePointItem__ttl {
    margin-bottom: 2.88rem;
  }
}
.featurePointItem__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10rem;
}
@media screen and (max-width: 1024px) {
  .featurePointItem__list {
    gap: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .featurePointItem__list {
    gap: 5rem;
  }
}
.featurePointItem__list li {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .featurePointItem__list li {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media screen and (min-width: 769px) {
  .featurePointItem__list li:nth-of-type(odd) .img {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
.featurePointItem__list li:nth-of-type(odd) .cont {
  padding-left: 10rem;
  padding-right: 0;
}
@media screen and (max-width: 1024px) {
  .featurePointItem__list li:nth-of-type(odd) .cont {
    padding-left: 7.5rem;
  }
}
@media screen and (max-width: 768px) {
  .featurePointItem__list li:nth-of-type(odd) .cont {
    padding-left: 0;
  }
}
.featurePointItem__list li .img {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .featurePointItem__list li .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .featurePointItem__list li .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
.featurePointItem__list li .cont {
  padding-right: 10rem;
}
@media screen and (max-width: 1024px) {
  .featurePointItem__list li .cont {
    padding-right: 7.5rem;
  }
}
@media screen and (max-width: 768px) {
  .featurePointItem__list li .cont {
    margin-bottom: 6rem;
    padding-right: 0;
  }
}
@media screen and (max-width: 768px) and (max-width: 1024px) {
  .featurePointItem__list li .cont {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 768px) and (max-width: 640px) {
  .featurePointItem__list li .cont {
    margin-bottom: 2.7rem;
  }
}
.featurePointItem__list li .cont .ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 2rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .featurePointItem__list li .cont .ttl {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .featurePointItem__list li .cont .ttl {
    gap: 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .featurePointItem__list li .cont .ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .featurePointItem__list li .cont .ttl {
    margin-bottom: 1.8rem;
  }
}
.featurePointItem__list li .cont .ttl .num {
  color: #e51c18;
}
.featurePointItem__list li .cont .txtbox p + p {
  margin-top: 1.5em;
}
.featurePointItem + .featurePointItem {
  margin-top: 16rem;
}
@media screen and (max-width: 1024px) {
  .featurePointItem + .featurePointItem {
    margin-top: 12rem;
  }
}
@media screen and (max-width: 640px) {
  .featurePointItem + .featurePointItem {
    margin-top: 7.2rem;
  }
}

.featureSupport {
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .featureSupport {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .featureSupport {
    width: calc(100% - 2rem * 2);
  }
}
.featureSupport__ttl {
  text-align: center;
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 1024px) {
  .featureSupport__ttl {
    margin-bottom: 4.8rem;
  }
}
@media screen and (max-width: 640px) {
  .featureSupport__ttl {
    margin-bottom: 2.88rem;
  }
}
.featureSupport__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10rem;
}
@media screen and (max-width: 1024px) {
  .featureSupport__list {
    gap: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .featureSupport__list {
    gap: 5rem;
  }
}
.featureSupport__list li {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 50rem;
  grid-template-columns: 1fr 50rem;
  background: #efce43;
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .featureSupport__list li {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .featureSupport__list li {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .featureSupport__list li {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 768px) {
  .featureSupport__list li {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media screen and (min-width: 1025px) {
  .featureSupport__list li:nth-of-type(odd) {
    -ms-grid-columns: 50rem 1fr;
    grid-template-columns: 50rem 1fr;
  }
}
@media screen and (min-width: 769px) {
  .featureSupport__list li:nth-of-type(odd) .img {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
.featureSupport__list li .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.featureSupport__list li .cont {
  padding: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .featureSupport__list li .cont {
    padding: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .featureSupport__list li .cont {
    padding: 2.7rem;
  }
}
@media screen and (max-width: 640px) {
  .featureSupport__list li .cont {
    padding: 3rem 2rem;
  }
}
.featureSupport__list li .cont .ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 2rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .featureSupport__list li .cont .ttl {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .featureSupport__list li .cont .ttl {
    gap: 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .featureSupport__list li .cont .ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .featureSupport__list li .cont .ttl {
    margin-bottom: 1.8rem;
  }
}
.featureSupport__list li .cont .ttl .num {
  color: #e51c18;
}
@media screen and (max-width: 1024px) {
  .featureSupport__list li .cont .txtbox {
    margin-bottom: 4.8rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .featureSupport__list li .cont .txtbox {
    margin-bottom: 3.6rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 640px) {
  .featureSupport__list li .cont .txtbox {
    margin-bottom: 2.16rem;
  }
}
.featureSupport__list li .cont .txtbox p + p {
  margin-top: 1.5em;
}
.featureSupport__list li .cont .txtbox .note {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .featureSupport__list li .cont .txtbox .note {
    font-size: 1.19rem;
  }
}
.featureSupport__list li .cont .btn {
  margin-top: auto;
}
@media screen and (max-width: 1024px) {
  .featureSupport__list li .cont .btn {
    margin-bottom: 4.8rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .featureSupport__list li .cont .btn {
    margin-bottom: 3.6rem;
  }
}
@media screen and (max-width: 1024px) and (max-width: 640px) {
  .featureSupport__list li .cont .btn {
    margin-bottom: 2.16rem;
  }
}
.featureSupport__list li .cont .deco {
  position: absolute;
  bottom: 4rem;
  right: 4rem;
}
@media screen and (max-width: 1024px) {
  .featureSupport__list li .cont .deco {
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: auto;
    margin-left: auto;
  }
}
.featureSupport__list li .cont .deco.is-human {
  width: 27rem;
}
@media screen and (max-width: 1024px) {
  .featureSupport__list li .cont .deco.is-human {
    width: 20.25rem;
  }
}
@media screen and (max-width: 640px) {
  .featureSupport__list li .cont .deco.is-human {
    width: 13.5rem;
  }
}
.featureSupport__list li .cont .deco.is-eat {
  width: 14.4rem;
}
@media screen and (max-width: 1024px) {
  .featureSupport__list li .cont .deco.is-eat {
    width: 10.8rem;
  }
}
@media screen and (max-width: 640px) {
  .featureSupport__list li .cont .deco.is-eat {
    width: 7.2rem;
  }
}

/*******************************

    AGE

*******************************/
.ageSupport2-4 {
  --data-subcolor: #7ACCEA;
  --data-color:#174a9d;
}

.ageSupport4-6 {
  --data-subcolor: #5F9EE7;
  --data-color:#174a9d;
}

.ageSupport-esl {
  --data-subcolor: #FFADAB;
  --data-color:#e51c18;
}

.ageSupport-esu {
  --data-subcolor: #F26F6F;
  --data-color:#e51c18;
}

.ageSupport__wrap {
  position: relative;
}
.ageSupport__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 75rem;
  grid-template-columns: 1fr 75rem;
  max-width: calc(124rem);
  width: calc(100% - 6rem * 2);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .ageSupport__inner {
    width: calc(100% - 4rem * 2);
  }
}
@media screen and (max-width: 640px) {
  .ageSupport__inner {
    width: calc(100% - 2rem * 2);
  }
}
@media screen and (max-width: 1024px) {
  .ageSupport__inner {
    display: block;
    width: 100%;
  }
}

.ageSupportSide {
  position: relative;
}
@media screen and (max-width: 1024px) {
  .ageSupportSide {
    padding: 10rem 4rem 0;
  }
}
@media screen and (max-width: 768px) {
  .ageSupportSide {
    padding-top: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportSide {
    padding: 4rem 2rem 0;
  }
}
.ageSupportSide .ttl {
  margin-top: 10rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportSide .ttl {
    margin-top: 0;
  }
}
.ageSupportSide .ttl span {
  display: block;
}
.ageSupportSide .ttl .en {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-bottom: 0.15em;
  text-transform: uppercase;
}
@media screen and (max-width: 640px) {
  .ageSupportSide .ttl .en {
    font-size: 1.19rem;
  }
}
.ageSupportSide .ttl .ja {
  font-size: 4rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .ageSupportSide .ttl .ja {
    font-size: 2.8rem;
  }
}

.ageSupportKv {
  padding-top: 12rem;
  margin-bottom: 8.8rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportKv {
    padding-top: 9rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportKv {
    padding-top: 5.4rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportKv {
    margin-bottom: 6.6rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportKv {
    margin-bottom: 3.96rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportKv {
    padding-top: 0;
    padding: 0 4rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportKv {
    padding: 0 2rem;
  }
}
.ageSupportKv__inner {
  padding: 0 2.4rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportKv__inner {
    padding: 0;
  }
}
.ageSupportKv .cont {
  padding: 0 1.6rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportKv .cont {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportKv .cont {
    margin-bottom: 2.7rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportKv .cont {
    padding: 0;
  }
}
.ageSupportKv .cont .ttl {
  font-size: 4rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 640px) {
  .ageSupportKv .cont .ttl {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportKv .cont .ttl {
    margin-bottom: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportKv .cont .ttl {
    margin-bottom: 1.08rem;
  }
}
.ageSupportKv .cont .txt {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .ageSupportKv .cont .txt {
    font-size: 1.36rem;
  }
}
.ageSupportKv .img {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .ageSupportKv .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportKv .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}

.ageSupportAbout__lead {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  background: #f0eae1;
  margin-bottom: 8rem;
  padding-top: 8rem;
  padding-right: 6rem;
  padding-left: 6rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportAbout__lead {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportAbout__lead {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportAbout__lead {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportAbout__lead {
    margin-bottom: 3.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportAbout__lead {
    padding-top: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportAbout__lead {
    padding-top: 3.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportAbout__lead {
    padding-right: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportAbout__lead {
    padding-right: 2.7rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportAbout__lead {
    padding-left: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportAbout__lead {
    padding-left: 2.7rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportAbout__lead {
    padding-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportAbout__lead {
    padding-bottom: 2.7rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportAbout__lead {
    border-radius: 0;
    padding: 3.6rem 2rem;
  }
}
.ageSupportAbout__lead .list {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  max-width: 47rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  margin-bottom: 7.2rem;
}
@media screen and (max-width: 640px) {
  .ageSupportAbout__lead .list {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportAbout__lead .list {
    margin-bottom: 5.4rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportAbout__lead .list {
    margin-bottom: 3.24rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportAbout__lead .list {
    padding: 0.8rem 0;
  }
}
.ageSupportAbout__lead .list li {
  border-radius: 100vh;
  padding: 0.75em 1.5em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 28rem;
  text-align: center;
  position: relative;
  background: #f0eae1;
  -webkit-filter: drop-shadow(1px 1px 0 #606060) drop-shadow(-1px 1px 0 #606060) drop-shadow(1px -1px 0 #606060) drop-shadow(-1px -1px 0 #606060);
          filter: drop-shadow(1px 1px 0 #606060) drop-shadow(-1px 1px 0 #606060) drop-shadow(1px -1px 0 #606060) drop-shadow(-1px -1px 0 #606060);
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
.ageSupportAbout__lead .list li:nth-of-type(even) {
  margin-left: auto;
}
.ageSupportAbout__lead .list li:before {
  content: "";
  position: absolute;
  bottom: -2rem;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 1.2rem solid transparent;
  border-top: 1.8rem solid #f0eae1;
  z-index: 2;
}
.ageSupportAbout__lead .txtbox {
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .ageSupportAbout__lead .txtbox {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportAbout__lead .txtbox {
    font-size: 1.36rem;
  }
}
.ageSupportAbout__lead .txtbox p + p {
  margin-top: 1.5em;
}
.ageSupportAbout .img {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  margin-top: 6rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportAbout .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportAbout .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportAbout .img {
    margin-top: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportAbout .img {
    margin-top: 2.7rem;
  }
}
.ageSupportAbout__ttl {
  text-align: center;
  font-size: 3.2rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 4rem;
}
@media screen and (max-width: 640px) {
  .ageSupportAbout__ttl {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportAbout__ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportAbout__ttl {
    margin-bottom: 1.8rem;
  }
}

.ageSupportCase {
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportCase {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportCase {
    margin-bottom: 4.5rem;
  }
}
.ageSupportCase__nav {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 4rem;
  margin-right: 6rem;
  margin-left: auto;
}
@media screen and (max-width: 1024px) {
  .ageSupportCase__nav {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportCase__nav {
    margin-top: 1.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportCase__nav {
    margin-right: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportCase__nav {
    margin-right: 2.7rem;
  }
}

.ageSupportCaseItem {
  background: var(--data-subcolor);
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  padding: 6rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportCaseItem {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportCaseItem {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportCaseItem {
    padding: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportCaseItem {
    padding: 2.7rem;
  }
}
.ageSupportCaseItem.swiper-slide {
  height: auto !important;
}
.ageSupportCaseItem__inner {
  height: 100%;
}
.ageSupportCaseItem .num {
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportCaseItem .num {
    margin-bottom: 1.2rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportCaseItem .num {
    margin-bottom: 0.72rem;
  }
}
.ageSupportCaseItem .ttl {
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportCaseItem .ttl {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportCaseItem .ttl {
    margin-bottom: 2.7rem;
  }
}
.ageSupportCaseItem .subttl {
  margin-bottom: 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportCaseItem .subttl {
    margin-bottom: 1.2rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportCaseItem .subttl {
    margin-bottom: 0.72rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportCaseItem .subttl {
    gap: 0.75rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportCaseItem .subttl {
    gap: 0.5rem;
  }
}
.ageSupportCaseItem .subttl span {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.ageSupportCaseItem .subttl::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #303030;
  display: block;
}
.ageSupportCaseItem .approach {
  margin-bottom: 2.4rem;
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .ageSupportCaseItem .approach {
    margin-bottom: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportCaseItem .approach {
    margin-bottom: 1.08rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportCaseItem .approach {
    font-size: 1.8rem;
  }
}

.ageSupportFeature {
  background: #efce43;
  padding: 6rem;
  padding-bottom: 8rem;
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportFeature {
    padding: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFeature {
    padding: 2.7rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportFeature {
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFeature {
    padding-bottom: 3.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportFeature {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFeature {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFeature {
    padding: 3.6rem 2rem;
  }
}
.ageSupportFeature__head {
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportFeature__head {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFeature__head {
    margin-bottom: 2.7rem;
  }
}
.ageSupportFeature__head .ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportFeature__head .ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFeature__head .ttl {
    margin-bottom: 1.8rem;
  }
}
.ageSupportFeature .list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 8rem 2rem;
}
@media screen and (max-width: 640px) {
  .ageSupportFeature .list {
    gap: 2rem 1rem;
  }
}
.ageSupportFeature .list .img {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
  margin-bottom: 2rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportFeature .list .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFeature .list .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportFeature .list .img {
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFeature .list .img {
    margin-bottom: 0.9rem;
  }
}
.ageSupportFeature .list .ttl {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .ageSupportFeature .list .ttl {
    font-size: 1.36rem;
  }
}
.ageSupportFeature .btn {
  margin: 0 auto;
  margin-top: 8rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportFeature .btn {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFeature .btn {
    margin-top: 3.6rem;
  }
}

.ageSupportDev {
  background: var(--data-color);
  padding-bottom: 8rem;
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportDev {
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDev {
    padding-bottom: 3.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportDev {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDev {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDev {
    padding-bottom: 3.6rem;
  }
}
.ageSupportDev__head {
  padding: 6rem;
  padding-bottom: 8rem;
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-grid-columns: auto 4rem 1fr;
  grid-template-columns: auto 1fr;
  gap: 4rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportDev__head {
    padding: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDev__head {
    padding: 2.7rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportDev__head {
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDev__head {
    padding-bottom: 3.6rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDev__head {
    padding: 3.6rem 2rem;
  }
}
.ageSupportDev__head .ttl {
  color: #fff;
}
.ageSupportDev__head .logo {
  height: 4rem;
  margin-left: auto;
}
@media screen and (max-width: 1024px) {
  .ageSupportDev__head .logo {
    height: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDev__head .logo {
    height: 2rem;
  }
}
.ageSupportDev__head .logo img {
  height: 100%;
  width: auto;
  max-width: auto;
}
.ageSupportDev__head .txt {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  color: #fff;
}
.ageSupportDev__nav {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 4rem;
  margin-right: 6rem;
  margin-left: auto;
  color: #fff;
}
@media screen and (max-width: 1024px) {
  .ageSupportDev__nav {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDev__nav {
    margin-top: 1.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportDev__nav {
    margin-right: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDev__nav {
    margin-right: 2.7rem;
  }
}
.ageSupportDev__nav path {
  fill: #fff;
}
.ageSupportDev__slide__prev, .ageSupportDev__slide__next {
  border-color: #fff;
}
.ageSupportDev .btn {
  margin: 0 auto;
  margin-top: 8rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportDev .btn {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDev .btn {
    margin-top: 3.6rem;
  }
}

.ageSupportDevItem {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .ageSupportDevItem {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDevItem {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
.ageSupportDevItem.swiper-slide-active {
  border-radius: 0 2rem 2rem 0;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .ageSupportDevItem.swiper-slide-active {
    border-radius: 0 1.5rem 1.5rem 0;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDevItem.swiper-slide-active {
    border-radius: 0 1rem 1rem 0;
  }
}
.ageSupportDevItem.swiper-slide {
  height: auto !important;
}
.ageSupportDevItem__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}
@media screen and (max-width: 640px) {
  .ageSupportDevItem__inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 1fr 30rem;
    grid-template-rows: 1fr 30rem;
  }
}
.ageSupportDevItem__inner .cont {
  padding: 6rem;
  padding-top: 7rem;
  background: var(--data-subcolor);
  position: relative;
  border-radius: 0 2rem 2rem 0;
  overflow: hidden;
  width: calc(50% + 1rem);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (max-width: 1024px) {
  .ageSupportDevItem__inner .cont {
    padding: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDevItem__inner .cont {
    padding: 2.7rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportDevItem__inner .cont {
    padding-top: 5.25rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDevItem__inner .cont {
    padding-top: 3.15rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportDevItem__inner .cont {
    border-radius: 0 1.5rem 1.5rem 0;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDevItem__inner .cont {
    border-radius: 0 1rem 1rem 0;
  }
}
@media screen and (max-width: 768px) {
  .ageSupportDevItem__inner .cont {
    padding: 6rem 2rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDevItem__inner .cont {
    width: 100%;
    padding: 3rem 2rem;
    border-radius: 0 0 1rem 0;
  }
}
.ageSupportDevItem__inner .cont .num {
  position: absolute;
  left: 6rem;
  top: 3rem;
}
@media screen and (max-width: 640px) {
  .ageSupportDevItem__inner .cont .num {
    position: relative;
    left: auto;
    top: auto;
    margin-bottom: 1rem;
  }
}
.ageSupportDevItem__inner .cont .ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportDevItem__inner .cont .ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportDevItem__inner .cont .ttl {
    margin-bottom: 1.8rem;
  }
}
.ageSupportDevItem__inner .cont .ttl span {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: block;
}
@media screen and (max-width: 640px) {
  .ageSupportDevItem__inner .cont .ttl span {
    font-size: 1.36rem;
  }
}
.ageSupportDevItem__inner .cont .txtbox p + p {
  margin-top: 1.5em;
}
.ageSupportDevItem__inner .img {
  width: calc(100% + 4rem);
  margin-left: -4rem;
}
@media screen and (max-width: 640px) {
  .ageSupportDevItem__inner .img {
    width: 100%;
    margin-top: -1rem;
    margin-left: 0;
  }
}
.ageSupportDevItem__inner .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.ageSupportFlow {
  background: #f0eae1;
  padding: 6rem;
  padding-bottom: 8rem;
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportFlow {
    padding: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFlow {
    padding: 2.7rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportFlow {
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFlow {
    padding-bottom: 3.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportFlow {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFlow {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFlow {
    padding: 3.6rem 2rem;
  }
}
.ageSupportFlow__head {
  text-align: center;
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportFlow__head {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFlow__head {
    margin-bottom: 2.7rem;
  }
}
.ageSupportFlow__head .ttl {
  margin-bottom: 2.8rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportFlow__head .ttl {
    margin-bottom: 2.1rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFlow__head .ttl {
    margin-bottom: 1.26rem;
  }
}
.ageSupportFlow__head .txt {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportFlow__head .txt {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFlow__head .txt {
    margin-bottom: 1.8rem;
  }
}
.ageSupportFlow__head .img {
  border-radius: 2rem 2rem 2rem 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .ageSupportFlow__head .img {
    border-radius: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFlow__head .img {
    border-radius: 1rem 1rem 1rem 1rem;
  }
}
.ageSupportFlow .list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.2rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportFlow .list {
    gap: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFlow .list {
    gap: 1.6rem;
  }
}
.ageSupportFlow .list::before {
  content: "";
  width: 1px;
  height: 100%;
  display: block;
  position: absolute;
  left: 10rem;
  background: #e51c18;
  height: calc(100% - 2rem);
  top: 1rem;
}
@media screen and (max-width: 640px) {
  .ageSupportFlow .list::before {
    left: 8rem;
  }
}
.ageSupportFlow .list li {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 10rem 1fr;
  grid-template-columns: 10rem 1fr;
  position: relative;
}
@media screen and (max-width: 640px) {
  .ageSupportFlow .list li {
    -ms-grid-columns: 8rem 1fr;
    grid-template-columns: 8rem 1fr;
  }
}
.ageSupportFlow .list li::before {
  content: "";
  display: block;
  width: 1rem;
  aspect-ratio: 1/1;
  background: #e51c18;
  position: absolute;
  top: 0.8rem;
  left: 9.5rem;
  border-radius: 50%;
}
@media screen and (max-width: 640px) {
  .ageSupportFlow .list li::before {
    left: 7.5rem;
    top: 0.5rem;
  }
}
.ageSupportFlow .list li .time {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .ageSupportFlow .list li .time {
    font-size: 1.36rem;
  }
}
.ageSupportFlow .list li .cont {
  padding-left: 2.5rem;
}
.ageSupportFlow .list li .ttl {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .ageSupportFlow .list li .ttl {
    font-size: 1.36rem;
  }
}
.ageSupportFlow .list li .txt {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-top: 1.6rem;
}
@media screen and (max-width: 640px) {
  .ageSupportFlow .list li .txt {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportFlow .list li .txt {
    margin-top: 1.2rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFlow .list li .txt {
    margin-top: 0.72rem;
  }
}

.ageSupportMedia {
  margin-bottom: 10rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportMedia {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportMedia {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportMedia {
    padding: 0 2rem;
  }
}
.ageSupportMedia__ttl {
  text-align: center;
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportMedia__ttl {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportMedia__ttl {
    margin-bottom: 2.7rem;
  }
}
.ageSupportMedia__ttl picture {
  width: 63rem;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .ageSupportMedia__ttl picture {
    width: 47.25rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportMedia__ttl picture {
    width: 31.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportMedia__ttl picture {
    width: 29rem;
  }
}
.ageSupportMedia__ttl .ja {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-weight: 700;
  margin-top: 2rem;
}
@media screen and (max-width: 640px) {
  .ageSupportMedia__ttl .ja {
    font-size: 1.36rem;
  }
}
@media screen and (max-width: 1024px) {
  .ageSupportMedia__ttl .ja {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportMedia__ttl .ja {
    margin-top: 0.9rem;
  }
}
.ageSupportMedia__main {
  max-width: 36rem;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .ageSupportMedia__main {
    max-width: 20rem;
  }
}
.ageSupportMedia .btn {
  margin: 0 auto;
  margin-top: 6rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportMedia .btn {
    margin-top: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportMedia .btn {
    margin-top: 2.7rem;
  }
}

.ageSupportFirst {
  background: #f0eae1;
  padding: 6rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportFirst {
    padding: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFirst {
    padding: 2.7rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFirst {
    padding: 3.2rem 2rem;
  }
}
.ageSupportFirst .ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportFirst .ttl {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFirst .ttl {
    margin-bottom: 1.8rem;
  }
}
.ageSupportFirst .txtbox {
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportFirst .txtbox {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFirst .txtbox {
    margin-bottom: 2.7rem;
  }
}
.ageSupportFirst .txtbox p + p {
  margin-top: 1.5em;
}
.ageSupportFirst .img {
  margin-left: -6rem;
  margin-right: -6rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportFirst .img {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFirst .img {
    margin-bottom: 2.7rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFirst .img {
    margin-right: -2rem;
    margin-left: -2rem;
  }
}
.ageSupportFirst .btns .btn + .btn {
  margin-top: 2rem;
}
@media screen and (max-width: 1024px) {
  .ageSupportFirst .btns .btn + .btn {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .ageSupportFirst .btns .btn + .btn {
    margin-top: 0.9rem;
  }
}

/*******************************

    CATEGORY

*******************************/
/* tag
----------------------------- */