@charset "UTF-8";
/* Box sizing rules */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@300;400;600;700&display=swap");
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
  text-size-adjust: none; }

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  -webkit-margin-after: 0;
  margin-block-end: 0; }

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
  list-style: none; }

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5; }

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1; }

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance; }

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor; }

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block; }

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit; }

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em; }

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex; }

/*-----------------------------------------------------
  フォント
-----------------------------------------------------*/
/*@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600;700&display=swap');*/
/*
.serif {
	font-family: 'Noto Serif JP', serif;
}
*/
.jost {
  font-family: 'Jost', sans-serif; }

:root {
  --cl-base-black: #000;
  --cl-gray:       #ccc;
  --cl-light-gray: #f5f5f7;
  --cl-dark-gray:  #737373;
  --cl-dark-red:   #ff1eb0;
  --cl-dark-blue:  rgba(0, 192, 255, 1);
  --cl-light-blue: rgba(241, 251, 255, 1);
  --cl-light-blue-rgba: rgba(0, 175, 236, 1);
  --cl-dark-pink:  rgba(252,28,207,1);
  --cl-subj1: rgba(0,93,255,1);
  --cl-subj2: rgba(255,147,0,1);
  --cl-subj3: rgba(38,225,15,1);
  --cl-subj4: rgba(255,122,184,1);
  --cl-text-logo: #000;
  --header-h-pc: 100px;
  --header-h-sp: calc( (106/750)*100vw );
  --content-w-max: 1280px;
  --content-w-mid: 1080px;
  --content-w-min: 820px;
  --hero-zoom-ratio: 1.15; }

/*--------------------------------------------------*/
/* 要素のデフォルト設定                             */
/*--------------------------------------------------*/
html {
  font-size: 62.5%; }

body {
  position: relative;
  width: 100%;
  min-width: var(--content-w-max);
  margin: 0;
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.7rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: var(--cl-base-black);
  text-align: justify;
  line-height: calc(22/11);
  letter-spacing: 0.1em; }
  @media only screen and (max-width: 749px) {
    body {
      min-width: 100%;
      font-size: calc( (26/750)*100vw); } }

a {
  color: var(--cl-dark-blue);
  text-decoration: none;
  cursor: pointer; }
  a:not([class]) {
    color: var(--cl-dark-blue); }
  a > span {
    display: inline-block;
    background: -webkit-gradient(linear, left top, left bottom, from(var(--cl-light-blue-rgba)), to(var(--cl-light-blue-rgba))) no-repeat left bottom/100% 1px;
    background: -webkit-linear-gradient(var(--cl-light-blue-rgba), var(--cl-light-blue-rgba)) no-repeat left bottom/100% 1px;
    background: -o-linear-gradient(var(--cl-light-blue-rgba), var(--cl-light-blue-rgba)) no-repeat left bottom/100% 1px;
    background: linear-gradient(var(--cl-light-blue-rgba), var(--cl-light-blue-rgba)) no-repeat left bottom/100% 1px;
    font-weight: 400;
    /*line-height: 1.25;*/
    -webkit-transition: background-size .3s, color .3s, opacity .3s;
    -o-transition: background-size .3s, color .3s, opacity .3s;
    transition: background-size .3s, color .3s, opacity .3s; }
  a > img {
    -webkit-transition: opacity .3s;
    -o-transition: opacity .3s;
    transition: opacity .3s; }
  a:hover > span {
    /*      background: linear-gradient(var(--cl-light-blue-rgba), var(--cl-light-blue-rgba)) no-repeat left bottom / 100% 1px;*/
    opacity: .7; }
  a:hover > img {
    opacity: .7; }

h1, h2, h3, h4, h5, h6, p, figure, dt, dd {
  margin: 0;
  -webkit-margin-before: 0;
  margin-block-start: 0;
  -webkit-margin-after: 0;
  margin-block-end: 0; }

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none; }

strong {
  font-weight: normal; }

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

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

/*-----------------------------------------------------
  ユーティリティ
-----------------------------------------------------*/
.pc-bl {
  display: block  !important; }

.pc-il {
  display: inline !important; }

.pc-ib {
  display: inline-block !important; }

.pc-fx {
  display: -webkit-box   !important;
  display: -ms-flexbox   !important;
  display: flex   !important; }

.sp-bl {
  display: none   !important; }

.sp-il {
  display: none   !important; }

.sp-ib {
  display: none   !important; }

.sp-fx {
  display: none   !important; }

@media only screen and (max-width: 749px) {
  .pc-bl {
    display: none   !important; }
  .pc-il {
    display: none   !important; }
  .pc-ib {
    display: none   !important; }
  .pc-fx {
    display: none   !important; }
  .sp-bl {
    display: block  !important; }
  .sp-il {
    display: inline !important; }
  .sp-ib {
    display: inline-block !important; }
  .sp-fx {
    display: -webkit-box   !important;
    display: -ms-flexbox   !important;
    display: flex   !important; } }

/*-----------------------------------------------------
  フェード関連
-----------------------------------------------------*/
.fd {
  opacity: 0;
  -webkit-transition: opacity 1.5s ease, -webkit-transform 1.5s ease;
  transition: opacity 1.5s ease, -webkit-transform 1.5s ease;
  -o-transition: transform 1.5s ease, opacity 1.5s ease;
  transition: transform 1.5s ease, opacity 1.5s ease;
  transition: transform 1.5s ease, opacity 1.5s ease, -webkit-transform 1.5s ease; }
  .fd[data-step='2'] {
    -webkit-transition-delay: .3s;
    -o-transition-delay: .3s;
    transition-delay: .3s; }
  .fd[data-step='3'] {
    -webkit-transition-delay: .6s;
    -o-transition-delay: .6s;
    transition-delay: .6s; }
  .fd.b2t {
    -webkit-transform: translateY(100px);
    -ms-transform: translateY(100px);
    transform: translateY(100px); }
  .fd.t2b {
    -webkit-transform: translateY(-100px);
    -ms-transform: translateY(-100px);
    transform: translateY(-100px); }
  .fd.r2l {
    -webkit-transform: translateX(100px);
    -ms-transform: translateX(100px);
    transform: translateX(100px); }
  .fd.l2r {
    -webkit-transform: translateX(-100px);
    -ms-transform: translateX(-100px);
    transform: translateX(-100px); }
  .fd.fade {
    opacity: 1;
    cursor: auto;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0); }

/*-----------------------------------------------------
  共通フレーム
-----------------------------------------------------*/
.sec-inner {
  margin: 0 auto;
  padding: 0; }
  @media only screen and (max-width: 749px) {
    .sec-inner {
      padding: 0 calc( (45/750)*100vw); } }
  .sec-inner.min {
    width: 740px; }
    @media only screen and (max-width: 749px) {
      .sec-inner.min {
        width: 100%; } }
  .sec-inner.mid {
    width: 1000px; }
    @media only screen and (max-width: 749px) {
      .sec-inner.mid {
        width: 100%; } }
  .sec-inner.max {
    width: 1200px; }
    @media only screen and (max-width: 749px) {
      .sec-inner.max {
        width: 100%; } }
  .sec-inner.full {
    width: 100%; }
    @media only screen and (max-width: 749px) {
      .sec-inner.full {
        padding: 0; } }

