@charset "UTF-8";
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

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

caption,
td,
th {
  font-weight: inherit;
  text-align: left;
  vertical-align: middle;
}

blockquote,
q {
  quotes: none;
}

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

a img {
  border: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

button {
  margin: 0;
  padding: 0;
  border: 0;
  background: 0;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

dialog {
  display: block;
}

:where(dialog) {
  inset-inline-start: unset;
  inset-inline-end: unset;
  margin: unset;
  padding: unset;
  border: unset;
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  overflow: unset;
  color: unset;
  background-color: unset;
}

/*
-apple-system：            iOS
NotoSans系：               Android 6.0・Notoインストール環境・Webフォント指定
游ゴシック Medium：        Win10
游ゴシック体：             Mac
Hiragino Kaku Gothic ProN：Mac
メイリオ：                 Win8以前
*/
/*
Noto Serif JP         Webフォント指定
Yu Mincho             Win10
YuMincho：            Mac
Hiragino Mincho ProN：Mac iOS
NotoSerifCJKjp：      Android等をWebフォントでカバーする場合
HGS明朝：             MS Officeインストール環境
*/
/*
 ########  ######## ########   ######  ######## ##    ## ########
 ##     ## ##       ##     ## ##       ##       ####  ##    ##
 ########  ######   ########  ##       ######   ## ## ##    ##
 ##        ##       ##   ##   ##       ##       ##  ####    ##
 ##        ######## ##     ##  ######  ######## ##    ##    ##
*/
/*
 ##    ## ##     ## ##     ##
 ####  ## ##     ## #### ####
 ## ## ## ##     ## ## ### ##
 ##  #### ##     ## ##     ##
 ##    ##  #######  ##     ##
*/
/*
#overview
アニメーション

各種アニメーション処理
*/
/*
 ########    ###    ########  ########
 ##         ## ##   ##     ## ##
 ######   ##     ## ##     ## ######
 ##       ######### ##     ## ##
 ##       ##     ## ########  ########
*/
/*
#styleguide
anime
「.anime.アニメ名」の形でクラスを当て、.animatedがつくと実行される。
「.anime.アニメ名.key」の形にするとkeyframe版になる。
keyframe版は始めからanimatedが付いていてもアニメーションするが、animated除去時はアニメーションしない。
```
<div class="flex break ta-center">
    <div>
        <button style="border:1px solid #000; padding:.1em;position:relative;z-index:2;" onclick="this.nextElementSibling.classList.toggle('animated')">通常版切り替え</button>
        <div class="anime bottom-in">
            <img src="https://placehold.jp/300x300.jpg?text=" alt="">
        </div>
    </div>
    <div>
        <button style="border:1px solid #000; padding:.1em;position:relative;z-index:2;" onclick="this.nextElementSibling.classList.toggle('animated')">keyframe版切り替え</button>
        <div class="anime bottom-in key animated">
            <img src="https://placehold.jp/300x300.jpg?text=" alt="">
        </div>
    </div>
</div>
```
*/
.anime.wave1 {
  transition-delay: 0s;
}
.anime.wave2 {
  transition-delay: 0.2s;
}
.anime.wave3 {
  transition-delay: 0.4s;
}
.anime.wave4 {
  transition-delay: 0.6s;
}
.anime.wave5 {
  transition-delay: 0.8s;
}
.anime.wave6 {
  transition-delay: 1s;
}
.anime.wave7 {
  transition-delay: 1.2s;
}
.anime.wave8 {
  transition-delay: 1.4s;
}
.anime.wave9 {
  transition-delay: 1.6s;
}
.anime.wave10 {
  transition-delay: 1.8s;
}

.anime {
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  /*
   ########    ###    ########  ########
   ##         ## ##   ##     ## ##
   ######   ##     ## ##     ## ######
   ##       ######### ##     ## ##
   ##       ##     ## ########  ########
  */
  /*
  #styleguide
  fade
  フェードアニメ
  ```
  <div class="flex break ta-center">
      <div>
          <button style="border:1px solid #000; padding:.1em;position:relative;z-index:2;" onclick="this.nextElementSibling.classList.toggle('animated')">切り替え</button>
          <div class="anime fade-in">
              <img src="https://placehold.jp/300x300.jpg?text=" alt="">
          </div>
      </div>
  </div>
  ```
  */
  /*
   ######## ##       #### ########
   ##       ##        ##  ##     ##
   ######   ##        ##  ########
   ##       ##        ##  ##
   ##       ######## #### ##
  */
  /*
  #styleguide
  flip-x flip-y
  フリップアニメ　X軸回転とY軸回転
  ```
  <div class="flex break ta-center">
      <div>
          <button style="border:1px solid #000; padding:.1em;position:relative;z-index:2;" onclick="this.nextElementSibling.classList.toggle('animated')">flip-x</button>
          <div class="anime flip-x">
              <img src="https://placehold.jp/300x300.jpg?text=" alt="">
          </div>
      </div>
      <div>
          <button style="border:1px solid #000; padding:.1em;position:relative;z-index:2;" onclick="this.nextElementSibling.classList.toggle('animated')">flip-y</button>
          <div class="anime flip-y">
              <img src="https://placehold.jp/300x300.jpg?text=" alt="">
          </div>
      </div>
  </div>
  ```
  */
  /*
   ########  #######   #######  ##     ##
       ##   ##     ## ##     ## #### ####
      ##    ##     ## ##     ## ## ### ##
     ##     ##     ## ##     ## ##     ##
   ########  #######   #######  ##     ##
  */
  /*
  #styleguide
  zoom-in
  ズームアニメ
  ```
  <div class="flex break ta-center">
      <div>
          <button style="border:1px solid #000; padding:.1em;position:relative;z-index:2;" onclick="this.nextElementSibling.classList.toggle('animated')">切り替え</button>
          <div class="anime zoom-in">
              <img src="https://placehold.jp/300x300.jpg?text=" alt="">
          </div>
      </div>
  </div>
  ```
  */
  /*
    ######  ##       #### ########  ########         #### ##    ##
   ##       ##        ##  ##     ## ##                ##  ####  ##
    ######  ##        ##  ##     ## ######   #######  ##  ## ## ##
         ## ##        ##  ##     ## ##                ##  ##  ####
    ######  ######## #### ########  ########         #### ##    ##
  */
  /*
  #styleguide
  top-in bottom-in left-in right-in
  スライドアニメ
  ```
  <div class="flex break ta-center">
      <div>
          <button style="border:1px solid #000; padding:.1em;position:relative;z-index:2;" onclick="this.nextElementSibling.classList.toggle('animated')">top-in</button>
          <div class="anime top-in">
              <img src="https://placehold.jp/300x300.jpg?text=" alt="">
          </div>
      </div>
      <div>
          <button style="border:1px solid #000; padding:.1em;position:relative;z-index:2;" onclick="this.nextElementSibling.classList.toggle('animated')">bottom-in</button>
          <div class="anime bottom-in">
              <img src="https://placehold.jp/300x300.jpg?text=" alt="">
          </div>
      </div>
      <div>
          <button style="border:1px solid #000; padding:.1em;position:relative;z-index:2;" onclick="this.nextElementSibling.classList.toggle('animated')">left-in</button>
          <div class="anime left-in">
              <img src="https://placehold.jp/300x300.jpg?text=" alt="">
          </div>
      </div>
      <div>
          <button style="border:1px solid #000; padding:.1em;position:relative;z-index:2;" onclick="this.nextElementSibling.classList.toggle('animated')">right-in</button>
          <div class="anime right-in">
              <img src="https://placehold.jp/300x300.jpg?text=0" alt="">
          </div>
      </div>
  </div>
  ```
  */
  /*
    ######   #######  ##     ## ##     ##  #######  ##    ##
   ##       ##     ## #### #### #### #### ##     ## ####  ##
   ##       ##     ## ## ### ## ## ### ## ##     ## ## ## ##
   ##       ##     ## ##     ## ##     ## ##     ## ##  ####
    ######   #######  ##     ## ##     ##  #######  ##    ##
  */
  /*
   ######## ##     ## ########     ###    ##    ## ########
   ##         ## ##   ##     ##  ##   ##  ####  ## ##     ##
   ######      ###    ########  ##     ## ## ## ## ##     ##
   ##         ## ##   ##        ######### ##  #### ##     ##
   ######## ##     ## ##        ##     ## ##    ## ########
  */
  /*
  #styleguide
  expand-left,expand-right,expand-top ,expand-bottom
  伸縮アニメ
  クリッピングパスプロパティを使用するため、事実上のoverflow:hiddenが強制的に付く。
  ```
  <div class="flex break ta-center">
      <div>
          <button style="border:1px solid #000; padding:.1em;position:relative;z-index:2;" onclick="this.nextElementSibling.classList.toggle('animated')">expand-top</button>
          <div class="anime expand-top">
              <img style="max-width:300px" src="https://placehold.jp/300x300.jpg?text=" alt="">
          </div>
      </div>
      <div>
          <button style="border:1px solid #000; padding:.1em;position:relative;z-index:2;" onclick="this.nextElementSibling.classList.toggle('animated')">expand-bottom</button>
          <div class="anime expand-bottom">
              <img src="https://placehold.jp/300x300.jpg?text=" alt="">
          </div>
      </div>
      <div>
          <button style="border:1px solid #000; padding:.1em;position:relative;z-index:2;" onclick="this.nextElementSibling.classList.toggle('animated')">expand-left</button>
          <div class="anime expand-left">
              <img style="max-width:300px" src="https://placehold.jp/300x300.jpg?text=" alt="">
          </div>
      </div>
      <div>
          <button style="border:1px solid #000; padding:.1em;position:relative;z-index:2;" onclick="this.nextElementSibling.classList.toggle('animated')">expand-right</button>
          <div class="anime expand-right">
              <img src="https://placehold.jp/300x300.jpg?text=" alt="">
          </div>
      </div>

  </div>
  ```
  */
  /*
  #styleguide
  blur-in
  ぼかしアニメ
  ```
  <div class="flex break ta-center">
      <div>
          <button style="border:1px solid #000; padding:.1em;position:relative;z-index:2;" onclick="this.nextElementSibling.classList.toggle('animated')">blur-in</button>
          <div class="anime blur-in">
              <img style="max-width:none;" src="https://placehold.jp/300x300.jpg?text=" alt="">
          </div>
      </div>
  </div>
  ```
  */
}
.anime:not(.key) {
  transition-duration: 0.5s;
}
.anime.quick {
  transition-duration: 0s;
  animation-duration: 0s;
}
.anime.flip-x {
  transform: rotateX(90deg);
}
.anime.flip-y {
  transform: rotateY(90deg);
}
.anime.zoom-in {
  transform: scale(0);
}
.anime.top-in {
  transform: translateY(-50px);
  transform-origin: 0 0;
}
.anime.bottom-in {
  transform: translateY(50px);
}
.anime.left-in {
  transform: translateX(-50px);
}
.anime.right-in {
  transform: translateX(50px);
}
@keyframes transform-purge {
  100% {
    opacity: 1;
    transform: none;
  }
}
.anime.fade-in, .anime.flip-x, .anime.flip-y, .anime.zoom-in, .anime.top-in, .anime.bottom-in, .anime.left-in, .anime.right-in {
  opacity: 0;
  transition-property: opacity, transform;
}
.anime.fade-in.active:not(.key), .anime.fade-in.animated:not(.key), .anime.animated .anime.fade-in.chain:not(.key), .anime.fade-in.lock:not(.key), .swiper-slide-active .anime.fade-in:not(.key), .anime.flip-x.active:not(.key), .anime.flip-x.animated:not(.key), .anime.animated .anime.flip-x.chain:not(.key), .anime.flip-x.lock:not(.key), .swiper-slide-active .anime.flip-x:not(.key), .anime.flip-y.active:not(.key), .anime.flip-y.animated:not(.key), .anime.animated .anime.flip-y.chain:not(.key), .anime.flip-y.lock:not(.key), .swiper-slide-active .anime.flip-y:not(.key), .anime.zoom-in.active:not(.key), .anime.zoom-in.animated:not(.key), .anime.animated .anime.zoom-in.chain:not(.key), .anime.zoom-in.lock:not(.key), .swiper-slide-active .anime.zoom-in:not(.key), .anime.top-in.active:not(.key), .anime.top-in.animated:not(.key), .anime.animated .anime.top-in.chain:not(.key), .anime.top-in.lock:not(.key), .swiper-slide-active .anime.top-in:not(.key), .anime.bottom-in.active:not(.key), .anime.bottom-in.animated:not(.key), .anime.animated .anime.bottom-in.chain:not(.key), .anime.bottom-in.lock:not(.key), .swiper-slide-active .anime.bottom-in:not(.key), .anime.left-in.active:not(.key), .anime.left-in.animated:not(.key), .anime.animated .anime.left-in.chain:not(.key), .anime.left-in.lock:not(.key), .swiper-slide-active .anime.left-in:not(.key), .anime.right-in.active:not(.key), .anime.right-in.animated:not(.key), .anime.animated .anime.right-in.chain:not(.key), .anime.right-in.lock:not(.key), .swiper-slide-active .anime.right-in:not(.key) {
  opacity: 1;
  transform: none;
}
.anime.fade-in.active.key, .anime.fade-in.animated.key, .anime.animated .anime.fade-in.chain.key, .anime.fade-in.lock.key, .swiper-slide-active .anime.fade-in.key, .anime.flip-x.active.key, .anime.flip-x.animated.key, .anime.animated .anime.flip-x.chain.key, .anime.flip-x.lock.key, .swiper-slide-active .anime.flip-x.key, .anime.flip-y.active.key, .anime.flip-y.animated.key, .anime.animated .anime.flip-y.chain.key, .anime.flip-y.lock.key, .swiper-slide-active .anime.flip-y.key, .anime.zoom-in.active.key, .anime.zoom-in.animated.key, .anime.animated .anime.zoom-in.chain.key, .anime.zoom-in.lock.key, .swiper-slide-active .anime.zoom-in.key, .anime.top-in.active.key, .anime.top-in.animated.key, .anime.animated .anime.top-in.chain.key, .anime.top-in.lock.key, .swiper-slide-active .anime.top-in.key, .anime.bottom-in.active.key, .anime.bottom-in.animated.key, .anime.animated .anime.bottom-in.chain.key, .anime.bottom-in.lock.key, .swiper-slide-active .anime.bottom-in.key, .anime.left-in.active.key, .anime.left-in.animated.key, .anime.animated .anime.left-in.chain.key, .anime.left-in.lock.key, .swiper-slide-active .anime.left-in.key, .anime.right-in.active.key, .anime.right-in.animated.key, .anime.animated .anime.right-in.chain.key, .anime.right-in.lock.key, .swiper-slide-active .anime.right-in.key {
  animation-name: transform-purge;
}
.anime.expand-left {
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
.anime.expand-right {
  -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
.anime.expand-top {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
.anime.expand-bottom {
  -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
}
.anime.expand-left.active:not(.key), .anime.expand-left.animated:not(.key), .anime.animated .anime.expand-left.chain:not(.key), .anime.expand-left.lock:not(.key), .swiper-slide-active .anime.expand-left:not(.key), .anime.expand-right.active:not(.key), .anime.expand-right.animated:not(.key), .anime.animated .anime.expand-right.chain:not(.key), .anime.expand-right.lock:not(.key), .swiper-slide-active .anime.expand-right:not(.key), .anime.expand-top.active:not(.key), .anime.expand-top.animated:not(.key), .anime.animated .anime.expand-top.chain:not(.key), .anime.expand-top.lock:not(.key), .swiper-slide-active .anime.expand-top:not(.key), .anime.expand-bottom.active:not(.key), .anime.expand-bottom.animated:not(.key), .anime.animated .anime.expand-bottom.chain:not(.key), .anime.expand-bottom.lock:not(.key), .swiper-slide-active .anime.expand-bottom:not(.key) {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
.anime.expand-left.active.key, .anime.expand-left.animated.key, .anime.animated .anime.expand-left.chain.key, .anime.expand-left.lock.key, .swiper-slide-active .anime.expand-left.key, .anime.expand-right.active.key, .anime.expand-right.animated.key, .anime.animated .anime.expand-right.chain.key, .anime.expand-right.lock.key, .swiper-slide-active .anime.expand-right.key, .anime.expand-top.active.key, .anime.expand-top.animated.key, .anime.animated .anime.expand-top.chain.key, .anime.expand-top.lock.key, .swiper-slide-active .anime.expand-top.key, .anime.expand-bottom.active.key, .anime.expand-bottom.animated.key, .anime.animated .anime.expand-bottom.chain.key, .anime.expand-bottom.lock.key, .swiper-slide-active .anime.expand-bottom.key {
  animation-name: expand;
}
@keyframes expand {
  100% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
.anime.blur-in {
  filter: blur(12px);
  opacity: 0;
}
.anime.blur-in.active:not(.key), .anime.blur-in.animated:not(.key), .anime.animated .anime.blur-in.chain:not(.key), .anime.blur-in.lock:not(.key), .swiper-slide-active .anime.blur-in:not(.key) {
  filter: blur(0);
  opacity: 1;
}
.anime.blur-in.active.key, .anime.blur-in.animated.key, .anime.animated .anime.blur-in.chain.key, .anime.blur-in.lock.key, .swiper-slide-active .anime.blur-in.key {
  animation-name: blur-in;
}
@keyframes blur-in {
  100% {
    filter: blur(0);
    opacity: 1;
  }
}

/*================================

各種Webフォント
@include addFontClassのコメントアウトを外すか、新規追加して適用
@include addFontClass('フォント名', '適用するセレクタ名', '代替表示するフォント: [sans-serif] もしくは [serif]');

//================================*/
body .oswald,
button.oswald,
input.oswald,
select.oswald,
textarea.oswald {
  font-family: "Oswald", -apple-system, Noto Sans CJK JP, Noto Sans Japanese, Noto Sans JP, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック体, YuGothic, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
}

/*
          ######  ######## ########  #### ########
         ##       ##       ##     ##  ##  ##
 #######  ######  ######   ########   ##  ######   #######
               ## ##       ##   ##    ##  ##
          ######  ######## ##     ## #### ##
*/
body .neuz,
button.neuz,
input.neuz,
select.neuz,
textarea.neuz {
  font-family: "neuzeit-grotesk", -apple-system, Noto Sans CJK JP, Noto Sans Japanese, Noto Sans JP, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック体, YuGothic, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
}

/*
#styleguide
Flex　.flex

対象をFlexにする。FlexもしくはFlexアイテム化に向かない要素（img等）を除き、何にでも使える。

以下のオプションクラスを重ねがけすることでほとんどの設定を押さえられる。
.flex含め、すべてのクラスは「.pc-」「.sp-」で対象デバイスを限定できる。

.bet  アイテムを均等に並べる（space-between）。両端にスペースは作らない。非常に使う
.aro  アイテムを均等に並べる（space-around）。両端にもスペースを作る。あまり使わない
.max  直下のアイテムを均等な幅に補正し、隙間なく並べる。PCのグローバルナビ等で使える

※3カラム、4カラムのspace-betweenとspace-aroundにて、数が半端だとラストが崩れる現象は以下の記述で抑止できる。
アイテムと同じ幅の疑似要素で補うため、CSS側で以下のようにアイテムと同じwidthを指定する必要がある。
::after {
  content: "";
  display: block;
  width: アイテムと同じ幅
}
4カラムの場合はこちらも追記。
::before {
  order: 1;
  content: "";
  display: block;
  width: アイテムと同じ幅
}

.vstart,.vcenter,.vend  縦の位置を定義（Vertical）。startは初期値なのでpcsp用
.hstart,.hcenter,.hend  横の位置を定義（Horizontal）。startは初期値なのでpcsp用
.str  高さを統一する。初期値なのでpcsp用

.break  幅が足りない場合折り返す。

.vert  縦並びにする。高さが可変の親要素の中で、一定の位置関係を保ちたいときに使う。単に横並びを解除したいだけならpc-flex等でFlex自体を切る

.pc-1,.pc-2,.pc-3 .sp-1,.sp-2,.sp-3  アイテム側に付けるクラス。指定デバイス幅の際、並び順を指定通りに変更する（3番まで）

Flexはオプションが多く、またベンダープレフィックスで記述量が倍以上に膨れるので、極力これらのクラスで済ませて手間とCSSサイズを削減する。
```
両端を開けずに等間隔整列（.bet）、縦中央揃え、SP幅で2-3-1に順番変更（.sp-1～3）。<br>
<ul class="flex bet vcenter">
  <li class="sp-2"><img src="https://placehold.jp/100x100.jpg?text=1" width="" height="" alt=""></li>
  <li class="sp-3"><img src="https://placehold.jp/100x150.jpg?text=2" width="" height="" alt=""></li>
  <li class="sp-1"><img src="https://placehold.jp/100x200.jpg?text=3" width="" height="" alt=""></li>
</ul>


複雑な配置も比較的簡単に実現させることができる。
<ul class="pc-flex hcenter">
  <li>
    <img src="https://unsplash.it/600/400?random&n01">
  </li>
  <li class="flex pc-vert bet">
    <div><img src="https://placehold.jp/100x50.jpg?text=Mini" width="" height="" alt=""></div>
    <div><img src="https://placehold.jp/100x50.jpg?text=Mini" width="" height="" alt=""></div>
    <div><img src="https://placehold.jp/100x50.jpg?text=Mini" width="" height="" alt=""></div>
  </li>
  <li>
    <img src="https://unsplash.it/600/400?random&n05">
  </li>
</ul>
```
*/
.flex {
  display: flex;
}
.flex.bet,
.pc-flex.bet,
.sp-flex.bet {
  justify-content: space-between;
}
.flex.aro,
.pc-flex.aro,
.sp-flex.aro {
  justify-content: space-around;
}
.flex.vstart,
.pc-flex.vstart,
.sp-flex.vstart {
  align-items: flex-start;
}
.flex.vend,
.pc-flex.vend,
.sp-flex.vend {
  align-items: flex-end;
}
.flex.vcenter,
.pc-flex.vcenter,
.sp-flex.vcenter {
  align-items: center;
}
.flex.hstart,
.pc-flex.hstart,
.sp-flex.hstart {
  justify-content: flex-start;
}
.flex.hcenter,
.pc-flex.hcenter,
.sp-flex.hcenter {
  justify-content: center;
}
.flex.hend,
.pc-flex.hend,
.sp-flex.hend {
  justify-content: flex-end;
}
.flex.str,
.pc-flex.str,
.sp-flex.str {
  align-items: stretch;
}
.flex.vert,
.pc-flex.vert,
.sp-flex.vert {
  flex-direction: column;
}
.flex.break,
.pc-flex.break,
.sp-flex.break {
  flex-wrap: wrap;
}

/*
         ########   ######
         ##     ## ##
 ####### ########  ##
         ##        ##
         ##         ######
*/

/*
          ######  ########
         ##       ##     ##
 #######  ######  ########
               ## ##
          ######  ##
*/

/*
#overview
State

特定のワンポイントに作用させる目的のスタイル
*/
/*
#styleguide
ロック .lock

body専用。スクロールを無効にする。iPhoneには効かない。
```
<a onclick="document.body.classList.toggle('lock')">テストロック</a>
```
*/
body.lock {
  overflow: hidden;
}

/*
#styleguide
セリフ .serif

適用範囲を明朝体にする。
```
<p>テキストテキストテキスト<span class="serif">テキストテキストテキストテキスト</span>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
```
*/
.serif {
  font-family: "Noto Serif JP", Yu Mincho, YuMincho, Hiragino Mincho ProN, "NotoSerifCJKjp", HGS明朝E, HG明朝E, serif;
}

/*
#styleguide
常に隠す要素 .is-none

display: none!important;をかける。
*/
.is-none {
  display: none !important;
}

/*
#styleguide
テキスト配置 .ta-center,.ta-left,.ta-right

text-alignを変更する。頭に「pc-」「sp-」でデバイスを限定できる。
一箇所だけ中央揃えなど、少数派のバリエーションへの対処や、納品後の調整向け。
*/
.ta-center {
  text-align: center;
}

.ta-right {
  text-align: right;
}

.ta-left {
  text-align: left;
}
/*
#styleguide
ボールド .fw-700,.fw-900

太字にする。少数派バリエーションへの対処や、納品後の調整向け。
*/
.fw-500 {
  font-weight: 500;
}

.fw-600 {
  font-weight: 600;
}

.fw-700 {
  font-weight: 700;
}

.fw-900 {
  font-weight: 900;
}

/*
#styleguide
フォントサイズ .fz-e7～,.fz-e9

文字サイズを0.7em～0.9emの範囲で変更。納品後の調整向け。
*/
.fz-e7 {
  font-size: 0.7em;
}

.fz-e8 {
  font-size: 0.8em;
}

.fz-e9 {
  font-size: 0.9em;
}

/*
#styleguide
クリックイベント無効化 is-false

ホバー効果、イベントトラッキング、aタグのページ遷移を無効化する。

IE,Edgeのaタグに使う場合、aタグをblockかinline-blockにする必要がある。
```
<a style="display:inline-block" class="is-false" onclick="document.body.classList.toggle('lock')">テストロック</a>
```
*/
.is-false {
  pointer-events: none;
}

.is-screenReader {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
}

/*

  ######   ########     ###    ##    ##  ######   ######     ###    ##       ########
 ##        ##     ##  ##   ##    ####   ##       ##        ##   ##  ##       ##
 ##   #### ########  ##     ##    ##     ######  ##       ##     ## ##       ######
 ##    ##  ##   ##   #########    ##          ## ##       ######### ##       ##
  ######   ##     ## ##     ##    ##     ######   ######  ##     ## ######## ########

*/
.grayscale {
  filter: grayscale(100%);
}

/*
#styleguide
グレースケール .grayscale

内部要素をグレースケールにする。IEには効果なし
```

<p>通常</p>
<p style="color:red">テキストテキスト</p>
<img src="https://unsplash.it/600/400?random&gray..." width="20%">
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3242.1043551257094!2d140.03416711525796!3d35.64980048020159!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x602281f4fe8fadc9%3A0xcca485b949001501!2z5bmV5by144Oh44OD44K7IOWbvemam-WxleekuuWgtDktMTHjg5vjg7zjg6s!5e0!3m2!1sja!2sjp!4v1538103561889" width="100%" height="200" frameborder="0" style="border:0" allowfullscreen></iframe>

<p>grayscale</p>
<div class="grayscale">
<p style="color:red">テキストテキスト</p>
<img src="https://unsplash.it/600/400?random&gray..." width="20%">
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3242.1043551257094!2d140.03416711525796!3d35.64980048020159!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x602281f4fe8fadc9%3A0xcca485b949001501!2z5bmV5by144Oh44OD44K7IOWbvemam-WxleekuuWgtDktMTHjg5vjg7zjg6s!5e0!3m2!1sja!2sjp!4v1538103561889" width="100%" height="200" frameborder="0" style="border:0" allowfullscreen></iframe>
</div>
```
*/
/*
 ##     ##  #######  ##     ## ######## ########
 ##     ## ##     ## ##     ## ##       ##     ##
 ######### ##     ## ##     ## ######   ########
 ##     ## ##     ##  ##   ##  ##       ##   ##
 ##     ##  #######     ###    ######## ##     ##
*/
/*
#styleguide
ホバー透過　.op

マウスオーバーで不透明度を下げる。ホバー効果に拘る必要がない箇所向け。SP無効。

```
<a href="" class="op"><img src="https://unsplash.it/600/400?random&n06"></a>
```
*/
/*
#overview
WordPress

WordPress固有の要素に対応するクラス。
非WPサイトでは容量の無駄になるので、空ファイルにするかimport対象から外すことを推奨。
*/

/*
 ##      ## ########          ########   #######   ######  ########
 ##  ##  ## ##     ##         ##     ## ##     ## ##          ##
 ##  ##  ## ########  ####### ########  ##     ##  ######     ##
 ##  ##  ## ##                ##        ##     ##       ##    ##
  ###  ###  ##                ##         #######   ######     ##
*/
/*
#styleguide
シングルページコンテンツ .wp-post

ビジュアルエディターによって執筆されたデータを整形するクラス。
```
<div class="wp-post">
            <h2>見出しH2</h2>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト<br>
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<p><img class=" wp-image-1268 aligncenter" src="https://placehold.jp/300x200.jpg?text=Center" alt="写真" width="430" height="291"><br>
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<h2>見出しH2見出しH2見出しH2見出しH2見出しH2見出しH2見出しH2</h2>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<h3>見出しH3</h3>
<p><img class="size-medium wp-image-1275 alignright" src="https://placehold.jp/300x200.jpg?text=Right" alt="写真" width="300" height="200">テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<h4>見出しH4</h4>
<p><img class="size-medium wp-image-1275 alignleft" src="https://placehold.jp/300x200.jpg?text=Left" alt="写真" width="300" height="200">テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
<ul>
<li>テキスト</li>
<li>テキスト</li>
<li>テキスト</li>
</ul>
<ol>
<li>番号</li>
<li>番号</li>
<li>番号</li>
</ol>
<p>&nbsp;</p>
<blockquote><p>引用引用</p>
<p>引用引用</p></blockquote>
<p>&nbsp;</p>
        </div>
```
*/
.wp-post h2 {
  margin-bottom: 1em;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
}
.wp-post h3 {
  margin-bottom: 0.5em;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
}
.wp-post h4,
.wp-post h5 {
  margin-bottom: 0.5em;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2;
}
.wp-post div + h2,
.wp-post div + h3,
.wp-post div + h4,
.wp-post div + h5,
.wp-post p + h2,
.wp-post p + h3,
.wp-post p + h4,
.wp-post p + h5 {
  margin-top: 5rem;
}

.wp-post > div,
.wp-post p {
  margin: 0.8em 0 1.5em;
  line-height: 1.8;
}
.wp-post > div:last-child,
.wp-post p:last-child {
  margin-bottom: 0;
}
.wp-post b,
.wp-post strong {
  font-weight: 700;
}
.wp-post em {
  font-style: italic;
}
.wp-post table {
  margin: 2rem auto;
  border-top: 1px solid #b9beb3;
  border-left: 1px solid #b9beb3;
}
.wp-post table th,
.wp-post table td {
  padding: 1rem;
  border-top: 0;
  border-right: 1px solid #b9beb3;
  border-bottom: 1px solid #b9beb3;
  border-left: 0;
  text-align: center;
}
.wp-post table th {
  background: #eff3f1;
}
.wp-post .aligncenter {
  display: block;
  margin: 0 auto;
}
.wp-post .alignright {
  float: right;
  padding-right: 0 !important;
  padding-left: 3em !important;
}
.wp-post .alignleft {
  float: left;
  padding-right: 3em !important;
  padding-left: 0 !important;
}
.wp-post .wp-caption {
  padding: 0.5em;
  border: solid 2px #cfcfcf;
  border-radius: 5px;
  max-width: 100% !important;
}
.wp-post .wp-caption .wp-caption-text {
  text-align: center;
}
.wp-post ol,
.wp-post ul {
  margin: 0 0 0 3rem;
}
.wp-post ol li,
.wp-post ul li {
  margin: 0 0 0.5em;
}
.wp-post ul li {
  list-style-type: disc;
}
.wp-post ol li {
  list-style-type: decimal;
}
.wp-post img[class*=attachment-],
.wp-post img[class*=wp-image-] {
  max-width: 100%;
  height: auto;
}
.wp-post img.alignright,
.wp-post img.alignleft {
  padding: 0 1em 2em;
}
.wp-post blockquote {
  display: block;
  padding: 0.5rem;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 40px;
  -webkit-margin-end: 40px;
  background: rgba(0, 0, 0, 0.1);
}
.wp-post blockquote p {
  margin-top: 0;
}

/*=============================
ビジュアルエディタ
==============================*/
body.mceContentBody {
  font-family: -apple-system, Noto Sans CJK JP, Noto Sans Japanese, Noto Sans JP, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック体, YuGothic, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
}

.visual-editor {
  background: #fff;
}
.visual-editor div,
.visual-editor p {
  display: block;
  margin: 0.8em 0;
  border: dashed 1px #dadada;
  line-height: 1.5;
}

/*
 ##     ## ##      ##         ########  #######  ########  ##     ##
 ###   ### ##  ##  ##         ##       ##     ## ##     ## ###   ###
 ## ### ## ##  ##  ## ####### ######   ##     ## ########  ## ### ##
 ##     ## ##  ##  ##         ##       ##     ## ##   ##   ##     ##
 ##     ##  ###  ###          ##        #######  ##     ## ##     ##
*/
/*
#styleguide
.input-content

MW-WP-Formエリアの、入力画面（.mw_wp_form_input）内でのみ表示されるコンテンツ。
```
<p class="input-content">以下必要事項をご記入の上、「入力内容を確認」ボタンを押してください。</p>
```
*/
/*
#styleguide
.conf-content

MW-WP-Formエリアの確認画面（.mw_wp_form_confirm）内でのみ表示されるコンテンツ。
```
<p class="conf-content">入力内容にお間違いがなければ、「送信」ボタンを押してください。<br>修正される場合は「修正」ボタンを押してください。</p>
```
*/
/*
#styleguide
.btn-area

操作ボタンを大まかに装飾するクラス。
確認画面ボタンはSPで1カラムになる（修正ボタンが上）。
```
<div class="mw_wp_form mw_wp_form_input">
  <div class="btn-area pc-flex aro vcenter">
    <span class="mdBtn mat b-line w300 rivers conf-content"><input type="submit" name="" value="修正"></span>
    <span class="mdBtn mat black w300"><input type="submit" name="" value="確認"></span>
  </div>
</div>

<div class="mw_wp_form mw_wp_form_confirm">
  <div class="btn-area pc-flex aro vcenter">
    <span class="mdBtn mat b-line w300 rivers conf-content"><input type="submit" name="" value="修正"></span>
    <span class="mdBtn mat black w300"><input type="submit" name="" value="送信"></span>
  </div>
</div>

<p>コピー用</p>

<div class="btn-area pc-flex aro vcenter">
  <span class="mdBtn mat b-line w300 rivers conf-content">[mwform_backButton value="修正"]</span>
  <span class="mdBtn mat black w300">[mwform_submitButton name="mwform_submitButton" confirm_value="確認" submit_value="送信"]</span>
</div>
```
*/
/*
#styleguide
.formError

jQuery-Validation-Engineライブラリのエラー表記用。特に意識して記述するものではなく、勝手に補正される。

```
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/validationEngine.jquery.min.css" />
<div class="mw_wp_form">
<div class="form-validation-field-1formError parentFormundefined formError" style="opacity: 0.87; position: absolute; top: 14.9906px; left: 193.991px; margin-top: -18px;"><div class="formErrorContent">*入力してください<br></div><div class="formErrorArrow"><div class="line10"><!-- --></div><div class="line9"><!-- --></div><div class="line8"><!-- --></div><div class="line7"><!-- --></div><div class="line6"><!-- --></div><div class="line5"><!-- --></div><div class="line4"><!-- --></div><div class="line3"><!-- --></div><div class="line2"><!-- --></div><div class="line1"><!-- --></div></div></div>
</div>
```
*/
/*
##     ## ##      ##         ########  #######  ########  ##     ##
###   ### ##  ##  ##         ##       ##     ## ##     ## ###   ###
#### #### ##  ##  ##         ##       ##     ## ##     ## #### ####
## ### ## ##  ##  ## ####### ######   ##     ## ########  ## ### ##
##     ## ##  ##  ##         ##       ##     ## ##   ##   ##     ##
##     ## ##  ##  ##         ##       ##     ## ##    ##  ##     ##
##     ##  ###  ###          ##        #######  ##     ## ##     ##
*/
.mw_wp_form:not(.mw_wp_form_input) .input-content {
  display: none !important;
}
.mw_wp_form:not(.mw_wp_form_confirm) .conf-content {
  display: none !important;
}

[data-simplebar] {
  position: relative;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
}

.simplebar-wrapper {
  overflow: hidden;
  width: inherit;
  height: inherit;
  max-width: inherit;
  max-height: inherit;
}

.simplebar-mask {
  direction: inherit;
  position: absolute;
  overflow: hidden;
  padding: 0;
  margin: 0;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: auto !important;
  height: auto !important;
  z-index: 0;
}

.simplebar-offset {
  direction: inherit !important;
  box-sizing: inherit !important;
  resize: none !important;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 0;
  margin: 0;
  -webkit-overflow-scrolling: touch;
}

.simplebar-content-wrapper {
  direction: inherit;
  box-sizing: border-box !important;
  position: relative;
  display: block;
  height: 100%; /* Required for horizontal native scrollbar to not appear if parent is taller than natural height */
  width: auto;
  max-width: 100%; /* Not required for horizontal scroll to trigger */
  max-height: 100%; /* Needed for vertical scroll to trigger */
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.simplebar-content:before,
.simplebar-content:after {
  content: " ";
  display: table;
}

.simplebar-placeholder {
  max-height: 100%;
  max-width: 100%;
  width: 100%;
  pointer-events: none;
}

.simplebar-height-auto-observer-wrapper {
  box-sizing: inherit !important;
  height: 100%;
  width: 100%;
  max-width: 1px;
  position: relative;
  float: left;
  max-height: 1px;
  overflow: hidden;
  z-index: -1;
  padding: 0;
  margin: 0;
  pointer-events: none;
  flex-grow: inherit;
  flex-shrink: 0;
  flex-basis: 0;
}

.simplebar-height-auto-observer {
  box-sizing: inherit;
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 1000%;
  width: 1000%;
  min-height: 1px;
  min-width: 1px;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.simplebar-track {
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: hidden;
}

[data-simplebar].simplebar-dragging {
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

[data-simplebar].simplebar-dragging .simplebar-content {
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

[data-simplebar].simplebar-dragging .simplebar-track {
  pointer-events: all;
}

.simplebar-scrollbar {
  position: absolute;
  left: 0;
  right: 0;
  min-height: 10px;
}

.simplebar-scrollbar:before {
  position: absolute;
  content: "";
  background: black;
  border-radius: 7px;
  left: 2px;
  right: 2px;
  opacity: 0;
  transition: opacity 0.2s 0.5s linear;
}

.simplebar-scrollbar.simplebar-visible:before {
  opacity: 0.5;
  transition-delay: 0s;
  transition-duration: 0s;
}

.simplebar-track.simplebar-vertical {
  top: 0;
  width: 11px;
}

.simplebar-scrollbar:before {
  top: 2px;
  bottom: 2px;
  left: 2px;
  right: 2px;
}

.simplebar-track.simplebar-horizontal {
  left: 0;
  height: 11px;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  right: auto;
  left: 0;
  top: 0;
  bottom: 0;
  min-height: 0;
  min-width: 10px;
  width: auto;
}

/* Rtl support */
[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical {
  right: auto;
  left: 0;
}

.simplebar-dummy-scrollbar-size {
  direction: rtl;
  position: fixed;
  opacity: 0;
  visibility: hidden;
  height: 500px;
  width: 500px;
  overflow-y: hidden;
  overflow-x: scroll;
  -ms-overflow-style: scrollbar !important;
}

.simplebar-dummy-scrollbar-size > div {
  width: 200%;
  height: 200%;
  margin: 10px 0;
}

.simplebar-hide-scrollbar {
  position: fixed;
  left: 0;
  visibility: hidden;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 2em;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: flex;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
} /*
#styleguide
レスポンシブYouTube　.youtube-wrap

埋め込みYouTubeをレスポンシブ化する。

```
<div class="youtubeWrap">
<iframe width="560" height="315" src="https://www.youtube.com/embed/5BIAdWNcr8Y" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
```
*/
.youtubeWrap,
.youtube-wrap {
  position: relative;
  padding-top: 56.25%;
  width: 100%;
}
.youtubeWrap iframe,
.youtube-wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/*
#styleguide
.youtubeCrop

YouTubeサムネイル画像を単体で呼び出すと出現する、上下の黒帯を除去する。

```
<p>通常</p>
<div class="">
    <img class="" src="https://i.ytimg.com/vi/5BIAdWNcr8Y/0.jpg" alt="">
</div>
<p>youtubeCrop</p>
<div class="youtubeCrop">
    <img class="youtubeCrop__img" src="https://i.ytimg.com/vi/5BIAdWNcr8Y/0.jpg" alt="">
</div>
```
*/
.youtubeCrop {
  position: relative;
  z-index: 1;
  padding-bottom: 56%;
  overflow: hidden;
}
.youtubeCrop__img {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  translate: 0%, -50%;
}

.uLineAnime {
  position: relative;
  text-decoration: none;
}
.uLineAnime::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 2px;
  background: #ed1b23;
  transition-duration: 0.5s;
  transform: rotateY(90deg);
  transform-origin: 50%;
  content: "";
}
.uLineAnime.uline-block {
  display: block;
}
.uLineAnime.uline-left::before {
  transform-origin: 0%;
}
.uLineAnime.uline-right::before {
  transform-origin: 100%;
}

a.active .uLineAnime,
.uLineAnime.active,
a:hover .uLineAnime,
.uLineAnime:hover {
  text-decoration: none;
}
a.active .uLineAnime:before,
.uLineAnime.active:before,
a:hover .uLineAnime:before,
.uLineAnime:hover:before {
  transform: rotateY(0deg);
}

/*
#styleguide
アンダーライン .uLineAnime

アニメーションでアンダーラインを乗せる。Aタグのホバーか「.active」に反応する。
```
<a class="uLineAnime">テストテストテストテストテストテストテスト1</a>
<a class="uLineAnime uline-left">テストテストテストテストテストテストテスト2</a>
<a class="uLineAnime uline-right">テストテストテストテストテストテストテスト3</a>
<a class="uLineAnime uline-left uline-block">テストテストテストテストテストテストテスト4</a>

```
*/
/*
#styleguide
ホバートグル .hoverToggle

PC幅:非ホバー時は.hoverToggle__onを非表示、ホバー時は.hoverToggle__offを非表示にする。
SP幅:常にhoverToggle__onを非表示にする。

```
<div class="hoverToggle">
  <div class="hoverToggle__on">
    <img src="https://unsplash.it/600/400?random&on..." width="20%">　ON
  </div>
  <div class="hoverToggle__off">
    <img src="https://unsplash.it/600/400?random&off..." width="20%">　OFF
  </div>
</div>
```
*/

/*
#styleguide
アクティブトグル .activeToggle

.activeが無ければ.activeToggle__onを非表示、.activeが付与されていれば.activeToggle__offを非表示にする。

```
<button type="button" class="activeToggle" onclick="this.classList.toggle('active')">
  <div class="activeToggle__on">
    <img src="https://unsplash.it/600/400?random&on..." width="20%">　ON　クリックで切り替え
  </div>
  <div class="activeToggle__off">
    <img src="https://unsplash.it/600/400?random&off..." width="20%">　OFF　クリックで切り替え
  </div>
</button>
```
*/
.activeToggle.active .activeToggle__off {
  display: none;
}
.activeToggle:not(.active) .activeToggle__on {
  display: none;
}

/*
CSSのみで一定速度の無限横スライド
全く同じ構成の.slideshow__listを表示幅を超える数で並べる
アニメ時間は全長で速度が変わるのでHTMLから制御する
.slideshow--hoverStopの付与でホバー時に一時停止
<div class="slideshow flex vcenter">
    <div class="slideshow__list flex vcenter" style="animation-duration: 15s;">
        <div class="slideshow__item">
          テキスト1テキスト1テキスト1テキスト1テキスト1
        </div>
        <div class="slideshow__item">
          テキスト2テキスト2
        </div>
    </div>
    <div class="slideshow__list flex vcenter" style="animation-duration: 15s;">
        <div class="slideshow__item">
          テキスト1テキスト1テキスト1テキスト1テキスト1
        </div>
        <div class="slideshow__item">
          テキスト2テキスト2
        </div>
    </div>
</div>
*/
.slideshow {
  overflow: hidden;
}
.slideshow__list {
  will-change: translate;
  animation-name: slideshow-loop;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
.slideshow--hoverStop:hover .slideshow__list {
  animation-play-state: paused;
}
.slideshow--r .slideshow__list {
  animation-direction: reverse;
}
.slideshow__item {
  white-space: nowrap;
}
@keyframes slideshow-loop {
  0% {
    translate: 0;
  }
  100% {
    translate: -100% 0;
  }
}

.mdOverlay {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  transition-duration: 0.5s;
  cursor: pointer;
}
.mdOverlay:not(.active) {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}
.mdOverlay--ripple {
  border-radius: 50%;
  width: 300vh;
  height: 300vh;
  transform: translate(50%, -50%);
}
.mdOverlay--ripple:not(.active) {
  width: 0;
  height: 0;
}
.mdOverlay--shutter {
  height: 200vh;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5) 50%, rgba(255, 255, 255, 0));
}
.mdOverlay--shutter:not(.active) {
  transform: translate(0, -100%);
}

/*
#styleguide
オーバーレイ .mdOverlay

オーバーレイを被せる。「.active」の付与で出現する。
z-index: 1000;とbackground: rgba(#000, .5);は構成に応じて調整。
```
<div id="overlay" class="mdOverlay"></div>

<div id="test-overlay" class="mdOverlay" onclick="this.classList.toggle('active')"></div>
<a onclick="document.getElementById('test-overlay').classList.toggle('active')">テスト開閉</a>

<div id="test-overlay-ripple" class="mdOverlay mdOverlay--ripple" onclick="this.classList.toggle('active')"></div>
<a onclick="document.getElementById('test-overlay-ripple').classList.toggle('active')">テスト開閉（波紋）</a>

<div id="test-overlay-shutter" class="mdOverlay mdOverlay--shutter" onclick="this.classList.toggle('active')"></div>
<a onclick="document.getElementById('test-overlay-shutter').classList.toggle('active')">テスト開閉（シャッター）</a>
```
*/
.mdModal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 50000;
  width: -moz-fit-content;
  width: fit-content;
  max-width: calc(100% - 4rem);
  transition-duration: 0.3s;
  pointer-events: none;
}
.mdModal:not([open]) {
  opacity: 0;
  visibility: hidden;
}
.mdModal__box, .mdModal__bg,
.mdModal a,
.mdModal button,
.mdModal iframe {
  pointer-events: auto;
}
.mdModal__bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
}
.mdModal__bg:not(.js-modal-close) {
  cursor: default;
}
.mdModal__bg--hide {
  opacity: 0;
}
.mdModal__frame {
  position: relative;
  z-index: 2;
  transform: translate(-50%, -50%);
}
.mdModal__close {
  position: absolute;
  top: -5rem;
  right: 0;
  z-index: 2;
  width: 5rem;
  height: 5rem;
  font-size: 3rem;
  color: #fff;
}
.mdModal__box {
  display: inline-block;
  position: relative;
  z-index: 2;
  max-height: calc(90vh - 5rem);
  overflow-y: auto;
  background: #fff;
}

.mdLoading {
  position: relative;
  min-height: 9rem;
  max-height: 60vh;
}
.mdLoading::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  margin: -2rem 0 0 -2rem;
  border: 3px solid #ed1b23;
  border-bottom-color: rgba(237, 27, 35, 0.5);
  border-radius: 50%;
  width: 4rem;
  height: 4rem;
  animation-name: mdLoading;
  animation-duration: 0.5s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  content: "";
}
.mdLoading:not(.active) {
  opacity: 0;
  visibility: hidden;
}

@keyframes mdLoading {
  100% {
    transform: rotate(360deg);
  }
}
/*
#styleguide
ローディングアニメ .mdLoading

円形のローディングアニメを出す。「.active」を消すと非表示になる。
```
<div class="mdLoading active"></div>

```
*/
/*
#styleguide
プレーンリスト　ol.oList ul.uList

ol,ulをデフォルトに近い装飾に戻す。

```
<ul class="uList">
  <li>uList</li>
  <li>テキストテキストテキストテキスト</li>
  <li>テキストテキストテキスト<br>テキストテキストテキスト</li>
</ul>
<ol class="oList">
  <li>oList</li>
  <li>テキストテキストテキストテキスト</li>
  <li>テキストテキストテキスト<br>テキストテキストテキスト</li>
</ol>
```
*/
.uList > li,
.oList > li,
.u-list > li,
.o-list > li {
  margin: 0 0 0 2%;
  width: 98%;
}

.uList > li,
.u-list > li {
  list-style-type: disc;
}

.oList > li,
.o-list > li {
  list-style-type: decimal;
}

.mdLay {
  display: flex;
  position: relative;
  z-index: 1;
  vertical-align: middle;
  transition-duration: 0.3s;
  transform: perspective(0) translate3d(0, 0, 0);
}
.mdLay__bg {
  position: relative;
  z-index: 2;
  width: 100%;
  transition-duration: 0.3s;
}
.mdLay__bg img {
  display: block;
  width: 100%;
}
.mdLay.zoom {
  overflow: hidden;
}
.mdLay__box {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
}

button.active .mdLay.zoom .mdLay__bg,
a.active .mdLay.zoom .mdLay__bg {
  scale: 1.1;
}
/* #styleguide
レイヤー .mdLay

「mdLay__bg」内の画像などに文字を載せたり、aタグの小要素にした時のホバーアニメを付与できる。

「mdLay__box」に文字などの要素を載せられる。「flex」系の位置指定用クラスで八方向に移動できる。画像を拡大アニメーションしたいだけなら「mdLay__box」は省略しても良い。

使用機会の多さに対してマークアップ量が多いので、中央寄せをベースにしたスニペット登録推奨。
```
<a href="" style="display:inline-block">
  <div class="mdLay zoom">
    <div class="mdLay__bg">
      <img src="https://unsplash.it/300/400?random&n1" width="" height="" alt="">
    </div>
    <div class="mdLay__box flex vcenter hcenter"><div class="in">
      <span style="font-size:3em;color:#F00;">中央寄せ</span>
    </div></div>
  </div>
</a>

<a href="" style="display:inline-block">
  <div class="mdLay zoom">
    <div class="mdLay__bg">
      <iframe width="300" height="400" src="https://www.youtube.com/embed/U-pt_To6yZ8?rel=0&amp;controls=0&amp;showinfo=0&amp;autoplay0=&amp;loop=1" frameborder="0" allow=" encrypted-media" allowfullscreen></iframe>
    </div>
    <div class="mdLay__box flex vend hend"><div class="in">
      <span style="font-size:3em;color:#F00;">右下寄せ</span>
    </div></div>
  </div>
</a>

<a href="" style="display:inline-block">
  <div class="mdLay zoom">
    <div class="mdLay__bg">
    <p style="">
      テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
    </p>
    </div>
    <div class="mdLay__box flex vstart hstart"><div class="in">
      <span style="font-size:3em;color:#F00;">左上寄せ</span>
    </div></div>
  </div>
</a>

<a href="" style="">
  <div class="mdLay zoom">
    <div class="mdLay__bg">
      <img src="https://unsplash.it/1200/300?random&n2" width="" height="" alt="">
    </div>
  </div>
</a>




``` */
/*
<i class="icon-arrow-deactive"></i>
<i class="icon-arrow"></i>
<i class="icon-blank"></i>
<i class="icon-down"></i>
<i class="icon-facebook"></i>
<i class="icon-instagram"></i>
<i class="icon-left"></i>
<i class="icon-line"></i>
<i class="icon-right"></i>
<i class="icon-shop"></i>
<i class="icon-twitter"></i>
<i class="icon-up"></i>
<i class="icon-x"></i>
<i class="icon-youtube"></i>
*/
/*
#overview
SVGアイコンフォント

「img/icon」ディレクトリ内のSVGファイルを元に生成されたアイコンフォント。
タスクランナーの処理で自動的にフォントファイル+SCSSの生成と本ガイドへの記載が行われる。
「i.icon-ファイル名」または「.iconfont（タグ内にファイル名と同じ文字列を入れる）」で呼び出すことができる（後者はIE非対応）。
サンプルコードではCSS追記のフック用に「.icon」クラスも付けている。
*/
@font-face {
  font-family: iconfont;
  src: url("font/icon/iconfont.eot?7924081795f9780c5ea50ac0cc82fee1?#iefix") format("embedded-opentype"), url("font/icon/iconfont.woff2?7924081795f9780c5ea50ac0cc82fee1") format("woff2"), url("font/icon/iconfont.woff?7924081795f9780c5ea50ac0cc82fee1") format("woff");
  font-display: swap;
}
.iconfont, i[class*=icon-]::before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: iconfont !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-decoration: none;
  text-transform: none;
}

i[class*=icon-] {
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
  pointer-events: none;
}
i[class*=icon-]::before {
  display: inline-block;
  vertical-align: bottom;
}

/*
#styleguide
.icon-arrow-deactive
```
<i class="icon-arrow-deactive"></i>
<i class="icon-arrow-deactive" style="margin-left:2rem;font-size:2rem"></i>
<i class="icon-arrow-deactive" style="margin-left:2rem;font-size:5rem"></i>
<span class="iconfont" style="display: inline-block;line-height: 1;vertical-align: middle;margin-left:2rem;font-size:10rem">arrow-deactive</span>
```
*/
.icon-arrow-deactive::before {
  content: "\f101";
}

/*
#styleguide
.icon-arrow
```
<i class="icon-arrow"></i>
<i class="icon-arrow" style="margin-left:2rem;font-size:2rem"></i>
<i class="icon-arrow" style="margin-left:2rem;font-size:5rem"></i>
<span class="iconfont" style="display: inline-block;line-height: 1;vertical-align: middle;margin-left:2rem;font-size:10rem">arrow</span>
```
*/
.icon-arrow::before {
  content: "\f102";
}

/*
#styleguide
.icon-blank
```
<i class="icon-blank"></i>
<i class="icon-blank" style="margin-left:2rem;font-size:2rem"></i>
<i class="icon-blank" style="margin-left:2rem;font-size:5rem"></i>
<span class="iconfont" style="display: inline-block;line-height: 1;vertical-align: middle;margin-left:2rem;font-size:10rem">blank</span>
```
*/
.icon-blank::before {
  content: "\f103";
}

/*
#styleguide
.icon-down
```
<i class="icon-down"></i>
<i class="icon-down" style="margin-left:2rem;font-size:2rem"></i>
<i class="icon-down" style="margin-left:2rem;font-size:5rem"></i>
<span class="iconfont" style="display: inline-block;line-height: 1;vertical-align: middle;margin-left:2rem;font-size:10rem">down</span>
```
*/
.icon-down::before {
  content: "\f104";
}

/*
#styleguide
.icon-facebook
```
<i class="icon-facebook"></i>
<i class="icon-facebook" style="margin-left:2rem;font-size:2rem"></i>
<i class="icon-facebook" style="margin-left:2rem;font-size:5rem"></i>
<span class="iconfont" style="display: inline-block;line-height: 1;vertical-align: middle;margin-left:2rem;font-size:10rem">facebook</span>
```
*/
.icon-facebook::before {
  content: "\f105";
}

/*
#styleguide
.icon-instagram
```
<i class="icon-instagram"></i>
<i class="icon-instagram" style="margin-left:2rem;font-size:2rem"></i>
<i class="icon-instagram" style="margin-left:2rem;font-size:5rem"></i>
<span class="iconfont" style="display: inline-block;line-height: 1;vertical-align: middle;margin-left:2rem;font-size:10rem">instagram</span>
```
*/
.icon-instagram::before {
  content: "\f106";
}

/*
#styleguide
.icon-left
```
<i class="icon-left"></i>
<i class="icon-left" style="margin-left:2rem;font-size:2rem"></i>
<i class="icon-left" style="margin-left:2rem;font-size:5rem"></i>
<span class="iconfont" style="display: inline-block;line-height: 1;vertical-align: middle;margin-left:2rem;font-size:10rem">left</span>
```
*/
.icon-left::before {
  content: "\f107";
}

/*
#styleguide
.icon-line
```
<i class="icon-line"></i>
<i class="icon-line" style="margin-left:2rem;font-size:2rem"></i>
<i class="icon-line" style="margin-left:2rem;font-size:5rem"></i>
<span class="iconfont" style="display: inline-block;line-height: 1;vertical-align: middle;margin-left:2rem;font-size:10rem">line</span>
```
*/
.icon-line::before {
  content: "\f108";
}

/*
#styleguide
.icon-right
```
<i class="icon-right"></i>
<i class="icon-right" style="margin-left:2rem;font-size:2rem"></i>
<i class="icon-right" style="margin-left:2rem;font-size:5rem"></i>
<span class="iconfont" style="display: inline-block;line-height: 1;vertical-align: middle;margin-left:2rem;font-size:10rem">right</span>
```
*/
.icon-right::before {
  content: "\f109";
}

/*
#styleguide
.icon-shop
```
<i class="icon-shop"></i>
<i class="icon-shop" style="margin-left:2rem;font-size:2rem"></i>
<i class="icon-shop" style="margin-left:2rem;font-size:5rem"></i>
<span class="iconfont" style="display: inline-block;line-height: 1;vertical-align: middle;margin-left:2rem;font-size:10rem">shop</span>
```
*/
.icon-shop::before {
  content: "\f10a";
}

/*
#styleguide
.icon-twitter
```
<i class="icon-twitter"></i>
<i class="icon-twitter" style="margin-left:2rem;font-size:2rem"></i>
<i class="icon-twitter" style="margin-left:2rem;font-size:5rem"></i>
<span class="iconfont" style="display: inline-block;line-height: 1;vertical-align: middle;margin-left:2rem;font-size:10rem">twitter</span>
```
*/
.icon-twitter::before {
  content: "\f10b";
}

/*
#styleguide
.icon-up
```
<i class="icon-up"></i>
<i class="icon-up" style="margin-left:2rem;font-size:2rem"></i>
<i class="icon-up" style="margin-left:2rem;font-size:5rem"></i>
<span class="iconfont" style="display: inline-block;line-height: 1;vertical-align: middle;margin-left:2rem;font-size:10rem">up</span>
```
*/
.icon-up::before {
  content: "\f10c";
}

/*
#styleguide
.icon-x
```
<i class="icon-x"></i>
<i class="icon-x" style="margin-left:2rem;font-size:2rem"></i>
<i class="icon-x" style="margin-left:2rem;font-size:5rem"></i>
<span class="iconfont" style="display: inline-block;line-height: 1;vertical-align: middle;margin-left:2rem;font-size:10rem">x</span>
```
*/
.icon-x::before {
  content: "\f10d";
}

/*
#styleguide
.icon-youtube
```
<i class="icon-youtube"></i>
<i class="icon-youtube" style="margin-left:2rem;font-size:2rem"></i>
<i class="icon-youtube" style="margin-left:2rem;font-size:5rem"></i>
<span class="iconfont" style="display: inline-block;line-height: 1;vertical-align: middle;margin-left:2rem;font-size:10rem">youtube</span>
```
*/
.icon-youtube::before {
  content: "\f10e";
}

.mdBtn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  width: 100%;
  overflow: hidden;
  line-height: 1;
  text-decoration: none;
  transition-duration: 0.3s;
  cursor: pointer;
  /*
  主に色のバリエーションをつける
  幅、文字サイズ、マージンなど、応用が効かないパラメータはなるべく設定しない
  同じ色だが扱いが特殊なボタンがある時はコピーしてに派生させる　.red → .redContact
  基本的に必ずセットで使用するため、記述コストを下げるため「.mdBtn--black」ではなく「.black」などと書く
  */
}
.mdBtn--mat a,
.mdBtn--mat input[type=submit],
.mdBtn--mat button {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  margin: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.mdBtn::before {
  display: inline-block;
  position: absolute;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: none;
  transition-duration: 0.3s;
  pointer-events: none;
  content: "";
}
.mdBtn::before {
  left: -100%;
}
.mdBtn--r::before {
  left: 100%;
}
.mdBtn--stay:before {
  display: none;
}
.mdBtn:hover, .mdBtn.hover, a:hover .mdBtn, a.hover .mdBtn {
  text-decoration: none;
}
.mdBtn:hover::before, .mdBtn.hover::before, a:hover .mdBtn::before, a.hover .mdBtn::before {
  left: 0;
}
.mdBtn.black {
  border: solid 1px #000;
  color: #fff;
  background-color: #000;
}
.mdBtn.black:before, .mdBtn.black:hover, .mdBtn.black.hover, a:hover .mdBtn.black, a.hover .mdBtn.black {
  color: #000;
  background-color: #fff;
}
.mdBtn.disable {
  filter: grayscale(100%);
  opacity: 0.5;
  pointer-events: none;
}

/*
#styleguide
ボタン .mdBtn

指定したタグをボタン風にする。
マウスホバーもしくは「active」クラスでアニメーションする。aタグの小要素に使っている場合は、親aタグの状態にも反応する。
「mat」を付けることで、直下のボタン要素を装飾することもできる。
動く系のアニメは「stay」で止められる。サイト全体でアニメーションが不要な場合はbefore要素を削除する。
```
<a class="mdBtn black" href="#">
  次のページ
</a>

<br><br><br>

<span class="mdBtn mdBtn--mat mdBtn--stay black">
入力内容を確認する
  <input type="submit" value="次へ">
</span>

<br><br><br>

<a class="mdBtn black reverse" href="#">
  戻る
</a>

<br><br><br>

<a class="mdBtn black left-text" href="#">
  テキストテキスト<br>テキスト
</a>
```
*/
/*
<div class="mdAcc">
    <input id="hogehoge" class="mdAcc__check" type="checkbox" value="" />
    <label for="hogehoge" class="mdAcc__btn">普通のアコーディオン</label>
    <div class="mdAcc__body">
        <div class="mdAcc__in">
        </div>
    </div>
</div>
*/
.mdAcc__check {
  display: none;
}
.mdAcc:not(.mdAcc--pc, .mdAcc--sp) .mdAcc__btn {
  cursor: pointer;
}
.mdAcc__body {
  transition: grid-template-rows 0.3s ease;
  transition: grid-template-rows 0.3s ease, -ms-grid-rows 0.3s ease;
}
.mdAcc:not(.mdAcc--pc, .mdAcc--sp) .mdAcc__body {
  display: block grid;
  grid-template-rows: 0fr;
}
.mdAcc:not(.mdAcc--pc, .mdAcc--sp) .mdAcc__body.active, .mdAcc:not(.mdAcc--pc, .mdAcc--sp) .mdAcc__check:checked ~ .mdAcc__body, .mdAcc:not(.mdAcc--pc, .mdAcc--sp) .mdAcc__check:checked ~ .mdAcc__btn .mdAcc__body {
  grid-template-rows: 1fr;
}
.mdAcc:not(.mdAcc--pc, .mdAcc--sp) .mdAcc__check:not(:checked) ~ .mdAcc__btn .mdAcc__on {
  display: none;
}
.mdAcc:not(.mdAcc--pc, .mdAcc--sp) .mdAcc__check:checked ~ .mdAcc__btn .mdAcc__off {
  display: none;
}

/*
#styleguide
アコーディオン .mdAcc

チェックボックスかJSを利用して開閉できるアコーディオン。

チェックボックスの場合は固有IDを付けた空のチェックボックス、それに紐付けたラベル、アコーディオンの中身を同じ階層の兄弟要素にすることが必須。

mdAcc__bodyに「active」を付けることでも開けられるので、JSを使えばbtnとbodyを離せる。

mdAcc__bodyはmdAcc__btnの中に入れても良い。その場合mdAcc__bodyをクリックしても閉じるアーコディオンになる。

「.mdAcc.mdAcc--sp」とするとSP時のみアコーディオン化し、PC時は常に展開状態になる。
```
<div class="mdAcc" style="background:orange;">
    <input id="hogehoge" class="mdAcc__check" type="checkbox" value="" />
    <label for="hogehoge" class="mdAcc__btn">普通のアコーディオン</label>
    <div class="mdAcc__body">
        <div class="mdAcc__in">
            <img loading="lazy" src="https://unsplash.it/300/200?random&n1">
        </div>
    </div>
</div>

<br><br><br>

<div class="mdAcc" style="background:lightgreen;">
    <input id="hogehogeBody" class="mdAcc__check" type="checkbox" value="" />
    <label for="hogehogeBody" class="mdAcc__btn">
        開いた要素の部分をクリックしても閉じるアコーディオン<br>
        <div class="mdAcc__body">
            <div class="mdAcc__in">
                <img loading="lazy" src="https://unsplash.it/300/200?random&n2">
            </div>
        </div>
    </label>
</div>

<br><br><br>

<div class="mdAcc" style="background:pink;">
    JSで開かれるアコーディオン
    <div id="test-mdAcc__3" class="mdAcc__body">
        <div class="mdAcc__in">
            JSで開かれたアコーディオン<br>
            <img loading="lazy" src="https://unsplash.it/300/200?random&n3">
        </div>
    </div>
</div>


<br><br><br>

<a onclick="document.getElementById('test-mdAcc__3').classList.toggle('active')" style="background:pink;"><i class="icon fas fa-bars fa-fw"></i>JSアコーディオン開閉</a>



<br><br><br>

<div class="mdAcc mdAcc--sp" style="background:aqua;">
    <input id="spacc" class="mdAcc__check" type="checkbox" value="" />
    <label for="spacc" class="mdAcc__btn">SPの時だけアコーディオンになる要素</label>
    <div class="mdAcc__body">
        <div class="mdAcc__in">
            <img loading="lazy" src="https://unsplash.it/300/200?random&n4">
        </div>
    </div>
</div>

<br><br><br>

<div class="mdAcc" style="background:orange;">
    <input id="hogeOnOff" class="mdAcc__check" type="checkbox" value="" />
    <label for="hogeOnOff" class="mdAcc__btn">
        <div class="mdAcc__off">
            ■ボタン内がトグルするアコーディオン
        </div>
        <div class="mdAcc__on">
            ★トグル
        </div>

    </label>
    <div class="mdAcc__body">
        <div class="mdAcc__in">
            <img loading="lazy" src="https://unsplash.it/300/200?random&n1">
        </div>
    </div>
</div>



<br><br><br>


```
*/
.mdAccordion__content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
}
.mdAccordion__content.is-open {
  overflow: visible;
}
.mdAccordion__btnText--off {
  display: block;
}
.mdAccordion__btnText--on {
  display: none;
}
.mdAccordion__btn {
  position: relative;
  cursor: pointer;
}
.mdAccordion__btn.is-open .mdAccordion__btnText--off {
  display: none;
}
.mdAccordion__btn.is-open .mdAccordion__btnText--on {
  display: block;
}
.mdAccordion__btn.is-open .linkCommon--icon {
  transform: scaleY(-1);
}
.mdAccordion__btn .linkCommon--icon {
  position: absolute;
  right: 2rem;
}

/*
作り置きの汎用ブロックをmodule/配下に設置しています。
内容は案件に応じて調整して構いません。
案件独自に新造するブロックはblock/に配置してください。

■命名規則
最低2単語、区切りは特に理由がなければキャメルケース
2つ以上の単語が無い場合はモジュールの意味で「md」を先頭に当てる
*/
/*
マージンをセンタリングし、最大幅を制限したラッパー
paddingを左右に入れているため、ラッパーそのものの幅は指定幅+padding分となる

<div class="wrap w1200"></div>

*/
/*
SP用　左右に一定の余白を付けるのみ
<div class="spWrap"></div>

*/
/*
親のwidthやpaddingを無視して画面幅いっぱいの領域を確保する
※乱用は避けてください

<div class="wrap w1200 sp-wrap">
    <img loading="lazy" src="https://unsplash.it/300/50?random&n1" style="width:100%">
    <div class="unwrap">
        <img loading="lazy" src="https://unsplash.it/300/50?random&n1" style="width:100%">
    </div>
</div>
*/
.unwrap {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}

.main__wrap {
  margin: 0 auto;
  max-width: 192rem;
}

/*
サイトの複数箇所で使用されるブロックをblock/配下に設置します。
基本的にはブロック単位でファイルを作成しますが、ほぼセットで使うブロックは1ファイルにまとめても構いません。
限定されたページだけで取り扱うブロックはpage/配下や_top.scssなどに配置してください。

使用箇所が多いブロックは以下に気をつけると使いやすくなります。
■コードを長大にしない
長いコードはただ読むだけでも負担が増え、使用箇所ごとのカスタマイズやメンテナンスが煩雑になります。
1つのブロック（ネスト）のPC版だけでフルHD何画面分もあるようでしたら、内部のパーツを別ブロックとして更に分けることを検討してみてください。
このディレクトリに限らず、ブロックの書き方全般で言えることです。

■widthやmarginをデフォルトで付けない
ブロックの大枠の部分には、なるべくwidthやmarginなどで周囲に干渉しないほうが使いやすくなります。
widthやmarginが必要な時は現地の外側の要素で制御するのが理想的です。

様々なページのニュース一覧用のブロック.newsItemを作るとして、
<div class="newsList">
  <div class="newsList__item"> ← widthなどはここで決める
      <div class="newsItem"></div>
  </div>
</div>

<div class="newsItem"></div> ← 外側に何もなければ幅100%マージン無しで出てくる

*/
/*
タグそのものに対する総合的なスタイル定義
フォントサイズ指定などもあるので一部はサイトに応じて調整する
*/
html {
  box-sizing: border-box;
  font-size: 62.5%;
  /*
  複雑なレイアウト用のVW指定
  */
}

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

body {
  width: 100%;
  min-height: 100dvh;
  background-color: #f4f4f4;
}

img {
  box-sizing: content-box;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

body {
  line-height: 1.8;
}

body,
button,
input,
select,
textarea {
  font-family: -apple-system, Noto Sans CJK JP, Noto Sans Japanese, Noto Sans JP, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック体, YuGothic, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #222;
  word-wrap: break-word;
}

a {
  color: #ed1b23;
  text-decoration: none;
  transition-duration: 0.3s;
}
p:not([class], :last-child) {
  margin-bottom: 1em;
}

::selection {
  color: #fff;
  background-color: #dd1119;
}

b,
strong {
  font-weight: 700;
}

sup {
  font-size: 0.7em;
  vertical-align: super;
}

table {
  width: 100%;
  max-width: 100%;
}
table p:not([class], :last-child) {
  margin-bottom: 1em;
}

td,
th {
  min-height: 1em;
  word-break: break-all;
  word-wrap: break-word;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #c1c1c1;
}

input::placeholder,
textarea::placeholder {
  color: #c1c1c1;
}

textarea {
  resize: vertical;
}

[type=email],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=url],
textarea,
button,
select {
  border: 0;
  background: 0;
  outline: none;
}

a,
area,
[type=checkbox],
[type=radio],
[type=submit],
button,
select,
label,
summary {
  cursor: pointer;
}

svg {
  overflow: visible;
}

/*
########     ###    ########
##     ##   ## ##   ##     ##
########  ##     ## ##     ##
##        ######### ##     ##
##        ##     ## ########
*/
/*
##     ## ########    ###    ########  ######## ########
##     ## ##        ##   ##  ##     ## ##       ##     ##
######### ######   ##     ## ##     ## ######   ########
##     ## ##       ######### ##     ## ##       ##   ##
##     ## ######## ##     ## ########  ######## ##     ##
*/
.header {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 1000;
  margin: 0 auto;
  width: 100%;
  max-width: 192rem;
  white-space: nowrap;
  transform: translateX(-50%);
  /*
               ######  ########
              ##       ##     ##
      #######  ######  ########
                    ## ##
               ######  ##
  */
}
.header__frame {
  position: relative;
  padding-top: 2rem;
}
.header__base {
  justify-content: center;
  padding: 0 2rem;
}
.header__right {
  top: 1rem;
  right: 1rem;
  z-index: 99;
}
.headerLogo {
  position: absolute;
  left: 2%;
  z-index: 99;
}
.headerNav {
  padding: 2rem 1.5rem;
  border: 1.2px solid rgba(255, 255, 255, 0.92);
  border-radius: 50rem;
  height: 5rem;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.62) 100%);
  gap: 1.2rem;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.headerNav__link {
  position: relative;
  z-index: 1;
  padding: 0.8rem 1.7rem;
  font-size: 1.3rem;
  color: #222;
  transition: all 0.4s cubic-bezier(0.5, 1, 0.89, 1);
}
.headerNav__link::before {
  position: absolute;
  z-index: -1;
  border-radius: 50rem;
  background: #ed1b23;
  filter: blur(4px);
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.5, 1, 0.89, 1);
  inset: 0;
}
.headerNav__link:hover {
  color: #fff;
}
.headerNav__link:hover::before {
  opacity: 1;
}
.headerNav__link:hover ~ .current {
  opacity: 1;
}
.headerNav .nav-current {
  position: absolute;
  top: 15%;
  z-index: 0;
  border-radius: 2.5rem;
  height: 70%;
  background-color: #ed1b23;
  filter: blur(4px);
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.5, 1, 0.89, 1);
}

/*
##        #######   ######    #######
##       ##     ## ##        ##     ##
##       ##     ## ##   #### ##     ##
##       ##     ## ##    ##  ##     ##
########  #######   ######    #######
*/
.headerLogo__img {
  display: block;
}

/*
 ########  ##     ## ##       ##       ########   #######  ##      ## ##    ##
 ##     ## ##     ## ##       ##       ##     ## ##     ## ##  ##  ## ####  ##
 ########  ##     ## ##       ##       ##     ## ##     ## ##  ##  ## ## ## ##
 ##        ##     ## ##       ##       ##     ## ##     ## ##  ##  ## ##  ####
 ##         #######  ######## ######## ########   #######   ###  ###  ##    ##
*/
.headerPulldown__head {
  padding: 1rem 2.5rem;
  height: 10rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  transition-duration: 0.2s;
}
.headerPulldown__head:not(a) {
  cursor: default;
}
.headerPulldown__body {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 2;
  padding: 3.5rem 0;
  width: 100%;
  background: #f00;
  opacity: 0;
  transition-duration: 0.3s;
  transform: rotateX(90deg);
  transform-origin: 0 0;
}
.headerPulldown:hover .headerPulldown__head::before {
  transform: none;
}
.headerPulldown:hover .headerPulldown__body {
  opacity: 1;
  transform: rotateX(0);
}

/*
 ######           ##    ##    ###    ##     ##
##                ####  ##  ##   ##  ##     ##
##   #### ####### ## ## ## ##     ## ##     ##
##    ##          ##  #### #########  ##   ##
 ######           ##    ## ##     ##    ###
*/
/*
        ########  ######## ##    ##
        ##     ##    ##    ####  ##
####### ########     ##    ## ## ##
        ##     ##    ##    ##  ####
        ########     ##    ##    ##
*/
.gNavBtn {
  display: inline-block;
  position: relative;
  z-index: 1;
  border: 1.2px solid rgba(255, 255, 255, 0.92);
  border-radius: 50rem;
  width: 6.2rem;
  height: 6.2rem;
  vertical-align: middle;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.62) 100%);
  transition-duration: 0.3s;
  cursor: pointer;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.gNavBtn::before {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  content: "";
  inset: -0.5rem;
}
.gNavBtn.active {
  right: 1rem;
}
.gNavBtn.active::before {
  background: #ed1b23;
  filter: blur(4px);
}
.gNavBtn__box {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.gNavBtn__bar {
  display: block;
  position: absolute;
  left: 2rem;
  z-index: 2;
  width: 2rem;
  height: 1.4px;
  background: #222;
  transition-duration: 0.3s;
}
.gNavBtn__bar:nth-of-type(1) {
  top: 40%;
}
.gNavBtn__bar:nth-of-type(2) {
  top: 60%;
}
.gNavBtn.active .gNavBtn__bar {
  background: #fff;
}
.gNavBtn.active .gNavBtn__bar:nth-of-type(1) {
  top: 50%;
  margin-top: -0.7px;
  transition: top 0.3s, margin 0.3s, rotate 0.3s ease 0.3s;
  rotate: -45deg;
}
.gNavBtn.active .gNavBtn__bar:nth-of-type(2) {
  top: 50%;
  transition: bottom 0.3s, margin 0.3s, rotate 0.3s ease 0.3s;
  rotate: 45deg;
}

/*
        ##    ##    ###    ##     ##
        ####  ##  ##   ##  ##     ##
####### ## ## ## ##     ## ##     ##
        ##  #### #########  ##   ##
        ##    ## ##     ##    ###
*/
.gNav {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  overflow-y: auto;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.62) 100%);
  opacity: 0.9;
  transition-duration: 0.3s;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.gNav::after {
  display: block;
  height: 0;
  content: "";
}
.gNavTop {
  padding-bottom: 2rem;
}
.gNavLogo__img {
  width: 10.4rem;
}
.gNav:not(.active) {
  translate: 100% 0%;
  visibility: hidden;
}
.gNav__menu {
  padding: 1rem 0 0 3.125%;
}
.gNav__item {
  position: relative;
  padding: 0.5rem 1.5rem;
  font-size: 1.5rem;
  font-weight: 500;
  color: #222;
}
.gNav__icon {
  position: absolute;
  right: 2rem;
  z-index: 2;
  font-size: 1rem;
  transition-duration: 0.3s;
}
.mdAcc__check:checked ~ .mdAcc__btn .gNav__icon {
  rotate: 180deg;
}
.gNav__btn--mail {
  height: 6rem;
}

.footer {
  position: relative;
  margin: 0 auto;
  padding: 25rem 0 3rem;
  max-width: 184rem;
  background-color: #f4f4f4;
}
.footer__inner {
  padding: 3.8611vw 3.8611vw 2.4722vw;
  border-radius: 1.5rem;
  box-shadow: 1px 1px 2px 0px transparent inset, -1px -1px 2px 0px transparent inset, 1px 1px 2px 0px rgba(255, 255, 255, 0.3), -1px -1px 2px 0px rgba(220, 220, 220, 0.5), -5px 5px 10px 0px transparent, -5px -5px 10px 0px transparent, 5px 5px 13px 0px transparent, -5px -5px 10px 0px rgba(255, 255, 255, 0.9) inset, 5px 5px 13px 0px rgba(220, 220, 220, 0.9) inset;
}
.footer__frame {
  gap: 8vw;
}
.footer__bottom {
  padding-top: 2rem;
}
.footerSNS {
  gap: 1rem;
  padding-top: 2.5rem;
}
.footerSNS__link {
  border-radius: 3rem;
  width: 3.333vw;
  height: 3.333vw;
  font-size: 2rem;
  color: #222;
  background-color: rgb(244, 244, 244);
  box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.3) inset, -1px -1px 2px 0px rgba(220, 220, 220, 0.5) inset, 1px 1px 2px 0px transparent, -1px -1px 2px 0px transparent, -5px 5px 10px 0px rgba(220, 220, 220, 0.2), -5px -5px 10px 0px rgba(255, 255, 255, 0.9), 5px 5px 13px 0px rgba(220, 220, 220, 0.9), -5px -5px 10px 0px transparent inset, 5px 5px 13px 0px transparent inset;
  transition: background-color 0.4s cubic-bezier(0.5, 1, 0.89, 1), box-shadow 0.4s cubic-bezier(0.5, 1, 0.89, 1);
}
.footerSNS__link .icon-youtube {
  margin-bottom: 0.5rem;
}
.footerSNS__link:hover {
  color: #fff;
  background-color: #ed1b23;
  box-shadow: 1px 1px 2px 0px transparent inset, -1px -1px 2px 0px transparent inset, 1px 1px 2px 0px rgba(255, 8, 8, 0.3), -1px -1px 2px 0px rgba(230, 6, 6, 0.5), -5px 5px 10px 0px transparent, -5px -5px 10px 0px transparent, 5px 5px 13px 0px transparent, -5px -5px 10px 0px transparent inset, 5px 5px 13px 0px transparent inset, -2px 2px 4px 0px transparent, -2px -2px 4px 0px transparent, 2px 2px 6px 0px transparent;
}
.footerNav {
  gap: 3.5vw;
}
.footerNav__link {
  font-size: 1.4rem;
  color: #222;
  transition: color 0.4s cubic-bezier(0.5, 1, 0.89, 1);
}
.footerNav__link:hover {
  color: #ed1b23;
}
.footerNav__link--icon {
  width: 1.2rem;
  height: 1.2rem;
}
.footerCopyright {
  gap: 8vw;
}
.footerCopyright__text {
  font-size: 1.1rem;
}
.footer__bottom--link {
  font-size: 1.2rem;
  color: #222;
}
.footer__bottom--link:not(:last-child) {
  padding-right: 3rem;
}
.footer__bottom--link:hover {
  color: #ed1b23;
}
.footer__bottom--right {
  gap: 1rem;
}

