@charset "UTF-8";
/*! Yaku Han JP v3.4.1 (OFL-1.1 AND MIT) by Qrac */
/*! Type: YakuHanJPs_Noto - Based on Noto Sans CJK JP */
@font-face {
  font-family: "YakuHanJPs_Noto";
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Thin.eot");
  src: url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Thin.woff2") format("woff2"), url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Thin.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d; }

@font-face {
  font-family: "YakuHanJPs_Noto";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Light.eot");
  src: url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Light.woff2") format("woff2"), url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Light.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d; }

@font-face {
  font-family: "YakuHanJPs_Noto";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Regular.eot");
  src: url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Regular.woff2") format("woff2"), url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Regular.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d; }

@font-face {
  font-family: "YakuHanJPs_Noto";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Medium.eot");
  src: url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Medium.woff2") format("woff2"), url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Medium.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d; }

@font-face {
  font-family: "YakuHanJPs_Noto";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Bold.eot");
  src: url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Bold.woff2") format("woff2"), url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Bold.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d; }

@font-face {
  font-family: "YakuHanJPs_Noto";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Black.eot");
  src: url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Black.woff2") format("woff2"), url("../font/yakuhanjp/YakuHanJPs/YakuHanJPs-Black.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes blurIn {
  0% {
    opacity: 0;
    filter: blur(50px); }
  100% {
    opacity: 1;
    filter: blur(0); } }

@keyframes fade-in {
  0% {
    display: none !important;
    opacity: 0; }
  1% {
    display: block;
    opacity: 0; }
  100% {
    display: block;
    opacity: 1; } }

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1; }
  99% {
    display: block;
    opacity: 0; }
  100% {
    display: none !important;
    opacity: 0; } }

body {
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%; }

a, h1, h2, h3, h4, h5, h6, p, small, section {
  max-height: 100%; }

img {
  border: 0;
  vertical-align: bottom;
  align-self: flex-start; }

a span {
  cursor: pointer; }

.overlay {
  cursor: pointer; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent; }

img {
  vertical-align: top; }

html {
  font-size: 62.5%; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

*:focus {
  outline: 0; }

ins {
  text-decoration: none; }

del {
  text-decoration: line-through; }

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

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

.aspect-3_2 {
  height: 0;
  padding-top: calc(0.66667 * 100%);
  position: relative; }

.aspect-4_3 {
  height: 0;
  padding-top: calc(0.75 * 100%);
  position: relative; }

.aspect-5_3 {
  height: 0;
  padding-top: calc(0.6 * 100%);
  position: relative; }

.aspect-16_9 {
  height: 0;
  padding-top: calc(0.5625 * 100%);
  position: relative; }

.clfl:after {
  content: ".";
  display: block;
  clear: left;
  height: 0;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0; }

.clfr:after {
  content: ".";
  display: block;
  clear: right;
  height: 0;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0; }

.clf:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0; }

.clf {
  min-height: 1px; }

* html .clf {
  height: 1px;
  /*¥*/
  /*/
    height: auto;
    overflow: hidden;
    /**/ }

a.sp, abbr.sp, acronym.sp, audio.sp, b.sp, bdi.sp, bdo.sp, big.sp, br.sp, button.sp, canvas.sp, cite.sp, code.sp, data.sp, datalist.sp, del.sp, dfn.sp, em.sp, embed.sp, i.sp, iframe.sp, img.sp, input.sp, ins.sp, kbd.sp, label.sp, map.sp, mark.sp, meter.sp, noscript.sp, object.sp, output.sp, picture.sp, progress.sp, q.sp, ruby.sp, s.sp, samp.sp, script.sp, select.sp, slot.sp, small.sp, span.sp, strong.sp, sub.sp, sup.sp, svg.sp, template.sp, textarea.sp, time.sp, u.sp, tt.sp, var.sp, video.sp, wbr.sp {
  display: none; }

@media (max-width: 924px) {
  a.sp, abbr.sp, acronym.sp, audio.sp, b.sp, bdi.sp, bdo.sp, big.sp, br.sp, button.sp, canvas.sp, cite.sp, code.sp, data.sp, datalist.sp, del.sp, dfn.sp, em.sp, embed.sp, i.sp, iframe.sp, img.sp, input.sp, ins.sp, kbd.sp, label.sp, map.sp, mark.sp, meter.sp, noscript.sp, object.sp, output.sp, picture.sp, progress.sp, q.sp, ruby.sp, s.sp, samp.sp, script.sp, select.sp, slot.sp, small.sp, span.sp, strong.sp, sub.sp, sup.sp, svg.sp, template.sp, textarea.sp, time.sp, u.sp, tt.sp, var.sp, video.sp, wbr.sp {
    display: inline; }
  a.pc, abbr.pc, acronym.pc, audio.pc, b.pc, bdi.pc, bdo.pc, big.pc, br.pc, button.pc, canvas.pc, cite.pc, code.pc, data.pc, datalist.pc, del.pc, dfn.pc, em.pc, embed.pc, i.pc, iframe.pc, img.pc, input.pc, ins.pc, kbd.pc, label.pc, map.pc, mark.pc, meter.pc, noscript.pc, object.pc, output.pc, picture.pc, progress.pc, q.pc, ruby.pc, s.pc, samp.pc, script.pc, select.pc, slot.pc, small.pc, span.pc, strong.pc, sub.pc, sup.pc, svg.pc, template.pc, textarea.pc, time.pc, u.pc, tt.pc, var.pc, video.pc, wbr.pc {
    display: none; } }

address.sp, article.sp, aside.sp, blockquote.sp, details.sp, dialog.sp, dd.sp, div.sp, dl.sp, dt.sp, fieldset.sp, figcaption.sp, figure.sp, figcaption.sp, footer.sp, form.sp, h1.sp, h2.sp, h3.sp, h4.sp, h5.sp, h6.sp, header.sp, hgroup.sp, hr.sp, li.sp, main.sp, nav.sp, ol.sp, p.sp, pre.sp, section.sp, table.sp, ul.sp {
  display: none; }

@media (max-width: 924px) {
  address.sp, article.sp, aside.sp, blockquote.sp, details.sp, dialog.sp, dd.sp, div.sp, dl.sp, dt.sp, fieldset.sp, figcaption.sp, figure.sp, figcaption.sp, footer.sp, form.sp, h1.sp, h2.sp, h3.sp, h4.sp, h5.sp, h6.sp, header.sp, hgroup.sp, hr.sp, li.sp, main.sp, nav.sp, ol.sp, p.sp, pre.sp, section.sp, table.sp, ul.sp {
    display: block; }
  address.pc, article.pc, aside.pc, blockquote.pc, details.pc, dialog.pc, dd.pc, div.pc, dl.pc, dt.pc, fieldset.pc, figcaption.pc, figure.pc, figcaption.pc, footer.pc, form.pc, h1.pc, h2.pc, h3.pc, h4.pc, h5.pc, h6.pc, header.pc, hgroup.pc, hr.pc, li.pc, main.pc, nav.pc, ol.pc, p.pc, pre.pc, section.pc, table.pc, ul.pc {
    display: none; } }

body {
  --global-header-height: 110px; }
  @media only screen and (max-width: 924px) {
    body {
      --global-header-height: 78px; } }

@font-face {
  font-family: 'Inter';
  font-weight: 500;
  font-display: swap;
  src: url("../font/Inter-Medium.woff2") format("woff2"); }

@font-face {
  font-family: 'Inter';
  font-weight: 700;
  font-display: swap;
  src: url("../font/Inter-Bold.woff2") format("woff2"); }

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

img {
  align-self: auto; }

a,
button {
  transition: opacity .2s; }
  a:hover,
  button:hover {
    opacity: .6; }
    @media only screen and (max-width: 924px) {
      a:hover,
      button:hover {
        opacity: 1; } }

a {
  color: inherit;
  text-decoration: none; }

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

p {
  font-size: 16px;
  letter-spacing: .025em; }
  @media only screen and (max-width: 924px) {
    p {
      font-size: 14px;
      letter-spacing: .045em; } }

body {
  display: flex;
  flex-flow: column;
  min-height: 100vh;
  font-family: YakuHanJPs_Noto, 'Inter', 'Noto Sans JP', sans-serif;
  font-weight: 500; }
  body.noscroll {
    overflow: hidden; }
  body.resizing * {
    transition: none !important; }

main {
  flex: 1; }

.notInter {
  font-family: "Noto Sans JP", sans-serif; }

.bg-white {
  width: calc(100% - 90px);
  margin: 0 auto;
  border-radius: 20px;
  background-color: #fff; }
  @media only screen and (max-width: 924px) {
    .bg-white {
      width: calc(100% - 20px); } }
  @media only screen and (max-width: 924px) {
    .bg-white {
      border-radius: 6px; } }

.col2 {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media only screen and (max-width: 1220px) {
    .col2 {
      width: calc(100% - 90px); } }
  @media only screen and (max-width: 924px) {
    .col2 {
      display: block;
      width: calc(100% - 40px); } }
  .col2:nth-of-type(n+2) {
    margin-top: 118px; }
    @media only screen and (max-width: 1220px) {
      .col2:nth-of-type(n+2) {
        margin-top: 58px; } }
  .col2 .reverse {
    order: 2; }
  .col2 .item {
    width: calc((100% - 65px) / 2); }
    @media only screen and (max-width: 1220px) {
      .col2 .item {
        width: calc((100% - 45px) / 2); } }
    @media only screen and (max-width: 924px) {
      .col2 .item {
        width: 100%; } }
  .col2 .text .desc {
    font-size: 16px;
    letter-spacing: .025em;
    line-height: 2; }
    @media only screen and (max-width: 924px) {
      .col2 .text .desc {
        font-size: 14px;
        letter-spacing: .045em;
        line-height: calc(26 / 14); } }
  .col2 .figure {
    height: auto; }
    @media only screen and (max-width: 924px) {
      .col2 .figure.sp, .col2 .figure.max400 {
        display: block;
        margin: 0 auto;
        max-width: 400px; } }

[data-visibility=""] {
  opacity: 0;
  visibility: hidden;
  transform: translateY(50px); }

[data-visibility="true"] {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
  transition: all 1s; }

@keyframes fadeIn {
  from {
    opacity: 0;
    visibility: hidden; }
  to {
    opacity: 1;
    visibility: visible; } }

.rotateR {
  animation: turnRight 20s linear infinite; }

.sway {
  animation: sway 6s ease-in-out infinite; }

@keyframes turnRight {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(360deg); } }

@keyframes sway {
  0% {
    transform: rotate(-5deg); }
  60% {
    transform: rotate(6deg); }
  100% {
    transform: rotate(-5deg); } }

@keyframes scroll_guide_animation {
  0% {
    transform: translate3d(0, -100%, 0); }
  15% {
    transform: translate3d(0, -98%, 0); }
  85% {
    transform: translate3d(0, 98%, 0); }
  100% {
    transform: translate3d(0, 100%, 0); } }

.scrollGuide {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  top: calc(100vh - 355px);
  right: 40px;
  transform: translateY(-100%);
  z-index: 3; }
  @media only screen and (max-width: 924px) {
    .scrollGuide {
      top: auto;
      bottom: 89px;
      right: 24px; } }
  @media only screen and (max-width: 699px) {
    .scrollGuide {
      bottom: -13px; } }
  .scrollGuide .line {
    display: block;
    width: 2px;
    height: 68px;
    margin: 0 0 11px;
    background-color: rgba(232, 232, 232, 0.5);
    position: relative;
    overflow: hidden; }
    .scrollGuide .line::before {
      display: block;
      content: '';
      width: 100%;
      height: 100%;
      background-color: #CFCFCF;
      position: absolute;
      top: 0;
      left: 0;
      animation: scroll_guide_animation 2s infinite normal; }

.accordion {
  max-width: 1000px;
  width: calc(100% - 90px);
  margin: 48px auto 0;
  text-align: center; }
  @media only screen and (max-width: 924px) {
    .accordion {
      width: calc(100% - 40px);
      margin: 28px auto 0; } }
  .accordion.is-active .showPanel {
    max-height: 0;
    overflow: hidden; }
  .accordion .showPanel {
    transition: max-height 0.3s cubic-bezier(0.45, 0.05, 0.55, 0.95) 0.3s; }
  .accordion .hidePanel {
    margin-top: 56px;
    margin-bottom: 48px; }
    @media only screen and (max-width: 924px) {
      .accordion .hidePanel {
        margin-top: 38px;
        margin-bottom: 43px; } }
  .accordion .accordionPanel {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease-out;
    border-radius: 20px;
    background-color: #FFFBF5; }
    @media only screen and (max-width: 924px) {
      .accordion .accordionPanel {
        border-radius: 6px; } }
    .accordion .accordionPanel p {
      line-height: 2; }
      @media only screen and (max-width: 924px) {
        .accordion .accordionPanel p {
          line-height: calc(26 / 14); } }
    .accordion .accordionPanel > h4 {
      margin-top: 54px; }
      @media only screen and (max-width: 924px) {
        .accordion .accordionPanel > h4 {
          margin-top: 38px; } }
    .accordion .accordionPanel .text {
      display: flex;
      justify-content: space-between;
      margin-top: 57px;
      padding: 0 98px;
      text-align: left; }
      @media only screen and (max-width: 1220px) {
        .accordion .accordionPanel .text {
          padding: 0 45px; } }
      @media only screen and (max-width: 924px) {
        .accordion .accordionPanel .text {
          display: block;
          max-width: 284px;
          margin: 42px auto 0;
          padding: 0; } }
      @media only screen and (max-width: 450px) {
        .accordion .accordionPanel .text {
          max-width: none;
          margin: 42px 0 0;
          padding: 0 20px; } }
      .accordion .accordionPanel .text > div {
        width: calc((100% - 65px) / 2); }
        @media only screen and (max-width: 924px) {
          .accordion .accordionPanel .text > div {
            width: 100%; } }
        .accordion .accordionPanel .text > div > h5 {
          margin-bottom: 27px; }
          @media only screen and (max-width: 924px) {
            .accordion .accordionPanel .text > div > h5 {
              margin-bottom: 12px; } }
          @media only screen and (max-width: 450px) {
            .accordion .accordionPanel .text > div > h5 {
              margin-bottom: 25px; } }
      @media only screen and (max-width: 924px) {
        .accordion .accordionPanel .text .right {
          margin-top: 34px; } }
      @media only screen and (max-width: 450px) {
        .accordion .accordionPanel .text .right {
          margin-top: 24px; } }
    .accordion .accordionPanel .schedule .scheduleItem {
      display: flex; }
      .accordion .accordionPanel .schedule .scheduleItem .time {
        min-width: 62px;
        margin-right: 16px; }
        @media only screen and (max-width: 924px) {
          .accordion .accordionPanel .schedule .scheduleItem .time {
            margin-right: 2px; } }
    .accordion .accordionPanel .course {
      max-width: 468px;
      margin: 48px auto 0;
      text-align: left; }
      @media only screen and (max-width: 924px) {
        .accordion .accordionPanel .course {
          max-width: 284px;
          margin-top: 37px; } }
      @media only screen and (max-width: 450px) {
        .accordion .accordionPanel .course {
          max-width: none;
          padding: 0 16px; } }
      .accordion .accordionPanel .course .courseItem {
        display: flex; }
        @media only screen and (max-width: 924px) {
          .accordion .accordionPanel .course .courseItem:nth-of-type(n+2) {
            margin-top: 16px; } }
        .accordion .accordionPanel .course .courseItem:nth-of-type(6) .title, .accordion .accordionPanel .course .courseItem:nth-of-type(7) .title {
          font-family: "Noto Sans JP", sans-serif; }
        .accordion .accordionPanel .course .courseItem .number {
          min-width: 44px;
          margin-right: 16px; }
          @media only screen and (max-width: 924px) {
            .accordion .accordionPanel .course .courseItem .number {
              margin-right: 4px; } }
        @media only screen and (max-width: 924px) {
          .accordion .accordionPanel .course .courseItem > p {
            line-height: calc(22 / 14); } }

.globalHeader {
  display: flex;
  align-items: center;
  width: 100%;
  height: var(--global-header-height);
  padding: 0 45px;
  background: #fff;
  position: fixed;
  top: 0;
  transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 100; }
  body.single-news .globalHeader {
    background-color: #F8F8F8; }
  @media only screen and (max-width: 924px) {
    .globalHeader {
      display: block;
      height: 78px;
      padding: 0;
      background-color: #fff; } }
  .globalHeader.is-hide {
    transform: translateY(-100%); }
  .globalHeader[data-sp_menu_visibility="false"] .navButton {
    background-image: url("../image/header/icon-open.svg"); }
  .globalHeader[data-sp_menu_visibility="true"] .navButton {
    background-image: url("../image/header/icon-close.svg"); }
  .globalHeader[data-sp_menu_visibility="true"] .navContainer {
    visibility: visible;
    opacity: 1; }
  .globalHeader[data-sp_menu_visibility="true"] .navModal {
    animation: fadeIn 0.3s;
    animation-fill-mode: forwards; }
  @media only screen and (max-width: 924px) {
    .globalHeader .headerLogo {
      display: inline-block;
      padding: 29px 0 29px 30px; } }
  @media only screen and (max-width: 1220px) {
    .globalHeader .headerLogo .logo {
      height: 20px;
      width: auto; } }
  @media only screen and (max-width: 924px) {
    .globalHeader .navButton {
      height: 78px;
      width: 90px;
      position: absolute;
      top: 0;
      right: 0;
      background: url("../image/header/icon-open.svg") center/auto no-repeat; } }
  .globalHeader .navModal {
    display: none; }
    @media only screen and (max-width: 924px) {
      .globalHeader .navModal {
        display: block;
        width: 100%;
        height: calc(100vh - 78px);
        position: absolute;
        top: 78px;
        left: 0;
        z-index: 100;
        background-color: rgba(0, 0, 0, 0.6);
        visibility: hidden;
        opacity: 0; } }
  .globalHeader .navContainer {
    margin-left: auto; }
    @media only screen and (max-width: 924px) {
      .globalHeader .navContainer {
        width: 100%;
        padding-top: 74px;
        padding-bottom: 20px;
        background-color: #fff;
        position: absolute;
        z-index: 101;
        visibility: hidden;
        opacity: 0; }
        body.single-news .globalHeader .navContainer {
          background-color: #F8F8F8; } }
    .globalHeader .navContainer .small {
      display: none; }
      @media only screen and (max-width: 924px) {
        .globalHeader .navContainer .small {
          display: block;
          text-align: center;
          margin-top: 55px;
          font-size: 11px;
          letter-spacing: .1em;
          color: #888; } }
  .globalHeader .navItems {
    display: flex;
    justify-content: space-between;
    gap: 10px; }
    @media only screen and (max-width: 1220px) {
      .globalHeader .navItems {
        gap: 25px; } }
    @media only screen and (max-width: 1220px) {
      .globalHeader .navItems {
        gap: 9px; } }
    @media only screen and (max-width: 924px) {
      .globalHeader .navItems {
        flex-direction: column;
        gap: 28px; } }
  .globalHeader .navItem {
    flex-shrink: 0; }
    @media only screen and (max-width: 924px) {
      .globalHeader .navItem.contact {
        margin-top: 10px;
        order: 4; } }
    .globalHeader .navItem.contact .navLink {
      padding: 0; }
    .globalHeader .navItem.instagram {
      margin-right: 10px; }
      @media only screen and (max-width: 1220px) {
        .globalHeader .navItem.instagram {
          margin-right: 6px; } }
      @media only screen and (max-width: 924px) {
        .globalHeader .navItem.instagram {
          margin-right: 0;
          margin-top: 26px;
          order: 5; } }
  .globalHeader .navLink {
    display: flex;
    align-items: center;
    height: 40px;
    padding: 0px 10px; }
    @media only screen and (max-width: 924px) {
      .globalHeader .navLink {
        height: auto;
        padding: 10px 0;
        justify-content: center; } }

.globalFooter {
  background: #555;
  color: #fff; }
  .globalFooter .container {
    max-width: 940px;
    width: 100%;
    height: 87px;
    margin: 0 auto;
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 924px) {
      .globalFooter .container {
        flex-direction: column;
        height: auto; } }
  @media only screen and (max-width: 924px) {
    .globalFooter .logo {
      order: 2;
      margin-top: 12.5px;
      opacity: 0.5; } }
  .globalFooter .logo .logoSvg {
    width: 120px; }
    @media only screen and (max-width: 924px) {
      .globalFooter .logo .logoSvg {
        width: 96px; } }
  .globalFooter .lead {
    margin-left: 20px;
    font-size: 12px;
    font-weight: 700;
    color: #ccc;
    letter-spacing: .34em; }
    @media only screen and (max-width: 924px) {
      .globalFooter .lead {
        order: 1;
        margin: 0;
        margin-top: 26px;
        font-size: 6px;
        line-height: 24px;
        opacity: 0.5; } }
  .globalFooter .copyright {
    margin-left: auto;
    font-size: 10px;
    color: #a5a5a7;
    letter-spacing: .17em; }
    @media only screen and (max-width: 924px) {
      .globalFooter .copyright {
        order: 3;
        margin: 16px 0 22px;
        text-align: center;
        font-size: 5.5px;
        letter-spacing: 0.2em;
        line-height: 24px; } }

body.error404 main {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  padding: 120px 0 200px; }

body.error404 header h1 {
  font-size: 50px;
  text-align: center;
  margin: 70px 0; }
  @media only screen and (max-width: 924px) {
    body.error404 header h1 {
      font-size: 30px;
      margin: 40px 0; } }

body.error404 section {
  width: calc(100% - 60px); }
  body.error404 section p {
    font-size: 20px;
    text-align: center; }
    @media only screen and (max-width: 924px) {
      body.error404 section p {
        font-size: 16px;
        line-height: 1.8; } }

body.single-news main {
  margin-top: var(--global-header-height);
  padding-top: 37px;
  padding-bottom: 195px;
  background: #004AD6 url("../image/news/figure-1.jpg") top center/cover no-repeat; }
  @media only screen and (max-width: 924px) {
    body.single-news main {
      margin-top: 0;
      padding-top: 78px;
      padding-bottom: 65px;
      background-image: url("../image/news/figure-1-sp.jpg"); } }

body.single-news .postContainer {
  max-width: 894px;
  margin: 0 auto;
  padding-top: 104px;
  border-radius: 20px;
  background-color: #fff; }
  @media only screen and (max-width: 1220px) {
    body.single-news .postContainer {
      width: calc(100% - 90px); } }
  @media only screen and (max-width: 924px) {
    body.single-news .postContainer {
      padding-top: 24px;
      width: calc(100% - 60px);
      border-radius: 6px; } }
  body.single-news .postContainer .inner {
    width: calc(100% - 250px);
    margin: 0 auto;
    padding-bottom: 111px; }
    @media only screen and (max-width: 924px) {
      body.single-news .postContainer .inner {
        width: calc(100% - 50px);
        padding-bottom: 46px; } }
    body.single-news .postContainer .inner > .title {
      font-size: 38px;
      letter-spacing: .05em;
      line-height: calc(56 / 38); }
      @media only screen and (max-width: 924px) {
        body.single-news .postContainer .inner > .title {
          font-size: 18px;
          line-height: calc(30 / 18); } }
    body.single-news .postContainer .inner > .date {
      margin-top: 32px;
      font-size: 15px;
      letter-spacing: .12em;
      color: #A3A3A3; }
      @media only screen and (max-width: 924px) {
        body.single-news .postContainer .inner > .date {
          margin-top: 16px;
          font-size: 13px; } }
      body.single-news .postContainer .inner > .date .unit {
        display: inline-block;
        margin-left: 8px; }
    body.single-news .postContainer .inner article.content {
      margin-top: 78px; }
      @media only screen and (max-width: 924px) {
        body.single-news .postContainer .inner article.content {
          margin-top: 42px; } }
      body.single-news .postContainer .inner article.content > * {
        margin-top: 34px; }
        @media only screen and (max-width: 924px) {
          body.single-news .postContainer .inner article.content > * {
            margin-top: 26px; } }
      body.single-news .postContainer .inner article.content > p {
        line-height: calc(33 / 16); }
        @media only screen and (max-width: 924px) {
          body.single-news .postContainer .inner article.content > p {
            line-height: calc(26 / 14); } }
      @media only screen and (max-width: 924px) {
        body.single-news .postContainer .inner article.content figure.wp-block-image {
          width: calc(100% + 50px);
          margin-left: -25px; } }
      body.single-news .postContainer .inner article.content figcaption {
        display: flex;
        justify-content: flex-end;
        margin-top: 14px;
        font-size: 14px;
        letter-spacing: .025em;
        color: #777777; }
        @media only screen and (max-width: 924px) {
          body.single-news .postContainer .inner article.content figcaption {
            padding-right: 25px;
            font-size: 11px; } }
    body.single-news .postContainer .inner .latestPosts {
      margin-top: 250px; }
      @media only screen and (max-width: 924px) {
        body.single-news .postContainer .inner .latestPosts {
          margin-top: 66px; } }
      body.single-news .postContainer .inner .latestPosts h4 {
        text-align: center;
        font-size: 16px;
        font-weight: 500;
        letter-spacing: .025em; }
        @media only screen and (max-width: 924px) {
          body.single-news .postContainer .inner .latestPosts h4 {
            font-size: 14px;
            letter-spacing: .045em; } }
      body.single-news .postContainer .inner .latestPosts .listNews {
        margin-top: 30px;
        position: relative; }
        body.single-news .postContainer .inner .latestPosts .listNews::after {
          content: '';
          display: block;
          width: 100%;
          height: 2px;
          background-position: center;
          background-size: auto;
          background-repeat: repeat-x;
          position: absolute;
          bottom: 0; }
        body.single-news .postContainer .inner .latestPosts .listNews::after {
          background-image: url("../image/dotted-2px-black.svg"); }
        body.single-news .postContainer .inner .latestPosts .listNews .item {
          position: relative; }
          body.single-news .postContainer .inner .latestPosts .listNews .item::before {
            content: '';
            display: block;
            width: 100%;
            height: 2px;
            background-position: center;
            background-size: auto;
            background-repeat: repeat-x;
            position: absolute;
            top: 0; }
          body.single-news .postContainer .inner .latestPosts .listNews .item::before {
            background-image: url("../image/dotted-2px-black.svg"); }
          body.single-news .postContainer .inner .latestPosts .listNews .item .link {
            display: flex;
            align-items: center;
            padding: 26px 60px 26px 4px;
            position: relative; }
            @media only screen and (max-width: 924px) {
              body.single-news .postContainer .inner .latestPosts .listNews .item .link {
                display: block;
                padding: 18px 36px 18px 2px; } }
            body.single-news .postContainer .inner .latestPosts .listNews .item .link::after {
              content: '';
              width: 21px;
              height: 21px;
              display: block;
              position: absolute;
              right: 28px;
              background: url("../image/news/arrow-r.svg") center/21px no-repeat; }
              @media only screen and (max-width: 924px) {
                body.single-news .postContainer .inner .latestPosts .listNews .item .link::after {
                  bottom: 24px;
                  right: 0; } }
            body.single-news .postContainer .inner .latestPosts .listNews .item .link .title {
              max-width: 430px;
              display: -webkit-box;
              -webkit-line-clamp: 1;
              -webkit-box-orient: vertical;
              overflow: hidden;
              font-size: 18px;
              letter-spacing: .025em; }
              @media only screen and (max-width: 924px) {
                body.single-news .postContainer .inner .latestPosts .listNews .item .link .title {
                  font-size: 14px;
                  letter-spacing: .045em; } }
            body.single-news .postContainer .inner .latestPosts .listNews .item .link .date {
              font-size: 13px;
              letter-spacing: .12em;
              color: #777777; }
              @media only screen and (max-width: 924px) {
                body.single-news .postContainer .inner .latestPosts .listNews .item .link .date {
                  display: inline-block;
                  margin-top: 8px; } }

.btnLarge {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 1000px;
  width: calc(100% - 90px);
  height: 98px;
  margin: 54px auto 0;
  background-color: #FF9226;
  border-radius: 49px; }
  @media only screen and (max-width: 924px) {
    .btnLarge {
      width: calc(100% - 60px);
      height: 73px; } }
  @media only screen and (max-width: 924px) {
    .btnLarge .text {
      height: 17px;
      width: auto; } }
  .btnLarge .icon {
    margin-left: 20px;
    margin-bottom: 2px; }
    @media only screen and (max-width: 924px) {
      .btnLarge .icon {
        width: 19px;
        height: auto;
        margin-left: 10px; } }

section.mv {
  height: calc(100vh - var(--global-header-height) + 137px);
  margin-top: var(--global-header-height);
  position: relative;
  background: url("../image/home/mv/figure-2.png") top center/cover no-repeat; }
  @media only screen and (max-width: 1220px) {
    section.mv {
      background-position-x: 0px; } }
  @media only screen and (max-width: 924px) {
    section.mv {
      height: calc(var(--vh-initial, 100vh) + 98px);
      margin-top: 0;
      background-image: url("../image/home/mv/figure-2-sp.png");
      background-position-y: center; } }
  @media only screen and (max-width: 450px) {
    section.mv {
      background-position-y: 0; } }
  section.mv .figure {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: url("../image/home/mv/figure-1.svg") center/47% no-repeat;
    background-position-y: 16px;
    background-position-x: calc(50% + 270px);
    z-index: 1; }
    @media only screen and (max-width: 1220px) {
      section.mv .figure {
        background-size: 536px;
        background-position-y: 30px; } }
    @media only screen and (max-width: 924px) {
      section.mv .figure {
        background-size: 55%;
        background-position-x: 93%;
        background-position-y: 88px; } }
    @media only screen and (max-width: 699px) {
      section.mv .figure {
        background-position-y: 349px; } }
    @media only screen and (max-width: 450px) {
      section.mv .figure {
        background-size: 97.6%;
        background-position-x: calc(50% + 14px); } }
  section.mv .top {
    position: absolute;
    top: calc(50% - 120px);
    left: 100px;
    transform: translateY(-50%);
    z-index: 2; }
    @media only screen and (max-width: 1220px) {
      section.mv .top {
        left: 45px; } }
    @media only screen and (max-width: 924px) {
      section.mv .top {
        top: calc((100% - 98px) / 2); } }
    @media only screen and (max-width: 699px) {
      section.mv .top {
        top: 250px;
        left: 30px; } }
    @media only screen and (max-width: 924px) {
      section.mv .top > h1 .title {
        height: 129.4px;
        width: auto; } }
    @media only screen and (max-width: 699px) {
      section.mv .top > h1 .title {
        height: 102.5px; } }
    @media only screen and (max-width: 450px) {
      section.mv .top > h1 .title {
        height: 80.3px; } }
    section.mv .top .desc {
      margin-top: 35px;
      margin-bottom: 30px;
      font-size: 18px;
      letter-spacing: .12em;
      line-height: calc(42 / 18); }
      @media only screen and (max-width: 924px) {
        section.mv .top .desc {
          font-size: 14px;
          letter-spacing: 2.1px;
          line-height: 2.4;
          margin-top: 26px;
          margin-bottom: 33px; } }
      @media only screen and (max-width: 699px) {
        section.mv .top .desc {
          font-size: 14px;
          letter-spacing: .09em;
          margin-top: 18px;
          margin-bottom: 18px; } }
      section.mv .top .desc br.small {
        display: none; }
        @media only screen and (max-width: 450px) {
          section.mv .top .desc br.small {
            display: block; } }
    section.mv .top .roundBtn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 275px;
      height: 66px;
      border-radius: 33px;
      background-color: #FF9226; }
      @media only screen and (max-width: 699px) {
        section.mv .top .roundBtn {
          width: 178px;
          height: 42px; }
          section.mv .top .roundBtn > img {
            height: 13px;
            width: auto; } }
    section.mv .top .mvLogoSp {
      display: none; }
      @media only screen and (max-width: 699px) {
        section.mv .top .mvLogoSp {
          display: inline-block;
          margin-top: 10px;
          padding: 13px 4px; } }
      section.mv .top .mvLogoSp > img {
        width: 100px;
        height: auto; }
        @media only screen and (max-width: 450px) {
          section.mv .top .mvLogoSp > img {
            width: 86px; } }
  section.mv .bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0 26px;
    position: absolute;
    top: calc(100vh - var(--global-header-height) - 26px);
    transform: translateY(-100%);
    z-index: 2;
    align-items: flex-end; }
    @media only screen and (max-width: 924px) {
      section.mv .bottom {
        width: 100%;
        padding: 0;
        top: auto;
        bottom: 0px;
        transform: none; } }
    section.mv .bottom .mvLogoPc {
      padding: 10px 20px;
      background-color: #fff; }
      @media only screen and (max-width: 1220px) {
        section.mv .bottom .mvLogoPc {
          padding: 18px 20px;
          background-color: transparent; } }
      @media only screen and (max-width: 924px) {
        section.mv .bottom .mvLogoPc {
          position: absolute;
          top: 10px;
          left: 0; } }
      @media only screen and (max-width: 699px) {
        section.mv .bottom .mvLogoPc {
          display: none; } }
    section.mv .bottom .right {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 17px; }
      @media only screen and (max-width: 924px) {
        section.mv .bottom .right {
          margin: 0 10px;
          gap: 10px;
          width: 100%; } }
      @media only screen and (max-width: 699px) {
        section.mv .bottom .right {
          align-items: flex-start; } }
    section.mv .bottom .newsLink {
      display: flex;
      align-items: center;
      max-width: 853px;
      width: 100%;
      height: 78px;
      padding: 0 70px 0 31px;
      border-radius: 7px;
      background-color: rgba(0, 0, 0, 0.92);
      position: relative; }
      @media only screen and (max-width: 1220px) {
        section.mv .bottom .newsLink {
          width: 623px; } }
      @media only screen and (max-width: 924px) {
        section.mv .bottom .newsLink {
          flex-direction: column;
          align-items: flex-start;
          max-width: none;
          width: 100%;
          height: 98px;
          margin: 0 auto;
          padding: 20px; } }
      section.mv .bottom .newsLink::after {
        content: '';
        width: 25px;
        height: 25px;
        display: block;
        position: absolute;
        right: 24px;
        background: url("../image/home/mv/arrow-r.svg") center/25px no-repeat; }
        @media only screen and (max-width: 924px) {
          section.mv .bottom .newsLink::after {
            width: 22px;
            height: 22px;
            bottom: 20px;
            right: 20px;
            background-size: 22px; } }
      section.mv .bottom .newsLink .postType,
      section.mv .bottom .newsLink .title {
        font-size: 18px;
        letter-spacing: .12em;
        color: #fff; }
        @media only screen and (max-width: 924px) {
          section.mv .bottom .newsLink .postType,
          section.mv .bottom .newsLink .title {
            font-size: 13px; } }
      section.mv .bottom .newsLink .postType {
        display: flex;
        align-items: center; }
        section.mv .bottom .newsLink .postType::after {
          content: '';
          display: block;
          width: 1px;
          height: 20px;
          margin: 0 18px;
          background-color: #fff; }
          @media only screen and (max-width: 924px) {
            section.mv .bottom .newsLink .postType::after {
              display: none; } }
      section.mv .bottom .newsLink .title {
        max-width: 500px;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden; }
        @media only screen and (max-width: 1220px) {
          section.mv .bottom .newsLink .title {
            max-width: 278px; } }
        @media only screen and (max-width: 924px) {
          section.mv .bottom .newsLink .title {
            max-width: none;
            width: calc(100% - 34px);
            margin: 8px 0 10px; } }
      section.mv .bottom .newsLink .date {
        padding-top: .3em;
        font-size: 14px;
        letter-spacing: .12em;
        color: #777777; }
        @media only screen and (max-width: 924px) {
          section.mv .bottom .newsLink .date {
            padding-top: 0;
            font-size: 13px; } }

section#about {
  padding-top: 35px;
  background-color: #004AD6; }
  @media only screen and (max-width: 924px) {
    section#about {
      padding-top: 25px; } }
  section#about .container {
    padding-top: 130px;
    padding-bottom: 58px; }
    @media only screen and (max-width: 1220px) {
      section#about .container {
        padding-top: 63px; } }
    @media only screen and (max-width: 924px) {
      section#about .container {
        padding-top: 38px;
        padding-bottom: 20px; } }
    @media only screen and (max-width: 924px) {
      section#about .container .col2:first-of-type h3 {
        display: inline-block; }
      section#about .container .col2:first-of-type .figure {
        width: auto;
        float: right;
        margin: 0 16px 0 11px; } }
    section#about .container .col2 .text .desc {
      margin-top: 50px; }
      @media only screen and (max-width: 924px) {
        section#about .container .col2 .text .desc {
          margin-top: 18px; } }
    @media only screen and (max-width: 924px) {
      section#about .container .col2 .figure {
        margin-top: 20px; } }
    section#about .container .annotation {
      max-width: 1000px;
      margin: 78px auto 0;
      font-size: 13px;
      letter-spacing: .025em;
      line-height: calc(24 / 13);
      color: #777777; }
      @media only screen and (max-width: 1220px) {
        section#about .container .annotation {
          margin-top: 58px;
          width: calc(100% - 90px); } }
      @media only screen and (max-width: 924px) {
        section#about .container .annotation {
          width: calc(100% - 40px);
          margin-top: 22px;
          font-size: 11px;
          line-height: calc(20 / 11); } }

section#services {
  padding-top: 86px;
  padding-bottom: 54px;
  background-color: #004AD6;
  color: #fff; }
  @media only screen and (max-width: 1220px) {
    section#services {
      padding-bottom: 54px; } }
  @media only screen and (max-width: 1110px) {
    section#services {
      padding-top: 44px;
      padding-bottom: 32px; } }
  section#services .intro {
    max-width: 1000px;
    width: calc(100% - 90px);
    margin: 0 auto; }
    @media only screen and (max-width: 1220px) {
      section#services .intro {
        width: calc(100% - 180px); } }
    @media only screen and (max-width: 1110px) {
      section#services .intro {
        width: calc(100% - 60px); } }
    section#services .intro > h2 {
      margin-top: 82px;
      margin-bottom: 52px; }
      @media only screen and (max-width: 1110px) {
        section#services .intro > h2 {
          margin-top: 40px;
          margin-bottom: 20px; }
          section#services .intro > h2 > img {
            height: 97px;
            width: auto; } }
    @media only screen and (max-width: 1110px) and (max-width: 450px) {
      section#services .intro > h2 > img {
        height: auto; } }
    section#services .intro .small {
      text-align: center;
      font-size: 18px; }
      @media only screen and (max-width: 1110px) {
        section#services .intro .small {
          font-size: 13px;
          letter-spacing: .025em; } }
    section#services .intro .desc {
      max-width: 467px;
      margin-left: auto;
      font-size: 18px;
      line-height: 2; }
      @media only screen and (max-width: 1110px) {
        section#services .intro .desc {
          font-size: 14px;
          line-height: calc(26 / 14); } }
  section#services .col3 {
    max-width: 1000px;
    margin: 70px auto 88px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto auto auto;
    gap: 0 65px; }
    @media only screen and (max-width: 1220px) {
      section#services .col3 {
        width: calc(100% - 180px);
        gap: 0 45px; } }
    @media only screen and (max-width: 1110px) {
      section#services .col3 {
        display: block;
        width: calc(100% - 60px);
        margin: 54px auto 30px; } }
    section#services .col3 .item {
      display: flex;
      flex-direction: column; }
      section#services .col3 .item:first-of-type .top {
        letter-spacing: 0.004em; }
        @media only screen and (max-width: 1110px) {
          section#services .col3 .item:first-of-type .top {
            letter-spacing: .045em; } }
      section#services .col3 .item:first-of-type .bottom .learnMore {
        float: right; }
        section#services .col3 .item:first-of-type .bottom .learnMore > img {
          margin-top: 2px; }
      @media only screen and (max-width: 1110px) {
        section#services .col3 .item:nth-of-type(n+2) {
          margin-top: 58px; } }
      section#services .col3 .item .inner {
        position: relative; }
        @media only screen and (max-width: 1110px) {
          section#services .col3 .item .inner {
            display: flex;
            justify-content: space-between;
            position: static; }
            section#services .col3 .item .inner .sp {
              display: block; }
            section#services .col3 .item .inner .pc {
              display: none; } }
        @media only screen and (max-width: 1110px) {
          section#services .col3 .item .inner .text > h3 {
            margin-top: 14px; }
            section#services .col3 .item .inner .text > h3 > img {
              height: 22.56px;
              width: auto; } }
    @media only screen and (max-width: 1110px) and (max-width: 450px) {
      section#services .col3 .item .inner .text > h3 > img {
        height: 18.8px; } }
        section#services .col3 .item .inner .badge {
          position: absolute;
          top: 0;
          left: 0;
          transform: translate(-26px, -26px); }
          @media only screen and (max-width: 1110px) {
            section#services .col3 .item .inner .badge {
              position: static;
              transform: none; } }
        section#services .col3 .item .inner .figure {
          border-radius: 20px;
          width: 100%;
          height: auto; }
          @media only screen and (max-width: 1110px) {
            section#services .col3 .item .inner .figure {
              width: 134px;
              border-radius: 6px; } }
        section#services .col3 .item .inner > h3 {
          margin-top: 38px; }
      section#services .col3 .item > p {
        font-size: 14px;
        line-height: calc(26 / 14); }
      section#services .col3 .item .top {
        margin-top: 28px;
        margin-bottom: 14px; }
        @media only screen and (max-width: 1110px) {
          section#services .col3 .item .top {
            margin-top: 16px;
            margin-bottom: 8px; } }
      section#services .col3 .item .bottom {
        margin-top: auto;
        padding-top: 14px;
        position: relative; }
        section#services .col3 .item .bottom::before {
          content: '';
          display: block;
          width: 100%;
          height: 2px;
          background-position: center;
          background-size: auto;
          background-repeat: repeat-x;
          position: absolute;
          top: 0; }
        section#services .col3 .item .bottom::before {
          background-image: url("../image/dotted-2px-white.svg"); }
        @media only screen and (max-width: 1110px) {
          section#services .col3 .item .bottom {
            padding-top: 8px; } }
  section#services #prices {
    --inner-width: 1020px;
    --inner-padding-left: 45px;
    --border-radius: 20px;
    margin-left: calc((100% - var(--inner-width)) / 2 - var(--inner-padding-left));
    padding: 40px 0 45px;
    background-color: #F4F4F4;
    border-radius: var(--border-radius) 0 0 var(--border-radius); }
    @media only screen and (max-width: 1110px) {
      section#services #prices {
        --border-radius: 6px;
        --inner-padding-left: 10px;
        width: calc(100% - 20px);
        margin-left: 10px;
        margin-right: 10px;
        padding-bottom: 10px;
        border-radius: var(--border-radius); } }
  section#services .tabs {
    --border-radius: 17px;
    display: flex;
    gap: 0;
    flex-direction: row;
    position: relative;
    max-width: 586px;
    width: 100%; }
    section#services .tabs::after {
      position: absolute;
      content: "";
      width: 100%;
      background-color: #DFDFDF;
      height: 100%;
      border-radius: calc(var(--border-radius) + 10px) calc(var(--border-radius) + 10px) 0 0; }
    @media only screen and (max-width: 1110px) {
      section#services .tabs {
        --border-radius: 6px; } }
    section#services .tabs .tab {
      flex: 1;
      position: relative;
      background-color: #DFDFDF;
      border-radius: var(--border-radius) var(--border-radius) 0 0;
      padding: 25px 0 15px;
      border-bottom: 1px solid #DFDFDF;
      z-index: 1;
      position: relative; }
      @media only screen and (max-width: 1110px) {
        section#services .tabs .tab {
          padding-bottom: 18px; }
          section#services .tabs .tab svg {
            height: 14px; } }
      section#services .tabs .tab:hover {
        opacity: 1; }
      section#services .tabs .tab path {
        transition-duration: 0.2s; }
      section#services .tabs .tab.active svg path, section#services .tabs .tab:hover svg path {
        fill: black; }
      section#services .tabs .tab.active {
        background-color: #fff;
        z-index: 2; }
      @media only screen and (max-width: 1110px) {
        section#services .tabs .tab {
          width: calc(50% + var(--border-radius) * 2); } }
  section#services .tabContents {
    display: grid; }
    section#services .tabContents > * {
      grid-area: 1 / 1; }
    @media only screen and (max-width: 1110px) {
      section#services .tabContents {
        display: block; } }
  section#services .tabContent {
    visibility: hidden;
    background-color: #fff;
    border-radius: 0 var(--border-radius) var(--border-radius) var(--border-radius); }
    @media only screen and (max-width: 1110px) {
      section#services .tabContent {
        border-radius: 0 0 var(--border-radius) var(--border-radius); } }
    section#services .tabContent.active {
      visibility: visible; }
    @media only screen and (max-width: 1110px) {
      section#services .tabContent {
        display: none; }
        section#services .tabContent.active {
          display: block;
          visibility: visible; } }
  section#services .pricesInner {
    max-width: var(--inner-width);
    margin-left: var(--inner-padding-left);
    margin-right: var(--inner-padding-left); }
  section#services #yearlyPlan {
    padding-bottom: 50px; }
    @media only screen and (max-width: 1110px) {
      section#services #yearlyPlan {
        padding-bottom: 37px; } }
  section#services #spotPlan {
    padding-top: 52px; }
    @media only screen and (max-width: 1110px) {
      section#services #spotPlan {
        padding-top: 37px; } }
  section#services .blueDotDivider {
    position: relative;
    height: 3px; }
    section#services .blueDotDivider::before {
      content: '';
      display: block;
      width: 100%;
      height: 3px;
      background: url("../image/dotted-3px-blue.svg") center/auto repeat-x;
      position: absolute;
      top: 0; }
      @media only screen and (max-width: 924px) {
        section#services .blueDotDivider::before {
          height: 2px;
          background-image: url("../image/dotted-2px-blue.svg"); } }
  section#services .btnLarge {
    background-color: #000; }
    @media only screen and (max-width: 1220px) {
      section#services .btnLarge {
        margin-top: 46px; } }
    @media only screen and (max-width: 1110px) {
      section#services .btnLarge {
        margin-top: 32px; } }
  @media only screen and (max-width: 1110px) {
    section#services .planHeader {
      display: flex;
      justify-content: center; }
      section#services .planHeader .pc {
        display: none; }
      section#services .planHeader .sp {
        display: block; } }
  section#services .yearlyPlan .planHeader {
    margin-bottom: 40px; }
    @media only screen and (max-width: 1110px) {
      section#services .yearlyPlan .planHeader {
        margin-bottom: 37px; } }
  section#services .yearlyPlan .plans {
    --padding-x: 61px;
    padding: 44px var(--padding-x) 15px; }
    @media only screen and (max-width: 1110px) {
      section#services .yearlyPlan .plans {
        padding: 0; } }
  section#services .yearlyPlan #tab1 .plans {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 69px; }
    @media only screen and (max-width: 1110px) {
      section#services .yearlyPlan #tab1 .plans {
        grid-template-columns: 1fr;
        gap: 0; } }
  @media only screen and (max-width: 1110px) {
    section#services .yearlyPlan .plan {
      padding: 15px 20px 18px; } }
  section#services .yearlyPlan .plan .price {
    position: relative;
    position: relative;
    margin-top: 26px;
    padding-top: 30px;
    padding-bottom: 30px;
    margin-bottom: 19px; }
    section#services .yearlyPlan .plan .price::before {
      content: '';
      display: block;
      width: 100%;
      height: 3px;
      background: url("../image/dotted-3px-blue.svg") center/auto repeat-x;
      position: absolute;
      top: 0; }
      @media only screen and (max-width: 924px) {
        section#services .yearlyPlan .plan .price::before {
          height: 2px;
          background-image: url("../image/dotted-2px-blue.svg"); } }
    section#services .yearlyPlan .plan .price::after {
      content: '';
      display: block;
      width: 100%;
      height: 3px;
      background: url("../image/dotted-3px-blue.svg") center/auto repeat-x;
      position: absolute;
      bottom: 0; }
      @media only screen and (max-width: 924px) {
        section#services .yearlyPlan .plan .price::after {
          height: 2px;
          background-image: url("../image/dotted-2px-blue.svg"); } }
    @media only screen and (max-width: 1110px) {
      section#services .yearlyPlan .plan .price {
        margin-top: 13px;
        padding-top: 15px;
        padding-bottom: 14px; } }
  section#services .yearlyPlan .plan .cardFeatures {
    list-style: none;
    font-size: 14px;
    color: #000;
    line-height: 2.03; }
    @media only screen and (max-width: 1110px) {
      section#services .yearlyPlan .plan .cardFeatures {
        line-height: 1.6; } }
    section#services .yearlyPlan .plan .cardFeatures li {
      position: relative;
      padding-left: 20px; }
      @media only screen and (max-width: 1110px) {
        section#services .yearlyPlan .plan .cardFeatures li {
          margin-bottom: 6px; } }
      section#services .yearlyPlan .plan .cardFeatures li::before {
        position: absolute;
        left: 0;
        top: 8px;
        content: "";
        flex-shrink: 0;
        width: 11px;
        height: 11px;
        background: url("../image/home/services/prices/check.svg") no-repeat center/contain; }
        @media only screen and (max-width: 1110px) {
          section#services .yearlyPlan .plan .cardFeatures li::before {
            width: 13px;
            height: 9px;
            top: 6px; } }
      section#services .yearlyPlan .plan .cardFeatures li sup {
        font-size: 9px; }
  section#services .yearlyPlan .plan .note {
    margin-top: 15px;
    color: #8F8F8F;
    text-align: right;
    font-size: 12px;
    line-height: 1.8;
    letter-spacing: 0.24px;
    position: relative;
    right: -32px; }
    @media only screen and (max-width: 1110px) {
      section#services .yearlyPlan .plan .note {
        right: 0;
        text-align: left; } }
  @media only screen and (max-width: 1110px) {
    section#services .yearlyPlan .plan:nth-child(2):bofore {
      display: block;
      width: calc(100% + var(--pading-x) * 2);
      margin: 0 calc(var(--padding-x) * -1);
      height: 1px;
      border-top: 1px solid #DFDFDF; } }
  @media only screen and (max-width: 1110px) {
    section#services .yearlyPlan .plan:nth-child(2) {
      border-top: 1px solid #DFDFDF; } }
  section#services .spotPlan .planHeader {
    margin-bottom: 24px; }
    @media only screen and (max-width: 1110px) {
      section#services .spotPlan .planHeader {
        margin-bottom: 40px; } }
  section#services .spotPlan .spotDesc {
    margin-bottom: 32px;
    font-size: 16px;
    line-height: 1.8;
    color: #000;
    max-width: 776px;
    --margin-x: 0px;
    margin-left: var(--margin-x);
    margin-right: var(--margin-x); }
    @media only screen and (max-width: 1220px) {
      section#services .spotPlan .spotDesc {
        --margin-x: 45px; } }
    @media only screen and (max-width: 1110px) {
      section#services .spotPlan .spotDesc {
        --margin-x: 10px;
        margin-bottom: 24px; } }
  section#services .spotPlan .plans {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px; }
    @media only screen and (max-width: 1110px) {
      section#services .spotPlan .plans {
        grid-template-columns: 1fr;
        gap: 10px; } }
  section#services .spotPlan .plan {
    background-color: #fff;
    border-radius: var(--border-radius);
    padding: 39px; }
    @media only screen and (max-width: 1110px) {
      section#services .spotPlan .plan {
        padding: 30px 20px; } }
    section#services .spotPlan .plan h3 {
      position: relative;
      padding-bottom: 26px;
      margin-bottom: 25px; }
      section#services .spotPlan .plan h3::after {
        content: '';
        display: block;
        width: 100%;
        height: 3px;
        background: url("../image/dotted-3px-blue.svg") center/auto repeat-x;
        position: absolute;
        bottom: 0; }
        @media only screen and (max-width: 924px) {
          section#services .spotPlan .plan h3::after {
            height: 2px;
            background-image: url("../image/dotted-2px-blue.svg"); } }
      @media only screen and (max-width: 1110px) {
        section#services .spotPlan .plan h3 {
          padding-bottom: 18px;
          margin-bottom: 22px; } }
    section#services .spotPlan .plan .cardFeatures {
      list-style: disc;
      padding-left: 1.5em;
      font-size: 15px;
      color: #000;
      line-height: 1.8; }