/* .sec-inner */
/*-----------------------------------------------------
  共通パーツ
-----------------------------------------------------*/
/*-- ボタン --*/
.cmn-btn-a {
  width: 285px; }
  @media only screen and (max-width: 749px) {
    .cmn-btn-a {
      width: calc((480/750)*100vw); } }
  .cmn-btn-a a {
    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;
    background: var(--cl-dark-blue);
    width: 100%;
    height: 64px;
    border-radius: 32px;
    color: #fff; }
    @media only screen and (max-width: 749px) {
      .cmn-btn-a a {
        height: calc((90/750)*100vw);
        border-radius: calc((45/750)*100vw); } }
    .cmn-btn-a a span {
      background: none;
      padding: 0 0 0.15em 0;
      font-size: 2.2rem;
      font-weight: bold; }
      @media only screen and (max-width: 749px) {
        .cmn-btn-a a span {
          font-size: calc((30/750)*100vw); } }
    .cmn-btn-a a::after {
      content: '';
      position: absolute;
      top: 50%;
      right: 15px;
      background: white url(../images/arrow-r-blue-s.svg) no-repeat 10px center/9px 16px;
      width: 28px;
      height: 28px;
      margin-top: -14px;
      border-radius: 50%; }
      @media only screen and (max-width: 749px) {
        .cmn-btn-a a::after {
          background-position: calc((14/750)*100vw) center;
          background-size: calc((12/750)*100vw) calc((22/750)*100vw);
          width: calc((38/750)*100vw);
          right: calc((28/750)*100vw);
          height: calc((38/750)*100vw);
          margin-top: calc((-19/750)*100vw); } }

/*-- ページヘッダ --*/
.page-hd {
  position: relative;
  aspect-ratio: 1440 / 490;
  margin-top: calc(var(--header-h-pc)*-1); }
  @media only screen and (max-width: 749px) {
    .page-hd {
      aspect-ratio: 750 / 375;
      margin-top: 0; } }
  .page-hd::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    background: -webkit-linear-gradient(330deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
    background: -o-linear-gradient(330deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
    background: linear-gradient(120deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
    width: 100%;
    height: 10px;
    z-index: 1; }
    @media only screen and (max-width: 749px) {
      .page-hd::after {
        height: calc((10/750)*100vw); } }
  .page-hd .hd-pic {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .page-hd .hd-pic img {
      width: 100%;
      max-width: none; }
  .page-hd .sec-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;
    height: 100%;
    padding-bottom: 50px; }
    .page-hd .sec-inner .hd-ttl {
      width: 100%;
      z-index: 1; }
  .page-hd.no-pic {
    background: #fff;
    height: 360px;
    aspect-ratio: auto; }
    @media only screen and (max-width: 749px) {
      .page-hd.no-pic {
        height: auto;
        aspect-ratio: 750 / 250; } }
  .page-hd.intv-pic {
    background: #fff;
    aspect-ratio: 1440 / 607; }
    @media only screen and (max-width: 749px) {
      .page-hd.intv-pic {
        aspect-ratio: 750 / 560; } }

.sche-clmn {
  background: var(--cl-light-gray);
  padding: 100px 70px;
  border-radius: 18px; }
  @media only screen and (max-width: 749px) {
    .sche-clmn {
      padding: calc((60/750)*100vw) calc((50/750)*100vw); } }
  .sche-clmn table {
    width: 770px;
    margin: 50px auto 0;
    border-collapse: separate;
    border-spacing: 0 5px; }
    @media only screen and (max-width: 749px) {
      .sche-clmn table {
        width: 100%; } }
    .sche-clmn table tbody tr th, .sche-clmn table tbody tr td {
      padding: .75em 1em;
      line-height: calc(21/17);
      letter-spacing: normal; }
      @media only screen and (max-width: 749px) {
        .sche-clmn table tbody tr th, .sche-clmn table tbody tr td {
          padding: .75em .5em;
          font-size: calc( (21/750)*100vw); } }
    .sche-clmn table tbody tr th {
      background: var(--cl-dark-blue);
      width: 11.5em;
      color: white;
      text-align: center; }
      @media only screen and (max-width: 749px) {
        .sche-clmn table tbody tr th {
          white-space: nowrap; } }
    .sche-clmn table tbody tr td {
      background: white; }
      .sche-clmn table tbody tr td small {
        font-size: 1.4rem; }
        @media only screen and (max-width: 749px) {
          .sche-clmn table tbody tr td small {
            font-size: calc( (18/750)*100vw); } }
  .sche-clmn .txt {
    width: 770px;
    margin: 50px auto 0; }
    @media only screen and (max-width: 749px) {
      .sche-clmn .txt {
        width: 100%; } }

header {
  height: var(--header-h-pc);
  /* #h-inner */ }
  @media only screen and (max-width: 749px) {
    header {
      height: var(--header-h-sp); } }
  header #h-inner {
    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;
    width: 100%;
    height: var(--header-h-pc);
    /* #h-logo */
    /* #h-menu */
    /* #h-btn-menu */
    /* #h-nav */ }
    @media only screen and (max-width: 749px) {
      header #h-inner {
        height: var(--header-h-sp); } }
    header #h-inner #h-logo {
      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;
      gap: 15px;
      background: #fff;
      width: 425px;
      height: 100%;
      padding: 0 20px 0 25px;
      border-radius: 0 0 12px;
      z-index: 9999; }
      @media only screen and (max-width: 749px) {
        header #h-inner #h-logo {
          gap: calc( (15/750)*100vw);
          width: calc( (450/750)*100vw);
          padding: 0 calc( (11/750)*100vw) 0 calc( (25/750)*100vw); } }
      header #h-inner #h-logo .inst {
        width: 120px; }
        @media only screen and (max-width: 749px) {
          header #h-inner #h-logo .inst {
            width: calc( (133/750)*100vw); } }
      header #h-inner #h-logo .shosha {
        width: 138px; }
        @media only screen and (max-width: 749px) {
          header #h-inner #h-logo .shosha {
            width: calc( (153/750)*100vw); } }
      header #h-inner #h-logo small {
        width: 88px; }
        @media only screen and (max-width: 749px) {
          header #h-inner #h-logo small {
            width: calc( (98/750)*100vw); } }
    header #h-inner #h-nav-fixed {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
      display: none;
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: end;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: 20px;
      height: 100%;
      padding-right: 30px; }
      header #h-inner #h-nav-fixed li {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: 100%; }
        header #h-inner #h-nav-fixed li::after {
          content: '';
          position: absolute;
          bottom: 0;
          left: 0;
          background: var(--cl-dark-blue);
          width: 100%;
          height: 4px;
          opacity: 0;
          -webkit-transition: opacity .3s ease;
          -o-transition: opacity .3s ease;
          transition: opacity .3s ease; }
        header #h-inner #h-nav-fixed li:hover::after {
          opacity: 1; }
        header #h-inner #h-nav-fixed li a {
          color: var(--cl-base-black); }
          header #h-inner #h-nav-fixed li a span {
            background: none; }
    header #h-inner #h-menu {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: end;
      height: 100%;
      padding-right: var(--header-h-pc);
      z-index: 9999; }
      @media only screen and (max-width: 749px) {
        header #h-inner #h-menu {
          padding-right: var(--header-h-sp); } }
      header #h-inner #h-menu #h-btn-session {
        background: #fc1ccf;
        width: 120px;
        height: 100%; }
        @media only screen and (max-width: 749px) {
          header #h-inner #h-menu #h-btn-session {
            width: calc( (140/750)*100vw); } }
        header #h-inner #h-menu #h-btn-session a {
          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;
          width: 100%;
          height: 100%; }
          header #h-inner #h-menu #h-btn-session a img {
            width: 102px;
            height: auto; }
            @media only screen and (max-width: 749px) {
              header #h-inner #h-menu #h-btn-session a img {
                width: calc( (120/750)*100vw); } }
    header #h-inner #h-btn-menu {
      position: absolute;
      top: 0;
      right: 0;
      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;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: 18px;
      background: #00c0ff;
      width: var(--header-h-pc);
      height: var(--header-h-pc);
      -webkit-transition: background-color .3s;
      -o-transition: background-color .3s;
      transition: background-color .3s;
      z-index: 9999;
      cursor: pointer;
      /* .bars */
      /* .caption */ }
      @media only screen and (max-width: 749px) {
        header #h-inner #h-btn-menu {
          gap: calc( (20/750)*100vw);
          width: var(--header-h-sp);
          height: var(--header-h-sp);
          padding-top: calc( (8/750)*100vw); } }
      header #h-inner #h-btn-menu .bars {
        position: relative;
        background: none;
        width: 40px;
        height: 20px;
        /* i */ }
        @media only screen and (max-width: 749px) {
          header #h-inner #h-btn-menu .bars {
            width: calc( (48/750)*100vw);
            height: calc( (26/750)*100vw); } }
        header #h-inner #h-btn-menu .bars i {
          display: block;
          position: absolute;
          top: 11px;
          left: 0;
          background-color: #fff;
          width: 100%;
          height: 3px;
          -webkit-transition: background-color, -webkit-transform .3s;
          transition: background-color, -webkit-transform .3s;
          -o-transition: background-color, transform .3s;
          transition: background-color, transform .3s;
          transition: background-color, transform .3s, -webkit-transform .3s; }
          @media only screen and (max-width: 749px) {
            header #h-inner #h-btn-menu .bars i {
              top: calc( (13/750)*100vw); } }
          header #h-inner #h-btn-menu .bars i:nth-child(1) {
            -webkit-transform: translateY(-10px);
            -ms-transform: translateY(-10px);
            transform: translateY(-10px); }
            @media only screen and (max-width: 749px) {
              header #h-inner #h-btn-menu .bars i:nth-child(1) {
                -webkit-transform: translateY(calc( (-12/750)*100vw));
                -ms-transform: translateY(calc( (-12/750)*100vw));
                transform: translateY(calc( (-12/750)*100vw)); } }
          header #h-inner #h-btn-menu .bars i:nth-child(2) {
            -webkit-transform: translateY(10px);
            -ms-transform: translateY(10px);
            transform: translateY(10px); }
            @media only screen and (max-width: 749px) {
              header #h-inner #h-btn-menu .bars i:nth-child(2) {
                -webkit-transform: translateY(calc( (12/750)*100vw));
                -ms-transform: translateY(calc( (12/750)*100vw));
                transform: translateY(calc( (12/750)*100vw)); } }
      header #h-inner #h-btn-menu .caption {
        display: inline-block;
        text-align: center;
        line-height: 1; }
        header #h-inner #h-btn-menu .caption small {
          font-size: 1.8rem;
          color: #fff; }
          header #h-inner #h-btn-menu .caption small:nth-of-type(1) {
            display: inline; }
          header #h-inner #h-btn-menu .caption small:nth-of-type(2) {
            display: none; }
        @media only screen and (max-width: 749px) {
          header #h-inner #h-btn-menu .caption small {
            font-size: calc( (20/750)*100vw); } }
      header #h-inner #h-btn-menu[aria-expanded="true"] {
        /* .bars */
        /* .caption */ }
        header #h-inner #h-btn-menu[aria-expanded="true"] .bars {
          /* i */ }
          header #h-inner #h-btn-menu[aria-expanded="true"] .bars i:nth-child(1) {
            -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            transform: rotate(45deg); }
          header #h-inner #h-btn-menu[aria-expanded="true"] .bars i:nth-child(2) {
            -webkit-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
            transform: rotate(-45deg); }
        header #h-inner #h-btn-menu[aria-expanded="true"] .caption small:nth-of-type(1) {
          display: none; }
        header #h-inner #h-btn-menu[aria-expanded="true"] .caption small:nth-of-type(2) {
          display: inline; }
    header #h-inner #h-nav {
      position: fixed;
      top: 0;
      left: 0;
      background: white;
      display: block;
      width: 100dvw;
      height: 100dvh;
      max-height: 100dvh;
      z-index: 9992;
      /* .nav-inner */ }
      @media only screen and (max-width: 749px) {
        header #h-inner #h-nav {
          height: 100dvh;
          overflow: scroll; } }
      header #h-inner #h-nav .nav-inner {
        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;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 50px;
        width: 100%;
        height: 100%;
        max-width: 1280px;
        margin: 0 auto;
        padding: 0 40px;
        overflow-y: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
        /* .nav-g */ }
        header #h-inner #h-nav .nav-inner::-webkit-scrollbar {
          display: none; }
        @media only screen and (max-width: 749px) {
          header #h-inner #h-nav .nav-inner {
            max-width: none;
            padding: 0; } }
        header #h-inner #h-nav .nav-inner .nav-g {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
          gap: 30px;
          /* >li */ }
          @media only screen and (max-width: 749px) {
            header #h-inner #h-nav .nav-inner .nav-g {
              -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: start;
              gap: calc( (40/750)*100vw); } }
          header #h-inner #h-nav .nav-inner .nav-g > li:not(.cmn-btn-a) a {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex; }
            header #h-inner #h-nav .nav-inner .nav-g > li:not(.cmn-btn-a) a > span {
              background: none;
              font-size: 1.6rem;
              color: var(--cl-base-black); }
              @media only screen and (max-width: 749px) {
                header #h-inner #h-nav .nav-inner .nav-g > li:not(.cmn-btn-a) a > span {
                  font-size: calc((28/750)*100vw); } }
          header #h-inner #h-nav .nav-inner .nav-g > li:not(.cmn-btn-a).bnr a img {
            width: 360px; }
            @media only screen and (max-width: 749px) {
              header #h-inner #h-nav .nav-inner .nav-g > li:not(.cmn-btn-a).bnr a img {
                width: calc((520/750)*100vw); } }
    header #h-inner #h-btn-menu[aria-expanded="false"] + #h-nav {
      display: none; }