.dib {
  display: inline-block;
}

.common__sec {
  margin-top: 22rem;
}

.secMV__wrap {
  position: relative;
}
.secMV video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.secMV__copy {
  color: #fff;
}
.secMV__copy--title {
  font-size: 11.4rem;
  font-weight: 400;
  line-height: 1.2;
}
.secMV__copy--desc {
  font-size: 4rem;
  font-weight: 400;
  line-height: 180%; /* 7.2rem */
}
.secMV__fixed {
  position: sticky;
  top: 0;
  height: 100vh;
}
.secMV__content {
  position: relative;
  margin: -36rem auto 0;
  padding-bottom: 16rem;
  max-width: 85%;
}
.secMV__content--txt {
  width: 82.4rem;
}
.secMV__content--point {
  margin-top: 22rem;
  margin-left: auto;
  width: 100%;
  max-width: 62rem;
}
.secMV__content--pointTxt {
  padding-left: 8%;
  font-size: 1rem;
  line-height: 200%;
  color: #fff;
}
.secMV__content--pointLine:not(:first-of-type) {
  margin-top: 2rem;
}
.secMV__content--text {
  margin-top: -50rem;
  font-size: 3.6rem;
  line-height: 200%;
  color: #fff;
}
.secMV__wrapperNote {
  font-size: 2rem;
}
.secMV .overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0);
}
.secMV .text-line {
  white-space: nowrap;
}
.secMV .text-line span {
  display: inline-block;
  opacity: 0.2;
  transition: opacity 0.15s linear;
}