section#seminars {
  padding-top: 53px;
  padding-bottom: 110px;
  background-color: #FF9226; }
  @media only screen and (max-width: 1220px) {
    section#seminars {
      padding-top: 40px; } }
  @media only screen and (max-width: 924px) {
    section#seminars {
      padding-top: 10px;
      padding-bottom: 20px; } }
  section#seminars .container .mv {
    padding-top: 100px; }
    @media only screen and (max-width: 1220px) {
      section#seminars .container .mv {
        padding-top: 54px; } }
    @media only screen and (max-width: 924px) {
      section#seminars .container .mv {
        padding-top: 30px;
        margin-bottom: 24px; } }
    section#seminars .container .mv .top {
      max-width: 1000px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: flex-end; }
      @media only screen and (max-width: 1220px) {
        section#seminars .container .mv .top {
          width: calc(100% - 90px); } }
      @media only screen and (max-width: 924px) {
        section#seminars .container .mv .top {
          width: calc(100% - 40px); } }
      @media only screen and (max-width: 1220px) {
        section#seminars .container .mv .top .text {
          width: calc(((100% - 90px) / 3 * 2) + 45px); } }
      @media only screen and (max-width: 924px) {
        section#seminars .container .mv .top .text {
          width: 100%; } }
      @media only screen and (max-width: 924px) {
        section#seminars .container .mv .top .text > h2 > img {
          height: 100px;
          width: auto; } }
      @media only screen and (max-width: 450px) {
        section#seminars .container .mv .top .text > h2 > img {
          height: auto; } }
      section#seminars .container .mv .top .text .desc {
        margin-top: 33px;
        font-size: 18px;
        font-weight: 700;
        letter-spacing: .05em;
        line-height: 2; }
        @media only screen and (max-width: 924px) {
          section#seminars .container .mv .top .text .desc {
            margin-top: 18px;
            font-size: 11px;
            font-weight: 500;
            letter-spacing: .025em;
            line-height: calc(24 / 11); } }
      section#seminars .container .mv .top .figureMvContainer {
        width: calc(100% - 578px);
        text-align: center; }
        @media only screen and (max-width: 1220px) {
          section#seminars .container .mv .top .figureMvContainer {
            width: calc((100% - 90px) / 3); } }
        section#seminars .container .mv .top .figureMvContainer .figureMv {
          padding-bottom: 1em; }
    section#seminars .container .mv .subnavItems {
      display: flex;
      justify-content: space-between;
      align-items: centerflexCommon;
      margin-top: 90px;
      position: relative;
      position: relative; }
      section#seminars .container .mv .subnavItems::before {
        content: '';
        display: block;
        width: 100%;
        height: 3px;
        background: url("../image/dotted-3px-orange.svg") center/auto repeat-x;
        position: absolute;
        top: 0; }
        @media only screen and (max-width: 924px) {
          section#seminars .container .mv .subnavItems::before {
            height: 2px;
            background-image: url("../image/dotted-2px-orange.svg"); } }
      section#seminars .container .mv .subnavItems::after {
        content: '';
        display: block;
        width: 100%;
        height: 3px;
        background: url("../image/dotted-3px-orange.svg") center/auto repeat-x;
        position: absolute;
        bottom: 0; }
        @media only screen and (max-width: 924px) {
          section#seminars .container .mv .subnavItems::after {
            height: 2px;
            background-image: url("../image/dotted-2px-orange.svg"); } }
      @media only screen and (max-width: 1220px) {
        section#seminars .container .mv .subnavItems {
          margin-top: 40px; } }
      @media only screen and (max-width: 924px) {
        section#seminars .container .mv .subnavItems {
          display: block;
          margin-top: 18px; } }
      section#seminars .container .mv .subnavItems .subnavItem {
        flex: 1;
        height: 90px; }
        @media only screen and (max-width: 924px) {
          section#seminars .container .mv .subnavItems .subnavItem {
            width: 100%;
            height: 40px; } }
        section#seminars .container .mv .subnavItems .subnavItem:nth-of-type(n + 2) {
          position: relative; }
          section#seminars .container .mv .subnavItems .subnavItem:nth-of-type(n + 2)::before {
            content: '';
            display: block;
            width: 3px;
            height: 100%;
            background: url("../image/dotted-3px-orange-y.svg") center/auto repeat-y;
            position: absolute;
            left: 0; }
          @media only screen and (max-width: 924px) {
            section#seminars .container .mv .subnavItems .subnavItem:nth-of-type(n + 2) {
              position: relative; }
              section#seminars .container .mv .subnavItems .subnavItem:nth-of-type(n + 2)::before {
                content: '';
                display: block;
                width: 100%;
                height: 2px;
                background-position: center;
                background-size: auto;
                background-repeat: repeat-x;
                position: absolute;
                top: 0; }
              section#seminars .container .mv .subnavItems .subnavItem:nth-of-type(n + 2)::before {
                background-image: url("../image/dotted-2px-orange.svg"); } }
      section#seminars .container .mv .subnavItems .subnavLink {
        display: flex;
        align-items: center;
        flex-direction: column;
        height: 100%; }
        @media only screen and (max-width: 924px) {
          section#seminars .container .mv .subnavItems .subnavLink {
            flex-direction: row;
            justify-content: center;
            position: relative; } }
        section#seminars .container .mv .subnavItems .subnavLink .name {
          margin-top: 24px;
          margin-bottom: 13px; }
          @media only screen and (max-width: 924px) {
            section#seminars .container .mv .subnavItems .subnavLink .name {
              margin: 0; } }
        @media only screen and (max-width: 924px) {
          section#seminars .container .mv .subnavItems .subnavLink .icon {
            width: 16px;
            height: auto;
            position: absolute;
            right: 20px; } }
  section#seminars .container > article {
    padding: 98px 0; }
    @media only screen and (max-width: 1220px) {
      section#seminars .container > article {
        padding: 48px 0 54px; } }
    @media only screen and (max-width: 924px) {
      section#seminars .container > article {
        padding: 38px 0; } }
    section#seminars .container > article:nth-of-type(n+2) {
      position: relative; }
      section#seminars .container > article:nth-of-type(n+2)::before {
        content: '';
        display: block;
        width: 100%;
        height: 3px;
        background: url("../image/dotted-3px-orange.svg") center/auto repeat-x;
        position: absolute;
        top: 0; }
        @media only screen and (max-width: 924px) {
          section#seminars .container > article:nth-of-type(n+2)::before {
            height: 2px;
            background-image: url("../image/dotted-2px-orange.svg"); } }
  section#seminars .col2 {
    align-items: flex-end; }
    @media only screen and (max-width: 1220px) {
      section#seminars .col2 {
        align-items: center; } }
    @media only screen and (max-width: 924px) {
      section#seminars .col2 .text h3 {
        display: flex;
        flex-direction: column;
        align-items: center; } }
    @media only screen and (max-width: 1220px) {
      section#seminars .col2 .text h3 img.pc {
        height: 70px;
        width: auto; } }
    @media only screen and (max-width: 924px) {
      section#seminars .col2 .text h3 img.titleBottom {
        margin-top: 25px;
        height: 25px;
        width: auto; } }
    @media only screen and (max-width: 450px) {
      section#seminars .col2 .text h3 img.titleBottom {
        height: auto; } }
    section#seminars .col2 .text .desc {
      margin-top: 34px;
      margin-bottom: 50px; }
      @media only screen and (max-width: 1220px) {
        section#seminars .col2 .text .desc {
          margin-top: 24px; } }
      @media only screen and (max-width: 924px) {
        section#seminars .col2 .text .desc {
          max-width: 645px;
          margin: 24px auto 10px; } }
    section#seminars .col2 .text .tableName,
    section#seminars .col2 .text .supplement {
      font-size: 16px;
      letter-spacing: .025em; }
      @media only screen and (max-width: 924px) {
        section#seminars .col2 .text .tableName,
        section#seminars .col2 .text .supplement {
          font-size: 13px; } }
    @media only screen and (max-width: 924px) {
      section#seminars .col2 .text .tableName {
        margin-top: 34px; } }
    section#seminars .col2 .text .table {
      margin-top: 18px;
      margin-bottom: 10px;
      padding: 34px 0 32px;
      position: relative;
      position: relative; }
      section#seminars .col2 .text .table::before {
        content: '';
        display: block;
        width: 100%;
        height: 2px;
        background-position: center;
        background-size: auto;
        background-repeat: repeat-x;
        position: absolute;
        top: 0; }
      section#seminars .col2 .text .table::after {
        content: '';
        display: block;
        width: 100%;
        height: 2px;
        background-position: center;
        background-size: auto;
        background-repeat: repeat-x;
        position: absolute;
        bottom: 0; }
      section#seminars .col2 .text .table::before, section#seminars .col2 .text .table::after {
        background-image: url("../image/dotted-2px-black.svg"); }
      @media only screen and (max-width: 924px) {
        section#seminars .col2 .text .table {
          margin-top: 14px;
          padding: 23px 0 20px; } }
      section#seminars .col2 .text .table .tableRow {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-right: 8px; }
        @media only screen and (max-width: 924px) {
          section#seminars .col2 .text .table .tableRow {
            padding-left: 4px; } }
        section#seminars .col2 .text .table .tableRow:nth-of-type(n + 2) {
          margin-top: 18px; }
          @media only screen and (max-width: 1100px) {
            section#seminars .col2 .text .table .tableRow:nth-of-type(n + 2) {
              align-items: flex-start; }
              section#seminars .col2 .text .table .tableRow:nth-of-type(n + 2) .drop {
                margin-top: 30px;
                margin-left: -39px; } }
    section#seminars .col2 .text .supplement {
      line-height: 2; }
      @media only screen and (max-width: 924px) {
        section#seminars .col2 .text .supplement {
          line-height: calc(24 / 13); } }
    section#seminars .col2 .text .notes {
      margin-top: 4px;
      font-size: 12px;
      letter-spacing: .045em;
      line-height: calc(26 / 12);
      color: #4d4d4d; }
      @media only screen and (max-width: 924px) {
        section#seminars .col2 .text .notes {
          margin-top: 2px;
          font-size: 11px;
          line-height: calc(19 / 11);
          letter-spacing: .025em; } }
    section#seminars .col2 .figure {
      padding-bottom: 7px; }
      @media only screen and (max-width: 1220px) {
        section#seminars .col2 .figure {
          padding-bottom: 0; } }
  @media only screen and (max-width: 924px) {
    section#seminars .btnLarge {
      width: calc(100% - 40px);
      margin-top: 30px; } }