/* header */
body.h-fixed header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  -webkit-animation: fixedheaderFade .5s ease-out 0s forwards;
  animation: fixedheaderFade .5s ease-out 0s forwards; }
  body.h-fixed header #h-inner {
    background: #fff; }
    body.h-fixed header #h-inner::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      background: -webkit-linear-gradient(330deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
      background: -o-linear-gradient(330deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
      background: linear-gradient(120deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
      width: 100%;
      height: 2px; }
    @media only screen and (min-width: 1480px) {
      body.h-fixed header #h-inner #h-nav-fixed {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; } }
    @media only screen and (max-width: 749px) {
      body.h-fixed header #h-inner #h-nav-fixed {
        display: none; } }
    @media only screen and (min-width: 1480px) {
      body.h-fixed header #h-inner #h-menu {
        padding-right: 0; } }
    @media only screen and (max-width: 749px) {
      body.h-fixed header #h-inner #h-menu {
        padding-right: var(--header-h-sp); } }
    @media only screen and (min-width: 1480px) {
      body.h-fixed header #h-inner #h-btn-menu {
        display: none; } }
    @media only screen and (max-width: 749px) {
      body.h-fixed header #h-inner #h-btn-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; } }

/* body.h-fixed header */
@-webkit-keyframes fixedheaderFade {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }
@keyframes fixedheaderFade {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

#cmn-contact {
  padding: 150px 0 100px; }
  @media only screen and (max-width: 749px) {
    #cmn-contact {
      padding: calc((150/750)*100vw) 0 calc((100/750)*100vw); } }
  #cmn-contact .contact-wrapper {
    background: var(--cl-light-blue);
    padding: 40px 0;
    border-radius: 20px; }
    @media only screen and (max-width: 749px) {
      #cmn-contact .contact-wrapper {
        padding: calc((60/750)*100vw) 0;
        border-radius: calc((20/750)*100vw); } }
    #cmn-contact .contact-wrapper .lead {
      font-size: 2.4rem;
      line-height: calc(42/24);
      text-align: center; }
      @media only screen and (max-width: 749px) {
        #cmn-contact .contact-wrapper .lead {
          font-size: calc((30/750)*100vw);
          line-height: calc(47/30); } }
    #cmn-contact .contact-wrapper .contact-link {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      gap: 28px;
      margin-top: 20px; }
      @media only screen and (max-width: 749px) {
        #cmn-contact .contact-wrapper .contact-link {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          gap: calc((24/750)*100vw);
          margin-top: calc((40/750)*100vw); } }

/* ページ先頭へボタン */
.topagetop {
  position: fixed;
  bottom: 40px;
  right: 40px;
  width: 50px;
  height: 50px;
  z-index: 99; }
  @media only screen and (max-width: 749px) {
    .topagetop {
      bottom: calc((30/750)*100vw);
      right: calc((30/750)*100vw);
      width: calc((60/750)*100vw);
      height: calc((60/750)*100vw); } }
  .topagetop a {
    position: relative;
    background-color: var(--cl-dark-blue);
    display: block;
    width: 100%;
    height: 100%;
    line-height: 1;
    text-indent: -9999px;
    -webkit-transition: all .3s linear;
    -o-transition: all .3s linear;
    transition: all .3s linear; }
    .topagetop a::after {
      content: '';
      display: inline-block;
      position: absolute;
      top: 50%;
      left: 50%;
      width: 16px;
      height: 16px;
      border-top: 2px solid #fff;
      border-left: 2px solid #fff;
      -webkit-transform: translate(-50%, -25%) rotate(45deg);
      -ms-transform: translate(-50%, -25%) rotate(45deg);
      transform: translate(-50%, -25%) rotate(45deg);
      -webkit-transform-origin: center;
      -ms-transform-origin: center;
      transform-origin: center; }
      @media only screen and (max-width: 749px) {
        .topagetop a::after {
          width: 2.13333vw;
          height: 2.13333vw; } }
    .topagetop a:hover {
      opacity: 0.7; }
  .topagetop.stop {
    position: absolute; }

footer {
  margin: 100px 0 0;
  /* #f-logo */ }
  @media only screen and (max-width: 749px) {
    footer {
      margin: calc((100/750)*100vw) 0 0; } }
  footer #f-logo {
    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: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 75px;
    padding-bottom: 200px; }
    @media only screen and (max-width: 749px) {
      footer #f-logo {
        padding-bottom: calc((200/750)*100vw); } }
    footer #f-logo strong {
      width: 250px; }
      @media only screen and (max-width: 749px) {
        footer #f-logo strong {
          width: calc((345/750)*100vw); } }
    footer #f-logo small {
      width: 140px; }
      @media only screen and (max-width: 749px) {
        footer #f-logo small {
          width: calc((156/750)*100vw); } }
  footer #f-sns {
    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;
    gap: 20px;
    margin-bottom: 20px; }
    @media only screen and (max-width: 749px) {
      footer #f-sns {
        gap: calc((40/750)*100vw);
        margin-bottom: calc((40/750)*100vw); } }
    footer #f-sns li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      footer #f-sns li a img {
        width: 30px;
        height: auto; }
        @media only screen and (max-width: 749px) {
          footer #f-sns li a img {
            width: calc((40/750)*100vw); } }
  footer #f-menu {
    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; }
    footer #f-menu li {
      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: 1; }
      @media only screen and (max-width: 749px) {
        footer #f-menu li {
          font-size: calc((20/750)*100vw);
          letter-spacing: normal; } }
      footer #f-menu li:not(:last-child) {
        padding-right: 1em; }
        footer #f-menu li:not(:last-child)::after {
          content: '|';
          padding-left: 1em; }
      footer #f-menu li a {
        color: var(--cl-base-black); }
        footer #f-menu li a span {
          background: none; }
  footer #f-credit {
    padding: 40px 0 25px;
    text-align: center; }
    @media only screen and (max-width: 749px) {
      footer #f-credit {
        padding: calc((40/750)*100vw) 0 calc((25/750)*100vw); } }
    footer #f-credit small {
      font-size: 1.2rem;
      letter-spacing: 0.1em; }
      @media only screen and (max-width: 749px) {
        footer #f-credit small {
          font-size: calc((18/750)*100vw);
          letter-spacing: normal; } }