.secVision {
  position: relative;
  padding-top: 18rem;
  padding-bottom: 0;
  background-color: #f4f4f4;
}
.secVision .pageDesc {
  width: 64.4rem;
  max-width: 60%;
}
.secVision__list {
  margin: 0;
  padding-top: 12rem;
  gap: 16.2rem;
}
.secVisionLeft {
  width: 100%;
  max-width: 110rem;
}
.secVisionRight {
  margin-left: auto;
  width: 100%;
  max-width: 45.8rem;
}
.secVisionFixed {
  position: sticky;
  top: 15rem;
  width: 100%;
  max-width: 110rem;
}
.secVisionImg img {
  border-radius: 4rem;
  width: 100%;
}
.secVisionImg {
  position: relative;
}
.secVisionImg--link {
  position: absolute;
  top: 0;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}
.secVisionImg--link.current {
  opacity: 1;
  visibility: visible;
}
.secVision__item:not(:first-of-type) {
  margin-top: 27rem;
}
.secVision__item--content {
  padding: 0;
}
.secVision__item--ttlEn {
  font-size: 5.2rem;
  font-weight: 400;
  line-height: 1.4;
  color: #ed1b23;
}
.secVision__item--ttl {
  padding-bottom: 8.8rem;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 140%; /* 4.48rem */
}
.secVision__item--txt {
  font-size: 1.4rem;
  line-height: 200%;
}
.secVision__item--btn {
  margin: 4rem auto 0;
}
.secVision__value--list {
  margin-top: 7.2rem;
}
.secVision__value--list li:not(:first-of-type) {
  margin-top: 4rem;
}
.secVision__value--list li .ttl {
  position: relative;
  padding-left: 3.2rem;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 140%; /* 3.64rem */
  color: #222;
}
.secVision__value--list li .ttl::before {
  position: absolute;
  top: 1.8rem;
  left: 0;
  width: 2.4rem;
  height: 1px;
  background-color: #ed1b23;
  content: "";
}
.secVision__value--list li .valueText {
  margin-top: 1.2rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 200%; /* 2.8rem */
  color: #222;
}

