@charset "UTF-8";
/*!
Theme Name: テーマ名に置き換え
Theme URI: http://underscores.me/
Author: Heads.Inc
Author URI: -------
Description: テーマ名に置き換え Theme
Version: 1.0.0
License: GNU General Public License v2 or later
/*! --------------------------------------------------------------
　　このCSSファイルは .scssファイルからコンパイルされたものです。
　　直接編集しないように注意してください。a
--------------------------------------------------------------- */
/* 基本設定
============================================================================ */
/* base > color
============================================================================================================ */
/* 基本色一覧*/
/*白*/
/*黒*/
/*灰色*/
/*黄*/
/*赤*/
/*青*/
/*緑*/
/*金*/
/* mixin
============================================================================ */
/* mixin > rem  ($base-font-sizeはbase/_base.scssに)
============================================================================================================ */
/* mixin > flex
============================================================================================================ */
/* mixin > mediaqueries (setting/variables.scssに横幅記載あり)
============================================================================================================ */
/* mixin > last-bm
============================================================================================================ */
/*最後の要素の余白リセット*/
/* mixin > headline
============================================================================================================ */
/* mixin > mixin (mixin 集)
============================================================================================================ */
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */
/* mixin > img
============================================================================================================ */
figure {
  display: block;
}

img {
  vertical-align: bottom;
  line-height: 0;
  font-size: 0;
  backface-visibility: hidden;
}

/* mixin > display
============================================================================================================ */
/*-------------------------------------------------------------
display指定class

【only】
.pc-only / .tab-only / .pad-only / .sp-only /.se-only
.pctab-only / .tabsp-only / .sp-none

-------------------------------------------------------------*/
.pc-only {
  display: block !important;
}
@media screen and (max-width: 1024px) {
  .pc-only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pc-only {
    display: none !important;
  }
}
.pc-only--flex {
  display: flex !important;
}
@media screen and (max-width: 1024px) {
  .pc-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pc-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pc-only--flex {
    display: none !important;
  }
}

.tab-only {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .tab-only {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .tab-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .tab-only {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .tab-only {
    display: none !important;
  }
}
.tab-only--flex {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .tab-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 768px) {
  .tab-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .tab-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .tab-only--flex {
    display: none !important;
  }
}

.pad-only {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .pad-only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pad-only {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .pad-only {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pad-only {
    display: none !important;
  }
}
.pad-only--flex {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .pad-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pad-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 767px) {
  .pad-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pad-only--flex {
    display: none !important;
  }
}

.sp-only {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .sp-only {
    display: block !important;
  }
}
@media screen and (max-width: 320px) {
  .sp-only {
    display: block !important;
  }
}
.sp-only--flex {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .sp-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .sp-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .sp-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 320px) {
  .sp-only--flex {
    display: flex !important;
  }
}

.se-only {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .se-only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .se-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .se-only {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .se-only {
    display: block !important;
  }
}
.se-only--flex {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .se-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .se-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .se-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .se-only--flex {
    display: flex !important;
  }
}

.pctab-only {
  display: block !important;
}
@media screen and (max-width: 1024px) {
  .pctab-only {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .pctab-only {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .pctab-only {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pctab-only {
    display: none !important;
  }
}
.pctab-only--flex {
  display: flex !important;
}
@media screen and (max-width: 1024px) {
  .pctab-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 768px) {
  .pctab-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 767px) {
  .pctab-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pctab-only--flex {
    display: none !important;
  }
}

.tabsp-only {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .tabsp-only {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .tabsp-only {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .tabsp-only {
    display: block !important;
  }
}
@media screen and (max-width: 320px) {
  .tabsp-only {
    display: block !important;
  }
}
.tabsp-only--flex {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .tabsp-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 768px) {
  .tabsp-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 767px) {
  .tabsp-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 320px) {
  .tabsp-only--flex {
    display: flex !important;
  }
}

@media screen and (max-width: 767px) {
  .sp-none {
    display: none;
  }
}
@media screen and (max-width: 320px) {
  .sp-none {
    display: none;
  }
}

/* 共通部分
============================================================================ */
/* base > common
============================================================================================================ */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

li {
  list-style: none;
}

ul,
ol,
dl,
p {
  padding: 0;
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  /* ress.cssだとunderlineがつくのを阻止 */
  text-decoration: none;
}

select {
  color: var(--color-text);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  line-height: 1 !important;
  position: relative;
}

table {
  table-layout: fixed;
  /* ress.css用 */
  border-collapse: collapse;
  border-spacing: 0;
}

td input {
  max-width: 100%;
}

i,
em {
  font-style: normal;
}

* {
  box-sizing: border-box;
}

small {
  font-size: 100%;
}
:root {
  --gutter: max(20px, calc(20/375*100%));
  --gutter-inner: max(20px, calc(20/375*100%));
  --height-header: 48;
  --width-inner: 1100;
  --color-primary: #409A78;
  --color-secondary: #187FC3;
  --color-future-primary: #F3AA08;
  --color-future-back: #272E42;
  --color-text: #3C3C3C;
  --color-text-reverse: white;
  --color-back: #efefef;
  --zIndex-back: 20;
  --zIndex-header: 40;
  --zIndex-spmenu: 41;
  --zIndex-toggle: 42;
  --zIndex-splash: 50;
  --color-theme-primary: var(--color-primary);
  --color-theme-secondary: var(--color-secondary);
  --color-theme-back-component: #fbfbfb;
  --color-nav-share: var(--color-secondary);
  --color-breadcrumb: var(--color-secondary);
  --color-header-nav-back: color-mix(in srgb, white 90%, transparent);
  --color-footer-back:var(--color-primary);
  --color-cta-back: white;
  --color-cta-box-left: var(--color-primary);
  --color-cta-box-right: var(--color-secondary);
  --color-spmenu-back: #fbfbfb;
  --color-logo: black;
  --color-header-btn-lower-back: var(--color-secondary);
  --color-header-btn-lower-text: white;
  --color-header-btn-lower-text-hover: var(--color-secondary);
  --color-editor-component-back: white;
  --color-editor-table-th-back: #ABDDFF;
}
@media screen and (max-width: 767px) {
  :root {
    --height-header: 56;
  }
}

body[data-theme=future] {
  --color-theme-primary: var(--color-future-primary);
  --color-theme-secondary: var(--color-future-primary);
  --color-theme-back-component: transparent;
  --color-text: white;
  --color-back: var(--color-future-back);
  --color-text-reverse: #3c3c3c;
  --color-nav-share: var(--color-future-primary);
  --color-breadcrumb: var(--color-future-primary);
  --color-header-nav-back: var(--color-future-back);
  --color-footer-back: var(--color-future-back);
  --color-cta-back: var(--color-future-back);
  --color-spmenu-back: var(--color-future-back);
  --color-logo: white;
  --color-primary: var(--color-future-primary);
  --color-secondary: var(--color-future-primary);
  --color-cta-box-left: var(--color-future-primary);
  --color-cta-box-right: white;
  --color-header-btn-lower: white;
  --color-header-btn-lower-back: white;
  --color-header-btn-lower-text: var(--color-text-reverse);
  --color-header-btn-lower-text-hover: var(--color-text);
  --color-editor-component-back: var(--color-future-back);
  --color-editor-table-th-back: color-mix(in srgb, var(--color-future-primary) 100%, var(--color-future-back) 100%);
}
@media screen and (max-width: 767px) {
  body[data-theme=future] .common-pageHead {
    padding-bottom: 100px;
  }
}
body[data-theme=future] .mod-tablist--article {
  -moz-column-gap: 24px;
       column-gap: 24px;
  min-height: 42px;
}
body[data-theme=future] .mod-tablist--article .mod-tablist__button {
  font-size: 16px;
  line-height: 2;
  min-width: min(178px, 20%);
  min-height: 33px;
  padding-top: 4px;
}
body[data-theme=future] .mod-tablist--article .mod-tablist__button.is-active, body[data-theme=future] .mod-tablist--article .mod-tablist__button[aria-pressed=true] {
  min-height: 42px;
}
body[data-theme=future] .section-filter__radius {
  background-color: var(--color-future-back);
  border: 2px solid var(--color-future-primary);
  color: var(--color-future-primary);
}
body[data-theme=future] .section-filter__radius.is-active {
  background-color: var(--color-future-primary);
  color: var(--color-text-reverse);
}
body[data-theme=future] .wp-pagenavi span, body[data-theme=future] .wp-pagenavi a {
  color: #6D6D6D;
}
body[data-theme=future] .wp-pagenavi span.current {
  color: white;
}
body[data-theme=future] .wp-pagenavi .previouspostslink.is-disabled svg path, body[data-theme=future] .wp-pagenavi .previouspostslink.is-disabled svg rect, body[data-theme=future] .wp-pagenavi .nextpostslink.is-disabled svg path, body[data-theme=future] .wp-pagenavi .nextpostslink.is-disabled svg rect {
  stroke: #6D6D6D;
}

button {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  min-height: unset;
}

html,
body {
  width: 100%;
  line-height: 2.0625;
  color: var(--color-text);
  font-family: "Meiryo", sans-serif;
  letter-spacing: 0em;
  font-size: 16px;
  font-weight: 300;
  position: relative;
  -webkit-print-color-adjust: exact;
  overflow-x: clip;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}

body {
  opacity: 1;
}

#Wrapper {
  display: flex;
  flex-direction: column;
  background-color: var(--color-back);
  min-height: 100vh;
  height: 100%;
  margin: 0 auto;
  overflow-x: clip;
}
@media screen and (max-width: 767px) {
  #Wrapper {
    border: none;
  }
}

#Footer {
  margin-top: auto;
  height: 100%;
}

img.object_fit {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

.equalspace-1em {
  letter-spacing: 1em;
  text-indent: 1em;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.youtube-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  height: 0;
}

.youtube-item {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* base > heading
============================================================================================================ */
:where(h1) {
  font-weight: 400;
}

:where(h2) {
  font-weight: 400;
}

/* base > wordpress
============================================================================================================ */
img.size-auto,
img.size-large,
img.size-full,
img.size-medium {
  max-width: 100%;
  height: auto;
}

.alignleft,
img.alignleft {
  display: inline;
  float: left;
  margin-right: 15px;
  margin-top: 4px;
}

.alignright,
img.alignright {
  display: inline;
  float: right;
  margin-left: 15px;
  margin-top: 4px;
}

.aligncenter,
img.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

img.alignleft,
img.alignright,
img.aligncenter {
  margin-bottom: 12px;
}

.wp-caption {
  background: #f1f1f1;
  border: none;
  border-radius: 0;
  color: #888;
  font-size: 12px;
  line-height: 18px;
  margin-bottom: 20px;
  padding: 4px;
  text-align: center;
}

.wp-caption img {
  margin: 5px;
}

.wp-caption p.wp-caption-text {
  margin: 0 0 4px;
}

.wp-smiley {
  margin: 0;
}

div.wpcf7-mail-sent-ok {
  border: 2px solid #398f14;
  padding: 50px 10px;
  text-align: center;
  font-weight: bold;
  margin: 50px 0;
}

/* base > editor-content
============================================================================================================ */
#editor-content {
  font-size: 16px;
  line-height: 1.75;
  --spacing-editor-content: 1lh;
}
@media screen and (max-width: 767px) {
  #editor-content {
    font-size: 14px;
    line-height: 2.2;
  }
}
#editor-content figure {
  font-size: 16px;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  #editor-content figure {
    font-size: 14px;
    line-height: 2.2;
  }
}
#editor-content > *:not(:first-child) {
  margin-top: var(--spacing-editor-content);
  margin-bottom: var(--spacing-editor-content);
}
#editor-content h1 {
  font-size: 32px;
  line-height: 1.3125;
  letter-spacing: 0.1em;
  font-weight: 700;
}
#editor-content h2 {
  font-size: 24px;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  font-weight: 700;
}
#editor-content h3 {
  font-size: 22px;
  line-height: 1.0909090909;
  border-bottom: 2px solid var(--color-theme-secondary);
  padding-bottom: 8px;
  letter-spacing: 0.1em;
}
#editor-content h4 {
  font-size: 18px;
  line-height: 1.1111111111;
  letter-spacing: 0.1em;
  position: relative;
  padding-left: 20px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  #editor-content h4 {
    margin-left: -20px;
  }
}
#editor-content h4::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  background-color: var(--color-theme-secondary);
  height: 2px;
  width: 10px;
}
#editor-content h5 {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
#editor-content h6 {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
#editor-content p {
  font-size: 16px;
  line-height: 1.75;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  #editor-content p {
    font-size: 14px;
    line-height: 2.2;
  }
}
#editor-content table {
  width: 100%;
  border: 1px solid var(--color-theme-secondary);
  background-color: var(--color-editor-component-back);
}
#editor-content table tr th,
#editor-content table tr td {
  padding: 1.7142857143em 1.1428571429em;
  border: 1px solid var(--color-theme-secondary);
}
#editor-content table tr th:first-of-type,
#editor-content table tr td:first-of-type {
  background-color: var(--color-editor-table-th-back);
  width: 25%;
  max-width: 240px;
}
@media screen and (max-width: 767px) {
  #editor-content table tr th:first-of-type,
  #editor-content table tr td:first-of-type {
    width: 30%;
  }
}
#editor-content table tr th {
  background: var(--color-editor-table-th-back);
  width: 25%;
  max-width: 240px;
}
@media screen and (max-width: 767px) {
  #editor-content table tr th {
    width: 30%;
  }
}
#editor-content figcaption {
  text-align: center;
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
#editor-content figure.aligncenter {
  margin-left: auto !important;
  margin-right: auto !important;
}
#editor-content ul,
#editor-content ul li {
  list-style: disc;
  margin-left: 10px;
}
#editor-content ol,
#editor-content ol li {
  list-style: decimal;
  margin-left: 10px;
}
#editor-content a {
  color: var(--color-theme-secondary);
  text-decoration: underline;
}
#editor-content blockquote {
  border: 1px solid var(--color-theme-secondary);
  padding: 1.7142857143em 1.7142857143em;
  border-radius: 0 30px 30px 0;
  border-left: 7px solid var(--color-theme-secondary);
}
@media screen and (max-width: 767px) {
  #editor-content blockquote {
    border-radius: 0 20px 20px 0;
    border-left: 5px solid var(--color-theme-secondary);
  }
}
#editor-content blockquote a {
  cursor: pointer;
  text-decoration: underline;
}
#editor-content blockquote cite {
  text-align: right;
  margin-top: 20px;
  display: block;
  font-size: 100%;
  letter-spacing: 0.1em;
}
#editor-content pre {
  border: 1px solid var(--color-theme-secondary);
  padding: 1.7142857143em 1.1428571429em;
  white-space: pre-wrap;
}
#editor-content code {
  white-space: pre-wrap;
}
#editor-content strong {
  font-weight: 700;
}
#editor-content img {
  max-width: 100%;
}
#editor-content :is(img.alignnone, img.alignleft, img.alignright, img.aligncenter) {
  display: block;
  height: auto;
  margin-bottom: 0.5em;
  margin-left: auto;
  margin-right: auto;
  -o-object-fit: contain;
     object-fit: contain;
  width: auto;
}
#editor-content img.alignnone {
  margin-left: 0;
}
#editor-content img.alignleft {
  float: left;
  margin-left: 0;
  margin-right: 0.5em;
}
#editor-content img.alignright {
  float: right;
  margin-left: 0.5em;
  margin-right: 0;
}
#editor-content .aligncenter {
  display: block;
}
#editor-content .alignright {
  float: right;
  margin-left: 0.5em;
  margin-right: 0;
}
#editor-content .alignleft {
  float: left;
  margin-left: 0;
  margin-right: 0.5em;
}
#editor-content .wp-caption,
#editor-content [class*=wp-image] {
  display: block;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  text-align: center;
}
#editor-content .wp-caption-text {
  margin-bottom: 0;
  margin-top: 0;
}
#editor-content .post-password-form [name=post_password] {
  border: 1px solid var(--color-theme-secondary);
  padding: 0.3em;
}
#editor-content .post-password-form input[name=Submit] {
  border: 1px solid var(--color-theme-secondary);
  border-radius: 5px;
  padding: 0.3em 0.6em;
}
#editor-content sup {
  top: -0.5em;
}
#editor-content sub {
  bottom: -0.25em;
}
#editor-content sub,
#editor-content sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: initial;
}
#editor-content em {
  font-style: italic;
}

/* layout
============================================================================ */
/* layout > common
============================================================================================================ */
.common-main {
  width: 100%;
  height: 100%;
  margin-top: calc(var(--height-header) * 1px + 40px);
}
/* layout > header
============================================================================== */
.common-header {
  height: calc(var(--height-header) * 1px);
  left: 0;
  width: 100%;
  z-index: var(--zIndex-header);
  position: fixed;
  top: 40px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), top 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media screen and (max-width: 767px) {
  .common-header {
    top: 24px;
  }
}
.common-header.is-hide {
  transform: translateY(-200%);
}
@media screen and (max-width: 1024px) {
  .common-header.is-hide {
    transform: translateY(0);
  }
}

@media screen and (max-width: 1200px) {
  .common-header {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.common-header__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.common-header__left {
  align-self: center;
  flex-shrink: 0;
}

.common-header__layout {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .common-header__layout {
    justify-content: center;
  }
}

.common-header__right {
  display: flex;
  align-items: center;
  align-self: center;
  flex: 1;
  justify-content: flex-end;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
@media screen and (max-width: 767px) {
  .common-header__right {
    right: var(--gutter);
    position: absolute;
    top: 8px;
  }
}

.common-header__spmenu {
  height: 100vh;
  height: 100svh;
  left: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  transition: 0.3s;
  width: 100vw;
  z-index: var(--zIndex-spmenu);
  display: none;
}

@media screen and (max-width: 1024px) {
  .common-header__spmenu {
    display: block;
    z-index: -1;
  }
}
.common-header__toggle {
  display: none;
  position: relative;
  z-index: var(--zIndex-toggle);
}

@media screen and (max-width: 1024px) {
  .common-header__toggle {
    display: block;
  }
}
.common-header__nav {
  display: none;
}

@media screen and (min-width: 1024px) {
  .common-header__nav {
    display: block;
  }
}
.common-header__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 8px;
}

@media screen and (max-width: 1024px) {
  .common-header__cta {
    display: none;
  }
}
.common-footer {
  position: relative;
  background-color: var(--color-footer-back);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  color: white;
  padding-top: 48px;
  padding-bottom: 10px;
  overflow: clip;
}
@media screen and (max-width: 767px) {
  .common-footer {
    padding-top: 58px;
  }
}

.common-footer__bg {
  position: absolute;
  right: 0;
  top: 0;
}
@media screen and (max-width: 767px) {
  .common-footer__bg {
    width: 350px;
    opacity: 0.2;
  }
}

.common-footer__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
}

.common-footer__layout {
  display: grid;
  grid-template-columns: 300px 1fr 280px;
}
@media screen and (max-width: 767px) {
  .common-footer__layout {
    grid-template-columns: 1fr;
    padding-left: 4%;
    padding-right: 4%;
  }
}
.common-footer__layout > :nth-child(1) {
  display: none;
}
@media screen and (max-width: 767px) {
  .common-footer__layout > :nth-child(1) {
    display: block;
  }
}
.common-footer__layout > :nth-child(2) {
  grid-area: 1/2/5/4;
  width: 88%;
  margin-left: auto;
  margin-top: auto;
}
@media screen and (max-width: 1024px) {
  .common-footer__layout > :nth-child(2) {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .common-footer__layout > :nth-child(2) {
    display: none;
    grid-area: unset;
  }
}
.common-footer__layout > :nth-child(3) {
  grid-area: 4/1/5/2;
  margin-top: 42px;
}
@media screen and (max-width: 767px) {
  .common-footer__layout > :nth-child(3) {
    grid-area: unset;
    display: none;
  }
}
.common-footer__layout > :nth-child(4) {
  grid-area: 6/3/7/4;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .common-footer__layout > :nth-child(4) {
    grid-area: unset;
    margin-top: 20px;
  }
}
.common-footer__layout > :nth-child(5) {
  grid-area: 5/1/6/4;
  margin-top: 46px;
}
@media screen and (max-width: 767px) {
  .common-footer__layout > :nth-child(5) {
    grid-area: unset;
    margin-top: 35px;
  }
}
.common-footer__layout > :nth-child(6) {
  grid-area: 1/1/2/2;
}
@media screen and (max-width: 767px) {
  .common-footer__layout > :nth-child(6) {
    grid-area: unset;
    display: grid;
    place-items: center;
    margin-top: 25px;
  }
}
.common-footer__layout > :nth-child(7) {
  grid-area: 2/1/3/2;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .common-footer__layout > :nth-child(7) {
    grid-area: unset;
    display: none;
  }
}
.common-footer__layout > :nth-child(8) {
  grid-area: 3/1/4/2;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .common-footer__layout > :nth-child(8) {
    grid-area: unset;
    width: 70%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
  }
}
.common-footer__layout > :nth-child(9) {
  grid-area: 6/1/7/3;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .common-footer__layout > :nth-child(9) {
    grid-area: unset;
    width: 70%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 35px;
  }
}

.common-footer__name {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7777777778;
  letter-spacing: 0.05em;
}

.common-footer__address {
  font-size: 14px;
  line-height: 1.5;
  font-style: normal;
}
@media screen and (max-width: 767px) {
  .common-footer__address {
    font-size: 12px;
    line-height: 1.75;
  }
}

.common-footer__bar {
  background-color: white;
  height: 2px;
  width: 100%;
}

.common-footer__legal {
  font-size: 18px;
  line-height: 1.7777777778;
  font-weight: 700;
  letter-spacing: 0.05em;
  display: flex;
  -moz-column-gap: 30px;
       column-gap: 30px;
  row-gap: 15px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .common-footer__legal {
    font-size: 12px;
    line-height: 1.6666666667;
    font-weight: 400;
  }
}

.common-footer__copyright {
  font-size: 12px;
  line-height: 1.1666666667;
}
@media screen and (max-width: 767px) {
  .common-footer__copyright {
    text-align: center;
    margin-top: 15px;
  }
}

.footer-navPcMain__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  -moz-column-gap: 2%;
       column-gap: 2%;
}

.footer-navPcMain__link {
  display: block;
  margin-top: 20px;
  font-size: 12px;
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.footer-navPcMain__child {
  margin-top: 5px;
  font-size: 10px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.common-footer__cta {
  display: grid;
  row-gap: 10px;
}
@media screen and (max-width: 767px) {
  .common-footer__cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 20px;
  }
}

.footer-navPcSub__link {
  font-size: 18px;
  line-height: 1.7777777778;
  font-weight: 700;
  letter-spacing: 0.05em;
}

/* layout > front page （TOP,HOME）
============================================================================================================ */
/* layout > 404
============================================================================================================ */
.page-404 {
  padding-top: 160px;
  padding-bottom: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .page-404 {
    padding-top: 115px;
    padding-bottom: 120px;
  }
}

.page-404__inner {
  max-width: 944px;
  margin-left: auto;
  margin-right: auto;
}

.page-404__heading {
  font-size: 160px;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .page-404__heading {
    font-size: 88px;
  }
}

.page-404__subheading {
  font-size: 18px;
  line-height: 2.2222222222;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-404__subheading {
    font-size: 16px;
    line-height: 1.5;
  }
}

.page-404__text {
  font-size: 24px;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .page-404__text {
    font-size: 16px;
  }
}

.page-404__box {
  margin-top: 155px;
  background-color: #FBFBFB;
  border-radius: 10px;
  padding-top: 80px;
  padding-bottom: 80px;
  padding-left: 32px;
  padding-right: 32px;
  filter: drop-shadow(0 8px 8px color-mix(in srgb, #000000 15%, transparent));
  position: relative;
}
@media screen and (max-width: 767px) {
  .page-404__box {
    margin-top: 105px;
    padding-top: 64px;
    padding-bottom: 64px;
    padding-left: 16px;
    padding-right: 16px;
  }
}

.page-404__chara {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -80%;
}

.page-404__charaImg {
  display: inline-block;
  will-change: transform;
  transform: translateX(-100px) scaleX(-1);
  animation: chara-wander 5.5s linear infinite;
}
@media screen and (max-width: 767px) {
  .page-404__charaImg {
    width: 69px;
  }
}

@keyframes chara-wander {
  /* =================================================
    左端（0%/100%）: 到達 → 止 → 反転(行って戻る) → 止
    右端（50%）   : 到達 → 止 → 反転(行って戻る) → 止
    ※左右で完全に同じ配分（鏡像）
  ================================================= */
  /* ===== 左端：到達（開始姿勢） ===== */
  0% {
    transform: translateX(-100px) scaleX(-1);
  }
  /* 左端：反転前に止まる（溜め） */
  6% {
    transform: translateX(-100px) scaleX(-1);
  }
  /* 左端：反転（行って戻る：3%） */
  7% {
    transform: translateX(-100px) scaleX(-0.75);
  }
  8% {
    transform: translateX(-100px) scaleX(1.12);
  }
  9% {
    transform: translateX(-100px) scaleX(1);
  }
  /* 左端：反転後に止まる */
  17% {
    transform: translateX(-100px) scaleX(1);
  }
  /* ===== 左→右 移動（メリハリ：左右対称にするため中間点2つ） ===== */
  31% {
    transform: translateX(-10px) scaleX(1);
  }
  43% {
    transform: translateX(60px) scaleX(1);
  }
  /* ===== 右端：到達（ちょうど半分） ===== */
  50% {
    transform: translateX(100px) scaleX(1);
  }
  /* 右端：反転前に止まる（溜め） ※左端と同じ 6% */
  56% {
    transform: translateX(100px) scaleX(1);
  }
  /* 右端：反転（行って戻る：3%） ※左端と同じ */
  57% {
    transform: translateX(100px) scaleX(0.75);
  }
  58% {
    transform: translateX(100px) scaleX(-1.12);
  }
  59% {
    transform: translateX(100px) scaleX(-1);
  }
  /* 右端：反転後に止まる ※左端と同じ長さ */
  67% {
    transform: translateX(100px) scaleX(-1);
  }
  /* ===== 右→左 移動（左→右の鏡像） ===== */
  81% {
    transform: translateX(10px) scaleX(-1);
  }
  93% {
    transform: translateX(-60px) scaleX(-1);
  }
  /* ===== 左端：到達（ループ終端） ===== */
  100% {
    transform: translateX(-100px) scaleX(-1);
  }
}
.page-404__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 32px;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .page-404__list {
    grid-template-columns: 1fr;
    row-gap: 38px;
  }
}

.page-404__button {
  display: grid;
  place-items: center;
  margin-top: 10px;
}

/* module
============================================================================ */
.accordion-benefit {
  position: relative;
  padding-left: 24px;
  padding-right: 16px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: 28px;
  background-color: #fbfbfb;
  filter: drop-shadow(0 4px 4px color-mix(in srgb, black 25%, transparent));
  min-height: 96px;
  transition: color 0.3s, background-color 0.3s;
  color: var(--color-theme-primary);
}
@media screen and (max-width: 767px) {
  .accordion-benefit {
    border-radius: 10px;
    min-height: 0;
    padding-top: 16px;
    padding-bottom: 16px;
  }
}
.accordion-benefit[open] {
  background-color: var(--color-theme-primary);
  color: white;
}
.accordion-benefit[open] .accordion-benefit__container {
  grid-template-rows: 1fr;
}
.accordion-benefit[open] .accordion-benefit__plus::after {
  transform: translate3d(-50%, -50%, 0);
  background-color: white;
}
@media not screen and (max-width: 767px) {
  .accordion-benefit:hover {
    background-color: var(--color-theme-primary);
    color: white;
  }
  .accordion-benefit:hover .accordion-benefit__plus::after {
    background-color: white;
  }
  .accordion-benefit:hover .accordion-benefit__plus::before {
    background-color: white;
  }
}

.accordion-benefit__bar {
  width: 50vw;
  translate: -100% 0;
  background-color: var(--color-primary);
  height: 2px;
  display: block;
  position: absolute;
  left: 0;
  top: 17px;
  max-width: 80px;
}
@media screen and (max-width: 767px) {
  .accordion-benefit__bar {
    top: 14px;
  }
}

.accordion-benefit__summary {
  min-height: 76px;
  height: 100%;
  cursor: pointer;
  display: grid;
  grid-template-columns: 1fr 20px;
  -moz-column-gap: 16px;
       column-gap: 16px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .accordion-benefit__summary {
    grid-template-columns: 1fr 20px;
    -moz-column-gap: 8px;
         column-gap: 8px;
    min-height: 0;
  }
}

.accordion-benefit__question {
  font-size: 18px;
  line-height: 2.2222222222;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .accordion-benefit__question {
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 1.5;
  }
}

.accordion-benefit__answer {
  padding-top: 15px;
  padding-bottom: 15px;
  font-size: 14px;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
  transition: padding 0.5s;
}
@media screen and (max-width: 767px) {
  .accordion-benefit__answer {
    font-size: 12px;
    line-height: 1.6666666667;
    padding-top: 16px;
  }
}

.accordion-benefit__container {
  display: grid;
  transition: grid-template-rows 0.5s;
  grid-template-rows: 0fr;
}

.accordion-benefit__containerInner {
  display: grid;
  overflow-y: hidden;
}

.accordion-benefit__plus {
  height: 20px;
  width: 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .accordion-benefit__plus {
    width: 20px;
    height: 20px;
  }
}

.accordion-benefit__plus::before {
  content: "";
  height: 2px;
  border-radius: 2px;
  background-color: var(--color-theme-primary);
  width: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  transition: background-color 0.3s;
}
@media screen and (max-width: 767px) {
  .accordion-benefit__plus::before {
    width: 20px;
    border-radius: 1px;
    height: 2px;
  }
}

.accordion-benefit__plus::after {
  content: "";
  height: 2px;
  border-radius: 2px;
  background-color: var(--color-theme-primary);
  width: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transition: transform 0.5s;
  transform: translate3d(-50%, -50%, 0) rotate(90deg);
  transition: background-color 0.3s;
}
@media screen and (max-width: 767px) {
  .accordion-benefit__plus::after {
    border-radius: 1px;
    height: 2px;
    width: 20px;
  }
}

.accordion-faq {
  position: relative;
  padding-left: 24px;
  padding-right: 24px;
  padding-top: 16px;
  padding-bottom: 16px;
  border-radius: 20px;
  background-color: #fbfbfb;
  filter: drop-shadow(0 4px 4px color-mix(in srgb, black 25%, transparent));
}
@media screen and (max-width: 767px) {
  .accordion-faq {
    padding: 12px;
  }
}
.accordion-faq[open] .accordion-faq__container {
  grid-template-rows: 1fr;
}
.accordion-faq[open] .accordion-faq__plus::after {
  transform: translate3d(-50%, -50%, 0);
}

.accordion-faq__bar {
  width: 50vw;
  translate: -100% 0;
  background-color: var(--color-primary);
  height: 2px;
  display: block;
  position: absolute;
  left: 0;
  top: 17px;
  max-width: 80px;
}
@media screen and (max-width: 767px) {
  .accordion-faq__bar {
    top: 14px;
  }
}

.accordion-faq__summary {
  cursor: pointer;
  display: grid;
  grid-template-columns: 64px 1fr 32px;
  -moz-column-gap: 24px;
       column-gap: 24px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .accordion-faq__summary {
    grid-template-columns: 40px 1fr 20px;
    -moz-column-gap: 8px;
         column-gap: 8px;
  }
}

.accordion-faq__question {
  font-size: 24px;
  line-height: 1.5833333333;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .accordion-faq__question {
    font-size: 12px;
    line-height: 1.6666666667;
  }
}

.accordion-faq__answer {
  padding-top: 15px;
  border-top: 2px solid #D9D9D9;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  transition: padding 0.5s;
}
@media screen and (max-width: 767px) {
  .accordion-faq__answer {
    font-size: 12px;
    line-height: 1.6666666667;
  }
}

.accordion-faq__container {
  display: grid;
  transition: grid-template-rows 0.5s;
  grid-template-rows: 0fr;
}

.accordion-faq__containerInner {
  display: grid;
  -moz-column-gap: 24px;
       column-gap: 24px;
  grid-template-columns: 64px 1fr 32px;
  overflow-y: hidden;
}
@media screen and (max-width: 767px) {
  .accordion-faq__containerInner {
    grid-template-columns: 40px 1fr 20px;
    -moz-column-gap: 8px;
         column-gap: 8px;
  }
}

.accordion-faq__plus {
  height: 32px;
  width: 32px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .accordion-faq__plus {
    width: 20px;
    height: 20px;
  }
}

.accordion-faq__plus::before {
  content: "";
  height: 4px;
  border-radius: 2px;
  background-color: #68AEDC;
  width: 32px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
}
@media screen and (max-width: 767px) {
  .accordion-faq__plus::before {
    width: 20px;
    border-radius: 1px;
    height: 2px;
  }
}

.accordion-faq__plus::after {
  content: "";
  height: 4px;
  border-radius: 2px;
  background-color: #68AEDC;
  width: 32px;
  position: absolute;
  top: 50%;
  left: 50%;
  transition: transform 0.5s;
  transform: translate3d(-50%, -50%, 0) rotate(90deg);
}
@media screen and (max-width: 767px) {
  .accordion-faq__plus::after {
    border-radius: 1px;
    height: 2px;
    width: 20px;
  }
}

.common-bnr {
  position: fixed;
  right: 0;
  bottom: 20px;
  z-index: 6;
}
@media screen and (max-width: 767px) {
  .common-bnr {
    bottom: 50px;
  }
}

.bnr-sticky {
  padding-left: 4px;
  padding-right: 40px;
  background-color: var(--color-theme-secondary);
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  filter: drop-shadow(0 4px 4px color-mix(in srgb, black 25%, transparent));
  color: white;
  display: block;
  transition: translate 0.3s;
}
@media screen and (max-width: 767px) {
  .bnr-sticky {
    padding-left: unset;
    padding-right: 14px;
  }
}
.bnr-sticky:has(.bnr-sticky__icon[aria-expanded=false]) {
  translate: calc(100% - 42px - 3px);
}
@media screen and (max-width: 767px) {
  .bnr-sticky:has(.bnr-sticky__icon[aria-expanded=false]) {
    translate: calc(100% - 25px - 3px);
  }
}

.bnr-sticky__inner {
  display: grid;
  grid-template-columns: 42px 2px auto;
}
@media screen and (max-width: 767px) {
  .bnr-sticky__inner {
    grid-template-columns: 33px 2px auto;
  }
}

@media screen and (max-width: 767px) {
  .bnr-sticky__close {
    height: 52px;
  }
}

.bnr-sticky__icon {
  display: grid;
  place-items: center;
  transition: transform 0.2s;
}

.bnr-sticky__icon[aria-expanded=true] .bnr-sticky__open {
  display: none;
}

.bnr-sticky__icon[aria-expanded=false] .bnr-sticky__close {
  display: none;
}

.bnr-sticky__body {
  padding-top: 20px;
  padding-left: 20px;
  padding-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .bnr-sticky__body {
    padding-left: 20px;
    padding-bottom: 10px;
    padding-top: 10px;
  }
}

.bnr-sticky__bar {
  background-color: white;
  height: 100%;
}

.bnr-sticky__sub {
  font-size: 16px;
  line-height: 1.375;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .bnr-sticky__sub {
    font-size: 14px;
    line-height: 1.7142857143;
    font-weight: 400;
  }
}

.bnr-sticky__main {
  font-size: 30px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .bnr-sticky__main {
    font-size: 18px;
    line-height: 1.3333333333;
  }
}

/*  module > breadcrumbs
============================================================================================================ */
/* 使い回し用：このSVGクラスを付ければ同じ挙動になる */
.btn-arrow-slider-circle-prev,
.btn-arrow-slider-circle-next {
  width: 90px;
  height: 90px;
  display: block;
  /* inline svgの隙間対策 */
}

.btn-arrow-slider-circle-prev__circle,
.btn-arrow-slider-circle-next__circle {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 0.25s ease;
}

@media not screen and (max-width: 767px) {
  .btn-arrow-slider-circle-prev:hover .btn-arrow-slider-circle-prev__circle,
  .btn-arrow-slider-circle-next:hover .btn-arrow-slider-circle-next__circle {
    transform: scale(1.1);
  }
}
.btn-hamburger {
  cursor: pointer;
  height: 40px;
  position: relative;
  width: 40px;
  background-color: var(--color-theme-secondary);
  border-radius: 999em;
}

.btn-hamburger__line {
  background-color: white;
  display: inline-block;
  height: 2px;
  pointer-events: none;
  position: absolute;
  transition: all 0.3s;
  width: 16px;
  left: 12px;
  border-radius: 1px;
}

.btn-hamburger__line:nth-of-type(1) {
  top: 13px;
}

.btn-hamburger__line:nth-of-type(2) {
  top: 19px;
}

.btn-hamburger__line:nth-of-type(3) {
  top: 25px;
}

.btn-hamburger[aria-expanded=true] .btn-hamburger__line {
  background: #fff;
}

.btn-hamburger[aria-expanded=true] .btn-hamburger__line:nth-of-type(1) {
  transform: translateY(6px) rotate(-45deg);
}

.btn-hamburger[aria-expanded=true] .btn-hamburger__line:nth-of-type(2) {
  transform: translateX(100%);
  opacity: 0;
}

.btn-hamburger[aria-expanded=true] .btn-hamburger__line:nth-of-type(3) {
  transform: translateY(-6px) rotate(45deg);
}

.btn-roundCategory {
  display: grid;
  text-align: center;
  min-height: 29px;
  background-color: var(--color-theme-back-component);
  min-width: 68px;
  width: -moz-fit-content;
  width: fit-content;
  border: 2px solid currentColor;
  color: var(--color-theme-secondary);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.9230769231;
  letter-spacing: 0.1em;
  border-radius: 20px;
  padding-left: 12px;
  padding-right: 12px;
  cursor: pointer;
  transition: background-color 0.3s, border 0.3s, color 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-roundCategory {
    font-size: 10px;
    min-width: 64px;
    min-height: 25px;
    line-height: 2.1;
  }
}
.btn-roundCategory[aria-pressed=true] {
  background-color: var(--color-theme-secondary);
  border: 2px solid var(--color-theme-secondary);
  color: white;
}
.btn-roundCategory--transparent {
  background-color: transparent;
}

/* module > btn
============================================================================ */
body.en .btn-simple, body.en-child .btn-simple {
  font-size: 12px;
  padding: 12px 0;
}

.btn-simple {
  border-radius: 36px;
  text-align: center;
  font-size: 10px;
  padding-left: 1em;
  padding-right: 1em;
  background-color: var(--color-theme-back-component);
  width: 100%;
  line-height: 1.6;
  transition: color 0.2s, background-color 0.2s;
}
.btn-simple--header-upper {
  width: 127px;
  border: 2px solid var(--color-theme-primary);
  color: var(--color-text-reverse);
  background-color: var(--color-theme-primary);
  font-weight: 700;
}
@media not screen and (max-width: 767px) {
  .btn-simple--header-upper:hover {
    color: var(--color-theme-primary);
    background-color: var(--color-text-reverse);
  }
}
.btn-simple--header-lower {
  border: 2px solid var(--color-header-btn-lower-back);
  color: var(--color-header-btn-lower-text);
  background-color: var(--color-header-btn-lower-back);
  font-weight: 700;
}
@media not screen and (max-width: 767px) {
  .btn-simple--header-lower:hover {
    color: var(--color-header-btn-lower-text-hover);
    background-color: var(--color-text-reverse);
  }
}
.btn-simple--search {
  width: min(248px, 100%);
  font-size: 16px;
  letter-spacing: 0.1em;
  border-radius: 20px;
  font-weight: 700;
  cursor: pointer;
  min-height: 40px;
  display: grid;
  place-items: center;
  background-color: var(--color-theme-back-component);
  color: var(--color-theme-primary);
  border: 2px solid var(--color-theme-primary);
}
@media screen and (max-width: 767px) {
  .btn-simple--search {
    width: min(186px, 100%);
    font-size: 14px;
  }
}
@media not screen and (max-width: 767px) {
  .btn-simple--search:hover {
    color: white;
    background-color: var(--color-theme-primary);
  }
}

.btn-arrow {
  --color-btn-arrow: var(--color-theme-primary);
  display: grid;
  grid-template-columns: auto 26px;
  text-align: center;
  padding-right: 2em;
  font-size: 16px;
  padding-left: 1em;
  border: 2px solid var(--color-btn-arrow);
  min-height: 40px;
  border-radius: 20px;
  align-items: center;
  background-color: var(--color-theme-back-component);
  width: min(280px, 100%);
  color: var(--color-btn-arrow);
}
@media screen and (max-width: 767px) {
  .btn-arrow {
    width: min(195px, 100%);
    font-size: 14px;
    padding-right: 1.5em;
  }
}
.btn-arrow--white {
  --color-btn-arrow: #FBFBFB;
  background-color: transparent;
}
.btn-arrow--secondary {
  --color-btn-arrow: var(--color-theme-secondary);
  background-color: transparent;
}
.btn-arrow--top {
  --color-btn-arrow: #187FC3;
  background-color: transparent;
}
.btn-arrow--purple {
  --color-btn-arrow: #A639D2;
  background-color: transparent;
}
.btn-arrow--red {
  --color-btn-arrow: #C62626;
  background-color: transparent;
}
.btn-arrow--orange {
  --color-btn-arrow: #E47418;
  background-color: transparent;
}
.btn-arrow--service {
  --color-btn-arrow: #1A7AB9;
  background-color: transparent;
}
.btn-arrow--primary {
  --color-btn-arrow: var(--color-primary);
  background-color: transparent;
}
.btn-arrow--spmenu {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 14px;
  -moz-column-gap: 16px;
       column-gap: 16px;
  padding-left: 1.5em;
  padding-right: 1.5em;
}

.btn-arrow__text {
  overflow: hidden;
  line-height: 1.3;
  color: transparent;
  font-weight: 700;
  text-shadow: 0 0 0 var(--color-btn-arrow), 0 1.5em 0 var(--color-btn-arrow);
  transition: text-shadow 0.3s;
  letter-spacing: 0.1em;
  translate: 0 0.1em;
}

@media not screen and (max-width: 767px) {
  .btn-arrow:hover .btn-arrow__text {
    text-shadow: 0 -1.5em 0 var(--color-btn-arrow), 0 0 0 var(--color-btn-arrow);
  }
}
.btn-submit {
  cursor: pointer;
  font-size: 16px;
  letter-spacing: 0.1em;
  color: var(--color-theme-primary);
  border-radius: 20px;
  display: grid;
  place-items: center;
  transition: color 0.3s, background-color 0.3s;
  border: 2px solid var(--color-primary);
  width: 100%;
  max-width: 248px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .btn-submit {
    max-width: 192px;
  }
}
.btn-submit:hover {
  background-color: var(--color-theme-primary);
  color: white;
}

.award-card__category {
  margin-top: 32px;
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
  flex-wrap: wrap;
  row-gap: 8px;
}
@media screen and (max-width: 767px) {
  .award-card__category {
    margin-top: 22px;
  }
}

.award-card__thumbnail {
  aspect-ratio: 620/372;
  overflow: hidden;
  border-radius: 40px;
  border: 2px solid transparent;
  transition: border-color 0.2s;
}
@media screen and (max-width: 767px) {
  .award-card__thumbnail {
    border-radius: 20px;
  }
}

.award-card__img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: transform 0.2s;
}

@media not screen and (max-width: 767px) {
  .award-card__link:hover .award-card__thumbnail,
  .award-card__thumbnail.is-active {
    border-color: var(--color-secondary);
  }
}
@media not screen and (max-width: 767px) {
  .award-card__link:hover .award-card__img {
    transform: scale(0.97);
  }
}
.award-card__title {
  margin-top: 45px;
  font-size: 24px;
  letter-spacing: 0.15em;
  line-height: 1.5;
  font-weight: 700;
  text-align: justify;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 3em;
}
@media screen and (max-width: 767px) {
  .award-card__title {
    font-size: 14px;
    line-height: 1.2857142857;
    margin-top: 24px;
  }
}

.award-card__text {
  margin-top: 16px;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .award-card__text {
    font-size: 12px;
    line-height: 2;
    margin-top: 12px;
  }
}

.case-card__category {
  margin-top: 32px;
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
  flex-wrap: wrap;
  row-gap: 8px;
}
@media screen and (max-width: 767px) {
  .case-card__category {
    margin-top: 22px;
  }
}

.case-card__thumbnail {
  aspect-ratio: 620/372;
  overflow: hidden;
  border-radius: 40px;
  border: 2px solid transparent;
  transition: border-color 0.2s;
}

.case-card__img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: transform 0.2s;
}

@media not screen and (max-width: 767px) {
  .case-card__link:hover .case-card__thumbnail,
  .case-card__thumbnail.is-active {
    border-color: var(--color-secondary);
  }
}
@media not screen and (max-width: 767px) {
  .case-card__link:hover .case-card__img {
    transform: scale(0.97);
  }
}
.case-card__title {
  margin-top: 24px;
  font-size: 24px;
  letter-spacing: 0.15em;
  line-height: 1.3333333333;
  font-weight: 700;
  text-align: justify;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 3em;
}
@media screen and (max-width: 767px) {
  .case-card__title {
    font-size: 14px;
    line-height: 1.2857142857;
    margin-top: 15px;
  }
}

.case-cardArchive__body {
  padding-top: 12px;
}

.case-cardArchive__category {
  margin-top: 3px;
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  flex-wrap: wrap;
  row-gap: 8px;
}

.case-cardArchive__date {
  font-size: 16px;
  line-height: 1.75;
}

.case-cardArchive__thumbnail {
  aspect-ratio: 300/200;
  overflow: hidden;
  border-radius: 10px;
  border: 2px solid transparent;
  transition: border-color 0.2s;
}
@media screen and (max-width: 767px) {
  .case-cardArchive__thumbnail {
    aspect-ratio: 335/200;
  }
}

.case-cardArchive__img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: transform 0.2s;
}