/* footer */
/*-----------------------------------------------------
  INST
-----------------------------------------------------*/
#home {
  /* #hero */
  /* #intro */
  /* #contentlist */
  /* #interview */ }
  #home #hero {
    --h-hero-catch-pc: calc((165 / (165 + 515)) * 100dvh);
    position: relative;
    width: 100%;
    height: calc(100dvh - var(--header-h-pc));
    overflow: hidden;
    /* .hero-catch */
    /* .swiper-container */ }
    @media only screen and (max-width: 749px) {
      #home #hero {
        height: auto; } }
    #home #hero .hero-catch {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      height: var(--h-hero-catch-pc);
      padding: 20px 0;
      /* picture */ }
      @media only screen and (max-width: 749px) {
        #home #hero .hero-catch {
          height: auto;
          padding: calc((50/750)*100vw) 0; } }
      #home #hero .hero-catch picture {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: auto;
        height: 108px;
        max-height: calc( var(--h-hero-catch-pc) - 40px);
        aspect-ratio: 576 / 108; }
        @media only screen and (max-width: 749px) {
          #home #hero .hero-catch picture {
            width: calc( (476/750)*100vw);
            height: auto; } }
        #home #hero .hero-catch picture img {
          width: 100%;
          max-width: none; }
    #home #hero .hero-container {
      position: relative;
      background-color: #eee;
      width: 100%;
      height: calc(100dvh - var(--header-h-pc) - var(--h-hero-catch-pc));
      /* .swiper-wrapper */
      /* .swiper-pagination */ }
      @media only screen and (max-width: 749px) {
        #home #hero .hero-container {
          height: auto;
          aspect-ratio: 750 / 540; } }
      #home #hero .hero-container .swiper-wrapper {
        width: 100%;
        height: 100%;
        /* .swiper-slide */ }
        #home #hero .hero-container .swiper-wrapper .swiper-slide {
          position: relative;
          display: block;
          width: 100%;
          height: 100%;
          overflow: hidden;
          /* picture */ }
          #home #hero .hero-container .swiper-wrapper .swiper-slide picture {
            position: relative;
            display: inline-block;
            width: 100%;
            height: calc(100dvh - var(--header-h-pc) - var(--h-hero-catch-pc)); }
            @media only screen and (max-width: 749px) {
              #home #hero .hero-container .swiper-wrapper .swiper-slide picture {
                height: 100%; } }
            #home #hero .hero-container .swiper-wrapper .swiper-slide picture img {
              position: absolute;
              top: 50%;
              left: 50%;
              width: 100%;
              max-width: none;
              height: 100%;
              -o-object-fit: cover;
              object-fit: cover;
              -webkit-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
              @media only screen and (max-width: 749px) {
                #home #hero .hero-container .swiper-wrapper .swiper-slide picture img {
                  position: static;
                  -webkit-transform: translate(0, 0);
                  -ms-transform: translate(0, 0);
                  transform: translate(0, 0); } }
          #home #hero .hero-container .swiper-wrapper .swiper-slide figcaption {
            position: absolute;
            top: calc(50% + (84/515) * 100%);
            left: 0;
            right: 0; }
            @media only screen and (max-width: 749px) {
              #home #hero .hero-container .swiper-wrapper .swiper-slide figcaption {
                top: calc(50% + (55/540) * 100%); } }
            #home #hero .hero-container .swiper-wrapper .swiper-slide figcaption p {
              background: url(../images/hero-lead01.svg) no-repeat center/cover;
              width: 354px;
              height: 0;
              padding-top: 130px;
              overflow: hidden; }
              @media only screen and (max-width: 749px) {
                #home #hero .hero-container .swiper-wrapper .swiper-slide figcaption p {
                  background: url(../images/hero-lead01-sp.svg) no-repeat center/cover;
                  width: calc( (382/750)*100vw);
                  padding-top: calc( (150/750)*100vw); } }
      #home #hero .hero-container .swiper-pagination {
        top: auto;
        bottom: 30px;
        left: 0;
        right: 0;
        width: 1080px;
        margin: 0 auto;
        padding: 0 40px;
        line-height: 1;
        text-align: right;
        /* .swiper-pagination-bullet */ }
        @media only screen and (max-width: 749px) {
          #home #hero .hero-container .swiper-pagination {
            bottom: calc((25/750)*100vw);
            width: 100%;
            padding: 0 calc((45/750)*100vw); } }
        #home #hero .hero-container .swiper-pagination .swiper-pagination-bullet {
          width: 15px;
          height: 15px;
          margin: 0 22px;
          background: white;
          opacity: 1;
          /* &.swiper-pagination-bullet-active */ }
          @media only screen and (max-width: 749px) {
            #home #hero .hero-container .swiper-pagination .swiper-pagination-bullet {
              width: calc( (18/750)*100vw);
              height: calc( (18/750)*100vw);
              margin: 0 calc( (22/750)*100vw); } }
          #home #hero .hero-container .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
            background: #00c0ff; }
  #home #intro {
    padding: 80px 0;
    background: -webkit-linear-gradient(330deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
    background: -o-linear-gradient(330deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
    background: linear-gradient(120deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%); }
    @media only screen and (max-width: 749px) {
      #home #intro {
        padding: calc((80/750)*100vw) 0; } }
    #home #intro .intro-wrap {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      @media only screen and (max-width: 749px) {
        #home #intro .intro-wrap {
          -webkit-box-orient: vertical;
          -webkit-box-direction: reverse;
          -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
          gap: calc( (50/750)*100vw); } }
      #home #intro .intro-wrap .intro-lead {
        font-size: 1.9rem;
        line-height: calc(42/19);
        color: #fff;
        letter-spacing: 0.265em; }
        @media only screen and (max-width: 749px) {
          #home #intro .intro-wrap .intro-lead {
            width: 100%;
            font-size: calc((26/750)*100vw);
            line-height: calc(54/26); } }
        #home #intro .intro-wrap .intro-lead strong {
          font-weight: bold; }
      #home #intro .intro-wrap .intro-mov {
        width: 465px; }
        @media only screen and (max-width: 749px) {
          #home #intro .intro-wrap .intro-mov {
            width: 100%; } }
        #home #intro .intro-wrap .intro-mov p {
          font-size: 1.6rem;
          color: #fff; }
          @media only screen and (max-width: 749px) {
            #home #intro .intro-wrap .intro-mov p {
              font-size: calc( (24/750)*100vw); } }
        #home #intro .intro-wrap .intro-mov .mov {
          position: relative;
          width: 100%;
          aspect-ratio: 560 / 315; }
          @media only screen and (max-width: 749px) {
            #home #intro .intro-wrap .intro-mov .mov {
              border-radius: calc((20/750)*100vw); } }
          #home #intro .intro-wrap .intro-mov .mov iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%; }
  #home #contentlist {
    background: var(--cl-light-gray);
    padding: 100px 0 100px;
    /* ul */ }
    @media only screen and (max-width: 749px) {
      #home #contentlist {
        padding: calc((100/750)*100vw) 0 calc((100/750)*100vw); } }
    #home #contentlist ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100%;
      gap: 40px;
      /* li */ }
      @media only screen and (max-width: 749px) {
        #home #contentlist ul {
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          gap: calc((40/750)*100vw) calc((20/750)*100vw); } }
      #home #contentlist ul li {
        width: calc((100% - 40px * 2 ) / 3);
        /* .fig */ }
        @media only screen and (max-width: 749px) {
          #home #contentlist ul li {
            width: calc((100% - 20px) / 2); } }
        #home #contentlist ul li .fig {
          width: 100%;
          height: 100%;
          /* figcaption */ }
          #home #contentlist ul li .fig a {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column;
            background: white;
            width: 100%;
            height: 100%;
            border-radius: 16px;
            overflow: hidden;
            color: var(--cl-base-black); }
            @media only screen and (max-width: 749px) {
              #home #contentlist ul li .fig a {
                border-radius: calc((18/750)*100vw); } }
          #home #contentlist ul li .fig figcaption {
            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;
            background: url(../images/arrow-r-blue.svg) no-repeat right 25px center/18px 32px;
            height: 160px;
            padding: 0 30px;
            text-align: center; }
            @media only screen and (max-width: 749px) {
              #home #contentlist ul li .fig figcaption {
                background-position: right calc((15/750)*100vw) center;
                background-size: calc((22/750)*100vw) calc((40/750)*100vw);
                height: calc((170/750)*100vw);
                padding: 0 calc((35/750)*100vw); } }
            #home #contentlist ul li .fig figcaption .ttl {
              font-size: 2.4rem;
              font-weight: bold;
              line-height: calc(43/24); }
              @media only screen and (max-width: 749px) {
                #home #contentlist ul li .fig figcaption .ttl {
                  font-size: calc( (30/750)*100vw);
                  line-height: calc(50/30); } }
        #home #contentlist ul li:nth-child(2) .fig figcaption .ttl {
          line-height: calc(30/24); }
  #home #interview {
    background: var(--cl-light-gray);
    padding: 0 0 100px;
    overflow: hidden;
    /* .sec-ttl */
    /* .sec-lead */ }
    @media only screen and (max-width: 749px) {
      #home #interview {
        padding: 0 0 calc((100/750)*100vw); } }
    #home #interview .sec-inner {
      position: relative; }
      @media only screen and (max-width: 749px) {
        #home #interview .sec-inner {
          padding: 0; } }
    #home #interview .sec-ttl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin-bottom: 1em;
      font-size: 3.7rem;
      line-height: 1;
      text-align: center;
      letter-spacing: 0.265em; }
      @media only screen and (max-width: 749px) {
        #home #interview .sec-ttl {
          font-size: calc( (40/750)*100vw); } }
      #home #interview .sec-ttl strong {
        position: relative;
        padding-bottom: .5em; }
        #home #interview .sec-ttl strong::after {
          content: '';
          position: absolute;
          bottom: 0;
          left: 0;
          background: -webkit-linear-gradient(330deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
          background: -o-linear-gradient(330deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
          background: linear-gradient(120deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
          display: block;
          width: 100%;
          height: 4px; }
    #home #interview .sec-lead {
      margin-bottom: 75px;
      text-align: center; }
      @media only screen and (max-width: 749px) {
        #home #interview .sec-lead {
          font-size: calc( (26/750)*100vw);
          letter-spacing: normal; } }
    #home #interview .intv {
      position: relative;
      /* .intv-container */ }
      #home #interview .intv .intv-container {
        overflow: hidden;
        /* .swiper-wrapper */ }
        @media only screen and (max-width: 749px) {
          #home #interview .intv .intv-container {
            width: calc( (460/750)*100vw);
            width: 100%;
            margin: 0 auto; } }
        #home #interview .intv .intv-container .swiper-wrapper {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          width: 100%;
          /* .swiper-slide */ }
          #home #interview .intv .intv-container .swiper-wrapper .swiper-slide {
            width: calc( (100% - 40px * 2) / 3);
            /* .fig */ }
            @media only screen and (max-width: 749px) {
              #home #interview .intv .intv-container .swiper-wrapper .swiper-slide {
                width: calc( (460/750)*100vw); } }
            #home #interview .intv .intv-container .swiper-wrapper .swiper-slide .fig {
              background: white url(../images/arrow-r-blue.svg) no-repeat right 25px bottom 35px/18px 32px;
              border-radius: 16px;
              overflow: hidden;
              /* figcaption */ }
              @media only screen and (max-width: 749px) {
                #home #interview .intv .intv-container .swiper-wrapper .swiper-slide .fig {
                  background-position: right calc((30/750)*100vw) bottom calc((40/750)*100vw);
                  background-size: calc((22/750)*100vw) calc((40/750)*100vw); } }
              #home #interview .intv .intv-container .swiper-wrapper .swiper-slide .fig a {
                color: var(--cl-base-black); }
              #home #interview .intv .intv-container .swiper-wrapper .swiper-slide .fig figcaption {
                padding: 35px 30px; }
                @media only screen and (max-width: 749px) {
                  #home #interview .intv .intv-container .swiper-wrapper .swiper-slide .fig figcaption {
                    padding: calc((40/750)*100vw) calc((35/750)*100vw);
                    font-size: calc( (30/750)*100vw);
                    line-height: calc(50/30); } }
                #home #interview .intv .intv-container .swiper-wrapper .swiper-slide .fig figcaption .ttl {
                  margin-bottom: 1em;
                  font-size: 2.4rem;
                  font-weight: bold;
                  line-height: calc( 40 /24); }
                  @media only screen and (max-width: 749px) {
                    #home #interview .intv .intv-container .swiper-wrapper .swiper-slide .fig figcaption .ttl {
                      font-size: calc( (30/750)*100vw);
                      line-height: calc(50/30); } }
                #home #interview .intv .intv-container .swiper-wrapper .swiper-slide .fig figcaption .txt {
                  font-size: 1.6rem;
                  line-height: calc( 30 /16); }
                  @media only screen and (max-width: 749px) {
                    #home #interview .intv .intv-container .swiper-wrapper .swiper-slide .fig figcaption .txt {
                      font-size: calc( (20/750)*100vw);
                      line-height: calc(38/20); } }
      #home #interview .intv .swiper-button-prev,
      #home #interview .intv .swiper-button-next {
        top: 254px;
        background: var(--cl-dark-blue);
        width: 80px;
        height: 80px;
        border-radius: 50%; }
        @media only screen and (max-width: 749px) {
          #home #interview .intv .swiper-button-prev,
          #home #interview .intv .swiper-button-next {
            top: calc( (386/561)*(460/750)*100vw);
            width: calc( (98/750)*100vw);
            height: calc( (98/750)*100vw); } }
        #home #interview .intv .swiper-button-prev::after,
        #home #interview .intv .swiper-button-next::after {
          content: '';
          display: block;
          width: 32px;
          height: 32px;
          border-top: 16px solid transparent;
          border-bottom: 16px solid transparent;
          border-left: 0 solid transparent;
          border-right: 0 solid transparent; }
          @media only screen and (max-width: 749px) {
            #home #interview .intv .swiper-button-prev::after,
            #home #interview .intv .swiper-button-next::after {
              width: calc( (40/750)*100vw);
              height: calc( (40/750)*100vw);
              border-top: calc( (20/750)*100vw) solid transparent;
              border-bottom: calc( (20/750)*100vw) solid transparent; } }
      #home #interview .intv .swiper-button-prev {
        left: -55px; }
        @media only screen and (max-width: 749px) {
          #home #interview .intv .swiper-button-prev {
            left: calc((60/750)*100vw); } }
        #home #interview .intv .swiper-button-prev::after {
          margin-right: 7px;
          border-right: 32px solid white; }
          @media only screen and (max-width: 749px) {
            #home #interview .intv .swiper-button-prev::after {
              margin-right: calc( (7/750)*100vw);
              border-right: calc( (40/750)*100vw) solid white; } }
      #home #interview .intv .swiper-button-next {
        right: -55px; }
        @media only screen and (max-width: 749px) {
          #home #interview .intv .swiper-button-next {
            right: calc((60/750)*100vw); } }
        #home #interview .intv .swiper-button-next::after {
          margin-left: 7px;
          border-left: 32px solid white; }
          @media only screen and (max-width: 749px) {
            #home #interview .intv .swiper-button-next::after {
              margin-left: calc( (7/750)*100vw);
              border-left: calc( (40/750)*100vw) solid white; } }
    #home #interview .tolist {
      position: absolute;
      top: .5em;
      right: 0; }
      @media only screen and (max-width: 749px) {
        #home #interview .tolist {
          position: static;
          margin-top: calc((50/750)*100vw);
          padding-right: calc((45/750)*100vw); } }
      #home #interview .tolist a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        font-size: 1.6rem; }
        @media only screen and (max-width: 749px) {
          #home #interview .tolist a {
            -webkit-box-pack: end;
            -ms-flex-pack: end;
            justify-content: end; } }
        #home #interview .tolist a::before {
          content: '';
          display: inline-block;
          background: url(../images/arrow-r-blue.svg) no-repeat center/cover;
          width: .6em;
          height: 1em;
          margin: .1em .4em 0 0; }
  #home #banner {
    padding: 150px 0 0; }
    @media only screen and (max-width: 749px) {
      #home #banner {
        padding: calc((150/750)*100vw) 0 0; } }
    #home #banner .yt-wrap {
      width: 480px;
      margin: 0 auto; }
      @media only screen and (max-width: 749px) {
        #home #banner .yt-wrap {
          width: 100%; } }
      #home #banner .yt-wrap .yt {
        position: relative;
        width: 100%;
        aspect-ratio: 560 / 315;
        border-radius: 16px;
        overflow: hidden; }
        @media only screen and (max-width: 749px) {
          #home #banner .yt-wrap .yt {
            border-radius: calc((20/750)*100vw); } }
        #home #banner .yt-wrap .yt iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; }