section#message {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-top: 102px;
  padding-bottom: 90px;
  position: relative;
  background: url("../image/home/message/circle.svg") center/auto no-repeat;
  background-position-x: calc(50% - 388px); }
  @media only screen and (max-width: 1220px) {
    section#message {
      background-position-x: calc(50% - 388px + 60px); } }
  @media only screen and (max-width: 924px) {
    section#message {
      display: block;
      padding-top: 58px;
      padding-bottom: 156px;
      background-size: 314px;
      background-position-x: center;
      background-position-y: calc(100% + 60px); } }
  section#message .figure {
    position: absolute;
    left: calc(50% - 557px);
    top: calc(50% - 167px); }
    @media only screen and (max-width: 1220px) {
      section#message .figure {
        left: calc(50% - 557px + 60px); } }
    @media only screen and (max-width: 924px) {
      section#message .figure {
        width: 146px;
        height: auto;
        left: calc(50% - 73px);
        bottom: 26px;
        top: auto;
        z-index: 1; } }
  section#message .text {
    max-width: 645px;
    margin-right: calc((100% - 1090px) / 2 + 45px); }
    @media only screen and (max-width: 1220px) {
      section#message .text {
        width: calc(100% - ((100% - 270px) / 3 + 135px));
        margin-right: 0;
        padding-right: 90px; } }
    @media only screen and (max-width: 924px) {
      section#message .text {
        width: calc(100% - 60px);
        margin: 0 auto;
        padding: 0;
        position: relative;
        z-index: 2; } }
    section#message .text > h2 > img {
      width: 100%;
      height: auto; }
    section#message .text .desc {
      margin-top: 44px;
      line-height: 2; }
      @media only screen and (max-width: 924px) {
        section#message .text .desc {
          margin-top: 38px;
          line-height: calc(26 / 14); } }