.secFeature {
  position: relative;
  margin-bottom: -6rem;
  padding-top: 12rem;
  background-color: #f4f4f4;
  transition: background-color 0.65s cubic-bezier(0.18, 0.06, 0.23, 1);
}
.secFeature__left {
  width: 100%;
  max-width: 68.4rem;
}
.secFeature__right {
  width: 100%;
  max-width: 81.9rem;
}
.secFeature__item {
  transition: 0.3s;
}
.secFeature__item:not(:first-of-type) {
  margin-top: 12rem;
}
.secFeature__item:last-of-type {
  padding-bottom: 6rem;
}
.secFeature__item.active {
  opacity: 1 !important;
}
.secFeature__item--ttlEn {
  font-size: 5.2rem;
  font-weight: 400;
  line-height: 1.4;
}
.secFeature__item--ttlEnRed {
  color: #ed1b23;
}
.secFeature__item--ttlJaBig {
  margin-top: 0.2rem;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 160%; /* 5.12rem */
}
.secFeature__item--ttlJa {
  margin-top: 0.2rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 160%; /* 2.88rem */
}
.secFeature__item--txt {
  padding-top: 4rem;
  font-size: 1.4rem;
  line-height: 2;
}
.secFeature__circle {
  position: sticky;
  top: 10rem;
}
.secFeature__circle--wrap {
  justify-content: flex-end;
  position: relative;
}
.secFeature__circle--imgs {
  position: relative;
}
.secFeature__circle--bg {
  width: 100%;
}
.secFeature__circle--bg img {
  width: 100%;
}
.secFeature__circle--link {
  position: absolute;
  pointer-events: none;
}
.secFeature__circle--link img {
  width: 100%;
}
.secFeature__circle--link:nth-of-type(1) {
  top: 1.5rem;
  left: 10rem;
  width: 41.8rem;
}
.secFeature__circle--link:nth-of-type(1) .img1 {
  top: -2rem;
}
.secFeature__circle--link:nth-of-type(2) {
  top: 4rem;
  right: 2.6rem;
  width: 30.2rem;
}
.secFeature__circle--link:nth-of-type(2) .img1 {
  right: 2rem;
}
.secFeature__circle--link:nth-of-type(3) {
  right: 2.5rem;
  bottom: 4.8rem;
  width: 30.2rem;
}
.secFeature__circle--link:nth-of-type(3) .img1 {
  right: 2rem;
}
.secFeature__circle--link:nth-of-type(4) {
  bottom: 2.4rem;
  left: 9.6rem;
  width: 41.8rem;
}
.secFeature__circle--link:nth-of-type(4) .img1 {
  bottom: -2rem;
}
.secFeature__circle--link:nth-of-type(5) {
  bottom: 19.6rem;
  left: 1.8rem;
  width: 17.5rem;
}
.secFeature__circle--link:nth-of-type(5) .img1 {
  left: -2rem;
}
.secFeature__circle--link img.img1 {
  display: none;
  position: absolute;
  z-index: 9;
  width: 20rem;
  height: 20rem;
  -o-object-fit: cover;
  object-fit: cover;
}
.secFeature__circle--link img.img2, .secFeature__circle--link img.icon {
  display: none;
}
.secFeature__circle--link.current img.img1 {
  display: block;
}
.secFeature__circle--link.current img.img2 {
  display: block;
}
.secFeature__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 28.4rem;
  transform: translate(-50%, -50%);
}

.secCore__wrap {
  gap: 12rem;
  display: flex;
  align-items: flex-end;
}
.secCore__block {
  flex-basis: calc(100% - 110.9rem - 12rem);
  width: 100%;
}
.secCore__list {
  margin: 13.8rem 0 22.1rem;
  counter-reset: secCoreCounter;
}
.secCore__item {
  counter-increment: secCoreCounter;
}
.secCore__item:not(:first-of-type) {
  margin-top: 4.8rem;
}
.secCore__subTitle {
  position: relative;
  padding-left: 3.4rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 100%;
}
.secCore__subTitle::before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #222;
  border-radius: 0.2rem;
  width: 2.6rem;
  height: 2.6rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 200%;
  text-align: center;
  content: counter(secCoreCounter);
}
.secCore__subText {
  margin-top: 1.6rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 180%; /* 2.52rem */
  color: #222;
}
.secCore__img {
  flex-basis: 110.9rem;
  width: 100%;
}

.secVideo__wrap {
  gap: 4rem;
}
.secVideo__box {
  flex: 1;
  border-radius: 2.5rem;
  overflow: hidden;
}
.secVideo__box iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
}

.secHistory {
  position: relative;
  background-color: #f4f4f4;
}
.secHistory__wrap {
  margin-top: 12rem;
}
.secHistory__text {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  color: #222;
}
.secHistory__intro {
  justify-content: space-between;
  margin-top: 12rem;
}
.secHistory__introLeft {
  flex-basis: 48.6rem;
  width: 100%;
}
.secHistory__content--top {
  margin-top: 8rem;
}
.secHistory__content--bt:first-of-type .secHistory__item {
  padding-top: 2rem;
}
.secHistory__item {
  position: relative;
  padding-left: 3.6rem;
}
.secHistory__item::before {
  position: absolute;
  top: 0;
  left: 0.6rem;
  width: 2px;
  height: 100%;
  background-color: rgba(220, 220, 220, 0.2);
  content: "";
}
.secHistory__item:not(:last-child) {
  padding-bottom: 2rem;
}
.secHistory__item--year {
  position: relative;
  font-size: 2.8rem;
  line-height: 1;
  color: #ed1b23;
}
.secHistory__item--year::before {
  position: absolute;
  top: 0.6rem;
  left: -3.6rem;
  border: 1px solid #ed1b23;
  border-radius: 50%;
  width: 1.4rem;
  height: 1.4rem;
  content: "";
  aspect-ratio: 1/1;
}
.secHistory__item--ttl {
  padding-top: 1.2rem;
  padding-bottom: 2.4rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 180%; /* 2.52rem */
}
.secHistory__item--txt {
  font-size: 1.4rem;
  line-height: 1.8;
}
.secHistory__item--txt:not(:empty) {
  padding-bottom: 2rem;
}
.secHistory__item--img {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.secHistory__item--img.img1 {
  margin-right: auto;
  margin-left: 6rem;
  max-width: 57.8rem;
}
.secHistory__item--img.img2 {
  margin-left: auto;
  max-width: 56.9rem;
}
.secHistory__item--img.img3 {
  margin-right: auto;
  max-width: 43.6rem;
}
.secHistory__item--img3 {
  margin-top: 6rem;
  margin-bottom: 4rem;
}
.secHistory__item--img img {
  border-radius: 1.2rem;
}
.secHistory__note {
  margin-top: 8rem;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 200%; /* 2.4rem */
  color: #222;
}
.secHistoryMore {
  display: flex;
  margin-top: 18rem;
  gap: 12rem;
}
.secHistoryMore__block {
  flex-basis: 52rem;
  width: 100%;
}
.secHistoryMore__title {
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 140%; /* 3.64rem */
}
.secHistoryMore__text {
  position: relative;
  margin-top: 2.4rem;
  padding-top: 3.2rem;
  max-width: 40rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 200%; /* 2.8rem */
}
.secHistoryMore__text::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #f4f4f4;
  filter: drop-shadow(-1px -1px 2px rgba(227, 227, 227, 0.5)) drop-shadow(1px 1px 2px rgba(255, 255, 255, 0.3));
  box-shadow: -1px 1px 2px 0 rgba(227, 227, 227, 0.2) inset, 1px -1px 2px 0 rgba(227, 227, 227, 0.2) inset, -1px -1px 2px 0 rgba(255, 255, 255, 0.9) inset, 1px 1px 3px 0 rgba(227, 227, 227, 0.9) inset;
  content: "";
}
.secHistoryMore__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem;
  flex-basis: 108rem;
  width: 100%;
}
.secHistoryMore__item--link {
  position: relative;
  z-index: 1;
  color: #fff;
  transition-duration: 0.3s;
}
.secHistoryMore__item--link img {
  width: 100%;
}
.secHistoryMore__item--link .icon {
  position: absolute;
  right: 2em;
  bottom: 2rem;
  width: 3.2rem;
  height: 3.2rem;
  opacity: 0;
  transition-duration: 0.3s;
}
.secHistoryMore__item--link::before {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 1.2rem;
  width: 100%;
  height: 100%;
  transition-duration: 0.3s;
  content: "";
}
.secHistoryMore__item--link:hover::before {
  background: rgba(0, 0, 0, 0.4);
}
.secHistoryMore__item--link:hover .icon {
  opacity: 1;
}
.secHistoryMore__item--video {
  border-radius: 1rem;
}
.secHistoryMore__item video {
  border-radius: 1.2rem;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}
.secHistory .linkCommon--icon {
  position: absolute;
  right: 2rem;
}
.secHistory__images {
  display: flex;
  flex-basis: 108rem;
  flex-wrap: wrap;
  margin-bottom: auto;
  gap: 3rem 3.2rem;
}
.secHistory__img {
  flex-basis: calc((100% - 3.2rem) / 2);
  width: 100%;
}
.secHistory__img img {
  border-radius: 2.5rem;
}
.secHistory .mdAccordion__btn {
  margin-top: 2.4rem;
}