#about .page-hd .hd-ttl img {
  width: 258px; }
  @media only screen and (max-width: 749px) {
    #about .page-hd .hd-ttl img {
      width: calc((272/750)*100vw); } }

#about #intro {
  padding: 120px 0; }
  @media only screen and (max-width: 749px) {
    #about #intro {
      padding: calc((75/750)*100vw) 0; } }
  #about #intro .lead {
    padding: 0 110px 100px; }
    @media only screen and (max-width: 749px) {
      #about #intro .lead {
        padding: 0 0 calc((50/750)*100vw);
        letter-spacing: normal; } }
    #about #intro .lead strong {
      font-weight: bold; }
      #about #intro .lead strong.subj1 {
        color: var(--cl-subj1); }
      #about #intro .lead strong.subj2 {
        color: var(--cl-subj2); }
      #about #intro .lead strong.subj3 {
        color: var(--cl-subj3); }
      #about #intro .lead strong.subj4 {
        color: var(--cl-subj4); }
  #about #intro .points {
    padding: 100px 110px;
    border: 1px solid #000;
    border-radius: 18px; }
    @media only screen and (max-width: 749px) {
      #about #intro .points {
        padding: calc((70/750)*100vw) calc((50/750)*100vw);
        letter-spacing: normal; } }
    #about #intro .points .ttl {
      position: relative;
      margin-bottom: .5em;
      padding: 0 0 0 1.75em;
      font-size: 3.3rem;
      font-weight: bold;
      line-height: calc(50/36);
      letter-spacing: 0.1em; }
      @media only screen and (max-width: 749px) {
        #about #intro .points .ttl {
          font-size: calc((36/750)*100vw); } }
      #about #intro .points .ttl:not(:first-of-type) {
        margin-top: 1.75em; }
      #about #intro .points .ttl::before {
        content: '';
        position: absolute;
        top: -.2em;
        left: -.2em;
        display: inline-block;
        background: url(../images/ico-checkmark.svg) no-repeat center/cover;
        width: 1.6em;
        aspect-ratio: 56 / 50; }
      #about #intro .points .ttl strong {
        font-weight: bold;
        color: var(--cl-dark-blue); }

#about #job {
  background: var(--cl-light-blue);
  padding: 120px 0; }
  @media only screen and (max-width: 749px) {
    #about #job {
      padding: calc((100/750)*100vw) 0; } }
  #about #job .job-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 100px; }
    @media only screen and (max-width: 749px) {
      #about #job .job-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: calc((60/750)*100vw); } }
    #about #job .job-list li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      background: #fff;
      width: calc((100% - 100px) / 2);
      border-radius: 18px;
      overflow: hidden; }
      @media only screen and (max-width: 749px) {
        #about #job .job-list li {
          width: 100%; } }
      #about #job .job-list li .bdy {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding: 35px 35px 20px; }
        @media only screen and (max-width: 749px) {
          #about #job .job-list li .bdy {
            padding: calc((50/750)*100vw) calc((60/750)*100vw);
            gap: calc((60/750)*100vw); } }
        #about #job .job-list li .bdy .ttl {
          background: url(../images/line-dot.png) repeat-x left bottom/auto 4px;
          margin-bottom: .5em;
          padding: 0 5px .75em;
          font-size: 2.6rem;
          color: var(--cl-dark-blue);
          letter-spacing: 0.3em; }
          @media only screen and (max-width: 749px) {
            #about #job .job-list li .bdy .ttl {
              padding: 0 0 .75em;
              font-size: calc((36/750)*100vw); } }
        #about #job .job-list li .bdy .txt {
          padding: 0 5px; }
          @media only screen and (max-width: 749px) {
            #about #job .job-list li .bdy .txt {
              padding: 0; } }

#about #schedule {
  padding: 120px 0; }
  @media only screen and (max-width: 749px) {
    #about #schedule {
      padding: calc((100/750)*100vw) 0; } }
  #about #schedule .sche-clmn {
    position: relative; }
    #about #schedule .sche-clmn .sche-container {
      width: 100%;
      overflow: hidden; }
    #about #schedule .sche-clmn .swiper-button-prev,
    #about #schedule .sche-clmn .swiper-button-next {
      top: 50%;
      background: var(--cl-dark-blue);
      width: 80px;
      height: 80px;
      border-radius: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
      @media only screen and (max-width: 749px) {
        #about #schedule .sche-clmn .swiper-button-prev,
        #about #schedule .sche-clmn .swiper-button-next {
          top: calc( (536/561)*(460/750)*100vw);
          width: calc( (98/750)*100vw);
          height: calc( (98/750)*100vw); } }
      #about #schedule .sche-clmn .swiper-button-prev::after,
      #about #schedule .sche-clmn .swiper-button-next::after {
        content: '';
        display: block;
        width: 32px;
        height: 32px;
        border-top: 16px solid transparent;
        border-bottom: 16px solid transparent;
        border-left: 0 solid transparent;
        border-right: 0 solid transparent; }
        @media only screen and (max-width: 749px) {
          #about #schedule .sche-clmn .swiper-button-prev::after,
          #about #schedule .sche-clmn .swiper-button-next::after {
            width: calc( (40/750)*100vw);
            height: calc( (40/750)*100vw);
            border-top: calc( (20/750)*100vw) solid transparent;
            border-bottom: calc( (20/750)*100vw) solid transparent; } }
    #about #schedule .sche-clmn .swiper-button-prev {
      left: -55px; }
      @media only screen and (max-width: 749px) {
        #about #schedule .sche-clmn .swiper-button-prev {
          left: calc((-30/750)*100vw); } }
      #about #schedule .sche-clmn .swiper-button-prev::after {
        margin-right: 7px;
        border-right: 32px solid white; }
        @media only screen and (max-width: 749px) {
          #about #schedule .sche-clmn .swiper-button-prev::after {
            margin-right: calc( (7/750)*100vw);
            border-right: calc( (40/750)*100vw) solid white; } }
    #about #schedule .sche-clmn .swiper-button-next {
      right: -55px; }
      @media only screen and (max-width: 749px) {
        #about #schedule .sche-clmn .swiper-button-next {
          right: calc((-30/750)*100vw); } }
      #about #schedule .sche-clmn .swiper-button-next::after {
        margin-left: 7px;
        border-left: 32px solid white; }
        @media only screen and (max-width: 749px) {
          #about #schedule .sche-clmn .swiper-button-next::after {
            margin-left: calc( (7/750)*100vw);
            border-left: calc( (40/750)*100vw) solid white; } }

#about .about-sec-ttl {
  margin-bottom: 50px;
  font-size: 2.4rem; }
  @media only screen and (max-width: 749px) {
    #about .about-sec-ttl {
      font-size: calc( (34/750)*100vw); } }
  #about .about-sec-ttl strong {
    display: inline-block;
    padding-right: 16px;
    font-weight: bold;
    letter-spacing: 0.245em; }
    #about .about-sec-ttl strong::after {
      content: '';
      display: block;
      width: calc(100% + 16px);
      height: 12px;
      margin-top: 3px;
      background: -webkit-linear-gradient(330deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
      background: -o-linear-gradient(330deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
      background: linear-gradient(120deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
      -webkit-mask-image: url(../images/job-line1.svg), url(../images/job-line2.svg);
      mask-image: url(../images/job-line1.svg), url(../images/job-line2.svg);
      -webkit-mask-repeat: no-repeat, no-repeat;
      mask-repeat: no-repeat, no-repeat;
      -webkit-mask-size: 14px 11px, calc(100% - 3px) 3px;
      mask-size: 14px 11px, calc(100% - 3px) 3px;
      -webkit-mask-position: right bottom, left bottom;
      mask-position: right bottom, left bottom;
      -webkit-mask-composite: add;
      mask-composite: add; }

#kaisetsu .page-hd .hd-ttl img {
  width: 368px; }
  @media only screen and (max-width: 749px) {
    #kaisetsu .page-hd .hd-ttl img {
      width: calc((386/750)*100vw); } }

#kaisetsu #stepsupports .sec-step {
  --h-step-ttl: 130px;
  position: relative;
  padding: 75px 0; }
  @media only screen and (max-width: 749px) {
    #kaisetsu #stepsupports .sec-step {
      padding: calc((75/750)*100vw) 0 calc((125/750)*100vw); } }
  #kaisetsu #stepsupports .sec-step::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 66px;
    height: 34px;
    margin-left: -33px;
    border-top: 34px solid var(--cl-light-blue);
    border-bottom: 0;
    border-left: 33px solid transparent;
    border-right: 33px solid transparent; }
    @media only screen and (max-width: 749px) {
      #kaisetsu #stepsupports .sec-step::before {
        width: calc((80/750)*100vw);
        height: calc((40/750)*100vw);
        margin-left: calc((-40/750)*100vw);
        border-top: calc((40/750)*100vw) solid var(--cl-light-blue);
        border-left: calc((40/750)*100vw) solid transparent;
        border-right: calc((40/750)*100vw) solid transparent; } }
  #kaisetsu #stepsupports .sec-step:nth-of-type(even) {
    background: var(--cl-light-blue); }
    #kaisetsu #stepsupports .sec-step:nth-of-type(even)::before {
      border-top: 34px solid #fff; }
  #kaisetsu #stepsupports .sec-step:nth-of-type(1)::before {
    display: none; }
  #kaisetsu #stepsupports .sec-step:nth-of-type(5) {
    --h-step-ttl: 210px; }