@media not screen and (max-width: 767px) {
  .case-cardArchive__link:hover .case-cardArchive__thumbnail,
  .case-cardArchive__thumbnail.is-active {
    border-color: var(--color-secondary);
  }
}
@media not screen and (max-width: 767px) {
  .case-cardArchive__link:hover .case-cardArchive__img {
    transform: scale(0.97);
  }
}
.case-cardArchive__title {
  margin-top: 24px;
  font-size: 16px;
  line-height: 1.75;
  text-align: justify;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 5.25em;
}

.download-cardArchive__body {
  padding-top: 16px;
}

.download-cardArchive__thumbnail {
  aspect-ratio: 300/170;
  overflow: hidden;
  border-radius: 10px;
  border: 2px solid transparent;
  transition: border-color 0.2s;
}
.download-cardArchive__thumbnailImg {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: transform 0.2s;
}

.download-cardArchive__title {
  font-size: 18px;
  line-height: 2.2222222222;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 6.6666666667em;
}
@media screen and (max-width: 767px) {
  .download-cardArchive__title {
    font-size: 14px;
    line-height: 1.7142857143;
    max-height: 5.1428571429em;
  }
}

.download-cardArchive__text {
  font-size: 16px;
  line-height: 2;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .download-cardArchive__text {
    font-size: 12px;
    line-height: 2;
  }
}

.download-cardArchive__button {
  margin-top: 24px;
  display: grid;
  place-items: center;
}

.download-cardRelated__body {
  padding-top: 16px;
}

.download-cardRelated__thumbnail {
  aspect-ratio: 300/170;
  overflow: hidden;
  border-radius: 10px;
  border: 2px solid transparent;
  transition: border-color 0.2s;
}
.download-cardRelated__thumbnailImg {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: transform 0.2s;
}

@media not screen and (max-width: 767px) {
  .download-cardRelated__link:hover .download-cardRelated__thumbnail,
  .download-cardRelated__thumbnail.is-active {
    border-color: var(--color-secondary);
  }
}
@media not screen and (max-width: 767px) {
  .download-cardRelated__link:hover .download-cardRelated__thumbnailImg {
    transform: scale(0.97);
  }
}
.download-cardRelated__title {
  font-size: 18px;
  line-height: 2.2222222222;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 6.6666666667em;
}
@media screen and (max-width: 767px) {
  .download-cardRelated__title {
    font-size: 14px;
    line-height: 1.7142857143;
    max-height: 5.1428571429em;
  }
}

.download-cardRelated__text {
  font-size: 16px;
  line-height: 2;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .download-cardRelated__text {
    font-size: 12px;
    line-height: 2;
  }
}

.download-cardRelated__button {
  margin-top: 24px;
  display: grid;
  place-items: center;
}

.common-elevator {
  position: fixed;
  left: 1.71875%;
  top: 50%;
  translate: 0 -50%;
  z-index: 10;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .common-elevator {
    display: none;
  }
}

.mod-elevator {
  position: relative;
}

.mod-elevator__list {
  display: grid;
  row-gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mod-elevator__item {
  width: 20px;
  height: 2px;
  background: var(--color-primary);
  border-radius: 1px;
  transition: transform 0.3s, opacity 0.3s;
  opacity: 0.5;
}

.mod-elevator__item[aria-current=true] {
  transform: scaleX(2.2);
  opacity: 1;
}

.mod-elevator__dotWrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 2px;
  transform: translateY(0px);
  transition: transform 0.3s;
  pointer-events: none;
}

.mod-elevator__dot {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: #fff;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .mod-elevator__item,
  .mod-elevator__dotWrap {
    transition: none;
  }
}
.common-faq {
  padding-bottom: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 200px;
}
@media screen and (max-width: 767px) {
  .common-faq--education {
    padding-top: 140px;
  }
}
@media screen and (max-width: 767px) {
  .common-faq {
    padding-bottom: 110px;
    padding-top: 140px;
  }
}

.common-faq__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.common-faq__body {
  max-width: 944px;
  margin-left: auto;
  margin-right: auto;
}

.common-faq__list {
  margin-top: 80px;
  display: grid;
  row-gap: 32px;
}
@media screen and (max-width: 767px) {
  .common-faq__list {
    margin-top: 45px;
    row-gap: 25px;
  }
}

.common-navService {
  position: fixed;
  right: 4.5%;
  top: 85px;
  z-index: 3;
  transform: translate3d(100%, 0, 0) rotate(90deg);
  transform-origin: 0% 100%;
}
@media screen and (max-width: 767px) {
  .common-navService {
    display: none;
  }
}

.common-pageHead {
  padding-top: 80px;
  padding-bottom: 120px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  position: relative;
  overflow: clip;
}
.common-pageHead:has(.common-pageHead__bg) {
  margin-top: calc(var(--height-header) * -1px - 40px);
  padding-top: calc(var(--height-header) * 1px + 40px + 80px);
  padding-bottom: 140px;
}
@media screen and (max-width: 767px) {
  .common-pageHead:has(.common-pageHead__bg) {
    padding-top: calc(var(--height-header) * 1px + 40px + 40px);
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .common-pageHead.samurai {
    padding-bottom: 120px !important;
  }
}
.common-pageHead--article {
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .common-pageHead--article .common-pageHead__breadcrumb {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .common-pageHead--article .common-pageHead__heading {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .common-pageHead--article {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .common-pageHead--article:has(> .common-pageHead__breadcrumb):not(:has(> .common-pageHead__heading)) {
    padding-bottom: 40px;
  }
}
.common-pageHead--simple {
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .common-pageHead--simple .common-pageHead__breadcrumb {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .common-pageHead--simple .common-pageHead__heading {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .common-pageHead--simple {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .common-pageHead--simple:has(> .common-pageHead__breadcrumb):not(:has(> .common-pageHead__heading)) {
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .common-pageHead {
    padding-bottom: 40px;
  }
}
.common-pageHead:has(> .common-pageHead__breadcrumb):not(:has(> .common-pageHead__heading)) {
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .common-pageHead:has(> .common-pageHead__breadcrumb):not(:has(> .common-pageHead__heading)) {
    padding-bottom: 40px;
  }
}

.common-pageHead__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.common-pageHead__bgImg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.common-pageHead__cover {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to bottom, #187FC3, #ABC2D1);
  mix-blend-mode: color;
  opacity: 0.8;
}

.common-pageHead__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.common-pageHead__breadcrumb {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .common-pageHead__breadcrumb {
    display: none;
  }
}

.common-pageHead__heading {
  margin-top: 60px;
  font-size: 32px;
  line-height: 1.3125;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .common-pageHead__heading {
    font-size: 24px;
    line-height: 1.5;
    margin-top: 25px;
  }
}
.common-pageHead__heading-samurai {
  max-width: 303px;
  width: 23.6vw;
  aspect-ratio: 303/190;
  margin: 130px auto 40px;
  position: relative;
  z-index: 99;
}
@media screen and (max-width: 767px) {
  .common-pageHead__heading-samurai {
    width: 200px;
    height: 125px;
    margin: 128px auto 20px;
  }
}
.common-pageHead__heading-samurai img {
  width: 100%;
  height: 100%;
}

.common-pageHead__intro {
  margin-top: 40px;
  font-size: 18px;
  line-height: 2.2222222222;
  text-align: center;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 2;
  max-width: 944px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .common-pageHead__intro {
    font-size: 12px;
    line-height: 2;
    margin-top: 24px;
  }
}
.common-pageHead__intro.samurai {
  margin-top: 0;
  padding-top: 40px;
}
@media screen and (max-width: 767px) {
  .common-pageHead__intro.samurai {
    padding-top: 0;
  }
}

.common-pageHead__bgCont-left {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 450px;
}
@media screen and (max-width: 767px) {
  .common-pageHead__bgCont-left {
    height: 200px;
    top: 29%;
  }
}
.common-pageHead__bgCont-left img {
  height: 100%;
}

.common-pageHead__bgCont-right {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 450px;
}
@media screen and (max-width: 767px) {
  .common-pageHead__bgCont-right {
    height: 200px;
    top: 83%;
  }
}
.common-pageHead__bgCont-right img {
  height: 100%;
}

.common-pageHead__bgLeft-path {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  max-width: 425px;
  width: 33vw;
}
@media screen and (max-width: 767px) {
  .common-pageHead__bgLeft-path {
    max-width: unset;
    width: 52vw;
    top: 29%;
  }
}
.common-pageHead__bgLeft-path img {
  margin: 0 auto 0 0;
}

.common-pageHead__bgRight-path {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  max-width: 425px;
  width: 33vw;
}
@media screen and (max-width: 767px) {
  .common-pageHead__bgRight-path {
    max-width: unset;
    width: 52vw;
    top: 83%;
  }
}
.common-pageHead__bgRight-path img {
  margin: 0 0 0 auto;
}

.common-pageHead .bg-path-pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .common-pageHead .bg-path-pc {
    display: none;
  }
}
.common-pageHead .bg-path-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .common-pageHead .bg-path-sp {
    display: block;
  }
}

@keyframes line-v-loop {
  0% {
    transform: translateX(-50%) scaleY(0);
    transform-origin: top;
  }
  20% {
    transform: translateX(-50%) scaleY(1);
    transform-origin: top;
  }
  40% {
    transform: translateX(-50%) scaleY(1);
    transform-origin: bottom;
  }
  60% {
    transform: translateX(-50%) scaleY(0);
    transform-origin: bottom;
  }
  100% {
    transform: translateX(-50%) scaleY(0);
    transform-origin: bottom;
  }
}
.common-pageHead__fs {
  padding-bottom: 132px;
  margin-top: 60px;
  margin-bottom: 24px;
  position: relative;
}
.common-pageHead__fs::before {
  content: "";
  display: block;
  background: #f3aa08;
  width: 2px;
  height: 116px;
  position: absolute;
  left: 50%;
  bottom: 0;
  animation: line-v-loop 4s infinite ease-in-out;
}

.common-pageHead__fs-logo {
  line-height: 1;
  width: 425px;
  margin: 0 auto 80px;
}
@media screen and (max-width: 767px) {
  .common-pageHead__fs-logo {
    width: 240px;
    margin-bottom: 64px;
  }
}
.common-pageHead__fs-logo svg {
  width: 100%;
  height: 100%;
  display: block;
}

.common-pageHead__fs-concept {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .common-pageHead__fs-concept {
    font-size: 22px;
    line-height: 1.4545454545;
  }
}

.common-pageSecond {
  padding-top: 80px;
  padding-bottom: 215px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .common-pageSecond {
    padding-top: 5px;
    padding-bottom: 135px;
  }
}
.common-pageSecond--strength {
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .common-pageSecond--strength {
    padding-top: 35px;
    padding-bottom: 40px;
  }
}

.common-pageSecond__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.common-pageSecond__catch {
  font-size: 42px;
  line-height: 1.1428571429;
  color: var(--color-secondary);
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .common-pageSecond__catch {
    font-size: 22px;
    line-height: 1.4545454545;
    margin-left: -0.5em;
    margin-right: -0.5em;
  }
}

.common-pageSecond__text {
  font-size: 18px;
  line-height: 2.2222222222;
  text-align: center;
  letter-spacing: 0.1em;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .common-pageSecond__text {
    font-size: 12px;
    line-height: 2;
    margin-top: 20px;
  }
}

.common-pageSecond__banner {
  width: 100%;
  display: block;
  margin: 80px auto 0;
}
@media screen and (max-width: 767px) {
  .common-pageSecond__banner {
    margin-top: 40px;
  }
}
.common-pageSecond__banner img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.common-pageSecond__button {
  display: flex;
  -moz-column-gap: 60px;
       column-gap: 60px;
  justify-content: center;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .common-pageSecond__button {
    margin-top: 20px;
    flex-direction: column;
    row-gap: 16px;
    align-items: center;
  }
}

.common-pageSecond__breadcrumb {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .common-pageSecond__breadcrumb {
    margin-bottom: 40px;
  }
}

.strength-cta {
  padding-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .strength-cta {
    padding-bottom: 70px;
  }
}

.footer-navSp__list {
  display: grid;
  grid-template-columns: 2.4fr 1fr;
  -moz-column-gap: 20px;
       column-gap: 20px;
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  row-gap: 15px;
  -moz-column-gap: 10px;
       column-gap: 10px;
}

.footer-navSp__link {
  font-size: 14px;
  line-height: 1.4285714286;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.future-cardArchive__body {
  padding-top: 12px;
}

.future-cardArchive__meta {
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 16px;
       column-gap: 16px;
  align-items: center;
}

.future-cardArchive__category {
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  flex-wrap: wrap;
  row-gap: 8px;
}
.future-cardArchive__category .btn-roundCategory {
  min-width: 125px;
}

.future-cardArchive__category-item {
  color: var(--color-theme-secondary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6153846154;
  letter-spacing: 0.1em;
  padding: 0 8.5px;
  border-bottom-color: var(--color-theme-secondary);
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

.future-cardArchive__date {
  font-size: 16px;
  line-height: 1.75;
}

.future-cardArchive__thumbnail {
  aspect-ratio: 7/10;
  overflow: hidden;
  border-radius: 10px;
  border: 2px solid transparent;
  transition: border-color 0.2s;
}
.future-cardArchive__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.future-cardArchive__img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: transform 0.2s;
}

@media not screen and (max-width: 767px) {
  .future-cardArchive__link:hover .future-cardArchive__thumbnail,
  .future-cardArchive__thumbnail.is-active {
    border-color: var(--color-theme-secondary);
  }
}
@media not screen and (max-width: 767px) {
  .future-cardArchive__link:hover .future-cardArchive__img {
    transform: scale(0.97);
  }
}
.future-cardArchive__title {
  margin-top: 8px;
  font-size: 16px;
  line-height: 1.75;
  text-align: justify;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 5.25em;
}

.future-cardGeneral__inner {
  border: solid 2px #FBFBFB;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
}

.future-cardGeneral__head {
  aspect-ratio: 300/184;
}
.future-cardGeneral__head img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.future-cardGeneral__body {
  padding: 16px 16px 24px;
}

.future-cardGeneral__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 16px;
}

.future-cardGeneral__category {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  max-width: 220px;
  width: 100%;
  padding: 11px 12px;
  margin: 0 auto;
  display: block;
  border: solid 2px #FBFBFB;
  border-radius: 40px;
}

.future-cardSlider__body {
  padding-top: 12px;
}

.future-cardSlider__meta {
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
  align-items: center;
  padding-right: 10px;
}
@media screen and (max-width: 767px) {
  .future-cardSlider__meta {
    justify-content: space-between;
  }
}

.future-cardSlider__category {
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  flex-wrap: wrap;
  row-gap: 8px;
}
.future-cardSlider__category .btn-roundCategory {
  min-width: 125px;
}

.future-cardSlider__date {
  font-size: 16px;
  line-height: 1.75;
}

.future-cardSlider__thumbnail {
  aspect-ratio: 280/400;
  overflow: hidden;
  border-radius: 10px;
  border: 2px solid transparent;
  transition: border-color 0.2s;
}

.future-cardSlider__img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: transform 0.2s;
}

@media not screen and (max-width: 767px) {
  .future-cardSlider__link:hover .future-cardSlider__thumbnail,
  .future-cardSlider__thumbnail.is-active {
    border-color: var(--color-theme-secondary);
  }
}
@media not screen and (max-width: 767px) {
  .future-cardSlider__link:hover .future-cardSlider__img {
    transform: scale(0.97);
  }
}
.future-cardSlider__title {
  margin-top: 8px;
  font-size: 14px;
  line-height: 2;
  text-align: justify;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 6em;
}

.header-nav {
  display: flex;
  -moz-column-gap: 32px;
       column-gap: 32px;
  position: relative;
  border-radius: 40px;
  padding-left: 35px;
  padding-right: 35px;
  min-height: 48px;
  background: transparent;
  --panel-h: 0px;
}

.header-nav::before {
  content: "";
  position: absolute;
  inset: 0;
  height: calc(100% + var(--panel-h));
  background: var(--color-header-nav-back);
  border-radius: 40px;
  transform-origin: top;
  transition: height 0.25s ease;
  z-index: 0;
}

.header-nav__list {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  -moz-column-gap: 23px;
       column-gap: 23px;
  min-height: 48px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 1280px) {
  .header-nav__list {
    -moz-column-gap: 1.7968749vw;
         column-gap: 1.7968749vw;
  }
}

.header-nav__item {
  position: relative;
}

.header-nav__item.is-has-child > .header-nav__link {
  position: relative;
  padding-right: 20px;
}

.header-nav__item.is-has-child > .header-nav__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 14px;
  height: 8px;
  color: var(--color-theme-secondary);
  transform: translateY(-50%) scaleY(1);
  transform-origin: center;
  transition: transform 0.3s ease;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath fill='black' d='M6.999 7.999c-.256 0-.512-.098-.707-.293L.999 2.414A1 1 0 0 1 2.413 1l4.586 4.586L11.585 1A1 1 0 1 1 13 2.414L7.706 7.706a.997.997 0 0 1-.707.293Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath fill='black' d='M6.999 7.999c-.256 0-.512-.098-.707-.293L.999 2.414A1 1 0 0 1 2.413 1l4.586 4.586L11.585 1A1 1 0 1 1 13 2.414L7.706 7.706a.997.997 0 0 1-.707.293Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
}

.header-nav__item.is-open > .header-nav__link::after {
  transform: translateY(-50%) scaleY(-1);
}

.header-nav__panel {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  padding: 12px 0;
  background: transparent;
  border: none;
  box-shadow: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  z-index: 1;
}

.header-nav__panel.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.header-nav__panel .header-nav__child {
  display: none;
  grid-template-columns: 1fr 1fr;
  padding-left: 4%;
  padding-right: 4%;
  list-style: none;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.header-nav__panel .header-nav__child.is-active {
  display: grid;
  opacity: 1;
  transform: translateY(0);
}

.header-nav__panel .header-nav__child > *:nth-child(2n+1) {
  border-right: 2px solid var(--color-theme-secondary);
}

.header-nav__panel .header-nav__child li a {
  display: block;
  padding: 4px 16px;
  font-size: 14px;
  white-space: nowrap;
  transition: color 0.2s;
}

.header-nav__panel .header-nav__child li a:hover,
.header-nav__panel .header-nav__child li a:focus {
  color: var(--color-theme-primary);
}

.header-nav__lang {
  color: #BCBCBC;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  position: relative;
  -moz-column-gap: 12px;
       column-gap: 12px;
}
.header-nav__lang:before {
  content: "/";
  color: #3C3C3C;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-75%, -50%);
}

.header-nav__lang-item.is-active {
  color: #409A78;
}

.heading-top {
  position: relative;
  padding-left: 35px;
  margin-left: -18px;
}
@media screen and (max-width: 767px) {
  .heading-top {
    padding-left: 30px;
    margin-left: unset;
  }
}

.heading-top::before {
  border: 2px solid var(--color-secondary);
  content: "";
  border-radius: 999em;
  position: absolute;
  width: 16px;
  height: 16px;
  left: 0;
  top: 50%;
}

.heading-top:not(:has(.heading-top__en))::before {
  top: 25%;
}

.heading-top::after {
  height: 2px;
  background-color: var(--color-secondary);
  width: 100vw;
  position: absolute;
  top: calc(50% + 7px);
  left: 0;
  content: "";
  letter-spacing: 0.1em;
  translate: -100%;
}

.heading-top:not(:has(.heading-top__en))::after {
  top: calc(25% + 7px);
}

.heading-top__en {
  color: var(--color-secondary);
  letter-spacing: 0.1em;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.heading-top__ja {
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.15em;
  font-weight: 400;
  margin-top: 3px;
}

.heading-bar {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.heading-bar__bar {
  height: 72px;
  width: 2px;
  margin-left: auto;
  margin-right: auto;
  background-color: var(--color-secondary);
  position: relative;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .heading-bar__bar {
    height: 41px;
    margin-bottom: 6px;
  }
}

.heading-bar__bar::before {
  width: 16px;
  height: 16px;
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% -100%;
  border-radius: 8px;
  border: 2px solid var(--color-secondary);
}

.heading-bar__text {
  font-size: 42px;
  line-height: 1.1428571429;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .heading-bar__text {
    font-size: 22px;
    line-height: 1.4545454545;
  }
}

.label-bar {
  padding-left: 0.5em;
  padding-right: 0.5em;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 2px solid currentColor;
  color: var(--color-theme-secondary);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.6153846154;
  letter-spacing: 0.1em;
}

.label-case {
  display: grid;
  text-align: center;
  min-height: 25px;
  background-color: white;
  min-width: 75px;
  width: -moz-fit-content;
  width: fit-content;
  border: 2px solid currentColor;
  color: var(--color-secondary);
  font-weight: 700;
  font-size: 10px;
  line-height: 2.1;
  letter-spacing: 0.1em;
  border-radius: 20px;
  padding-left: 1.5em;
  padding-right: 1.5em;
}
.label-case--transparent {
  background-color: transparent;
}

.label-category {
  display: grid;
  text-align: center;
  min-height: 24px;
  background-color: white;
  min-width: 144px;
  width: -moz-fit-content;
  width: fit-content;
  border: 2px solid currentColor;
  color: var(--color-secondary);
  font-weight: 700;
  font-size: 12px;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  border-radius: 12px;
  padding-left: 0.1em;
  padding-right: 0.1em;
}
@media screen and (max-width: 767px) {
  .label-category {
    font-size: 10px;
    min-width: 75px;
    line-height: 2.1;
    padding-left: 1em;
    padding-right: 1em;
    font-weight: 400;
  }
}
.label-category--transparent {
  background-color: transparent;
}

.label-news {
  display: grid;
  text-align: center;
  min-height: 25px;
  background-color: white;
  min-width: 75px;
  width: -moz-fit-content;
  width: fit-content;
  border: 2px solid currentColor;
  color: var(--color-secondary);
  font-weight: 700;
  font-size: 10px;
  line-height: 2.1;
  letter-spacing: 0.1em;
  border-radius: 20px;
  padding-left: 1.5em;
  padding-right: 1.5em;
}
.label-news--transparent {
  background-color: transparent;
}

.mod-breadcrumb {
  font-size: 13px;
  line-height: 1.3846153846;
  letter-spacing: 0.1em;
}

.mod-breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.mod-breadcrumb__item {
  display: flex;
  align-items: center;
  color: var(--color-text);
}

.mod-breadcrumb__item + .mod-breadcrumb__item::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 11px;
  margin-right: 8px;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='11' viewBox='0 0 6 11'%3E%3Cpath fill='black' d='M1.05 0.5c-.2 0-.4.08-.55.23-.3.3-.3.8 0 1.1L3.67 5.5.5 9.17c-.3.3-.3.8 0 1.1.3.3.8.3 1.1 0l3.72-4.22c.28-.28.28-.73 0-1.01L1.6.73C1.44.58 1.25.5 1.05.5Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='11' viewBox='0 0 6 11'%3E%3Cpath fill='black' d='M1.05 0.5c-.2 0-.4.08-.55.23-.3.3-.3.8 0 1.1L3.67 5.5.5 9.17c-.3.3-.3.8 0 1.1.3.3.8.3 1.1 0l3.72-4.22c.28-.28.28-.73 0-1.01L1.6.73C1.44.58 1.25.5 1.05.5Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
}

.mod-breadcrumb__link {
  color: var(--color-breadcrumb);
}

.mod-breadcrumb__item[aria-current=page] {
  color: var(--color-text);
}

.mod-pagination__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 15px;
       column-gap: 15px;
  row-gap: 15px;
}
@media screen and (max-width: 767px) {
  .mod-pagination__list {
    -moz-column-gap: 10px;
         column-gap: 10px;
    row-gap: 10px;
  }
}

.mod-pagination__item {
  height: 42px;
  display: grid;
  place-items: center;
}

.mod-pagination__item .page-numbers {
  font-size: 18px;
  line-height: 1.3333333333;
  color: #B8B8B8;
  font-weight: 700;
  min-width: 24px;
  display: grid;
  place-items: center;
}

.mod-pagination__item .page-numbers.current {
  border-bottom: 2px solid var(--color-secondary);
  color: #3C3C3C;
}

.mod-pagination__item .page-numbers.next[href] .mod-pagination__arrow :is(rect, path) {
  stroke: var(--color-secondary);
}

.mod-pagination__item .page-numbers.prev[href] .mod-pagination__arrow :is(rect, path) {
  stroke: var(--color-secondary);
}

.mod-pagination__arrowCircle {
  transform-box: fill-box !important;
  transform-origin: center !important;
  transition: transform 0.25s ease !important;
}

@media not screen and (max-width: 767px) {
  .page-numbers[href] .mod-pagination__arrow:hover .mod-pagination__arrowCircle,
  .page-numbers[href] .mod-pagination__arrow-:focus-visible .mod-pagination__arrowCircle,
  .page-numbers[href] .mod-pagination__arrow:hover .mod-pagination__arrowCircle,
  .page-numbers[href] .mod-pagination__arrow:focus-visible .mod-pagination__arrowCircle {
    transform: scale(1.2) !important;
  }
}
.wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 15px;
       column-gap: 15px;
  row-gap: 15px;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi {
    -moz-column-gap: 10px;
         column-gap: 10px;
    row-gap: 10px;
  }
}
.wp-pagenavi span, .wp-pagenavi a {
  color: #B8B8B8;
  font-size: 18px;
  line-height: 1.3333333333;
  font-weight: 700;
  min-width: 24px;
  display: grid;
  place-items: center;
}
.wp-pagenavi span.current {
  border-bottom: 2px solid var(--color-secondary);
  color: #3C3C3C;
}
.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
  height: 42px;
}
.wp-pagenavi .previouspostslink.is-disabled, .wp-pagenavi .nextpostslink.is-disabled {
  pointer-events: none;
}
.wp-pagenavi .previouspostslink.is-disabled svg path, .wp-pagenavi .previouspostslink.is-disabled svg rect, .wp-pagenavi .nextpostslink.is-disabled svg path, .wp-pagenavi .nextpostslink.is-disabled svg rect {
  stroke: #B8B8B8;
}

.previouspostslink :is(rect, path) {
  stroke: var(--color-secondary);
}

.nextpostslink :is(rect, path) {
  stroke: var(--color-secondary);
}

.mod-pagination__arrowCircle {
  transform-box: fill-box !important;
  transform-origin: center !important;
  transition: transform 0.25s ease !important;
}

@media not screen and (max-width: 767px) {
  .previouspostslink:hover .mod-pagination__arrowCircle,
  .previouspostslink:focus-visible .mod-pagination__arrowCircle,
  .nextpostslink:hover .mod-pagination__arrowCircle,
  .nextpostslink:focus-visible .mod-pagination__arrowCircle {
    transform: scale(1.2) !important;
  }
}
@media (max-width: 768px) {
  /* 現在のページの両隣（前1つ・後1つ）だけを表示させる */
  /* これにより「前・今・次」の合計3つが表示されます */
  /* 1ページ目や最終ページ付近での挙動を安定させたい場合、
     もっとシンプルに「3つ目以降を消す」という指定も有効です */
}
.mod-scroll {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 294px;
  width: 27px;
}

.mod-scroll__wrap {
  position: relative;
  height: 100%;
}

.mod-scroll__text {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(calc(-50% + 5px));
  font-size: 18px;
  white-space: nowrap;
  letter-spacing: 0.15em;
  writing-mode: vertical-lr;
  line-height: 1;
  height: 127px;
  width: 27px;
}

.mod-scroll:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 16px;
  height: 16px;
  border-radius: 999em;
  background: var(--color-secondary);
  animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
}

.mod-scroll:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 160px;
  background: var(--color-secondary);
}

/* アニメーションはそのまま */
@keyframes circlemove {
  0% {
    bottom: 160px;
  }
  100% {
    bottom: 0px;
  }
}
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
.mod-tablist {
  display: flex;
  align-items: flex-end;
  -moz-column-gap: 12px;
       column-gap: 12px;
  min-height: 48px;
}
@media screen and (max-width: 1024px) {
  .mod-tablist {
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
}
.mod-tablist--article {
  -moz-column-gap: 24px;
       column-gap: 24px;
  min-height: 64px;
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  .mod-tablist--article {
    min-height: 32px;
  }
}
.mod-tablist--article .mod-tablist__button {
  min-width: min(240px, 24%);
  min-height: 48px;
  font-size: 24px;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  padding-top: 12px;
}
@media screen and (max-width: 1024px) {
  .mod-tablist--article .mod-tablist__button {
    min-width: 152px;
    min-height: 27px;
    font-size: 14px;
    line-height: 1.5;
    padding-top: 4px;
  }
}
.mod-tablist--article .mod-tablist__button[aria-pressed=true],
.mod-tablist--article .mod-tablist__button.is-active {
  min-height: 64px;
}
@media screen and (max-width: 1024px) {
  .mod-tablist--article .mod-tablist__button[aria-pressed=true],
  .mod-tablist--article .mod-tablist__button.is-active {
    min-height: 32px;
  }
}
.mod-tablist--flex-1 > * {
  flex: 1;
}
.mod-tablist--flex-start {
  justify-content: flex-start;
}

.mod-tablist__tab {
  min-width: 184px;
  text-align: center;
  min-height: 32px;
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--color-primary);
  border-left: 2px solid currentColor;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  transition: min-height 0.2s, opacity 0.2s;
  opacity: 0.6;
  letter-spacing: 0.1em;
  line-height: 1.1;
  padding-top: 4px;
}
@media screen and (max-width: 1024px) {
  .mod-tablist__tab {
    min-height: 21px;
    font-size: 14px;
    min-width: 152px;
    flex: 1;
  }
}

.mod-tablist__tab[aria-selected=true] {
  min-height: 48px;
  opacity: 1;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .mod-tablist__tab[aria-selected=true] {
    min-height: 32px;
  }
}

.mod-tablist__button {
  min-width: 184px;
  text-align: center;
  min-height: 32px;
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--color-primary);
  border-left: 2px solid currentColor;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  transition: min-height 0.2s, opacity 0.2s;
  opacity: 0.6;
  letter-spacing: 0.1em;
  line-height: 1.1;
  padding-top: 4px;
  /* button リセット（必要最低限） */
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border-bottom: 0;
  padding-inline: 0;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .mod-tablist__button {
    min-height: 21px;
    font-size: 14px;
    min-width: 152px;
    flex: 1;
  }
}

.mod-tablist__button[aria-pressed=true],
.mod-tablist__button.is-active {
  min-height: 48px;
  opacity: 1;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .mod-tablist__button[aria-pressed=true],
  .mod-tablist__button.is-active {
    min-height: 32px;
  }
}

/* キーボード操作時の見た目（任意だけど推奨） */
.mod-tablist__button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}

