/*!********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./src/scss/style.scss ***!
  \********************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*レスポンシブ用*/
body {
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  line-height: 1;
}

div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section,
summary,
time,
mark,
audio,
video,
input,
textarea {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-style: normal;
  vertical-align: baseline;
  background: transparent;
}

img {
  vertical-align: bottom;
}

main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section,
div,
address,
iframe,
canvas,
hr,
textarea {
  display: block;
}

iframe {
  max-width: 100% !important;
}

img,
embed,
object,
video {
  max-width: 100%;
}

a, label {
  cursor: pointer;
}

blockquote {
  padding: 0;
  margin: 0;
  display: block;
}

address, em {
  font-style: normal;
}

hr {
  border: 0;
  margin: 0;
  padding: 0;
}

ul, ol, li {
  list-style: none;
}

textarea {
  resize: vertical;
  overflow: hidden;
  -ms-appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border: 0;
}

input, button, select {
  vertical-align: middle;
  border-radius: 0;
  box-sizing: border-box;
  border: 0;
  background: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  cursor: pointer;
  white-space: normal;
  outline: 0;
  -moz-appearance: none;
  -ms-appearance: none;
  -webkit-appearance: none;
}

button,
input[type=reset],
input[type=button],
input[type=submit],
input[type=checkbox],
input[type=radio],
select {
  box-sizing: border-box;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-indent: 0.01px;
  text-overflow: "";
}

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

table {
  border-collapse: collapse;
}

*:before, *:after {
  padding: 0;
  margin: 0;
  line-height: 1;
}

* {
  box-sizing: border-box;
}

*:before, *:after {
  box-sizing: border-box;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

br {
  font-size: 0;
}

::-moz-selection {
  background: var(--color-navy);
  color: #FFFFFF;
}

::selection {
  background: var(--color-navy);
  color: #FFFFFF;
}

input::-moz-selection, textarea::-moz-selection {
  color: #DDDDDD;
}

input::selection, textarea::selection {
  color: #DDDDDD;
}

html {
  font-size: 62.5%;
  min-height: 100%;
  padding: 0;
  scroll-behavior: smooth;
  /* レスポンシブフォント */
  /*
  @media screen and (min-width: 1023px) {
      font-size: .8vw;
  }

  @media screen and (min-width: 1281px) {
      font-size: .8vw;
  }

  @media screen and (min-width: 1401px) {
      font-size: .7vw;
  }

  @media screen and (min-width: 2001px) {
      font-size: 87.5%;
  }

  @include tab{
      font-size: 62.5%;
  }

  @include spl{
      font-size: 62.5%;
  }
  */
}

body {
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -o-font-smoothing: antialiased;
  font-smooth: antialiased;
  line-height: 2;
  font-family: var(--font-main);
  -webkit-overflow-scrolling: touch;
  overflow-x: hidden;
  font-size: 1.8rem;
  color: var(--color-txt);
  background-color: #FFF;
}
@media only screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 520px) {
  body {
    font-size: min(3.7837837838vw, 1.4rem);
  }
}
body.is-fixed {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
  left: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1.4rem;
}

input,
button,
select,
textarea {
  font-family: var(--font-main);
}

input:focus,
button:focus,
select:focus,
textarea:focus,
a:focus,
div:focus,
aside:focus {
  outline: none;
}

a {
  color: #000;
  text-decoration: underline;
}

a.is-hover {
  text-decoration: none;
}

br.is-pcbr {
  display: block;
}

br.is-spbr {
  display: none;
}

br.is-tabbr {
  display: none;
}

br.is-spsbr {
  display: none;
}