#kaisetsu #stepsupports .step-wrapper {
  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: start;
  -ms-flex-align: start;
  align-items: start;
  padding-top: 100px; }
  @media only screen and (max-width: 749px) {
    #kaisetsu #stepsupports .step-wrapper {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      padding-top: 0; } }
  #kaisetsu #stepsupports .step-wrapper::after {
    content: '';
    position: absolute;
    top: calc(100px + ((var(--h-step-ttl) - 56px) / 2));
    left: calc(460px + 10px);
    background: url(../images/ico-plus.svg);
    width: 56px;
    height: 56px; }
    @media only screen and (max-width: 749px) {
      #kaisetsu #stepsupports .step-wrapper::after {
        display: none; } }
  #kaisetsu #stepsupports .step-wrapper .num {
    position: absolute;
    top: 0;
    left: -16px;
    width: 120px;
    height: 120px; }
    @media only screen and (max-width: 749px) {
      #kaisetsu #stepsupports .step-wrapper .num {
        position: static;
        width: calc((145/750)*100vw);
        height: calc((145/750)*100vw); } }
  #kaisetsu #stepsupports .step-wrapper .step {
    width: 460px; }
    @media only screen and (max-width: 749px) {
      #kaisetsu #stepsupports .step-wrapper .step {
        position: relative;
        width: 100%;
        padding: 0 calc((50/750)*100vw) calc((130/750)*100vw); } }
    #kaisetsu #stepsupports .step-wrapper .step::before {
      content: '';
      position: absolute;
      top: calc(100px + var(--h-step-ttl));
      right: 40px;
      display: inline-block;
      background: var(--cl-dark-blue);
      width: 44px;
      height: 1px;
      -webkit-transform-origin: right bottom;
      -ms-transform-origin: right bottom;
      transform-origin: right bottom;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }
      @media only screen and (max-width: 749px) {
        #kaisetsu #stepsupports .step-wrapper .step::before {
          display: none; } }
    #kaisetsu #stepsupports .step-wrapper .step::after {
      content: '';
      position: absolute;
      top: calc(100px + var(--h-step-ttl));
      left: 0;
      display: inline-block;
      background: var(--cl-dark-blue);
      width: calc(100% - 40px);
      height: 1px; }
      @media only screen and (max-width: 749px) {
        #kaisetsu #stepsupports .step-wrapper .step::after {
          top: auto;
          bottom: calc((31/750)*100vw);
          left: 50%;
          background: url(../images/ico-plus.svg);
          width: calc((68/750)*100vw);
          height: calc((68/750)*100vw);
          margin-left: calc((-34/750)*100vw); } }
    #kaisetsu #stepsupports .step-wrapper .step .ttl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      height: var(--h-step-ttl);
      margin-bottom: 20px;
      font-size: 2.6rem;
      line-height: calc(42/26);
      color: var(--cl-dark-blue); }
      @media only screen and (max-width: 749px) {
        #kaisetsu #stepsupports .step-wrapper .step .ttl {
          position: relative;
          height: auto;
          margin-bottom: .75em;
          padding-bottom: .75em;
          font-size: calc((36/750)*100vw); }
          #kaisetsu #stepsupports .step-wrapper .step .ttl::before {
            content: '';
            position: absolute;
            bottom: 0;
            right: 0;
            display: inline-block;
            background: var(--cl-dark-blue);
            width: calc((44/750)*100vw);
            height: 1px;
            -webkit-transform-origin: right bottom;
            -ms-transform-origin: right bottom;
            transform-origin: right bottom;
            -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            transform: rotate(45deg); }
          #kaisetsu #stepsupports .step-wrapper .step .ttl::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            display: inline-block;
            background: var(--cl-dark-blue);
            width: 100%;
            height: 1px; } }
    #kaisetsu #stepsupports .step-wrapper .step .pic {
      margin-top: 20px; }
  #kaisetsu #stepsupports .step-wrapper .support {
    background: #fdff51;
    width: 442px;
    padding: 0 40px 40px;
    border-radius: 18px; }
    @media only screen and (max-width: 749px) {
      #kaisetsu #stepsupports .step-wrapper .support {
        width: 100%;
        padding: calc((70/750)*100vw) calc((50/750)*100vw); } }
    #kaisetsu #stepsupports .step-wrapper .support .ttl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      height: var(--h-step-ttl);
      margin-bottom: 20px;
      font-size: 2.6rem;
      line-height: calc(42/26);
      color: var(--cl-dark-blue); }
      @media only screen and (max-width: 749px) {
        #kaisetsu #stepsupports .step-wrapper .support .ttl {
          position: relative;
          height: auto;
          margin-bottom: .75em;
          padding-bottom: .75em;
          font-size: calc((36/750)*100vw); }
          #kaisetsu #stepsupports .step-wrapper .support .ttl::before {
            content: '';
            position: absolute;
            bottom: 0;
            right: 0;
            display: inline-block;
            background: var(--cl-dark-blue);
            width: calc((44/750)*100vw);
            height: 1px;
            -webkit-transform-origin: right bottom;
            -ms-transform-origin: right bottom;
            transform-origin: right bottom;
            -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            transform: rotate(45deg); }
          #kaisetsu #stepsupports .step-wrapper .support .ttl::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            display: inline-block;
            background: var(--cl-dark-blue);
            width: 100%;
            height: 1px; } }
      #kaisetsu #stepsupports .step-wrapper .support .ttl strong {
        font-weight: bold; }

#faq .page-hd .hd-ttl img {
  width: 302px; }
  @media only screen and (max-width: 749px) {
    #faq .page-hd .hd-ttl img {
      width: calc((318/750)*100vw); } }

#faq #qanda {
  background: var(--cl-light-gray);
  padding: 120px 0; }
  @media only screen and (max-width: 749px) {
    #faq #qanda {
      padding: calc((100/750)*100vw) 0; } }
  #faq #qanda .content-qa {
    background: #fff;
    border-radius: 20px;
    /* dd */ }
    @media only screen and (max-width: 749px) {
      #faq #qanda .content-qa {
        border-radius: calc( (20/750)*100vw); } }
    #faq #qanda .content-qa + .content-qa {
      margin-top: 40px; }
      @media only screen and (max-width: 749px) {
        #faq #qanda .content-qa + .content-qa {
          margin-top: calc((60/750)*100vw); } }
    #faq #qanda .content-qa dt {
      position: relative;
      padding-left: 145px;
      /* label */ }
      @media only screen and (max-width: 749px) {
        #faq #qanda .content-qa dt {
          padding-left: calc( (125/750)*100vw); } }
      #faq #qanda .content-qa dt::before {
        content: '';
        position: absolute;
        top: 35px;
        left: 35px;
        background: url(../images/faq-ico-q.svg) no-repeat center/cover;
        width: 78px;
        height: 69px; }
        @media only screen and (max-width: 749px) {
          #faq #qanda .content-qa dt::before {
            top: calc( (45/750)*100vw);
            left: calc( (25/750)*100vw);
            width: calc( (80/750)*100vw);
            height: calc( (72/750)*100vw); } }
      #faq #qanda .content-qa dt input[type=checkbox] {
        display: none; }
      #faq #qanda .content-qa dt label {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 20px;
        height: auto;
        min-height: 130px;
        padding: 30px 40px 30px 0;
        cursor: pointer;
        /* strong */ }
        @media only screen and (max-width: 749px) {
          #faq #qanda .content-qa dt label {
            gap: calc( (30/750)*100vw);
            min-height: calc( (155/750)*100vw);
            padding: calc((40/750)*100vw) calc((40/750)*100vw) calc((40/750)*100vw) 0;
            border-radius: calc( (20/750)*100vw); } }
        #faq #qanda .content-qa dt label::after {
          content: '';
          display: inline-block;
          background: #666666 url(../images/arrow-t-gray.svg) no-repeat center/18px auto;
          width: 32px;
          height: 32px;
          border-radius: 50%;
          -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
          transform: rotate(180deg);
          -webkit-transition: -webkit-transform .3s ease-in;
          transition: -webkit-transform .3s ease-in;
          -o-transition: transform .3s ease-in;
          transition: transform .3s ease-in;
          transition: transform .3s ease-in, -webkit-transform .3s ease-in; }
          @media only screen and (max-width: 749px) {
            #faq #qanda .content-qa dt label::after {
              background-size: calc( (20/750)*100vw) auto;
              width: calc( (35/750)*100vw);
              height: calc( (35/750)*100vw); } }
        #faq #qanda .content-qa dt label strong {
          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;
          width: calc(100% - 32px);
          height: 100%;
          font-size: 2.6rem;
          font-weight: bold;
          line-height: calc(37/26); }
          @media only screen and (max-width: 749px) {
            #faq #qanda .content-qa dt label strong {
              font-size: calc( (34/750)*100vw); } }
      #faq #qanda .content-qa dt:has(> input:checked) label::after {
        -webkit-transform: rotate(0);
        -ms-transform: rotate(0);
        transform: rotate(0); }
    #faq #qanda .content-qa dd {
      position: relative;
      display: none;
      padding: 0 40px 40px 145px;
      /* .content */ }
      @media only screen and (max-width: 749px) {
        #faq #qanda .content-qa dd {
          padding: 0 calc((40/750)*100vw) calc((40/750)*100vw) calc((125/750)*100vw); } }
      #faq #qanda .content-qa dd::before {
        content: '';
        position: absolute;
        top: 25px;
        left: 35px;
        background: url(../images/faq-ico-a.svg) no-repeat center/cover;
        width: 78px;
        height: 69px; }
        @media only screen and (max-width: 749px) {
          #faq #qanda .content-qa dd::before {
            top: calc( (30/750)*100vw);
            left: calc( (25/750)*100vw);
            width: calc( (80/750)*100vw);
            height: calc( (72/750)*100vw); } }
      #faq #qanda .content-qa dd .content {
        padding-top: 30px;
        border-top: 1px solid var(--cl-base-black); }
        @media only screen and (max-width: 749px) {
          #faq #qanda .content-qa dd .content {
            padding-top: calc( (30/750)*100vw); } }
    #faq #qanda .content-qa dt:has(> input:checked) + dd {
      display: block; }

#meeting .page-hd .hd-ttl img {
  width: 380px; }
  @media only screen and (max-width: 749px) {
    #meeting .page-hd .hd-ttl img {
      width: calc((400/750)*100vw); } }