.secOneDay {
  position: relative;
  padding-top: 2rem;
  padding-bottom: 7.68rem;
  background-color: #f4f4f4;
}
.secOneDay--desc {
  padding-top: 3rem;
  padding-bottom: 4rem;
  font-size: 1.4rem;
  line-height: 2;
}
.secOneDay--left {
  width: 61rem;
  max-width: 65%;
}
.secOneDay--img {
  width: 18.3rem;
  gap: 2rem;
}
.secOneDay--img img {
  border-radius: 1.2rem;
}
.secOneDay--head {
  padding-bottom: 2rem;
  font-size: 1.8rem;
  font-weight: 500;
  color: #ed1b23;
}
.secOneDay__item--time {
  position: relative;
  width: 4rem;
  color: #ed1b23;
}
.secOneDay__item--time::before {
  position: absolute;
  top: 0.6rem;
  right: -2.1rem;
  border: 1px solid #ed1b23;
  border-radius: 50%;
  width: 1.4rem;
  height: 1.4rem;
  content: "";
}
.secOneDay__item--time::after {
  position: absolute;
  top: 1rem;
  right: -1.5rem;
  width: 1px;
  height: 100%;
  background-color: #e6e6e6;
  content: "";
}
.secOneDay__item--content {
  padding-bottom: 3rem;
  padding-left: 5rem;
  width: 80%;
}
.secOneDay__item--ttl {
  padding-bottom: 1rem;
  font-weight: 500;
}

.secFits {
  position: relative;
}
.secFits::before, .secFits::after {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 17.5rem;
  pointer-events: none;
}
.secFits::before {
  top: 0;
  left: 0;
  background: linear-gradient(180deg, #f4f4f4 31.94%, rgba(244, 244, 244, 0) 100%);
}
.secFits::after {
  bottom: 0;
  left: 0;
  background: linear-gradient(180deg, rgba(244, 244, 244, 0) 31.94%, #f4f4f4 100%);
}
.secFits--wrap {
  position: relative;
  padding-right: 4rem;
  padding-bottom: 23rem;
  padding-left: 4rem;
  overflow: hidden;
}
.secFits__catch {
  position: absolute;
  width: 28.6rem;
  max-width: 16%;
  height: 100%;
}
.secFits__catch--left {
  left: 4rem;
}
.secFits__catch--left img {
  border-radius: 2.5rem;
}
.secFits__catch--right {
  right: 4rem;
}
.secFits__catch--right img {
  border-radius: 2.5rem;
}
.secFits__catch--sticky {
  position: absolute;
  top: 4rem;
  width: 100%;
  gap: 2.4rem;
}
.secFitsContent {
  margin: auto;
}
.secFitsContent__wrap {
  margin: 0 auto;
  max-width: 64rem;
}
.secFits__ttl {
  position: relative;
  z-index: 2;
  text-align: left;
}
.secFits__ttl--en {
  font-size: 8.2rem;
  font-weight: 400;
  line-height: 100%; /* 8.2rem */
}
.secFits__ttl--ja {
  margin-top: 1.2rem;
  font-size: 4.4rem;
  font-weight: 500;
  line-height: 140%; /* 6.16rem */
}
.secFits__copy {
  margin: 4rem 0 6.4rem;
  font-size: 5.6rem;
  font-weight: 500;
  line-height: 140%; /* 7.84rem */
  text-align: left;
}
.secFits__txt {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
}
.secFits__form {
  position: relative;
  margin-top: 6.4rem;
}
.secFits__form--ttl {
  margin-bottom: 2.4rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 100%; /* 2.4rem */
}
.secFits__form--list {
  margin-top: 4rem;
}
.secFits__form--item {
  padding: 1.5rem 2rem;
  border-radius: 50rem;
  width: 100%;
  background-color: #f4f4f4;
  box-shadow: inset 1px 1px 2px 0 hsla(0, 0%, 100%, 0.3), inset -1px -1px 2px 0 hsla(0, 0%, 86%, 0.5), -5px 5px 10px 0 hsla(0, 0%, 86%, 0.2), 5px -5px 10px 0 hsla(0, 0%, 86%, 0.2), -5px -5px 10px 0 hsla(0, 0%, 100%, 0.9), 5px 5px 13px 0 hsla(0, 0%, 86%, 0.9);
  transition-duration: 0.3s;
}
.secFits__form--item:not(:first-of-type) {
  margin-top: 2.4rem;
}
.secFits__form--checkbox {
  position: relative;
  margin-right: 0.5rem;
  border: 2px solid #d6d6d6;
  border-radius: 0.4rem;
  width: 2.4rem;
  height: 2.4rem;
  background: var(--grey-03, #d6d6d6);
  outline: none;
  box-shadow: 1px 1px 2px 0 rgba(225, 225, 225, 0.3), -1px -1px 2px 0 rgba(203, 203, 203, 0.5), -5px 5px 10px 0 rgba(203, 203, 203, 0.2) inset, -5px -5px 10px 0 rgba(225, 225, 225, 0.9) inset, 5px -5px 10px 0 rgba(203, 203, 203, 0.2) inset, 5px 5px 13px 0 rgba(203, 203, 203, 0.9) inset;
  transition: all 0.2s ease;
  -webkit-appearance: none;
  appearance: none;
}
.secFits__form--checkbox:checked::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.8rem;
  height: 1.2rem;
  text-align: left;
  background: url(../recruit_img/check-mark.svg) no-repeat center;
  background-size: 1.4rem;
  transform: translate(-50%, -50%);
  content: "";
}
.secFits__form--txt {
  padding-left: 0.5rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.35;
  color: #ed1b23;
  text-align: left;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.secQA {
  position: relative;
  transition: background-color 0.65s cubic-bezier(0.18, 0.06, 0.23, 1);
}
.secQA__menu {
  justify-content: space-between;
}
.secQA__left {
  flex-basis: 54rem;
  width: 100%;
}
.secQA__right {
  flex-basis: 106rem;
  width: 100%;
}
.secQA--list {
  margin-top: 10rem;
}
.secQA__item {
  padding: 4.8rem 3.2rem;
  border-radius: 2.5rem;
  background: #f4f4f4;
  box-shadow: 1px 1px 2px 0 rgba(255, 255, 255, 0.3), -1px -1px 2px 0 rgba(230, 230, 230, 0.5), -5px 5px 10px 0 rgba(230, 230, 230, 0.2) inset, 5px -5px 10px 0 rgba(230, 230, 230, 0.2) inset, -5px -5px 10px 0 rgba(255, 255, 255, 0.9) inset, 5px 5px 13px 0 rgba(230, 230, 230, 0.9) inset;
}
.secQA__item:not(:last-child) {
  margin-bottom: 2.4rem;
}
.secQA__item--q {
  position: relative;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(227, 227, 227, 0.9);
  font-size: 1.8rem;
}
.secQA__item--q::before {
  padding-right: 1rem;
  font-family: "Niveau Grotesk", Arial, sans-serif;
  font-size: 2.4rem;
  line-height: 1.4;
  color: #ed1b23;
  content: "Q";
}
.secQA__item--q::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  filter: drop-shadow(-1px -1px 2px rgba(227, 227, 227, 0.5)) drop-shadow(1px 1px 2px rgba(255, 255, 255, 0.3));
  box-shadow: -1px 1px 2px 0 rgba(227, 227, 227, 0.2) inset, 1px -1px 2px 0 rgba(227, 227, 227, 0.2) inset, -1px -1px 2px 0 rgba(255, 255, 255, 0.9) inset, 1px 1px 3px 0 rgba(227, 227, 227, 0.9) inset;
  content: "";
}
.secQA__item--a {
  font-size: 1.4rem;
  line-height: 2;
}
.secQA__item--a::before {
  padding-right: 1rem;
  font-family: "Niveau Grotesk", Arial, sans-serif;
  font-size: 2rem;
  line-height: 1.4;
  color: #b8b8b8;
  content: "A";
}
.secQA__images {
  position: sticky;
  top: 15rem;
}
.secQA__img {
  transition: 0.3s;
  pointer-events: none;
}
.secQA__img img {
  display: block;
  border-radius: 4rem;
}
.secQA__img:first-of-type {
  opacity: 0;
}
.secQA__img:first-of-type.current {
  opacity: 1;
}
.secQA__img:not(:first-of-type) {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  opacity: 0;
  visibility: hidden;
}
.secQA__img:not(:first-of-type).current {
  opacity: 1;
  visibility: visible;
}

.secReason {
  position: relative;
  background-color: #f4f4f4;
}
.secReason__top--left, .secReason__top--right {
  width: 50%;
}
.secReason__list {
  padding-top: 18rem;
}
.secReason__block {
  justify-content: space-between;
  position: relative;
  padding-bottom: 14rem;
}
.secReason__block:not(:first-of-type) {
  margin-top: 18rem;
}
.secReason__block:nth-child(even) .secReason__box {
  order: 2;
}
.secReason__block .mdAccordion__btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.secReason__box {
  flex-basis: 56.2rem;
  width: 100%;
}
.secReason__right {
  flex-basis: 100rem;
  width: 100%;
}
.secReason__images {
  position: sticky;
  top: 10rem;
}
.secReason__img {
  transition: 0.3s;
  pointer-events: none;
}
.secReason__img img {
  border-radius: 4rem;
}
.secReason__img:not(:first-of-type) {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  opacity: 0;
  visibility: hidden;
}
.secReason__img:not(:first-of-type).current {
  opacity: 1;
  visibility: visible;
}
.secReason__item:not(.mdAccordion__content):nth-child(odd) .secReason__item--img {
  order: 2;
}
.secReason__item.-le .secReason__item--img {
  order: 2;
}
.secReason__item--img {
  width: 65rem;
  max-width: 50%;
}
.secReason__item--img .jojo--bottom {
  width: 100%;
}
.secReason__item--img .jojo--bottom:not(:first-child) {
  margin-top: 4rem;
}
.secReason__item--img img {
  border-radius: 2.5rem;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.secReason__item--case {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50rem;
  width: 12.5rem;
  height: 4.2rem;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 140%; /* 3.36rem */
  color: #ed1b23;
  background: #f4f4f4;
  box-shadow: 1px 1px 2px 0 rgba(255, 255, 255, 0.3), -1px -1px 2px 0 rgba(230, 230, 230, 0.5), -5px 5px 10px 0 rgba(230, 230, 230, 0.2) inset, 5px -5px 10px 0 rgba(230, 230, 230, 0.2) inset, -5px -5px 10px 0 rgba(255, 255, 255, 0.9) inset, 5px 5px 13px 0 rgba(230, 230, 230, 0.9) inset;
}
.secReason__item--ttl {
  padding: 1.2rem 0 2.4rem;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 140%; /* 5.04rem */
}
.secReason__item--name {
  font-size: 2.4rem;
  font-weight: 500;
  text-align: right;
}
.secReason__item--info {
  gap: 0.6rem;
  padding-top: 1.2rem;
}
.secReason__item--infoTtl {
  margin-left: 1rem;
  padding: 0 0.8rem;
  border: 1px solid #ed1b23;
  border-radius: 0.4rem;
  font-size: 1.4rem;
  line-height: 1.6;
}
.secReason__item--infoTxt {
  font-size: 1.4rem;
}
.secReason__item--txt1 {
  padding-top: 0.5rem;
  font-weight: 500;
}
.secReason__item--updated {
  padding-top: 1.2rem;
  padding-bottom: 1.6rem;
  font-size: 1.2rem;
}
.secReason__item--txt {
  padding-top: 2.4rem;
  line-height: 2;
}
.secReason__item--box {
  margin-top: 4rem;
}
.secReason__item--q {
  position: relative;
  padding-left: 3.2rem;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 160%; /* 3.52rem */
}
.secReason__item--q::before {
  position: absolute;
  top: 1.8rem;
  left: 0;
  width: 2rem;
  height: 1px;
  background-color: #222;
  content: "";
}
.secReason__item--a {
  margin-top: 4rem;
  max-width: 49.4rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 200%; /* 2.8rem */
}

.secReason__anchor {
  top: 0;
  z-index: 9;
  padding-top: 8rem;
  background-color: #f4f4f4;
  gap: 2rem;
  transition: width 0.2s ease;
}
.secReason__anchorFix {
  position: fixed;
  top: auto;
  bottom: 4rem;
  left: 50%;
  padding-top: 0;
  width: 100%;
  background-color: transparent;
  opacity: 0;
  transition: 0.3s ease;
  transform: translateX(-50%);
  pointer-events: none;
  gap: 0.3rem;
}
.secReason__anchorFix .secReason__anchor--link {
  border-radius: 1.2rem;
  width: 17rem;
  height: 14.3rem;
  font-size: 2.4rem;
}
.secReason__anchorFix .secReason__anchor--link img {
  height: 14.3rem;
  -o-object-fit: cover;
  object-fit: cover;
}
.secReason__anchorFix.fixed {
  opacity: 1;
  pointer-events: all;
}
.secReason__anchor--link {
  position: relative;
  border: 1.2px solid #fff;
  border-radius: 2.5rem;
  width: 100%;
  max-width: calc(25% - 2rem);
  overflow: hidden;
  font-weight: 500;
  line-height: 1.4;
  color: #222;
  text-align: center;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
  transition: all 0.5s ease;
}
.secReason__anchorFix .secReason__anchor--link {
  font-size: 2.4rem;
  font-weight: 400;
  color: #ed1b23;
}
.secReason__anchor--link:hover img {
  transform: scale(1.12);
}
.secReason__anchor--link:hover svg {
  transform: scale(1.4);
}
.secReason__anchor--thumb img {
  width: 100%;
  transition-duration: 0.3s;
}
.secReason__anchor--ttl {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  margin: auto;
  padding: 1.6rem;
  width: 100%;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 130%; /* 3.64rem */
  color: var(--white, #fff);
  text-align: center;
  background: rgba(0, 0, 0, 0.2);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.secReason__anchor--ttl.w-100 {
  padding: 0.4rem 0 0.6rem;
  font-size: 2.4rem;
  line-height: 100%;
}
.secReason__anchor--icon {
  padding-top: 0.5rem;
  color: #ed1b23;
}
.secReason__anchorFix .secReason__anchor--icon {
  font-size: 1.6rem;
}

.secReferral {
  position: relative;
  background-color: #f4f4f4;
}
.secReferral__main {
  margin-top: 10rem;
}
.secReferral__intro {
  gap: 12rem;
}
.secReferral__img {
  flex-basis: 106rem;
  width: 100%;
}
.secReferral__img img {
  border-radius: 2.5rem;
}
.secReferral__box {
  flex-basis: 54rem;
  width: 100%;
}
.secReferral__q {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 160%; /* 3.52rem */
}
.secReferral__a {
  margin-top: 1.6rem;
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 140%; /* 5.04rem */
}
.secReferral__sub {
  margin-top: 4rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 160%; /* 2.56rem */
}
.secReferral .mdAccordion__btn {
  margin: 8rem auto 0;
}

.secReferralAcIntro {
  gap: 12rem;
  margin-top: 18rem;
}
.secReferralAcIntro__box {
  flex-basis: 54rem;
  width: 100%;
}
.secReferralAcIntro__img {
  flex-basis: 106rem;
  width: 100%;
}
.secReferralAcIntro__img img {
  border-radius: 4rem;
}

.secReferralAcInfo {
  margin-top: 6.7rem;
  padding: 2.8rem 2.4rem;
  border-radius: 2.5rem;
  background: #f4f4f4;
  box-shadow: 1px 1px 2px 0 rgba(255, 255, 255, 0.3), -1px -1px 2px 0 rgba(230, 230, 230, 0.5), -5px 5px 10px 0 rgba(230, 230, 230, 0.2) inset, 5px -5px 10px 0 rgba(230, 230, 230, 0.2) inset, -5px -5px 10px 0 rgba(255, 255, 255, 0.9) inset, 5px 5px 13px 0 rgba(230, 230, 230, 0.9) inset;
}
.secReferralAcInfo__title {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 100%; /* 1.6rem */
}
.secReferralAcInfo__wrap {
  margin-top: 1.8rem;
}
.secReferralAcInfo__block:not(:first-of-type) {
  margin-top: 1.8rem;
}
.secReferralAcInfo__text {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 100%; /* 1.4rem */
  gap: 0.8rem;
}
.secReferralAcInfo__text:not(:first-of-type) {
  margin-top: 1.2rem;
}
.secReferralAcInfo__name {
  font-size: 1.6rem;
}
.secReferralAcInfo__enter {
  padding: 0.5rem 0.6rem;
  border: 1px solid #ccc;
  border-radius: 0.4rem;
  font-size: 1.3rem;
}
.secReferralAcInfo__enter--02 {
  margin-left: 0.8rem;
}

.secReferralAcTalk {
  margin-top: 18rem;
}
.secReferralAcTalk__block {
  align-items: flex-start;
  position: relative;
  transform: none;
  gap: 12rem;
}
.secReferralAcTalk__block:not(:first-of-type) {
  margin-top: 12rem;
}
.secReferralAcTalk__block:nth-child(odd) .secReferralAcTalk__text {
  order: 2;
}
.secReferralAcTalk__img {
  flex-basis: 106rem;
  align-self: stretch;
  width: 100%;
  height: auto;
}
.secReferralAcTalk__img img {
  display: block;
  border-radius: 4rem;
}
.secReferralAcTalk__imgInner {
  position: sticky;
  top: 10rem;
}
.secReferralAcTalk__text {
  flex-basis: 54rem;
  width: 100%;
}
.secReferralAcTalk__box:not(:first-of-type) {
  margin-top: 7.2rem;
}

.secPhoto {
  position: relative;
  margin-top: 18rem;
  padding-bottom: 14rem;
}
.secPhoto__wrap {
  margin: 0 auto;
  border-radius: 4rem;
  max-width: 171.9rem;
  overflow: hidden;
}
.secPhoto__img {
  flex-basis: 33.3333333333%;
}
.secPhoto .linkCommon {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.secBenefit {
  position: relative;
  padding-top: 18rem;
  background-color: #f4f4f4;
}
.secBenefit__ttl {
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 160%; /* 5.76rem */
}
.secBenefit__txt {
  padding-top: 3.2rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
}
.secBenefit--list {
  gap: 3.2rem;
  margin-top: 6.4rem;
}
.secBenefit__item {
  flex-basis: calc((100% - 9.6rem) / 4);
  position: relative;
  border-radius: 2.5rem;
  width: 100%;
}
.secBenefit__item--thumb {
  position: relative;
}
.secBenefit__item--thumb img {
  border-radius: 2.5rem;
}
.secBenefit__item--btn {
  position: absolute;
  bottom: 2.5rem;
  left: 50%;
  padding: 1.2rem 1.6rem;
  border-radius: 50rem;
  width: 100%;
  max-width: 27.4rem;
  font-size: 1.4rem;
  color: #ed1b23;
  text-align: center;
  background-color: #fff;
  transform: translateX(-50%);
  gap: 1rem;
}
.secBenefit__item--btn svg {
  width: 1rem;
  height: 0.6rem;
}
.secBenefit__item--avatar {
  border-radius: 50%;
  width: 18.6rem;
  height: 18.6rem;
}
.secBenefit__item--avatar img {
  border-radius: 50%;
}
.secBenefit__item--txt {
  padding-top: 1.5rem;
  width: 100%;
  max-height: 22rem;
  font-size: 1.4rem;
}
.secBenefit__item--ttl {
  padding-top: 1rem;
  padding-bottom: 0.5rem;
  font-size: 2rem;
  font-weight: 500;
}
.secBenefit .flipper {
  position: relative;
  width: 100%;
  height: 42rem;
  transform-style: preserve-3d;
  transition: transform 0.6s ease-in-out;
  will-change: transform;
  cursor: pointer;
}
.secBenefit .flipper--front, .secBenefit .flipper--back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}
.secBenefit .flipper--front {
  z-index: 2;
}
.secBenefit .flipper--back {
  box-sizing: border-box;
  padding: 2rem;
  border-radius: 2.5rem;
  background-color: #f4f4f4;
  box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.3), -1px -1px 2px 0px rgba(230, 230, 230, 0.5), -5px 5px 10px 0px rgba(230, 230, 230, 0.2) inset, 5px -5px 10px 0px rgba(230, 230, 230, 0.2) inset, -5px -5px 10px 0px rgba(255, 255, 255, 0.9) inset, 5px 5px 13px 0px rgba(230, 230, 230, 0.9) inset;
  transform: rotateY(180deg);
}

/* .secBenefit .flipper:hover {
  transform: rotateY(180deg);
} */

.secBenefit .flipper.flipped {
  transform: rotateY(180deg);
}

.secData {
  position: relative;
  background-color: #f4f4f4;
}
.secData__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 3.2rem;
  padding-top: 10rem;
}
.secData__item {
  position: relative;
  padding: 2.4rem 2rem;
  border-radius: 2.5rem;
  width: 100%;
  max-width: calc((100% - 9.6rem) / 4);
  height: 38rem;
  text-align: center;
  background-color: #f4f4f4;
  box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.3), -1px -1px 2px 0px rgba(230, 230, 230, 0.5), -5px 5px 10px 0px rgba(230, 230, 230, 0.2) inset, 5px -5px 10px 0px rgba(230, 230, 230, 0.2) inset, -5px -5px 10px 0px rgba(255, 255, 255, 0.9) inset, 5px 5px 13px 0px rgba(230, 230, 230, 0.9) inset;
}
.secData__item--en {
  padding-bottom: 0.2rem;
  font-size: 2.8rem;
  line-height: 1.1;
  color: #d6d6d6;
  text-shadow: 1px 1px 2px rgba(248, 248, 248, 0.3), -1px -1px 2px rgba(180, 180, 180, 0.5);
  text-transform: capitalize;
  opacity: 0.6;
}
.secData__item--ja {
  padding-bottom: 2rem;
  font-size: 1.8rem;
  font-weight: 500;
  color: #ed1b23;
}
.secData__item--txt {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  width: 100%;
  font-size: 1.2rem;
  text-align: right;
}
.secData__item--text {
  position: absolute;
  bottom: 5.5rem;
  margin-top: 1rem;
  font-size: 1.4rem;
  text-align: left;
}
.secData__item--ranking {
  text-align: left;
  counter-reset: rankingNum;
}
.secData__item--ranking li {
  display: flex;
  align-items: center;
  position: relative;
  padding-bottom: 1.5rem;
  padding-left: 6rem;
  font-size: 1.8rem;
  font-weight: 500;
}
.secData__item--ranking li::before {
  position: absolute;
  left: 0;
  font-family: Oswald;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
  counter-increment: rankingNum;
  content: counter(rankingNum);
}
.secData__item--ranking li:nth-child(1)::before {
  padding-top: 4px;
  width: 4.3rem;
  background: url(../recruit_img/data_ranking_01.svg) no-repeat center;
  background-size: contain;
}
.secData__item--ranking li:nth-child(2)::before {
  width: 4.2rem;
  background: url(../recruit_img/data_ranking_02.svg) no-repeat center;
  background-size: contain;
}
.secData__item--ranking li:nth-child(3)::before {
  width: 4.2rem;
  background: url(../recruit_img/data_ranking_03.svg) no-repeat center;
  background-size: contain;
}
.secData .ageDistrib {
  position: relative;
  width: 18rem;
  height: 18rem;
  background: url(../recruit_img/chart_age.svg) no-repeat center;
  background-size: contain;
}
.secData .ageDistrib--item {
  position: absolute;
  line-height: 1.2;
}
.secData .ageDistrib--item:nth-child(1) {
  top: -1rem;
  left: 0rem;
}
.secData .ageDistrib--item:nth-child(2) {
  top: -1rem;
  right: -1rem;
}
.secData .ageDistrib--item:nth-child(3) {
  bottom: 0rem;
  left: 50%;
  transform: translateX(-50%);
}
.secData .ageDistrib--item--01 .-no {
  font-size: 2.4rem;
}
.secData .ageDistrib--item--01 .-text {
  font-size: 1.4rem;
  font-weight: 500;
}
.secData .ageDistrib--item--02 .-no {
  font-size: 4.8rem;
}
.secData .ageDistrib--item--02 .-text {
  font-size: 2rem;
  font-weight: 500;
}
.secData .gRatio--colon {
  font-size: 9rem;
  font-weight: 500;
}
.secData .gRatio .-no {
  font-size: 9.8rem;
}
.secData .gRatio .-text {
  font-size: 3.2rem;
  font-weight: 500;
}
.secData .employee {
  width: -moz-fit-content;
  width: fit-content;
  height: 15.6rem;
  background: url(../recruit_img/chart_employee.svg) no-repeat center;
  background-size: contain;
}
.secData .rate1 {
  height: 15.6rem;
  background: url(../recruit_img/chart_employee.svg) no-repeat center;
  background-size: contain;
}
.secData .countUp {
  line-height: 1.2;
}
.secData .countUp--no {
  font-size: 9.8rem;
}
.secData .countUp--text {
  font-size: 4rem;
  font-weight: 500;
}

.secVoice {
  position: relative;
  background-color: #f4f4f4;
  transition: background-color 0.65s cubic-bezier(0.18, 0.06, 0.23, 1);
}
.secVoice__wrap {
  gap: 12rem;
}
.secVoice--left {
  flex-basis: 106rem;
  width: 100%;
}
.secVoice--right {
  flex-basis: 54rem;
  width: 100%;
}
.secVoice__images {
  position: sticky;
  top: 15rem;
}
.secVoice__img {
  transition: 0.3s;
  pointer-events: none;
}
.secVoice__img img {
  display: block;
  border-radius: 4rem;
}
.secVoice__img:first-of-type {
  opacity: 0;
}
.secVoice__img:first-of-type.current {
  opacity: 1;
}
.secVoice__img:not(:first-of-type) {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  opacity: 0;
  visibility: hidden;
}
.secVoice__img:not(:first-of-type).current {
  opacity: 1;
  visibility: visible;
}
.secVoice__list {
  margin-top: 10rem;
}
.secVoice__item {
  padding: 4.8rem 3.2rem;
  border-radius: 2.5rem;
  box-shadow: 1px 1px 2px 0 rgba(255, 255, 255, 0.3), -1px -1px 2px 0 rgba(230, 230, 230, 0.5), -5px 5px 10px 0 rgba(230, 230, 230, 0.2) inset, 5px -5px 10px 0 rgba(230, 230, 230, 0.2) inset, -5px -5px 10px 0 rgba(255, 255, 255, 0.9) inset, 5px 5px 13px 0 rgba(230, 230, 230, 0.9) inset;
}
.secVoice__item:not(:last-child) {
  margin-bottom: 3rem;
}
.secVoice__item--q {
  position: relative;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  font-size: 1.8rem;
  line-height: 160%;
}
.secVoice__item--q::before {
  padding-right: 1rem;
  font-family: "Niveau Grotesk", Arial, sans-serif;
  font-size: 2.4rem;
  line-height: 1.4;
  color: #ed1b23;
  content: "Q";
}
.secVoice__item--q::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  filter: drop-shadow(-1px -1px 2px rgba(227, 227, 227, 0.5)) drop-shadow(1px 1px 2px rgba(255, 255, 255, 0.3));
  box-shadow: -1px 1px 2px 0 rgba(227, 227, 227, 0.2) inset, 1px -1px 2px 0 rgba(227, 227, 227, 0.2) inset, -1px -1px 2px 0 rgba(255, 255, 255, 0.9) inset, 1px 1px 3px 0 rgba(227, 227, 227, 0.9) inset;
  content: "";
}
.secVoice__item--a {
  font-size: 1.4rem;
  line-height: 2;
}
.secVoice__item--a::before {
  padding-right: 1rem;
  font-family: "Niveau Grotesk", Arial, sans-serif;
  font-size: 2rem;
  line-height: 1.4;
  color: #b8b8b8;
  content: "A";
}

.secImages {
  padding-top: 12rem;
}
.secImages__menu {
  gap: 3.2rem;
}
.secImages__img {
  flex: 1;
}
.secImages__img img {
  border-radius: 2.5rem;
}

.secWStyle {
  position: relative;
  background-color: #f4f4f4;
}
.secWStyle__top {
  gap: 12rem;
  align-items: center;
}
.secWStyle__top--left {
  flex-basis: 68rem;
  width: 100%;
}
.secWStyle__top--right {
  flex-basis: 92rem;
  width: 100%;
}
.secWStyle__top--right img {
  border-radius: 4rem;
}
.secWStyle__topText {
  margin-top: 4.8rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 160%; /* 3.84rem */
}
.secWStyle__topSub {
  margin-top: 4.8rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
}
.secWStyle__list {
  padding-top: 12rem;
}
.secWStyle__row {
  position: relative;
  z-index: 1;
}
.secWStyle__row:not(:first-of-type) {
  margin-top: 6.4rem;
}
.secWStyle__row.active::before {
  animation: fillUp 0.8s ease-out forwards;
}
@keyframes fillUp {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
.secWStyle__line {
  gap: 12rem;
  align-items: center;
}
.secWStyle__line--img {
  flex-basis: 92rem;
  width: 100%;
}
.secWStyle__line--img img {
  border-radius: 4rem;
}
.secWStyle__line--img.gMap iframe {
  border-radius: 4rem;
  width: 100%;
  aspect-ratio: 23/11;
}
.secWStyle__line--right {
  flex-basis: 68rem;
  width: 100%;
}
.secWStyle__line--ttl {
  display: inline-block;
  padding: 0.6rem 2.4rem;
  border-radius: 50rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 140%; /* 3.36rem */
  color: #ed1b23;
  text-transform: capitalize;
  background: var(--base-grey, #f4f4f4);
  box-shadow: 1px 1px 2px 0 rgba(255, 255, 255, 0.3), -1px -1px 2px 0 rgba(230, 230, 230, 0.5), -5px 5px 10px 0 rgba(230, 230, 230, 0.2) inset, 5px -5px 10px 0 rgba(230, 230, 230, 0.2) inset, -5px -5px 10px 0 rgba(255, 255, 255, 0.9) inset, 5px 5px 13px 0 rgba(230, 230, 230, 0.9) inset;
}
.secWStyle__line--txt {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
}
.secWStyle__line--main {
  display: block;
  margin: 2.4rem 0 5.6rem;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 140%; /* 5.04rem */
}

.secRec {
  position: relative;
  background-color: #f4f4f4;
}
.secRec__menu {
  justify-content: space-between;
  padding-left: 10rem;
}
.secRec__left {
  flex-basis: 63rem;
  width: 100%;
}
.secRec__right {
  flex-basis: 102.6rem;
  width: 100%;
}
.secRec__right img {
  border-radius: 4rem 0 0 4rem;
}
.secRec__lead {
  margin-top: 6.4rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  color: var(--base-black, #222);
}
.secRec__text {
  margin-top: 4rem;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 160%; /* 3.52rem */
}
.secRec .linkCommon {
  margin-top: 8rem;
  margin-left: 0;
  gap: 2rem;
}
.secRec .linkCommon .linkCommon--icon {
  position: absolute;
  top: 50%;
  right: 2.7rem;
  transform: translateY(-50%) rotate(-90deg);
}

.secFlow {
  position: relative;
  z-index: 1;
  background-color: #f4f4f4;
}
.secFlow__lead {
  margin-top: 4rem;
  font-size: 1.6rem;
}
.secFlow__list {
  display: flex;
  flex-wrap: wrap;
  gap: 13rem;
  position: relative;
  padding-top: 6.4rem;
}
.secFlow__circle {
  position: relative;
  z-index: 1;
  margin-bottom: 1rem;
  width: 21.6rem;
  height: 21.6rem;
  aspect-ratio: 1/1;
}
.secFlow__circle--bg {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
}
.secFlow__circle--bg .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
}
.secFlow__circle--bg .img--overlay {
  display: none;
}
.secFlow__item {
  flex-basis: 24rem;
  width: 100%;
}
.secFlow__item:nth-child(1) .img {
  animation-delay: 0s;
}
.secFlow__item:nth-child(2) .img {
  animation-delay: 1s;
}
.secFlow__item:nth-child(3) .img {
  animation-delay: 2s;
}
.secFlow__item:nth-child(4) .img {
  animation-delay: 3s;
}
.secFlow__item:nth-child(5) .img {
  animation-delay: 4s;
}
.secFlow__item--wrap {
  position: relative;
}
.secFlow__item--ttl {
  padding-bottom: 1rem;
  font-size: 2rem;
  font-weight: 500;
}
.secFlow__item--stt {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.2;
  color: #ed1b23;
}
.secFlow__item--icon {
  max-width: 40%;
}
.secFlow__item--txt {
  font-size: 1.4rem;
  line-height: 1.6;
}
.secFlow__item--arrow {
  position: absolute;
  top: 50%;
  right: -8rem;
  z-index: 9;
  color: #ebebeb;
  transform: translateY(-50%);
  gap: 0.2rem;
}
.secFlow__item--arrow .flow-arrow {
  width: 1.9rem;
  height: 1.1rem;
  animation: colorChange 3s infinite;
}
.secFlow__item--arrow .flow-arrow:nth-child(1) {
  animation-delay: 0s;
}
.secFlow__item--arrow .flow-arrow:nth-child(2) {
  animation-delay: 0.9s;
}
.secFlow__item--arrow .flow-arrow:nth-child(3) {
  animation-delay: 1.8s;
}
@keyframes colorChange {
  0%, 30%, 100% {
    color: #ebebeb;
  }
  10%, 25% {
    color: #ed1b23;
  }
}

.secThanks__img img {
  border-radius: 4rem;
}
.secThanks__note {
  padding: 12rem 0;
  font-size: 3rem;
  font-weight: 500;
  line-height: 2.2;
  color: #222;
}
.secThanks__note--txt {
  text-align: center;
}
.secThanks__note--txt span {
  display: inline-block;
  position: relative;
}

.secCTA {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background-color: #f4f4f4;
  transition-duration: 0.3s;
}
.secCTA__bg {
  transition-duration: 0.3s;
}
.secCTA__bg img {
  width: 100%;
}
.secCTA__runText {
  position: absolute;
  top: 50%;
  z-index: 1;
  overflow: hidden;
  white-space: nowrap;
  transform: translateY(-50%);
}
.secCTA__runText--item {
  flex: 0 0 auto;
  text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.3), -1px -1px 2px rgba(230, 230, 230, 0.5);
  animation: runText 10s linear infinite;
}
.secCTA__runText--item:nth-child(2) {
  margin-left: -14rem;
}
@keyframes runText {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.secCTA__link {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 91.8rem;
  height: 91.8rem;
  text-align: center;
  transform: translate(-50%, -50%);
}
.secCTA__link::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  border-radius: 100rem;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7294117647);
  box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.3) inset, -1px -1px 2px 0px rgba(220, 220, 220, 0.5) inset, -5px 5px 10px 0px rgba(220, 220, 220, 0.2), 5px -5px 10px 0px rgba(220, 220, 220, 0.2), -5px -5px 10px 0px rgba(255, 255, 255, 0.9), 5px 5px 13px 0px rgba(220, 220, 220, 0.9);
  mix-blend-mode: soft-light;
  opacity: 0;
  transition-duration: 0.3s;
  content: "";
}
.secCTA__link--ttl {
  line-height: 1.4;
}
.secCTA__link--txt2 {
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
}
.secCTA__link--ttlEn {
  font-size: 4.8rem;
}
.secCTA__link--ttlJa {
  font-size: 6rem;
  font-weight: 500;
  color: #222;
}
.secCTA__link--txt {
  padding: 12.5rem 0 11.8rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 2;
  color: #222;
}
.secCTA__link--icon {
  position: relative;
  gap: 1rem;
}
.secCTA__link--icon::before {
  position: absolute;
  z-index: -1;
  border-radius: 50rem;
  width: 16rem;
  height: 16rem;
  background: #ed1b23;
  filter: blur(12px);
  transition-duration: 0.3s;
  content: "";
}
.secCTA__link--icon2 {
  max-width: 3rem;
}
.secCTA__link:hover .secCTA__link--icon::before {
  transform: scale(1.2);
}
.secCTA.cta-center .secCTA__link::before {
  opacity: 1;
}
.secCTA.cta-center .secCTA__runText--item {
  opacity: 0.6;
}