.model-example-slider {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 80px;
       column-gap: 80px;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .model-example-slider {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }
}

.model-example-slider__left {
  position: relative;
}

.model-example-slider__thumbs {
  position: relative;
  width: 456px;
  height: 430px;
  margin-inline: auto;
}
@media screen and (max-width: 1024px) {
  .model-example-slider__thumbs {
    width: 262px;
    height: 247px;
  }
}

.model-example-sliderThumb {
  position: absolute;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  border: none;
  padding: 0;
  cursor: pointer;
  display: grid;
  place-items: center;
  background-color: color-mix(in srgb, #B2B2B2 50%, transparent);
  transition: transform 0.25s ease, background-color 0.25s ease, z-index 0.25s ease;
}
@media screen and (max-width: 1024px) {
  .model-example-sliderThumb {
    width: 143px;
    height: 143px;
  }
}

/* 上 */
.model-example-sliderThumb:nth-child(1) {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

/* 左下 */
.model-example-sliderThumb:nth-child(2) {
  bottom: 0;
  left: 0;
  z-index: 1;
}

/* 右下 */
.model-example-sliderThumb:nth-child(3) {
  bottom: 0;
  right: 0;
  z-index: 1;
}

/* アクティブ共通 */
.model-example-sliderThumb.is-active {
  filter: drop-shadow(0 4px 4px color-mix(in srgb, black 25%, transparent));
  z-index: 3;
}

/* アクティブ時：順番ごとの「外側の円」色 */
.model-example-sliderThumb.is-active:nth-child(1) {
  background-color: color-mix(in srgb, var(--color-secondary) 100%, transparent);
}

.model-example-sliderThumb.is-active:nth-child(2) {
  background-color: color-mix(in srgb, #AACE36 100%, transparent);
}

.model-example-sliderThumb.is-active:nth-child(3) {
  background-color: color-mix(in srgb, #FF4B00 100%, transparent);
}

/*
  dot（内側）は “全面塗りつぶし” にしない。
  ここでは「枠線リング + 少し拡大」にしています。
*/
.model-example-sliderThumb__dot {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: transparent;
  border: 2px solid transparent;
  transition: border-color 0.25s ease, transform 0.25s ease;
}

.model-example-slider__arrows {
  margin-top: 25px;
  display: flex;
  justify-content: center;
  gap: 80px;
  color: var(--color-secondary);
}
@media screen and (max-width: 1024px) {
  .model-example-slider__arrows {
    display: none;
  }
}

.model-example-slider__arrow {
  cursor: pointer;
}

.model-example-slider__right {
  min-width: 0;
  padding-left: 4%;
  padding-bottom: 4%;
}

.model-example-slider__contents {
  position: relative;
}
.model-example-slider__contents .swiper-slide-active:nth-of-type(1) .model-example-sliderItem__heading {
  border-bottom: 2px solid var(--color-secondary);
}
.model-example-slider__contents .swiper-slide-active:nth-of-type(2) .model-example-sliderItem__heading {
  border-bottom: 2px solid #AACE36;
}
.model-example-slider__contents .swiper-slide-active:nth-of-type(3) .model-example-sliderItem__heading {
  border-bottom: 2px solid #FF4B00;
}

.model-example-sliderItem__heading {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.125;
  letter-spacing: 0.15em;
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: 5px;
}
@media screen and (max-width: 1024px) {
  .model-example-sliderItem__heading {
    font-size: 18px;
    line-height: 1.3333333333;
    text-align: center;
    padding-left: 1em;
    padding-right: 1em;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 20px;
    margin-top: 30px;
  }
}

.model-example-sliderItem__text {
  line-height: 2;
  letter-spacing: 0.1em;
  margin-top: 28px;
}
@media screen and (max-width: 1024px) {
  .model-example-sliderItem__text {
    margin-top: 25px;
    font-size: 12px;
    line-height: 2;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.model-example-sliderItem__button {
  margin-top: 50px;
}
@media screen and (max-width: 1024px) {
  .model-example-sliderItem__button {
    margin-top: 20px;
    display: grid;
    place-items: center;
  }
}

.nav-side__list {
  display: flex;
  row-gap: 10px;
}

.nav-side__item {
  display: flex;
  justify-content: center;
}

.nav-side__item:not(:first-of-type) {
  border-inline-start: 2px solid var(--color-primary);
}

.nav-side__link {
  padding-inline: 0.75em;
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.1em;
  display: inline-block;
  transform-origin: center;
  opacity: 0.6;
}

.nav-side__link[aria-current=page] {
  font-weight: 700;
  opacity: 1;
}

.nav-share__list {
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
  row-gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.news-cardArchive__body {
  padding-top: 12px;
}

.news-cardArchive__meta {
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .news-cardArchive__meta {
    justify-content: space-between;
  }
}

.news-cardArchive__category {
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  flex-wrap: wrap;
  row-gap: 8px;
}
.news-cardArchive__category .btn-roundCategory {
  min-width: 125px;
}

.news-cardArchive__date {
  font-size: 16px;
  line-height: 1.75;
}

.news-cardArchive__thumbnail {
  aspect-ratio: 300/200;
  overflow: hidden;
  border-radius: 10px;
  border: 2px solid transparent;
  transition: border-color 0.2s;
}
@media screen and (max-width: 767px) {
  .news-cardArchive__thumbnail {
    aspect-ratio: 335/200;
  }
}

.news-cardArchive__img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: transform 0.2s;
}

@media not screen and (max-width: 767px) {
  .news-cardArchive__link:hover .news-cardArchive__thumbnail,
  .news-cardArchive__thumbnail.is-active {
    border-color: var(--color-secondary);
  }
}
@media not screen and (max-width: 767px) {
  .news-cardArchive__link:hover .news-cardArchive__img {
    transform: scale(0.97);
  }
}
.news-cardArchive__title {
  margin-top: 8px;
  font-size: 16px;
  line-height: 1.75;
  text-align: justify;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 5.25em;
}

.page-contents, .archive-contents, .single-contents {
  position: relative;
  z-index: 2;
}

/* module > pagination （WP-Pagenavi）
============================================================================ */
.post-row__head {
  display: flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .post-row__head {
    -moz-column-gap: 15px;
         column-gap: 15px;
  }
}

.post-row__date {
  letter-spacing: 0.1em;
  transition: color 0.2s;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .post-row__date {
    font-size: 12px;
    line-height: 1.5;
  }
}

.post-row__category {
  display: flex;
  flex-wrap: wrap;
  row-gap: 8px;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-self: center;
}

.post-row__body {
  display: grid;
  grid-template-columns: 1fr 16px;
  -moz-column-gap: 16px;
       column-gap: 16px;
  align-items: center;
  margin-top: 3px;
}
@media screen and (max-width: 767px) {
  .post-row__body {
    grid-template-columns: 1fr 0px;
    -moz-column-gap: 0;
         column-gap: 0;
  }
}

.post-row__title {
  font-size: 16px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 1.5em;
  transition: color 0.2s;
}
@media screen and (max-width: 767px) {
  .post-row__title {
    font-size: 12px;
    -webkit-line-clamp: 2;
    line-height: 2;
    max-height: 4em;
    margin-top: 10px;
  }
}

.post-row__link:hover .post-row__date {
  color: var(--color-primary);
}

.post-row__link:hover .post-row__title {
  color: var(--color-primary);
}

@media screen and (max-width: 767px) {
  .post-row__arrow {
    display: none;
  }
}
.reviews-card__head {
  position: relative;
}

.reviews-card__logo {
  position: absolute;
  left: 15px;
  top: 15px;
}
@media screen and (max-width: 767px) {
  .reviews-card__logo {
    top: 0;
    left: 0;
  }
}

.reviews-card__name {
  position: absolute;
  left: 15px;
  bottom: 15px;
  width: calc(100% - 30px);
  color: white;
  font-size: 14px;
  letter-spacing: 0.15em;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .reviews-card__name {
    filter: drop-shadow(0 0 4px color-mix(in srgb, black 30%, transparent));
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 3.6em;
  }
}

.reviews-card__body {
  padding-top: 25px;
}
@media screen and (max-width: 767px) {
  .reviews-card__body {
    padding-top: 10px;
  }
}

.reviews-card__title {
  font-size: 18px;
  letter-spacing: 0.15em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 1.5em;
}
@media screen and (max-width: 767px) {
  .reviews-card__title {
    font-size: 14px;
    max-height: 1.5em;
  }
}

.reviews-card__summary {
  margin-top: 25px;
  font-size: 14px;
  line-height: 1.7142857143;
  letter-spacing: 0.15em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 3em;
}
@media screen and (max-width: 767px) {
  .reviews-card__summary {
    font-size: 12px;
    margin-top: 15px;
    max-height: 4em;
    line-height: 2;
  }
}

.reviews-card__thumbnail {
  overflow: hidden;
  height: 272px;
  border-bottom-right-radius: 40px;
  border: 2px solid transparent;
  transition: border-color 0.2s;
  filter: drop-shadow(0 4px 4px color-mix(in srgb, black 25%, transparent));
}
@media screen and (max-width: 767px) {
  .reviews-card__thumbnail {
    height: 200px;
  }
}

.reviews-card__img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: transform 0.2s;
}

@media not screen and (max-width: 767px) {
  .reviews-card__link:hover .reviews-card__thumbnail,
  .reviews-card__thumbnail.is-active {
    border-color: var(--color-secondary);
  }
}
@media not screen and (max-width: 767px) {
  .reviews-card__link:hover .reviews-card__img {
    transform: scale(0.97);
  }
}
.reviews-slider {
  margin-top: 80px;
}
@media screen and (max-width: 1200px) {
  .reviews-slider {
    translate: var(--gutter);
  }
}
@media screen and (max-width: 767px) {
  .reviews-slider {
    translate: unset;
  }
}
.reviews-slider .swiper {
  overflow: visible;
}
.reviews-slider .swiper-slide {
  width: 440px;
}
@media screen and (max-width: 767px) {
  .reviews-slider {
    width: 100%;
    margin-top: 40px;
    margin-right: unset;
  }
}

.reviews-slider__progress {
  margin-top: 40px;
  /* 背景の帯（長めにしておく） */
  /* 中央バー */
}
@media screen and (max-width: 1200px) {
  .reviews-slider__progress {
    translate: calc(-1 * var(--gutter));
  }
}
@media screen and (max-width: 767px) {
  .reviews-slider__progress {
    translate: unset;
  }
}
@media screen and (max-width: 767px) {
  .reviews-slider__progress {
    margin-top: 40px;
  }
}
.reviews-slider__progress .progress-wrapper {
  position: relative;
  width: 200px;
  height: 4px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .reviews-slider__progress .progress-wrapper {
    width: 120px;
  }
}
.reviews-slider__progress .progress-track {
  position: absolute;
  inset: 0;
}
.reviews-slider__progress .progress-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background: white;
  border-radius: 2px;
  transform: translateX(0);
  transition: transform 0.1s linear;
}
.reviews-slider__progress .progress-center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 100%;
  background: var(--color-primary);
  transform: translate(-50%, -50%);
  border-radius: 2px;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .reviews-slider__progress .progress-center {
    width: 120px;
  }
}
.reviews-slider__progress .swiper-pagination.is-center-progress {
  position: relative;
  overflow: hidden;
}
.reviews-slider__progress .swiper-pagination.is-center-progress .swiper-pagination-progressbar-fill {
  width: 200%;
}
.reviews-slider__progress .swiper-pagination.is-center-progress::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 30px;
  background: #333;
  transform: translateX(-50%);
}

.section-cta {
  position: relative;
  color: var(--color-text-reverse);
  z-index: 2;
}

.section-cta__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .section-cta__layout {
    display: grid;
    grid-template-columns: 1fr;
  }
  .section-cta__layout > *:nth-child(2) {
    order: 1;
  }
  .section-cta__layout > *:nth-child(1) {
    order: 2;
  }
}

.section-cta__box {
  padding-top: 60px;
  padding-bottom: 35px;
  padding-left: 4%;
  padding-right: 4%;
}
@media screen and (max-width: 767px) {
  .section-cta__box {
    padding-top: 65px;
  }
}
.section-cta__box--left {
  background-color: var(--color-cta-box-left);
}
.section-cta__box--right {
  background-color: var(--color-cta-box-right);
}

.section-cta__heading {
  color: var(--color-text-reverse);
  text-align: center;
  font-size: 24px;
  letter-spacing: 0.15em;
  line-height: 1.3333333333;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .section-cta__headingBr {
    display: none;
  }
}

.section-cta__text {
  margin-top: 30px;
  text-align: center;
  font-size: 14px;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
  max-width: 440px;
  margin-left: auto;
  margin-right: auto;
}

.section-cta__button {
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
  width: 150px;
  height: 150px;
  display: grid;
  place-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .section-cta__button {
    width: 110px;
    height: 110px;
    margin-top: 60px;
  }
}

/* 円（SVG全体）を拡大対象にする */
.section-cta__circle {
  width: 100%;
  height: 100%;
  grid-area: 1/-1;
  transform: rotate(-90deg) scale(1);
  transform-origin: center;
  transition: transform 0.25s ease;
  will-change: transform;
}

/* 円の線は固定（描画アニメーションなし） */
.section-cta__circleStroke {
  fill: none;
  stroke: var(--color-text-reverse);
  stroke-width: 1;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  animation: none;
}

/* 矢印は中央固定 */
.section-cta__arrow {
  width: 32px;
  grid-area: 1/-1;
}

@media not screen and (max-width: 767px) {
  /* hover / focus-visible で円だけ拡大 */
  .section-cta__box:hover .section-cta__circle,
  .section-cta__box:focus-visible .section-cta__circle {
    transform: rotate(-90deg) scale(1.15);
  }
}
@media not screen and (max-width: 767px) {
  /* 押下時の軽いフィードバック（任意） */
  .section-cta__box:active .section-cta__circle {
    transform: rotate(-90deg) scale(1.1);
  }
}
.section-cta__bottom {
  overflow-x: clip;
  padding-bottom: 120px;
}

.section-cta__marquee {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  will-change: transform;
  animation: marquee-scroll 20s linear infinite;
}

/* 画像 */
.section-cta__marqueeImg {
  flex-shrink: 0;
  margin-right: 80px;
}

@keyframes marquee-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-994px);
  }
}
@media screen and (max-width: 767px) {
  .section-feature {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.section-feature__inner {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.section-feature__intro {
  font-size: 18px;
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
  margin-top: 25px;
  text-align: center;
}

@media screen and (max-width: 1024px) {
  .section-feature__list {
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .section-feature__list {
    margin-top: 40px;
    display: grid;
    row-gap: 60px;
  }
}

.section-featureItem .section-featureItem__head {
  padding-left: 0%;
  padding-right: 9%;
}
@media screen and (max-width: 767px) {
  .section-featureItem .section-featureItem__head {
    padding-right: unset;
    padding-left: unset;
  }
}
.section-featureItem .section-featureItem__body {
  padding-left: 10%;
  padding-right: 17%;
  text-align: right;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .section-featureItem .section-featureItem__body {
    padding-right: unset;
    padding-left: unset;
    text-align: left;
    margin-top: -20px;
  }
}
.section-featureItem .section-featureItem__body.wide {
  padding-right: 14%;
}
.section-featureItem--reverse .section-featureItem__head {
  padding-left: 9%;
  padding-right: 0%;
}
@media screen and (max-width: 767px) {
  .section-featureItem--reverse .section-featureItem__head {
    padding-right: unset;
    padding-left: unset;
  }
}
.section-featureItem--reverse .section-featureItem__body {
  text-align: left;
  padding-left: 17%;
  padding-right: 10%;
}
@media screen and (max-width: 767px) {
  .section-featureItem--reverse .section-featureItem__body {
    padding-right: unset;
    padding-left: unset;
  }
}
.section-featureItem--reverse .section-featureItem__body.wide {
  padding-left: 13%;
}
.section-featureItem--reverse .section-featureItem__layout > *:nth-child(1) {
  order: 3;
  margin-right: -5%;
  margin-left: unset;
}
@media screen and (max-width: 767px) {
  .section-featureItem--reverse .section-featureItem__layout > *:nth-child(1) {
    order: unset;
    margin-right: unset;
  }
}
.section-featureItem--reverse .section-featureItem__layout > *:nth-child(2) {
  order: 2;
}
@media screen and (max-width: 767px) {
  .section-featureItem--reverse .section-featureItem__layout > *:nth-child(2) {
    order: unset;
  }
}
.section-featureItem--reverse .section-featureItem__layout > *:nth-child(3) {
  order: 1;
}
@media screen and (max-width: 767px) {
  .section-featureItem--reverse .section-featureItem__layout > *:nth-child(3) {
    order: unset;
  }
}

.section-feature__item:not(:first-of-type) {
  position: relative;
}

.section-feature__item:nth-of-type(1) {
  margin-top: -50px;
}
@media screen and (max-width: 1024px) {
  .section-feature__item:nth-of-type(1) {
    margin-top: unset;
  }
}
@media screen and (max-width: 767px) {
  .section-feature__item:nth-of-type(1) {
    margin-top: unset;
  }
}

.section-feature__item:nth-of-type(2) {
  margin-top: -100px;
}
@media screen and (max-width: 1024px) {
  .section-feature__item:nth-of-type(2) {
    margin-top: unset;
  }
}
@media screen and (max-width: 767px) {
  .section-feature__item:nth-of-type(2) {
    margin-top: unset;
  }
}

.section-feature__item:nth-of-type(3) {
  margin-top: -150px;
}
@media screen and (max-width: 1024px) {
  .section-feature__item:nth-of-type(3) {
    margin-top: unset;
  }
}
@media screen and (max-width: 767px) {
  .section-feature__item:nth-of-type(3) {
    margin-top: unset;
  }
}

.section-feature__item:nth-of-type(even) .section-featureItem__thumbnailImg {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 562 515'%3E%3Cpath d='M0.585999 172.576C7.39191 54.7726 115.832 -30.4948 246.177 10.3672C296.478 26.1465 326.484 70.3948 379.095 85.1268C453.103 105.846 511.137 115.603 546.094 195.268C593.911 304.221 530.872 438.083 405.286 494.236C300.083 541.277 217.099 504.185 147.028 425.237C111.966 385.736 -9.43921 346.078 0.585999 172.576Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 562 515'%3E%3Cpath d='M0.585999 172.576C7.39191 54.7726 115.832 -30.4948 246.177 10.3672C296.478 26.1465 326.484 70.3948 379.095 85.1268C453.103 105.846 511.137 115.603 546.094 195.268C593.911 304.221 530.872 438.083 405.286 494.236C300.083 541.277 217.099 504.185 147.028 425.237C111.966 385.736 -9.43921 346.078 0.585999 172.576Z' fill='black'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;
}
@media screen and (max-width: 767px) {
  .section-feature__item:nth-of-type(even) .section-featureItem__thumbnailImg {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 282 262'%3E%3Cpath d='M0.28241 96.6671C3.56104 39.9161 68.417 -15.6381 131.208 4.04686C155.439 11.6484 169.894 32.9647 195.238 40.0618C230.89 50.043 258.846 54.7435 275.686 93.1213C298.721 145.609 255.736 224.573 195.238 251.624C144.558 274.286 104.583 256.417 70.8275 218.384C53.9371 199.355 -4.54703 180.251 0.28241 96.6671Z' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 282 262'%3E%3Cpath d='M0.28241 96.6671C3.56104 39.9161 68.417 -15.6381 131.208 4.04686C155.439 11.6484 169.894 32.9647 195.238 40.0618C230.89 50.043 258.846 54.7435 275.686 93.1213C298.721 145.609 255.736 224.573 195.238 251.624C144.558 274.286 104.583 256.417 70.8275 218.384C53.9371 199.355 -4.54703 180.251 0.28241 96.6671Z' fill='black'/%3E%3C/svg%3E");
  }
}

.section-featureItem__layout {
  display: grid;
  grid-template-columns: 1fr 80px 1fr;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .section-featureItem__layout {
    grid-template-columns: 1fr;
  }
}
.section-featureItem__layout > *:nth-child(1) {
  margin-left: -5%;
}
@media screen and (max-width: 767px) {
  .section-featureItem__layout > *:nth-child(1) {
    margin-left: unset;
  }
}

.section-featureItem__dot {
  background-color: #74BBA0;
  border-radius: 40px;
  width: 80px;
  height: 80px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .section-featureItem__dot {
    display: none;
  }
}

.section-featureItem__bar {
  transform: scaleY(0);
  transform-origin: top;
  will-change: transform;
}

.section-featureItem__thumbnail,
.section-featureItem__body,
.section-featureItem__dot {
  will-change: transform, opacity;
}

.section-feature__item:not(:last-of-type) .section-featureItem__bar {
  position: absolute;
  width: 2px;
  height: 200px;
  background-color: var(--color-secondary);
  bottom: -300%;
  left: 50%;
  translate: 0 calc(-100% - 60px);
}

.section-feature__item:last-of-type .section-featureItem__bar {
  display: none;
}

.section-featureItem__heading {
  font-size: 24px;
  line-height: 1.3333333333;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .section-featureItem__heading {
    font-size: 22px;
    line-height: 1.4545454545;
    letter-spacing: 0.1em;
  }
}

.section-featureItem__text {
  font-size: 16px;
  line-height: 1.75;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .section-featureItem__text {
    font-size: 12px;
    line-height: 2;
    margin-top: 25px;
  }
}

.section-featureItem__button {
  margin-top: 65px;
  display: flex;
  -moz-column-gap: 120px;
       column-gap: 120px;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .section-featureItem__button {
    flex-direction: column;
    row-gap: 15px;
    margin-top: 35px;
  }
}
.section-featureItem__button > .btn-arrow {
  width: min(325px, 100%);
}

.section-featureItem__thumbnailImg {
  aspect-ratio: 562/515;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 562 515'%3E%3Cpath d='M561.499 172.576C554.694 54.7726 446.253 -30.4948 315.908 10.3672C265.607 26.1465 235.601 70.3948 182.991 85.1268C108.983 105.846 50.9485 115.603 15.9914 195.268C-31.8251 304.221 31.213 438.083 156.799 494.236C262.003 541.277 344.986 504.185 415.058 425.237C450.12 385.736 571.525 346.078 561.499 172.576Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 562 515'%3E%3Cpath d='M561.499 172.576C554.694 54.7726 446.253 -30.4948 315.908 10.3672C265.607 26.1465 235.601 70.3948 182.991 85.1268C108.983 105.846 50.9485 115.603 15.9914 195.268C-31.8251 304.221 31.213 438.083 156.799 494.236C262.003 541.277 344.986 504.185 415.058 425.237C450.12 385.736 571.525 346.078 561.499 172.576Z' fill='black'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;
}
@media screen and (max-width: 767px) {
  .section-featureItem__thumbnailImg {
    aspect-ratio: 282/262;
    width: 85%;
    margin-left: auto;
    margin-right: auto;
    display: block;
    max-width: 300px;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 282 262'%3E%3Cpath d='M0.28241 96.6671C3.56104 39.9161 68.417 -15.6381 131.208 4.04686C155.439 11.6484 169.894 32.9647 195.238 40.0618C230.89 50.043 258.846 54.7435 275.686 93.1213C298.721 145.609 255.736 224.573 195.238 251.624C144.558 274.286 104.583 256.417 70.8275 218.384C53.9371 199.355 -4.54703 180.251 0.28241 96.6671Z' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 282 262'%3E%3Cpath d='M0.28241 96.6671C3.56104 39.9161 68.417 -15.6381 131.208 4.04686C155.439 11.6484 169.894 32.9647 195.238 40.0618C230.89 50.043 258.846 54.7435 275.686 93.1213C298.721 145.609 255.736 224.573 195.238 251.624C144.558 274.286 104.583 256.417 70.8275 218.384C53.9371 199.355 -4.54703 180.251 0.28241 96.6671Z' fill='black'/%3E%3C/svg%3E");
  }
}

.section-philosophy {
  position: relative;
  z-index: 2;
}

.section-philosophy__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.section-philosophy__bg-first {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.section-philosophy__bg-first img {
  width: 100%;
  height: 100%;
}
.section-philosophy__bg-second {
  mix-blend-mode: hard-light;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #daeefd;
}

.section-philosophy__cont {
  width: 100%;
  padding: 80px 0 64px 104px;
  display: flex;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .section-philosophy__cont {
    flex-direction: column;
    padding: 21.3333333333vw 5.3333333333vw 55.7333333333vw;
  }
}

.section-philosophy__left {
  display: flex;
  flex-direction: column;
  gap: 24px 0;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .section-philosophy__left {
    gap: 4.2666666667vw 0;
  }
}

.section-philosophy__heading {
  color: #187fc3;
  font-size: 32px;
}
@media screen and (max-width: 767px) {
  .section-philosophy__heading {
    font-size: 5.8666666667vw;
  }
}

.section-philosophy__txt {
  color: #187fc3;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .section-philosophy__txt {
    font-size: 3.2vw;
  }
}

.section-philosophy__link {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .section-philosophy__link {
    margin-top: 5.0666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .section-philosophy__link a {
    margin: 0 auto;
  }
}

.section-philosophy__right {
  position: absolute;
  right: 18px;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .section-philosophy__right {
    right: 50%;
    transform: translateX(50%);
  }
}

.section-philosophy__right-img {
  width: 521px;
  height: auto;
}
.section-philosophy__right-img img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  .section-philosophy__right-img {
    width: 450px;
  }
}
@media screen and (max-width: 767px) {
  .section-philosophy__right-img {
    width: 78.6666666667vw;
  }
}

.section-philosophy-bottom {
  height: 200px;
  background-color: white;
  position: relative;
}
@media screen and (max-width: 767px) {
  .section-philosophy-bottom {
    height: 32vw;
  }
}

.section-recruit {
  position: relative;
  z-index: 2;
  padding-top: 125px;
  padding-bottom: 125px;
  margin-bottom: 200px;
  background-color: color-mix(in srgb, var(--color-theme-secondary) 100%, transparent);
  --fade-size: 40px;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, black var(--fade-size), black calc(100% - var(--fade-size)), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, black var(--fade-size), black calc(100% - var(--fade-size)), transparent 100%);
}
@media screen and (max-width: 767px) {
  .section-recruit {
    padding-top: 95px;
    margin-bottom: 95px;
    padding-bottom: 335px;
  }
}

.section-recruit__bg {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: -3%;
  width: 59.21875%;
  max-width: 758px;
}
@media screen and (max-width: 767px) {
  .section-recruit__bg {
    left: 50%;
    translate: -50%;
    right: unset;
    bottom: 0%;
    top: unset;
    width: 333px;
  }
}

.section-recruit__bgImg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

.section-recruit__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .section-recruit__inner {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.section-recruit__heading {
  color: white;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .section-recruit__heading {
    font-size: 22px;
    line-height: 1.4545454545;
  }
}

.section-recruit__text {
  font-size: 14px;
  line-height: 1.7142857143;
  margin-top: 25px;
  color: white;
  letter-spacing: 0.1em;
  width: 48%;
}
@media screen and (max-width: 767px) {
  .section-recruit__text {
    width: 100%;
    font-size: 12px;
    line-height: 2;
    margin-top: 15px;
  }
}

.section-recruit__button {
  margin-top: 65px;
}
@media screen and (max-width: 767px) {
  .section-recruit__button {
    display: grid;
    place-items: center;
    margin-top: 40px;
  }
}

.section-related {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-bottom: 200px;
  overflow-x: clip;
}
@media screen and (max-width: 767px) {
  .section-related {
    padding-bottom: 120px;
    padding-left: unset;
    padding-right: unset;
  }
}
.section-related--future {
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .section-related--future {
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .section-related--future .section-related__list {
    display: none;
  }
}
@media not screen and (max-width: 767px) {
  .section-related--future .section-related__slider {
    display: none;
  }
}
.section-related--download .section-related__inner {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .section-related--download .section-related__inner {
    padding-top: 64px;
  }
}

.section-related__inner {
  padding-top: 120px;
  border-top: 2px solid var(--color-theme-primary);
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .section-related__inner {
    padding-top: 64px;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.section-related__heading {
  font-size: 24px;
  line-height: 1.3333333333;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}

.section-related__list {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
@media screen and (max-width: 767px) {
  .section-related__list {
    grid-template-columns: 1fr;
    row-gap: 48px;
  }
}

.section-related__slider {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}
@media screen and (max-width: 767px) {
  .section-related__slider {
    margin-top: 40px;
  }
}

.section-general {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-bottom: 200px;
  overflow-x: clip;
}
@media screen and (max-width: 767px) {
  .section-general {
    padding-bottom: 120px;
    padding-left: unset;
    padding-right: unset;
  }
}

.section-general__inner {
  max-width: 940px;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .section-general__inner {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.section-general__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 22px;
       column-gap: 22px;
}
@media screen and (max-width: 767px) {
  .section-general__list {
    grid-template-columns: 1fr;
    row-gap: 48px;
  }
}

.section-outline {
  padding-top: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .section-outline {
    padding-top: 120px;
  }
}

.section-outline__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.section-outline__body {
  padding-left: 14px;
  padding-right: 14px;
  margin-top: 95px;
}
@media screen and (max-width: 767px) {
  .section-outline__body {
    padding-left: unset;
    padding-right: unset;
    margin-top: 40px;
  }
}

.section-access {
  padding-top: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .section-access {
    padding-bottom: 110px;
    padding-top: 110px;
  }
}

.section-access__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.section-access__right {
  padding-top: 15px;
}

.section-access__map {
  border-top: 2px solid #3e3e3e;
  border-bottom: 2px solid #3e3e3e;
  aspect-ratio: 408/345;
}
@media screen and (max-width: 767px) {
  .section-access__map {
    border-top: unset;
    border-bottom: unset;
    aspect-ratio: 250/200;
  }
}
.section-access__map > * {
  width: 100%;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}

.section-access__list {
  display: grid;
  row-gap: 40px;
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .section-access__list {
    margin-top: 40px;
    width: 74.5%;
    margin-left: auto;
    margin-right: auto;
  }
}

.section-access__item {
  display: grid;
  grid-template-columns: 408fr 664fr;
}
@media screen and (max-width: 767px) {
  .section-access__item {
    grid-template-columns: 1fr;
  }
}

.section-access__subheading {
  position: relative;
  padding-bottom: 24px;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .section-access__subheading {
    padding-left: unset;
    padding-right: unset;
    padding-bottom: 15px;
  }
}
.section-access__subheading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 7px;
  width: calc(100% - 16px);
  height: 2px;
  background-color: var(--color-theme-primary);
}
.section-access__subheading::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 16px;
  height: 16px;
  border-radius: 8px;
  border: 2px solid var(--color-theme-primary);
}

.section-access__subheadingMain {
  font-size: 32px;
  line-height: 1.3125;
  display: block;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .section-access__subheadingMain {
    font-size: 22px;
    line-height: 1.4545454545;
  }
}

.section-access__subheadingSub {
  font-size: 18px;
  display: block;
  line-height: 2.2222222222;
}
@media screen and (max-width: 767px) {
  .section-access__subheadingSub {
    font-size: 14px;
    line-height: 1.7142857143;
  }
}

.section-access__address {
  font-size: 16px;
  line-height: 2;
  padding-left: 40px;
  padding-right: 40px;
  padding-top: 10px;
}
@media screen and (max-width: 767px) {
  .section-access__address {
    font-size: 12px;
    line-height: 2;
    padding-left: unset;
    padding-right: unset;
    padding-top: unset;
  }
}

.shadow-card {
  max-width: 263px;
  width: 100%;
  aspect-ratio: 131/200;
  /* transform を実質使っていないので外す（余計な揺れ/再計算要因を減らす） */
  transition: max-width 0.25s ease;
  transform-origin: center bottom;
  transform: translateY(0);
  border-radius: 40px;
  /* 拡大する要素なので、ブラウザに最適化ヒントを出す */
  will-change: max-width;
  contain: layout paint;
  /* 可能なら（副作用が出る場合は外してください） */
}
@media not screen and (max-width: 767px) {
  .shadow-card {
    aspect-ratio: 21/30;
  }
}

@media not screen and (max-width: 767px) {
  .shadow-slider .swiper-slide-active .shadow-card {
    max-width: 420px;
    min-width: 420px;
  }
}
@media not screen and (max-width: 767px) {
  .shadow-slider .swiper-slide-active .shadow-card--sm {
    max-width: 361px;
    min-width: 361px;
  }
}
.shadow-slider .swiper-slide-active .shadow-card__heading {
/*   color: var(--color-primary); */
}
.shadow-slider .swiper-slide-active .shadow-card__text {
  display: block;
}

.shadow-card__head {
  height: 100%;
}

.shadow-card__thumbnail {
  height: 100%;
}

.shadow-card__body {
  position: absolute;
  bottom: 0;
  padding-bottom: 40px;
  padding-left: 25px;
  padding-right: 25px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .shadow-card__body {
    padding-bottom: 30px;
    padding-left: 15px;
    padding-right: 15px;
  }
}

.shadow-card__heading {
  font-size: 24px;
  line-height: 1.3333333333;
  color: white;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .shadow-card__heading {
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.15em;
  }
}

.shadow-card__text {
  color: white;
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.75;
  display: none;
}
@media screen and (max-width: 767px) {
  .shadow-card__text {
    margin-top: 10px;
    font-size: 12px;
    line-height: 2;
  }
}

/* components/_shadow-slider.scss など */
.shadow-slider {
  position: relative;
}

.shadow-slider__swiper {
  position: relative;
}

.shadow-slider .swiper-slide {
  width: auto;
  display: flex;
  align-items: flex-end;
  height: 640px;
}
@media screen and (max-width: 767px) {
  .shadow-slider .swiper-slide {
    height: 400px;
  }
}

.shadow-slider .swiper-slide.is-dim .shadow-card__head:before {
  background: rgba(60, 60, 60, 0.7);
}

.shadow-card__head {
  position: relative;
}
.shadow-card__head:before {
  content: "";
  background: linear-gradient(180deg, rgba(60, 60, 60, 0) 0%, rgba(60, 60, 60, 0.1) 50%, rgba(60, 60, 60, 1) 100%);
  border-radius: 20px;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: background 0.25s ease;
}

/* arrows */
.shadow-slider__arrows {
  position: absolute;
  left: 50%;
  top: 43%;
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 224px;
       column-gap: 224px;
  z-index: 2;
  translate: -50% 0;
}
@media screen and (max-width: 767px) {
  .shadow-slider__arrows {
    -moz-column-gap: 190px;
         column-gap: 190px;
    top: 38%;
  }
}

.shadow-slider__arrow {
  width: 90px;
  height: 90px;
  background: transparent;
  border: none;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.shadow-slider__arrow svg {
  width: 100%;
  height: 100%;
}
.shadow-slider__arrow:disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

/* progress */
.shadow-slider__progress {
  margin-top: 40px;
}
.shadow-slider__progress .progress-wrapper {
  position: relative;
  width: 200px;
  height: 4px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .shadow-slider__progress .progress-wrapper {
    width: 120px;
  }
}
.shadow-slider__progress .progress-track {
  position: absolute;
  inset: 0;
}
.shadow-slider__progress .progress-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background: white;
  transform: translateX(0);
  border-radius: 2px;
  transition: transform 0.1s linear;
}
.shadow-slider__progress .progress-center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 100%;
  background: var(--color-primary);
  transform: translate(-50%, -50%);
  pointer-events: none;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .shadow-slider__progress .progress-center {
    width: 120px;
  }
}

.spmenu-nav {
  position: relative;
  background: transparent;
}

.spmenu-nav__list {
  position: relative;
  z-index: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  row-gap: 10px;
}

.spmenu-nav__item {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.spmenu-nav__row {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 44px;
}

.spmenu-nav__row:has(.spmenu-nav__toggle) {
  padding-left: 40px;
}

.spmenu-nav__link {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  transition: color 0.2s;
  letter-spacing: 0.1em;
}

.spmenu-nav__link:hover,
.spmenu-nav__link:focus {
  color: var(--color-primary);
}

.spmenu-nav__link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* ======================================
   TOGGLE BUTTON（矢印）
====================================== */
.spmenu-nav__toggle {
  position: relative;
  width: 44px;
  height: 44px;
  border: none;
  background: transparent;
  border-radius: 12px;
  cursor: pointer;
}

.spmenu-nav__toggle:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* 矢印アイコン */
.spmenu-nav__item--has-child .spmenu-nav__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 8px;
  transform: translate(-50%, -50%) rotate(0deg);
  transform-origin: center;
  transition: transform 0.3s ease;
  color: var(--color-theme-secondary);
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath fill='black' d='M6.999 7.999c-.256 0-.512-.098-.707-.293L.999 2.414A1 1 0 0 1 2.413 1l4.586 4.586L11.585 1A1 1 0 1 1 13 2.414L7.706 7.706a.997.997 0 0 1-.707.293Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath fill='black' d='M6.999 7.999c-.256 0-.512-.098-.707-.293L.999 2.414A1 1 0 0 1 2.413 1l4.586 4.586L11.585 1A1 1 0 1 1 13 2.414L7.706 7.706a.997.997 0 0 1-.707.293Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
}

/* ======================================
   CHILD MENU（ACCORDION）
====================================== */
.spmenu-nav__child {
  list-style: none;
  margin: 0;
  max-height: 0;
  overflow: clip;
  opacity: 0;
  transform: translateY(-4px);
  text-align: center;
  transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease, transform 0.3s ease;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  align-items: center;
}

/* 子リンク */
.spmenu-nav__child a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 12px;
  line-height: 1.5;
  transition: color 0.3s ease;
  letter-spacing: 0.1em;
}

.spmenu-nav__child a:hover,
.spmenu-nav__child a:focus {
  color: var(--color-primary);
}

.spmenu-nav__item--has-child.is-open .spmenu-nav__child {
  max-height: 480px;
  opacity: 1;
  transform: translateY(0);
  padding-top: 10px;
  padding-bottom: 10px;
}

.spmenu-nav__item--has-child.is-open .spmenu-nav__toggle::after {
  transform: translate(-50%, -50%) scaleY(-1);
}

.spmenu-nav__lang {
  color: #BCBCBC;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 28px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  -moz-column-gap: 14px;
       column-gap: 14px;
}
.spmenu-nav__lang:before {
  content: "/";
  color: #3C3C3C;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-75%, -50%);
}

.spmenu-nav__lang-item.is-active {
  color: #409A78;
}

.common-spmenu {
  height: 100vh;
  height: 100dvh;
  opacity: 0;
  pointer-events: none;
  position: relative;
  transition: opacity 0.3s;
  width: 100%;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 150px;
  padding-bottom: 50px;
  background-color: var(--color-spmenu-back);
}

.common-spmenu__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.common-spmenu__bg .-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.common-spmenu._is-open {
  opacity: 1;
  pointer-events: all;
}

.common-spmenu__inner {
  display: block;
  position: relative;
  z-index: 2;
  overflow-y: auto;
  max-height: calc(100lvh - 200px);
}

.common-spmenu__button {
  margin-top: 4lvh;
  display: grid;
  place-items: center;
}

.common-spmenu__cta {
  margin-top: 40px;
  display: flex;
  align-items: center;
  row-gap: 24px;
  flex-direction: column;
}

.studio-card___layout {
  position: relative;
}

.studio-card__thumbnail {
  aspect-ratio: 280/480;
  border-radius: 40px;
  will-change: border;
  border-radius: 40px;
  border: 1px solid transparent;
  transition: border 0.2s;
  transition: aspect-ratio 0.2s, margin 0.2s;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .studio-card__thumbnail {
    aspect-ratio: 163/252;
    margin-top: 28px;
  }
}

@media not screen and (max-width: 767px) {
  .studio-card__link:hover .studio-card__thumbnail {
    border: 1px solid white;
  }
}
@media not screen and (max-width: 767px) {
  .studio-card__link:hover .studio-card__img {
    scale: 0.98;
  }
}
.studio-card__img {
  width: 100%;
  height: 100%;
  transition: scale 0.2s;
  -o-object-fit: cover;
     object-fit: cover;
}

.studio-card__body {
  width: 87.1428571429%;
  position: absolute;
  left: 0;
  bottom: 0;
  border-top-right-radius: 40px;
  border-bottom-left-radius: 40px;
  background-color: #272E42;
}
@media screen and (max-width: 767px) {
  .studio-card__body {
    position: static;
    width: 100%;
    margin-top: 25px;
  }
}

.studio-card__title {
  font-size: 16px;
  line-height: 2;
  color: white;
  letter-spacing: 0.15em;
  padding-top: 1em;
  padding-right: 1.5em;
}
@media screen and (max-width: 767px) {
  .studio-card__title {
    font-size: 12px;
    line-height: 1.8333333333;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 45px;
    padding-top: unset;
    padding-right: unset;
  }
}

.webinar-cardArchive__body {
  padding-top: 12px;
}

.webinar-cardArchive__category {
  margin-top: 3px;
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  flex-wrap: wrap;
  row-gap: 8px;
}

.webinar-cardArchive__date {
  font-size: 16px;
  line-height: 1.75;
}

.webinar-cardArchive__thumbnail {
  aspect-ratio: 300/200;
  overflow: hidden;
  border-radius: 10px;
  border: 2px solid transparent;
  transition: border-color 0.2s;
}
@media screen and (max-width: 767px) {
  .webinar-cardArchive__thumbnail {
    aspect-ratio: 335/200;
  }
}

.webinar-cardArchive__img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: transform 0.2s;
}

@media not screen and (max-width: 767px) {
  .webinar-cardArchive__link:hover .webinar-cardArchive__thumbnail,
  .webinar-cardArchive__thumbnail.is-active {
    border-color: var(--color-secondary);
  }
}
@media not screen and (max-width: 767px) {
  .webinar-cardArchive__link:hover .webinar-cardArchive__img {
    transform: scale(0.97);
  }
}
.webinar-cardArchive__title {
  margin-top: 8px;
  font-size: 16px;
  line-height: 1.75;
  text-align: justify;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 5.25em;
}

.table-pin {
  display: grid;
  grid-template-columns: 175px 1fr;
  align-items: center;
  row-gap: 40px;
}
@media screen and (max-width: 767px) {
  .table-pin {
    grid-template-columns: 104px 1fr;
    row-gap: 24px;
    margin-left: -10px;
  }
}

.table-pin__head {
  padding-top: 8px;
  padding-bottom: 24px;
  position: relative;
  font-size: 18px;
  line-height: 2.2222222222;
  font-weight: 700;
  padding-left: 32px;
  height: 100%;
  display: grid;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .table-pin__head {
    font-size: 14px;
    line-height: 1.2857142857;
    padding-left: 20px;
    padding-right: 10px;
  }
}
.table-pin__head::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 7px;
  width: calc(100% - 16px);
  height: 2px;
  background-color: var(--color-theme-primary);
}
.table-pin__head::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 16px;
  height: 16px;
  border-radius: 8px;
  border: 2px solid var(--color-theme-primary);
}

.table-pin__body {
  padding-bottom: 12px;
  padding-left: 40px;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .table-pin__body {
    font-size: 12px;
    padding-left: 8px;
  }
}

.table-legal {
  display: grid;
  grid-template-columns: 250fr 694fr;
  border: 2px solid var(--color-theme-secondary);
  background-color: white;
}
@media screen and (max-width: 767px) {
  .table-legal {
    grid-template-columns: 1fr;
  }
}

.table-legal__head,
.table-legal__body {
  font-size: 16px;
  line-height: 2;
  padding: 0.45em 1.25em;
  border-bottom: 2px solid var(--color-theme-secondary);
}
@media screen and (max-width: 767px) {
  .table-legal__head,
  .table-legal__body {
    font-size: 14px;
    line-height: 1.7142857143;
  }
}

.table-legal__head {
  background-color: #DEE8EF;
  text-align: center;
  border-right: 2px solid var(--color-theme-secondary);
  display: grid;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .table-legal__head {
    border-right: none;
    border-bottom: 2px solid var(--color-theme-secondary);
    text-align: left;
    place-items: start;
  }
}

.table-legal__body {
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .table-legal__body {
    border-bottom: 2px solid var(--color-theme-secondary);
  }
}

.table-legal__head:last-of-type,
.table-legal__body:last-of-type {
  border-bottom: none;
}

.table-legal__img {
  display: block;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .table-legal__img {
    width: 140px;
  }
}

.input-text {
  font-size: 16px;
  line-height: 2;
  padding-top: 0.25em;
  padding-bottom: 0.25em;
  padding-left: 1em;
  padding-right: 1em;
  border: 1px solid color-mix(in srgb, #3c3c3c 40%, transparent);
  border-radius: 4px;
  max-width: 100%;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .input-text {
    font-size: 14px;
    padding-top: 0.22em;
    padding-bottom: 0.22em;
  }
}

.input-textarea {
  height: 80px;
  overflow-y: auto;
  font-size: 16px;
  line-height: 2;
  padding-top: 0.25em;
  padding-bottom: 0.25em;
  padding-left: 1em;
  padding-right: 1em;
  border: 1px solid color-mix(in srgb, #3c3c3c 40%, transparent);
  border-radius: 4px;
  max-width: 100%;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .input-textarea {
    font-size: 14px;
    padding-top: 0.22em;
    padding-bottom: 0.22em;
  }
}

/* module > top
============================================================================ */
.top-bg {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100lvh;
  display: block;
  opacity: 0.4;
}

.top-second {
  position: relative;
  min-height: calc(100svh - var(--height-header) * 1px - 40px + 77px);
}

.top-second__scroll {
  position: absolute;
  left: 6%;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .top-second__scroll {
    display: none;
  }
}

.top-second__heading {
  position: absolute;
  left: 12.890625vw;
  bottom: 26%;
  font-size: clamp(32px, 3.4375vw, 999px);
  line-height: 1.4545454545;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .top-second__heading {
    left: 4%;
    bottom: 13.3%;
  }
}

.top-second__headingSecondary {
  color: var(--color-secondary);
}

.top-second__headingPrimary {
  color: var(--color-primary);
}

body.home .top-mv:before {
  display: none;
}

.top-mv {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  height: 100lvh;
}
.top-mv:before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: rgba(239, 239, 239, 0.2);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.top-mv__left {
  display: grid;
  place-items: center;
  opacity: 0.4;
  width: min(1036px, 80.9375vw);
  left: 6%;
  top: 4%;
  translate: -50% 0;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .top-mv__left {
    width: 141.0666666667vw;
    top: 36%;
  }
}

.top-mv__leftCircle {
  mix-blend-mode: darken;
  grid-area: 1/-1;
  width: 100%;
}

.top-mv__leftFlower {
  width: min(433px, 41.7148362235vw);
  grid-area: 1/-1;
  opacity: 0;
  animation: top-mv-opacity 30s ease-out infinite;
}

@keyframes top-mv-leftFlower {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes top-mv-opacity {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.top-mv__right {
  place-items: center;
  opacity: 0.4;
  width: min(500px, 39.0625vw);
  display: grid;
  position: absolute;
  right: -4%;
  top: 18%;
  translate: 0 0;
}
@media screen and (max-width: 767px) {
  .top-mv__right {
    width: 59.2vw;
    right: -5%;
    top: 8%;
  }
}

.top-mv__rightCircle {
  width: 100%;
  mix-blend-mode: darken;
  grid-area: 1/-1;
}

.top-mv__rightFlower {
  width: min(235px, 47%);
  animation: top-mv-opacity 12s ease-out infinite;
  grid-area: 1/-1;
}

@keyframes top-mv-rightFlower {
  0% {
    transform: rotate(360deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.top-mv__center {
  place-items: center;
  opacity: 0.4;
  width: min(626px, 48.90625vw);
  display: grid;
  position: absolute;
  right: -20%;
  top: -7%;
  translate: 0 0;
}
@media screen and (max-width: 767px) {
  .top-mv__center {
    width: 92vw;
    right: -45%;
    top: -11%;
  }
}

.top-mv__centerSquare {
  width: 100%;
  mix-blend-mode: darken;
  animation: top-mv-leftFlower 35s linear infinite;
}

.top-mv__centerTwo {
  place-items: center;
  opacity: 0.4;
  width: min(626px, 48.90625vw);
  display: grid;
  position: absolute;
  left: 0%;
  top: 30%;
  translate: 0 0;
}
@media screen and (max-width: 767px) {
  .top-mv__centerTwo {
    width: 92vw;
    left: -35%;
    top: 11%;
  }
}

.top-mv__centerTwoSquare {
  width: 100%;
  mix-blend-mode: darken;
  animation: top-mv-leftFlower 35s linear infinite;
}

.top-contents {
  position: relative;
  z-index: 2;
}

.top-contents__wrap {
  position: relative;
  overflow: hidden;
  background: rgba(239, 239, 239, 0.2);
}

.top-contents__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.top-contents__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

.top-contents__contents {
  position: relative;
  z-index: 2;
}

.top-news {
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .top-news {
    padding-top: 80px;
  }
}

.top-news__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.top-news__subInner {
  max-width: 864px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .top-news__tab {
    overflow-x: auto;
    padding-bottom: 10px;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.top-news__body {
  margin-top: 55px;
}
@media screen and (max-width: 767px) {
  .top-news__body {
    margin-top: 35px;
  }
}

.top-news__list {
  display: grid;
  row-gap: 15px;
}
@media screen and (max-width: 767px) {
  .top-news__list {
    row-gap: 17px;
  }
}

.top-news__button {
  display: grid;
  place-items: center;
  margin-top: 60px;
  padding-left: 4%;
}
@media screen and (max-width: 767px) {
  .top-news__button {
    padding-left: unset;
    margin-top: 45px;
  }
}

.top-about {
  padding-top: 120px;
  padding-bottom: 40px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .top-about {
    padding-top: 80px;
  }
}

.top-about__title {
  text-align: center;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .top-about__title {
    font-size: 22px;
  }
}

.top-about__text {
  text-align: center;
  font-size: 18px;
  line-height: 2.2222222222;
  letter-spacing: 0.1em;
  margin-left: -5px;
  margin-right: -5px;
}

.top-worry {
  padding-top: 110px;
  padding-bottom: 20px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .top-worry {
    padding-top: 40px;
  }
}

.top-worry__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.top-worry__layout {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 206px 1fr;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 72px;
  -moz-column-gap: 2%;
       column-gap: 2%;
}
@media screen and (max-width: 767px) {
  .top-worry__layout {
    grid-template-columns: 1fr;
    max-width: 375px;
    margin-top: 24px;
    margin-left: calc(var(--gutter) * -0.5);
    margin-right: calc(var(--gutter) * -0.5);
    margin-left: auto;
    margin-right: auto;
  }
  .top-worry__layout > *:nth-child(1) {
    order: 2;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .top-worry__layout > *:nth-child(1) {
    margin-top: 19px;
  }
}
@media screen and (max-width: 767px) {
  .top-worry__layout > *:nth-child(2) {
    order: 1;
    display: grid;
    place-items: center;
  }
  .top-worry__layout > *:nth-child(3) {
    order: 2;
  }
}

.top-worry__heading {
  font-size: 32px;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-worry__heading {
    font-size: 22px;
    line-height: 1.8181818182;
  }
}

.top-worry__worry {
  background-color: white;
  border-radius: 40px;
  font-size: 16px;
  letter-spacing: 0.1em;
  padding-left: 1.2em;
  padding-right: 1.2em;
  min-height: 48px;
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  filter: drop-shadow(0 2px 2px color-mix(in srgb, black 12%, transparent));
}
@media screen and (max-width: 767px) {
  .top-worry__worry {
    font-size: 14px;
    min-height: 29px;
  }
}

.top-worry__left {
  display: flex;
  flex-direction: column;
  row-gap: 32px;
}
@media screen and (max-width: 767px) {
  .top-worry__left {
    row-gap: 8px;
  }
}

.top-worry__left > *:nth-child(1) {
  margin-left: 14%;
}
@media screen and (max-width: 767px) {
  .top-worry__left > *:nth-child(1) {
    margin-left: unset;
  }
}

@media screen and (max-width: 767px) {
  .top-worry__left > *:nth-child(2) {
    margin-left: auto;
  }
}

.top-worry__left > *:nth-child(3) {
  margin-left: 14%;
}
@media screen and (max-width: 767px) {
  .top-worry__left > *:nth-child(3) {
    margin-left: unset;
  }
}

.top-worry__right {
  display: flex;
  flex-direction: column;
  row-gap: 32px;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .top-worry__right {
    align-items: flex-start;
    row-gap: 8px;
    margin-top: 5px;
  }
}

.top-worry__right > *:nth-child(1) {
  margin-right: 14%;
}
@media screen and (max-width: 767px) {
  .top-worry__right > *:nth-child(1) {
    margin-left: auto;
    margin-right: unset;
  }
}

.top-worry__right > *:nth-child(3) {
  margin-right: 14%;
}
@media screen and (max-width: 767px) {
  .top-worry__right > *:nth-child(3) {
    margin-right: unset;
    margin-left: auto;
  }
}

.top-worry__center {
  width: 206px;
}
@media screen and (max-width: 767px) {
  .top-worry__center {
    width: 208px;
    margin-left: auto;
    margin-right: auto;
  }
}

.top-worry__catch {
  margin-top: 72px;
  font-size: 32px;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-worry__catch {
    font-size: 22px;
    line-height: 1.8181818182;
    margin-top: 42px;
  }
}

.top-what {
  padding-top: 50px;
  padding-bottom: 120px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .top-what {
    padding-top: 100px;
    padding-bottom: 95px;
  }
}

.top-what__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.top-what__body {
  margin-top: 8px;
  position: relative;
  z-index: 5;
  margin-left: -6%;
  margin-right: -6%;
}

.top-what__intro {
  margin-top: 65px;
  padding-left: 1%;
  font-size: 14px;
  line-height: 2.2857142857;
}
@media screen and (max-width: 767px) {
  .top-what__intro {
    margin-top: 25px;
    padding-left: 30px;
    font-size: 12px;
    line-height: 2;
    padding-right: 45px;
  }
}

.top-whatBody {
  position: relative;
  padding-top: 50px;
  padding-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .top-whatBody {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}

.top-whatBody__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-whatBody__layout {
    grid-template-columns: 1fr;
  }
}

.top-whatBody__left {
  position: relative;
  aspect-ratio: 576/525;
  display: grid;
  place-items: center;
}

.top-whatBody__bg {
  grid-area: 1/-1;
}
@media screen and (max-width: 767px) {
  .top-whatBody__bg {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
}

.top-whatBody__bg img {
  width: 100%;
  height: 100%;
}

.top-whatBody__thumbnail {
  position: relative;
  overflow: hidden;
  aspect-ratio: 485/450;
  width: 100%;
  margin-inline: auto;
  grid-area: 1/-1;
  clip-path: url(#whatBlobClip);
  -webkit-clip-path: url(#whatBlobClip);
  touch-action: pan-y;
}
@media screen and (max-width: 767px) {
  .top-whatBody__thumbnail {
    aspect-ratio: 1/1;
  }
}

.top-whatBody__blobSvg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: none;
}

.top-whatBody__pics {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  will-change: transform;
  transition: transform 0.6s ease-in-out;
}
@media screen and (max-width: 767px) {
  .top-whatBody__pics {
    flex-direction: row;
  }
}

.top-whatBody__pics img {
  width: 100%;
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-whatBody__blobStroke {
  fill: none;
  stroke: rgba(255, 255, 255, 0.28);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.12));
}

@media screen and (max-width: 767px) {
  .top-whatBody__right {
    margin-top: 25px;
  }
}
.top-whatBody__heading {
  font-size: 32px;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .top-whatBody__heading {
    font-size: 22px;
    line-height: 1.4545454545;
    text-align: center;
  }
}

.top-whatBody__description {
  font-size: 16px;
  line-height: 2;
  width: 75%;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .top-whatBody__description {
    width: 100%;
    font-size: 12px;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    margin-inline: auto;
    max-inline-size: -moz-max-content;
    max-inline-size: max-content;
  }
}

.top-whatBody__button {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .top-whatBody__button {
    margin-top: 40px;
    display: grid;
    place-items: center;
  }
}

.top-whatBody__navigation {
  display: flex;
  justify-content: center;
  position: absolute;
  flex-direction: column;
  align-items: center;
  row-gap: 4px;
  right: 5.5%;
  top: 50%;
  translate: 0 -50%;
}
@media screen and (max-width: 767px) {
  .top-whatBody__navigation {
    translate: unset;
    position: relative;
    flex-direction: row;
    -moz-column-gap: 4px;
         column-gap: 4px;
    margin-top: 40px;
    z-index: 5;
    right: unset;
    top: unset;
  }
}

.top-whatBody__bar {
  height: 24px;
  width: 2px;
  background-color: #fbfbfb;
  border-radius: 1px;
}
@media screen and (max-width: 767px) {
  .top-whatBody__bar {
    width: 24px;
    height: 2px;
  }
}

.top-whatBody__dots {
  width: 16px;
  height: 16px;
  display: block;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border: 0;
  padding: 0;
  background-color: #fbfbfb;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
  /* iOSタップのハイライトを消す */
  -webkit-tap-highlight-color: transparent;
}

.top-whatBody__dots.is-active {
  background-color: var(--color-primary);
  border-radius: 50%;
}

.top-whatBody__contents {
  display: none;
}

.top-whatBody__contents.is-active {
  display: block;
}

#js-top-whatBody {
  position: relative;
  z-index: 10;
}

.top-whatBody__dots:active,
.top-whatBody__dots:focus,
.top-whatBody__dots:focus-visible {
  border-radius: 50%;
  outline: none;
}

.top-what__scroll {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .top-what__scroll {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .top-what__scroll {
    display: none;
  }
}
.top-what__scroll > .mod-scroll {
  left: -2%;
  bottom: unset;
  top: 50%;
  transform: translateY(-50%);
}

.top-studio {
  padding-top: 120px;
  padding-bottom: 120px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  background-color: #272E42;
  color: white;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-studio {
    padding-top: 80px;
    padding-bottom: 75px;
  }
}

.top-studio__bar {
  position: absolute;
  height: 166px;
  width: 1px;
  background-color: #F3AA08;
  left: 50%;
  translate: -50% 0;
  top: 0;
  transform-origin: top;
  transform: scaleY(0);
}
@media screen and (max-width: 767px) {
  .top-studio__bar {
    height: 80px;
  }
}

.top-studio__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.top-studio__layout {
  display: grid;
  grid-template-columns: 280px 1fr 280px;
  -moz-column-gap: 4%;
       column-gap: 4%;
}
@media screen and (max-width: 1024px) {
  .top-studio__layout {
    grid-template-columns: 200px 1fr 200px;
  }
}
@media screen and (max-width: 767px) {
  .top-studio__layout {
    grid-template-columns: 1fr;
  }
}

.top-studio__layout > *:nth-child(1) {
  grid-area: 1/2/2/3;
  padding-top: 90px;
}
@media screen and (max-width: 767px) {
  .top-studio__layout > *:nth-child(1) {
    grid-area: auto;
    padding-top: 25px;
  }
}

.top-studio__layout > *:nth-child(2) {
  grid-area: 1/3/3/4;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .top-studio__layout > *:nth-child(2) {
    grid-area: auto;
    height: unset;
  }
}

.top-studio__right-inner {
  position: relative;
  height: 480px;
  width: 100%;
  overflow: hidden;
  border-radius: 40px;
}
@media screen and (max-width: 767px) {
  .top-studio__right-inner {
    height: 280px;
    border-radius: 20px;
  }
}
.top-studio__right-inner video {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  height: 100%;
}
@media screen and (max-width: 767px) {
  .top-studio__right-inner video {
    width: 100%;
    height: auto;
  }
}

.top-studio__layout > *:nth-child(3) {
  grid-area: 2/2/3/3;
}
@media screen and (max-width: 767px) {
  .top-studio__layout > *:nth-child(3) {
    grid-area: auto;
  }
}

.top-studio__layout > *:nth-child(4) {
  grid-area: 1/1/3/2;
}
@media screen and (max-width: 767px) {
  .top-studio__layout > *:nth-child(4) {
    grid-area: auto;
    margin-top: 40px;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
  }
}

.top-studio__left {
  position: relative;
  min-width: 0;
}

.top-studio__leftHeading {
  color: white;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.1em;
  writing-mode: vertical-lr;
  rotate: 180deg;
  position: absolute;
  left: 0;
  top: 0;
  translate: -100% 45px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .top-studio__leftHeading {
    writing-mode: unset;
    text-align: center;
    font-size: 18px;
    line-height: 1.7777777778;
    position: static;
    translate: unset;
    rotate: unset;
  }
}

.top-studio__body {
  margin-top: 48px;
}

.top-studio__name {
  text-align: center;
  font-size: 18px;
  line-height: 1.7777777778;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .top-studio__name {
    font-size: 16px;
    line-height: 2;
  }
}

.top-studio__heading {
  margin-top: 28px;
  display: grid;
  place-items: center;
}

.top-studio__text {
  margin-top: 65px;
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 2.2857142857;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .top-studio__text {
    font-size: 12px;
    line-height: 2;
    margin-top: 45px;
    width: 100%;
    text-align: left;
  }
}

.top-studio__button {
  margin-top: 65px;
  margin-left: auto;
  margin-right: auto;
  width: 150px;
  height: 150px;
  display: grid;
  place-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-studio__button {
    width: 110px;
    height: 110px;
    margin-top: 30px;
  }
}

/* 円（SVG全体）を拡大対象にする */
.top-studio__circle {
  width: 100%;
  height: 100%;
  grid-area: 1/-1;
  transform: rotate(-90deg) scale(1);
  transform-origin: center;
  transition: transform 0.25s ease;
  will-change: transform;
}

/* strokeは固定（描画アニメはしない） */
.top-studio__circleStroke {
  fill: none;
  stroke: #fff;
  stroke-width: 1;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  animation: none;
}

.top-studio__arrow {
  width: 32px;
  grid-area: 1/-1;
}

@media not screen and (max-width: 767px) {
  /* hover/focus-visibleで円だけ拡大 */
  .top-studio__button:hover .top-studio__circle,
  .top-studio__button:focus-visible .top-studio__circle {
    transform: rotate(-90deg) scale(1.15);
  }
}
/* もし「押した時に少し戻る」演出を入れるなら任意 */
.top-studio__button:active .top-studio__circle {
  transform: rotate(-90deg) scale(1.1);
}

.top-studio__image {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-studio__nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 7px;
  row-gap: 16px;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
@media screen and (max-width: 767px) {
  .top-studio__nav {
    display: none;
  }
}

.top-studio__navItem {
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: border 0.2s;
  will-change: border;
  border-radius: 24px;
  border: 1px solid transparent;
}

.top-studio__navItem img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transition: scale 0.2s;
}

.top-studio__navItem:hover,
.top-studio__navItem.is-active {
  border: 1px solid white;
}
.top-studio__navItem:hover img,
.top-studio__navItem.is-active img {
  scale: 0.9393939394;
}

.top-studio__sliderArrow {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  -moz-column-gap: 22px;
       column-gap: 22px;
  --swiper-theme-color: transparent;
}
@media screen and (max-width: 767px) {
  .top-studio__sliderArrow {
    display: none;
  }
}
.top-studio__sliderArrow .swiper-button-prev {
  position: static !important;
  content: none !important;
}
.top-studio__sliderArrow .swiper-button-next {
  content: none !important;
  position: static !important;
}
.top-studio__sliderArrow .swiper-button-prev,
.top-studio__sliderArrow .swiper-button-next {
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  position: static !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
}
.top-studio__sliderArrow .top-studio__arrowCircle {
  transform-box: fill-box !important;
  transform-origin: center !important;
  transition: transform 0.25s ease !important;
}
.top-studio__sliderArrow .swiper-button-prev:hover .top-studio__arrowCircle,
.top-studio__sliderArrow .swiper-button-prev:focus-visible .top-studio__arrowCircle,
.top-studio__sliderArrow .swiper-button-next:hover .top-studio__arrowCircle,
.top-studio__sliderArrow .swiper-button-next:focus-visible .top-studio__arrowCircle {
  transform: scale(1.2) !important;
}

@media screen and (max-width: 767px) {
  .top-studio__right {
    margin-top: 25px;
    margin-left: calc(var(--gutter) * -0.5);
    margin-right: calc(var(--gutter) * -0.5);
  }
}
@media screen and (max-width: 767px) {
  .top-studio__slider {
    margin-top: 10px;
  }
  .top-studio__slider .swiper-slide.swiper-slide-active .studio-card__thumbnail {
    aspect-ratio: 163/280;
    margin-top: 0;
  }
}

.top-reviews {
  padding-top: 200px;
  padding-bottom: 40px;
  overflow-x: clip;
}
@media screen and (max-width: 767px) {
  .top-reviews {
    padding-top: 120px;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.top-reviews__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1200px) {
  .top-reviews__inner {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}
@media screen and (max-width: 767px) {
  .top-reviews__inner {
    padding-left: unset;
    padding-right: unset;
  }
}

.top-reviews__body {
  margin-top: 48px;
}

.top-reviews__slider {
  margin-top: 80px;
}
@media screen and (max-width: 1200px) {
  .top-reviews__slider {
    translate: var(--gutter);
  }
}
@media screen and (max-width: 767px) {
  .top-reviews__slider {
    translate: unset;
  }
}
.top-reviews__slider .swiper {
  overflow: visible;
}
.top-reviews__slider .swiper-slide {
  width: 440px;
}
@media screen and (max-width: 767px) {
  .top-reviews__slider {
    width: 100%;
    margin-top: 40px;
    margin-right: unset;
  }
}

.top-reviews__progress {
  margin-top: 100px;
  /* 背景の帯（長めにしておく） */
  /* 中央バー */
}
@media screen and (max-width: 1200px) {
  .top-reviews__progress {
    translate: calc(-1 * var(--gutter));
  }
}
@media screen and (max-width: 767px) {
  .top-reviews__progress {
    translate: unset;
  }
}
@media screen and (max-width: 767px) {
  .top-reviews__progress {
    margin-top: 40px;
  }
}
.top-reviews__progress .progress-wrapper {
  position: relative;
  width: 200px;
  height: 4px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .top-reviews__progress .progress-wrapper {
    width: 120px;
  }
}
.top-reviews__progress .progress-track {
  position: absolute;
  inset: 0;
}
.top-reviews__progress .progress-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background: white;
  border-radius: 2px;
  transform: translateX(0);
  transition: transform 0.1s linear;
}
.top-reviews__progress .progress-center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 100%;
  background: var(--color-primary);
  transform: translate(-50%, -50%);
  border-radius: 2px;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .top-reviews__progress .progress-center {
    width: 120px;
  }
}
.top-reviews__progress .swiper-pagination.is-center-progress {
  position: relative;
  overflow: hidden;
}
.top-reviews__progress .swiper-pagination.is-center-progress .swiper-pagination-progressbar-fill {
  width: 200%;
}
.top-reviews__progress .swiper-pagination.is-center-progress::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 30px;
  background: #333;
  transform: translateX(-50%);
}

.top-partners {
  padding-top: 160px;
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .top-partners {
    padding-top: 80px;
  }
}

.top-partners__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.top-partners__intro {
  margin-top: 65px;
  padding-left: 1%;
  font-size: 14px;
  line-height: 2.2857142857;
}
@media screen and (max-width: 767px) {
  .top-partners__intro {
    margin-top: 25px;
    padding-left: 30px;
    font-size: 12px;
    line-height: 2;
    padding-right: 45px;
  }
}

.top-partners__body {
  margin-top: 80px;
  height: auto;
  padding: 50px 0;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-partners__body {
    margin-top: 3.3333333333vw;
    padding: 10.6666666667vw 0;
  }
}
.top-partners__body .top-partners__body-scrollWrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 70px 0;
}
@media screen and (max-width: 767px) {
  .top-partners__body .top-partners__body-scrollWrapper {
    gap: 9.3333333333vw 0;
  }
}
.top-partners__body .top-partners__body-scrollWrapper-lane .swiper-wrapper {
  transition-timing-function: linear;
}
.top-partners__body .swiper-slide {
  width: 160px;
  height: 68px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .top-partners__body .swiper-slide {
    width: 15.3333333333vw;
    height: 6.6666666667vw;
  }
}
.top-partners__body .swiper-slide .img-box {
  width: 160px;
  height: 68px;
  background-color: #fff;
  position: relative;
  border-radius: 10px;
  box-shadow: 0px 0px 11px 11px #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .top-partners__body .swiper-slide .img-box {
    width: 15.3333333333vw;
    height: 6.6666666667vw;
    border-radius: 1.3333333333vw;
    box-shadow: 0px 0px 1.4666666667vw 1.4666666667vw #fff;
  }
}
.top-partners__body .swiper-slide .img-box img {
  width: 130px;
  height: 60px;
  -o-object-fit: contain;
     object-fit: contain;
  padding: 5px;
}
@media screen and (max-width: 767px) {
  .top-partners__body .swiper-slide .img-box img {
    width: 11.6vw;
    height: 4.9333333333vw;
    padding: 0.4vw;
  }
}
.top-partners__body .swiper-slide[data-move-index="0"], .top-partners__body .swiper-slide[data-move-index="10"], .top-partners__body .swiper-slide[data-move-index="11"], .top-partners__body .swiper-slide[data-move-index="30"] {
  margin: 0 30px 0 25px;
}
@media screen and (max-width: 767px) {
  .top-partners__body .swiper-slide[data-move-index="0"], .top-partners__body .swiper-slide[data-move-index="10"], .top-partners__body .swiper-slide[data-move-index="11"], .top-partners__body .swiper-slide[data-move-index="30"] {
    margin: 0 4vw 0 3.3333333333vw;
  }
}
.top-partners__body .swiper-slide[data-move-index="0"] .img-box, .top-partners__body .swiper-slide[data-move-index="10"] .img-box, .top-partners__body .swiper-slide[data-move-index="11"] .img-box, .top-partners__body .swiper-slide[data-move-index="30"] .img-box {
  animation: shake-up1 6s infinite ease-in-out;
}
.top-partners__body .swiper-slide[data-move-index="1"], .top-partners__body .swiper-slide[data-move-index="2"], .top-partners__body .swiper-slide[data-move-index="20"] {
  margin: 0 50px 0 15px;
}
@media screen and (max-width: 767px) {
  .top-partners__body .swiper-slide[data-move-index="1"], .top-partners__body .swiper-slide[data-move-index="2"], .top-partners__body .swiper-slide[data-move-index="20"] {
    margin: 0 6.6666666667vw 0 2vw;
  }
}
.top-partners__body .swiper-slide[data-move-index="1"] .img-box, .top-partners__body .swiper-slide[data-move-index="2"] .img-box, .top-partners__body .swiper-slide[data-move-index="20"] .img-box {
  animation: shake-up2 5.5s infinite ease-in-out;
}
.top-partners__body .swiper-slide[data-move-index="12"], .top-partners__body .swiper-slide[data-move-index="21"], .top-partners__body .swiper-slide[data-move-index="22"] {
  margin: 0 20px 0 30px;
}
@media screen and (max-width: 767px) {
  .top-partners__body .swiper-slide[data-move-index="12"], .top-partners__body .swiper-slide[data-move-index="21"], .top-partners__body .swiper-slide[data-move-index="22"] {
    margin: 0 2.6666666667vw 0 4vw;
  }
}
.top-partners__body .swiper-slide[data-move-index="12"] .img-box, .top-partners__body .swiper-slide[data-move-index="21"] .img-box, .top-partners__body .swiper-slide[data-move-index="22"] .img-box {
  animation: shake-up3 7s infinite ease-in-out;
}
.top-partners__body .swiper-slide[data-move-index="3"], .top-partners__body .swiper-slide[data-move-index="15"], .top-partners__body .swiper-slide[data-move-index="23"] {
  margin: 0 15px 0 46px;
}
@media screen and (max-width: 767px) {
  .top-partners__body .swiper-slide[data-move-index="3"], .top-partners__body .swiper-slide[data-move-index="15"], .top-partners__body .swiper-slide[data-move-index="23"] {
    margin: 0 2vw 0 6.1333333333vw;
  }
}
.top-partners__body .swiper-slide[data-move-index="3"] .img-box, .top-partners__body .swiper-slide[data-move-index="15"] .img-box, .top-partners__body .swiper-slide[data-move-index="23"] .img-box {
  animation: shake-up4 6.5s infinite ease-in-out;
}
.top-partners__body .swiper-slide[data-move-index="4"], .top-partners__body .swiper-slide[data-move-index="16"], .top-partners__body .swiper-slide[data-move-index="24"] {
  margin: 0 27px 0 20px;
}
@media screen and (max-width: 767px) {
  .top-partners__body .swiper-slide[data-move-index="4"], .top-partners__body .swiper-slide[data-move-index="16"], .top-partners__body .swiper-slide[data-move-index="24"] {
    margin: 0 3.6vw 0 2.6666666667vw;
  }
}
.top-partners__body .swiper-slide[data-move-index="4"] .img-box, .top-partners__body .swiper-slide[data-move-index="16"] .img-box, .top-partners__body .swiper-slide[data-move-index="24"] .img-box {
  animation: shake-up5 5.8s infinite ease-in-out;
}
.top-partners__body .swiper-slide[data-move-index="5"], .top-partners__body .swiper-slide[data-move-index="13"], .top-partners__body .swiper-slide[data-move-index="25"] {
  margin: 0 17px 0 43px;
}
@media screen and (max-width: 767px) {
  .top-partners__body .swiper-slide[data-move-index="5"], .top-partners__body .swiper-slide[data-move-index="13"], .top-partners__body .swiper-slide[data-move-index="25"] {
    margin: 0 2.2666666667vw 0 5.7333333333vw;
  }
}
.top-partners__body .swiper-slide[data-move-index="5"] .img-box, .top-partners__body .swiper-slide[data-move-index="13"] .img-box, .top-partners__body .swiper-slide[data-move-index="25"] .img-box {
  animation: shake-up6 7.5s infinite ease-in-out;
}
.top-partners__body .swiper-slide[data-move-index="6"], .top-partners__body .swiper-slide[data-move-index="14"], .top-partners__body .swiper-slide[data-move-index="26"] {
  margin: 0 25px 0 33px;
}
@media screen and (max-width: 767px) {
  .top-partners__body .swiper-slide[data-move-index="6"], .top-partners__body .swiper-slide[data-move-index="14"], .top-partners__body .swiper-slide[data-move-index="26"] {
    margin: 0 3.3333333333vw 0 4.4vw;
  }
}
.top-partners__body .swiper-slide[data-move-index="6"] .img-box, .top-partners__body .swiper-slide[data-move-index="14"] .img-box, .top-partners__body .swiper-slide[data-move-index="26"] .img-box {
  animation: shake-up7 6.2s infinite ease-in-out;
}
.top-partners__body .swiper-slide[data-move-index="7"], .top-partners__body .swiper-slide[data-move-index="17"], .top-partners__body .swiper-slide[data-move-index="27"] {
  margin: 0 50px 0 43px;
}
@media screen and (max-width: 767px) {
  .top-partners__body .swiper-slide[data-move-index="7"], .top-partners__body .swiper-slide[data-move-index="17"], .top-partners__body .swiper-slide[data-move-index="27"] {
    margin: 0 6.6666666667vw 0 5.7333333333vw;
  }
}
.top-partners__body .swiper-slide[data-move-index="7"] .img-box, .top-partners__body .swiper-slide[data-move-index="17"] .img-box, .top-partners__body .swiper-slide[data-move-index="27"] .img-box {
  animation: shake-up8 8s infinite ease-in-out;
}
.top-partners__body .swiper-slide[data-move-index="8"], .top-partners__body .swiper-slide[data-move-index="9"], .top-partners__body .swiper-slide[data-move-index="28"] {
  margin: 0 15px 0 15px;
}
@media screen and (max-width: 767px) {
  .top-partners__body .swiper-slide[data-move-index="8"], .top-partners__body .swiper-slide[data-move-index="9"], .top-partners__body .swiper-slide[data-move-index="28"] {
    margin: 0 2vw 0 2vw;
  }
}
.top-partners__body .swiper-slide[data-move-index="8"] .img-box, .top-partners__body .swiper-slide[data-move-index="9"] .img-box, .top-partners__body .swiper-slide[data-move-index="28"] .img-box {
  animation: shake-up9 6.7s infinite ease-in-out;
}
.top-partners__body .swiper-slide[data-move-index="18"], .top-partners__body .swiper-slide[data-move-index="19"], .top-partners__body .swiper-slide[data-move-index="29"] {
  margin: 0 35px 0 15px;
}
@media screen and (max-width: 767px) {
  .top-partners__body .swiper-slide[data-move-index="18"], .top-partners__body .swiper-slide[data-move-index="19"], .top-partners__body .swiper-slide[data-move-index="29"] {
    margin: 0 4.6666666667vw 0 2vw;
  }
}
.top-partners__body .swiper-slide[data-move-index="18"] .img-box, .top-partners__body .swiper-slide[data-move-index="19"] .img-box, .top-partners__body .swiper-slide[data-move-index="29"] .img-box {
  animation: shake-up10 5.2s infinite ease-in-out;
}

.top-partners__note {
  margin-top: 32px;
  text-align: center;
  font-size: 14px;
  line-height: 2.2857142857;
}
@media screen and (max-width: 767px) {
  .top-partners__note {
    font-size: 12px;
    line-height: 2;
    margin-top: 24px;
  }
}

@keyframes shake-up1 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(15px);
    @media screen and (max-width: 767px) {
      transform: translateY(0.9333333333vw);
    }
  }
}
@keyframes shake-up2 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(30px);
    @media screen and (max-width: 767px) {
      transform: translateY(1.3333333333vw);
    }
  }
}
@keyframes shake-up3 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(20px);
    @media screen and (max-width: 767px) {
      transform: translateY(1.3333333333vw);
    }
  }
}
@keyframes shake-up4 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(25px);
    @media screen and (max-width: 767px) {
      transform: translateY(1.6666666667vw);
    }
  }
}
@keyframes shake-up5 {
  0%, 100% {
    transform: translateY(0);
  }
  40%, 60% {
    transform: translateY(-12px);
    @media screen and (max-width: 767px) {
      transform: translateY(-0.8vw);
    }
  }
}
@keyframes shake-up6 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(10px);
    @media screen and (max-width: 767px) {
      transform: translateY(0.6666666667vw);
    }
  }
}
@keyframes shake-up7 {
  0%, 100% {
    transform: translateY(0);
  }
  30%, 70% {
    transform: translateY(22px);
    @media screen and (max-width: 767px) {
      transform: translateY(1.4666666667vw);
    }
  }
}
@keyframes shake-up8 {
  0%, 100% {
    transform: translateY(0);
  }
  45% {
    transform: translateY(18px);
    @media screen and (max-width: 767px) {
      transform: translateY(1.2vw);
    }
  }
}
@keyframes shake-up9 {
  0%, 100% {
    transform: translateY(0);
  }
  55% {
    transform: translateY(-15px);
    @media screen and (max-width: 767px) {
      transform: translateY(-1.6666666667vw);
    }
  }
}
@keyframes shake-up10 {
  0%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(12px);
    @media screen and (max-width: 767px) {
      transform: translateY(0.8vw);
    }
  }
}
.top-case {
  padding-top: 160px;
  padding-bottom: 180px;
}
@media screen and (max-width: 767px) {
  .top-case {
    padding-top: 80px;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    padding-bottom: 100px;
  }
}