#meeting #chart {
  background: var(--cl-light-gray);
  padding: 120px 0; }
  @media only screen and (max-width: 749px) {
    #meeting #chart {
      padding: calc((100/750)*100vw) 0; } }
  #meeting #chart .lead {
    margin-bottom: 100px; }
    @media only screen and (max-width: 749px) {
      #meeting #chart .lead {
        margin-bottom: calc((100/750)*100vw) 0; } }
  #meeting #chart .figchart {
    margin-bottom: 50px; }
  #meeting #chart .results {
    --gap-w: 62px;
    --result-cl1-dark: #33cdff;
    --result-cl2-dark: #fc1ccf;
    --result-cl3-dark: #68d145;
    --result-cl1-light: #d4f4ff;
    --result-cl2-light: #fed8f7;
    --result-cl3-light: #e5f7df;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    -ms-grid-rows: 1fr;
    grid-template-rows: 1fr;
    gap: var(--gap-w); }
    @media only screen and (max-width: 749px) {
      #meeting #chart .results {
        -ms-grid-columns: (1fr)[1];
        grid-template-columns: repeat(1, 1fr); } }
    #meeting #chart .results .result {
      -ms-grid-row-span: 5;
      grid-row: span 5;
      position: relative;
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: auto;
      grid-template-columns: auto;
      -ms-grid-rows: subgrid;
      grid-template-rows: subgrid;
      gap: 0;
      place-items: start center;
      padding: 0 0 20px 0; }
      @media only screen and (max-width: 749px) {
        #meeting #chart .results .result {
          -ms-grid-rows: auto;
          grid-template-rows: auto;
          padding: 0 0 calc((50/750)*100vw) 0; } }
      #meeting #chart .results .result .hd {
        width: 100%;
        margin: 0 0 45px 0; }
        #meeting #chart .results .result .hd img {
          width: 308px;
          height: auto;
          margin: -12px 0 0 -12px; }
          @media only screen and (max-width: 749px) {
            #meeting #chart .results .result .hd img {
              width: calc((433/750)*100vw);
              margin: calc((-18/750)*100vw) 0 0 calc((-18/750)*100vw); } }
      #meeting #chart .results .result .clock {
        position: absolute;
        top: 40px;
        right: 30px;
        width: 65px;
        height: 65px; }
        @media only screen and (max-width: 749px) {
          #meeting #chart .results .result .clock {
            width: calc((113/750)*100vw);
            height: calc((113/750)*100vw); } }
      #meeting #chart .results .result .ttl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: 20px; }
        #meeting #chart .results .result .ttl strong {
          position: relative;
          padding: 0 .75em;
          font-size: 2.1rem;
          font-weight: bold;
          line-height: 1; }
          @media only screen and (max-width: 749px) {
            #meeting #chart .results .result .ttl strong {
              font-size: calc((30/750)*100vw); } }
          #meeting #chart .results .result .ttl strong::before, #meeting #chart .results .result .ttl strong::after {
            content: '';
            position: absolute;
            top: 0;
            display: inline-block;
            width: 3px;
            height: 1em;
            background: var(--cl-base-black); }
          #meeting #chart .results .result .ttl strong::before {
            left: 0;
            -webkit-transform: rotate(-20deg);
            -ms-transform: rotate(-20deg);
            transform: rotate(-20deg); }
          #meeting #chart .results .result .ttl strong::after {
            right: 0;
            -webkit-transform: rotate(20deg);
            -ms-transform: rotate(20deg);
            transform: rotate(20deg); }
      #meeting #chart .results .result .check-list {
        padding-bottom: 10px; }
        #meeting #chart .results .result .check-list li {
          position: relative;
          margin-bottom: .5em;
          padding: 0 0 0 1.75em;
          font-size: 2.4rem;
          font-weight: bold;
          line-height: calc(24/18); }
          @media only screen and (max-width: 749px) {
            #meeting #chart .results .result .check-list li {
              font-size: calc((35/750)*100vw); } }
          #meeting #chart .results .result .check-list li::before {
            content: '';
            position: absolute;
            top: -.2em;
            left: 0;
            display: inline-block;
            background: url(../images/meeting-check1.svg) no-repeat center/cover;
            width: 1.6em;
            aspect-ratio: 56 / 50; }
          #meeting #chart .results .result .check-list li strong {
            font-weight: bold;
            color: var(--cl-dark-blue); }
      #meeting #chart .results .result figure figcaption {
        padding: 20px; }
        @media only screen and (max-width: 749px) {
          #meeting #chart .results .result figure figcaption {
            padding: calc((30/750)*100vw) calc((50/750)*100vw); } }
      #meeting #chart .results .result .cmn-btn-a a {
        padding-right: 30px; }
        #meeting #chart .results .result .cmn-btn-a a::after {
          -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
          transform: rotate(90deg); }
          @media only screen and (max-width: 749px) {
            #meeting #chart .results .result .cmn-btn-a a::after {
              background-position: calc((15/750)*100vw) center; } }
        #meeting #chart .results .result .cmn-btn-a a span {
          letter-spacing: normal; }
      #meeting #chart .results .result:nth-of-type(1) {
        background: var(--result-cl1-light); }
        #meeting #chart .results .result:nth-of-type(1) .check-list li::before {
          background: url(../images/meeting-check1.svg) no-repeat center/cover; }
        #meeting #chart .results .result:nth-of-type(1) .check-list li strong {
          color: var(--result-cl1-dark); }
        #meeting #chart .results .result:nth-of-type(1) .cmn-btn-a a {
          background: var(--result-cl1-dark); }
          #meeting #chart .results .result:nth-of-type(1) .cmn-btn-a a::after {
            background-image: url(../images/meeting-arrow1.svg); }
      #meeting #chart .results .result:nth-of-type(2) {
        background: var(--result-cl2-light); }
        #meeting #chart .results .result:nth-of-type(2) .check-list li::before {
          background: url(../images/meeting-check2.svg) no-repeat center/cover; }
        #meeting #chart .results .result:nth-of-type(2) .check-list li strong {
          color: var(--result-cl2-dark); }
        #meeting #chart .results .result:nth-of-type(2) .cmn-btn-a a {
          background: var(--result-cl2-dark); }
          #meeting #chart .results .result:nth-of-type(2) .cmn-btn-a a::after {
            background-image: url(../images/meeting-arrow2.svg); }
      #meeting #chart .results .result:nth-of-type(3) {
        background: var(--result-cl3-light); }
        #meeting #chart .results .result:nth-of-type(3) .check-list li::before {
          background: url(../images/meeting-check3.svg) no-repeat center/cover; }
        #meeting #chart .results .result:nth-of-type(3) .check-list li strong {
          color: var(--result-cl3-dark); }
        #meeting #chart .results .result:nth-of-type(3) .cmn-btn-a a {
          background: var(--result-cl3-dark);
          -webkit-transform: rotate(0);
          -ms-transform: rotate(0);
          transform: rotate(0); }
          #meeting #chart .results .result:nth-of-type(3) .cmn-btn-a a::after {
            background-image: url(../images/meeting-arrow3.svg); }