.boxContact {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  z-index: 1001;
}
.boxContact.is_close {
  display: none;
}
.boxContact__link {
  padding: 2.4rem 0 3rem;
  border-radius: 1.2rem;
  width: 23rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  background: #ed1b23;
  box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.12);
}
.boxContact__link:hover .boxContact__btn {
  color: #fff;
  background-color: #ed1b23;
}
.boxContact__text {
  font-weight: 500;
  color: #fff;
}
.boxContact__btn {
  position: relative;
  margin-top: 2.5rem;
  padding: 1rem;
  border: 1px solid #fff;
  border-radius: 50rem;
  width: 17.2rem;
  font-size: 1.4rem;
  background-color: #fff;
  transition: all 0.3s ease-in-out;
  gap: 1rem;
}
.boxContact__btn .icon {
  position: absolute;
  right: 1rem;
  width: 0.6rem;
  height: 1rem;
}
.boxContact__close {
  position: absolute;
  top: -4rem;
  right: 0;
  border: none;
  width: 4rem;
  height: 4rem;
  background: transparent;
  cursor: pointer;
}
.boxContact__bar {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.8rem; /* 任意（バツの長さ） */
  height: 2px;
  background-color: #000; /* 黒色 */
  transform-origin: center;
}
.boxContact__bar:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
.boxContact__bar:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.svg-hidden {
  position: absolute;
  z-index: -999;
  width: 0;
  height: 0;
  opacity: 0;
}

.animate-glow {
  animation-name: glowEffect;
  animation-duration: 1s;
  animation-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  animation-fill-mode: forwards;
  animation-delay: calc(var(--char-index) * 30ms);
}

@keyframes glowEffect {
  0%, 25%, 100% {
    color: #222;
  }
  20% {
    color: #ed1b23;
  }
}
.w-100 {
  width: 100%;
}

.linkCommon {
  position: relative;
  z-index: 1;
  padding: 1.2rem 1rem;
  border-radius: 50rem;
  width: 32rem;
  height: 6rem;
  font-size: 1.6rem;
  color: #222;
  background: #f4f4f4;
  box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.3) inset, -1px -1px 2px 0px rgba(220, 220, 220, 0.5) inset, -5px 5px 10px 0px rgba(220, 220, 220, 0.2), 5px -5px 10px 0px rgba(220, 220, 220, 0.2), -5px -5px 10px 0px rgba(255, 255, 255, 0.9), 5px 5px 13px 0px rgba(220, 220, 220, 0.9);
  gap: 1rem;
}
.linkCommon::before {
  position: absolute;
  z-index: -1;
  border-radius: 50rem;
  background-color: #ed1b23;
  filter: blur(4px);
  opacity: 0;
  transition-duration: 0.3s;
  content: "";
  inset: 1rem;
}
.linkCommon--icon {
  width: 1rem;
  height: 0.6rem;
  color: #ed1b23;
}
.linkCommon:hover {
  color: #fff;
}
.linkCommon:hover .linkCommon--icon {
  color: #fff;
}
.linkCommon:hover::before {
  opacity: 1;
}

.pageTitle {
  line-height: 1.6;
}
.pageTitle__en {
  font-size: 8.2rem;
  line-height: 1;
}
.pageTitle__ja {
  margin-top: 0.8rem;
  font-size: 4.4rem;
  font-weight: 500;
  line-height: 1.4;
}
.pageTitle__ja.is_start span {
  display: inline-block;
  opacity: 0;
  transform: translateY(100%);
}
.pageTitle__ja.active span {
  animation: riseUp 0.6s ease-out forwards; /* ← 元のスピードに戻しました */
}
.pageTitle--sub {
  padding-top: 2rem;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.6;
}
@keyframes riseUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.pageDesc {
  margin-top: 5.6rem;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 160%;
  color: #222;
}

.pageTtl2 {
  padding: 0.6rem 2.4rem;
  border-radius: 50rem;
  width: -moz-fit-content;
  width: fit-content;
  color: #ed1b23;
  background-color: #f4f4f4;
  box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.3), -1px -1px 2px 0px rgba(230, 230, 230, 0.5), -5px 5px 10px 0px rgba(230, 230, 230, 0.2) inset, 5px -5px 10px 0px rgba(230, 230, 230, 0.2) inset, -5px -5px 10px 0px rgba(255, 255, 255, 0.9) inset, 5px 5px 13px 0px rgba(230, 230, 230, 0.9) inset;
}

.pageTtl2Txt {
  padding-top: 2rem;
  padding-bottom: 4rem;
  font-size: 1.4rem;
  line-height: 2;
}

video {
  max-width: 100%;
}

.jojo--top {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  overflow: hidden;
}
.jojo--top img {
  transition-duration: 2s;
  transform: scale(1.2);
}
.jojo--top::after {
  position: absolute;
  z-index: 1;
  background: #fff;
  animation: 1.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  pointer-events: none;
  content: "";
  inset: 0;
}
.jojo--top.active img {
  transform: scale(1);
}
.jojo--top.active::after {
  animation-name: imgBottomTop;
}
@keyframes imgBottomTop {
  100% {
    transform: translateY(-100%);
  }
}

.jojo--bottom {
  position: relative;
  border-radius: 1.2rem;
  width: -moz-fit-content;
  width: fit-content;
  overflow: hidden;
}
.jojo--bottom img {
  transition-duration: 2s;
  transform: scale(1.2);
}
.jojo--bottom::after {
  position: absolute;
  z-index: 1;
  background: #fff;
  animation: 1.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  pointer-events: none;
  content: "";
  inset: 0;
}
.jojo--bottom.active img {
  transform: scale(1);
}
.jojo--bottom.active::after {
  animation-name: imgTopBottom;
}
@keyframes imgTopBottom {
  100% {
    transform: translateY(100%);
  }
}
.jobType {
  padding-top: 2rem;
  padding-bottom: 4rem;
  gap: 2rem;
}
.jobTypeNav {
  width: 30.6rem;
  min-width: 26.4rem;
}
.jobTypeNav--ttl {
  margin-bottom: 3.2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(227, 227, 227, 0.9);
  font-size: 2rem;
  color: #ed1b23;
  text-transform: capitalize;
}
.jobTypeNav--list {
  gap: 2.4rem;
}
.jobTypeNav__link {
  position: relative;
  z-index: 1;
  padding: 2rem 1rem;
  border-radius: 50rem;
  color: #222;
  background-color: #f4f4f4;
  box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.3) inset, -1px -1px 2px 0px rgba(220, 220, 220, 0.5) inset, -5px 5px 10px 0px rgba(220, 220, 220, 0.2), 5px -5px 10px 0px rgba(220, 220, 220, 0.2), -5px -5px 10px 0px rgba(255, 255, 255, 0.9), 5px 5px 13px 0px rgba(220, 220, 220, 0.9);
  transition-duration: 0.3s;
}
.jobTypeNav__link::before {
  position: absolute;
  z-index: -1;
  border-radius: 50rem;
  background: #ed1b23;
  filter: blur(4px);
  opacity: 0;
  transition: all 0.3s;
  content: "";
  inset: 1rem;
}
.jobTypeNav__link--icon {
  position: absolute;
  right: 2.4rem;
  width: 0.8rem;
  height: 1rem;
  transition-duration: 0.3s;
}
.jobTypeNav__link:hover:not(.active) {
  color: #fff;
  box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.3) inset, -1px -1px 2px 0px rgba(220, 220, 220, 0.5) inset, -5px 5px 10px 0px rgba(220, 220, 220, 0.2), 5px -5px 10px 0px rgba(220, 220, 220, 0.2), -5px -5px 10px 0px rgba(255, 255, 255, 0.9), 5px 5px 13px 0px rgba(220, 220, 220, 0.9);
}
.jobTypeNav__link:hover:not(.active)::before {
  opacity: 1;
}
.jobTypeNav__link:hover:not(.active) svg {
  transform: scale(1.33);
}
.jobTypeNav__link.active {
  color: #ed1b23;
  box-shadow: 1px 1px 2px 0 rgba(255, 255, 255, 0.3), -1px -1px 2px 0 rgba(230, 230, 230, 0.5), -5px 5px 10px 0 rgba(230, 230, 230, 0.2) inset, 5px -5px 10px 0 rgba(230, 230, 230, 0.2) inset, -5px -5px 10px 0 rgba(255, 255, 255, 0.9) inset, 5px 5px 13px 0 rgba(230, 230, 230, 0.9) inset;
}
.jobTypeData {
  width: 97rem;
  max-width: 70%;
}
.jobTypeData--scroll {
  display: none;
  padding: 2rem 1.5rem 2rem 3.5rem;
  border-radius: 2.5rem;
  width: 100%;
  overflow-y: hidden;
  background-color: #f4f4f4;
  box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.3), -1px -1px 2px 0px rgba(230, 230, 230, 0.5), -5px 5px 10px 0px rgba(230, 230, 230, 0.2) inset, 5px -5px 10px 0px rgba(230, 230, 230, 0.2) inset, -5px -5px 10px 0px rgba(255, 255, 255, 0.9) inset, 5px 5px 13px 0px rgba(230, 230, 230, 0.9) inset;
  opacity: 0;
  transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
  visibility: hidden;
}
.jobTypeData--scroll--inner {
  max-height: 59.2rem;
}
.jobTypeData--scroll.active {
  display: block;
  opacity: 1;
  visibility: visible;
}

.simplebar-track {
  border-radius: 0.5rem;
  filter: drop-shadow(-1px -1px 2px rgba(227, 227, 227, 0.5)) drop-shadow(1px 1px 2px rgba(255, 255, 255, 0.3));
  box-shadow: -1px 1px 2px 0px rgba(227, 227, 227, 0.2) inset, 1px -1px 2px 0px rgba(227, 227, 227, 0.2) inset, -1px -1px 2px 0px rgba(255, 255, 255, 0.9) inset, 1px 1px 3px 0px rgba(227, 227, 227, 0.9) inset;
  stroke: #f4f4f4;
  stroke-width: 12px;
}

.simplebar-scrollbar::before {
  background-color: #ccc;
}

.animated_area {
  transform: translateY(3rem);
  animation-timing-function: ease-in-out;
}
.animated_area.active {
  transform: translateY(0);
}