.top-case__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1200px) {
  .top-case__inner {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}
@media screen and (max-width: 767px) {
  .top-case__inner {
    padding-left: unset;
    padding-right: unset;
  }
}

.top-case__intro {
  margin-top: 65px;
  padding-left: 1%;
  font-size: 14px;
  line-height: 2.2857142857;
}
@media screen and (max-width: 767px) {
  .top-case__intro {
    margin-top: 25px;
    padding-left: 30px;
    font-size: 12px;
    line-height: 2;
    padding-right: 45px;
  }
}

.top-case__body {
  margin-top: 48px;
}

.top-case__slider {
  margin-top: min(80px, 6.25vw);
}
@media screen and (max-width: 767px) {
  .top-case__slider {
    margin-top: 25px;
  }
}
.top-case__slider .swiper-slide {
  width: min(620px, 48.4375vw);
}
@media screen and (max-width: 767px) {
  .top-case__slider .swiper-slide {
    width: 100%;
  }
}
.top-case__slider .swiper-slide:not(.swiper-slide-active) .case-card__title {
  opacity: 0;
}
.top-case__slider .swiper-slide:not(.swiper-slide-active) .case-card__category {
  opacity: 0;
}

.top-case__progress {
  margin-top: min(20px, 1.5625vw);
  /* 背景の帯（長めにしておく） */
  /* 中央バー */
}
@media screen and (max-width: 767px) {
  .top-case__progress {
    margin-top: 95px;
  }
}
.top-case__progress .progress-wrapper {
  position: relative;
  width: 200px;
  height: 4px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .top-case__progress .progress-wrapper {
    width: 120px;
  }
}
.top-case__progress .progress-track {
  position: absolute;
  inset: 0;
}
.top-case__progress .progress-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background: white;
  transform: translateX(0);
  border-radius: 2px;
  transition: transform 0.1s linear;
}
.top-case__progress .progress-center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 100%;
  background: var(--color-primary);
  transform: translate(-50%, -50%);
  pointer-events: none;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .top-case__progress .progress-center {
    width: 120px;
  }
}
.top-case__progress .swiper-pagination.is-center-progress {
  position: relative;
  overflow: hidden;
}
.top-case__progress .swiper-pagination.is-center-progress .swiper-pagination-progressbar-fill {
  width: 200%;
}
.top-case__progress .swiper-pagination.is-center-progress::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 30px;
  background: #333;
  transform: translateX(-50%);
}