#interview {
  --h-roller: calc( (310 / (465 * 4)) * 100dvw );
  --h-hd: calc( 100dvh - var(--h-roller) ); }
  #interview .interview-hd {
    position: relative;
    background: -webkit-linear-gradient(330deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
    background: -o-linear-gradient(330deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
    background: linear-gradient(120deg, #ff74bf 0%, #f9907f 17%, #ff8922 32%, #f8a22d 45%, #6fd648 66%, #5adcb5 84%, #277cff 100%);
    background-position: center;
    background-size: 125%;
    height: var(--h-hd);
    margin-top: calc(var(--header-h-pc)*-1); }
    @media only screen and (max-width: 749px) {
      #interview .interview-hd {
        height: auto;
        aspect-ratio: 750 / 765;
        margin-top: 0; } }
    #interview .interview-hd .sec-inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      height: 100%;
      padding-top: calc( var(--header-h-pc) + 10px); }
      @media only screen and (max-width: 749px) {
        #interview .interview-hd .sec-inner {
          padding-top: 0; } }
      #interview .interview-hd .sec-inner .hd-wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%;
        height: 100%;
        max-height: 380px; }
        @media only screen and (max-width: 749px) {
          #interview .interview-hd .sec-inner .hd-wrap {
            -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: start;
            -webkit-box-align: end;
            -ms-flex-align: end;
            align-items: end;
            gap: calc((100/750)*100vw);
            height: auto;
            max-height: none; } }
        #interview .interview-hd .sec-inner .hd-wrap .hd-ttl {
          -ms-flex-item-align: start;
          -ms-grid-row-align: start;
          align-self: start;
          width: auto;
          height: clamp(110px, 11.7dvh, 138px);
          aspect-ratio: 418 / 138;
          z-index: 1; }
          @media only screen and (max-width: 749px) {
            #interview .interview-hd .sec-inner .hd-wrap .hd-ttl {
              -ms-flex-item-align: start;
              -ms-grid-row-align: start;
              align-self: start;
              width: calc((424/750)*100vw); } }
          #interview .interview-hd .sec-inner .hd-wrap .hd-ttl img {
            width: 100%; }
        #interview .interview-hd .sec-inner .hd-wrap .hd-sub {
          -ms-flex-item-align: end;
          align-self: end;
          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: start;
          gap: 50px; }
          @media only screen and (max-width: 749px) {
            #interview .interview-hd .sec-inner .hd-wrap .hd-sub {
              gap: calc((40/750)*100vw);
              width: calc((26/750)*20*100vw);
              padding-top: 0;
              overflow: hidden; } }
          #interview .interview-hd .sec-inner .hd-wrap .hd-sub .sub-ttl {
            width: 350px; }
            #interview .interview-hd .sec-inner .hd-wrap .hd-sub .sub-ttl img {
              width: 100%; }
              @media only screen and (max-width: 749px) {
                #interview .interview-hd .sec-inner .hd-wrap .hd-sub .sub-ttl img {
                  width: calc((368/750)*100vw); } }
          #interview .interview-hd .sec-inner .hd-wrap .hd-sub .sub-lead {
            padding-bottom: 10px;
            font-size: clamp(1.6rem, 1.55dvh, 1.9rem);
            color: #fff;
            line-height: calc(46/19);
            letter-spacing: .265em; }
            @media only screen and (max-width: 749px) {
              #interview .interview-hd .sec-inner .hd-wrap .hd-sub .sub-lead {
                font-size: calc((26/750)*100vw);
                letter-spacing: .125em; } }
  #interview .intvroll-container {
    overflow: hidden; }
    #interview .intvroll-container .swiper-wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100%;
      height: var(--h-roller);
      -webkit-transition-timing-function: linear;
      -o-transition-timing-function: linear;
      transition-timing-function: linear; }
      @media only screen and (max-width: 749px) {
        #interview .intvroll-container .swiper-wrapper {
          height: auto; } }
      #interview .intvroll-container .swiper-wrapper .swiper-slide {
        width: calc(100%/4);
        -webkit-transform: scale(1.005);
        -ms-transform: scale(1.005);
        transform: scale(1.005); }
        @media only screen and (max-width: 749px) {
          #interview .intvroll-container .swiper-wrapper .swiper-slide {
            width: calc(100%/3); } }
        #interview .intvroll-container .swiper-wrapper .swiper-slide img {
          width: 100%;
          max-width: none; }
  #interview #instructors {
    background: var(--cl-light-gray);
    padding: 150px 0;
    /* .inst-list */ }
    @media only screen and (max-width: 749px) {
      #interview #instructors {
        padding: calc((120/750)*100vw) 0; } }
    #interview #instructors .inst-list {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr 1fr;
      grid-template-columns: 1fr 1fr;
      gap: 100px;
      width: 100%;
      /* .inst */ }
      @media only screen and (max-width: 749px) {
        #interview #instructors .inst-list {
          -ms-grid-columns: 1fr;
          grid-template-columns: 1fr;
          gap: calc((80/750)*100vw); } }
      #interview #instructors .inst-list .inst {
        /* .fig */ }
        #interview #instructors .inst-list .inst .fig {
          background: white url(../images/arrow-r-blue.svg) no-repeat right 25px bottom 35px/18px 32px;
          border-radius: 16px;
          overflow: hidden;
          /* figcaption */ }
          @media only screen and (max-width: 749px) {
            #interview #instructors .inst-list .inst .fig {
              background-position: right calc((30/750)*100vw) bottom calc((40/750)*100vw);
              background-size: calc((22/750)*100vw) calc((40/750)*100vw); } }
          #interview #instructors .inst-list .inst .fig a {
            color: var(--cl-base-black); }
          #interview #instructors .inst-list .inst .fig figcaption {
            padding: 35px 30px; }
            @media only screen and (max-width: 749px) {
              #interview #instructors .inst-list .inst .fig figcaption {
                padding: calc((40/750)*100vw) calc((35/750)*100vw);
                font-size: calc( (30/750)*100vw);
                line-height: calc(50/30); } }
            #interview #instructors .inst-list .inst .fig figcaption .ttl {
              margin-bottom: 1em;
              font-size: 2.4rem;
              font-weight: bold;
              line-height: calc( 40 /24); }
              @media only screen and (max-width: 749px) {
                #interview #instructors .inst-list .inst .fig figcaption .ttl {
                  font-size: calc( (36/750)*100vw);
                  line-height: calc(50/30); } }
            #interview #instructors .inst-list .inst .fig figcaption .txt {
              font-size: 1.6rem;
              line-height: calc( 30 /16); }
              @media only screen and (max-width: 749px) {
                #interview #instructors .inst-list .inst .fig figcaption .txt {
                  font-size: calc( (22/750)*100vw);
                  line-height: calc(38/20); } }
  #interview #interview-detail {
    padding: 100px 0 150px; }
    @media only screen and (max-width: 749px) {
      #interview #interview-detail {
        padding: calc((100/750)*100vw) 0 calc((150/750)*100vw); } }
    #interview #interview-detail h2 {
      margin-bottom: 1em;
      font-size: 3.8rem;
      font-weight: normal;
      line-height: 1.76316;
      letter-spacing: 0.2em; }
      @media only screen and (max-width: 749px) {
        #interview #interview-detail h2 {
          font-size: calc((36/750)*100vw); } }
    #interview #interview-detail h3 {
      font-size: 3.6rem;
      font-weight: normal;
      line-height: 1.66667;
      letter-spacing: 0.2em;
      text-align: left;
      overflow-wrap: anywhere;
      word-break: normal;
      line-break: strict; }
      @media only screen and (max-width: 749px) {
        #interview #interview-detail h3 {
          font-size: calc((36/750)*100vw); } }
      #interview #interview-detail h3 + p {
        margin-top: 3em; }
      #interview #interview-detail h3 + div.has-pic {
        margin-top: 3em; }
    #interview #interview-detail h4.schedule-ttl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin-top: 3em;
      margin-bottom: 1.5em;
      font-size: 2.1rem;
      font-weight: normal; }
      @media only screen and (max-width: 749px) {
        #interview #interview-detail h4.schedule-ttl {
          font-size: calc((28/750)*100vw); } }
      #interview #interview-detail h4.schedule-ttl::before {
        content: '';
        display: inline-block;
        background: url(../images/ico-clock.svg) no-repeat center/cover;
        width: 38px;
        height: 38px;
        margin-right: .5em; }
        @media only screen and (max-width: 749px) {
          #interview #interview-detail h4.schedule-ttl::before {
            width: calc((56/750)*100vw);
            height: calc((56/750)*100vw); } }
      #interview #interview-detail h4.schedule-ttl + figure img {
        margin: 0 0 0 -10px; }
        @media only screen and (max-width: 749px) {
          #interview #interview-detail h4.schedule-ttl + figure img {
            margin: 0; } }
    #interview #interview-detail .profile {
      font-size: 1.6rem;
      line-height: 1.875; }
      @media only screen and (max-width: 749px) {
        #interview #interview-detail .profile {
          font-size: calc((22/750)*100vw); } }
    #interview #interview-detail p + h3 {
      margin-top: 2.5em; }
      #interview #interview-detail p + h3 + h3 {
        margin-top: 2.5em; }
    #interview #interview-detail p + figure {
      margin-top: 5em; }
    #interview #interview-detail figure + h3 {
      margin-top: 2.5em; }
    #interview #interview-detail .full-pic {
      margin: 150px 0; }
      @media only screen and (max-width: 749px) {
        #interview #interview-detail .full-pic {
          margin: calc((150/750)*100vw) 0; } }
    #interview #interview-detail div.has-pic {
      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;
      gap: 50px; }
      @media only screen and (max-width: 749px) {
        #interview #interview-detail div.has-pic {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
          gap: calc((50/750)*100vw); } }
      #interview #interview-detail div.has-pic p {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1; }
      #interview #interview-detail div.has-pic picture {
        width: 470px; }
        @media only screen and (max-width: 749px) {
          #interview #interview-detail div.has-pic picture {
            width: 100%; } }
      #interview #interview-detail div.has-pic + div.has-pic {
        margin-top: 50px; }
      #interview #interview-detail div.has-pic.left {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row; }
        @media only screen and (max-width: 749px) {
          #interview #interview-detail div.has-pic.left {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column; } }
    #interview #interview-detail .post-pager {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      width: 60rem;
      margin: 20rem auto 0; }
      @media only screen and (max-width: 749px) {
        #interview #interview-detail .post-pager {
          width: 100%;
          margin: 20vw auto 0; } }
      #interview #interview-detail .post-pager p {
        width: 50%;
        font-size: 1.6rem;
        text-align: center; }
        #interview #interview-detail .post-pager p.backtolist {
          width: 100%;
          margin-top: 3rem; }
          @media only screen and (max-width: 749px) {
            #interview #interview-detail .post-pager p.backtolist {
              margin-top: 6.66667vw; } }
        #interview #interview-detail .post-pager p a {
          position: relative;
          font-weight: 400; }
          @media only screen and (max-width: 749px) {
            #interview #interview-detail .post-pager p a {
              font-size: 2.66667vw; } }
          #interview #interview-detail .post-pager p a::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            display: inline-block;
            background-color: var(--cl-light-blue);
            width: 100%;
            height: 1px;
            opacity: 0;
            -webkit-transition: opacity .3s;
            -o-transition: opacity .3s;
            transition: opacity .3s; }
          #interview #interview-detail .post-pager p a:hover::after {
            opacity: 1; }

#boshu .page-hd .hd-ttl img {
  width: 182px; }
  @media only screen and (max-width: 749px) {
    #boshu .page-hd .hd-ttl img {
      width: calc((192/750)*100vw); } }

#boshu #requirements {
  background: var(--cl-light-gray);
  padding: 120px 0; }
  @media only screen and (max-width: 749px) {
    #boshu #requirements {
      padding: calc((100/750)*100vw) 0; } }
  #boshu #requirements .content-boshu {
    background: #fff;
    border-radius: 20px;
    padding: 80px 100px; }
    @media only screen and (max-width: 749px) {
      #boshu #requirements .content-boshu {
        border-radius: calc( (20/750)*100vw);
        padding: calc( (50/750)*100vw); } }
    #boshu #requirements .content-boshu dt .ttl {
      background: url(../images/line-dot.png) repeat-x left bottom/auto 4px;
      margin-bottom: .75em;
      padding: 0 0 1em;
      font-size: 2.6rem;
      color: var(--cl-dark-blue);
      letter-spacing: 0.3em; }
      @media only screen and (max-width: 749px) {
        #boshu #requirements .content-boshu dt .ttl {
          background: url(../images/line-dot.png) repeat-x left bottom/auto calc((5/750)*100vw);
          padding: 0 0 .75em;
          font-size: calc((36/750)*100vw); } }
    #boshu #requirements .content-boshu dd .content.balance > figure {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin: 40px 0; }
      @media only screen and (max-width: 749px) {
        #boshu #requirements .content-boshu dd .content.balance > figure {
          margin: calc((40/750)*100vw) 0; } }
      #boshu #requirements .content-boshu dd .content.balance > figure img {
        width: 738px; }
        @media only screen and (max-width: 749px) {
          #boshu #requirements .content-boshu dd .content.balance > figure img {
            width: 100%; } }
    #boshu #requirements .content-boshu dd .content.balance .sche-clmn {
      background: var(--cl-light-gray);
      padding: 50px 70px;
      border-radius: 18px; }
      @media only screen and (max-width: 749px) {
        #boshu #requirements .content-boshu dd .content.balance .sche-clmn {
          width: calc(100% + ((40/750)*100vw * 2));
          margin-left: calc((-40/750)*100vw);
          padding: calc((60/750)*100vw) calc((40/750)*100vw); } }
      #boshu #requirements .content-boshu dd .content.balance .sche-clmn .ttl {
        margin-bottom: 1em;
        font-size: 2.6rem;
        color: var(--cl-dark-blue); }
        @media only screen and (max-width: 749px) {
          #boshu #requirements .content-boshu dd .content.balance .sche-clmn .ttl {
            font-size: calc((36/750)*100vw); } }
      #boshu #requirements .content-boshu dd .content.balance .sche-clmn .item + .item {
        margin-top: 80px; }
      #boshu #requirements .content-boshu dd .content.balance .sche-clmn .item figure {
        width: calc(100% + (45px * 2));
        margin-left: -45px; }
        @media only screen and (max-width: 749px) {
          #boshu #requirements .content-boshu dd .content.balance .sche-clmn .item figure {
            width: 100%;
            margin-left: 0; } }
      #boshu #requirements .content-boshu dd .content.balance .sche-clmn .item table {
        width: 100%; }
    #boshu #requirements .content-boshu dd + dt {
      margin-top: 50px; }
      @media only screen and (max-width: 749px) {
        #boshu #requirements .content-boshu dd + dt {
          margin-top: calc((60/750)*100vw); } }