/*
このディレクトリに設置した、先頭に「_」の付いたSCSSファイルが自動ロードされます
ファイル名を「_(ページスラッグ等の分かりやすい名前).scss」にして使用してください

このコメントや「_template.scss」は進行したら不要なので消してください
*/
/*
サイトの特定の下層ページだけで取り扱うブロックはpage/配下に配置してください。
基本的にはブロック単位ではなく、そのページ単位でファイルを作成してください
_contact.scss　など
*/
/* リセットCSS*/
/* 汎用CSS*/
/* モジュール*/
/* 既存CSS*/
/* @use '_old.scss';*/
/* 構築CSS*/
/* タグそのものに対する総合的なスタイル定義*/
/* 下層ページ*/
@media screen and (min-width: 769px) and (max-width: 1400px){
  .secBenefit__item--btn svg {
    width: 4.72px;
    height: 7.87px;
    transform: scale(0.6);
  }
  .boxContact__btn .icon {
    width: 4.72px;
    height: 7.87px;
    transform: scale(0.6);
  }
  .linkCommon--icon {
    width: 3.78px;
    height: 6.29px;
    transform: scale(0.6);
  }
  .jobTypeNav__link--icon {
    width: 7.87px;
    height: 4.72px;
    transform: scale(0.6);
  }
}
@media screen and (min-width:769px){
  .pc-flex {
    display: flex;
  }
  .flex.pc-bet,
  .pc-flex.pc-bet {
    justify-content: space-between;
  }
  .flex.pc-aro,
  .pc-flex.pc-aro {
    justify-content: space-around;
  }
  .flex.aro,
  .pc-flex.aro {
    justify-content: space-around;
  }
  .flex.pc-vstart,
  .pc-flex.pc-vstart {
    align-items: flex-start;
  }
  .flex.pc-vend,
  .pc-flex.pc-vend {
    align-items: flex-end;
  }
  .flex.pc-vcenter,
  .pc-flex.pc-vcenter {
    align-items: center;
  }
  .flex.pc-hstart,
  .pc-flex.pc-hstart {
    justify-content: flex-start;
  }
  .flex.pc-hcenter,
  .pc-flex.pc-hcenter {
    justify-content: center;
  }
  .flex.pc-hend,
  .pc-flex.pc-hend {
    justify-content: flex-end;
  }
  .flex.pc-str,
  .pc-flex.pc-str {
    align-items: stretch;
  }
  .flex.pc-vert,
  .pc-flex.pc-vert {
    flex-direction: column;
  }
  .flex.pc-break,
  .pc-flex.pc-break {
    flex-wrap: wrap;
  }
  .flex > .pc-1,
  .pc-flex > .pc-1 {
    order: 1;
  }
  .flex > .pc-2,
  .pc-flex > .pc-2 {
    order: 2;
  }
  .flex > .pc-3,
  .pc-flex > .pc-3 {
    order: 3;
  }
  .sp {
    display: none !important;
  }
  .pc-hide {
    display: none;
  }
  .pc-ta-center {
    text-align: center;
  }
  .pc-ta-right {
    text-align: right;
  }
  .pc-ta-left {
    text-align: left;
  }
  .op:hover {
    opacity: 0.7;
  }
  body:not(.wp-admin) #wpadminbar {
    height: 10px !important;
    overflow: hidden !important;
    opacity: 0.5;
    transition-duration: 0.5s;
  }
  body:not(.wp-admin) #wpadminbar:hover {
    height: auto !important;
    overflow: visible !important;
    opacity: 1;
  }
  .hoverToggle:hover .hoverToggle__off {
    display: none;
  }
  .hoverToggle:not(:hover) .hoverToggle__on {
    display: none;
  }
  button.hover .mdLay.zoom .mdLay__bg,
  a.hover .mdLay.zoom .mdLay__bg,
  a:hover .mdLay.zoom .mdLay__bg {
    scale: 1.1;
  }
  .wrap {
    margin-right: auto;
    margin-left: auto;
    padding-right: 2rem;
    padding-left: 2rem;
  }
  .wrap.w1000 {
    max-width: 104rem;
  }
  .wrap.w1200 {
    max-width: 124rem;
  }
  .wrap.w1400 {
    max-width: 144rem;
  }
  .wrap.w1720 {
    max-width: 176rem;
  }
  .gNav {
    top: 10rem;
  }
  .secFeature__item:not(.-sec) {
    opacity: 0.2;
  }
  .secFits__form--item:hover {
    background-color: #ebebeb;
    box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.3), -1px -1px 2px 0px rgba(230, 230, 230, 0.5), -5px 5px 10px 0px rgba(230, 230, 230, 0.2) inset, 5px -5px 10px 0px rgba(230, 230, 230, 0.2) inset, -5px -5px 10px 0px rgba(255, 255, 255, 0.9) inset, 5px 5px 13px 0px rgba(230, 230, 230, 0.9) inset;
  }
  .secFits__form--item.active {
    background-color: #ebebeb;
    box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.3), -1px -1px 2px 0px rgba(230, 230, 230, 0.5), -5px 5px 10px 0px rgba(230, 230, 230, 0.2) inset, 5px -5px 10px 0px rgba(230, 230, 230, 0.2) inset, -5px -5px 10px 0px rgba(255, 255, 255, 0.9) inset, 5px 5px 13px 0px rgba(230, 230, 230, 0.9) inset;
  }
}
@media screen and (min-width: 1921px){
  .footer {
    width: 100%;
    max-width: 95.833vw;
  }
  .secMV__content {
    max-width: 163.2rem;
  }
}
@media screen and (max-width: 1920px){
  html {
    font-size: 0.5208333333vw;
  }
}
@media screen and (max-width: 768px){
  html {
    font-size: 62.5%;
  }
  .ls1{
    letter-spacing: 1px;
  }
}
@media screen and (max-width:768px){
  .sp-flex {
    display: flex;
  }
  .flex.sp-bet,
  .sp-flex.sp-bet {
    justify-content: space-between;
  }
  .flex.sp-aro,
  .sp-flex.sp-aro {
    justify-content: space-around;
  }
  .flex.aro,
  .sp-flex.aro {
    justify-content: space-around;
  }
  .flex.sp-vstart,
  .sp-flex.sp-vstart {
    align-items: flex-start;
  }
  .flex.sp-vend,
  .sp-flex.sp-vend {
    align-items: flex-end;
  }
  .flex.sp-vcenter,
  .sp-flex.sp-vcenter {
    align-items: center;
  }
  .flex.sp-hstart,
  .sp-flex.sp-hstart {
    justify-content: flex-start;
  }
  .flex.sp-hcenter,
  .sp-flex.sp-hcenter {
    justify-content: center;
  }
  .flex.sp-hend,
  .sp-flex.sp-hend {
    justify-content: flex-end;
  }
  .flex.sp-str,
  .sp-flex.sp-str {
    align-items: stretch;
  }
  .flex.sp-vert,
  .sp-flex.sp-vert {
    flex-direction: column;
  }
  .flex.sp-break,
  .sp-flex.sp-break {
    flex-wrap: wrap;
  }
  .flex > .sp-1,
  .sp-flex > .sp-1 {
    order: 1;
  }
  .flex > .sp-2,
  .sp-flex > .sp-2 {
    order: 2;
  }
  .flex > .sp-3,
  .sp-flex > .sp-3 {
    order: 3;
  }
  .pc {
    display: none !important;
  }
  .sp-hide {
    display: none;
  }
  .sp-ta-center {
    text-align: center;
  }
  .sp-ta-right {
    text-align: right;
  }
  .sp-ta-left {
    text-align: left;
  }
  body:not(.wp-admin) #wpadminbar {
    position: absolute !important;
    min-width: 0 !important;
    overflow: hidden;
    opacity: 0.8;
  }
  .wp-post h2 {
    font-size: 1.8rem;
  }
  .wp-post h3 {
    font-size: 1.6rem;
  }
  .wp-post h4,
  .wp-post h5 {
    font-size: 1.4rem;
  }
  .wp-post div + h2,
  .wp-post div + h3,
  .wp-post div + h4,
  .wp-post div + h5,
  .wp-post p + h2,
  .wp-post p + h3,
  .wp-post p + h4,
  .wp-post p + h5 {
    margin-top: 2.5rem;
  }
  .wp-post table {
    margin: 1rem auto;
  }
  .wp-post table th,
  .wp-post table td {
    padding: 0.5rem;
  }
  .wp-post .alignright,
  .wp-post .alignleft {
    float: none;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .wp-post img[class*=attachment-],
  .wp-post img[class*=wp-image-] {
    padding: 0 0 2em;
    width: 100%;
  }
  .hoverToggle__on {
    display: none;
  }
  .mdAcc--sp .mdAcc__btn {
    cursor: pointer;
  }
  .mdAcc--sp .mdAcc__body {
    display: block grid;
    grid-template-rows: 0fr;
    overflow: hidden;
  }
  .mdAcc--sp .mdAcc__body > * {
    overflow: hidden;
  }
  .mdAcc--sp .mdAcc__body.active, .mdAcc--sp .mdAcc__check:checked ~ .mdAcc__body, .mdAcc--sp .mdAcc__check:checked ~ .mdAcc__btn .mdAcc__body {
    grid-template-rows: 1fr;
  }
  .mdAcc--sp .mdAcc__in {
    overflow: hidden;
  }
  .mdAcc--sp .mdAcc__check:not(:checked) ~ .mdAcc__btn .mdAcc__on {
    display: none;
  }
  .mdAcc--sp .mdAcc__check:checked ~ .mdAcc__btn .mdAcc__off {
    display: none;
  }
  .spWrap,
  .sp-wrap {
    padding-right: 4rem;
    padding-left: 4rem;
  }
  .header {
    position: relative;
    max-height: 100%;
  }
  .headerLogo {
    position: relative;
  }
  .header__frame {
    padding: 2rem 0 0 3.125%;
  }
  .header__base {
    padding: 0;
  }
  .header__right {
    position: fixed;
  }
  .headerLogo__img {
    max-width: 10.4rem;
  }
  .footer {
    padding: 3rem 1.5vw;
  }
  .footer__inner {
    padding: 4rem 2rem 8rem;
    border-radius: 1.5rem;
  }
  .footer__bottom {
    padding-top: 2rem;
  }
  .footer__bottom--right {
    width: 100%;
  }
  .footerSNS {
    gap: 1rem;
    padding-top: 0;
  }
  .footerSNS__link {
    border-radius: 3rem;
    width: 4.2rem;
    height: 4.2rem;
    font-size: 2rem;
  }
  .footerSNS__link .icon-youtube {
    margin-bottom: 0.5rem;
  }
  .footerNav {
    gap: 4rem;
  }
  .footerNav__list {
    gap: 0.5rem;
  }
  .footerCopyright {
    gap: 8vw;
  }
  .footerCopyright__text2 {
    padding-top: 2rem;
    padding-bottom: 2rem;
    width: 100%;
    font-size: 1rem;
  }
  .footer__bottom--left {
    width: 100%;
  }
  .common__sec {
    margin-top: 10rem;
  }
  .secMV__wrap {
    margin-top: -6rem;
  }
  .secMV__content {
    margin-top: -30rem;
    padding-bottom: 4rem;
    max-width: 94%;
  }
  .secMV__copy {
    padding-bottom: 11.5rem;
    max-width: 100%;
  }
  .secMV__copy--title {
    font-size: 5.2rem;
  }
  .secMV__copy--desc {
    padding-top: 2.4rem;
    font-size: 2rem;
    line-height: 180%;
  }
  .secMV .space {
    height: 72vh;
  }
  .secMV__content--wrap {
    max-width: 100%;
  }
  .secMV__content--txt {
    width: 82.4rem;
  }
  .secMV__content--point {
    margin: auto;
    max-width: 88%;
  }
  .secMV__content--pointTxt {
    padding-top: 6rem;
    padding-left: 0;
    font-size: 1.2rem;
  }
  .secMV__content--text {
    margin-top: 0rem;
    padding-top: 8.8rem;
    font-size: 1.4rem;
  }
  .secMV__wrapperNote {
    font-size: 1.2rem;
  }
  .secMV .text-line {
    white-space: normal;
  }
  .secMV .text-line span {
    opacity: 0.2;
    transition: opacity 0.15s linear;
  }
  .secVision {
    padding-top: 6rem;
    padding-bottom: 0;
  }
  .secVision .pageDesc {
    width: 100%;
    max-width: 100%;
  }
  .secVision__list {
    margin: 4.8rem 0 0;
    padding-top: 0;
  }
  .secVisionRight {
    margin-left: 0;
    width: 100%;
    max-width: 100%;
  }
  .secVision__item {
    padding: 0;
  }
  .secVision__item:not(:first-of-type) {
    margin-top: 5.6rem;
  }
  .secVision__item--img {
    margin-left: -3rem;
    width: calc(100% + 6rem);
    opacity: 1;
  }
  .secVision__item--img img {
    border-radius: 1.5rem;
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .secVision__item--content {
    margin: 4rem 0 0;
    padding: 0;
    border-radius: 2rem;
  }
  .secVision__item--ttlEn {
    font-size: 3.8rem;
    font-weight: 400;
  }
  .secVision__item--ttl {
    padding-bottom: 3.2rem;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 140%; /* 3.08rem */
  }
  .secVision__item--txt {
    font-size: 1.3rem;
    line-height: 200%;
  }
  .secVision__item--btn {
    margin-top: 3.2rem;
  }
  .secVision__value--list {
    margin-top: 2.4rem;
  }
  .secVision__value--list li:not(:first-of-type) {
    margin-top: 2.4rem;
  }
  .secVision__value--list li .ttl {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 140%;
  }
  .secVision__value--list li .valueText {
    margin-top: 0.8rem;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 200%; /* 2.6rem */
  }
  .secFeature {
    margin-bottom: 0;
    padding-top: 4.8rem;
  }
  .secFeature__left {
    width: 100%;
    max-width: 100%;
  }
  .secFeature__right {
    position: sticky;
    top: 0;
    margin-bottom: 34rem;
    padding-top: 2rem;
    width: 100%;
    max-width: 100%;
    background-color: #f4f4f4;
  }
  .secFeature__list {
    margin-top: -28rem;
  }
  .secFeature__item:not(:first-of-type) {
    margin-top: 4.8rem;
  }
  .secFeature__item:last-of-type {
    padding-bottom: 0rem;
  }
  .secFeature__item--ttlEn {
    font-size: 3.8rem;
  }
  .secFeature__item--ttlJaBig {
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 160%; /* 2.88rem */
  }
  .secFeature__item--ttlJa {
    font-size: 1.4rem;
  }
  .secFeature__item--txt {
    padding-top: 2.4rem;
    font-size: 1.3rem;
    line-height: 200%;
  }
  .secFeature__item--txt p:not([class], :last-child) {
    margin-bottom: 0;
  }
  .secFeature__circle {
    top: 10rem;
  }
  .secFeature__circle--wrap {
    margin: auto;
    width: 27.4rem;
    height: 27.4rem;
  }
  .secFeature__circle--link {
    width: 13.2772rem;
    max-width: 100%;
    height: 13.2772rem;
  }
  .secFeature__circle--link:nth-of-type(1) {
    top: 2.4%;
    left: 12%;
  }
  .secFeature__circle--link:nth-of-type(1) .img1 {
    top: -9%;
    left: 9%;
  }
  .secFeature__circle--link:nth-of-type(1) .img2 {
    top: 0;
    left: 0;
    width: 14rem;
  }
  .secFeature__circle--link:nth-of-type(2) {
    top: 3%;
    right: 2%;
    width: 10.4rem;
  }
  .secFeature__circle--link:nth-of-type(2) .img1 {
    right: 2%;
  }
  .secFeature__circle--link:nth-of-type(3) {
    right: 3%;
    bottom: 3%;
    width: 10.3rem;
  }
  .secFeature__circle--link:nth-of-type(3) .img1 {
    right: -2%;
  }
  .secFeature__circle--link:nth-of-type(4) {
    bottom: -7%;
    left: 11%;
    width: 14.3rem;
  }
  .secFeature__circle--link:nth-of-type(4) .img1 {
    bottom: 2%;
  }
  .secFeature__circle--link:nth-of-type(5) {
    top: 7.5rem;
    bottom: auto;
    left: 0.4rem;
    width: 5.98rem;
  }
  .secFeature__circle--link:nth-of-type(5) .img1 {
    top: 9%;
    left: -1.6rem;
  }
  .secFeature__circle--link:nth-of-type(5) .img2 {
    bottom: 0%;
    left: 0%;
  }
  .secFeature__circle--link img.img1 {
    width: 8.3rem;
    min-width: 8.3rem;
    height: 8.3rem;
  }
  .secFeature__circle--link img.img2 {
    position: absolute;
  }
  .secFeature__logo {
    max-width: 9.4226rem;
  }
  .secCore__wrap {
    display: block;
    margin-top: 4.8rem;
  }
  .secCore__block {
    width: 100%;
  }
  .secCore__list {
    margin: 0;
  }
  .secCore__item:not(:first-of-type) {
    margin-top: 2.5rem;
  }
  .secCore__subTitle {
    padding-left: 2.8rem;
    font-size: 1.7rem;
    line-height: 1.25;
  }
  .secCore__subTitle::before {
    width: 2rem;
    height: 2rem;
    font-size: 1.4rem;
  }
  .secCore__subText {
    margin-top: 0.8rem;
    font-size: 1.3rem;
  }
  .secCore__img {
    margin-top: 4.8rem;
    width: 100%;
  }
  .secVideo__wrap {
    margin-left: -3rem;
    width: calc(100% + 6rem);
  }
  .secVideo__box {
    border-radius: 2rem;
  }
  .secVideo__box:not(:first-of-type) {
    margin-top: 2.4rem;
  }
  .secHistory__intro {
    gap: 0;
    margin-top: 4.8rem;
  }
  .secHistory__introContent {
    width: 100%;
    max-width: 100%;
  }
  .secHistory__introImg {
    max-width: 100%;
    gap: 2rem;
  }
  .secHistory__introImg .jojo--bottom {
    width: 21rem;
  }
  .secHistory__introImg .jojo--bottom:nth-child(odd) {
    margin-left: auto;
  }
  .secHistory__introImg .jojo--bottom:nth-child(even) {
    margin-right: auto;
  }
  .secHistory--wrap {
    margin-left: 0;
    padding: 6rem 3.125% 4rem;
  }
  .secHistory__text {
    font-size: 1.5rem;
  }
  .secHistory__left {
    width: 100%;
    max-width: 100%;
  }
  .secHistory__leftTitle {
    margin-bottom: 2rem;
    font-size: 2.2rem;
  }
  .secHistory__right {
    width: 100%;
  }
  .secHistory__item {
    padding-left: 2rem;
  }
  .secHistory__item--year {
    font-size: 2.4rem;
  }
  .secHistory__item--year::before {
    left: -2rem;
  }
  .secHistory__item--ttl {
    padding-top: 2rem;
    padding-bottom: 1rem;
    font-size: 1.4rem;
  }
  .secHistory__item--txt {
    font-size: 1.4rem;
  }
  .secHistory__note {
    grid-template-columns: auto;
    padding-bottom: 0;
    width: 100%;
    max-width: 100%;
    font-size: 1rem;
  }
  .secHistoryMore {
    display: block;
    margin-top: 6.4rem;
  }
  .secHistoryMore__title {
    position: relative;
    margin-bottom: 2.4rem;
    padding-bottom: 1.6rem;
    font-size: 1.8rem;
    line-height: 140%;
  }
  .secHistoryMore__title::before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #f4f4f4;
    filter: drop-shadow(-1px -1px 2px rgba(227, 227, 227, 0.5)) drop-shadow(1px 1px 2px rgba(255, 255, 255, 0.3));
    box-shadow: -1px 1px 2px 0 rgba(227, 227, 227, 0.2) inset, 1px -1px 2px 0 rgba(227, 227, 227, 0.2) inset, -1px -1px 2px 0 rgba(255, 255, 255, 0.9) inset, 1px 1px 3px 0 rgba(227, 227, 227, 0.9) inset;
    content: "";
  }
  .secHistoryMore__list {
    display: flex;
    flex-wrap: wrap;
    margin-left: -3rem;
    padding: 0;
    width: calc(100% + 6rem);
    gap: 0 1rem;
  }
  .secHistoryMore__item {
    width: 100%;
  }
  .secHistoryMore__item:not(:first-of-type) {
    margin-top: 1rem;
  }
  .secHistoryMore__item:nth-child(2), .secHistoryMore__item:nth-child(3) {
    flex-basis: calc((100% - 1rem) / 2);
  }
  .secHistoryMore__text {
    margin-top: 2.4rem;
    padding: 0;
    max-width: none;
  }
  .secHistoryMore__text::before {
    content: none;
  }
  .secHistory__content--top {
    margin-top: 4.8rem;
  }
  .secHistory__images {
    margin-top: 4.8rem;
    margin-left: -3rem;
    width: calc(100% + 6rem);
    gap: 1.2rem;
  }
  .secHistory__img {
    flex-basis: calc((100% - 1.2rem) / 2);
  }
  .secHistory__img img {
    border-radius: 1.2rem;
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .secHistory .mdAccordion__btn {
    margin-inline: auto;
  }
  .secOneDay--desc {
    padding: 0 2rem 3rem 0;
    font-size: 1.3rem;
  }
  .secOneDay--left {
    width: 100%;
    max-width: 100%;
  }
  .secOneDay--img {
    width: 18.3rem;
    gap: 2rem;
  }
  .secOneDay--img img {
    border-radius: 1.2rem;
  }
  .secOneDay--head {
    font-size: 1.4rem;
  }
  .secOneDay__item--time {
    width: 3.5rem;
    font-size: 1.5rem;
  }
  .secOneDay__item--content {
    padding-bottom: 2rem;
    padding-left: 3rem;
    font-size: 1.5rem;
  }
  .secOneDay__item--img {
    padding-top: 2rem;
    text-align: right;
  }
  .secOneDay__item--img img {
    border-radius: 1.2rem;
  }
  .secFits--wrap {
    padding: 0;
    border-radius: 0;
  }
  .secFitsContent {
    max-width: 100%;
  }
  .secFits__ttl--en {
    font-size: 3.8rem;
  }
  .secFits__ttl--ja {
    margin-top: 0;
    font-size: 2.8rem;
    line-height: 140%; /* 3.92rem */
  }
  .secFits__copy {
    margin: 1.6rem 0 4rem;
    font-size: 3rem;
    font-weight: 500;
    line-height: 160%; /* 5.12rem */
  }
  .secFits__txt {
    font-size: 1.5rem;
    line-height: 180%;
    text-align: left;
  }
  .secFits__form {
    margin-top: 4rem;
  }
  .secFits__form--ttl {
    margin-bottom: 1.6rem;
    font-size: 1.8rem;
  }
  .secFits__form--list {
    margin-top: 3.2rem;
  }
  .secFits__form--item {
    display: flex;
    align-items: center;
    padding: 1.2rem 0;
    border-radius: 0;
    width: 100%;
    max-width: 100%;
    min-height: 7.2rem;
    box-shadow: none;
  }
  .secFits__form--item:not(:first-of-type) {
    margin-top: 0.8rem;
  }
  .secFits__form--checkbox {
    border-radius: 0.4rem;
    width: 1.8rem;
    height: 1.8rem;
  }
  .secFits__form--txt {
    width: 100%;
    font-size: 1.4rem;
    line-height: 130%;
    color: #222;
  }
  .secFits--top {
    padding-bottom: 5.6rem;
  }
  .secFits--top.parallax {
    margin-right: -9rem;
  }
  .secFits--bottom {
    padding-top: 5.6rem;
  }
  .secFits--bottom.parallax {
    margin-left: -9rem;
  }
  .secFits .parallax {
    position: relative;
    will-change: transform;
    gap: 1.2rem;
  }
  .secFits .parallax img {
    border-radius: 1.2rem;
  }
  .secQA--list {
    margin-top: 4.8rem;
  }
  .secQA__item {
    padding: 1.6rem 2rem;
    border-radius: 2rem;
  }
  .secQA__item:not(:last-child) {
    margin-bottom: 2.4rem;
  }
  .secQA__item--q {
    margin-bottom: 1.2rem;
    padding-bottom: 1.2rem;
    font-size: 1.6rem;
  }
  .secQA__item--q::before {
    font-size: 2rem;
  }
  .secQA__item--a {
    font-size: 1.3rem;
  }
  .secQA__item--a::before {
    font-size: 1.8rem;
  }
  .secReason__top--left, .secReason__top--right {
    width: 100%;
  }
  .secReason__nav {
    margin-top: 4rem;
    margin-left: -4rem;
    width: calc(100% + 8rem);
    overflow-x: auto;
    background-color: #d6d6d6;
  }
  .secReason__nav.fixed2 {
    position: fixed;
    right: 0;
    bottom: 9.5rem;
    left: 0;
    z-index: 11;
    margin-top: 0;
    margin-left: 0;
    width: auto;
  }
  .entry-close .secReason__nav.fixed2 {
    bottom: 0;
  }
  .secReason__spImg {
    margin-top: 3.2rem;
    margin-left: -3rem;
    width: calc(100% + 6rem);
  }
  .secReason__spImg img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 2rem;
  }
  .secReason__spImg02 {
    margin-top: 2.4rem;
    margin-left: -3rem;
    width: calc(100% + 6rem);
  }
  .secReason__spImg02 img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 2rem;
  }
  .secReason__block {
    padding-bottom: 0;
  }
  .secReason__block:not(:first-of-type) {
    margin-top: 6.4rem;
  }
  .secReason__block .mdAccordion__btn {
    position: static;
    bottom: auto;
    left: auto;
    margin: 4rem auto 0;
    transform: translateX(0);
  }
  .secReason__list {
    padding-top: 4.8rem;
  }
  .secReason__item:not(.mdAccordion__content):nth-child(odd) .secReason__item--img {
    order: unset;
  }
  .secReason__item.-le .secReason__item--img {
    order: unset;
  }
  .secReason__item--img {
    width: 100%;
    max-width: 100%;
  }
  .secReason__item--img .jojo--bottom:not(:first-child) {
    display: none;
  }
  .secReason__item--img img {
    border-radius: 2rem;
  }
  .secReason__item--content {
    max-width: 100%;
  }
  .secReason__item--case {
    width: 8rem;
    height: 2.7rem;
    font-size: 1.6rem;
    line-height: 1.4;
  }
  .secReason__item--ttl {
    padding: 0.8rem 0 0;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 140%; /* 3.36rem */
  }
  .secReason__item--name {
    margin-top: 3.2rem;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .secReason__item--info {
    flex-wrap: wrap;
    margin-left: -1rem;
    padding-top: 1rem;
    width: calc(100% + 1rem);
    gap: 0.4rem;
  }
  .secReason__item--infoTtl {
    margin-left: 0.4rem;
    padding: 0.5rem 0.7rem;
    border-radius: 0.4rem;
    font-size: 1.3rem;
    line-height: 1;
  }
  .secReason__item--infoTxt {
    font-size: 1.3rem;
  }
  .secReason__item--updated {
    padding-top: 1rem;
    padding-bottom: 1.6rem;
  }
  .secReason__item--txt1 {
    font-size: 1.5rem;
  }
  .secReason__item--txt {
    font-size: 1.5rem;
  }
  .secReason__item--box {
    margin-top: 2.4rem;
  }
  .secReason__item--q {
    position: relative;
    padding-left: 3.6rem;
    font-size: 1.8rem;
  }
  .secReason__item--q::before {
    top: 1.4rem;
    width: 2.4rem;
  }
  .secReason__item--a {
    margin-top: 2.4rem;
    max-width: none;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 160%;
  }
  .secReason__anchor {
    margin-left: -3rem;
    padding-top: 4.8rem;
    width: calc(100% + 6rem);
    gap: 0.5rem;
  }
  .secReason__anchor--link {
    border-radius: 2rem;
    max-width: calc((100% - 0.5rem) / 2);
  }
  .secReason__anchorFix .secReason__anchor--link {
    font-size: 2.4rem;
  }
  .secReason__anchor--thumb img {
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 20/25;
  }
  .secReason__anchor--ttl {
    margin: auto;
    padding: 0.6rem 0.69rem;
    width: 100%;
    font-size: 1.4rem;
  }
  .secReason__anchor--ttl.w-100 {
    padding: 0.4rem 0 0.6rem;
    font-size: 2.4rem;
  }
  .secReason__anchor--icon {
    padding-top: 0.5rem;
  }
  .secReason__anchorFix .secReason__anchor--icon {
    font-size: 1.6rem;
  }
  .secReason__anchor2 {
    gap: 0.8rem;
    padding: 1.2rem 2rem;
    width: 92rem;
  }
  .secReason__anchor2--link {
    position: relative;
    border: 1.2px solid #fff;
    border-radius: 0.8rem;
    width: 10.4rem;
    height: 8.8rem;
    overflow: hidden;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
  }
  .secReason__anchor2--ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 0.4rem 0;
    padding-top: 0.2rem;
    width: 100%;
    height: 2.6rem;
    font-size: 1.8rem;
    color: #fff;
    background: rgba(0, 0, 0, 0.2);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
  }
  .secReason__anchor2--thumb img {
    width: 10.4rem;
    height: 8.8rem;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .secReferral__main {
    margin-top: 4rem;
  }
  .secReferral__img {
    margin-left: -3rem;
    width: 100%;
    width: calc(100% + 6rem);
  }
  .secReferral__img img {
    aspect-ratio: 25/18;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 2rem;
  }
  .secReferral__box {
    margin-top: 4rem;
  }
  .secReferral__q {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 160%; /* 2.56rem */
  }
  .secReferral__a {
    margin-top: 0.8rem;
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 140%; /* 3.36rem */
  }
  .secReferral__sub {
    margin-top: 2.4rem;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 180%; /* 2.7rem */
  }
  .secReferral .mdAccordion__btn {
    margin: 4rem auto 0;
  }
  .secReferralAcIntro {
    margin-top: 5.6rem;
  }
  .secReferralAcIntro__img {
    margin-top: 4rem;
    margin-left: -3rem;
    width: calc(100% + 6rem);
  }
  .secReferralAcIntro__img img {
    aspect-ratio: 25/15;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 2rem;
  }
  .secReferralAcInfo {
    margin-top: 4rem;
    padding: 2.2rem 1.6rem;
    border-radius: 2rem;
    background: var(--base-grey, #f4f4f4);
    box-shadow: 1px 1px 2px 0 rgba(255, 255, 255, 0.3), -1px -1px 2px 0 rgba(230, 230, 230, 0.5), -5px 5px 10px 0 rgba(230, 230, 230, 0.2) inset, 5px -5px 10px 0 rgba(230, 230, 230, 0.2) inset, -5px -5px 10px 0 rgba(255, 255, 255, 0.9) inset, 5px 5px 13px 0 rgba(230, 230, 230, 0.9) inset;
  }
  .secReferralAcInfo__title {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 100%;
  }
  .secReferralAcInfo__wrap {
    margin-top: 1.6rem;
  }
  .secReferralAcInfo__block:not(:first-of-type) {
    margin-top: 1.6rem;
  }
  .secReferralAcInfo__text {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2列 */
    justify-self: start;
    font-size: 1.3rem;
    line-height: 100%; /* 1.3rem */
    gap: 0.6rem;
  }
  .secReferralAcInfo__text:not(:first-of-type) {
    margin-top: 0.8rem;
  }
  .secReferralAcInfo__name {
    font-size: 1.6rem;
  }
  .secReferralAcInfo__enter {
    padding: 0.3rem 0.4rem;
    font-size: 1.2rem;
    text-align: center;
  }
  .secReferralAcInfo__enter--02 {
    margin-left: 0.2rem;
  }
  .secReferralAcTalk {
    margin-top: 5.6rem;
  }
  .secReferralAcTalk__block:not(:first-of-type) {
    margin-top: 5.6rem;
  }
  .secReferralAcTalk__img {
    margin-top: 4rem;
    margin-left: -3rem;
    width: calc(100% + 6rem);
  }
  .secReferralAcTalk__img img {
    aspect-ratio: 25/18;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 2rem;
  }
  .secReferralAcTalk__imgInner {
    position: static;
  }
  .secReferralAcTalk__text {
    width: 100%;
  }
  .secReferralAcTalk__box:not(:first-of-type) {
    margin-top: 4rem;
  }
  .secPhoto {
    position: relative;
    margin-top: 6.4rem;
    padding-bottom: 9.2rem;
  }
  .secPhoto__wrap {
    margin-left: -3rem;
    border-radius: 2rem;
    width: calc(100% + 6rem);
  }
  .secPhoto__img {
    flex-basis: 50%;
  }
  .secBenefit {
    padding-top: 6.4rem;
  }
  .secBenefit__ttl {
    font-size: 2rem;
  }
  .secBenefit__txt {
    padding-top: 1.6rem;
    font-size: 1.5rem;
    line-height: 180%;
  }
  .secBenefit--list {
    margin-top: 4.8rem;
    margin-left: -3rem;
    width: calc(100% + 6rem);
    gap: 3.2rem;
  }
  .secBenefit__item {
    border-radius: 2rem;
    width: 100%;
    max-width: 100%;
  }
  .secBenefit__item--thumb {
    height: 100%;
  }
  .secBenefit__item--thumb img {
    border-radius: 2rem;
    width: 100%;
    height: 100%;
    aspect-ratio: 3/2;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .secBenefit__item--btn {
    font-size: 1.4rem;
    gap: 1.5rem;
  }
  .secBenefit__item--avatar {
    width: 18.6rem;
    height: 18.6rem;
  }
  .secBenefit__item--txt {
    min-height: 18rem;
    font-size: 1.4rem;
  }
  .secBenefit__item--desc {
    font-size: 1.5rem;
    line-height: 160%;
  }
  .secBenefit__item--ttl {
    padding: 1.2rem 0 0.8rem;
    font-size: 2rem;
  }
  .secBenefit .flipper {
    height: 40rem;
  }
  .secBenefit .flipper--back {
    padding: 2rem;
    border-radius: 2rem;
  }
  .secData__wrap {
    margin-left: -3rem;
    padding-top: 4.8rem;
    width: calc(100% + 6rem);
    gap: 1rem;
  }
  .secData__item {
    padding: 1.6rem 1rem;
    border-radius: 2rem;
    width: 100%;
    max-width: calc((100% - 1rem) / 2);
    height: 32rem;
  }
  .secData__item--en {
    padding-bottom: 1.2rem;
    font-size: 2.4rem;
  }
  .secData__item--ja {
    padding-bottom: 2rem;
    font-size: 1.5rem;
  }
  .secData__item--txt {
    right: 2rem;
    bottom: 2rem;
    font-size: 0.8rem;
  }
  .secData__item--text {
    font-size: 0.9rem;
  }
  .secData__item--ranking li {
    margin-bottom: 1rem;
    padding-left: 3.2rem;
    font-size: 1.3rem;
  }
  .secData__item--08 .secData__item--ranking li {
    padding-bottom: 1.5rem;
    font-size: 1rem;
  }
  .secData__item--ranking li::before {
    font-size: 1.4rem;
  }
  .secData__item--ranking li:nth-child(1)::before {
    padding-top: 4px;
    width: 2.6rem;
  }
  .secData__item--ranking li:nth-child(2)::before {
    width: 2.6rem;
  }
  .secData__item--ranking li:nth-child(3)::before {
    width: 2.6rem;
  }
  .secData .ageDistrib {
    width: 9.4rem;
    height: 9.4rem;
  }
  .secData .ageDistrib--item:nth-child(1) {
    top: -1rem;
    left: -1rem;
  }
  .secData .ageDistrib--item:nth-child(2) {
    top: -1rem;
    right: -1rem;
  }
  .secData .ageDistrib--item:nth-child(3) {
    bottom: -1rem;
  }
  .secData .ageDistrib--item--01 .-no {
    font-size: 1.4rem;
  }
  .secData .ageDistrib--item--01 .-text {
    font-size: 0.8rem;
  }
  .secData .ageDistrib--item--02 .-no {
    font-size: 2.4rem;
  }
  .secData .ageDistrib--item--02 .-text {
    font-size: 1.2rem;
  }
  .secData .gRatio--colon {
    font-size: 4.8rem;
  }
  .secData .gRatio .-no {
    font-size: 6.8rem;
  }
  .secData .gRatio .-text {
    font-size: 2rem;
  }
  .secData .employee,
  .secData .rate1 {
    height: 9.6rem;
  }
  .secData .countUp--no {
    font-size: 6.8rem;
  }
  .secData .countUp--text {
    font-size: 2.2rem;
  }
  .secVoice--left {
    order: 2;
    max-width: 100%;
  }
  .secVoice--right {
    width: 100%;
    max-width: 100%;
  }
  .secVoice__spImg {
    margin-top: 4.8rem;
    margin-left: -3rem;
    width: calc(100% + 6rem);
  }
  .secVoice__spImg img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 2rem;
  }
  .secVoice__list {
    margin-top: 4.8rem;
  }
  .secVoice__item {
    padding: 1.6rem 2rem;
    border-radius: 2rem;
  }
  .secVoice__item:not(:last-child) {
    margin-bottom: 2.4rem;
  }
  .secVoice__item--q {
    margin-bottom: 1.2rem;
    padding-bottom: 1.2rem;
    font-size: 1.6rem;
  }
  .secVoice__item--q::before {
    font-size: 2rem;
  }
  .secVoice__item--a {
    font-size: 1.3rem;
  }
  .secVoice__item--a::before {
    font-size: 1.8rem;
  }
  .secImages {
    padding-top: 4.8rem;
  }
  .secImages__menu {
    flex-wrap: wrap;
    margin-left: -3rem;
    width: calc(100% + 6rem);
    gap: 1.2rem;
  }
  .secImages__img {
    flex: 0 1 calc((100% - 1.2rem) / 2);
  }
  .secImages__img img {
    border-radius: 1.2rem;
  }
  .secWStyle__top--left {
    width: 100%;
    max-width: 100%;
  }
  .secWStyle__top--right {
    width: 100%;
  }
  .secWStyle__topText {
    margin-top: 3.2rem;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 160%; /* 3.52rem */
  }
  .secWStyle__topSpImg {
    margin-top: 3.2rem;
    margin-left: -3rem;
    width: calc(100% + 6rem);
  }
  .secWStyle__topSpImg img {
    border-radius: 2rem;
    aspect-ratio: 25/18;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .secWStyle__topSub {
    margin-top: 3.2rem;
    font-size: 1.5rem;
    line-height: 180%; /* 2.7rem */
  }
  .secWStyle__list {
    padding-top: 6.4rem;
  }
  .secWStyle__row:not(:first-of-type) {
    margin-top: 4rem;
  }
  .secWStyle__line {
    gap: 2rem;
  }
  .secWStyle__line--img {
    order: 2;
    margin-left: -3rem;
    width: calc(100% + 6rem);
    max-width: none;
  }
  .secWStyle__line--img img {
    border-radius: 2rem;
    aspect-ratio: 25/18;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .secWStyle__line--img.gMap iframe {
    border-radius: 2rem;
    aspect-ratio: 25/18;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .secWStyle__line--right {
    width: 100%;
  }
  .secWStyle__line--ttl {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 140%; /* 2.52rem */
  }
  .secWStyle__line--txt {
    margin-top: 2.4rem;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 180%; /* 2.7rem */
  }
  .secWStyle__line--main {
    display: block;
    margin: 1.2rem 0 2.4rem;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 140%; /* 3.36rem */
  }
  .secRec__menu {
    padding-left: 0;
  }
  .secRec__img {
    margin-top: 3.2rem;
    margin-left: -3rem;
    width: calc(100% + 6rem);
  }
  .secRec__img img {
    border-radius: 2rem;
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .secRec__lead {
    margin-top: 3.2rem;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 180%; /* 2.7rem */
  }
  .secRec__text {
    margin-top: 2.4rem;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 140%;
  }
  .secRec .linkCommon {
    margin-top: 4rem;
    margin-left: auto;
    gap: 2rem;
  }
  .secRec .linkCommon .linkCommon--icon {
    right: 2.1rem;
  }
  .secFlow__lead {
    margin-top: 1rem;
    font-size: 1.4rem;
  }
  .secFlow__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 4.5rem;
    padding-top: 4.8rem;
  }
  .secFlow__circle {
    margin-bottom: 0;
    width: 14.6rem;
    height: 14.6rem;
  }
  .secFlow__item {
    flex-basis: 100%;
    position: relative;
    padding: 1.2rem 0;
    gap: 1rem;
  }
  .secFlow__item--wrap {
    position: static;
  }
  .secFlow__item--ttl {
    padding-bottom: 1rem;
    font-size: 1.5rem;
  }
  .secFlow__item--stt {
    font-size: 1.2rem;
  }
  .secFlow__item--icon {
    max-width: 5rem;
  }
  .secFlow__item--txt {
    padding: 0;
    font-size: 1.3rem;
  }
  .secFlow__item--arrow {
    inset: auto auto -4.4rem 50%;
    transform: translateX(-50%);
    gap: 0;
  }
  .secFlow__item--arrow .flow-arrow {
    transform: rotate(90deg);
  }
  .secThanks__img {
    margin-left: -3rem;
    width: calc(100% + 6rem);
  }
  .secThanks__img img {
    border-radius: 2rem;
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .secThanks__note {
    padding: 6.4rem 0;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 160%;
  }
  .secCTA__runText--item {
    height: 16rem;
  }
  .secCTA__runText--item:nth-child(2) {
    margin-left: -6rem;
  }
  .secCTA__runText--item img {
    height: 100%;
  }
  .secCTA__link {
    padding: 6rem 0 12rem;
    width: 58.8rem;
    height: 58.8rem;
  }
  .secCTA__link--ttlEn {
    font-size: 2.4rem;
  }
  .secCTA__link--ttlJa {
    font-size: 3.6rem;
  }
  .secCTA__link--txt {
    padding: 4rem 0;
    font-size: 1.8rem;
  }
  .secCTA__link--txt2 {
    font-size: 1.4rem;
  }
  .secCTA__link--icon::before {
    width: 13.2rem;
    height: 13.2rem;
  }
  .secCTA__link--icon2 {
    max-width: 2rem;
  }
  /* 右端・縦位置はお好みで */
  .boxContact{
    position: fixed;      /* 念のため明示 */
    right: 20px;
    bottom: 40px;
    left: auto;
    width: auto;
    z-index: 9999;
    padding: 0;           /* 既存の下部バー用余白を打ち消す */
  }

  /* 縦書きの赤いピル */
  .boxContact__link{
    padding: 20px 15px 42px;
    position: relative; 
    width: auto;
    border-radius: 10px;
    background-color: #e60012;
    color: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,.3);
    text-decoration: none;
    text-align: center;

    writing-mode: vertical-rl;
    text-orientation: upright;

    transition: background-color .4s ease, color .4s ease;
  }

  .boxContact__link::after{
    content: "";
    position: absolute;
    left: 52%;
    bottom: 15px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 11px solid #fff;
    pointer-events: none;
  }

  .boxContact__link:hover{ filter: brightness(0.98); }

  /* テキスト：SPは「エントリーする」だけ見せる */
  .boxContact__text{ display: none; }

  /* 中のボタン体裁を“文字だけ”に寄せる */
  .boxContact__btn{
    margin: 0;
    padding: 0;
    border: 0;
    width: auto;
    background: transparent;
    color: #fff;
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
  }
  .boxContact__btn .icon{ display: none; }

  .boxContact__bar {
    width: 1.8rem;
  }
  .boxContact__close{
    width: 40%;
    height: 30%;
    left: 55%;
  }

  /* .boxContact {
    inset: auto auto 0 0;
    width: 100%;
  }
  .boxContact__link {
    padding: 1.2rem 4rem;
    border-radius: 0;
    width: 100%;
  }
  .boxContact__text {
    font-size: 1.3rem;
  }
  .boxContact__btn {
    margin-top: 1.2rem;
    padding: 1rem;
    width: 88%;
  }
  .boxContact__close {
    top: 0;
    color: #fff;
  }
  .boxContact__bar {
    width: 2rem;
    background-color: #fff;
  } */
  .linkCommon {
    width: 23.6rem;
    height: 5.2rem;
    font-size: 1.6rem;
  }
  .pageTitle__en {
    font-size: 3.8rem;
  }
  .pageTitle__ja {
    margin-top: 0.5rem;
    font-size: 1.6rem;
    line-height: 140%;
  }
  .pageTitle__ja--small {
    font-size: 1.4rem;
  }
  .pageTitle__ja--mr {
    margin-right: -1rem;
    width: calc(100% + 1rem);
    font-size: 1.5rem;
  }
  .pageTitle--sub {
    padding-top: 0;
    padding-bottom: 3rem;
    font-size: 2.2rem;
  }
  .pageDesc {
    margin-top: 2.4rem;
    font-size: 1.5rem;
    line-height: 180%; /* 2.7rem */
  }
  .pageTtl2 {
    padding: 0.6rem 2.4rem;
    font-size: 1.5rem;
  }
  .pageTtl2Txt {
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-size: 1.3rem;
  }
  .jobType {
    padding-top: 3rem;
    padding-bottom: 5rem;
  }
  .jobTypeNav {
    width: 100%;
    min-width: auto;
    text-align: center;
  }
  .jobTypeNav--ttl {
    margin-bottom: 2.2rem;
    padding-bottom: 0.5rem;
    font-size: 1.6rem;
  }
  .jobTypeNav--list {
    gap: 2.4rem;
  }
  .jobTypeNav__link {
    z-index: 1;
    padding: 1.2rem 1rem;
    border-radius: 2rem;
    font-size: 1.5rem;
  }
  .jobTypeNav__link::before {
    display: none;
  }
  .jobTypeNav__link:hover {
    color: #ed1b23;
  }
  .jobTypeNav__link.active {
    color: #ed1b23;
  }
  .jobTypeNav__link.active svg {
    transform: scale(1.33) rotate(180deg);
  }
  .jobTypeNav__link--icon {
    width: 1.4rem;
    height: 0.8rem;
    color: #ed1b23;
    transform: scale(1.33);
  }
  .jobTypeData {
    max-width: 100%;
  }
  .jobTypeData--scroll2 {
    margin: 1rem 0;
    padding: 0 1rem;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.2s ease-in-out, opacity 0.2s ease-in-out, padding 0.2s ease-in-out;
  }
  .jobTypeData--scroll2.active {
    padding: 1rem;
    max-height: 30rem;
    overflow-y: auto;
    opacity: 1;
  }
}
@media screen and (max-width:768px) and (max-width: 340px){
  .secBenefit__item--btn {
    font-size: 1.3rem;
  }
  .secData__item--08 .secData__item--ranking li {
    font-size: 0.9rem;
  }
  .secData .gRatio .-no {
    font-size: 6rem;
  }
}
@media screen and (max-width:768px) and (max-width: 360px){
  .secFeature__circle--wrap {
    width: 25rem;
    height: 25rem;
  }
}
@media screen and (max-width:768px) and (max-width: 390px){
  .secMV__content--text {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 389px){
  html {
    font-size: 2.564vw;
  }
}
@media screen and (-ms-high-contrast: none){
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
@media screen and (orientation:landscape){
  .mdOverlay--ripple {
    width: 300vw;
    height: 300vw;
  }
}/*# sourceMappingURL=common.css.map */