.top-case__sliderArrow {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: min(660px, 51.5625vw);
       column-gap: min(660px, 51.5625vw);
  margin-top: max(-80px, -6.25vw);
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .top-case__sliderArrow {
    display: none;
  }
}
.top-case__sliderArrow .top-case__arrow--prev {
  position: static !important;
  content: none !important;
}
.top-case__sliderArrow .top-case__arrow--next {
  content: none !important;
  position: static !important;
}
.top-case__sliderArrow .top-case__arrow--prev,
.top-case__sliderArrow .top-case__arrow--next {
  width: min(90px, 7.03125vw) !important;
  height: min(90px, 7.03125vw) !important;
  margin: 0 !important;
  position: static !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
}
.top-case__sliderArrow .top-case__arrow--prev svg,
.top-case__sliderArrow .top-case__arrow--next svg {
  width: min(90px, 7.03125vw) !important;
  height: min(90px, 7.03125vw) !important;
}

/* module > page
============================================================================ */
.ax-flow {
  padding-top: 135px;
}

.ax-flow__body {
  margin-top: 230px;
}
@media screen and (max-width: 767px) {
  .ax-flow__body {
    margin-top: 150px;
  }
}

.ax-voice {
  padding-top: 210px;
}
@media screen and (max-width: 767px) {
  .ax-voice {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    padding-top: 140px;
  }
}

.ax-voice__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.ax-voice__button {
  margin-top: 65px;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .ax-voice__button {
    margin-top: 35px;
  }
}

.case-archive {
  padding-top: 120px;
  padding-bottom: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .case-archive {
    padding-top: 80px;
    padding-bottom: 120px;
  }
}

.case-archive__inner {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.case-archive__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 64px;
}
@media screen and (max-width: 767px) {
  .case-archive__list {
    row-gap: 40px;
  }
}

.case-archive__pagination {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .case-archive__pagination {
    margin-top: 80px;
  }
}

.case-aside__heading {
  padding-left: 20px;
  padding-bottom: 10px;
  position: relative;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.15em;
}
.case-aside__heading:not(:first-of-type) {
  margin-top: 28px;
}
.case-aside__heading::before {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 8px;
  border: 2px solid var(--color-secondary);
  left: 0;
  bottom: 0;
}
.case-aside__heading::after {
  content: "";
  position: absolute;
  bottom: 7px;
  height: 2px;
  right: 0;
  width: calc(100% - 16px);
  display: block;
  background-color: var(--color-secondary);
}

.case-aside__list {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  row-gap: 4px;
  padding-left: 20px;
}

.case-aside__link {
  font-size: 17px;
  line-height: 1.6470588235;
  letter-spacing: 0.1em;
}

.section-filter {
  padding-left: var(--gutter);
  overflow-x: clip;
  padding-right: var(--gutter);
}
.section-filter--contact .section-filter__inner, .section-filter--download .section-filter__inner {
  padding-left: 30px;
  padding-right: 30px;
}
@media screen and (max-width: 1024px) {
  .section-filter--contact .section-filter__inner, .section-filter--download .section-filter__inner {
    padding-left: unset;
    padding-right: unset;
  }
}
@media screen and (max-width: 767px) {
  .section-filter--contact .section-filter__buttons, .section-filter--download .section-filter__buttons {
    grid-template-columns: 1fr;
    align-items: center;
    justify-items: center;
  }
  .section-filter--contact .section-filter__buttons > *, .section-filter--download .section-filter__buttons > * {
    width: 70%;
  }
}
.section-filter--download .section-filter__tab {
  max-width: 944px;
  margin-left: auto;
  margin-right: auto;
}

.section-filter__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.section-filter__condition {
  display: grid;
  grid-template-columns: 192px 1fr;
  row-gap: 40px;
  padding-top: 80px;
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .section-filter__condition {
    grid-template-columns: 1fr;
    row-gap: 16px;
    padding-bottom: 25px;
  }
}

.section-filter__heading {
  padding-right: 10px;
}
@media screen and (max-width: 767px) {
  .section-filter__heading {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
  }
  .section-filter__heading:not(:first-of-type) {
    margin-top: 8px;
  }
}

.section-filter__term {
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: 0.15em;
  position: relative;
  padding-left: 104px;
}
@media screen and (max-width: 767px) {
  .section-filter__term {
    font-size: 16px;
    padding-left: calc(var(--gutter) + 16px + 8px);
    line-height: 1.5;
  }
}

.section-filter__term::before {
  content: "";
  background-color: var(--color-secondary);
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  height: 2px;
  width: 72px;
}
@media screen and (max-width: 767px) {
  .section-filter__term::before {
    width: calc(var(--gutter));
  }
}

.section-filter__term::after {
  border: 2px solid var(--color-secondary);
  border-radius: 8px;
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  left: 88px;
  translate: -100% -50%;
  top: 50%;
}
@media screen and (max-width: 767px) {
  .section-filter__term::after {
    translate: 0% -50%;
    left: var(--gutter);
  }
}

.section-filter__lower {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  border-top: 2px solid var(--color-primary);
  padding-top: 24px;
}

.section-filter__other {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.section-filter__button {
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  row-gap: 12px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .section-filter__button {
    row-gap: 8px;
  }
}

.section-filter__action {
  display: grid;
  place-items: center;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .section-filter__action {
    margin-top: 32px;
  }
}

.section-filter__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 8px;
       column-gap: 8px;
  row-gap: 12px;
}
.section-filter__buttons--sp-only {
  display: none;
}
@media screen and (max-width: 767px) {
  .section-filter__buttons--sp-only {
    display: grid;
  }
}

.section-filter__radius {
  width: 100%;
  font-size: 14px;
  line-height: 1.1428571429;
  border: 2px solid var(--color-secondary);
  background-color: white;
  min-height: 40px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  color: var(--color-secondary);
  font-weight: 700;
  cursor: pointer;
  transition: color 0.2s, background-color 0.2s;
}
.section-filter__radius[aria-pressed=true] {
  background-color: var(--color-secondary);
  color: white;
}
.section-filter__radius[aria-selected=true] {
  background-color: var(--color-secondary);
  color: white;
}

.case-single__heading {
  font-size: 32px;
  line-height: 1.3125;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .case-single__heading {
    font-size: 24px;
    line-height: 1.5;
  }
}

.case-single__meta {
  margin-top: 32px;
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .case-single__meta {
    margin-top: 40px;
  }
}

.case-single__date {
  font-size: 17px;
  line-height: 1.6470588235;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .case-single__date {
    font-size: 16px;
    letter-spacing: 0;
  }
}

.case-single__button {
  margin-top: 32px;
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  row-gap: 12px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .case-single__button {
    margin-top: 24px;
    -moz-column-gap: 8px;
         column-gap: 8px;
    row-gap: 8px;
  }
}

.case-single__body {
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .case-single__body {
    margin-top: 40px;
  }
}

.case-single__thumbnail {
  border-radius: 10px;
  aspect-ratio: 700/467;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .case-single__thumbnail {
    margin-top: 24px;
    aspect-ratio: 335/200;
  }
}
.case-single__thumbnail img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  height: 100%;
}

.case-singleLayout {
  padding-bottom: 120px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .case-singleLayout {
    padding-bottom: 80px;
  }
}

.case-singleLayout__inner {
  max-width: 1074px;
  margin-left: auto;
  margin-right: auto;
}

.case-singleLayout__upper {
  display: grid;
  grid-template-columns: 1fr 227px;
  -moz-column-gap: 80px;
       column-gap: 80px;
  padding-left: 6%;
}
@media screen and (max-width: 1024px) {
  .case-singleLayout__upper {
    padding-left: unset;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .case-singleLayout__upper {
    padding-left: unset;
    grid-template-columns: 1fr;
  }
  .case-singleLayout__upper > *:nth-child(2) {
    display: none;
  }
}

.case-singleLayout__lower {
  display: grid;
  grid-template-columns: 1fr 227px;
  -moz-column-gap: 80px;
       column-gap: 80px;
  padding-left: 6%;
}
@media screen and (max-width: 1024px) {
  .case-singleLayout__lower {
    padding-left: unset;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .case-singleLayout__lower {
    padding-left: unset;
    grid-template-columns: 1fr;
  }
  .case-singleLayout__lower > *:nth-child(2) {
    display: none;
  }
}

.case-singleLayout__right {
  padding-top: 155px;
}

.case-singleLayout__button {
  margin-top: 80px;
  display: grid;
  place-items: center;
}

.company-greeting {
  padding-top: 120px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .company-greeting {
    padding-top: 60px;
  }
}

.company-greeting__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.company-greeting__layout {
  display: grid;
  grid-template-columns: 1fr 1.27fr;
  margin-top: 110px;
  -moz-column-gap: 5%;
       column-gap: 5%;
}
@media screen and (max-width: 767px) {
  .company-greeting__layout {
    grid-template-columns: 1fr;
    row-gap: 20px;
    margin-top: 40px;
  }
}

.company-greeting__left {
  margin-left: -40%;
  margin-top: -7%;
}
@media screen and (max-width: 767px) {
  .company-greeting__left {
    margin-top: unset;
    margin-left: unset;
    width: 85%;
    margin-left: auto;
    margin-right: auto;
  }
}

.company-greeting__thumbnail {
  filter: drop-shadow(0 8px 8px rgba(0, 0, 0, 0.25));
}

.company-greeting__thumbnailImg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 470 430'%3E%3Cpath d='M468.733 144.064C463.051 45.7235 372.527 -25.4567 263.716 8.65443C221.726 21.8268 196.677 58.7647 152.759 71.0628C90.9775 88.3588 42.5312 96.5041 13.3495 163.007C-26.5672 253.96 26.0562 365.707 130.894 412.582C218.717 451.852 287.99 420.888 346.485 354.982C375.755 322.008 477.102 288.902 468.733 144.064Z' fill='%23000'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 470 430'%3E%3Cpath d='M468.733 144.064C463.051 45.7235 372.527 -25.4567 263.716 8.65443C221.726 21.8268 196.677 58.7647 152.759 71.0628C90.9775 88.3588 42.5312 96.5041 13.3495 163.007C-26.5672 253.96 26.0562 365.707 130.894 412.582C218.717 451.852 287.99 420.888 346.485 354.982C375.755 322.008 477.102 288.902 468.733 144.064Z' fill='%23000'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.company-greeting__text {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .company-greeting__text {
    font-size: 12px;
    line-height: 2;
  }
}

.company-history {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 200px;
}
@media screen and (max-width: 767px) {
  .company-history {
    padding-top: 115px;
  }
}

.company-history__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.company-history__body {
  margin-top: 80px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .company-history__body {
    margin-top: 40px;
  }
}

/* =========================
   Thumbs（丸＋団子線）
========================= */
.company-history__thumbs {
  position: relative;
  /* 丸サイズ */
  --history-dot: 80px;
  /* ★丸と丸の “端〜端” の間隔（要望：176px） */
  --history-gap: 176px;
  /* ★中心間距離（= dot + gap） */
  --history-step: calc(var(--history-dot) + var(--history-gap));
  /* ★線の長さ（端〜端なので gap そのもの） */
  --history-line: var(--history-gap);
  /* 色 */
  --history-dot-color: var(--color-theme-secondary);
  --history-line-color: #CFCFCF;
  /* SP：dot=64 / gap=80 */
  /* =========================
     SP（元コードの下部定義：スタイル維持）
     ※ この値は最新変数（gap由来）とは別に上書きしているが、
        “現状OK”とのことなので、そのまま残す
  ========================= */
}
@media screen and (max-width: 767px) {
  .company-history__thumbs {
    --history-dot: 64px;
    --history-gap: 80px;
  }
}
@media screen and (max-width: 767px) {
  .company-history__thumbs {
    --history-dot: 64px;
    --history-line: 120px;
  }
}

.company-history__thumbs .js-swiper-company-history-thumbs {
  overflow: visible;
  /* “丸の中心” を画面中央に合わせるための左右パディング */
  padding-left: calc((100% - var(--history-dot)) / 2);
  padding-right: calc((100% - var(--history-dot)) / 2);
}

/* ★各スライドの幅＝中心間距離（step） */
.company-history__thumbs .swiper-slide {
  width: var(--history-step) !important;
  height: var(--history-dot);
  position: relative;
  display: grid;
  place-items: center;
}

/* ★端〜端の線（丸の右端から始めて gap 分だけ伸ばす） */
.company-history__thumbs .swiper-slide::after {
  content: "";
  position: absolute;
  top: 50%;
  filter: unset;
  /* 丸の右端から始める */
  left: 50%;
  transform: translateY(-50%);
  margin-left: calc(var(--history-dot) / 2);
  width: var(--history-line);
  height: 2px;
  background-color: var(--history-line-color);
}

.company-history__thumbs .swiper-slide:last-child::after {
  content: none;
}

/* 丸ボタン本体 */
.company-historyThumb {
  width: var(--history-dot);
  height: var(--history-dot);
  border-radius: 50%;
  background: var(--history-dot-color);
  border: none;
  padding: 0;
  margin: 0;
  display: block;
  opacity: 0.2;
  transition: opacity 0.2s ease;
  filter: blur(4px);
}

.company-history__thumbs .swiper-slide.is-active .company-historyThumb {
  opacity: 1;
}

.company-history__person {
  display: grid;
  place-items: center;
  margin-bottom: 20px;
}

.company-history__personImg {
  transform: scaleX(1);
  transform-origin: 50% 50%;
  transition: transform 0.35s ease;
  will-change: transform;
}

/* =========================
   Contents
========================= */
.company-history__contents {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 45px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .company-history__contents {
    padding-top: 25px;
  }
}
.company-history__contents::before {
  display: block;
  position: absolute;
  content: "";
  height: 45px;
  top: 0;
  left: 50%;
  translate: -50%;
  background-color: #3c3c3c;
  width: 2px;
}
@media screen and (max-width: 767px) {
  .company-history__contents::before {
    height: 30px;
  }
}

.company-history__contents .js-swiper-company-history-contents .swiper-slide {
  height: auto;
}

.company-historyItem__year {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  opacity: 0.7;
}

.company-historyItem__heading {
  margin-top: 8px;
  font-size: 24px;
  line-height: 1.5;
  font-weight: 700;
  color: var(--color-primary);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .company-historyItem__heading {
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.15em;
  }
}

.company-historyItem__text {
  margin-top: 8px;
  font-size: 16px;
  line-height: 2;
  min-height: 4lh;
}
@media screen and (max-width: 767px) {
  .company-historyItem__text {
    font-size: 12px;
    line-height: 2;
  }
}
.company-historyItem__text a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* =========================
   Arrows
========================= */
.company-history__arrows {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  -moz-column-gap: 120px;
       column-gap: 120px;
}
@media screen and (max-width: 767px) {
  .company-history__arrows {
    display: none;
  }
}

.company-history__arrow {
  cursor: pointer;
}

.company-history__arrow:disabled {
  opacity: 0.35;
  cursor: default;
}

/* =========================
   progress
========================= */
.company-history__progress {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .company-history__progress {
    margin-top: 32px;
  }
}
.company-history__progress .progress-wrapper {
  position: relative;
  width: 200px;
  height: 4px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .company-history__progress .progress-wrapper {
    width: 120px;
  }
}
.company-history__progress .progress-track {
  position: absolute;
  inset: 0;
}
.company-history__progress .progress-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background: white;
  transform: translateX(0);
  border-radius: 2px;
  transition: transform 0.1s linear;
}
.company-history__progress .progress-center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 100%;
  background: var(--color-primary);
  transform: translate(-50%, -50%);
  pointer-events: none;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .company-history__progress .progress-center {
    width: 120px;
  }
}

.company-guideline {
  padding-top: 225px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .company-guideline {
    padding-top: 120px;
  }
}

.company-guideline__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.company-guideline__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  -moz-column-gap: 60px;
       column-gap: 60px;
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .company-guideline__list {
    flex-direction: column;
    align-items: center;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    max-width: 250px;
  }
}