body.podcast {
  background-color: white;
  background-image: url("../image/podcast/background.svg"), linear-gradient(white 1300px, #004AD6 1300px);
  background-position: center top 0px, top center;
  background-size: 4000px auto, 100%;
  background-repeat: no-repeat, no-repeat; }
  @media only screen and (max-width: 924px) {
    body.podcast {
      background-position: center top -60px, top center; } }
  body.podcast section {
    display: flex;
    flex-direction: column;
    margin-top: var(--global-header-height);
    text-align: center;
    padding: 0 20px 60px; }
    @media only screen and (max-width: 924px) {
      body.podcast section {
        padding-bottom: 50px; } }
  body.podcast .description {
    margin-top: 58px;
    color: #3B3B3B;
    font-size: 13px;
    line-height: 2.1;
    letter-spacing: 1.04px; }
    @media only screen and (max-width: 924px) {
      body.podcast .description {
        margin-top: 12px;
        font-size: 12px;
        line-height: 2;
        letter-spacing: 0.96px;
        text-align: left;
        padding: 0 10px; }
        body.podcast .description br {
          display: none; } }
  body.podcast iframe {
    margin: 20px auto;
    max-width: 100%; }
    @media only screen and (max-width: 924px) {
      body.podcast iframe {
        margin: 12px auto; } }
  body.podcast .footnote {
    margin-top: 10px;
    color: #E8E8E8;
    font-size: 12px;
    letter-spacing: 0.96px; }
    @media only screen and (max-width: 924px) {
      body.podcast .footnote {
        font-size: 11px; } }
    body.podcast .footnote a {
      text-decoration: underline; }