@media screen and (max-width: 1023px) {
  br.is-pcbr {
    display: none;
  }
}
@media only screen and (max-width: 1023px) {
  br.is-tabbr {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  br.is-spbr {
    display: block;
  }
}
@media screen and (max-width: 370px) {
  br.is-spsbr {
    display: block;
  }
}
:root {
  --container-width: 104.8rem;
  --side-margin: 2.4rem;
}
@media only screen and (max-width: 767px) {
  :root {
    --side-margin: 1.6rem;
  }
}

:root {
  --section-padding: 18.0rem 0;
  --section-padding-level2: 12.0rem;
  --section-padding-level3: 8.0rem;
  --section-padding-level4: 4.0rem;
}
@media only screen and (max-width: 767px) {
  :root {
    --section-padding: 8.0rem 0;
    --section-padding-level2: 6.0rem;
    --section-padding-level3: 3.2rem;
    --section-padding-level4: 1.6rem;
  }
}

:root {
  --color-main: #007882;
  --color-bg: #B0EDF2;
  --color-black: #000;
  --color-txt: #000;
  --color-white: #ffffff;
  --color-blue: #1877f2;
  --color-paleblue: #ccdcfe;
  --color-lightblue: #2ea7e0;
  --color-yellow: #ffdc26;
  --color-navy: #213378;
  --color-thinblue: #E8F8FF;
  --color-gray: #F3F3F3;
  --color-red: #FF6000;
}

:root {
  --font-main: "Zen Kaku Gothic Antique", sans-serif;
  --font-en: "Roboto", sans-serif;
  --font-outfit: "Outfit", sans-serif;
}

:root {
  --default-margin: 1.6rem;
  --margin-xs: calc(var(--default-margin) / 4);
  --margin-s: calc(var(--default-margin) / 2);
  --margin-m: var(--default-margin);
  --margin-l: calc(var(--default-margin) * 1.5);
  --margin-2l: calc(var(--default-margin) * 2);
  --margin-3l: calc(var(--default-margin) * 3);
  --margin-4l: calc(var(--default-margin) * 4);
  --margin-5l: calc(var(--default-margin) * 5);
  --margin-6l: calc(var(--default-margin) * 6);
  --space-1: .8rem;
  --space-2: 1.6rem;
  --space-3: 2.4rem;
  --space-4: 3.2rem;
  --space-5: 4.0rem;
  --space-6: 4.8rem;
  --space-7: 5.6rem;
  --space-8: 6.4rem;
  --space-9: 7.2rem;
  --space-10: 8.0rem;
  --space-11: 8.8rem;
  --space-12: 9.6rem;
  --space-13: 10.4rem;
  --space-14: 11.2rem;
  --space-15: 12.0rem;
}

/*-----------------------------------------
mixins
-----------------------------------------*/
/*レスポンシブ用*/
.l-container {
  max-width: var(--container-width);
  margin-inline: auto;
  padding-left: var(--side-margin);
  padding-right: var(--side-margin);
}
@media only screen and (max-width: 767px) {
  .l-container {
    overflow: hidden;
  }
}

/*レスポンシブ用*/
.c-btn__cv {
  text-align: center;
  background-color: var(--color-main);
  color: var(--color-white);
  text-decoration: none;
  padding: 1.2rem 1.875vw 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.4rem;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
@media only screen and (max-width: 1023px) {
  .c-btn__cv {
    padding: 1.2rem 3.125vw 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-btn__cv {
    padding: 1.2rem 6.4864864865vw 0.8rem;
  }
}
.c-btn__cv.is-hover {
  opacity: 0.8;
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
.c-btn__cv span {
  font-size: 1rem;
  font-weight: bold;
  display: block;
  line-height: 1;
}
.c-btn__cv strong {
  display: block;
  font-size: min(1.8rem, 1.25vw);
  line-height: 1;
  padding-top: 0.4rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .c-btn__cv strong {
    font-size: min(1.6rem, 4.3243243243vw);
  }
}
.c-btn__cv strong i {
  width: 2.6rem;
  aspect-ratio: 1/1;
  margin-right: 0.4rem;
  vertical-align: middle;
  margin-top: -0.4rem;
}
.c-btn__cv--inquiry {
  background-color: var(--color-black);
}

/*レスポンシブ用*/
/*レスポンシブ用*/
.c-heading__type01 {
  display: flex;
  gap: 1.6rem;
  flex-direction: column;
  align-items: first;
  justify-content: center;
  margin-bottom: 6.4rem;
}
@media only screen and (max-width: 767px) {
  .c-heading__type01 {
    margin-bottom: 4rem;
    gap: 0.8rem;
  }
}

.c-heading__type01__en {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  white-space: nowrap;
  overflow: hidden;
  text-indent: 200%;
}
@media only screen and (max-width: 767px) {
  .c-heading__type01__en {
    width: auto;
    height: 3.2rem;
    background-position: left center;
  }
}
.c-heading__type01__en--about {
  width: 25.4rem;
  background-image: url(../img/about/heading-en.svg);
  aspect-ratio: 254/72;
}
.c-heading__type01__en--skills {
  width: 43.4rem;
  background-image: url(../img/skills/heading-en.svg);
  aspect-ratio: 434/65;
}
.c-heading__type01__en--attend {
  width: 76rem;
  background-image: url(../img/attend/heading-en.svg);
  aspect-ratio: 760/62;
}
@media only screen and (max-width: 767px) {
  .c-heading__type01__en--attend {
    height: 2.7rem;
  }
}
.c-heading__type01__en--features {
  width: 34rem;
  background-image: url(../img/features/heading-en.svg);
  aspect-ratio: 342/57;
}
.c-heading__type01__en--instructor {
  width: 39.4rem;
  background-image: url(../img/instructor/heading-en.svg);
  aspect-ratio: 394/57;
}
.c-heading__type01__en--curriculum {
  width: 45.8rem;
  background-image: url(../img/curriculum/heading-en.svg);
  aspect-ratio: 458/58;
}
.c-heading__type01__en--follow {
  width: 61rem;
  background-image: url(../img/follow/heading-en.svg);
  aspect-ratio: 609/72;
}
.c-heading__type01__en--guide {
  width: 58rem;
  background-image: url(../img/guide/heading-en.svg);
  aspect-ratio: 581/52;
}
@media only screen and (max-width: 767px) {
  .c-heading__type01__en--guide {
    height: 2.8rem;
  }
}
.c-heading__type01__en--faq {
  width: 17.3rem;
  background-image: url(../img/faq/heading-en.svg);
  aspect-ratio: 173/61;
}

.c-heading__type01__ja {
  font-size: 1.6rem;
  font-weight: 400;
}
@media only screen and (max-width: 767px) {
  .c-heading__type01__ja {
    font-size: 1.4rem;
  }
}

.c-heading__type02 {
  font-size: 2.4rem;
  color: var(--color-main);
  font-weight: 600;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .c-heading__type02 {
    font-size: 1.8rem;
    margin-bottom: 1.6rem;
  }
}

.c-heading__type03 {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 600;
  margin-bottom: 2.4rem;
  color: var(--color-main);
}

/*レスポンシブ用*/
.c-icon__entry {
  background-image: url(../img/cmn/icon-entry.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 100%;
  aspect-ratio: 1/1;
  display: inline-block;
}

.c-icon__mail {
  background-image: url(../img/cmn/icon-mail.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 100%;
  aspect-ratio: 1/1;
  display: inline-block;
}

.c-icon-underarrow {
  background-image: url(../img/cmn/icon-underarrow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 100%;
  aspect-ratio: 40/16;
  display: inline-block;
}

.c-icon__close {
  position: relative;
  aspect-ratio: 1/1;
}
.c-icon__close::before, .c-icon__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  background-color: var(--color-black);
}
.c-icon__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-icon__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.c-icon__hambbtn {
  aspect-ratio: 1/1;
  position: relative;
}
.c-icon__hambbtn::before, .c-icon__hambbtn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-black);
}
.c-icon__hambbtn span {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-black);
  display: block;
}
.c-icon__hambbtn::before {
  margin-top: -0.8rem;
}
.c-icon__hambbtn::after {
  margin-top: 0.8rem;
}

.c-icon__hissu {
  background-color: var(--color-red);
  color: var(--color-white);
  display: inline-block;
  padding: 0.4rem var(--space-1);
  font-size: 1.2rem;
  font-weight: bold;
  margin-right: 0.4rem;
  border-radius: 999px;
  line-height: 1;
}

.c-icon__ninni {
  background-color: var(--color-gray);
  color: var(--color-txt);
  display: inline-block;
  padding: 0.4rem var(--space-1);
  font-size: 1.2rem;
  margin-right: 0.4rem;
  border-radius: 999px;
  line-height: 1;
}

/*レスポンシブ用*/
.c-logo-h {
  width: 100%;
  aspect-ratio: 130/62;
  background-image: url(../img/cmn/logo-h.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  white-space: nowrap;
  overflow: hidden;
  text-indent: -9999px;
  display: block;
}

/*レスポンシブ用*/
.c-text {
  line-height: 2;
}
.c-text strong {
  font-weight: bold;
  color: var(--color-main);
}

.c-text__underline {
  background-image: linear-gradient(0deg, rgb(255, 255, 255), rgb(255, 255, 255) 10px, rgb(255, 255, 0) 10px, rgb(255, 255, 0) 20px, rgb(255, 255, 255) 20px);
}

/*レスポンシブ用*/
input.c-form__input {
  border: 1px solid #DDD;
  background-color: var(--color-white);
  font-size: 1.6rem;
  padding: var(--space-1) var(--space-2);
  width: 100%;
}

textarea.c-form__input {
  border: 1px solid #DDD;
  background-color: var(--color-white);
  font-size: 1.6rem;
  padding: var(--space-1) var(--space-2);
  width: 100%;
  min-height: 25rem;
  resize: none;
  overflow-y: auto;
}

.c-form__select {
  position: relative;
}
.c-form__select select {
  border: 1px solid #DDD;
  background-color: var(--color-white);
  font-size: 1.6rem;
  padding: var(--space-1) var(--space-2);
  width: 100%;
}
.c-form__select::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  -webkit-clip-path: polygon(0 0, 100% 0%, 50% 100%);
          clip-path: polygon(0 0, 100% 0%, 50% 100%);
  background-color: var(--color-txt);
  position: absolute;
  right: var(--space-2);
  top: 50%;
  transform: translateY(-50%);
}

/*レスポンシブ用*/
.g-footer {
  position: relative;
  padding: var(--section-padding-level4) 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .g-footer {
    flex-direction: column;
    justify-content: flex-end;
  }
}
.g-footer > * {
  position: relative;
  z-index: 1;
}
.g-footer::before {
  content: "";
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  height: 100%;
  background-color: #D9D9D9;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.g-footer__copyright {
  text-align: right;
  display: block;
  padding-top: 0;
  font-size: 1.2rem;
}

.g-footer__links {
  display: flex;
  font-size: 1.4rem;
  gap: 1.6rem;
  flex-wrap: wrap;
}
.g-footer__links li {
  border-left: 1px solid var(--color-black);
  padding-left: 1.6rem;
  line-height: 1;
}
.g-footer__links li:first-child {
  border-left: none;
  padding-left: 0;
}

/*レスポンシブ用*/
.g-header {
  background-color: var(--color-white);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.6rem 2.4rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: 1000;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media only screen and (max-width: 767px) {
  .g-header {
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}

.g-header__logo {
  flex-basis: min(10.15625vw, 13rem);
  flex-shrink: 0;
}
@media only screen and (max-width: 1023px) {
  .g-header__logo {
    flex-basis: min(16.9270833333vw, 13rem);
  }
}
@media only screen and (max-width: 767px) {
  .g-header__logo {
    flex-basis: min(27.027027027vw, 10rem);
  }
}

.g-header__gnav {
  display: grid;
  align-content: center;
  grid-template-columns: repeat(5, auto);
  gap: 1.6rem min(2.5vw, 3.2rem);
  margin-left: auto;
  margin-right: min(2.5vw, 3.2rem);
  padding-left: 2.4rem;
}
@media only screen and (max-width: 1023px) {
  .g-header__gnav {
    display: none;
  }
}
.g-header__gnav li {
  align-self: center;
  line-height: 1;
}
.g-header__gnav a {
  text-decoration: none;
  font-size: min(0.9375vw, 1.4rem);
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.g-header__gnav a.is-hover {
  opacity: 0.6;
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

.g-header__cvnav {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 0 0.8rem;
}
@media only screen and (max-width: 1023px) {
  .g-header__cvnav {
    margin-left: auto;
    margin-right: 3.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .g-header__cvnav {
    display: none;
  }
}
.g-header__cvnav li a {
  height: 100%;
}

.g-header__hambbtn {
  display: none;
  width: 3.2rem;
}
@media only screen and (max-width: 1023px) {
  .g-header__hambbtn {
    display: block;
  }
}

/*レスポンシブ用*/
.g-statement {
  position: relative;
  padding: 24rem 0 24rem;
}
@media only screen and (max-width: 767px) {
  .g-statement {
    padding-left: 3.2rem;
    padding-right: 3.2rem;
  }
}
.g-statement > * {
  position: relative;
  z-index: 1;
}
.g-statement::before {
  content: "";
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  height: 100%;
  background-color: var(--color-bg);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.g-statement__logo {
  margin-inline: auto;
  text-align: center;
  width: 28.4rem;
  margin-bottom: 24rem;
}
@media only screen and (max-width: 767px) {
  .g-statement__logo {
    width: 18rem;
  }
}

.g-statement__logo__supported {
  font-size: 1rem;
}

.g-statement__text {
  display: grid;
  grid-template-columns: auto 1fr;
  max-width: 86rem;
  width: 100%;
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .g-statement__text {
    grid-template-columns: 1fr;
  }
}

.g-statement__text__catch {
  padding-left: 10rem;
  padding-right: 10rem;
}
@media only screen and (max-width: 767px) {
  .g-statement__text__catch {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 15.1351351351vw;
  }
}
.g-statement__text__catch h2 {
  position: sticky;
  top: 12rem;
  left: 0;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .g-statement__text__catch h2 {
    position: static;
    top: auto;
    left: auto;
  }
}

.g-statement__text__content p {
  margin-bottom: 7.2rem;
  line-height: 3.2;
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .g-statement__text__content p {
    font-size: min(4.3243243243vw, 1.6rem);
    line-height: 2.4;
  }
}
.g-statement__text__content p:last-child {
  margin-bottom: 0;
}

/*レスポンシブ用*/
.g-section {
  padding: var(--section-padding);
}
.g-section--blue {
  position: relative;
}
.g-section--blue > * {
  position: relative;
  z-index: 1;
}
.g-section--blue::before {
  content: "";
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  height: 100%;
  background-color: var(--color-bg);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.g-section--gray {
  position: relative;
}
.g-section--gray > * {
  position: relative;
  z-index: 1;
}
.g-section--gray::before {
  content: "";
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  height: 100%;
  background-color: #D9D9D9;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

/*レスポンシブ用*/
.g-about {
  padding-bottom: 0;
}

.g-about__image {
  display: block;
  max-width: 94rem;
  width: 100%;
  margin: 8rem auto;
}
@media only screen and (max-width: 767px) {
  .g-about__image {
    margin: 4rem auto;
  }
}

.g-about__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-bottom: 9rem;
}
@media only screen and (max-width: 767px) {
  .g-about__list {
    grid-template-columns: 1fr;
    margin-bottom: 5.6rem;
  }
}
.g-about__list li {
  padding: 1.6rem;
  background-color: var(--color-black);
  color: var(--color-white);
  font-size: 1.8rem;
  text-align: center;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .g-about__list li {
    font-size: 1.4rem;
  }
}

.g-about__question {
  position: relative;
  padding: 2.4rem 6.4rem;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 2.4rem;
  margin-inline: auto;
  margin-bottom: 9rem;
}
@media only screen and (max-width: 767px) {
  .g-about__question {
    font-size: 1.6rem;
    padding: 1.6rem 2.4rem;
    margin-bottom: 5.6rem;
  }
}
.g-about__question::before, .g-about__question::after {
  content: "";
  position: absolute;
  width: 1.8rem;
  aspect-ratio: 1/1;
  border-left: 1px solid var(--color-black);
  border-top: 1px solid var(--color-black);
  top: 0;
  left: 0;
}
.g-about__question::after {
  top: auto;
  left: auto;
  right: 0;
  bottom: 0;
  transform: rotate(180deg);
}

.g-about__solution {
  max-width: 95.7rem;
  width: 100%;
  margin: 0 auto;
  margin-bottom: 5.6rem;
  display: block;
}

.g-about__result {
  background-color: var(--color-main);
  color: var(--color-white);
  text-align: center;
  font-size: 2.4rem;
  padding: 2.4rem;
  margin-bottom: var(--section-padding-level2);
}
@media only screen and (max-width: 767px) {
  .g-about__result {
    font-size: 1.6rem;
    text-align: left;
  }
}

.g-about__background {
  position: relative;
  padding: var(--section-padding-level2) 0 var(--section-padding);
  max-width: 69.2rem;
  width: 100%;
  margin: 0 auto;
}
.g-about__background p {
  margin-bottom: 4rem;
}
.g-about__background p:last-child {
  margin-bottom: 0;
}
.g-about__background > * {
  position: relative;
  z-index: 1;
}
.g-about__background::before {
  content: "";
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-gray);
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  z-index: 0;
}

/*レスポンシブ用*/
.g-skills__list {
  margin-top: var(--section-padding-level4);
  border-top: 1px solid var(--color-black);
}
@media only screen and (max-width: 767px) {
  .g-skills__list {
    margin-top: 2.4rem;
  }
}

.g-skills__list__item__wrap {
  display: grid;
  grid-template-columns: 14rem 1fr;
}
@media only screen and (max-width: 767px) {
  .g-skills__list__item__wrap {
    grid-template-columns: 6rem 1fr;
  }
}

.g-skills__list__item__num {
  background-color: var(--color-black);
  background-image: url(../img/skills/skill01.svg);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 6.2rem auto;
  border-bottom: 1px solid var(--color-bg);
  white-space: nowrap;
  overflow: hidden;
  text-indent: 200%;
}
@media only screen and (max-width: 767px) {
  .g-skills__list__item__num {
    background-size: 4rem auto;
  }
}
.g-skills__list__item__num--02 {
  background-image: url(../img/skills/skill02.svg);
  background-size: 7rem auto;
  background-position: bottom right -0.4rem;
}
@media only screen and (max-width: 767px) {
  .g-skills__list__item__num--02 {
    background-size: 4rem auto;
  }
}
.g-skills__list__item__num--03 {
  background-size: 7rem auto;
  background-position: bottom right;
  background-image: url(../img/skills/skill03.svg);
  border-bottom-color: var(--color-black);
}
@media only screen and (max-width: 767px) {
  .g-skills__list__item__num--03 {
    background-size: 4rem auto;
  }
}

.g-skills__list__item__content {
  padding: 2.4rem 3.2rem 4rem;
  border-bottom: 1px solid var(--color-black);
}
@media only screen and (max-width: 767px) {
  .g-skills__list__item__content {
    padding: 1.6rem 1.6rem 2.4rem 2.4rem;
  }
}

.g-skills__list__item__head {
  font-size: 3.2rem;
}
@media only screen and (max-width: 767px) {
  .g-skills__list__item__head {
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 1.4;
    margin-bottom: 1.6rem;
  }
}

.g-skills__list__item__text {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .g-skills__list__item__text {
    font-size: 1.4rem;
  }
}
.g-skills__list__item__text li {
  list-style-type: disc;
  list-style-position: inside;
  text-indent: -1.5em;
  padding-left: 1.5em;
  line-height: 1.8;
  margin-bottom: 0.8rem;
}
.g-skills__list__item__text li:last-child {
  margin-bottom: 0;
}

/*レスポンシブ用*/
.g-attend__list {
  display: grid;
  gap: 1.6rem;
  border: 1px solid var(--color-black);
  padding: 4rem;
}
@media only screen and (max-width: 767px) {
  .g-attend__list {
    padding: 2.4rem;
  }
}
.g-attend__list li {
  position: relative;
  padding-left: 4rem;
  font-size: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .g-attend__list li {
    font-size: 1.8rem;
    padding-left: 3.2rem;
    line-height: 1.6;
  }
}
.g-attend__list li::before {
  content: "";
  display: block;
  position: absolute;
  width: 3.2rem;
  aspect-ratio: 1/1;
  background-image: url(../img/cmn/icon-check.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .g-attend__list li::before {
    top: 0.2rem;
    left: 0;
    transform: none;
    width: 2.4rem;
  }
}

/*レスポンシブ用*/
.g-cvbtns {
  position: relative;
  padding: 4rem;
}
.g-cvbtns > * {
  position: relative;
  z-index: 1;
}
.g-cvbtns::before {
  content: "";
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  height: 100%;
  background-color: var(--color-gray);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.g-cvbtns__inner {
  max-width: 77.6rem;
  width: 100%;
  margin: 0 auto;
  display: flex;
  gap: 0.8rem;
}
@media only screen and (max-width: 767px) {
  .g-cvbtns__inner {
    flex-direction: column;
  }
}
.g-cvbtns__inner li {
  width: 100%;
}
.g-cvbtns__inner li a {
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
}
.g-cvbtns__inner li span {
  font-size: 1.2rem;
}
.g-cvbtns__inner li strong {
  font-size: 2rem;
  font-weight: bold;
}

/*レスポンシブ用*/
.g-features__catch {
  font-size: 3.2rem;
  margin-bottom: var(--section-padding-level3);
}
@media only screen and (max-width: 767px) {
  .g-features__catch {
    font-size: 2rem;
  }
  .g-features__catch br {
    display: none;
  }
}

.g-features__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-left: 1px solid var(--color-black);
}
@media only screen and (max-width: 767px) {
  .g-features__list {
    grid-template-columns: 1fr;
    border-top: 1px solid var(--color-black);
    border-left: none;
  }
}

.g-features__item {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  gap: 2.4rem;
  position: relative;
  padding: 6.4rem 2.4rem 2.4rem;
  border-top: 1px solid var(--color-black);
  border-right: 1px solid var(--color-black);
  border-bottom: 1px solid var(--color-black);
}
@media only screen and (max-width: 767px) {
  .g-features__item {
    border-left: 1px solid var(--color-black);
    border-top: none;
  }
}

.g-features__item__head {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}

.g-features__item__head__txt {
  background-color: var(--color-black);
  color: var(--color-white);
  font-size: 1.6rem;
  padding: 0.4rem 1.2rem;
}
@media only screen and (max-width: 767px) {
  .g-features__item__head__txt {
    font-size: 1.4rem;
  }
}

.g-features__item__head__num {
  background-color: var(--color-white);
  white-space: nowrap;
  overflow: hidden;
  text-indent: 200%;
  width: 4em;
  border-bottom: 1px solid var(--color-black);
  border-right: 1px solid var(--color-black);
  background-repeat: no-repeat;
  background-position: center center;
}
.g-features__item__head__num--01 {
  background-image: url("../img/cmn/icon-num01.svg");
  background-size: 2rem auto;
}
.g-features__item__head__num--02 {
  background-image: url("../img/cmn/icon-num02.svg");
  background-size: 2rem auto;
}
.g-features__item__head__num--03 {
  background-image: url("../img/cmn/icon-num03.svg");
  background-size: 2rem auto;
}

.g-features__item__text {
  font-size: 1.4rem;
  margin-top: auto;
  margin-bottom: auto;
}

.g-features__item__catch {
  font-size: 2.4rem;
  line-height: 1.6;
  margin-top: auto;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .g-features__item__catch {
    font-size: 2rem;
    margin-bottom: 0.8rem;
  }
}
.g-features__item__catch span {
  font-weight: bold;
  background-image: linear-gradient(0deg, rgb(255, 255, 255), rgb(255, 255, 255) 2px, rgb(255, 255, 0) 2px, rgb(255, 255, 0) 10px, rgb(255, 255, 255) 15px);
}

.g-features__item__link {
  background-color: var(--color-main);
  color: var(--color-white);
  padding: 1.2rem 2.4rem;
  font-size: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  text-align: center;
  text-decoration: none;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.g-features__item__link.is-hover {
  opacity: 0.8;
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
.g-features__item__link i {
  width: 4rem;
  margin-inline: auto;
}

/*レスポンシブ用*/
.g-instructor__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6.4rem 4rem;
}
@media only screen and (max-width: 767px) {
  .g-instructor__list {
    grid-template-columns: 1fr 1fr;
    gap: 4rem 1.6rem;
  }
}

.g-instructor__item {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
}

.g-instructor__item__pic {
  display: block;
  margin-bottom: 1.6rem;
  width: 100%;
  aspect-ratio: 4/3;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .g-instructor__item__pic {
    margin-bottom: 0.8rem;
  }
}
.g-instructor__item__pic img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.g-instructor__item__charge {
  font-size: 1.2rem;
  margin-bottom: 0.8rem;
}
@media only screen and (max-width: 767px) {
  .g-instructor__item__charge {
    font-size: 1rem;
  }
}

.g-instructor__item__name {
  font-size: 1.8rem;
  margin-bottom: 0.8rem;
  font-weight: bold;
}

.g-instructor__item__belong {
  font-size: 1.2rem;
  margin-bottom: 2.4rem;
}

.g-instructor__item__morebtn {
  margin-bottom: 0;
  margin-top: auto;
  display: block;
  border-bottom: 1px solid var(--color-black);
  padding: 0.8rem 1.6rem;
  position: relative;
  color: var(--color-black);
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  width: 100%;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
@media only screen and (max-width: 767px) {
  .g-instructor__item__morebtn {
    font-size: 1rem;
  }
}
.g-instructor__item__morebtn.is-hover {
  opacity: 0.8;
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
.g-instructor__item__morebtn::before {
  content: "";
  display: block;
  width: 1px;
  height: 50%;
  background-color: var(--color-black);
  position: absolute;
  bottom: 0;
  left: 0;
}
.g-instructor__item__morebtn::after {
  content: "";
  display: block;
  width: 1px;
  height: 50%;
  background-color: var(--color-black);
  position: absolute;
  bottom: 0;
  right: 0;
}
.g-instructor__item__morebtn i {
  position: absolute;
  top: 50%;
  right: 1.6rem;
  transform: translateY(-50%);
  width: 1.2rem;
  height: 1.2rem;
}
.g-instructor__item__morebtn i::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-black);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-1px);
}
.g-instructor__item__morebtn i::after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background-color: var(--color-black);
  position: absolute;
  top: 0;
  left: 50%;
}
.g-instructor__item__morebtn.is-active i::after {
  display: none;
}

.g-instructor__item__detail {
  font-size: 1.4rem;
  height: 0;
  overflow: hidden;
}
.g-instructor__item__detail p {
  margin-bottom: 0.8rem;
}
.g-instructor__item__detail.is-active {
  height: auto;
}

/*レスポンシブ用*/
.g-curriculum__table {
  border-right: 1px solid var(--color-black);
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .g-curriculum__table {
    width: 90rem;
  }
}
.g-curriculum__table th {
  border-left: 1px solid var(--color-black);
  padding: 0 0.8rem;
}
.g-curriculum__table th span {
  background-color: var(--color-black);
  color: var(--color-white);
  font-size: 1.6rem;
  padding: 0.4rem 2.4rem;
  display: block;
  font-weight: bold;
}
.g-curriculum__table td {
  border-left: 1px solid var(--color-black);
  padding: 0.8rem;
  font-size: 1.2rem;
  text-align: center;
}
.g-curriculum__table td.ttl {
  text-align: right;
  font-weight: bold;
}
.g-curriculum__table tr:nth-child(odd) td {
  background-color: var(--color-gray);
}
.g-curriculum__table tr:nth-child(2) td {
  background-color: var(--color-white);
}

.g-curriculum__total {
  max-width: 54rem;
  width: 100%;
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .g-curriculum__total {
    width: 80%;
  }
}

/*レスポンシブ用*/
.g-follow__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-left: 1px solid var(--color-black);
}
@media only screen and (max-width: 767px) {
  .g-follow__list {
    grid-template-columns: 1fr;
    border-top: 1px solid var(--color-black);
  }
}

.g-follow__item {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  gap: 0;
  position: relative;
  padding: 6.4rem 2.4rem 2.4rem;
  border-top: 1px solid var(--color-black);
  border-right: 1px solid var(--color-black);
  border-bottom: 1px solid var(--color-black);
  background-color: var(--color-white);
}
@media only screen and (max-width: 767px) {
  .g-follow__item {
    border-top: none;
  }
}

.g-follow__item__head {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}

.g-follow__item__head__txt {
  background-color: var(--color-black);
  color: var(--color-white);
  font-size: 1.6rem;
  padding: 0.4rem 1.2rem;
}

.g-follow__item__head__num {
  background-color: var(--color-white);
  white-space: nowrap;
  overflow: hidden;
  text-indent: 200%;
  width: 4em;
  border-bottom: 1px solid var(--color-black);
  border-right: 1px solid var(--color-black);
  background-repeat: no-repeat;
  background-position: center center;
}
.g-follow__item__head__num--01 {
  background-image: url("../img/cmn/icon-num01.svg");
  background-size: 2rem auto;
}
.g-follow__item__head__num--02 {
  background-image: url("../img/cmn/icon-num02.svg");
  background-size: 2rem auto;
}
.g-follow__item__head__num--03 {
  background-image: url("../img/cmn/icon-num03.svg");
  background-size: 2rem auto;
}

.g-follow__item__pic {
  width: 80%;
  margin: 1.6rem auto;
}

.g-follow__item__text {
  font-size: 1.4rem;
  margin-top: auto;
  margin-bottom: auto;
}

.g-follow__item__catch {
  font-size: 2.4rem;
  line-height: 1.6;
  margin-top: auto;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .g-follow__item__catch {
    font-size: 2rem;
  }
}
.g-follow__item__catch span {
  font-weight: bold;
  background-image: linear-gradient(0deg, rgb(255, 255, 255), rgb(255, 255, 255) 2px, rgb(255, 255, 0) 2px, rgb(255, 255, 0) 10px, rgb(255, 255, 255) 15px);
}

.g-follow__item__link {
  background-color: var(--color-main);
  color: var(--color-white);
  padding: 1.2rem 2.4rem;
  font-size: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  text-align: center;
  text-decoration: none;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.g-follow__item__link.is-hover {
  opacity: 0.8;
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
.g-follow__item__link i {
  width: 4rem;
  margin-inline: auto;
}

/*レスポンシブ用*/
.g-guide__table01 {
  width: 100%;
}
.g-guide__table01 th {
  border-bottom: 1px solid var(--color-black);
  padding: 0.4rem 2.4rem;
  position: relative;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  .g-guide__table01 th {
    padding: 0.4rem 0.8rem;
    white-space: nowrap;
  }
}
.g-guide__table01 th::before {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 100%;
  height: calc(100% - 8px);
  background-color: var(--color-black);
}
.g-guide__table01 th span {
  color: var(--color-white);
  position: relative;
  z-index: 1;
  font-size: 1.6rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .g-guide__table01 th span {
    font-size: 1.4rem;
  }
}
.g-guide__table01 td {
  border-bottom: 1px solid var(--color-black);
  padding: 1.6rem 2.4rem;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .g-guide__table01 td {
    font-size: 1.4rem;
    padding: 1.6rem;
  }
}
.g-guide__table01 tr:last-child th {
  border-bottom: none;
}
.g-guide__table01 tr:last-child td {
  border-bottom: none;
}

.g-guide__period {
  display: flex;
  gap: 2.4rem;
}
.g-guide__period dd {
  text-align: left;
}

.g-guide__table02 {
  border-right: 1px solid var(--color-black);
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .g-guide__table02 {
    width: 60rem;
  }
}
.g-guide__table02 th {
  border-left: 1px solid var(--color-black);
  padding: 0 0.8rem;
}
.g-guide__table02 th span {
  background-color: var(--color-black);
  color: var(--color-white);
  font-size: 1.6rem;
  padding: 0.4rem 2.4rem;
  display: block;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .g-guide__table02 th span {
    font-size: 1.4rem;
    padding: 0.4rem 1.6rem;
  }
}
.g-guide__table02 th.none {
  border-left: none;
}
.g-guide__table02 td {
  border-left: 1px solid var(--color-black);
  padding: 2.4rem 1.6rem;
  font-size: 1.6rem;
  text-align: center;
  vertical-align: middle;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .g-guide__table02 td {
    font-size: 1.4rem;
    padding: 2.4rem 0.8rem;
  }
}
.g-guide__table02 td.ttl {
  text-align: left;
  border-left: none;
  font-weight: bold;
}
.g-guide__table02 td.num {
  background-color: var(--color-main);
  border-left: none;
  vertical-align: middle;
  line-height: 1;
}
.g-guide__table02 tr:nth-child(odd) td {
  background-color: var(--color-gray);
}
.g-guide__table02 tr:nth-child(odd) td.num {
  background-color: #006C75;
}
.g-guide__table02 tr:nth-child(2) td {
  background-color: var(--color-white);
}
.g-guide__table02 tr:nth-child(2) td.num {
  background-color: var(--color-main);
}

.g-guide__table__num {
  width: 1.2rem;
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  height: 2.4rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  text-indent: 200%;
}
.g-guide__table__num--01 {
  background-image: url(../img/guide/num01.svg);
}
.g-guide__table__num--02 {
  background-image: url(../img/guide/num02.svg);
  width: 1.6rem;
}
.g-guide__table__num--03 {
  background-image: url(../img/guide/num03.svg);
  width: 1.6rem;
}

.g-guide__note {
  font-size: 1.4rem;
}

/*レスポンシブ用*/
.g-faq__item {
  border-bottom: 1px solid var(--color-black);
  border-right: 1px solid var(--color-black);
  padding: 3.2rem 2.4rem;
}
@media only screen and (max-width: 767px) {
  .g-faq__item {
    padding: 2.4rem 2.4rem 2.4rem 0;
  }
}

.g-faq__item__btn {
  display: block;
  padding-left: 8.8rem;
  padding-right: 8rem;
  position: relative;
  width: 100%;
  color: var(--color-black);
}
@media only screen and (max-width: 767px) {
  .g-faq__item__btn {
    padding-left: 4.4rem;
    padding-right: 4rem;
  }
}
.g-faq__item__btn p {
  font-size: 1.8rem;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .g-faq__item__btn p {
    font-size: 1.4rem;
  }
}

.g-faq__item__num {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6.4rem;
  height: 3.2rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media only screen and (max-width: 767px) {
  .g-faq__item__num {
    width: 3.2rem;
    height: 1.6rem;
    top: 0.4rem;
    left: 0;
    transform: none;
  }
}
.g-faq__item__num--01 {
  background-image: url(../img/faq/icon-q01.svg);
}
.g-faq__item__num--02 {
  background-image: url(../img/faq/icon-q02.svg);
}
.g-faq__item__num--03 {
  background-image: url(../img/faq/icon-q03.svg);
}
.g-faq__item__num--04 {
  background-image: url(../img/faq/icon-q04.svg);
}
.g-faq__item__num--05 {
  background-image: url(../img/faq/icon-q05.svg);
}
.g-faq__item__num--06 {
  background-image: url(../img/faq/icon-q06.svg);
}
.g-faq__item__num--07 {
  background-image: url(../img/faq/icon-q07.svg);
}
.g-faq__item__num--08 {
  background-image: url(../img/faq/icon-q08.svg);
}
.g-faq__item__num--09 {
  background-image: url(../img/faq/icon-q09.svg);
}
.g-faq__item__num--10 {
  background-image: url(../img/faq/icon-q10.svg);
}
.g-faq__item__num--11 {
  background-image: url(../img/faq/icon-q11.svg);
}
.g-faq__item__num--12 {
  background-image: url(../img/faq/icon-q12.svg);
}

.g-faq__item__arrow {
  width: 4.6rem;
  aspect-ratio: 1/1;
  background-color: var(--color-black);
  background-image: url(../img/cmn/icon-bottom-arrow.svg);
  background-size: 16px 10px;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  right: 8px;
  top: -0.8rem;
}
.is-active .g-faq__item__arrow {
  rotate: 180deg;
}
@media only screen and (max-width: 767px) {
  .g-faq__item__arrow {
    width: 2.4rem;
    top: 0;
    right: 0;
    transform: none;
  }
}

.g-faq__answer {
  height: 0;
  overflow: hidden;
}
.g-faq__answer p {
  padding-top: 2.4rem;
  font-weight: bold;
  color: var(--color-main);
}

/*レスポンシブ用*/
.g-info {
  padding-bottom: 8rem;
  padding-top: 0;
}
.home .g-info {
  padding-top: var(--section-padding-level2);
}

.g-info__head {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media only screen and (max-width: 767px) {
  .g-info__head {
    grid-template-columns: 1fr;
  }
}

.g-info__head__logo {
  display: flex;
  align-items: center;
  justify-content: center;
}
.g-info__head__logo img {
  max-width: 31rem;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .g-info__head__logo img {
    max-width: 20rem;
  }
}
@media only screen and (max-width: 767px) {
  .g-info__head__logo {
    margin-bottom: 4rem;
  }
}

.g-info__head__text {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media only screen and (max-width: 767px) {
  .g-info__head__text {
    display: block;
  }
}

.g-info__design {
  background-color: var(--color-black);
  color: var(--color-white);
  padding: 8rem 4.8rem 4.8rem;
}
@media only screen and (max-width: 767px) {
  .g-info__design {
    padding: 4rem 2.4rem 4rem;
  }
}

.g-info__design__logo {
  width: 19.5rem;
  display: block;
  margin-inline: auto;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 767px) {
  .g-info__design__logo {
    width: 16rem;
    margin-bottom: 4rem;
  }
}

.g-info__design__content {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .g-info__design__content {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
}

.g-info__design__content__ttl {
  font-weight: bold;
  font-size: 1.6rem;
  margin-bottom: 2.4rem;
}

.g-info__design__content__catch {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 2.4rem;
}

.g-info__design__content__text {
  font-size: 1.4rem;
}

.g-info__design__content__archive {
  display: grid;
  grid-template-columns: auto 1fr;
  font-size: 1.4rem;
  gap: 0.8rem 0.8rem;
  margin-bottom: 4rem;
}

.g-info__design__content__btn {
  background-color: var(--color-white);
  display: block;
  color: var(--color-black);
  padding: 1.6rem 6.4rem 1.6rem 6.4rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: 0;
  text-decoration: none;
  font-size: 1.4rem;
  position: relative;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
@media only screen and (max-width: 767px) {
  .g-info__design__content__btn {
    padding: 1.6rem 4rem;
    margin-right: auto;
  }
}
.g-info__design__content__btn.is-hover {
  opacity: 0.8;
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
.g-info__design__content__btn::after {
  content: "";
  display: block;
  background-image: url(../img/cmn/icon-right-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.6rem;
  height: 1.6rem;
  right: 1.6rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

/*レスポンシブ用*/
@media only screen and (max-width: 767px) {
  .g-table__wrap {
    overflow-y: scroll;
    width: calc(100vw - var(--side-margin));
    margin-right: calc(50% - 50vw);
  }
}

/*レスポンシブ用*/
.g-modalnav {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  opacity: 0;
  display: none;
}
.g-modalnav__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 120, 130, 0.8);
  z-index: 0;
}

.g-modalnav__content {
  position: relative;
  margin-left: auto;
  z-index: 1;
  padding: 6.4rem 2.4rem;
  height: 100%;
  background-color: var(--color-white);
  overflow-y: scroll;
  width: 40rem;
}
@media only screen and (max-width: 767px) {
  .g-modalnav__content {
    width: 90vw;
    padding: 4rem 2.4rem;
  }
}

.g-modalnav__logo {
  width: 60%;
  margin: 0 auto 6.4rem;
}

.g-modalnav__gnav {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.6rem;
  margin-bottom: 4rem;
}
.g-modalnav__gnav a {
  text-decoration: none;
  font-size: 1.2rem;
}

.g-modalnav__cvnav {
  display: grid;
  gap: 1.6rem;
}

.g-modalnav__close {
  width: 3.2rem;
  position: absolute;
  top: 1.6rem;
  right: 1.6rem;
  z-index: 1;
}

/*レスポンシブ用*/
.g-form__wrap {
  padding-top: var(--section-padding-level2);
  padding-bottom: var(--section-padding-level2);
}

.g-form {
  background-color: var(--color-white);
  padding: 4.8rem;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .g-form {
    padding: 3.2rem 1.6rem;
  }
}

.g-form__table {
  padding-top: var(--space-4);
  display: grid;
  grid-template-columns: auto 1fr;
}
@media only screen and (max-width: 767px) {
  .g-form__table {
    grid-template-columns: 1fr;
  }
}

.g-form__table__ttl {
  display: grid;
  grid-template-columns: 5rem 1fr;
  gap: 0 0.8rem;
  padding: var(--space-2) 0 var(--space-2) var(--space-4);
}
@media only screen and (max-width: 767px) {
  .g-form__table__ttl {
    padding-left: var(--space-2);
    padding-bottom: var(--space-1);
  }
}
.g-form__table__ttl span {
  align-self: center;
}
.g-form__table__ttl > span:first-child {
  display: flex;
  align-items: center;
  justify-content: center;
}
.g-form__table__ttl:nth-of-type(odd) {
  background-color: #F5F5F5;
}

.g-form__table__content {
  display: block;
  padding: var(--space-2) var(--space-4);
}
.g-form__table__content:nth-of-type(odd) {
  background-color: #F5F5F5;
}
@media only screen and (max-width: 767px) {
  .g-form__table__content {
    padding: 0 var(--space-2) var(--space-2);
  }
}

.g-for0m__table__memo {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-top: var(--space-2);
}

.g-form__agree {
  padding-top: var(--space-4);
  text-align: center;
}
.g-form__agree input[type=checkbox] {
  width: 1.8rem;
  height: 1.8rem;
  margin-right: var(--space-1);
  vertical-align: middle;
  background-color: var(--color-gray);
  margin-bottom: 0.4rem;
  display: inline-block;
}
.g-form__agree input[type=checkbox]:checked {
  background-color: var(--color-main);
}

.g-form__sendbtn {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-top: var(--space-4);
}
.g-form__sendbtn button {
  padding: var(--space-2) var(--space-6);
  display: block;
  background-color: var(--color-main);
  font-size: 1.8rem;
  color: var(--color-white);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
.g-form__sendbtn button.is-hover {
  opacity: 0.6;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}

.g-form__send__heading {
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: var(--space-4);
}

.g-form__send__txt {
  font-size: 1.6rem;
  line-height: 1.5;
  max-width: 60rem;
  width: 100%;
  margin: 0 auto var(--space-6);
}

.g-form__send__backbtn {
  text-align: center;
}
.g-form__send__backbtn a {
  display: inline-block;
  padding: var(--space-2) var(--space-6);
  background-color: var(--color-main);
  color: var(--color-white);
  font-size: 1.6rem;
  text-decoration: none;
  border-radius: var(--border-radius);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
.g-form__send__backbtn a.is-hover {
  opacity: 0.6;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}

.g-form__backbtn {
  padding-top: var(--space-4);
}
.g-form__backbtn input {
  padding: var(--space-2) var(--space-6);
  background-color: #000000;
  color: var(--color-white);
  display: inline-block;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.g-form__backbtn input:hover {
  background-color: #DDDDDD;
  color: var(--color-txt);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

/*レスポンシブ用*/
.g-loading {
  background-color: var(--color-white);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  will-change: auto;
}
.g-loading.is-white {
  background-color: var(--color-white);
}

.g-loading__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.g-loading__logo {
  margin-bottom: 2.4rem;
  width: 7.8rem;
  aspect-ratio: 78/133;
  position: relative;
  will-change: auto;
}
.g-loading__logo figure {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 20%;
  overflow: hidden;
}
.g-loading__logo figure img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.g-loading__percent {
  font-size: 1.4rem;
  color: #999;
}

.u-mat {
  padding: var(--margin-4l) 0;
  position: relative;
}
.u-mat > * {
  position: relative;
}
.u-mat::before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media only screen and (max-width: 1023px) {
  .u-mat::before {
    margin-left: calc(var(--side-margin) * -1);
    margin-right: calc(var(--side-margin) * -1);
  }
}

.u-m__xs {
  margin: var(--margin-xs);
}

.u-m__s {
  margin: var(--margin-s);
}

.u-m__m {
  margin: var(--margin-m);
}

.u-m__l {
  margin: var(--margin-l);
}

.u-m__2l {
  margin: var(--margin-2l);
}

.u-m__3l {
  margin: var(--margin-3l);
}

.u-m__4l {
  margin: var(--margin-4l);
}

.u-m__5l {
  margin: var(--margin-5l);
}

.u-mt__xs {
  margin-top: var(--margin-xs);
}

.u-mt__s {
  margin-top: var(--margin-s);
}

.u-mt__m {
  margin-top: var(--margin-m);
}

.u-mt__l {
  margin-top: var(--margin-l);
}

.u-mt__2l {
  margin-top: var(--margin-2l);
}

.u-mt__3l {
  margin-top: var(--margin-3l);
}

.u-mt__4l {
  margin-top: var(--margin-4l);
}

.u-mt__5l {
  margin-top: var(--margin-5l);
}

.u-mb__xs {
  margin-bottom: var(--margin-xs);
}

.u-mb__s {
  margin-bottom: var(--margin-s);
}

.u-mb__m {
  margin-bottom: var(--margin-m);
}

.u-mb__l {
  margin-bottom: var(--margin-l);
}

.u-mb__2l {
  margin-bottom: var(--margin-2l);
}

.u-mb__3l {
  margin-bottom: var(--margin-3l);
}

.u-mb__4l {
  margin-bottom: var(--margin-4l);
}

.u-mb__5l {
  margin-bottom: var(--margin-5l);
}

.u-margin-ia {
  margin-inline: auto;
}

.u-p__xs {
  padding: var(--margin-xs);
}

.u-p__s {
  padding: var(--margin-s);
}

.u-p__m {
  padding: var(--margin-m);
}

.u-p__l {
  padding: var(--margin-l);
}

.u-p__2l {
  padding: var(--margin-2l);
}

.u-p__3l {
  padding: var(--margin-3l);
}

.u-p__4l {
  padding: var(--margin-4l);
}

.u-p__5l {
  padding: var(--margin-5l);
}

.u-pt__xs {
  padding-top: var(--margin-xs);
}

.u-pt__s {
  padding-top: var(--margin-s);
}

.u-pt__m {
  padding-top: var(--margin-m);
}

.u-pt__l {
  padding-top: var(--margin-l);
}

.u-pt__2l {
  padding-top: var(--margin-2l);
}

.u-pt__3l {
  padding-top: var(--margin-3l);
}

.u-pt__4l {
  padding-top: var(--margin-4l);
}

.u-pt__5l {
  padding-top: var(--margin-5l);
}

.u-pb__xs {
  padding-bottom: var(--margin-xs);
}

.u-pb__s {
  padding-bottom: var(--margin-s);
}

.u-pb__m {
  padding-bottom: var(--margin-m);
}

.u-pb__l {
  padding-bottom: var(--margin-l);
}

.u-pb__2l {
  padding-bottom: var(--margin-2l);
}

.u-pb__3l {
  padding-bottom: var(--margin-3l);
}

.u-pb__4l {
  padding-bottom: var(--margin-4l);
}

.u-pb__5l {
  padding-bottom: var(--margin-5l);
}

.u-fs__p10s10 {
  font-size: 1rem;
}

.u-fs__p10s11 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p10s12 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p10s13 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p10s14 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p10s15 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p10s16 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p10s17 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p10s18 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p10s19 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p10s20 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s20 {
    font-size: 2rem;
  }
}

.u-fs__p11s10 {
  font-size: 1.1rem;
}

.u-fs__p11s11 {
  font-size: 1.1rem;
}

.u-fs__p11s12 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p11s13 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p11s14 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p11s15 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p11s16 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p11s17 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p11s18 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p11s19 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p11s20 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s20 {
    font-size: 2rem;
  }
}

.u-fs__p12s10 {
  font-size: 1.2rem;
}

.u-fs__p12s11 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p12s12 {
  font-size: 1.2rem;
}

.u-fs__p12s13 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p12s14 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p12s15 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p12s16 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p12s17 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p12s18 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p12s19 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p12s20 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s20 {
    font-size: 2rem;
  }
}

.u-fs__p13s10 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s10 {
    font-size: 1rem;
  }
}

.u-fs__p13s11 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p13s12 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p13s13 {
  font-size: 1.3rem;
}

.u-fs__p13s14 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p13s15 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p13s16 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p13s17 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p13s18 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p13s19 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p13s20 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s20 {
    font-size: 2rem;
  }
}

.u-fs__p14s10 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s10 {
    font-size: 1rem;
  }
}

.u-fs__p14s11 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p14s12 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p14s13 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p14s14 {
  font-size: 1.4rem;
}

.u-fs__p14s15 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p14s16 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p14s17 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p14s18 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p14s19 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p14s20 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s20 {
    font-size: 2rem;
  }
}

.u-fs__p15s10 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s10 {
    font-size: 1rem;
  }
}

.u-fs__p15s11 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p15s12 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p15s13 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p15s14 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p15s15 {
  font-size: 1.5rem;
}

.u-fs__p15s16 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p15s17 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p15s18 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p15s19 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p15s20 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s20 {
    font-size: 2rem;
  }
}

.u-fs__p16s10 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s10 {
    font-size: 1rem;
  }
}

.u-fs__p16s11 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p16s12 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p16s13 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p16s14 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p16s15 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p16s16 {
  font-size: 1.6rem;
}

.u-fs__p16s17 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p16s18 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p16s19 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p16s20 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s20 {
    font-size: 2rem;
  }
}

.u-fs__p17s10 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s10 {
    font-size: 1rem;
  }
}

.u-fs__p17s11 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p17s12 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p17s13 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p17s14 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p17s15 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p17s16 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p17s17 {
  font-size: 1.7rem;
}

.u-fs__p17s18 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p17s19 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p17s20 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s20 {
    font-size: 2rem;
  }
}

.u-fs__p18s10 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s10 {
    font-size: 1rem;
  }
}

.u-fs__p18s11 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p18s12 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p18s13 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p18s14 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p18s15 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p18s16 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p18s17 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p18s18 {
  font-size: 1.8rem;
}

.u-fs__p18s19 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p18s20 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s20 {
    font-size: 2rem;
  }
}

.u-fs__p19s10 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s10 {
    font-size: 1rem;
  }
}

.u-fs__p19s11 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p19s12 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p19s13 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p19s14 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p19s15 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p19s16 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p19s17 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p19s18 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p19s19 {
  font-size: 1.9rem;
}

.u-fs__p19s20 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s20 {
    font-size: 2rem;
  }
}

.u-fs__p20s10 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s10 {
    font-size: 1rem;
  }
}

.u-fs__p20s11 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p20s12 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p20s13 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p20s14 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p20s15 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p20s16 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p20s17 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p20s18 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p20s19 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p20s20 {
  font-size: 2rem;
}

.u-color__blue {
  color: var(--color-main);
}

.u-color__black {
  color: var(--color-txt);
}

.u-width__short {
  max-width: 45rem;
  width: 100%;
  margin-inline: auto;
}

.u-home__messagemat {
  padding-top: 5.46875vw;
  padding-bottom: 5.46875vw;
}
@media only screen and (max-width: 767px) {
  .u-home__messagemat {
    padding-top: 18.9189189189vw;
    padding-bottom: 18.9189189189vw;
  }
}

.u-home__policymat {
  padding-bottom: 5.46875vw;
}
@media only screen and (max-width: 767px) {
  .u-home__policymat {
    padding-bottom: 18.9189189189vw;
  }
}

.u-home__profilemat {
  padding-right: var(--margin-5l);
  padding-left: var(--margin-5l);
}
@media only screen and (max-width: 767px) {
  .u-home__profilemat {
    padding-right: 1.6rem;
    padding-left: 1.6rem;
  }
}

.u-home__topicsmat {
  text-align: center;
}

.u-home__sns {
  display: block;
}
@media only screen and (max-width: 767px) {
  .u-home__sns {
    display: none;
  }
}