.company-guideline__item {
  width: calc((100% - 120px) / 3);
}
@media screen and (max-width: 1024px) {
  .company-guideline__item {
    width: calc((100% - 60px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .company-guideline__item {
    width: 100%;
  }
}

.company-guidelineItem {
  display: grid;
  place-items: center;
}

.company-guidelineItem__bg {
  grid-area: 1/-1;
}

.company-guidelineItem__body {
  grid-area: 1/-1;
  position: relative;
  width: 100%;
  padding-top: 20px;
}
@media screen and (max-width: 767px) {
  .company-guidelineItem__body {
    padding-top: 50px;
  }
}

.company-guidelineItem__en {
  font-size: 18px;
  line-height: 2.2222222222;
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .company-guidelineItem__en {
    font-size: 16px;
    line-height: 1.5;
  }
}

.company-guidelineItem__heading {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: 700;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .company-guidelineItem__heading {
    font-size: 18px;
    margin-top: 16px;
  }
}

.company-guideline__intro {
  margin-top: 80px;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .company-guideline__intro {
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.7142857143;
    padding-left: 10%;
  }
}

.company-guidelineItem__bottom {
  text-align: right;
  color: var(--color-theme-primary);
  font-weight: 700;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .company-guidelineItem__bottom {
    width: 77%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 15px;
  }
}

.company-guidelineItem__unit {
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
}

.company-guidelineItem__num {
  font-size: 80px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .company-guidelineItem__num {
    font-size: 48px;
  }
}

.company-mission {
  text-align: right;
  overflow-x: clip;
  padding-top: 175px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  position: relative;
}
@media screen and (max-width: 767px) {
  .company-mission {
    padding-top: 125px;
  }
}

.company-mission__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
}

.company-mission__circle {
  position: absolute;
  width: 450px;
  height: 450px;
  right: 0;
  translate: 26% -34%;
  top: 50%;
  opacity: 0.4;
  background-color: var(--color-theme-secondary);
  display: block;
  border-radius: 999em;
}
@media screen and (max-width: 767px) {
  .company-mission__circle {
    display: none;
  }
}

.company-mission__heading {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  padding-right: 75px;
  font-size: 42px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .company-mission__heading {
    font-size: 22px;
    line-height: 1.4545454545;
    letter-spacing: 0.15em;
    padding-right: unset;
  }
}

.company-mission__bar {
  position: absolute;
  top: 50%;
  left: -55px;
  width: 100vw;
  height: 2px;
  background-color: var(--color-theme-secondary);
  transform: translate(-100%, -50%);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .company-mission__bar {
    left: -30px;
  }
}

.company-mission__dot {
  position: absolute;
  top: 50%;
  left: -55px;
  width: 16px;
  height: 16px;
  border-radius: 999em;
  border: 2px solid var(--color-theme-secondary);
  background: transparent;
  transform: translate(0, -50%);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .company-mission__dot {
    left: -30px;
  }
}

.company-mission__catch {
  margin-top: 56px;
  font-size: 32px;
  line-height: 1.3125;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .company-mission__catch {
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.15em;
    margin-top: 24px;
  }
}

.company-mission__text {
  font-size: 16px;
  line-height: 2;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .company-mission__text {
    font-size: 12px;
    margin-top: 16px;
  }
}

.company-vision {
  padding-top: 135px;
  overflow-x: clip;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  position: relative;
}
@media screen and (max-width: 767px) {
  .company-vision {
    padding-top: 60px;
  }
}

.company-vision__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
}

.company-vision__circle {
  position: absolute;
  width: 400px;
  height: 400px;
  left: 0;
  translate: -35% -34%;
  top: 50%;
  opacity: 0.4;
  background-color: var(--color-theme-primary);
  display: block;
  border-radius: 999em;
}
@media screen and (max-width: 767px) {
  .company-vision__circle {
    display: none;
  }
}

.company-vision__heading {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 75px;
  font-size: 42px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .company-vision__heading {
    font-size: 22px;
    line-height: 1.4545454545;
    letter-spacing: 0.15em;
    padding-left: 20px;
  }
}

.company-vision__dot {
  position: absolute;
  top: 50%;
  right: -55px;
  width: 16px;
  height: 16px;
  border-radius: 999em;
  border: 2px solid var(--color-theme-primary);
  background: transparent;
  transform: translate(0, -50%);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .company-vision__dot {
    right: -30px;
  }
}

.company-vision__bar {
  position: absolute;
  top: 50%;
  right: -55px;
  width: 100vw;
  height: 2px;
  background-color: var(--color-theme-primary);
  transform: translate(100%, -50%);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .company-vision__bar {
    right: -30px;
  }
}

.company-vision__catch {
  margin-top: 56px;
  font-size: 32px;
  line-height: 1.3125;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .company-vision__catch {
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.15em;
    margin-top: 24px;
  }
}

.company-vision__text {
  font-size: 16px;
  line-height: 2;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .company-vision__text {
    font-size: 12px;
    margin-top: 16px;
  }
}

.company-award {
  padding-top: 200px;
}
@media screen and (max-width: 767px) {
  .company-award {
    padding-top: 115px;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.company-award__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1200px) {
  .company-award__inner {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}
@media screen and (max-width: 767px) {
  .company-award__inner {
    padding-left: unset;
    padding-right: unset;
  }
}

.company-award__body {
  margin-top: 48px;
}

.company-award__slider {
  margin-top: min(115px, 8.984375vw);
}
@media screen and (max-width: 767px) {
  .company-award__slider {
    margin-top: 40px;
  }
}
.company-award__slider .swiper-slide {
  width: min(620px, 48.4375vw);
}
@media screen and (max-width: 767px) {
  .company-award__slider .swiper-slide {
    width: 100%;
  }
}
.company-award__slider .swiper-slide:not(.swiper-slide-active) .award-card__title {
  opacity: 0;
}
.company-award__slider .swiper-slide:not(.swiper-slide-active) .award-card__text {
  opacity: 0;
}

.company-award__progress {
  margin-top: min(100px, 7.8125vw);
  /* 背景の帯（長めにしておく） */
  /* 中央バー */
}
@media screen and (max-width: 767px) {
  .company-award__progress {
    margin-top: 25px;
  }
}
.company-award__progress .progress-wrapper {
  position: relative;
  width: 200px;
  height: 4px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .company-award__progress .progress-wrapper {
    width: 120px;
  }
}
.company-award__progress .progress-track {
  position: absolute;
  inset: 0;
}
.company-award__progress .progress-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background: white;
  transform: translateX(0);
  border-radius: 2px;
  transition: transform 0.1s linear;
}
.company-award__progress .progress-center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 100%;
  background: var(--color-primary);
  transform: translate(-50%, -50%);
  pointer-events: none;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .company-award__progress .progress-center {
    width: 120px;
  }
}
.company-award__progress .swiper-pagination.is-center-progress {
  position: relative;
  overflow: hidden;
}
.company-award__progress .swiper-pagination.is-center-progress .swiper-pagination-progressbar-fill {
  width: 200%;
}
.company-award__progress .swiper-pagination.is-center-progress::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 30px;
  background: #333;
  transform: translateX(-50%);
}

.company-award__sliderArrow {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: min(660px, 51.5625vw);
       column-gap: min(660px, 51.5625vw);
  margin-top: max(-155px, -12.109375vw);
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .company-award__sliderArrow {
    display: none;
  }
}
.company-award__sliderArrow .company-award__arrow--prev {
  position: static !important;
  content: none !important;
}
.company-award__sliderArrow .company-award__arrow--next {
  content: none !important;
  position: static !important;
}
.company-award__sliderArrow .company-award__arrow--prev,
.company-award__sliderArrow .company-award__arrow--next {
  width: min(90px, 7.03125vw) !important;
  height: min(90px, 7.03125vw) !important;
  margin: 0 !important;
  position: static !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
}
.company-award__sliderArrow .company-award__arrow--prev svg,
.company-award__sliderArrow .company-award__arrow--next svg {
  width: min(90px, 7.03125vw) !important;
  height: min(90px, 7.03125vw) !important;
}

.company-member {
  --member-thumb-size-width: 200px;
  --member-thumb-size-height: 280px;
  --member-thumb-gap: 20px;
  padding-top: 180px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .company-member {
    padding-top: 120px;
  }
}

.company-member__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.company-member__thumbs {
  margin-top: 80px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .company-member__thumbs {
    margin-top: 40px;
  }
}

.company-member__thumbs .swiper {
  overflow: visible;
}

.company-member__thumbs .swiper-slide {
  width: auto;
  display: grid;
  place-items: center;
}

.company-memberThumb {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  width: var(--member-thumb-size-width);
  height: var(--member-thumb-size-height);
  overflow: hidden;
}

.company-memberThumb__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  filter: grayscale(1);
  border-radius: 20px;
  transition: filter 0.25s ease, opacity 0.25s ease, transform 0.25s ease;
  opacity: 0.7;
}

/* アクティブだけカラーに */
.company-member__thumbs .swiper-slide.is-active .company-memberThumb__img {
  filter: grayscale(0);
  opacity: 1;
  transform: translateZ(0);
}

/* contents */
.company-member__contents {
  margin-top: 32px;
}

.company-member__layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  -moz-column-gap: 40px;
       column-gap: 40px;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .company-member__layout {
    grid-template-columns: 1fr;
    row-gap: 24px;
    margin-top: 10px;
  }
}

.company-member__position {
  font-weight: 400;
  font-size: 18px;
  line-height: 2.2222222222;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .company-member__position {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0;
  }
}

.company-member__name {
  margin-top: 8px;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .company-member__name {
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 1.4545454545;
  }
}

.company-member__profile {
  line-height: 2;
  font-size: 16px;
  min-height: 320px;
}
@media screen and (max-width: 767px) {
  .company-member__profile {
    font-size: 13px;
    line-height: 1.8461538462;
    min-height: 384px;
  }
}

/* arrows（必要なら配置調整） */
.company-member__arrows {
  z-index: 2;
  position: absolute;
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 80px;
       column-gap: 80px;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 106%;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .company-member__arrows {
    -moz-column-gap: 48px;
         column-gap: 48px;
    width: 75%;
  }
}

.company-member__arrow {
  cursor: pointer;
  pointer-events: auto;
}

.company-member__arrow:disabled {
  opacity: 0.35;
  cursor: default;
}

.company-member__progress {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .company-member__progress {
    margin-top: 15px;
  }
}
.company-member__progress .progress-wrapper {
  position: relative;
  width: 200px;
  height: 4px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .company-member__progress .progress-wrapper {
    width: 120px;
  }
}
.company-member__progress .progress-track {
  position: absolute;
  inset: 0;
}
.company-member__progress .progress-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background: #FBFBFB;
  transform: translateX(0);
  border-radius: 2px;
  transition: transform 0.1s linear;
}
.company-member__progress .progress-center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 100%;
  background: var(--color-primary);
  transform: translate(-50%, -50%);
  pointer-events: none;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .company-member__progress .progress-center {
    width: 120px;
  }
}

.contact-body {
  padding-top: 64px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .contact-body {
    padding-top: 40px;
  }
}

.contact-body__inner {
  max-width: 944px;
  margin-left: auto;
  margin-right: auto;
}

.contact-body__radius {
  border-radius: 4px;
  background-color: #FBFBFB;
  padding: 80px 32px 56px;
}
@media screen and (max-width: 767px) {
  .contact-body__radius {
    padding: 30px 16px 16px;
  }
}

.contact-body__intro {
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .contact-body__intro {
    font-size: 12px;
    margin-bottom: 40px;
  }
}

.contact-lower {
  padding-top: 48px;
  padding-bottom: 200px;
  font-size: 12px;
  line-height: 2;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .contact-lower {
    padding-bottom: 120px;
    padding-top: 20px;
    font-size: 10px;
  }
}

.contact-lower__inner {
  max-width: 944px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 32px;
}
@media screen and (max-width: 767px) {
  .contact-lower__inner {
    padding-left: 20px;
  }
}

.contact-lower__heading {
  font-weight: 700;
}

.contact-form > *:nth-child(1) {
  margin-top: 0 !important;
}
.contact-form--download .contact-form__privacy {
  text-align: left;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .contact-form--download .contact-form__privacy {
    width: 100%;
    text-align: center;
  }
}
.contact-form--download .contact-form__head:not(:first-of-type) {
  margin-top: 18px;
}
@media screen and (max-width: 767px) {
  .contact-form--download .contact-form__head:not(:first-of-type) {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .contact-form--download .contact-form__list {
    margin-top: 32px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

.contact-form__head:not(:first-of-type) {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .contact-form__head:not(:first-of-type) {
    margin-top: 20px;
  }
}

.contact-form__lead {
  text-align: center;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .contact-form__lead {
    font-size: 12px;
  }
}

.contact-form__label {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .contact-form__label {
    font-size: 14px;
  }
}

.contact-form__required {
  font-size: 16px;
  line-height: 2;
  color: #FA4D4D;
}
@media screen and (max-width: 767px) {
  .contact-form__required {
    font-size: 14px;
  }
}

.contact-form__list {
  margin-top: 65px;
}
@media screen and (max-width: 767px) {
  .contact-form__list {
    margin-top: 32px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}

.contact-form__body--col-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 6%;
       column-gap: 6%;
}
@media screen and (max-width: 767px) {
  .contact-form__body--col-2 {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
}

.contact-form__privacy {
  margin-top: 50px;
  font-size: 16px;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact-form__privacy {
    font-size: 12px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
  }
}

.contact-form__button {
  margin-top: 40px;
  display: grid;
  place-items: center;
}

.contact-form__legal {
  margin-top: 20px;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .contact-form__legal {
    font-size: 10px;
  }
}

.contact-form__legalHeading {
  font-weight: 700;
}

.wpcf7-response-output {
  border: unset !important;
  margin: unset !important;
  padding: unset !important;
  font-size: 14px;
  color: #FA4D4D;
  text-align: center;
  margin-bottom: 8px !important;
}

.wpcf7-not-valid-tip {
  color: #FA4D4D !important;
  font-size: 14px !important;
}

.download-archive {
  padding-top: 95px;
  padding-bottom: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .download-archive {
    padding-top: 50px;
    padding-bottom: 120px;
  }
}

.download-archive__inner {
  max-width: 944px;
  margin-left: auto;
  margin-right: auto;
}

.download-archive__heading {
  position: relative;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 1em;
  padding-right: 1em;
  font-weight: 700;
  width: min(320px, 100%);
}
@media screen and (max-width: 767px) {
  .download-archive__heading {
    margin-left: calc(var(--gutter) * -1);
    font-size: 14px;
    width: -moz-fit-content;
    width: fit-content;
    line-height: 1.7142857143;
    padding-left: 20px;
    padding-bottom: 5px;
    padding-right: 32px;
  }
}
.download-archive__heading::before {
  position: absolute;
  content: "";
  width: 16px;
  right: 0;
  bottom: 0;
  height: 16px;
  border-radius: 999em;
  border: 2px solid var(--color-theme-secondary);
  translate: 0 7px;
}
.download-archive__heading::after {
  position: absolute;
  content: "";
  width: calc(100% - 16px);
  left: 0;
  bottom: 0;
  height: 2px;
  background-color: var(--color-theme-secondary);
}

.download-archive__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 64px;
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .download-archive__list {
    row-gap: 64px;
    margin-top: 45px;
    width: 92%;
    margin-left: auto;
    margin-right: auto;
  }
}

.download-archive__pagination {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .download-archive__pagination {
    margin-top: 80px;
  }
}

.download-thanks {
  padding-top: 155px;
  padding-bottom: 64px;
  overflow-x: clip;
}
@media screen and (max-width: 767px) {
  .download-thanks {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.download-thanks__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.download-thanks__upper {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.download-thanks__lower {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.download-thanks__heading {
  font-size: 64px;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .download-thanks__heading {
    font-size: 38px;
    line-height: 1.2;
  }
}

.download-thanks__intro {
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--color-primary);
  text-align: center;
  font-weight: 700;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .download-thanks__intro {
    font-size: 16px;
    line-height: 1.75;
  }
}

.download-thanks__lane {
  height: 126px;
  width: 100%;
  position: relative;
  margin-top: 30px;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .download-thanks__lane {
    height: 63px;
    margin-top: 45px;
  }
}

.download-thanks__chara {
  display: block;
  max-width: 100%;
  height: auto;
  position: absolute;
  left: 0;
  bottom: 0;
}
.download-thanks__chara--01 {
  left: 2%;
}
@media screen and (max-width: 767px) {
  .download-thanks__chara--01 {
    height: 37px;
    left: -3%;
  }
}
.download-thanks__chara--02 {
  left: 37%;
}
@media screen and (max-width: 767px) {
  .download-thanks__chara--02 {
    height: 42px;
  }
}
.download-thanks__chara--03 {
  left: 23%;
  transform: scaleX(-1);
}
@media screen and (max-width: 767px) {
  .download-thanks__chara--03 {
    left: 16%;
    height: 37px;
  }
}
.download-thanks__chara--04 {
  left: 41.5%;
}
@media screen and (max-width: 767px) {
  .download-thanks__chara--04 {
    height: 38px;
    left: 45%;
  }
}
.download-thanks__chara--05 {
  left: 50%;
}
@media screen and (max-width: 767px) {
  .download-thanks__chara--05 {
    height: 37px;
    left: 59%;
  }
}
.download-thanks__chara--06 {
  left: 67%;
}
@media screen and (max-width: 767px) {
  .download-thanks__chara--06 {
    height: 37px;
    left: 80%;
  }
}
.download-thanks__chara--07 {
  left: 75%;
}
@media screen and (max-width: 767px) {
  .download-thanks__chara--07 {
    height: 63px;
    left: 93%;
  }
}

.download-thanks__text {
  font-size: 18px;
  line-height: 2.2222222222;
  text-align: center;
  letter-spacing: 0.05em;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .download-thanks__text {
    font-size: 12px;
    line-height: 2;
  }
}

.download-thanks__button {
  display: grid;
  place-items: center;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .download-thanks__button {
    margin-top: 65px;
  }
}

.download-single__heading {
  font-size: 24px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .download-single__heading {
    font-size: 14px;
    line-height: 1.7142857143;
    margin-top: 16px;
  }
}

.download-single__text {
  font-size: 16px;
  line-height: 2;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .download-single__text {
    font-size: 12px;
    line-height: 2;
    margin-top: 16px;
  }
}

.download-single__thumbnail {
  border-radius: 10px;
  aspect-ratio: 400/224;
}
.download-single__thumbnail img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  height: 100%;
}

.download-single__subheading {
  position: relative;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 1em;
  padding-right: 1em;
  font-weight: 700;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 50px;
  padding-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .download-single__subheading {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    padding-left: 20px;
    padding-right: 32px;
    min-width: 144px;
    font-size: 14px;
    line-height: 1.7142857143;
    margin-top: 44px;
  }
}
.download-single__subheading::before {
  position: absolute;
  content: "";
  width: 16px;
  right: 0;
  bottom: 0;
  height: 16px;
  border-radius: 999em;
  border: 2px solid var(--color-theme-secondary);
  translate: 0 7px;
}
.download-single__subheading::after {
  position: absolute;
  content: "";
  width: calc(100% - 16px);
  left: 0;
  bottom: 0;
  height: 2px;
  background-color: var(--color-theme-secondary);
}

.download-single__list {
  display: grid;
  row-gap: 8px;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .download-single__list {
    row-gap: 16px;
  }
}

.download-single__item {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .download-single__item {
    font-size: 12px;
    text-indent: -1em;
    padding-left: 1em;
  }
}
.download-single__item::before {
  content: "・";
  color: var(--color-theme-secondary);
}

.download-singleLayout {
  padding-bottom: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .download-singleLayout {
    padding-bottom: 120px;
    padding-top: 0;
  }
}

.download-singleLayout__inner {
  max-width: 944px;
  margin-left: auto;
  margin-right: auto;
}

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

.download-singleLayout__left {
  padding-right: 16%;
}
@media screen and (max-width: 767px) {
  .download-singleLayout__left {
    padding-right: unset;
    width: 85%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width: 767px) {
  .download-singleLayout__right {
    padding-top: 40px;
  }
}

.download-singleLayout__radius {
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 32px;
  padding-right: 32px;
  background-color: #FBFBFB;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .download-singleLayout__radius {
    padding-top: 32px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 32px;
  }
}
.download-singleLayout__radius .hs-form .hs-button {
  color: var(--color-primary);
  width: 100%;
  border-radius: 20px;
  border: solid 2px var(--color-primary);
}
.download-singleLayout__radius .hs-custom-style > div input:not([type=image]):not([type=submit]):not([type=button]):not([type=radio]):not([type=checkbox]):not([type=file]) {
  background: white !important;
}
.download-singleLayout__radius .hs-button {
  color: var(--color-primary);
  width: 100%;
  border-radius: 20px !important;
  border: solid 2px var(--color-primary);
}

.download-singleLayout__caution {
  font-size: 16px;
  line-height: 2;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .download-singleLayout__caution {
    font-size: 10px;
    margin-top: 24px;
  }
}
.download-singleLayout__caution strong {
  font-weight: 700;
}

.education-about {
  padding-top: 40px;
  padding-bottom: 40px;
}
@media screen and (max-width: 1024px) {
  .education-about {
    padding-top: 0;
  }
}

.education-about__inner {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.education-about__heading {
  font-size: 42px;
  line-height: 1.1428571429;
  color: var(--color-secondary);
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1024px) {
  .education-about__heading {
    font-size: 22px;
    line-height: 1.4545454545;
  }
}

.education-about__layout {
  margin-left: -240px;
  margin-right: -240px;
  display: grid;
  grid-template-columns: 600px auto 600px;
}
@media screen and (max-width: 1024px) {
  .education-about__layout {
    grid-template-columns: 1fr 1fr;
    position: relative;
    margin-left: -40vw;
    margin-right: -40vw;
    -moz-column-gap: 20vw;
         column-gap: 20vw;
    margin-top: 65px;
  }
}

.education-about__left,
.education-about__right {
  display: grid;
  place-items: center;
}

.education-about__leftCircle,
.education-about__rightCircle {
  grid-area: 1/-1;
  opacity: 0.6;
}

.education-about__leftArrow {
  grid-area: 1/-1;
  translate: 48% -45%;
}
@media screen and (max-width: 1024px) {
  .education-about__leftArrow--pctab {
    display: none;
  }
}
@media not screen and (max-width: 1024px) {
  .education-about__leftArrow--sp {
    display: none;
  }
}

.education-about__rightArrow {
  grid-area: 1/-1;
  translate: -48% 45%;
}
@media screen and (max-width: 1024px) {
  .education-about__rightArrow--pctab {
    display: none;
  }
}
@media not screen and (max-width: 1024px) {
  .education-about__rightArrow--sp {
    display: none;
  }
}

.education-about__center {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-evenly;
  min-height: 0;
}
@media screen and (max-width: 1024px) {
  .education-about__center {
    position: absolute;
    left: 50%;
    translate: -50% -50%;
    top: 50%;
  }
}

.education-about__dot {
  display: block;
  grid-area: 1/-1;
  width: 30px;
  height: 30px;
  background-color: white;
  border-radius: 15px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .education-about__dot {
    width: clamp(15px, 4vw, 30px);
    height: clamp(15px, 4vw, 30px);
  }
}

.education-about__upper {
  position: relative;
}
.education-about__upper .education-about__text {
  padding-left: 15px;
}
@media screen and (max-width: 1024px) {
  .education-about__upper .education-about__text {
    padding-left: unset;
    padding-bottom: 80px;
  }
}

.education-about__lower {
  position: relative;
  justify-self: flex-end;
  align-self: flex-end;
}
.education-about__lower .education-about__text {
  text-align: right;
  padding-right: 15px;
  padding-left: unset;
}
@media screen and (max-width: 1024px) {
  .education-about__lower .education-about__text {
    padding-right: unset;
    padding-top: 80px;
  }
}

.education-about__text {
  font-size: 24px;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  max-width: 520px;
  padding-top: 40px;
  padding-bottom: 40px;
}
@media screen and (max-width: 1024px) {
  .education-about__text {
    font-size: clamp(16px, 2.0833333333vw, 24px);
    line-height: 1.5;
    letter-spacing: 0.1em;
    padding-top: unset;
    padding-bottom: unset;
    max-width: unset;
  }
}

.education-basic {
  padding-top: 200px;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .education-basic {
    padding-top: 100px;
  }
}

.education-basic__slider {
  margin-top: 40px;
}

.education-basic__button {
  margin-top: 40px;
  display: grid;
  place-items: center;
}

.education-flow {
  padding-top: 200px;
  padding-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .education-flow {
    padding-top: 85px;
    padding-bottom: 90px;
  }
}

.education-flow__body {
  margin-top: 230px;
}
@media screen and (max-width: 767px) {
  .education-flow__body {
    margin-top: 150px;
  }
}

.education-voice {
  padding-top: 210px;
}
@media screen and (max-width: 767px) {
  .education-voice {
    padding-top: 140px;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.education-voice__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.education-voice__button {
  margin-top: 65px;
  display: flex;
  -moz-column-gap: 120px;
       column-gap: 120px;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .education-voice__button {
    flex-direction: column;
    row-gap: 15px;
    margin-top: 35px;
  }
}

.flow-slider {
  --flow-thumb-base: 80px;
  --flow-thumb-active: 300px;
  --flow-thumb-overlay: #888888;
  /* 線（スライド間） */
  --flow-line: 176px;
  --flow-line-gap: 12px;
  /* JSのspaceBetweenと一致させる（176+12+12=200） */
  --flow-between: calc(var(--flow-line) + (var(--flow-line-gap) * 2));
}

.flow-slider .js-swiper-flow-thumbs {
  padding-left: calc((100% - var(--flow-thumb-base)) / 2);
  padding-right: calc((100% - var(--flow-thumb-base)) / 2);
  overflow: visible;
}

.flow-slider .js-swiper-flow-thumbs .swiper-slide {
  position: relative;
  width: var(--flow-thumb-base) !important;
  height: var(--flow-thumb-base);
  display: grid;
  place-items: center;
}

.flow-slider .js-swiper-flow-thumbs .swiper-slide:active {
  cursor: grabbing;
}

.flow-slider .js-swiper-flow-thumbs .swiper-slide::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  width: var(--flow-line);
  height: 2px;
  background-color: #B8B8B8;
  margin-left: var(--flow-line-gap);
}

.flow-slider .js-swiper-flow-thumbs .swiper-slide:last-child::after {
  content: none;
}

/* thumbs本体 */
.flow-sliderThumb {
  position: relative;
  width: var(--flow-thumb-base);
  height: var(--flow-thumb-base);
  border-radius: 50%;
  overflow: hidden;
  transform-origin: center;
  transition: transform 0.35s ease;
  z-index: 1;
}

/* 非アクティブ：グレー円 */
.flow-sliderThumb::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background-color: var(--flow-thumb-overlay);
  opacity: 1;
  transition: opacity 0.25s ease;
  z-index: 2;
  filter: blur(30px);
}

.flow-sliderThumb__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  opacity: 0;
  transition: opacity 0.25s ease;
}

/* アクティブ：見た目だけ大きく（幅は80のまま） */
.flow-slider .js-swiper-flow-thumbs .swiper-slide.is-active .flow-sliderThumb {
  transform: scale(calc(var(--flow-thumb-active) / var(--flow-thumb-base))) translate3d(0, -10px, 0);
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .flow-slider .js-swiper-flow-thumbs .swiper-slide.is-active .flow-sliderThumb {
    transform: scale(calc(var(--flow-thumb-active) / var(--flow-thumb-base))) translate3d(0, 0, 0);
  }
}

.flow-slider .js-swiper-flow-thumbs .swiper-slide.is-active .flow-sliderThumb::before {
  opacity: 0;
}

.flow-slider .js-swiper-flow-thumbs .swiper-slide.is-active .flow-sliderThumb__img {
  opacity: 1;
}

.flow-slider .js-swiper-flow-contents .swiper-slide {
  height: auto;
}

.flow-slider__arrow {
  cursor: pointer;
}

.flow-slider__arrow:disabled {
  opacity: 0.35;
  cursor: default;
}

.flow-slider__contents {
  max-width: 560px;
  padding-left: 120px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 90px;
  padding-bottom: 40px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .flow-slider__contents {
    padding-top: 130px;
    padding-left: 40px;
    padding-right: 40px;
    margin-top: -230px;
  }
}

.flow-slider__contents::before {
  height: 120px;
  content: "";
  width: 2px;
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% -10%;
  background-color: #3C3C3C;
}
@media screen and (max-width: 767px) {
  .flow-slider__contents::before {
    translate: -50% 25%;
  }
}

.flow-slider__arrows {
  display: flex;
  justify-content: center;
  -moz-column-gap: 120px;
       column-gap: 120px;
  color: var(--color-secondary);
}
@media screen and (max-width: 767px) {
  .flow-slider__arrows {
    display: none;
  }
}

.flow-sliderItem__num {
  font-size: 24px;
  line-height: 1.3333333333;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .flow-sliderItem__num {
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.15em;
  }
}

.flow-sliderItem__heading {
  margin-top: 7px;
  font-size: 24px;
  line-height: 1.3333333333;
  color: var(--color-primary);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .flow-sliderItem__heading {
    font-size: 18px;
    letter-spacing: 0.15em;
    line-height: 1.5;
  }
}

.flow-sliderItem__text {
  margin-top: 12px;
  font-size: 16px;
  line-height: 1.75;
  min-height: 4lh;
}
@media screen and (max-width: 767px) {
  .flow-sliderItem__text {
    font-size: 12px;
    line-height: 2;
  }
}
.flow-sliderItem__text a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.flow-slider__thumbs {
  position: relative;
}

/* SPではヒントを載せるための高さを確保（thumb80pxに引っ張られない） */
@media screen and (max-width: 767px) {
  .flow-slider__thumbs {
    min-height: 300px;
  }
}
/* hint overlay */
.flow-sliderHint {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate3d(-50%, -36%, 0);
  width: 300px;
  height: 300px;
  display: none;
  place-items: center;
  pointer-events: none;
  z-index: 10;
}

.flow-sliderHint__inner {
  width: 300px;
  height: 300px;
}

/* SPだけ有効 */
@media screen and (max-width: 767px) {
  .flow-sliderHint {
    display: grid;
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  .flow-sliderHint.is-visible {
    opacity: 1;
  }
}
.future-archive__cat {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .future-archive__cat {
    margin-bottom: 120px;
  }
}

@media screen and (max-width: 1024px) {
  .future-archive__cat-inner {
    position: relative;
  }
}
.future-archive__cat-inner .fs-scrollbar {
  display: none;
}
@media screen and (max-width: 1024px) {
  .future-archive__cat-inner .fs-scrollbar {
    display: block;
    width: 89.3333333333vw;
    height: 4px;
    background: #FFFFFF;
    margin: 24px auto 0;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    border-radius: 2px;
    overflow: hidden;
  }
}
.future-archive__cat-inner .fs-scrollbar__thumb {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  background: #F3AA08;
  border-radius: 2px;
  transition: transform 0.1s linear;
}

.future-archive__cat-inner {
  position: relative;
}

.future-archive__cat-list {
  padding: 20px 88px 144px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 80px;
  -moz-column-gap: 40px;
       column-gap: 40px;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.future-archive__cat-list::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 1024px) {
  .future-archive__cat-list {
    padding: 17px max(20px, 5.3333333333%) 28px;
    display: flex;
    white-space: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    grid-template-columns: auto;
  }
}

@media screen and (max-width: 1024px) {
  .future-archive__cat-item {
    min-width: 532px;
    max-width: 532px;
  }
}
@media screen and (max-width: 767px) {
  .future-archive__cat-item {
    max-width: 335px;
    min-width: 335px;
  }
}

.future-archive__cat-header {
  font-size: 32px;
  line-height: 1.25;
  letter-spacing: 0.08em;
  color: #272E42;
  background: #F3AA08;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
  width: 392px;
  min-height: 80px;
  padding: 22px 36px 18px;
  display: flex;
  align-items: center;
  position: absolute;
  top: -20px;
  left: 0;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .future-archive__cat-header {
    font-size: 22px;
    line-height: 1.4545454545;
    width: 280px;
    min-height: 48px;
    padding: 10px 20px 6px;
    top: -17px;
  }
}

.future-archive__cat-body {
  position: relative;
  z-index: 2;
}

.future-archive__cat-cat-name {
  font-weight: 700;
}

.future-archive__cat-content {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  padding: 84px 40px 24px;
  border-radius: 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .future-archive__cat-content {
    padding: 55px 20px 24px;
  }
}
.future-archive__cat-content:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(270deg, rgba(60, 60, 60, 0) 0%, rgba(60, 60, 60, 0.7) 40%);
  border-radius: 20px;
}

.future-archive__cat-ttl {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  margin-bottom: 16px;
  overflow-wrap: break-word;
  word-break: break-all;
  white-space: normal;
}

.future-archive__cat-txt {
  overflow-wrap: break-word;
  word-break: break-all;
  white-space: normal;
}
.future-archive__cat-txt strong {
  font-weight: 700;
}

.future-archive__posts {
  padding-top: 80px;
  padding-bottom: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .future-archive__posts {
    padding-top: 40px;
    padding-bottom: 120px;
    padding-left: max(48px, 12.8%);
    padding-right: max(48px, 12.8%);
  }
}

.future-archive__sec-heading {
  font-size: 40px;
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .future-archive__sec-heading {
    font-size: 24px;
    line-height: 1.5;
    margin-bottom: 24px;
  }
}

.future-archive__list {
  max-width: 925px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  -moz-column-gap: 40px;
       column-gap: 40px;
  row-gap: 64px;
}
@media screen and (max-width: 767px) {
  .future-archive__list {
    max-width: none;
    row-gap: 40px;
  }
}

.future-archive__pagination {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .future-archive__pagination {
    margin-top: 59px;
  }
}

.future-author {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 200px 1fr;
  grid-template-rows: auto auto;
  -moz-column-gap: 24px;
       column-gap: 24px;
}
@media screen and (max-width: 767px) {
  .future-author {
    margin-top: 32px;
    grid-template-columns: 85px 1fr;
    grid-template-rows: auto auto;
    -moz-column-gap: 12px;
         column-gap: 12px;
    row-gap: 8px;
    align-items: center;
  }
}
.future-author > *:nth-child(1) {
  grid-area: 1/1/3/2;
}
@media screen and (max-width: 767px) {
  .future-author > *:nth-child(1) {
    grid-area: 1/1/2/2;
  }
}
.future-author > *:nth-child(2) {
  grid-area: 1/2/2/3;
  padding-bottom: 8px;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .future-author > *:nth-child(2) {
    grid-area: 1/2/2/3;
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}
.future-author > *:nth-child(3) {
  grid-area: 2/2/3/3;
}
@media screen and (max-width: 767px) {
  .future-author > *:nth-child(3) {
    grid-area: 2/1/3/3;
  }
}

.future-author__thumbnailImg {
  border-radius: 16px;
}

.future-author__head {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .future-author__head {
    margin-top: unset;
  }
}

.future-author__label {
  color: var(--color-theme-secondary);
  font-size: 14px;
  line-height: 1.5;
}

.future-author__name {
  margin-top: 8px;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
  padding-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .future-author__name {
    font-size: 16px;
  }
}

.future-author__body {
  padding-top: 16px;
  border-top: 2px solid var(--color-theme-secondary);
}
@media screen and (max-width: 767px) {
  .future-author__body {
    padding-top: 8px;
  }
}

.future-author__profile {
  font-size: 16px;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .future-author__profile {
    font-size: 14px;
    line-height: 2.2;
  }
}

.future-aside {
  padding-top: 80px;
}

.future-aside__heading {
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: 0.15em;
  font-weight: 700;
  border-bottom: 2px solid var(--color-theme-secondary);
}
.future-aside__heading:not(:first-of-type) {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .future-aside__heading:not(:first-of-type) {
    margin-top: 40px;
  }
}

.future-aside__thumbnail {
  aspect-ratio: 1;
}

.future-aside__thumbnailImg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.future-aside__list {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  row-gap: 4px;
}

.future-aside__link {
  font-size: 17px;
  line-height: 1.6470588235;
  letter-spacing: 0.1em;
}

.future-single__heading {
  font-size: 32px;
  line-height: 1.3125;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .future-single__heading {
    font-size: 24px;
    line-height: 1.5;
  }
}

.future-single__meta {
  margin-top: 32px;
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 8px;
}
@media screen and (max-width: 767px) {
  .future-single__meta {
    margin-top: 40px;
  }
}

.future-single__date {
  font-size: 17px;
  line-height: 1.6470588235;
  letter-spacing: 0.1em;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .future-single__date {
    font-size: 16px;
    letter-spacing: 0;
  }
}

.future-single__button {
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  row-gap: 12px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .future-single__button {
    -moz-column-gap: 8px;
         column-gap: 8px;
    row-gap: 8px;
  }
}

.future-single__body {
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .future-single__body {
    margin-top: 40px;
  }
}

.future-single__thumbnail {
  border-radius: 16px;
  aspect-ratio: 700/467;
}
@media screen and (max-width: 767px) {
  .future-single__thumbnail {
    margin-top: 12px;
    aspect-ratio: 335/200;
  }
}
.future-single__thumbnail img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 16px;
  height: 100%;
}

.future-singleLayout {
  padding-bottom: 120px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .future-singleLayout {
    padding-bottom: 80px;
  }
}

.future-singleLayout__inner {
  max-width: 944px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .future-singleLayout__upper {
    padding-left: unset;
  }
}

.future-singleLayout__lower {
  margin-top: 8px;
}
.future-singleLayout__lower > *:nth-child(1) {
  grid-area: 1/1/3/2;
}
@media screen and (max-width: 767px) {
  .future-singleLayout__lower > *:nth-child(1) {
    grid-area: unset;
    order: 2;
  }
}
.future-singleLayout__lower > *:nth-child(2) {
  grid-area: 1/2/2/3;
}
@media screen and (max-width: 767px) {
  .future-singleLayout__lower > *:nth-child(2) {
    grid-area: unset;
    order: 1;
    margin-top: 24px;
  }
}
.future-singleLayout__lower > *:nth-child(3) {
  grid-area: 2/2/3/3;
}
@media screen and (max-width: 767px) {
  .future-singleLayout__lower > *:nth-child(3) {
    grid-area: unset;
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .future-singleLayout__lower {
    padding-left: unset;
    -moz-column-gap: 40px;
         column-gap: 40px;
    padding-right: unset;
  }
}
@media screen and (max-width: 767px) {
  .future-singleLayout__lower {
    padding-left: unset;
    grid-template-columns: 1fr;
    grid-template-rows: unset;
  }
}

.future-singleLayout__right {
  padding-top: 155px;
}

.future-singleLayout__button {
  margin-top: 80px;
  display: grid;
  place-items: center;
}

.model-blueprint {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 110px;
  padding-bottom: 160px;
  position: relative;
  overflow: clip;
  background-color: color-mix(in srgb, #e2f1ff 100%, transparent);
  --fade-size: 40px;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, black var(--fade-size), black calc(100% - var(--fade-size)), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, black var(--fade-size), black calc(100% - var(--fade-size)), transparent 100%);
}
@media screen and (max-width: 767px) {
  .model-blueprint {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.model-blueprint__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.model-blueprint__bgImg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.model-blueprint__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
}

.model-blueprint__heading {
  font-size: 32px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .model-blueprint__heading {
    font-size: 22px;
    line-height: 1.4545454545;
    text-align: center;
  }
}

.model-blueprint__text {
  font-size: 18px;
  line-height: 2.2222222222;
  margin-top: 15px;
  padding-left: 15px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .model-blueprint__text {
    font-size: 12px;
    line-height: 2;
    margin-top: 24px;
    text-align: center;
  }
}

.model-blueprint__slider {
  margin-top: 40px;
  max-width: 930px;
  margin-left: auto;
  margin-right: auto;
}
.model-blueprint__slider .swiper-slide:not(:first-of-type) {
  position: relative;
  --arrow-x: -200%;
  --arrow-a: 0;
}
.model-blueprint__slider .swiper-slide:not(:first-of-type) .model-blueprintItem__figure::before {
  content: "";
  position: absolute;
  left: -20%;
  top: 50%;
  opacity: var(--arrow-a);
  transform: translate3d(var(--arrow-x), -50%, 0);
  width: 16px;
  height: 52px;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2252%22%20viewBox%3D%220%200%2016%2052%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M0.484011%200.128499C0.944314%20-0.138548%201.53096%200.0241022%201.79398%200.491581L15.8736%2025.5163C16.0421%2025.816%2016.0422%2026.184%2015.8736%2026.4837L1.79398%2051.5084C1.53096%2051.9759%200.944315%2052.1385%200.484011%2051.8715C0.0237305%2051.6044%20-0.136415%2051.0086%200.12652%2050.541L13.9336%2026L0.12652%201.45895C-0.136414%200.99145%200.0237319%200.39563%200.484011%200.128499Z%22%20fill%3D%22%233C3C3C%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .model-blueprint__slider .swiper-slide:not(:first-of-type) .model-blueprintItem__figure::before {
    left: -31%;
  }
}
@media screen and (max-width: 767px) {
  .model-blueprint__slider .swiper-slide:not(:first-of-type) .model-blueprintItem__figure::before {
    left: -2%;
  }
}
@media not screen and (max-width: 767px) {
  .model-blueprint__slider .swiper-wrapper {
    display: flex;
    justify-content: space-between;
    transform: none !important;
  }
  .model-blueprint__slider .swiper-slide {
    width: min(230px, 19.1666666667vw);
  }
}

.model-blueprint__progress {
  margin-top: 40px;
}
.model-blueprint__progress .progress-wrapper {
  position: relative;
  width: 200px;
  height: 4px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .model-blueprint__progress .progress-wrapper {
    width: 120px;
  }
}
.model-blueprint__progress .progress-track {
  position: absolute;
  inset: 0;
}
.model-blueprint__progress .progress-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background: white;
  transform: translateX(0);
  border-radius: 2px;
  transition: transform 0.1s linear;
}
.model-blueprint__progress .progress-center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 100%;
  background: var(--color-primary);
  transform: translate(-50%, -50%);
  pointer-events: none;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .model-blueprint__progress .progress-center {
    width: 120px;
  }
}

@media not screen and (max-width: 767px) {
  .model-blueprint__progress {
    display: none;
  }
}
.model-blueprintItem__heading {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-align: center;
}

.model-blueprintItem__figure {
  display: grid;
  place-items: center;
  margin-top: 45px;
  position: relative;
}

.model-blueprintItem__label {
  max-width: 207px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 23px;
  min-height: 42px;
  padding-left: 1em;
  padding-right: 1em;
  display: grid;
  place-items: center;
  text-align: center;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: white;
}
.model-blueprintItem__label--black {
  background-color: #3C3C3C;
}
.model-blueprintItem__label--green {
  background-color: var(--color-primary);
}
.model-blueprintItem__label--blue {
  background-color: #125F92;
}

.model-blueprintItem__txt {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.7142857143;
  margin-top: 40px;
}

.model-example {
  padding-top: 220px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  position: relative;
}
@media screen and (max-width: 767px) {
  .model-example {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}

.model-example__hint {
  width: 100%;
  height: 100%;
  z-index: 5;
  position: absolute;
  left: 0;
  top: 0;
  display: grid;
  place-items: center;
  background-color: rgba(60, 60, 60, 0.4);
  opacity: 1;
  pointer-events: none;
}
@media not screen and (max-width: 767px) {
  .model-example__hint {
    display: none;
  }
}

.model-example__hintText {
  color: white;
  font-size: 24px;
  letter-spacing: 0.15em;
  line-height: 1.3333333333;
  text-align: center;
  opacity: 1;
}

.model-example__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.model-example__slider {
  max-width: 943px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .model-example__slider {
    margin-top: 45px;
  }
}

.model-flow {
  padding-top: 135px;
  padding-bottom: 130px;
}

.model-flow__body {
  margin-top: 230px;
}

.model-voice {
  padding-top: 210px;
}
@media screen and (max-width: 767px) {
  .model-voice {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    padding-top: 70px;
    padding-bottom: 0;
  }
}

.model-voice__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.model-voice__button {
  margin-top: 65px;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .model-voice__button {
    margin-top: 40px;
  }
}

.news-archive {
  padding-top: 80px;
  padding-bottom: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .news-archive {
    padding-top: 80px;
    padding-bottom: 120px;
  }
}

.news-archive__inner {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.news-archive__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 64px;
}
@media screen and (max-width: 767px) {
  .news-archive__list {
    row-gap: 40px;
  }
}

.news-archive__pagination {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .news-archive__pagination {
    margin-top: 80px;
  }
}

.news-aside__heading {
  padding-left: 20px;
  padding-bottom: 10px;
  position: relative;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.15em;
}
.news-aside__heading:not(:first-of-type) {
  margin-top: 28px;
}
.news-aside__heading::before {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 8px;
  border: 2px solid var(--color-secondary);
  left: 0;
  bottom: 0;
}
.news-aside__heading::after {
  content: "";
  position: absolute;
  bottom: 7px;
  height: 2px;
  right: 0;
  width: calc(100% - 16px);
  display: block;
  background-color: var(--color-secondary);
}

.news-aside__list {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  row-gap: 4px;
  padding-left: 20px;
}

.news-aside__link {
  font-size: 17px;
  line-height: 1.6470588235;
  letter-spacing: 0.1em;
}

.news-single__heading {
  font-size: 32px;
  line-height: 1.3125;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .news-single__heading {
    font-size: 24px;
    line-height: 1.5;
  }
}

.news-single__meta {
  margin-top: 32px;
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 8px;
}
@media screen and (max-width: 767px) {
  .news-single__meta {
    margin-top: 40px;
  }
}

.news-single__date {
  font-size: 17px;
  line-height: 1.6470588235;
  letter-spacing: 0.1em;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .news-single__date {
    font-size: 16px;
    letter-spacing: 0;
  }
}

.news-single__button {
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  row-gap: 12px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .news-single__button {
    -moz-column-gap: 8px;
         column-gap: 8px;
    row-gap: 8px;
  }
}

.news-single__body {
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .news-single__body {
    margin-top: 40px;
  }
}

.news-single__thumbnail {
  border-radius: 10px;
  aspect-ratio: 700/467;
}
@media screen and (max-width: 767px) {
  .news-single__thumbnail {
    margin-top: 24px;
    aspect-ratio: 335/200;
  }
}
.news-single__thumbnail img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  height: 100%;
}

.news-singleLayout {
  padding-bottom: 120px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .news-singleLayout {
    padding-bottom: 80px;
  }
}

.news-singleLayout__inner {
  max-width: 1074px;
  margin-left: auto;
  margin-right: auto;
}

.news-singleLayout__upper {
  display: grid;
  grid-template-columns: 1fr 227px;
  -moz-column-gap: 80px;
       column-gap: 80px;
  padding-left: 6%;
}
@media screen and (max-width: 1024px) {
  .news-singleLayout__upper {
    padding-left: unset;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .news-singleLayout__upper {
    padding-left: unset;
    grid-template-columns: 1fr;
  }
  .news-singleLayout__upper > *:nth-child(2) {
    display: none;
  }
}

.news-singleLayout__lower {
  display: grid;
  grid-template-columns: 1fr 227px;
  -moz-column-gap: 80px;
       column-gap: 80px;
  padding-left: 6%;
}
@media screen and (max-width: 1024px) {
  .news-singleLayout__lower {
    padding-left: unset;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .news-singleLayout__lower {
    padding-left: unset;
    grid-template-columns: 1fr;
  }
  .news-singleLayout__lower > *:nth-child(2) {
    display: none;
  }
}

.news-singleLayout__right {
  padding-top: 155px;
}

.news-singleLayout__button {
  margin-top: 80px;
  display: grid;
  place-items: center;
}

.legal-contents ul > li {
  padding-left: 1.3em;
  text-indent: -1.3em;
}
.legal-contents [href] {
  text-decoration: underline;
}
.legal-contents strong {
  font-weight: 700;
}
.legal-contents > *:first-child {
  margin-top: 0 !important;
}

.legal-contents__download {
  margin-top: 80px;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .legal-contents__download {
    font-size: 12px;
    letter-spacing: 0.05em;
    margin-top: 24px;
  }
}

.legal-contents__heading {
  font-size: 24px;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-weight: 700;
  border-bottom: 2px solid var(--color-theme-secondary);
  margin-bottom: 64px;
  margin-top: 120px;
  padding-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .legal-contents__heading {
    font-size: 16px;
    margin-top: 64px;
    margin-bottom: 42px;
  }
}

.legal-contents__subheading {
  font-size: 18px;
  font-weight: 700;
  line-height: 2.2222222222;
  border-left: 4px solid var(--color-theme-secondary);
  margin-top: 48px;
  margin-bottom: 16px;
  margin-left: 24px;
  text-indent: -1.3em;
  padding-left: 35px;
}
@media screen and (max-width: 767px) {
  .legal-contents__subheading {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.7142857143;
    margin-left: unset;
    margin-top: 42px;
  }
}

.legal-contents__text {
  font-size: 16px;
  line-height: 2;
  margin-top: 16px;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .legal-contents__text {
    font-size: 12px;
    letter-spacing: 0.05em;
  }
}
.legal-contents__text--m-2x {
  margin-top: 32px;
  margin-bottom: 32px;
}
.legal-contents__text--bold {
  font-weight: 700;
}
.legal-contents__text--indent {
  padding-left: 4em;
}
@media screen and (max-width: 767px) {
  .legal-contents__text--indent {
    padding-left: 20px;
  }
}

.legal-contents__indent {
  padding-left: 4em;
}
@media screen and (max-width: 767px) {
  .legal-contents__indent {
    padding-left: 1.5em;
  }
}
.legal-contents__indent--1em {
  padding-left: 1em;
}

.security-head {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.security-head__inner {
  max-width: 944px;
  margin-left: auto;
  margin-right: auto;
}

.security-head__text {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .security-head__text {
    font-size: 12px;
    text-align: center;
  }
}

.security-body {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-bottom: 200px;
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .security-body {
    padding-top: 40px;
    padding-bottom: 120px;
  }
}

.security-body__inner {
  max-width: 944px;
  margin-left: auto;
  margin-right: auto;
}

.privacy-body {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-bottom: 200px;
  padding-top: 42px;
}
@media screen and (max-width: 767px) {
  .privacy-body {
    padding-bottom: 120px;
    padding-top: 0;
  }
}

.privacy-body__inner {
  max-width: 944px;
  margin-left: auto;
  margin-right: auto;
}

.solution-aiweo {
  background-color: #E2F1FF;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-bottom: 16px;
  overflow-x: clip;
}

.solution-aiweo__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  position: relative;
  margin-right: auto;
  padding-top: 35px;
  padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__inner {
    padding-top: 65px;
  }
}

/* 動きが苦手な人向け */
@media (prefers-reduced-motion: reduce) {
  .solution-aiweo__chara {
    animation: none;
    transform: none;
  }
}
.solution-aiweo__logo {
  position: absolute;
  left: 0;
  top: 0;
  translate: -20px -75%;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__logo {
    translate: 0px -65%;
  }
}

.solution-aiweo__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__layout {
    grid-template-columns: 1fr;
    row-gap: 80px;
  }
}
.solution-aiweo__layout > *:nth-child(1) {
  order: 2;
  justify-self: flex-end;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__layout > *:nth-child(1) {
    justify-self: center;
  }
}
.solution-aiweo__layout > *:nth-child(2) {
  order: 1;
  padding-top: 45px;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__layout > *:nth-child(2) {
    padding-top: unset;
  }
}

.solution-aiweo__heading {
  font-size: 24px;
  line-height: 1.8333333333;
  letter-spacing: 0.1em;
  font-weight: 700;
  padding-left: 15px;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__heading {
    font-size: 18px;
    line-height: 1.5;
    padding-left: unset;
    text-align: center;
  }
}

.solution-aiweo__head {
  width: 100%;
  aspect-ratio: 553/280;
  border-radius: 40px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__head {
    aspect-ratio: 67/56;
    border-radius: 5.3333333333vw;
  }
}

.solution-aiweo__thumbnail {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__thumbnail {
    display: grid;
    place-items: center;
  }
}
.solution-aiweo__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.solution-aiweo__text {
  font-size: 14px;
  line-height: 2.2857142857;
  letter-spacing: 0.05em;
  padding-left: 15px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__text {
    font-size: 12px;
    line-height: 2;
    margin-top: 16px;
    padding-left: unset;
    text-align: center;
  }
}

.solution-aiweo__button {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__button {
    display: grid;
    place-items: center;
  }
}

/* レーン：全幅想定 */
.solution-aiweo__lane {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  position: relative;
  height: 130px;
  overflow: clip;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__lane {
    margin-top: -120px;
  }
}

/* キャラ共通 */
.solution-aiweo__chara {
  position: absolute;
  left: 0;
  bottom: 0%;
  transform: translateX(-110vw) scaleX(1);
  will-change: transform;
  animation-duration: 15s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

/* すべて同一レーン（top指定なし） */
.solution-aiweo__chara--01 {
  animation-name: aiweo-chara-01;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__chara--01 {
    height: 64px;
  }
}

.solution-aiweo__chara--02 {
  animation-name: aiweo-chara-02;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__chara--02 {
    height: 64px;
  }
}

.solution-aiweo__chara--03 {
  animation-name: aiweo-chara-03;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__chara--03 {
    height: 64px;
  }
}

.solution-aiweo__chara--04 {
  animation-name: aiweo-chara-04;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__chara--04 {
    height: 64px;
  }
}

.solution-aiweo__chara--05 {
  animation-name: aiweo-chara-05;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__chara--05 {
    height: 64px;
  }
}

.solution-aiweo__chara--06 {
  animation-name: aiweo-chara-06;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__chara--06 {
    height: 64px;
  }
}

.solution-aiweo__chara--07 {
  animation-name: aiweo-chara-07;
}
@media screen and (max-width: 767px) {
  .solution-aiweo__chara--07 {
    height: 100px;
  }
}

/* 緑 */
@keyframes aiweo-chara-01 {
  0% {
    transform: translateX(-110%) scaleX(1);
  }
  34% {
    transform: translateX(-110%) scaleX(1);
  }
  40% {
    transform: translateX(-50%) scaleX(1);
  }
  43.01% {
    transform: translateX(-110%) scaleX(1);
  }
  73% {
    transform: translateX(100vw) scaleX(1);
  }
  100% {
    transform: translateX(100vw) scaleX(1);
  }
}
/* オレンジ */
@keyframes aiweo-chara-02 {
  0% {
    transform: translateX(-110%) scaleX(1);
  }
  22% {
    transform: translateX(-110%) scaleX(1);
  }
  54% {
    transform: translateX(100vw) scaleX(1);
  }
  100% {
    transform: translateX(100vw) scaleX(1);
  }
}
/* 紫 */
@keyframes aiweo-chara-03 {
  0% {
    transform: translateX(-110%) scaleX(1);
  }
  27% {
    transform: translateX(-110%) scaleX(1);
  }
  37% {
    transform: translateX(15vw) scaleX(1);
  }
  37.01% {
    transform: translateX(15vw) scaleX(-1);
  }
  42.01% {
    transform: translateX(20vw) scaleX(-1);
  }
  42.02% {
    transform: translateX(20vw) scaleX(1);
  }
  72% {
    transform: translateX(100vw) scaleX(1);
  }
  100% {
    transform: translateX(100vw) scaleX(1);
  }
}
/* 赤*/
@keyframes aiweo-chara-04 {
  0% {
    transform: translateX(-110%) scaleX(1);
  }
  15% {
    transform: translateX(-110%) scaleX(1);
  }
  54.3% {
    transform: translateX(100vw) scaleX(1);
  }
  100% {
    transform: translateX(100vw) scaleX(1);
  }
}
/* 青*/
@keyframes aiweo-chara-05 {
  0% {
    transform: translateX(-110%) scaleX(1);
  }
  18% {
    transform: translateX(-110%) scaleX(1);
  }
  48% {
    transform: translateX(100vw) scaleX(1);
  }
  100% {
    transform: translateX(100vw) scaleX(1);
  }
}
/* 先頭 */
@keyframes aiweo-chara-06 {
  0% {
    transform: translateX(-110%) scaleX(1);
  }
  7% {
    transform: translateX(3vw) scaleX(1);
  }
  7.01% {
    transform: translateX(3vw) scaleX(1);
  }
  7.02% {
    transform: translateX(3vw) scaleX(-1);
  }
  10.00% {
    transform: translateX(5vw) scaleX(-1);
  }
  49% {
    transform: translateX(100vw) scaleX(-1);
  }
  100% {
    transform: translateX(100vw) scaleX(-1);
  }
}
/* 背が高い */
@keyframes aiweo-chara-07 {
  0% {
    transform: translateX(-110%) scaleX(1);
  }
  7.01% {
    transform: translateX(10vw) scaleX(1);
  }
  7.01% {
    transform: translateX(10vw) scaleX(1);
  }
  7.02% {
    transform: translateX(10vw) scaleX(-1);
  }
  10.00% {
    transform: translateX(12vw) scaleX(-1);
  }
  45% {
    transform: translateX(100vw) scaleX(-1);
  }
  100% {
    transform: translateX(100vw) scaleX(-1);
  }
}
.solution-case {
  padding-top: 200px;
}
@media screen and (max-width: 767px) {
  .solution-case {
    padding-top: 65px;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    padding-bottom: 0;
  }
}

.solution-case__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1200px) {
  .solution-case__inner {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}
@media screen and (max-width: 767px) {
  .solution-case__inner {
    padding-left: unset;
    padding-right: unset;
  }
}

.solution-case__intro {
  margin-top: 24px;
  font-size: 14px;
  line-height: 2.2857142857;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .solution-case__intro {
    margin-top: 8px;
    font-size: 12px;
    line-height: 2;
  }
}

.solution-case__body {
  margin-top: 48px;
}

.solution-case__slider {
  margin-top: min(80px, 6.25vw);
}
@media screen and (max-width: 767px) {
  .solution-case__slider {
    margin-top: 40px;
  }
}
.solution-case__slider .swiper-slide {
  width: min(620px, 48.4375vw);
}
@media screen and (max-width: 767px) {
  .solution-case__slider .swiper-slide {
    width: 100%;
  }
}
.solution-case__slider .swiper-slide:not(.swiper-slide-active) .case-card__title {
  opacity: 0;
}
.solution-case__slider .swiper-slide:not(.swiper-slide-active) .case-card__category {
  opacity: 0;
}

.solution-case__progress {
  margin-top: min(20px, 1.5625vw);
  /* 背景の帯（長めにしておく） */
  /* 中央バー */
}
@media screen and (max-width: 767px) {
  .solution-case__progress {
    margin-top: 45px;
  }
}
.solution-case__progress .progress-wrapper {
  position: relative;
  width: 200px;
  height: 4px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .solution-case__progress .progress-wrapper {
    width: 120px;
  }
}
.solution-case__progress .progress-track {
  position: absolute;
  inset: 0;
}
.solution-case__progress .progress-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background: white;
  transform: translateX(0);
  border-radius: 2px;
  transition: transform 0.1s linear;
}
.solution-case__progress .progress-center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 100%;
  background: var(--color-primary);
  transform: translate(-50%, -50%);
  pointer-events: none;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .solution-case__progress .progress-center {
    width: 120px;
  }
}
.solution-case__progress .swiper-pagination.is-center-progress {
  position: relative;
  overflow: hidden;
}
.solution-case__progress .swiper-pagination.is-center-progress .swiper-pagination-progressbar-fill {
  width: 200%;
}
.solution-case__progress .swiper-pagination.is-center-progress::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 30px;
  background: #333;
  transform: translateX(-50%);
}

.solution-case__sliderArrow {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: min(660px, 51.5625vw);
       column-gap: min(660px, 51.5625vw);
  margin-top: max(-80px, -6.25vw);
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .solution-case__sliderArrow {
    display: none;
  }
}
.solution-case__sliderArrow .solution-case__arrow--prev {
  position: static !important;
  content: none !important;
}
.solution-case__sliderArrow .solution-case__arrow--next {
  content: none !important;
  position: static !important;
}
.solution-case__sliderArrow .solution-case__arrow--prev,
.solution-case__sliderArrow .solution-case__arrow--next {
  width: min(90px, 7.03125vw) !important;
  height: min(90px, 7.03125vw) !important;
  margin: 0 !important;
  position: static !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
}
.solution-case__sliderArrow .solution-case__arrow--prev svg,
.solution-case__sliderArrow .solution-case__arrow--next svg {
  width: min(90px, 7.03125vw) !important;
  height: min(90px, 7.03125vw) !important;
}
.solution-case__sliderArrow .solution-case__arrowCircle {
  transform-box: fill-box !important;
  transform-origin: center !important;
  transition: transform 0.25s ease !important;
}
@media not screen and (max-width: 767px) {
  .solution-case__sliderArrow .solution-case__arrow--prev:hover .solution-case__arrowCircle,
  .solution-case__sliderArrow .solution-case__arrow--prev:focus-visible .solution-case__arrowCircle,
  .solution-case__sliderArrow .solution-case__arrow--next:hover .solution-case__arrowCircle,
  .solution-case__sliderArrow .solution-case__arrow--next:focus-visible .solution-case__arrowCircle {
    transform: scale(1.1) !important;
  }
}

.solution-head {
  padding-top: 0px;
  padding-bottom: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .solution-head {
    padding-bottom: 115px;
  }
}

.solution-head__text {
  text-align: center;
  font-size: 16px;
  line-height: 1.5;
  margin-top: 24px;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .solution-head__text {
    font-size: 14px;
    line-height: 1.7142857143;
    margin-top: 10px;
  }
}

.solution-product {
  padding-top: 70px;
  padding-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .solution-product {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    padding-bottom: 120px;
  }
}

.solution-product__inner {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.solution-product__list {
  display: grid;
  row-gap: 100px;
}
@media screen and (max-width: 767px) {
  .solution-product__list {
    row-gap: 60px;
  }
}

.solution-productItem .solution-productItem__head {
  padding-left: 0%;
  padding-right: 17%;
  margin-left: -9%;
}
@media screen and (max-width: 767px) {
  .solution-productItem .solution-productItem__head {
    padding-right: unset;
    padding-left: unset;
    margin-left: unset;
  }
}
.solution-productItem .solution-productItem__body {
  padding-left: 0%;
  padding-right: 16%;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .solution-productItem .solution-productItem__body {
    padding-right: unset;
    padding-left: unset;
    text-align: left;
  }
}
.solution-productItem--reverse .solution-productItem__layout > *:nth-child(1) {
  order: 2;
}
@media screen and (max-width: 767px) {
  .solution-productItem--reverse .solution-productItem__layout > *:nth-child(1) {
    order: unset;
  }
}
.solution-productItem--reverse .solution-productItem__layout > *:nth-child(2) {
  order: 1;
}
@media screen and (max-width: 767px) {
  .solution-productItem--reverse .solution-productItem__layout > *:nth-child(2) {
    order: unset;
  }
}
.solution-productItem--reverse .solution-productItem__head {
  padding-left: 17%;
  padding-right: 0%;
  margin-left: unset;
  margin-right: -9%;
}
@media screen and (max-width: 767px) {
  .solution-productItem--reverse .solution-productItem__head {
    padding-right: unset;
    padding-left: unset;
    margin-right: unset;
  }
}
.solution-productItem--reverse .solution-productItem__body {
  text-align: left;
  padding-left: 16%;
  padding-right: 0%;
}
@media screen and (max-width: 767px) {
  .solution-productItem--reverse .solution-productItem__body {
    padding-right: unset;
    padding-left: unset;
  }
}
.solution-productItem--reverse .solution-productItem__button {
  display: flex;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .solution-productItem--reverse .solution-productItem__button {
    justify-content: center;
  }
}

.solution-productItem__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .solution-productItem__layout {
    grid-template-columns: 1fr;
    row-gap: 25px;
  }
}

.solution-productItem__thumbnail {
  aspect-ratio: 553/280;
  width: 100%;
  border-radius: 40px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .solution-productItem__thumbnail {
    aspect-ratio: 335/240;
    margin-left: auto;
    margin-right: auto;
  }
}
.solution-productItem__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.solution-productItem__heading {
  font-size: 24px;
  line-height: 1.3333333333;
  color: var(--color-primary);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .solution-productItem__heading {
    font-size: 22px;
    line-height: 1.4545454545;
    letter-spacing: 0.1em;
  }
}

.solution-productItem__text {
  font-size: 16px;
  line-height: 1.75;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .solution-productItem__text {
    font-size: 12px;
    line-height: 2;
    margin-top: 24px;
  }
}

.solution-productItem__button {
  margin-top: 40px;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .solution-productItem__button {
    justify-content: center;
  }
}

.solution-voice {
  padding-top: 70px;
  padding-bottom: 210px;
}
@media screen and (max-width: 767px) {
  .solution-voice {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.solution-voice__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.solution-voice__button {
  margin-top: 65px;
  display: grid;
  place-items: center;
}

.samurai-about {
  position: relative;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 40px;
  margin-top: 0;
}
.samurai-about__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.samurai-about__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr;
}
@media screen and (max-width: 767px) {
  .samurai-about__layout {
    grid-template-columns: 1fr;
    grid-template-rows: unset;
  }
}
.samurai-about__layout > *:nth-child(1) {
  grid-area: 1/1/3/2;
}
@media screen and (max-width: 767px) {
  .samurai-about__layout > *:nth-child(1) {
    grid-area: unset;
    width: 85%;
    margin-left: auto;
    margin-right: auto;
  }
}
.samurai-about__layout > *:nth-child(2) {
  grid-area: 1/2/2/3;
  padding-left: 60px;
  margin-top: 140px;
}
@media screen and (max-width: 767px) {
  .samurai-about__layout > *:nth-child(2) {
    grid-area: unset;
    margin-top: -20px;
    padding-left: unset;
  }
}
.samurai-about__layout > *:nth-child(3) {
  padding-left: 60px;
  margin-top: 40px;
  grid-area: 2/2/3/3;
}
@media screen and (max-width: 767px) {
  .samurai-about__layout > *:nth-child(3) {
    grid-area: unset;
    margin-top: 24px;
    padding-left: unset;
  }
}
.samurai-about__layout--reverse {
  margin-top: -30px;
}
@media screen and (max-width: 767px) {
  .samurai-about__layout--reverse {
    margin-top: 20px;
  }
}
.samurai-about__layout--reverse > *:nth-child(1) {
  grid-area: 1/2/3/3;
}
@media screen and (max-width: 767px) {
  .samurai-about__layout--reverse > *:nth-child(1) {
    grid-area: unset;
  }
}
.samurai-about__layout--reverse > *:nth-child(2) {
  text-align: right;
  grid-area: 1/1/2/2;
  padding-left: unset;
  padding-right: 60px;
}
@media screen and (max-width: 767px) {
  .samurai-about__layout--reverse > *:nth-child(2) {
    grid-area: unset;
    text-align: left;
    padding-right: unset;
  }
}
.samurai-about__layout--reverse > *:nth-child(3) {
  grid-area: 2/1/3/2;
  text-align: right;
  padding-left: unset;
  padding-right: 60px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .samurai-about__layout--reverse > *:nth-child(3) {
    padding-right: unset;
    grid-area: unset;
    text-align: left;
  }
}

.samurai-about__heading {
  font-size: 32px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .samurai-about__heading {
    font-size: 22px;
    line-height: 1.4545454545;
  }
}

.samurai-about__headingParts {
  display: inline-block;
}

.samurai-about__text {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .samurai-about__text {
    font-size: 12px;
  }
}

.samurai-works {
  position: relative;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 110px;
}
@media screen and (max-width: 767px) {
  .samurai-works {
    padding-top: 120px;
  }
}
.samurai-works .zoom-slider .js-swiper-zoom-thumbs .swiper-slide:not(.is-active) .zoom-sliderThumb {
  filter: blur(4px);
  opacity: 1;
}
.samurai-works .zoom-slider__contents {
  max-width: 550px;
}
.samurai-works .zoom-sliderItem__heading {
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: left;
  padding-top: 30px;
}
@media screen and (max-width: 767px) {
  .samurai-works .zoom-sliderItem__heading {
    font-size: 18px;
    padding-top: 5px;
    text-align: center;
  }
}

.samurai-works__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.samurai-works__slider {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .samurai-works__slider {
    margin-top: 40px;
  }
}

.recruit-benefits {
  position: relative;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 330px;
}
@media screen and (max-width: 767px) {
  .recruit-benefits {
    padding-top: 100px;
  }
}

.recruit-benefits__circleUpper {
  position: absolute;
  top: 2%;
  left: -8%;
  width: 450px;
  height: 450px;
  background-color: var(--color-theme-secondary);
  filter: blur(10px);
  opacity: 0.4;
  border-radius: 999em;
}
@media screen and (max-width: 767px) {
  .recruit-benefits__circleUpper {
    width: 270px;
    height: 270px;
    top: 8%;
    left: -13%;
  }
}

.recruit-benefits__circleMiddle {
  position: absolute;
  top: 22%;
  right: -8%;
  width: 400px;
  height: 400px;
  background-color: var(--color-theme-primary);
  filter: blur(10px);
  opacity: 0.4;
  border-radius: 999em;
}
@media screen and (max-width: 767px) {
  .recruit-benefits__circleMiddle {
    width: 220px;
    height: 220px;
    top: 40%;
    right: -5%;
  }
}

.recruit-benefits__circleLower {
  position: absolute;
  top: 60%;
  left: -8%;
  width: 300px;
  height: 300px;
  background-color: var(--color-theme-primary);
  filter: blur(10px);
  opacity: 0.4;
  border-radius: 999em;
}
@media screen and (max-width: 767px) {
  .recruit-benefits__circleLower {
    width: 180px;
    height: 180px;
    top: 67%;
    left: -15%;
  }
}

.recruit-benefits__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.recruit-benefits__subheading {
  font-size: 24px;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 16px;
  padding-right: 16px;
}
@media screen and (max-width: 767px) {
  .recruit-benefits__subheading {
    font-size: 22px;
    line-height: 1.4545454545;
    padding-left: unset;
    padding-right: unset;
  }
}
.recruit-benefits__subheading:first-of-type {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .recruit-benefits__subheading:first-of-type {
    margin-top: 40px;
  }
}
.recruit-benefits__subheading:not(:first-of-type) {
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .recruit-benefits__subheading:not(:first-of-type) {
    margin-top: 40px;
  }
}

.recruit-benefits__list {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  -moz-column-gap: 24px;
       column-gap: 24px;
  row-gap: 24px;
  max-width: 1010px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .recruit-benefits__list {
    grid-template-columns: 1fr;
    row-gap: 16px;
  }
}

.recruit.en-child .recruit-statisticsCard__upper {
  grid-template-columns: 0.65fr 1.38fr;
}
@media screen and (max-width: 767px) {
  .recruit.en-child .recruit-statisticsCard__upper {
    grid-template-columns: 1fr 1.9fr;
  }
}
@media screen and (max-width: 767px) {
  .recruit.en-child .recruit-statisticsCard--map .recruit-statisticsCard__mapContent {
    margin-top: 10px;
  }
}
.recruit.en-child .recruit-statisticsCard--map .recruit-statisticsCard__legendItem:nth-of-type(3) .recruit-statisticsCard__legendUnit.is-forward {
  margin-left: 0;
}
.recruit.en-child .recruit-statisticsCard--map .recruit-statisticsCard__legend {
  width: 300px;
}
@media screen and (max-width: 1024px) {
  .recruit.en-child .recruit-statisticsCard--map .recruit-statisticsCard__legend {
    width: auto;
  }
}
.recruit.en-child .recruit-statisticsCard--map .recruit-statisticsCard__legendUnit {
  margin: 10px 6px 0;
}

.recruit-statistics {
  position: relative;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 170px;
}
@media screen and (max-width: 767px) {
  .recruit-statistics {
    padding-top: 115px;
  }
}

.recruit-statistics__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.recruit-statistics__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  /* デザインに基づき、上の2つは高さ固定、地図は内容に合わせる設定 */
  grid-template-rows: auto auto;
  row-gap: 20px;
  -moz-column-gap: 20px;
       column-gap: 20px;
  margin-top: 90px;
  /* 1枚目：平均年齢 */
  /* 2枚目：修士・博士取得率 */
  /* 3枚目：従業員分布図（下段を横いっぱいに使う） */
}
@media screen and (max-width: 1024px) {
  .recruit-statistics__layout {
    display: flex;
    flex-direction: column;
    margin-top: 40px;
    max-width: 526px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .recruit-statistics__layout {
    max-width: 400px;
  }
}
.recruit-statistics__layout > *:nth-child(1) {
  grid-area: 1/1/2/2;
}
@media screen and (max-width: 1024px) {
  .recruit-statistics__layout > *:nth-child(1) {
    margin-left: calc(var(--gutter) * -0.5);
    margin-right: calc(var(--gutter) * -0.5);
  }
}
.recruit-statistics__layout > *:nth-child(2) {
  grid-area: 1/2/2/3;
}
.recruit-statistics__layout > *:nth-child(3) {
  grid-area: 2/1/3/3;
}

/* ==========================================================================
   Recruit Statistics Card (Common)
   ========================================================================== */
.recruit-statisticsCard {
  background-color: #fbfbfb;
  border-radius: 20px;
  padding: 32px;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .recruit-statisticsCard {
    padding: 24px 20px;
  }
}

.recruit-statisticsCard__heading {
  font-size: clamp(18px, 1.875vw, 24px);
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  padding: 0 14px;
}
@media screen and (max-width: 767px) {
  .recruit-statisticsCard__heading {
    font-size: 18px;
    line-height: 1.33;
  }
}

.recruit-statisticsCard__upper {
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 16px;
       column-gap: 16px;
  row-gap: 8px;
}
@media screen and (max-width: 767px) {
  .recruit-statisticsCard__upper {
    grid-template-columns: 1fr 1.3fr;
    -moz-column-gap: 0;
         column-gap: 0;
  }
}
.recruit-statisticsCard__upper > *:nth-child(1) {
  grid-area: 1/1/3/2;
  align-self: flex-end;
}
@media screen and (max-width: 767px) {
  .recruit-statisticsCard__upper > *:nth-child(1) {
    align-self: center;
    justify-self: center;
  }
}

.recruit-statisticsCard__num {
  font-size: clamp(40px, 6.25vw, 80px);
  line-height: 1;
  color: #1a8cc8;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .recruit-statisticsCard__num {
    font-size: 48px;
  }
}

.recruit-statisticsCard__unit {
  font-size: clamp(18px, 1.875vw, 24px);
  font-weight: 700;
}

.recruit-statisticsCard__supplement {
  color: var(--color-secondary);
  font-size: clamp(18px, 1.875vw, 24px);
  font-weight: 700;
}

.recruit-statisticsCard__text {
  font-size: 14px;
  line-height: 2;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .recruit-statisticsCard__text {
    font-size: 12px;
    margin-top: 12px;
  }
}

@media screen and (max-width: 767px) {
  .recruit-statisticsCard--map {
    padding: 40px 10px;
  }
}
.recruit-statisticsCard--map .recruit-statisticsCard__mapContent {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0 40px;
  margin-top: 3px;
  -moz-column-gap: 120px;
       column-gap: 120px;
  row-gap: 0;
}
@media screen and (max-width: 1024px) {
  .recruit-statisticsCard--map .recruit-statisticsCard__mapContent {
    padding: 0;
    margin-top: -20px;
    flex-direction: column;
    align-items: center;
  }
}
.recruit-statisticsCard--map .recruit-statisticsCard__mapImage {
  flex: 1;
  max-width: 499px;
  width: 100%;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  .recruit-statisticsCard--map .recruit-statisticsCard__mapImage {
    max-width: 355px;
    order: 1;
    width: 100%;
    margin-bottom: 16px;
  }
}
.recruit-statisticsCard--map .recruit-statisticsCard__mapImage svg {
  width: 100%;
  height: auto;
  fill: transparent;
}
.recruit-statisticsCard--map .recruit-statisticsCard__legend {
  width: 250px;
  display: flex;
  flex-direction: column;
  gap: 29px;
  margin-bottom: 24px;
}
@media screen and (max-width: 1024px) {
  .recruit-statisticsCard--map .recruit-statisticsCard__legend {
    order: 2;
    width: auto;
    align-self: center;
    gap: 24px;
  }
}
.recruit-statisticsCard--map .recruit-statisticsCard__legendItem {
  display: flex;
  align-items: center;
}
.recruit-statisticsCard--map .recruit-statisticsCard__circle {
  width: 80px;
  margin-right: 16px;
  flex-shrink: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .recruit-statisticsCard--map .recruit-statisticsCard__circle {
    width: 50px;
    margin-right: 24px;
  }
}
.recruit-statisticsCard--map .recruit-statisticsCard__circle--large:before {
  width: 80px;
}
@media screen and (max-width: 767px) {
  .recruit-statisticsCard--map .recruit-statisticsCard__circle--large:before {
    width: 50px;
  }
}
.recruit-statisticsCard--map .recruit-statisticsCard__circle--medium:before {
  width: 50px;
}
@media screen and (max-width: 767px) {
  .recruit-statisticsCard--map .recruit-statisticsCard__circle--medium:before {
    width: 30px;
  }
}
.recruit-statisticsCard--map .recruit-statisticsCard__circle--small:before {
  width: 30px;
}
@media screen and (max-width: 767px) {
  .recruit-statisticsCard--map .recruit-statisticsCard__circle--small:before {
    width: 20px;
  }
}
.recruit-statisticsCard--map .recruit-statisticsCard__circle:before {
  content: "";
  aspect-ratio: 1;
  border-radius: 50%;
  border: 4px solid #409A78;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .recruit-statisticsCard--map .recruit-statisticsCard__circle:before {
    border-width: 2px;
  }
}
.recruit-statisticsCard--map .recruit-statisticsCard__legendNum {
  font-size: 40px;
  font-weight: 700;
  color: var(--color-secondary);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .recruit-statisticsCard--map .recruit-statisticsCard__legendNum {
    font-size: 30px;
  }
}
.recruit-statisticsCard--map .recruit-statisticsCard__legendUnit {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-top: 10px;
  margin-left: 4px;
}
@media screen and (max-width: 767px) {
  .recruit-statisticsCard--map .recruit-statisticsCard__legendUnit {
    font-size: 14px;
    line-height: 1;
  }
}
.recruit-statisticsCard--map .recruit-statisticsCard__text {
  width: 100%;
  font-size: 14px;
  line-height: 2;
}
@media screen and (max-width: 1024px) {
  .recruit-statisticsCard--map .recruit-statisticsCard__text {
    padding: 0 14px;
    order: 3;
    font-size: 12px;
    margin-top: 0;
  }
}

.recruit-interest {
  position: relative;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 115px;
}
@media screen and (max-width: 767px) {
  .recruit-interest {
    padding-top: 40px;
  }
}
.recruit-interest .zoom-slider__contents {
  max-width: 550px;
  margin-top: 15px;
}
.recruit-interest .zoom-slider__arrows {
  top: 21%;
}
@media screen and (max-width: 767px) {
  .recruit-interest .zoom-slider__arrows {
    top: 10%;
  }
}
.recruit-interest .zoom-sliderItem__heading {
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .recruit-interest .zoom-sliderItem__heading {
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.15em;
    width: 96%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .recruit-interest .zoom-sliderItem__subtext {
    font-size: 12px;
    line-height: 2;
    margin-top: 16px;
    width: 85%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .recruit-interest .zoom-slider__progress {
    display: none;
  }
}

.recruit-interest__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.recruit-interest__slider {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .recruit-interest__slider {
    margin-top: 40px;
  }
}

.recruit-people {
  --people-thumb-width: 582px;
  --people-thumb-height: 535px;
  --people-thumb-gap: 16px;
  padding-top: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .recruit-people {
    padding-top: 120px;
    --people-thumb-width: 282px;
    --people-thumb-height: 261px;
  }
}

.recruit-people__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.recruit-people__thumbs {
  margin-top: 80px;
  position: relative;
  transform-style: preserve-3d;
}

.recruit-people__thumbs .swiper {
  transform-style: preserve-3d;
  perspective: 1200px;
}

.recruit-people__thumbs .swiper-slide {
  width: auto;
  display: grid;
  place-items: center;
  transform-style: preserve-3d;
  filter: blur(4px);
}
.recruit-people__thumbs .swiper-slide.is-active {
  filter: blur(0);
}

/* thumb button */
.recruit-peopleThumb {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  width: var(--people-thumb-width);
  height: var(--people-thumb-height);
  overflow: hidden;
}

.recruit-peopleThumb__img {
  width: 100%;
  height: 100%;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 470 430'%3E%3Cpath d='M468.733 144.064C463.051 45.7235 372.527 -25.4567 263.716 8.65443C221.726 21.8268 196.677 58.7647 152.759 71.0628C90.9775 88.3588 42.5312 96.5041 13.3495 163.007C-26.5672 253.96 26.0562 365.707 130.894 412.582C218.717 451.852 287.99 420.888 346.485 354.982C375.755 322.008 477.102 288.902 468.733 144.064Z' fill='%23000'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 470 430'%3E%3Cpath d='M468.733 144.064C463.051 45.7235 372.527 -25.4567 263.716 8.65443C221.726 21.8268 196.677 58.7647 152.759 71.0628C90.9775 88.3588 42.5312 96.5041 13.3495 163.007C-26.5672 253.96 26.0562 365.707 130.894 412.582C218.717 451.852 287.99 420.888 346.485 354.982C375.755 322.008 477.102 288.902 468.733 144.064Z' fill='%23000'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: filter 0.25s ease, opacity 0.25s ease, transform 0.25s ease;
}

/* arrows */
.recruit-people__arrows {
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  -moz-column-gap: 35px;
       column-gap: 35px;
  margin-top: -50px;
}
@media screen and (max-width: 767px) {
  .recruit-people__arrows {
    justify-content: space-between;
    width: 106%;
    position: absolute;
    top: 40%;
    margin-top: unset;
    pointer-events: none;
    margin-left: -10px;
    margin-right: -10px;
  }
}

.recruit-people__arrow {
  cursor: pointer;
  pointer-events: auto;
}

.recruit-people__arrow:disabled {
  opacity: 0.35;
  cursor: default;
}

/* contents */
.recruit-people__contents {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .recruit-people__contents {
    margin-top: unset;
  }
}

.recruit-people__layout {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .recruit-people__layout {
    width: 82%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
  }
}

.recruit-people__role {
  font-weight: 400;
  font-size: 18px;
  line-height: 2.2222222222;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .recruit-people__role {
    font-size: 12px;
    line-height: 2;
    font-weight: 700;
  }
}

.recruit-people__name {
  margin-top: 16px;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .recruit-people__name {
    font-size: 18px;
    letter-spacing: 0.15em;
    margin-top: 8px;
  }
}

.recruit-people__right {
  max-height: 340px;
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  row-gap: 32px;
  overflow-y: scroll;
  scrollbar-width: thin;
  scrollbar-color: #409A78 #f0f0f0;
  /* ------------------------------- */
}
.recruit-people__right::-webkit-scrollbar {
  width: 8px;
}
.recruit-people__right::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 10px;
}
.recruit-people__right::-webkit-scrollbar-thumb {
  background: #409A78;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .recruit-people__right {
    max-height: 303px;
    margin-top: 24px;
    row-gap: 20px;
  }
}

.recruit-people__right-ttl {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7777777778;
  padding-left: 8px;
  border-left: solid 4px var(--color-secondary);
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .recruit-people__right-ttl {
    font-size: 14px;
    line-height: 1.7142857143;
  }
}

.recruit-people__right-text {
  font-size: 16px;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .recruit-people__right-text {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .recruit-people__right-text {
    font-size: 12px;
  }
}

.recruit-people__grid {
  display: grid;
  grid-template-columns: 430px 1fr;
  -moz-column-gap: 32px;
       column-gap: 32px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .recruit-people__grid {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }
}

.recruit-people__col {
  min-width: 0;
}

.recruit-people__col--left {
  overflow: visible;
  margin-left: -40%;
}
@media screen and (max-width: 767px) {
  .recruit-people__col--left {
    margin-left: unset;
    position: relative;
  }
}

.recruit-people__col--right {
  overflow: visible;
}

.recruit-people__thumbs .swiper {
  overflow: visible;
  perspective: 1200px;
  transform-style: preserve-3d;
}

/* layout用の親に transform を置かない */
.recruit-people__thumbs {
  margin-top: 80px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .recruit-people__thumbs {
    margin-top: 40px;
  }
}

.recruit-people__thumbs .swiper-wrapper,
.recruit-people__thumbs .swiper-slide {
  transform-style: preserve-3d;
}

.recruit-flow {
  position: relative;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 200px;
}
@media screen and (max-width: 1024px) {
  .recruit-flow {
    padding-top: 115px;
  }
}

.recruit-flow__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.recruit-flow__list {
  display: flex;
  justify-content: space-between;
  margin-top: 85px;
  padding-left: 10px;
  padding-right: 10px;
}
@media screen and (max-width: 1024px) {
  .recruit-flow__list {
    width: 100%;
    flex-direction: column;
    padding-left: unset;
    row-gap: 40px;
    padding-right: unset;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
    max-width: 335px;
  }
}

.recruit-flow__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .recruit-flow__item {
    flex-direction: row;
    align-items: center;
  }
}
.recruit-flow__item:not(:last-of-type)::after {
  position: absolute;
  top: 54%;
  left: 50%;
  translate: 0 -50%;
  content: "";
  width: 100%;
  height: 2px;
  background-color: #B8B8B8;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .recruit-flow__item:not(:last-of-type)::after {
    height: 100%;
    width: 2px;
    left: 31px;
    top: 50%;
    translate: -50% 0;
  }
}

@media screen and (max-width: 1024px) {
  .recruit-flow__step {
    order: 2;
    margin-left: 12px;
    align-self: flex-end;
  }
}

.recruit-flow__unit {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
  display: block;
  text-align: center;
}

.recruit-flow__num {
  margin-top: 4px;
  font-weight: 700;
  font-size: 40px;
  line-height: 1;
  display: block;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .recruit-flow__num {
    margin-top: unset;
  }
}

.recruit-flow__circle {
  margin-top: 40px;
  aspect-ratio: 1/1;
  background-color: #74bba0;
  filter: blur(5px);
  border-radius: 999em;
  width: 95px;
  height: 95px;
}
@media screen and (max-width: 1024px) {
  .recruit-flow__circle {
    order: 1;
    width: 64px;
    height: 64px;
    margin-top: unset;
  }
}

.recruit-flow__name {
  padding-top: 60px;
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .recruit-flow__name {
    order: 3;
    padding-top: unset;
    margin-left: 24px;
    align-self: flex-end;
  }
}
.recruit-flow__name::after {
  content: "";
  z-index: -1;
  filter: blur(0);
  position: absolute;
  background-color: var(--color-theme-secondary);
  height: 40px;
  left: 50%;
  top: 0;
  translate: -50%;
  width: 2px;
}
@media screen and (max-width: 1024px) {
  .recruit-flow__name::after {
    display: none;
  }
}

.recruit-message {
  padding-top: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .recruit-message {
    padding-top: 120px;
  }
}

.recruit-message__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.recruit-message__layout {
  display: grid;
  grid-template-columns: 1fr 1.27fr;
  margin-top: 75px;
  -moz-column-gap: 5%;
       column-gap: 5%;
}
@media screen and (max-width: 767px) {
  .recruit-message__layout {
    grid-template-columns: 1fr;
    row-gap: 20px;
    margin-top: 35px;
  }
}

.recruit-message__left {
  margin-left: -40%;
  margin-top: -7%;
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .recruit-message__left {
    margin-top: unset;
    padding-top: unset;
    margin-left: auto;
    margin-right: auto;
    width: 85%;
  }
}

.recruit-message__thumbnail {
  filter: drop-shadow(0 8px 8px rgba(0, 0, 0, 0.25));
}

.recruit-message__text {
  font-size: 16px;
  line-height: 2;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .recruit-message__text {
    font-size: 12px;
    line-height: 2;
    margin-top: 24px;
  }
}

.recruit-message__catch {
  font-size: clamp(18px, 3.125vw, 32px);
  line-height: 1.3125;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .recruit-message__catch {
    font-size: 18px;
    line-height: 1.3333333333;
    letter-spacing: 0;
  }
}

.strength-area {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 120px;
  padding-bottom: 120px;
  position: relative;
  overflow: clip;
  background-color: #E2F1FF;
  --fade-size: 40px;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, black var(--fade-size), black calc(100% - var(--fade-size)), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, black var(--fade-size), black calc(100% - var(--fade-size)), transparent 100%);
}

.strength-area__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.strength-area__intro {
  font-size: 14px;
  line-height: 1.7142857143;
  margin-top: 15px;
  padding-left: 15px;
}
@media screen and (max-width: 767px) {
  .strength-area__intro {
    padding-left: 55px;
  }
}

.strength-area__line {
  position: absolute;
  left: 0;
  top: 20%;
  height: 100%;
  width: 100%;
  overflow: clip;
}

.strength-area__lineImg {
  width: 100%;
}

.strength-area__contents {
  position: relative;
  z-index: 2;
}

.strength-area__graph svg {
  max-width: 100%;
  height: 100%;
}
.strength-area__graph--sp {
  margin-top: 40px;
  display: grid;
  place-items: center;
}
@media not screen and (max-width: 767px) {
  .strength-area__graph--sp {
    display: none;
  }
}
.strength-area__graph--pctab {
  margin-top: 100px;
  width: 95%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .strength-area__graph--pctab {
    display: none;
  }
}

.strength-area__layout {
  display: grid;
  grid-template-columns: 400fr 568fr;
  -moz-column-gap: 40px;
       column-gap: 40px;
  margin-top: 40px;
  padding-right: 6%;
  padding-left: 1.5%;
}
@media screen and (max-width: 767px) {
  .strength-area__layout {
    grid-template-columns: 1fr;
    padding-right: unset;
    padding-left: unset;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
  }
}

.strength-area__list {
  display: grid;
  row-gap: 45px;
  margin-top: 55px;
}
@media screen and (max-width: 767px) {
  .strength-area__list {
    margin-top: 45px;
    row-gap: 25px;
  }
}

.strength-areaItem--green {
  --color-strength-area-item: #AACE36;
}
.strength-areaItem--red {
  --color-strength-area-item: #FF4B00;
}
.strength-areaItem--blue {
  --color-strength-area-item: var(--color-secondary);
}

.strength-areaItem__bar {
  display: flex;
  align-items: center;
  gap: 0;
  transform-origin: 0% 50%;
}

.strength-areaItem__line {
  width: 89px;
  height: 2px;
  background-color: var(--color-strength-area-item);
  display: block;
}

@media screen and (max-width: 767px) {
  .strength-areaItem__line {
    width: 21px;
  }
}
.strength-areaItem__dot {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  border: 2px solid var(--color-strength-area-item);
  display: block;
  background: #E2F1FF;
}

.strength-areaItem__layout {
  display: grid;
  grid-template-columns: 105px 1fr;
  -moz-column-gap: 24px;
       column-gap: 24px;
}
@media screen and (max-width: 767px) {
  .strength-areaItem__layout {
    grid-template-columns: 36px 1fr;
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
}
.strength-areaItem__layout > *:nth-child(1) {
  align-self: flex-start;
  padding-top: 8px;
}

.strength-areaItem__text {
  font-size: 14px;
  line-height: 1.7142857143;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .strength-areaItem__text {
    margin-top: 5px;
  }
}

.strength-areaItem__heading {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
}

.strength-area__blueprint {
  margin-top: 120px;
  padding-left: 15px;
  padding-right: 15px;
}
@media screen and (max-width: 767px) {
  .strength-area__blueprint {
    margin-top: 90px;
  }
}

@media screen and (max-width: 767px) {
  .strength-areaItem__body {
    padding-right: var(--gutter);
  }
}

@media screen and (max-width: 767px) {
  .strength-area__figureImg {
    width: 240px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}

.strength-base {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .strength-base {
    padding-top: 120px;
    padding-bottom: 80px;
  }
}

.strength-base__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .strength-base__heading {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.strength-base__intro {
  font-size: 14px;
  line-height: 1.7142857143;
  margin-top: 15px;
  padding-left: 15px;
}
@media screen and (max-width: 767px) {
  .strength-base__intro {
    padding-left: 55px;
  }
}

.strength-base__slider {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .strength-base__slider {
    margin-top: 50px;
  }
}

.strength-blueprint__heading {
  font-size: 24px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .strength-blueprint__heading {
    text-align: center;
  }
}

.strength-blueprint__text {
  font-size: 14px;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
  width: 60%;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .strength-blueprint__text {
    width: 100%;
  }
}

.strength-blueprint__slider {
  margin-top: 80px;
  max-width: 930px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .strength-blueprint__slider {
    margin-top: 40px;
  }
}
.strength-blueprint__slider .swiper-slide:not(:first-of-type) {
  position: relative;
  --arrow-x: -200%;
  --arrow-a: 0;
}
.strength-blueprint__slider .swiper-slide:not(:first-of-type) .model-blueprintItem__figure::before {
  content: "";
  position: absolute;
  left: -20%;
  top: 50%;
  opacity: var(--arrow-a);
  transform: translate3d(var(--arrow-x), -50%, 0);
  width: 16px;
  height: 52px;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2252%22%20viewBox%3D%220%200%2016%2052%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M0.484011%200.128499C0.944314%20-0.138548%201.53096%200.0241022%201.79398%200.491581L15.8736%2025.5163C16.0421%2025.816%2016.0422%2026.184%2015.8736%2026.4837L1.79398%2051.5084C1.53096%2051.9759%200.944315%2052.1385%200.484011%2051.8715C0.0237305%2051.6044%20-0.136415%2051.0086%200.12652%2050.541L13.9336%2026L0.12652%201.45895C-0.136414%200.99145%200.0237319%200.39563%200.484011%200.128499Z%22%20fill%3D%22%233C3C3C%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .strength-blueprint__slider .swiper-slide:not(:first-of-type) .model-blueprintItem__figure::before {
    left: -31%;
  }
}
@media screen and (max-width: 767px) {
  .strength-blueprint__slider .swiper-slide:not(:first-of-type) .model-blueprintItem__figure::before {
    left: -2%;
  }
}
@media not screen and (max-width: 767px) {
  .strength-blueprint__slider .swiper-wrapper {
    display: flex;
    justify-content: space-between;
    transform: none !important;
  }
  .strength-blueprint__slider .swiper-slide {
    width: min(230px, 19.1666666667vw);
  }
}

.strength-catch {
  padding-top: 40px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.strength-catch__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.strength-catch__catch {
  font-size: 42px;
  line-height: 1.3;
  font-weight: 700;
  color: var(--color-secondary);
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .strength-catch__catch {
    font-size: 22px;
    line-height: 1.4545454545;
  }
}

.strength-social {
  padding-top: 200px;
}
@media screen and (max-width: 767px) {
  .strength-social {
    padding-top: 120px;
  }
}

.strength-social__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .strength-social__heading {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.strength-social__intro {
  font-size: 14px;
  line-height: 1.7142857143;
  margin-top: 15px;
  padding-left: 15px;
}
@media screen and (max-width: 767px) {
  .strength-social__intro {
    padding-left: 55px;
  }
}

.strength-social__slider {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .strength-social__slider {
    margin-top: 40px;
  }
}
@media not screen and (max-width: 767px) {
  .strength-social__slider .shadow-slider .swiper-slide {
    height: auto;
  }
}

.strength-professional {
  padding-top: 200px;
  padding-bottom: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .strength-professional {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}

.strength-professional__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .strength-professional__heading {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.strength-professional__stat {
  margin-top: 113px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .strength-professional__stat {
    margin-top: 40px;
  }
}

.strength-professional__stat-bg {
  background: #FBFBFB;
  border-radius: 19px;
  filter: blur(2.5px);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.strength-professional__stat-inner {
  display: grid;
  grid-template-columns: 260px 1fr;
  grid-template-rows: auto auto;
  padding: 62px 32px 0 80px;
  -moz-column-gap: 60px;
       column-gap: 60px;
  align-items: end;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .strength-professional__stat-inner {
    row-gap: 28px;
  }
}
@media screen and (max-width: 767px) {
  .strength-professional__stat-inner {
    display: grid;
    align-items: start;
    grid-template-columns: 111px 1fr;
    grid-template-rows: auto auto;
    -moz-column-gap: 18px;
         column-gap: 18px;
    row-gap: 31px;
    padding: 30px 15px;
  }
}

.strength-professional__stat-visual {
  grid-column: 1/2;
  grid-row: 1/3;
}
.strength-professional__stat-visual svg {
  width: 100%;
  height: auto;
  display: block;
}
.strength-professional__stat-visual svg path {
  fill: transparent;
}

.strength-professional__stat-list {
  grid-column: 2/3;
  grid-row: 1/2;
  display: flex;
  -moz-column-gap: 64px;
       column-gap: 64px;
}
@media screen and (max-width: 1024px) {
  .strength-professional__stat-list {
    flex-direction: column;
    row-gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .strength-professional__stat-list {
    row-gap: 24px;
    align-items: flex-start;
  }
}

.strength-professional__stat-info {
  grid-column: 2/3;
  grid-row: 2/3;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .strength-professional__stat-info {
    grid-column: 1/3;
    margin-bottom: 0;
  }
}

.strength-professional__stat-label {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .strength-professional__stat-label {
    font-size: 18px;
    line-height: 1.3333333333;
    margin-bottom: 8px;
  }
}

.strength-professional__stat-data {
  font-weight: 700;
  display: flex;
  align-items: baseline;
}
@media screen and (max-width: 767px) {
  .strength-professional__stat-data {
    flex-wrap: nowrap;
  }
}

.strength-professional__stat-num {
  color: #187FC3;
  font-size: 80px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .strength-professional__stat-num {
    font-size: 48px;
  }
}

.strength-professional__stat-unit {
  font-size: 24px;
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .strength-professional__stat-unit {
    font-size: 18px;
    line-height: 1.3333333333;
  }
}

.strength-professional__stat-supplement {
  font-size: 24px;
  color: #187FC3;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .strength-professional__stat-supplement {
    font-size: 18px;
  }
}

.strength-professional__stat-text {
  font-size: 14px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .strength-professional__stat-text {
    font-size: 12px;
  }
}

.strength-professional__introduction {
  padding-top: 64px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  row-gap: 40px;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
@media screen and (max-width: 1024px) {
  .strength-professional__introduction {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .strength-professional__introduction {
    grid-template-columns: 1fr;
  }
}

.strength-professional__introduction-item {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
}

.strength-professional__introduction-thumb {
  aspect-ratio: 1;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .strength-professional__introduction-thumb {
    aspect-ratio: 335/240;
  }
}

.strength-professional__introduction-plus {
  background: #409A78;
  width: 40px;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  position: absolute;
  right: 16px;
  bottom: 16px;
}

.strength-professional__introduction-plus-icn {
  width: 20px;
  aspect-ratio: 1;
  position: relative;
  cursor: pointer;
}
.strength-professional__introduction-plus-icn:before, .strength-professional__introduction-plus-icn:after {
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
}
.strength-professional__introduction-plus-icn:after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.strength-professional__introduction-position {
  font-size: 18px;
  font-weight: 400;
  line-height: 2.2222222222;
  letter-spacing: 0.05em;
  display: block;
}
@media screen and (max-width: 767px) {
  .strength-professional__introduction-position {
    font-size: 14px;
    line-height: 1.7142857143;
    letter-spacing: 0;
    text-align: center;
  }
}

.strength-professional__introduction-name {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .strength-professional__introduction-name {
    font-size: 18px;
    line-height: 1.3333333333;
    letter-spacing: 0;
    text-align: center;
  }
}

.strength-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.strength-modal.is-active {
  opacity: 1;
  visibility: visible;
}

.strength-modal__close {
  width: 40px;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 24px;
  right: 24px;
  background: white;
  border: solid 2px #409A78;
  border-radius: 50%;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .strength-modal__close {
    top: 16px;
    right: 16px;
  }
}

.strength-modal__close-icn {
  width: 20px;
  display: block;
  position: relative;
}
.strength-modal__close-icn:before, .strength-modal__close-icn:after {
  content: "";
  width: 100%;
  height: 2px;
  background: #409A78;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.strength-modal__close-icn:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.strength-modal__bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}

.strength-modal__content {
  position: relative;
  background: #fff;
  width: 100%;
  max-width: 944px;
  border-radius: 24px;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .strength-modal__content {
    max-width: 724px;
  }
}
@media screen and (max-width: 767px) {
  .strength-modal__content {
    max-width: 89.3333333333vw;
    border-radius: 20px;
  }
}

.strength-modal__body {
  display: grid;
  align-items: stretch;
  grid-template-columns: 384px auto;
  gap: 40px;
}
@media screen and (max-width: 1024px) {
  .strength-modal__body {
    grid-template-columns: 344px auto;
    gap: 32px;
  }
}
@media screen and (max-width: 767px) {
  .strength-modal__body {
    grid-template-columns: 1fr;
    flex-direction: column;
    gap: 0;
  }
}

.strength-modal__visual {
  width: 100%;
}
.strength-modal__visual img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.strength-modal__image-wrapper {
  width: 100%;
  height: 100%;
}

.strength-modal__info {
  padding: 76px 90px 76px 0;
}
@media screen and (max-width: 1024px) {
  .strength-modal__info {
    padding: 76px 64px 76px 0;
  }
}
@media screen and (max-width: 767px) {
  .strength-modal__info {
    padding: 6.4vw 5.3333333333vw 5.8666666667vw;
  }
}

.strength-modal__position {
  font-size: 18px;
  font-weight: 400;
  line-height: 2.2222222222;
  letter-spacing: 0.05em;
  display: block;
}
@media screen and (max-width: 767px) {
  .strength-modal__position {
    font-size: 14px;
    line-height: 1.7142857143;
    text-align: center;
  }
}

.strength-modal__name {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  border-bottom: 2px solid var(--color-secondary);
  padding-bottom: 4px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .strength-modal__name {
    font-size: 18px;
    line-height: 1.3333333333;
    text-align: center;
    padding-bottom: 8px;
    margin-bottom: 16px;
  }
}

.strength-modal__profile {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .strength-modal__profile {
    font-size: 12px;
    line-height: 2;
    letter-spacing: 0;
  }
}

.webinar-archive {
  padding-top: 40px;
  padding-bottom: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .webinar-archive {
    padding-top: 40px;
    padding-bottom: 120px;
  }
}

.webinar-archive__inner {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.webinar-archive__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 64px;
}
@media screen and (max-width: 767px) {
  .webinar-archive__list {
    row-gap: 40px;
  }
}

.webinar-archive__pagination {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .webinar-archive__pagination {
    margin-top: 80px;
  }
}

.webinar-single__heading {
  font-size: 32px;
  line-height: 1.3125;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .webinar-single__heading {
    font-size: 24px;
    line-height: 1.5;
  }
}

.webinar-single__meta {
  margin-top: 32px;
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .webinar-single__meta {
    margin-top: 40px;
  }
}

.webinar-single__date {
  font-size: 17px;
  line-height: 1.6470588235;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .webinar-single__date {
    font-size: 16px;
    letter-spacing: 0;
  }
}

.webinar-single__button {
  margin-top: 32px;
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  row-gap: 12px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .webinar-single__button {
    margin-top: 24px;
    -moz-column-gap: 8px;
         column-gap: 8px;
    row-gap: 8px;
  }
}

.webinar-single__body {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .webinar-single__body {
    margin-top: 40px;
  }
}

.webinar-single__thumbnail {
  border-radius: 10px;
  aspect-ratio: 700/467;
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .webinar-single__thumbnail {
    margin-top: 24px;
    aspect-ratio: 335/200;
  }
}
.webinar-single__thumbnail img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  height: 100%;
}

.webinar-singleLayout {
  padding-bottom: 120px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .webinar-singleLayout {
    padding-bottom: 80px;
  }
}

.webinar-singleLayout__inner {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.webinar-singleLayout__button {
  margin-top: 120px;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .webinar-singleLayout__button {
    margin-top: 80px;
  }
}

.zoom-slider {
  /* thumbs size */
  --zoom-thumb-base: 500px;
  /* アクティブ基準（物理サイズ） */
  --zoom-thumb-inactive: 300px;
  /* 非アクティブ見た目サイズ */
  --zoom-scale-inactive: calc(var(--zoom-thumb-inactive) / var(--zoom-thumb-base));
  /* JSのspaceBetweenと同期 */
  --zoom-between: 60px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .zoom-slider {
    --zoom-thumb-base: 282px;
  }
}

/* =========================
   thumbs
========================= */
.zoom-slider .js-swiper-zoom-thumbs {
  overflow: visible;
  padding-left: calc((100% - var(--zoom-thumb-base)) / 2);
  padding-right: calc((100% - var(--zoom-thumb-base)) / 2);
}

.zoom-slider .js-swiper-zoom-thumbs .swiper-slide {
  width: var(--zoom-thumb-base) !important;
  height: auto;
  display: grid;
  place-items: center;
}

.zoom-sliderThumb {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  width: var(--zoom-thumb-base);
  height: auto;
  overflow: hidden;
  transform-origin: center;
  transition: transform 0.35s ease, opacity 0.25s ease;
}

.zoom-sliderThumb__img {
  aspect-ratio: 469/430;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  /* SVGの形でくり抜く */
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 470 430'%3E%3Cpath d='M468.733 144.064C463.051 45.7235 372.527 -25.4567 263.716 8.65443C221.726 21.8268 196.677 58.7647 152.759 71.0628C90.9775 88.3588 42.5312 96.5041 13.3495 163.007C-26.5672 253.96 26.0562 365.707 130.894 412.582C218.717 451.852 287.99 420.888 346.485 354.982C375.755 322.008 477.102 288.902 468.733 144.064Z' fill='%23000'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 470 430'%3E%3Cpath d='M468.733 144.064C463.051 45.7235 372.527 -25.4567 263.716 8.65443C221.726 21.8268 196.677 58.7647 152.759 71.0628C90.9775 88.3588 42.5312 96.5041 13.3495 163.007C-26.5672 253.96 26.0562 365.707 130.894 412.582C218.717 451.852 287.99 420.888 346.485 354.982C375.755 322.008 477.102 288.902 468.733 144.064Z' fill='%23000'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

/* 非アクティブ（PC）：300 / 500 に縮小 */
.zoom-slider .js-swiper-zoom-thumbs .swiper-slide:not(.is-active) .zoom-sliderThumb {
  transform: scale(var(--zoom-scale-inactive));
  opacity: 0.6;
}

/* アクティブ（PC）：等倍 */
.zoom-slider .js-swiper-zoom-thumbs .swiper-slide.is-active .zoom-sliderThumb {
  transform: scale(1);
  opacity: 1;
}

/* =========================
   SP：拡大なし
========================= */
@media screen and (max-width: 767px) {
  .zoom-slider .js-swiper-zoom-thumbs .swiper-slide .zoom-sliderThumb {
    transform: none;
    opacity: 1;
  }
}
/* =========================
   contents
========================= */
.zoom-slider__contents {
  margin-left: auto;
  margin-right: auto;
  padding-top: 0;
}

.zoom-sliderItem__heading {
  font-size: 32px;
  line-height: 1.3125;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .zoom-sliderItem__heading {
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.15em;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.zoom-sliderItem__subheading {
  font-size: 24px;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  text-align: center;
  color: var(--color-primary);
  margin-top: 40px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .zoom-sliderItem__subheading {
    min-height: 3lh;
    font-size: 22px;
    line-height: 1.4545454545;
    margin-top: 20px;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.zoom-sliderItem__text {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .zoom-sliderItem__text {
    font-size: 12px;
    margin-top: 20px;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.zoom-sliderItem__text a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* =========================
   progress
========================= */
.zoom-slider__progress {
  margin-top: 40px;
}
@media not screen and (max-width: 767px) {
  .zoom-slider__progress {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .zoom-slider__progress {
    margin-top: 35px;
  }
}
.zoom-slider__progress .progress-wrapper {
  position: relative;
  width: 200px;
  height: 4px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .zoom-slider__progress .progress-wrapper {
    width: 120px;
  }
}
.zoom-slider__progress .progress-track {
  position: absolute;
  inset: 0;
}
.zoom-slider__progress .progress-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background: white;
  transform: translateX(0);
  border-radius: 2px;
  transition: transform 0.1s linear;
}
.zoom-slider__progress .progress-center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 100%;
  background: var(--color-primary);
  transform: translate(-50%, -50%);
  pointer-events: none;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .zoom-slider__progress .progress-center {
    width: 120px;
  }
}

/* =========================
   arrows
========================= */
.zoom-slider__arrows {
  display: flex;
  justify-content: center;
  -moz-column-gap: 377px;
       column-gap: 377px;
  position: absolute;
  left: 50%;
  top: 36%;
  translate: -50%;
  color: var(--color-secondary);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .zoom-slider__arrows {
    -moz-column-gap: 189px;
         column-gap: 189px;
    top: 21%;
  }
}

.zoom-slider__arrow {
  cursor: pointer;
}

.zoom-slider__arrow:disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

.zoom-sliderItem__subtext {
  font-size: 16px;
  line-height: 2;
  margin-top: 40px;
}

.zoom-sliderItem__button {
  margin-top: 40px;
  display: grid;
  place-items: center;
}/*# sourceMappingURL=style.css.map */