/* ----------
base
---------- */
/* resetCss */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  box-sizing:border-box;
  margin: 0;
  padding: 0;
  border: none;
  vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block;
}
ol, ul {
  list-style: none;
}
address{
  font-style:normal;
}
a{
  text-decoration:none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img,canvas,svg,iframe{
  max-width:100%;
  height:auto;
  vertical-align:top;
}
input{
  background-color:transparent;
}

/* variable */
:root{
  /* Color */
  --color-main: #001D6E;
  --color-border: #DAE4E4;
  --color-bk: #E7F5F6;
  --color-sea: #2CBBFF;
  --color-land: #fffff5;
  --color-btn: #14399F;
  --color-unactive: #8089A0;
  --color-text: #001D6E;
  --color-link: #004E8F;
  /* --color-hover: #bbb; */
  --color-reverse: #ffffff;
  --color-cta: #E60012;
  --color-q: #8089A0;

  /* Text */
  --font-en: YakuHanJPs, "Quicksand", sans-serif;
  --font-jp: YakuHanJPs, "Zen Kaku Gothic New", sans-serif;
  /* --font-jp: YuGothic, "Yu Gothic Medium", "Yu Gothic"; */

  /* Font-Size */
  --fz-main: clamp(13px, 1.09vw, 15px);

  /* Other */
  --opacity: 0.7;
  --transition: 0.2s;
}

/* base */
:root{
	font-size: 10px;
  scroll-padding-top: calc(var(--gNavH) + 12px);
}
body{
	color: var(--color-text);
	font-weight: 500;
	line-height: 2.0;
	font-size: var(--fz-main);
	font-family: var(--font-jp);
  counter-reset: qNum;
}


/* ----------
layout
---------- */
/* ラッパー */
.l_wrap{}
.l_wrap__header{
  position: fixed;
  top: 12px;
  left: 0;
  right: 0;
  z-index: 9999;
  width: 100%;
  max-width: 1236px;
  margin: auto;
  padding: 0 10px;
}

/* コンテンツ */ 
.l_cont{}
.l_cont__inner{
  max-width: 1168px;
  padding-inline: 24px;
  margin: auto;
}
.l_cont--top{
  padding: clamp(82px, 8.72vw, 120px) 0 clamp(88px, 8.72vw, 120px);
}
.l_cont--bottom{
  padding: clamp(82px, 8.72vw, 120px) 0 clamp(88px, 8.72vw, 120px);
}

/* ２構成カラム */ 
.l_2colLayout{
  display: flex;
  gap: clamp(32px, 4.07vw, 56px);
  width: 100%;
  @media screen and (max-width: 768px){
    display: block;
  }
}
.l_2colLayout__sub{
  flex: 0 0 244px;
  @media screen and (max-width: 768px){
    display: none;
  }
}
.l_2colLayout__main{
  width: calc(100% - 244px);
  @media screen and (max-width: 768px){
    width: 100%;
  }
}

/* ２構成カラム（左ナビを浮かせる） */ 
.l_floated2colLayout{
  position: relative;
}
.l_floated2colLayout__sub{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  max-width: 1168px;
  height: 100%;
  padding-inline: 24px;
  padding-bottom: clamp(56px, 5.81vw, 80px);
  margin: auto;
  @media screen and (max-width: 768px){
    position: static;
  }
}
.l_floated2colLayout__subInner{
  width: 244px;
  height: 100%;
  @media screen and (max-width: 768px){
    width: 100%;
  }
}
.l_floated2colLayout__main{}
.l_floated2colLayout__mainInner{
  padding-left: calc(244px + clamp(32px, 4.07vw, 56px));
  @media screen and (max-width: 768px){
    padding-inline: 24px;
  }
}
/* 節 */
.l_section{}
.l_section__item{}
.l_section--primary{
  > .l_section__item + .l_section__item{
    margin-top: clamp(96px, 8.72vw, 120px);
  }
}
.l_section--message{
  > .l_section__item + .l_section__item{
    margin-top: clamp(16px, 2.71vw, 32px);
  }
}
.l_section--crosstalk{
  > .l_section__item + .l_section__item{
    margin-top: clamp(32px, 6.4vw, 88px);
  }
}
.l_section--interview{
  > .l_section__item + .l_section__item{
    margin-top: clamp(32px, 5.42vw, 64px);
  }
}
.l_section--beloved{
  > .l_section__item{
    padding-block: clamp(56px, 5.81vw, 80px);
  }
}
.l_section--belovedCont{
  > .l_section__item + .l_section__item{
    margin-top: 16px;
  }
}
/* グリッド */
.l_grid{
  display: grid;
  gap: 24px;
}
.l_grid__item{}
.l_grid--division{
  gap: clamp(15px, 6.77vw, 80px);
  grid-template-columns: repeat(3, 1fr);
  @media screen and (max-width: 768px){
    grid-template-columns: repeat(2, 1fr);
  }
}
.l_grid--interview{
  gap: clamp(15px, 4.07vw, 56px) clamp(15px, 6.77vw, 80px);
  grid-template-columns: repeat(3, 1fr);
  @media screen and (max-width: 768px){
    gap: clamp(15px, 6.77vw, 80px);
    grid-template-columns: repeat(2, 1fr);
  }
}
.l_grid--beloved{
  gap: clamp(14px, 3.49vw, 48px) clamp(14px, 3.49vw, 48px);
  grid-template-columns: repeat(3, 1fr);
  &.l_grid--2col{
    grid-template-columns: 2fr 1fr;
  }
  @media screen and (max-width: 768px){
    grid-template-columns: repeat(2, 1fr);
    &.l_grid--2col{
      grid-template-columns: 1fr;

    }
  }
}
.l_grid--hr{
  gap: clamp(16px, 2.32vw, 32px);
  grid-template-columns: repeat(3, 1fr);
  @media screen and (max-width: 768px){
    grid-template-columns: repeat(2, 1fr);
  }
}


/* ----------
module
---------- */
/* アイコン */
.m_hasIco{
  position: relative;
  display: block;
  &::before, &::after{
    content: "";
    position: absolute;
    display: block;
  }
  &::before{
    left: 0;
  }
  &::after{
    right: 0;
  }
}
.m_hasIco--anotherLink{
  padding-right: 1em;
  &::after{
    top: 0;
    bottom: 0;
    width: calc(1em * 0.667);
    aspect-ratio: 1;
    margin: auto;
    background: url(../img/logo_anotherlink.png) no-repeat center center / contain;
  }
}
.m_hasIco--ast{
  padding-left: 1em;
  &::before{
    content: "※";
  }
}
/* ボタン */
.m_btn{
  display: flex;
  align-items: stretch;
  &::before{
    content: "";
    display: block;
    width: 0;
  }
}
.m_btn__target{
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
}
.m_btn--gnavEntry{
  &::before{
    height: 40px;
  }
  .m_btn__target{
    padding: 0 16px;
    border: 2px solid var(--color-cta);
    border-radius: 100px;
    color: var(--color-reverse);
    font-weight: 900;
    background: var(--color-cta);
    @media (any-hover: hover){
      transition: background var(--transition), color var(--transition);
      &:hover{
        background: var(--color-reverse);
        color: var(--color-cta);
      }  
    }
    @media screen and (max-width: 976px){
      padding: 0 10px;
      font-size: 12px;      
    }
  }
}
.m_btn--topKeyvisual{
  height: 100%;
  &::before{
    height: 100%;
    max-height: 140px;
  }
  .m_btn__target{
    position: relative;
    width: 100%;
    min-width: 110px;
    min-height: 110px;
    border-radius: 50%;
    color: var(--color-reverse);
    text-align: center;
    font-weight: 900;
    line-height: 1.5;
    background: var(--color-cta);
    &::before{
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      display: block;
      width: calc(100% - 10px);
      height: calc(100% - 10px);
      margin: auto;
      border: 2px solid var(--color-reverse);
      border-radius: 50%;
    }
    @media (any-hover: hover){
      transition: background var(--transition), color var(--transition);
      &::before{
        transition: border-color var(--transition);
      }
      &:hover{
        background: var(--color-reverse);
        color: var(--color-cta);
        &::before{
          border-color: var(--color-cta);
        }
      }
    }
    @media screen and (max-width: 768px){
      min-width: 98px;
      min-height: 98px;
    }
  }
}

.m_btn--primary{
  &::before{
    height: 54px;
  }
  .m_btn__target{
    justify-content: flex-start;
    position: relative;
    width: 224px;
    padding: 0 66px 0 24px;
    border: 2px solid var(--color-btn);
    border-radius: 100px;
    color: var(--color-reverse);
    font-weight: 700;
    font-size: 14px;
    background: var(--color-btn);
    &::before{
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: 12px;
      display: block;
      width: 30px;
      height: 30px;
      margin: auto;
      border-radius: 50%;
      background: var(--color-reverse);
    }
    &::after{
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: 24px;
      display: block;
      width: calc(8px / sqrt(2));
      height: calc(8px / sqrt(2));
      margin: auto;
      border-right: 2px solid var(--color-btn);
      border-bottom: 2px solid var(--color-btn);
      transform: rotate(-45deg);
    }
    @media (any-hover: hover){
      transition: background var(--transition), color var(--transition);
      &::before{
        transition: background var(--transition);
      }
      &::after{
        transition: border-color var(--transition);
      }
      &:hover{
        background: var(--color-reverse);
        color: var(--color-btn);
        &::before{
          background: var(--color-btn);
        }
        &::after{
          border-color: var(--color-reverse);
        }
      }  
    }
  }
}

.m_btn--footer{
  width: 335px;
  &::before{
    height: 66px;
  }
  .m_btn__target{
    width: 100%;
    justify-content: flex-start;
    padding: 0 24px;
    border: 2px solid var(--color-cta);
    border-radius: 100px;
    color: var(--color-reverse);
    font-size: 14px;
    font-weight: 700;
    background: var(--color-cta);
    @media (any-hover: hover){
      transition: background var(--transition), color var(--transition);
      &:hover{
        background: var(--color-reverse);
        color: var(--color-cta);
      }
    }
  }

  /* アイコンをオーバーライド */
  .m_hasIco--anotherLink{
    padding-right: 78px;
    &::after{
      top: 0;
      bottom: 0;
      right: 12px;
      width: 42px;
      height: 42px;
      border-radius: 50%;
      outline: 2px solid var(--color-cta);
      margin: auto;
      background: url(../img/logo_anotherlink_red.png) no-repeat center center / 12px, var(--color-reverse);
    }
  }
  .m_hasIco--mynavi{
    padding-right: 160px;
    &::after{
      box-sizing: border-box;
      top: 0;
      bottom: 0;
      right: 12px;
      width: calc(42px * 412 / 124);
      height: 42px;
      margin: auto;
      padding: 0 16px;
      border-radius: 100px;
      outline: 2px solid var(--color-cta);
      background: url(../img/logo_mynavi.svg) no-repeat content-box center center / contain, #fff;
    }
  }
}
.m_btn--pager{
  &::before{
    height: clamp(32px, 3.63vw, 50px);
  }
  .m_btn__target{
    position: relative;
    width: clamp(32px, 3.63vw, 50px);
    border: 2px solid var(--color-btn);
    border-radius: 50%;
    color: var(--color-reverse);
    line-height: 1.75;
    font-weight: 700;
    font-size: clamp(12px, 1.31vw, 18px);
    font-family: var(--font-en);
    background: var(--color-btn);
    @media (any-hover: hover){
      transition: background var(--transition), color var(--transition);
      &:hover{
        background: var(--color-reverse);
        color: var(--color-btn);
      }  
    }
    &.is_current{
      background: var(--color-reverse);
      color: var(--color-btn);
    }
  }

}
/* オーバーレイ */
.m_overlay{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99998;
  width: 100vw;
  height: 100vh;
  background: var(--color-main);
}
/* ローディング */
.m_loading{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100vh;
}
.m_loading__inner{
  position: relative;
  width: 48.7vw;
  max-width: 670px;
  min-width: calc(173px * 1.3 * 1.3);
  aspect-ratio: 670 / 349;
}
.m_loading__img{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: fit-content;
  height: fit-content;
  margin: auto;
  line-height: 0;
  opacity: 1;
  img{
    max-width: 100%;
    height: auto;
  }
}
.m_loading__img--1{
  z-index: 3;
  transition: .5s transform ease-out;
  transform: translateX(calc((100% * 448 / 678 + (100% - (100% * 448 / 678)) / 2) * var(--loaded)));
}
.m_loading__img--2{
  width: calc(100% * 896 / 1340);
  min-width: calc(173px * 1.3);
  z-index: 2;
}
.m_loading__img--3{
  width: calc(100% * 896 / 1340 * 2 / 5);
  min-width: calc(173px * 1.3 * 2 / 5);
  z-index: 1;
}
.is_loaded{
  .m_overlay{
    transition: .75s 2.5s transform ease-out;
    transform: translateY(100%);
  }
  .m_loading{
    transition: .75s 2.5s transform ease-out;
    transform: translateY(100%);
  }
  .m_loading__img--1{
    transition: .75s transform ease-out;
    transform: translateX(calc(50vw + 50%));
  }
  .m_loading__img--2{
    transition: .75s 1s opacity ease-out;
    opacity: 0;
  }
}

/* 見出し */
.m_heading{}
.m_heading__ttl{}
.m_heading__sub{}
.m_heading--top{
  width: fit-content;
  @media screen and (max-width: 768px){
    margin-inline: auto;
  }
  & > .m_heading__ttl{
    font-weight: 700;
    line-height: 1;
    font-size: clamp(24px, 2.61vw, 36px);
    @media screen and (max-width: 768px){
      width: fit-content;
      margin-inline: auto;
    }
  }
  & > .m_heading__sub{
    position: relative;
    width: fit-content;
    padding-left: 54px;
    font-weight: 600;
    line-height: 1;
    font-size: clamp(15px, 1.30vw, 18px);
    font-family: var(--font-en);
    & + .m_heading__ttl{
      margin-top: 16px;
    }
    &::before{
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      display: block;
      width: 40px;
      aspect-ratio: 11 / 40;
      margin: auto;
      background: url(../img/logo_heading_h.png) no-repeat center center / contain;
    }
  }
}
.m_heading--vertical{
  writing-mode: vertical-rl;
  @media screen and (max-width: 768px){
    writing-mode: initial;
  }
}
.m_heading--vertical.m_heading--top{
  & > .m_heading__sub{
    padding-top: 48px;
    padding-left: 0;
    & + .m_heading__ttl{
      margin-top: 0;
      margin-right: 16px;
    }
    &::before{
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: auto;
      width: 11px;
      aspect-ratio: 11 / 40;
      background: url(../img/logo_heading_v.png) no-repeat center center / contain;
    }
    @media screen and (max-width: 768px){
      position: relative;
      width: fit-content;
      margin: auto;
      padding-top: 0;
      padding-left: 54px;
      & + .m_heading__ttl{
        margin-top: 12px;
        margin-right: 0;
      }
      &::before{
        top: 0;
        bottom: 0;
        right: auto;
        width: 40px;
        aspect-ratio: 11 / 40;
        background: url(../img/logo_heading_h.png) no-repeat center center / contain;
      }
    }
  }
}
.m_heading--topInterview{
  position: relative;
  width: fit-content;
  padding-right: 82px;
  .m_heading__ttl{
    font-weight: 500;
    font-size: 24px;
    line-height: 1.35;
    @media screen and (max-width: 768px){
    font-size: 20px;
    }
  }
  .m_heading__sub{
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    line-height: 0;
    height: fit-content;
    margin: auto;
  }
  @media screen and (max-width: 768px){
    padding-right: 0;
    padding-left: 48px;
    .m_heading__sub{
      width: 40px;
      left: 0;
      right: auto;
    }
  }
}
.m_heading--primary{
  margin-bottom: clamp(32px, 4.75vw, 56px);
  .m_heading__ttl{
    line-height: 1.75;
    font-size: clamp(22px, 2.71vw, 32px);
  }
}
.m_heading--primary__subtitle{
  font-weight: bold;
  font-size: clamp(18px, 1.71vw, 24px);
}
/* グローバルナビのボックス */
.m_gNavBox{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  width: 100%;
  height: 65px;
  padding: 0 24px;
  border-radius: 100px;
  box-shadow: 0 4px 6px rgba(36, 52, 99, .15);
  background: var(--color-reverse);
  @media screen and (max-width: 1175px){
    padding: 0 12px 0 24px;
  }
  @media screen and (max-width: 976px){
    padding: 0 12px 0 20px;
  }
  @media screen and (max-width: 768px){
    position: relative;
    z-index: 1;
    height: 54px;
    padding: 0 24px;
  }
}
.m_gNavBox__logo{}
.m_gNavBox__logoLink{
  display: flex;
  align-items: center;
  gap: 20px;
  @media (any-hover: hover){
    transition: opacity var(--transition);
    &:hover{
      opacity: var(--opacity);
    }  
  }
  @media screen and (max-width: 1175px){
    gap: 10px;    
  }
  @media screen and (max-width: 976px){
    display: block;
  }
  @media screen and (max-width: 768px){
    display: flex;
  }
}
.m_gNavBox__logoImg{
  display: block;
  line-height: 0;
  text-align: center;
}
.m_gNavBox__logo img{
  max-width: 100%;
  height: auto;
}
.m_gNavBox__logoMsg{
  display: block;
  font-family: var(--font-en);
  color: var(--color-link);
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
  font-size: 16px;
  text-transform: uppercase;
  br{
    display: none;
    @media screen and (max-width: 768px) {
      display: inline;
    }
  }
  @media screen and (max-width: 976px) {
    font-size: 12px;
  }
  @media screen and (max-width: 768px) {
    text-align: left;
  }
}
.m_gNavBox__body{
  display: flex;
  align-items: center;
  gap: 24px;
  @media screen and (max-width: 1175px){
    gap: 10px;    
  }
}
.m_gNavBox__nav{}
.m_gNavBox__cta{}
.m_gNavBox__hamb{
  display: none;
  @media screen and (max-width: 768px){
    display: flex;
    align-items: center;
  }
}

/* グローバルナビ */
.m_gNav{
  display: flex;
  gap: 24px;
  @media screen and (max-width: 1175px){
    gap: 8px;    
  }
}
.m_gNav__item{}

/* グローバルナビのメニュー */
.m_gMenu{
  position: relative;
}
.m_gMenu__ttl{
  position: relative;
  padding-right: calc(8px / sqrt(2) + 10px);
  color: var(--color-link);
  line-height: 1.75;
  font-weight: 700;
  &::before{
    content: "";
    position: absolute;
    right: 0;
    top: -2px;
    bottom: 0;
    display: block;
    width: calc(8px / sqrt(2));
    height: calc(8px / sqrt(2));
    margin: auto;
    border-right: 2px solid;
    border-bottom: 2px solid;
    transform: rotate(45deg);
    @media screen and (max-width: 1175px){
      top: 0;
      width: calc(6px / sqrt(2));
      height: calc(6px / sqrt(2));
      right: 3px;  
    }
  }
  @media screen and (max-width: 1175px){
    padding-right: calc(6px / sqrt(2) + 10px);
    font-size: 13px;
  }
  @media screen and (max-width: 840px){
    font-size: 12px;    
  }
}
.m_gMenu__ttl--link{
  display: block;
  padding-right: 0;
  &::before{
    content: none;
  }
  @media (any-hover: hover){
    transition: opacity var(--transition);
    &:hover{
      opacity: var(--opacity);
    }  
  }
} 
.m_gMenu__body{
  position: absolute;
  left: 50%;
  bottom: 0;
  width: fit-content;
  padding-top: calc(((65px - 1em) / 2) + 20px);
  transform: translateX(-50%) translateY(100%);
  opacity: 0;
  pointer-events: none;
}
.m_gMenu__list{
  position: relative;
  display: block;
  padding: 24px;
  border-radius: 10px;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, .25);
  background: var(--color-reverse);
  &::before{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    display: block;
    width: 0;
    margin: auto;
    border-right: 12px solid rgba(255, 255, 255, 0);
    border-left: 12px solid rgba(255, 255, 255, 0);
    border-bottom: 18px solid var(--color-reverse);
    border-radius: 2px;
    transform: translateY(-100%);
  }
}
.m_gMenu__item{
  line-height: 1;
}
.m_gMenu__item + .m_gMenu__item{
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--color-border);
}
.m_gMenu__link{
  white-space: nowrap;
  word-break: keep-all;
  font-weight: 600;
  color: var(--color-link);
  font-size: 14px;
  line-height: 1;
  @media screen and (max-width: 1175px){
    font-size: 12px;
  }
  @media (any-hover: hover){
    transition: opacity var(--transition);
    &:hover{
      opacity: var(--opacity);
    }  
  }
}
/* ハンバーガメニューボタン */
.m_hamb{
  position: relative;
  width: 18px;
  aspect-ratio: 1;
  padding: 0;
  border: none;
  outline: none;
  background: none;
  cursor: pointer;
}
.m_hamb__bar{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  margin: auto 0;
  border-radius: 100px;
  background: var(--color-link);
  transition: var(--transition) transform;
  &:first-of-type{
    transform: translateY(-6px);
  }
  &:last-of-type{
    transform: translateY(6px);
  }
}
.js_gnav.is_active{
  .m_hamb__bar{
    transform: rotate(45deg);
    &:first-of-type{
      transform: rotate(45deg);
    }
    &:last-of-type{
      transform: rotate(-45deg);
    }
  } 
}

/* ハンバーガメニューの外箱 */
.m_hambNavBox{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: auto;
  transform: translateX(100%);
  transition: .5s transform;
  &.is_active{
    transform: translateX(0);
  }
}
.m_hambNavBox__body{
  position: relative;
  padding: 88px 0 64px;
  min-height: 100%;
  background: var(--color-sea);
  &::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    mix-blend-mode: soft-light;
    background: url(../img/toppage_main_bk.jpg) no-repeat center top / 200% 200%;
  }
}
.m_hambNavBox__nav{
  padding: 0 48px;
}
.m_hambNavBox__ctas{
  width: fit-content;
  margin: 48px auto 0;
}
.m_hambNavBox__cta{
  width: 329px;
  & + &{
    margin-top: 16px;
  }
}

/* ハンバーガメニューのナビ部分 */
.m_hambNav{}
.m_hambNav__item{
  & + &{
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--color-reverse);
  }
}

/* ハンバーガメニュー */
.m_hambMenu{}
.m_hambMenu__ttl{
  position: relative;
  display: block;
  padding: 16px 0;
  color: var(--color-reverse);
  font-weight: 700;
  font-size: 15px;
  &::before, &::after{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    display: block;
    margin: auto;
    border-radius: 100px;
    background: var(--color-reverse);
  }
  &::before{
    width: 12px;
    height: 2px;
  }
  &::after{
    width: 2px;
    height: 12px;
    transform: translateX(-5px);
    transition: var(--transition) transform;
  }
  &.is_active{
    &::after{
      transform: translateX(-5px) rotate(90deg);
    }
    & + .m_hambMenu__body{
      height: auto;
      height: calc-size(auto, size);  
    }
  }
}
.m_hambMenu__ttl--link{
  &::before{
    right: 6px;
    width: calc(10px / sqrt(2));
    height: calc(10px / sqrt(2));
    border-right: 2px solid var(--color-reverse);
    border-bottom: 2px solid var(--color-reverse);
    border-radius: 0;
    background: none;
    transform: rotate(-45deg);
  }
  &::after{
    content: none;
  }
}
.m_hambMenu__body{
  width: 100%;
  height: 0;
  overflow: hidden;
  transition: .5s height;
}
.m_hambMenu__list{
  padding: 0 0 20px 16px;
}
.m_hambMenu__item{
  & + &{
    margin-top: 8px;
  }
}
.m_hambMenu__link{
  position: relative;
  display: block;
  color: var(--color-reverse);
  font-size: 14px;
  &::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2px;
    display: block;
    width: calc(8px / sqrt(2));
    height: calc(8px / sqrt(2));
    margin: auto;
    border-right: 2px solid var(--color-reverse);
    border-bottom: 2px solid var(--color-reverse);
    transform: rotate(-45deg);
  }
}

/* グローバルフッターのラッパー */
.m_gFooterWrap{}
.m_gFooterWrap__wrap{
  max-width: 1168px;
  margin: auto;
  padding: 88px 24px;
  @media screen and (max-width: 1375px){
    padding: 64px 16px;
  }
}
.m_gFooterWrap__body{
  @media screen and (max-width: 1375px){
    width: fit-content;
    margin-inline: auto;  
  }
}
.m_gFooterWrap__footer{}

/* グローバルフッター */
.m_gFooter{}
.m_gFooter__logo{
  width: fit-content;
  line-height: 0;
  text-align: center;
  & + .m_gFooter__body{
    margin-top: 40px;
  }
  @media screen and (max-width: 768px){
    width: 183px;
  }
}
.m_gFooter__logo img{
  max-width: 100%;
  height: auto;
}
.m_gFooter__logoLink{
  display: block;
  @media (any-hover: hover){
    transition: opacity var(--transition);
    &:hover{
      opacity: var(--opacity);
    }  
  }
}
.m_gFooter__body{
  display: flex;
  justify-content: space-between;
  gap: clamp(64px, 6.55vw, 90px);
  @media screen and (max-width: 1050px){
    display: block;  
  }
}
.m_gFooter__nav{
  & + .m_gFooter__ctas{
    @media screen and (max-width: 1050px){
      margin-top: 40px;       
    }
  }
}
.m_gFooter__ctas{}

/* グローバルフッター内ナビのラッパー */
.m_gFooterNavWrap{}
.m_gFooterNavWrap__list{
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: clamp(38px, 4.07vw, 56px) clamp(24px, 4.07vw, 56px);
  @media screen and (max-width: 768px){
    grid-template-columns: repeat(2, 1fr);
  }
}
.m_gFooterNavWrap__item{}

/* グローバルフッター内ナビ */
.m_gFooterNav{}
.m_gFooterNav__ttl{
  line-height: 1;
  font-weight: 700;
  font-size: clamp(14px, 1.09vw, 15px);
  & + .m_gFooterNav__list{
    margin-top: 24px;
  }
}
.m_gFooterNav__ttl--link{
  display: block;
  color: inherit;
  @media (any-hover: hover){
    transition: opacity var(--transition);
    &:hover{
      opacity: var(--opacity);
    }  
  }
}
.m_gFooterNav__item{
  line-height: 1;
  & + &{
    margin-top: 16px;
  }
}
.m_gFooterNav__link{
  color: var(--color-text);
  font-size: clamp(12px, 1.01vw, 14px);
  @media (any-hover: hover){
    transition: opacity var(--transition);
    &:hover{
      opacity: var(--opacity);
    }  
  }
}
/* グローバルフッターのCTAボタンリスト */
.m_gFooterCtas{
  width: fit-content;
  margin-inline: auto;
}
.m_gFooterCtas__item{
  & + &{
    margin-top: 16px;
  }
}

/* グローバルサブフッター */
.m_gSubFooter{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 52px;
  padding: 0 40px;
  background: var(--color-btn);
  @media screen and (max-width: 768px){
    display: block;
    padding: 16px;
    height: auto;
  }
}
.m_gSubFooter__list{
  display: flex;
  gap: 32px;
  @media screen and (max-width: 768px){
    justify-content: center;
    & + .m_gSubFooter__copyright{
      margin-top: 12px;
    }
  }
}
.m_gSubFooter__item{
  line-height: 1;
}
.m_gSubFooter__link{
  color: var(--color-reverse);
  font-size: 14px;
  @media (any-hover: hover){
    transition: opacity var(--transition);
    &:hover{
      opacity: var(--opacity);
    }  
  }
}
.m_gSubFooter__copyright{
  color: var(--color-reverse);
  line-height: 1;
  text-align: center;
  font-size: 12px;
}

/* 背景ありのフィールド */
.m_bkWrap{
  position: relative;
  background: var(--color-reverse);
  overflow: hidden;
}
.m_bkWrap__inner{
  position: relative;
}
.m_bkWrap--sea{
  background: var(--color-sea);
  &::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    mix-blend-mode: soft-light;
    background: url(../img/toppage_main_bk.jpg) no-repeat center center / cover;
  }
}
.m_bkWrap--blue{
  background: var(--color-bk);
}

/* エントリーのラッパー */
.m_enrtyWrap{}
.m_enrtyWrap__body{}
.m_enrtyWrap__list{
  display: grid;
  align-items: stretch;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(24px, 5.81vw, 80px);
  @media screen and (max-width: 768px){
    display: block; 
  }
}
.m_enrtyWrap__item{
  @media screen and (max-width: 768px){
    & + &{
      margin-top: 50px;
    }
  }
}


/* エントリーのカード */
.m_enrtyCard{
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 320 / 524);
  color: inherit;
  @media screen and (max-width: 768px){
    width: 327px;
    margin-inline: auto;
    padding-top: calc(343px * 320 / 524);
  }
}
.m_enrtyCard::after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  mix-blend-mode: color;
  background: url(../img/toppage_entry_bk.svg) no-repeat center center / contain;
}
.m_enrtyCard__inner{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: calc(100% * 145 / 524) 54px 54px;
  border-radius: 30px;
  z-index: 1;
  @media screen and (max-width: 768px){
    padding: calc(100% * 134 / 524) 54px 54px;
  }
}
.m_enrtyCard__ico{
  position: absolute;
  top: -64px;
  left: 0;
  right: 0;
  display: block;
  width: fit-content;
  margin: auto;
  img{
    max-width: 100%;
    height: auto;
  }
  @media screen and (max-width: 1080px){
    top: -5.93vw;
  }
  @media screen and (max-width: 768px){
    top: -32px;
    width: 33.333%;
  }
}
.m_enrtyCard__ico__new{
  @media screen and (max-width: 768px){
    top: -32px;
    width: 29%;
  }
}
.m_enrtyCard__heading{
  & + .m_enrtyCard__body{
    margin-top: 8px;
    @media screen and (max-width: 768px){
      margin-top: 12px;
    }
  }
}
.m_enrtyCard__ttl{
  color: var(--color-reverse);
  line-height: 1.75;
  font-weight: 700;
  text-align: center;
  font-size: clamp(18px, 1.89vw , 26px);
}
.m_enrtyCard__body{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 206px;
  margin: auto;
  padding: 16px 28px 19px;
  border-radius: 100px;
  line-height: 0;
  background: var(--color-reverse);
  @media screen and (max-width: 1080px){
    width: 19.1vw;
  }
  @media screen and (max-width: 768px){
    width: 160px;
  }
}
.m_enrtyCard__body img{
  max-width: 100%;
  height: auto;
}

.m_enrtyCard__footer{
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  right: 0;
  bottom: 0;
  width: 10%;
  aspect-ratio: 56 / 70;
}
.m_enrtyCard__footer::before{
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  mix-blend-mode: color; 
  background: url(../img/toppage_entry_btn.svg) no-repeat center center / contain;
}
.m_enrtyCard__btn{
  line-height: 0;
  padding-bottom: calc(100% * 14 / 70);
}

.js_wave__inner{
  position: relative;
}
/* トップページのあしらい */
.m_treatments{}
.m_treatments__item{
  position: absolute;
}
.m_treatments--topKeyvisual{
  .m_treatments__item--1{
    top: 61%;
    left: 62%;
    max-width: 302px;
    @media screen and (max-width: 1080px){
      width: 29.8vw;      
    }
  }
}
.m_treatments--keyvisual{
  .m_treatments__item--1{
    bottom: -24px;
    left: 72px;
    z-index: 2;
    transform: translateY(calc(-16px * sin(2 * 3.14 * var(--wave-ratio) * 1rad) ));
    &:has([src*="work_img01.png"]){
      width: clamp(69px, 10.5vw, 145px);
    }
    &:has([src*="about_img01.png"]){
      width: clamp(104px, 16.1vw, 222px);
    }
    &:has([src*="person_img01.png"]){
      width: clamp(98px, 12.8vw, 177px);
    }
    &:has([src*="csr_img01.png"]){
      width: clamp(109px, 21.5vw, 296px);
    }
    @media screen and (max-width: 1080px){
      bottom: -6%;
    }
    @media screen and (max-width: 768px){
      left: 10px;  
    }
  }
  .m_treatments__item--2{
    bottom: -6px;
    z-index: 1;
    width: 100%;
    height: 50px;
  }
}
.m_treatments--lead{
  .m_treatments__item--1{
    top: 180px;
    left: 40px;
    @media screen and (max-width: 1375px){
      width: 14.9vw;      
    }
  }
  .m_treatments__item--2{
    top: 380px;
    right: 10px;
    @media screen and (max-width: 1375px){
      width: 21.51vw;
    }
  }
  .m_treatments__item--3{
    top: 640px;
    left: 12%;
    @media screen and (max-width: 1375px){
      width: 10.54vw; 
    }
  }
}
.m_treatments--employ{
  .m_treatments__item--1{
    top: 80px;
    left: 150px;
    transform: translateY(-100%);
    @media screen and (max-width: 768px){
      display: none;
    }
  }
}
.m_treatments--team{
  .m_treatments__item--1{
    top: 0;
    left: 30px;
    transform: translateY(-100%);
    @media screen and (max-width: 768px){
      top: 16px;
      left: auto;
      right: 0;
      width: 50%;
      text-align: right;
    }
  }
}
.m_treatments--beloved{
  .m_treatments__item--1{
    top: 25%;
    left: 24%;
    transform: translate(-50%, -50%);
    @media screen and (max-width: 1375px){
      width: 17.4vw;
      transform: translate(-50%, -50%) translate(calc(-1 * (240px - 100%) / 2), calc(1 * (170px - 100%) / 2));
    }
    @media screen and (max-width: 768px){
      top: 146px;
      left: 50%;
      width: auto;
      transform: translate(-50%, -50%);
    }
  }
  .m_treatments__item--2{
    top: 28%;
    right: 27%;
    transform: translate(50%, -50%);
    @media screen and (max-width: 1375px){
      width: 12.4vw;
      transform: translate(50%, -50%) translate(calc(1 * (170px - 100%) / 2), calc(-1 * (220px - 100%) / 2));
    }
    @media screen and (max-width: 768px){
      top: 146px;
      left: 50%;
      right: auto;
      width: auto;
      transform: translate(-50%, -50%) translate(calc(-100% - max(6.4vw, 24px)), 50%);
    }
  }
  .m_treatments__item--3{
    top: 56%;
    left: 12%;
    transform: translate(-50%, -50%);
    @media screen and (max-width: 1375px){
      width: 12.4vw;
      transform: translate(-50%, -50%) translate(calc(-1 * (170px - 100%) / 2), calc(-1 * (220px - 100%) / 2));
    }
    @media screen and (max-width: 768px){
      top: 146px;
      left: 50%;
      width: auto;
      transform: translate(-50%, -50%) translate(calc(100% + max(6.4vw, 24px)), 50%);
    }
  }
  .m_treatments__item--4{
    top: 45%;
    right: 12%;
    transform: translate(50%, -50%);
    @media screen and (max-width: 1375px){
      width: 12.4vw;      
      transform: translate(50%, -50%) translate(calc(1 * (170px - 100%) / 2), calc(1 * (170px - 100%) / 2));
    }
    @media screen and (max-width: 768px){
      top: auto;
      bottom: 146px;
      left: 50%;
      right: auto;
      width: auto;
      transform: translate(-50%, 50%) translate(calc(-100% - max(6.4vw, 24px)), -50%);
    }
  }
  .m_treatments__item--5{
    top: 72%;
    left: 29%;
    transform: translate(-50%, -50%);
    @media screen and (max-width: 1375px){
      width: 17.4vw;
      transform: translate(-50%, -50%) translate(calc(-1 * (240px - 100%) / 2), calc(-1 * (170px - 100%) / 2));
    }
    @media screen and (max-width: 768px){
      top: auto;
      bottom: 146px;
      left: 50%;
      width: auto;
      transform: translate(-50%, 50%);
    }
  }
  .m_treatments__item--6{
    top: 72%;
    right: 25%;
    transform: translate(50%, -50%);
    @media screen and (max-width: 1375px){
      width: 17.4vw;      
      transform: translate(50%, -50%) translate(calc(1 * (240px - 100%) / 2), calc(-1 * (170px - 100%) / 2));
    }
    @media screen and (max-width: 768px){
      top: auto;
      bottom: 146px;
      left: 50%;
      right: auto;
      width: auto;
      transform: translate(-50%, 50%) translate(calc(100% + max(6.4vw, 24px)), -50%);
    }
  }
}
.m_treatments--welfare{
  .m_treatments__item--1{
    top: clamp(38px, 4.06vw, 56px);
    right: 0;
    transform: translateY(-100%);
  }
  @media screen and (max-width: 768px){
    .m_treatments__item--1{
      width: 40%;
    }
  }
}

/* ページャーリスト */
.m_pagerList{
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 16px;
}
.m_pagerList__item{}
.m_pagerList__item--more{
  display: flex;
  align-items: center;
  line-height: 0;
  letter-spacing: -10px;
  text-indent: -10px;
  font-size: 20px;
}


/* トップページのヒーローズエリア */
.m_topHerosArea{
  position: relative;
  max-height: 100vh;
  max-height: 100svh;
  @media screen and (max-width: 768px){
    max-height: none;
    margin-top: -80px;
    padding-bottom: 64px;
  }
}
.m_topHerosArea__keyvisual{}
.m_topHerosArea__body{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: calc(100% - 80px);
  max-width: 1296px;
  height: fit-content;
  margin: 0 auto;
  padding: 32px 40px;
  @media screen and (max-width: 768px){
    z-index: 1;
    width: 100%;
    max-width: none;
    padding: 40px 16px 12px;
  }
}
.m_topHerosArea__copy{}

/* トップのキービジュアル */
.m_topKeyvisual{
  position: relative;
  left: 50%;
  width: 2240px;
  aspect-ratio: 2050 / 800;
  background: url(../img/toppage_main_keyvisual.png) no-repeat center center / cover;
  transform: translateX(-50%);
  svg{
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
  }
  @media screen and (max-height: 800px){
    top: calc(-1 * (2240px * 610 / 1876 - 91vh));
  }
  @media screen and (max-width: 768px){
    top: 0;
    width: 100%;
    aspect-ratio: 375 /723;
    background: url(../img/toppage_main_keyvisual_sp.png) no-repeat center center / cover;
  }
}

/* トップのキャッチコピー */
.m_topCatchCopy{}
.m_topCatchCopy__body{
  position: relative;
  color: var(--color-reverse);
  font-weight: 700;
}
.m_topCatchCopy__main{
  width: clamp(328px, 32.5vw, 448px);
  line-height: 0;
  img{
    max-width: 100%;
    height: auto;
  }
  & + .m_topCatchCopy__subWrap{
      margin-top: 16px;
  }
}
.m_topCatchCopy__subWrap{}
.m_topCatchCopy__sub{
  line-height: 1.75;
  font-size: 14px;
  @media screen and (max-width: 1080px){
    font-size: 1.29vw;
  }
  @media screen and (max-width: 768px){
    font-size: 14px;
  }
}
.m_topCatchCopy__cta{
  position: absolute;
  top: 0;
  right: 0;
  height: calc(100% - 32px);
  aspect-ratio: 1;
  @media screen and (max-width: 768px){
    height: auto;
    top: auto;
    bottom: 12px;
    right: 16px;
  }
}

/* トップのリード文エリア */
.m_topLeadArea{
  position: relative;
  max-width: 1296px;
  margin: auto;
  padding: clamp(80px, 13.08vw, 180px) clamp(24px, 2.91vw, 40px);
}
.m_topLeadArea__msg{
  color: var(--color-reverse);
  text-align: center;
  font-size: clamp(15px, 1.31vw, 18px);
  & + &{
    margin-top: 48px;
  }
  @media screen and (max-width: 768px){
    font-weight: 700;
    text-align: left;
    span{
      display: inline-block;
    }
  }
}
.m_topLeadArea__msg--lg{
  font-size: clamp(20px, 2.03vw, 28px);
}
.m_topLeadArea__treatments{
  @media screen and (max-width: 768px){
    display: none;
  }
}

/* 下層ページのヒーローズエリア */
.m_herosArea{
  position: relative;
}
.m_herosArea__inner{
  padding-top: calc(var(--gNavH) + 24px + 40px);
  @media screen and (max-width: 768px){
    padding-top: 32.5vw;
  }
}
.m_herosArea__keyvisual{
  width: 50%;
  margin-left: auto;
  @media screen and (max-width: 768px){
    width: 66.666%;
    height: auto;
    aspect-ratio: 266 / 188;
    margin-left: auto;
    & + .m_herosArea__body{
      margin-top: 32px;
    }
  }
}
.m_herosArea__body{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 1168px;
  margin: 0 auto;
  padding: 0 clamp(10px, 1.74vw, 24px);
  @media screen and (max-width: 768px){
    position: static;
    height: auto;
  }
}
.m_herosArea__heading{
  margin-bottom: clamp(12px, 2.33vw, 32px);
  color: var(--color-btn);
}
.m_herosArea__ttl{
  line-height: 1.75;
  font-weight: 700;
  font-size: 40px;
  @media screen and (max-width: 1080px){
    font-size: 3.7vw;
  }
  @media screen and (max-width: 768px){
    font-size: 8vw;
  }
}
.m_herosArea__subTtl{
  line-height: 1.75;
  font-weight: 700;
  & + .m_herosArea__ttl{
    margin-top: clamp(8px, 1.16vw, 16px);
  }
}
.m_herosArea__breadcrumbs{
  & + .m_herosArea__msg{
    margin-top: 136px;
  }
}
.m_herosArea__treatments{
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 40%;
  background: var(--color-sea);
  &::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    mix-blend-mode: soft-light;
    background: url(../img/toppage_main_bk.jpg) no-repeat center center / cover;
  }
  @media screen and (max-width: 768px){
    height: 50vw;
  }
}
/* 下層ページのキービジュアル */
.m_keyvisual{}
.m_keyvisual__img{
  position: relative;
  z-index: 2;
  width: 100%;
  max-height: 80vh;
  min-height: 50vh;
  aspect-ratio: 680 / 480;
  margin: auto;
  border-radius: 1000px 0 0 1000px;
  overflow: hidden;
  img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  @media screen and (max-width: 768px){
    height: 100%;
    max-height: none;
    min-height: auto;
  }
}
/* 下層ページのヒーローズエリア
.m_herosArea{
  overflow: hidden;
}
.m_herosArea__inner{
  position: relative;
  width: 100vw;
  width: 100svw;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  @media screen and (max-width: 768px){
    width: auto;
    height: auto;
    padding-top: 32.5vw;
  }
}
.m_herosArea__keyvisual{
  position: absolute;
  right: 0;
  width: 50%;
  height: 100%;
  @media screen and (max-width: 768px){
    position: relative;
    width: 66.666%;
    height: auto;
    aspect-ratio: 266 / 188;
    margin-left: auto;
    & + .m_herosArea__body{
      margin-top: 32px;
    }
  }
}
.m_herosArea__body{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 1168px;
  height: 33.333%;
  margin: 0 auto;
  padding: 0 clamp(10px, 1.74vw, 24px);
  @media screen and (max-width: 768px){
    position: static;
    height: auto;
  }
}
.m_herosArea__heading{
  margin-bottom: clamp(12px, 2.33vw, 32px);
}
.m_herosArea__ttl{
  color: var(--color-btn);
  line-height: 1.75;
  font-weight: 700;
  font-size: 40px;
  @media screen and (max-width: 1080px){
    font-size: 3.7vw;
  }
  @media screen and (max-width: 768px){
    font-size: 8vw;
  }
}
.m_herosArea__subTtl{
  line-height: 1.75;
  font-weight: 700;
  & + .m_herosArea__ttl{
    margin-top: clamp(8px, 1.16vw, 16px);
  }
}
.m_herosArea__breadcrumbs{
  & + .m_herosArea__msg{
    margin-top: 136px;
  }
}
.m_herosArea__treatments{
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 40%;
  background: var(--color-sea);
  &::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    mix-blend-mode: soft-light;
    background: url(../img/toppage_main_bk.jpg) no-repeat center center / cover;
  }
  @media screen and (max-width: 768px){
    height: 50vw;
  }
}
*/
/* 下層ページのキービジュアル
.m_keyvisual{}
.m_keyvisual__img{
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 10;
  width: 100%;
  max-height: 80vh;
  min-height: 50vh;
  aspect-ratio: 680 / 480;
  margin: auto;
  border-radius: 1000px 0 0 1000px;
  overflow: hidden;
  img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  @media screen and (max-width: 768px){
    height: 100%;
    max-height: none;
    min-height: auto;
  }
}
 */
/* 下層ページのパンくず */
.m_breadcrumbs{
  display: flex;
  overflow: auto;
}
.m_breadcrumbs__item{
  color: var(--color-btn);
  font-size: 12px;
  word-break: keep-all;
  white-space: nowrap;
  & + &{
    position: relative;
    margin-left: 9px;
    padding-left: 9px;
    &::before{
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      display: block;
      width: calc(4px / sqrt(2));
      height: calc(4px / sqrt(2));
      margin: auto;
      border-right: 1px solid var(--color-unactive);
      border-bottom: 1px solid var(--color-unactive);
      transform: rotate(-45deg) translateX(-50%);
    }
  }
}
.m_breadcrumbs__link{
  color:  var(--color-unactive);
}

/* ありあけについてのラッパー */
.m_aboutWrap{
  position: relative;
  display: flex;
  gap: clamp(40px, 4.72vw, 65px);
  max-width: 1296px;
  margin: auto;
  padding: clamp(88px, 8.72vw, 120px) clamp(24px, 2.90vw, 40px) clamp(64px, 6.83vw, 94px);
  @media screen and (max-width: 768px){
    display: block;
  }
}
.m_aboutWrap__heading{
  @media screen and (max-width: 768px){
    margin-bottom: 40px;
  }
}
.m_aboutWrap__body{
  margin-top: calc(-1 * (1lh - 1em) / 2);
}
.m_aboutWrap__lead{
  & + .m_aboutWrap__list{
    margin-top: clamp(56px, 4.65vw, 64px);
  }
}
.m_aboutWrap__list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.91vw, 40px);
  padding-bottom: 64px;
  @media screen and (max-width: 768px){
    display: block;
    padding-bottom: 0;
  }
}
.m_aboutWrap__listItem{
  @media screen and (max-width: 768px){
    .m_aboutCard{
      margin-left: auto;
    }
    & + &{
      margin-top: 36px;
    }
  }
  &:nth-of-type(even){
    position: relative;
    top: 64px;
    @media screen and (max-width: 768px){
      top: 0;
      .m_aboutCard{
        margin-left: 0;
        margin-right: auto;
      }
    }
  }
}
/* ありあけについてのカード */
.m_aboutCard{
  position: relative;
  display: block;
  color: inherit;
  aspect-ratio: 1;
  border-radius: 30px 0 30px 30px;
  overflow: hidden;
  @media (any-hover: hover){
    .m_aboutCard__img{
      img{
        transition: transform var(--transition);
      }
    }
    &:hover{
      .m_aboutCard__img{
        img{
          transform: scale(1.2);
        }
      }
    }
  }
  @media screen and (max-width: 976px){
    aspect-ratio: 1 / 1.2;
  }
  @media screen and (max-width: 768px){
    width: 80%;
    aspect-ratio: 233 / 180;
    border-radius: 0 30px 30px;
  }
}
.m_aboutCard__heading{
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 25%;
  padding-bottom: 20px;
  border-radius: 0 0 0 30px;
  background: var(--color-reverse);
  @media screen and (max-width: 768px){
    right: auto;
    left: 0;
    width: auto;
    height: auto;
    padding: 16px 24px 16px 44px;
    border-radius: 0 0 30px 0;
  }
}
.m_aboutCard__ico{
  width: fit-content;
  margin: auto;
  & + .m_aboutCard__ttl{
    margin-top: 12px;
  }
  @media screen and (max-width: 768px){
    position: absolute;
    width: 40px;
    height: fit-content;
    top: 0;
    bottom: 0;
    left: 0;
    right: auto;
    & + .m_aboutCard__ttl{
      margin-top: 0;
    }
  }
}
.m_aboutCard__ttl{
  width: fit-content;
  margin: auto;
  font-weight: bold;
  letter-spacing: .1em;
  line-height: 1.2;
  font-size: 24px;
  writing-mode: vertical-rl;
  @media screen and (max-width: 1375px){
    font-size: 20px;
  }
  @media screen and (max-width: 976px){
    font-size: 16px;
  }
  @media screen and (max-width: 768px){
    position: static;
    writing-mode: initial;
    letter-spacing: 0;
  }
}
.m_aboutCard__curcle{
  position: absolute;
  z-index: 1;
  width: 24px;
  height: 24px;
  line-height: 0;
}
.m_aboutCard__curcle svg{
  width: 100%;
  height: 100%;
}
.m_aboutCard__curcle--1{
  top: 0;
  left: 0;
  transform: translateX(-100%) rotate(90deg);
  @media screen and (max-width: 768px){
    left: auto;
    right: 0;
    transform: translateX(100%) rotate(0deg);
  }
}
.m_aboutCard__curcle--2{
  bottom: 0;
  right: 0;
  transform: translateY(100%) rotate(90deg);
  @media screen and (max-width: 768px){
    left: 0;
    right: auto;
    transform: translateY(100%) rotate(0deg);
  }
}
.m_aboutCard__body{
  height: 100%;
}
.m_aboutCard__img{
  height: 100%;
  line-height: 0;
  text-align: center;
  overflow: hidden;
}
.m_aboutCard__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;  
}

/* トップページの帯スライダー */
.m_band{
  position: relative;
  padding: clamp(44px, 6.39vw, 88px) 0;
}
.m_band__msg{
  color: #EDF0F0;
  line-height: 1;
  font-weight: bold;
  font-size: clamp(54px, 8.57vw, 118px);
  font-family: var(--font-en);
}
.m_band__treatments{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 帯スライダーのあしらい */
.m_bandTreatments{
  position: relative;
  height: 100%;
}
.m_bandTreatments__item{
  display: inline-flex;
  height: 100%;
  padding: 0 30px;
  line-height: 0;
  vertical-align: top;
  &:nth-last-of-type(odd){
    align-items: flex-end;
  }
  &:nth-last-of-type(even){
    align-items: flex-start;
  }
  @media screen and (max-width: 768px){
    padding: 0 15px;    
  }
}

/* ありあけで働くのラッパー */
.m_workWrap{
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px clamp(40px, 5.81vw, 80px);
  max-width: 1296px;
  margin: auto;
  padding: clamp(64px, 5.81vw, 80px) clamp(24px, 2.91vw, 40px) clamp(88px, 8.36vw, 115px);
  @media screen and (max-width: 768px){
    display: block;
  }
}
.m_workWrap__video{
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  @media screen and (max-width: 768px){
    & + .m_workWrap__list{
      margin-top: 16px;
    }
  }
}
.m_workWrap__cont{
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  @media screen and (max-width: 768px){
    & + .m_workWrap__video{
      margin-top: 48px;
    }
  }
}
.m_workWrap__list{
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}
.m_wordCont__heading{
  margin-bottom: clamp(40px, 4.65vw, 64px);
}

/* ありあけで働くのビデオ */
.m_workVideo{
  display: flex;
  align-items: center;
  justify-content: center;
}
.m_workVideo__video{
  position: relative;
  width: 100%;
  max-width: 524px;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  overflow: hidden;
  iframe{
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
.m_workVideo__thumbnail{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/video_thumbnail.png) no-repeat center center / contain;
}
.m_workVideo--lg{
  .m_workVideo__video{
    max-width: 800px;
    border-radius: clamp(16px, 3.48vw, 32px);
  }
}
/* ありあけで働くのリンクリスト */
.m_workList{}
.m_workList__list{}
.m_workList__item{
  border-bottom: 1px solid var(--color-border);
}

/* ありあけで働くのリンク */
.m_workLink{
  position: relative;
  display: block;
  padding: clamp(24px, 2.91vw, 40px) clamp(56px, 4.65vw, 64px);
  color: inherit;
  &::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    display: block;
    width: 38px;
    height: 38px;
    margin: auto;
    border: 2px solid var(--color-btn);
    border-radius: 50%;
    background: var(--color-btn);
    @media screen and (max-width: 768px){
      width: 28px;
      height: 28px;
    }
  }
  &::after{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 18px;
    display: block;
    width: calc(8px / sqrt(2));
    height: calc(8px / sqrt(2));
    margin: auto;
    border-right: 2px solid var(--color-reverse);
    border-bottom: 2px solid var(--color-reverse);
    transform: rotate(-45deg);
    @media screen and (max-width: 768px){
      right: 13px;
    }
  }
  @media (any-hover: hover){
    &::before{
      transition: background var(--transition), color var(--transition);
    }
    &::after{
      transition: border-color var(--transition);
    }
    &:hover{
      &::before{
        background: var(--color-reverse);
        color: var(--color-btn);
      }
      &::after{
        border-color: var(--color-btn);
      }
    }
  }
}
.m_workLink__ico{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: fit-content;
  height: fit-content;
  margin: auto;
  @media screen and (max-width: 768px){
    width: 40px;
    height: 40px;  
  }
}
.m_workLink__ttl{
  font-weight: 500;
  line-height: 1.75;
  font-size: clamp(16px, 1.74vw, 24px);
}

/* ありあけの人の大外 */
.m_employGroup{
  max-width: 1296px;
  margin: auto;
  padding: clamp(88px, 11.6vw, 160px) clamp(24px, 2.91vw, 40px) clamp(80px, 8.72vw, 120px);
}
.m_employGroup__inner{
  width: calc(100% + (100vw - 100%) / 2);
  @media screen and (max-width: 768px){
    width: auto;
  }
}
.m_employGroup__heading{
  margin-bottom: 34px;
}
.m_employGroup__body{}
.m_employGroup__item{
  & + &{
    margin-top: clamp(51px, 7.27vw, 100px);
  }
}

/* ありあけの人のラッパー */
.m_employWrap{
  position: relative;
  display: flex;
  align-items: flex-start;
  @media screen and (max-width: 768px){
    display: block;
  }
}
.m_employWrap__cont{
  position: relative;
  top: calc(320px * 450 / 320 / 2 + 64px);
  flex: 0 0 390px;
  transform: translateY(-50%);
  & + .m_employWrap__body{
    margin-left: 60px;
    @media screen and (max-width: 1375px){
      margin-left: 40px;     
    }
    @media screen and (max-width: 768px){
      margin: 40px 0 0;     
    }
  }
  @media screen and (max-width: 976px){
    flex: 0 0 320px;   
    position: static;
    transform: none;
  }
}
.m_employWrap__body{
  position: relative;
  /* dotsを丸くカスタマイズするCSS */
  .slick-dots {
    display: flex;
    justify-content: center;
    li {
      width: 10px;
      height: 10px;
      margin: 0 8px;
      background: var(--color-unactive);
      border-radius: 50%;
      &.slick-active {
        background: var(--color-btn);
      }
      button {
        display: none;
      }
    }
  }
}
.m_employWrap__list{
  .slick-list{
    padding-top: 100px !important;
    margin: -20px -24px 0;
    @media screen and (max-width: 768px){
      padding-top: 52px !important;
      margin: -20px -16px 0; 
    }
    & + .slick-dots {
      margin-top: 24px;
    }
  }
}
.m_employWrap__listItem{
  position: relative;
  transition: .75s top;
  top: 0;
  width: fit-content;
  height: fit-content;
  padding: 0 24px;
  &.is_top{
    top: -80px;
    @media screen and (max-width: 768px){
      top: -32px;
    }
  }
  @media screen and (max-width: 768px){
    padding: 0 16px;     
  }
}
.m_employWrap__treatments{}
.m_employWrap__footer{
  width: fit-content;
  margin: 32px auto 0;
}
.m_employWrap--bottom{
  display: block;
  .m_employWrap__body{
    width: calc(1120px + (100% - 1120px) / 2);
    margin-left: auto;
    padding-inline: 20px;
  }
  .m_employWrap__list{
    .slick-list{
      padding-top: 48px !important;
      margin: 0 -24px;
    }
    .slick-arrow{
      position: absolute;
      top: calc(-1 * clamp(32px, 4.75vw, 56px) - clamp(22px, 2.71vw, 32px) * 1.75);
      right: calc((100vw - 1120px) / 2 - 20px);
      z-index: 1;
      display: block;
      width: 48px;
      height: 48px;
      color: inherit;
      border: none;
      background: none;
      text-indent: -9999px;
      &::before{
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        display: block;
        width: 100%;
        height: 100%;
        margin: auto;
        border: 2px solid var(--color-btn);
        border-radius: 50%;
        background: var(--color-btn);
      }
      &::after{
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 22px;
        display: block;
        width: calc(8px / sqrt(2));
        height: calc(8px / sqrt(2));
        margin: auto;
        border-right: 2px solid var(--color-reverse);
        border-bottom: 2px solid var(--color-reverse);
        transform: rotate(-45deg);
        @media screen and (max-width: 768px){
          right: 20px;
        }
      }
      &.slick-prev{
        right: calc((100vw - 1120px) / 2 - 20px + 72px);
        &::after{
          transform: rotate(135deg);
        }
      }
      @media screen and (max-width: 1160px){
        right: auto;
        left: calc(100vw - 60px);
        transform: translateX(-100%);
        &.slick-prev{
          right: auto;
          left: calc(100vw - 60px - 72px);
          transform: translateX(-100%);
        }     
      }
      @media screen and (max-width: 768px){
        display: none !important;
      }
    }
  }
  .m_employWrap__listItem{
    &.is_top{
      top: -48px;
      @media screen and (max-width: 768px){
        top: -32px;
      }
    }
  }
  @media screen and (max-width: 768px){
    .m_employWrap__body{
      width: 100%;
    }
  }
}
/* ありあけの人のカード */
.m_employCard{
  width: 320px;
  max-width: 100%;
  margin-inline: auto;
  color: inherit;
  display: block;
  @media (any-hover: hover){
    .m_employCard__img{
      img{
        transition: transform var(--transition);
      }
    }
    .m_employCard__btn{
      &::before{
        transition: background var(--transition);
      }
      &::after{
        transition: border-color var(--transition);
      }
    }
    &:hover{
      .m_employCard__img{
        img{
          transform: scale(1.1);
        }
      }
      .m_employCard__btn{
        &::before{
          background: var(--color-reverse);
        }
        &::after{
          border-color: var(--color-btn);
        }
      }
    }
  }
}
.m_employCard__imgWrap{
  position: relative;
  & + .m_employCard__body{
    margin-top: 16px;
  }
}
.m_employCard__img{
  border-radius: 30px;
  overflow: hidden;
  aspect-ratio: 320 / 450;
}
.m_employCard__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m_employCard__imgFooter{
  position: absolute;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  right: -2px;
  bottom: -2px;
  width: 64px;
  aspect-ratio: 1;
  border-radius: 30px 0 0 0;
  background: var(--color-bk);
  @media screen and (max-width: 768px){
    width: 56px;
  }
}
.m_employCard__btn{
  position: relative;
  display: block;
  width: 48px;
  height: 48px;
  color: inherit;
  &::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 2px;
    right: 2px;
    display: block;
    width: 100%;
    height: 100%;
    margin: auto;
    border: 2px solid var(--color-btn);
    border-radius: 50%;
    background: var(--color-btn);
  }
  &::after{
    content: "";
    position: absolute;
    top: 0;
    bottom: 2px;
    right: 24px;
    display: block;
    width: calc(8px / sqrt(2));
    height: calc(8px / sqrt(2));
    margin: auto;
    border-right: 2px solid var(--color-reverse);
    border-bottom: 2px solid var(--color-reverse);
    transform: rotate(-45deg);
    @media screen and (max-width: 768px){
      right: 20px;
    }
  }
  @media screen and (max-width: 768px){
    width: 40px;
    height: 40px;  
  }
}
.m_employCard__curcle{
  position: absolute;
  z-index: 1;
  width: 30px;
  height: 30px;
  line-height: 0;
}
.m_employCard__curcle svg{
  width: 100%;
  height: 100%;
}
.m_employCard__curcle--1{
  top: 1px;
  right: -1px;
  transform: translateY(-100%) rotate(180deg);
}
.m_employCard__curcle--2{
  bottom: -1px;
  left: 1px;
  transform: translateX(-100%) rotate(180deg);
}
.m_employCard__msg{
  line-height: 1.75;
  font-size: 18px;
  & + .m_employCard__profile{
    margin-top: 16px;
  }
  @media screen and (max-width: 768px){
    br{
      display: none;
    }    
  }
}
.m_employCard__division{
  line-height: 1.75;
  font-size: 12px;
}
.m_employCard__name{
  line-height: 1.75;
  font-size: 18px;
}

.m_employCard--small{
  width: 300px;
  .m_employCard__img{
    aspect-ratio: 1 / 1;
  }
  .m_employCard__imgFooter{
    background: var(--color-reverse);
  }
  @media screen and (max-width: 768px){
    .m_employCard__img{
      aspect-ratio: 320 / 450;
    }
  }
}
.m_employCard--lineup{
  width: 100%;
  .m_employCard__imgWrap{
    & + .m_employCard__body{
      margin-top: clamp(12px, 1.74vw, 24px);
    }
  }
  .m_employCard__img{
    border-radius: clamp(20px, 2.18vw, 30px);
    aspect-ratio: 1 / 1;
  }

  .m_employCard__imgFooter{
    width: clamp(44px, 4.65vw ,64px);
    border-radius: clamp(20px, 2.18vw, 30px) 0 0 0;
    background: var(--color-reverse);
  }
  .m_employCard__msg{
    font-size: clamp(15px, 1.45vw, 20px);
    & + .m_employCard__profile{
      margin-top: clamp(8px, 1.16vw, 16px);
    }
  }
  .m_employCard__division{
    font-size: clamp(12px, 1.02vw, 14px);
    & + .m_employCard__name{
      margin-top: 4px;
    }
  }
  .m_employCard__name{
    font-size: clamp(15px, 1.31vw, 18px);
  }
  .m_employCard__btn{
    width: clamp(32px, 3.63vw, 50px);
    height: clamp(32px, 3.63vw, 50px);
    &::after{
      right: clamp(15px, 1.81vw, 25px);
    }
  }
  .m_employCard__curcle{
    width: clamp(20px, 2.18vw, 30px);
    height: clamp(20px, 2.18vw, 30px);
  }
  @media screen and (max-width: 976px){
    .m_employCard__msg{
      line-height: 1.5;
      br{
        display: none;
      }
    }
  }
  @media screen and (max-width: 768px){
    .m_employCard__img{
      aspect-ratio: 320 / 450;
    }
    .m_employCard__division{
      & + .m_employCard__name{
        margin-top: 0;
      }
    }
  }
}


/* ありあけの人のコンテンツ */
.m_employCont{}
.m_employCont__heading{
  margin-bottom: clamp(16px, 2.61vw, 36px);
}
.m_employCont__body{}
.m_employCont__msg{}
.m_employCont__footer{
  margin-top: 32px;
  @media screen and (max-width: 768px){
    width: fit-content;
    margin-inline: auto;    
  }
}

/* ありあけ座談会 */
.m_teamsWrap{
  position: relative;
  display: flex;
  align-items: center;
  margin-inline: -30px;
  max-width: 1216px;
  @media screen and (max-width: 768px){
    display: block; 
    margin-inline: 0;  
    padding-top: min(calc(50% * 144 / 226 - 16px), 128px);
  }
}
.m_teamsWrap__imgWrap{
  position: relative;
  max-width: 730px;
  width: 60%;
  padding: 0 30px;
  @media screen and (max-width: 768px){
    width: 100%;
    padding: 0; 
    & + .m_teamsWrap__cont{
      margin-top: 24px;
    }
  }
}
.m_teamsWrap__img{
  line-height: 0;
  width: 100%;
  aspect-ratio: 730 / 276;
  border-radius: clamp(20px, 2.18vw, 30px);
  overflow: hidden;
  @media screen and (max-width: 768px){
    aspect-ratio: 325 / 200;
  }
}
.m_teamsWrap__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m_teamsWrap__cont{
  width: 40%;
  padding: 0 clamp(20px, 2.18vw, 30px);
  @media screen and (max-width: 768px){
    width: 100%;
    padding: 0; 
  }
}

/* ------
ありあけの想い
------ */
.m_beloved{
  position: relative;
  padding: 202px 0 236px;
  @media screen and (max-width: 768px){
    padding: 292px 0 284px;
  }
}
.m_beloved__heading{
  margin: 0 auto clamp(40px, 4.07vw , 56px);
  text-align: center;
}
.m_beloved__heading .m_heading__sub{ /* オーバーライド */
  width: fit-content;
  margin-inline: auto;
}
.m_beloved__body{
  text-align: center;
} 
.m_beloved__footer{
  width: fit-content;
  margin: 32px auto 0;
}

/* 数字で見るありあけのグリッド */
.m_numberGrid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(24px, 2.33vw, 32px) clamp(16px, 2.33vw, 32px);
  @media screen and (max-width: 1180px){
    grid-template-columns: repeat(3, 1fr); 
  }
  @media screen and (max-width: 768px){
    grid-template-columns: repeat(2, 1fr); 
  }
}
.m_numberGrid__item{
  &:nth-of-type(1){
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }
  &:nth-of-type(2){
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }
  &:nth-of-type(3){
    grid-column: 3 / 5;
    grid-row: 1 / 3;
    @media screen and (max-width: 1180px){
      grid-column: 1 / 3;
      grid-row: 2 / 4; 
    }
  }
  &:nth-of-type(4){
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    @media screen and (max-width: 1180px){
      grid-column: 3 / 4;
      grid-row: 1 / 2; 
    }
    @media screen and (max-width: 768px){
      grid-column: 1 / 2;
      grid-row: 4 / 5; 
    }
  }
  &:nth-of-type(5){
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    @media screen and (max-width: 1180px){
      grid-column: 3 / 4;
      grid-row: 2 / 3; 
    }
    @media screen and (max-width: 768px){
      grid-column: 2 / 3;
      grid-row: 4 / 5; 
    }
  }
  &:nth-of-type(6){
    grid-column: 1 / 3;
    grid-row: 3 / 5; 
    @media screen and (max-width: 1180px){
      grid-column: 1 / 3;
      grid-row: 4 / 6; 
    }
    @media screen and (max-width: 768px){
      grid-column: 1 / 3;
      grid-row: 5 / 7; 
    }
  }
  &:nth-of-type(7){
    grid-column: 3 / 4;
    grid-row: 3 / 4;
    @media screen and (max-width: 1180px){
      grid-column: 3 / 4;
      grid-row: 3 / 4; 
    }
    @media screen and (max-width: 768px){
      grid-column: 1 / 2;
      grid-row: 7 / 8; 
    }
  }
  &:nth-of-type(8){
    grid-column: 4 / 5;
    grid-row: 3 / 4;
    @media screen and (max-width: 1180px){
      display: none;
    }
    @media screen and (max-width: 768px){
      display: block;
      grid-column: 2 / 3;
      grid-row: 7 / 8; 
    }
  }
  &:nth-of-type(9){
    grid-column: 3 / 4;
    grid-row: 4 / 5;
    @media screen and (max-width: 1180px){
      grid-column: 3 / 4;
      grid-row: 4 / 5; 
    }
    @media screen and (max-width: 768px){
      grid-column: 1 / 2;
      grid-row: 8 / 9; 
    }
  }
  &:nth-of-type(10){
    grid-column: 4 / 5;
    grid-row: 4 / 5;
    @media screen and (max-width: 1180px){
      grid-column: 3 / 4;
      grid-row: 5 / 6; 
    } 
    @media screen and (max-width: 768px){
      grid-column: 2 / 3;
      grid-row: 8 / 9; 
    }
  }
}
.m_numberGrid__imgWrap{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1;
}
.m_numberGrid__img{
  width: fit-content;
  line-height: 0;
  text-align: center;
}
.m_numberGrid--questionnaire{
  grid-template-columns: repeat(2, 1fr);
  .m_numberGrid__item{
    grid-column: auto;
    grid-row: auto;
    &:nth-of-type(7){
      grid-column: 1 / 3;
    }
    &:nth-of-type(8){
      display: block;
    }
    &:nth-of-type(10){
      grid-column: 1 / 3;
    }
    &:nth-of-type(11){
      grid-column: 1 / 3;
    }
  }
  @media screen and (max-width: 768px){
    grid-template-columns: repeat(1, 1fr);
    .m_numberGrid__item{
      &:nth-of-type(7){
        grid-column: auto;
      }
      &:nth-of-type(10){
        grid-column: auto;
      }
      &:nth-of-type(11){
        grid-column: auto;
      }
    }
  }
}

/* 数字で見るありあけのカード */
.m_numberCard{
  position: relative;
  aspect-ratio: 1;
  padding: calc(20px * 1.75 + 8px + 24px) clamp(16px, 1.74vw, 24px) clamp(16px, 1.74vw, 24px);
  border-radius: 0 clamp(20px, 2.18vw, 30px) clamp(20px, 2.18vw, 30px);
  background: var(--color-bk);
  overflow: hidden;
  &::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0 clamp(21px, 2.25vw, 31px) clamp(21px, 2.25vw, 31px);
    overflow: hidden;
    mix-blend-mode: soft-light;
    background: url(../img/number_bk.jpg) no-repeat center center / cover;
  }
  @media screen and (max-width: 768px){
    height: 100%;
    aspect-ratio: auto;
    padding: calc(14px * 1.75 + 8px + 16px) clamp(16px, 1.74vw, 24px) clamp(16px, 1.74vw, 24px);
  }
}
.m_numberCard__header{
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 8px 8px 0;
  border-radius: 0 0 16px 0;
  background: var(--color-reverse);
}
.m_numberCard__ttl{
  font-weight: 700;
  line-height: 1.75;
  font-size: clamp(14px, 1.45vw, 20px);
  color: var(--color-text);
}
.m_numberCard__img{
  width: 100%;
  max-width: 210px;
  margin-inline: auto;
  svg{
    object-fit: contain;
    max-width: none;
  }
  & + .m_numberCard__num{
    padding-top: clamp(16px, 1.74vw, 24px);
  }
  & + .m_numberCard__msg{
    padding-top: clamp(16px, 1.74vw, 24px);
  }
  @media screen and (max-width: 768px){
    min-height: 90px;
  }
}
.m_numberCard__num{
  display: flex;
  justify-content: center;
}
.m_numberCard__body{
  height: 100%;
}
.m_numberCard__curcle{
  position: absolute;
  z-index: 1;
  width: 16px;
  height: 16px;
  line-height: 0;
}
.m_numberCard__curcle svg{
  width: 100%;
  height: 100%;
}
.m_numberCard__curcle--1{
  top: 0;
  right: 0;
  transform: translateX(100%);
}
.m_numberCard__curcle--2{
  bottom: 0;
  left: 0;
  transform: translateY(100%);
}
.m_numberCard__cont{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  & + .m_numberCard__msg{
    padding-top: clamp(24px, 2.91vw, 40px);
  }
}
.m_numberCard__numBox{}
.m_numberCard__msg{
  line-height: 2;
  font-size: clamp(13px, 1.09vw, 15px);
  @media screen and (max-width: 768px){
    line-height: 1.75;
  }
}
.m_numberCard__note{
  display: flex;
  justify-content: center;
  line-height: 1.5;
  font-size: 12px;
}
.m_numberCard--lg{
  padding: calc(24px * 1.75 + 16px + 48px) clamp(24px, 2.91vw, 40px) clamp(32px, 3.49vw, 48px);
  .m_numberCard__ttl{
    font-size: clamp(16px, 1.74vw, 24px);
  }
  @media screen and (max-width: 768px){
    padding-top: calc(16px * 1.75 + 8px + 32px);
    .m_numberCard__cont{
      height: auto !important;
    }
  }
}


/* 数字で見るありあけ～個数周りのラッパー */
.m_numbers{
  display: flex;
  justify-content: center;
  gap: clamp(8px, 1.16vw, 16px);
}

/* 数字で見るありあけ～個数周り */
.m_number{
  line-height: 1;
  font-weight: 700;
  font-size: 38px;
  font-family: var(--font-en);
  @media screen and (max-width: 1180px){
    font-size: 32px;
  }
  @media screen and (max-width: 768px){
    font-size: 5.86vw;
  } 
}
.m_number__unit{
  line-height: 1.5;
  font-size: calc(1em * 18 / 38);
}
.m_number--lg{
  font-size: 68px;
  .m_number__unit{
    line-height: 1.3;
    font-size: calc(1em * 28 / 68);
  }
  @media screen and (max-width: 1180px){
    font-size: 52px;
  }
  @media screen and (max-width: 768px){
    font-size: 9.06vw;
  } 
}
.m_number--sm{
  font-size: 28px;
  .m_number__unit{
    line-height: 2;
    font-size: calc(1em * 18 / 28);
  }
}


/* 数字で見るありあけ～店舗リスト */
.m_shops{}
.m_shops__item{
  display: flex;
  justify-content: space-between;
  font-weight: 700;
  line-height: 1.5;
  font-size: 13px;
}


/* アンケートカード～数字で見るありあけ */
.m_surveyCard{
  position: relative;
  height: 100%;
  padding: calc(20px * 1.75 + clamp(32px, 2.9vw, 40px) + 24px) clamp(32px, 2.9vw, 40px) clamp(24px, 2.9vw, 40px);
  border-radius: 0 clamp(20px, 2.18vw, 30px) clamp(20px, 2.18vw, 30px);
  background: var(--color-bk);
  overflow: hidden;
    &::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0 clamp(21px, 2.25vw, 31px) clamp(21px, 2.25vw, 31px);
    overflow: hidden;
    mix-blend-mode: soft-light;
    background: url(../img/number_bk.jpg) no-repeat center center / cover;
  }
  @media screen and (max-width: 768px){
    padding: calc(14px * 1.75 + 8px + 16px) clamp(16px, 1.74vw, 24px) clamp(16px, 1.74vw, 24px);
  }
}
.m_surveyCard__header{
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 8px 8px 0;
  border-radius: 0 0 16px 0;
  background: var(--color-reverse);
}
.m_surveyCard__ttl{
  font-weight: 700;
  line-height: 1.75;
  font-size: clamp(14px, 1.45vw, 20px);
  color: var(--color-text);
}
.m_surveyCard__curcle{
  position: absolute;
  z-index: 1;
  width: 16px;
  height: 16px;
  line-height: 0;
}
.m_surveyCard__curcle svg{
  width: 100%;
  height: 100%;
}
.m_surveyCard__curcle--1{
  top: 0;
  right: 0;
  transform: translateX(100%);
}
.m_surveyCard__curcle--2{
  bottom: 0;
  left: 0;
  transform: translateY(100%);
}
.m_surveyCard__body{
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  @media screen and (max-width: 1180px){
    align-items: center;
  }
}
.m_surveyCard__cont{
  display: flex;
  gap: clamp(24px, 2.32vw, 32px);
  & + .m_surveyCard__msg{
    margin-top: 16px;
  }
  @media screen and (max-width: 1180px){
    flex-direction: column;
    align-items: center;
  }
}
.m_surveyCard__cont--col{
  flex-direction: column;
  .m_surveyCard__img + .m_surveyCard__list{
    margin-top: 24px;
  }
}
.m_surveyCard__cont--resMdRow{
  @media screen and (max-width: 768px){
    flex-direction: row;
    .m_surveyCard__img{
      width: calc(40% - clamp(24px, 2.32vw, 32px));
    }
  }
}
.m_surveyCard__list{
  flex: 1 1 auto;
}
.m_surveyCard__img{
  flex: 0 0 178px;
  svg, img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    max-width: none;
  }
  & + .m_surveyCard__msg{
    margin-top: 24px;
  }
  @media screen and (max-width: 1180px){
    flex: 1 1 auto;
    align-self: stretch;
  }
}
.m_surveyCard__msg{
  line-height: 2;
  font-size: clamp(13px, 1.09vw, 15px);
  @media screen and (max-width: 768px){
    line-height: 1.75;
  }
}
.m_surveyCard__qualitative{}
.m_surveyCard__qualitativeItem{
  text-align: center;
  line-height: 1.5;
  font-weight: 700;
  font-size: 32px;
  @media screen and (max-width: 768px){
    font-size: 5.86vw;
  }
}
.m_surveyCard__qualitativeItem--em{
  line-height: 1;
  font-size: 82px;
  word-break: keep-all;
  @media screen and (max-width: 1180px){
    font-size: 56px;
  }
  @media screen and (max-width: 768px){
    font-size: 10vw;
  }
}
.m_surveyCard__note{
  display: flex;
  justify-content: center;
  line-height: 1.5;
  font-size: 12px;
}

/* アンケート結果順位リスト～数字で見るありあけ */
.m_rankList{}
.m_rankList__item{
  display: flex;
  align-items: center;
  gap: 18px;
  justify-content: space-between;
  & + &{
    margin-top: 12px;
  }
}
.m_rankList__inner{
  display: flex;
  align-items: center;
  gap: 18px;
}
.m_rankList__rank{}
.m_rankList__msg{
  line-height: 1.5;
  font-weight: 700;
  font-size: 22px;
  word-break: keep-all;
  @media screen and (max-width: 768px) {
    font-size: 4vw;
  }         
}
.m_rankList__num{}

/* アンケート結果調査リスト～数字で見るありあけ */
.m_surveyList{}
.m_surveyList__item{
  display: flex;
  gap: 18px;
  & + &{
    margin-top: 12px;
  }
}
.m_surveyList__msg{
  line-height: 1.5;
  font-weight: 700;
  font-size: 22px;
  word-break: keep-all;
  @media screen and (max-width: 768px) {
    font-size: 4vw;
  }
}
/* アンケート結果順位～数字で見るありあけ */
.m_rankNum{
  line-height: 0.75;
  font-weight: 700;
  font-size: 32px;
  white-space: nowrap;
  @media screen and (max-width: 768px){
    font-size: 5.86vw;   
  }
}
.m_rankNum__unit{
  line-height: 1.7;
  font-weight: 700;
  font-size: calc(1em * 21 / 32);
}

/* 座談会～参加者リスト */
.m_crosstalkMembers{
  padding-block: clamp(40px, 5.81vw, 80px);
}
.m_crosstalkMembers__list{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 40px;
  @media screen and (max-width: 1080px){
    grid-template-columns: repeat(3, 1fr);
  }
  @media screen and (max-width: 768px){
    grid-template-columns: repeat(1, 1fr);
  }
}
.m_crosstalkMembers__member{}

/* 座談会～参加者カード */
.m_crosstalkMemberCard{
  @media screen and (max-width: 768px){
    display: flex;
    align-items: flex-start;
    gap: 16px;
  }
}
.m_crosstalkMemberCard__img{
  border-radius: 50%;
  line-height: 0;
  overflow: hidden;
  img{
    width: 100%;
    height: auto;
  }
  & + .m_crosstalkMemberCard__cont{
    margin-top: 16px;
  }
  @media screen and (max-width: 768px){
    flex: 0 0 88px;
    & + .m_crosstalkMemberCard__cont{
      margin-top: 0;
    }
  }
}
.m_crosstalkMemberCard__nameBox{
  & + .m_crosstalkMemberCard__body{
    margin-top: 8px;
  }
}
.m_crosstalkMemberCard__div{
  line-height: 1.5;
  text-align: center;
  font-size: clamp(13px, 1.01vw, 14px);
  @media screen and (max-width: 768px){
    text-align: left;
  }
}
.m_crosstalkMemberCard__name{
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
  font-size: clamp(16px, 1.31vw, 18px);
  @media screen and (max-width: 768px){
    text-align: left;
  }
}
.m_crosstalkMemberCard__year{
  line-height: 1.75;
  text-align: center;
  font-size: 12px;
  @media screen and (max-width: 768px){
    display: none;
  }
}
.m_crosstalkMemberCard__msg{
  line-height: 1.75;
  font-size: clamp(13px, 1.01vw, 14px);
  @media screen and (max-width: 768px){
    br{
      display: none;
    }
  }
}

/* 座談会～コンテンツ */
.m_crosstalkCont{
  padding-top: clamp(64px, 5.81vw, 80px);
}

/* 座談会部分のラッパー */
.m_crosstalkWrap{}
.m_crosstalkWrap__item{
  & + &{
    margin-top: 48px;
  }
}
.m_crosstalkWrap__talk{
  & + &{
    margin-top: 16px;
  }
}

/* 座談会部分 */
.m_crosstalk{
  display: flex;
  align-items: stretch;
  gap: clamp(1px, 1.74vw, 24px);
}
.m_crosstalk__imgWrap{
  flex: 0 0 clamp(52px, 5.81vw, 80px);
  padding: clamp(1px, 1.16vw, 16px) 0;
}
.m_crosstalk__img{
  border-radius: 50%;
  line-height: 0;
  overflow: hidden;
  img{
    width: 100%;
    height: auto;
  }
  & + .m_crosstalk__name{
    margin-top: 8px;
  }
}
.m_crosstalk__name{
  text-align: center;
  line-height: 1.75;
  font-weight: 700;
  font-size: 14px;
} 
.m_crosstalk__cont{
  flex: 1 1 auto;
}
.m_crosstalk__cont--hasGutter{
  padding: clamp(12px, 1.74vw, 24px);
  border-radius: clamp(8px, 2.18vw, 30px);
  background: var(--color-land);
}
.m_crosstalk__msg{}

/* 座談会の写真リスト */ 
.m_crosstalkPhotos{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  @media screen and (max-width: 768px){
    display: block;
  }
}
.m_crosstalkPhotos__item{
  line-height: 0;
  border-radius: clamp(20px, 2.18vw, 30px);
  overflow: hidden;
  img{
    width: 100%;
    height: auto;
  }
  @media screen and (max-width: 768px){
    width: 66.666%;
    min-width: 210px;
    &:nth-of-type(even){
      margin-left: auto;
    }
    & + &{
      margin-top: 16px;
    }
  }
}

/* 座談会～帯スライダー全体 */
.m_crosstalkBand{
  position: relative;
  z-index: 1;
  margin: 0 calc(50% - 50vw - (1120px - 100%) / 2);
  padding: clamp(40px, 4.65vw, 64px) 0;
  width: 100vw;
  overflow: hidden;
  background: var(--color-reverse);
  @media screen and (max-width: 1180px){
    margin: 0 calc(50% - 50vw - (100vw - 100% - 48px) / 2);
  }
}

/* 座談会～帯スライダー */
.m_crosstalkBandTreatments{
  position: relative;
  height: 100%;
}
.m_crosstalkBandTreatments__item{
  display: inline-block;
  padding: 0 8px;
  line-height: 0;
  img{
    max-width: 100%;
    height: auto;
  }
  @media screen and (max-width: 768px){
    width: 50vw;
  }
}

/* 座談会～一問一答のラッパー */
.m_crossfaqWrap{}
.m_crossfaqWrap__heading{
  margin-bottom: clamp(24px, 4.07vw, 56px);
}
.m_crossfaqWrap__ttl{
  font-weight: 700;
  line-height: 1.75;
  font-size: clamp(24px, 2.33vw, 32px);
}
.m_crossfaqWrap__body{}
.m_crossfaqWrap__item{
  & + &{
    margin-top: clamp(32px, 4.07vw, 56px);
  }
}
/* 座談会～一問一答のインナー */
.m_crossfaqInr{}
.m_crossfaqInr__heading{
  margin-bottom: clamp(20px, 2.33vw, 32px);
}
.m_crossfaqInr__ttl{
  font-weight: 700;
  line-height: 1.75;
  font-size: clamp(20px, 1.74vw, 24px);
}
.m_crossfaqInr__body{}
.m_crossfaqInr__item{
  & + &{
    margin-top: 24px;
  }
}
/* 座談会～一問一答の本体 */
.m_crossfaq{
  padding: clamp(20px, 2.33vw, 32px) clamp(20px, 2.91vw, 40px);
  border-radius: clamp(8px, 2.18vw, 30px);
  background: var(--color-land);
}
.m_crossfaq__heading{
  margin-bottom: 24px;
}
.m_crossfaq__subTtl{
  color: var(--color-unactive);
  line-height: 1.75;
  font-weight: 400;
  font-family: var(--font-en);
  font-size: clamp(14px, 1.09vw, 15px);
}
.m_crossfaq__ttl{
  font-weight: 700;
  font-size: clamp(16px, 1.74vw, 24px);
}
.m_crossfaq__body{}
.m_crossfaq__list{}
.m_crossfaq__talk{
  & + &{
    margin-top: clamp(12px, 1.74vw, 24px);
    padding-top: clamp(12px, 1.74vw, 24px);
    border-top: 1px solid var(--color-border);
  }
}

/* 座談会～サイドナビのラッパー */
.m_crosstalkNavWrap{}
.m_crosstalkNavWrap__inner{}
.m_crosstalkNavWrap__heading{
  margin-bottom: 16px;
}
.m_crosstalkNavWrap__ttl{
  font-weight: 600;
  line-height: 1.5;
  font-family: var(--font-en);
}
.m_crosstalkNavWrap__body{}
.m_crosstalkNavWrap__list{}
.m_crosstalkNavWrap__item{
  & + &{
    margin-top: 16px;
  }
}
/* 座談会～サイドナビのインナー */
.m_crosstalkNavInr{
  &:has(.m_crosstalkNav__link.is_active){
    .m_crosstalkNavInr__link{
      color: var(--color-text);
    }
  }
}
.m_crosstalkNavInr__ttl{
  margin-bottom: 16px;
}
.m_crosstalkNavInr__link{
  color: inherit;
  display: block;
  line-height: 1.5;
  font-size: 14px;
  color: var(--color-unactive);
  &.is_active{
    color: var(--color-text);
  }
}
.m_crosstalkNavInr__body{
  padding-left: 8px;
}
.m_crosstalkNavInr__list{}
.m_crosstalkNavInr__item{
  & + &{
    margin-top: 12px;
  }
}

/* 座談会～サイドナビの本体 */
.m_crosstalkNav{
  &:has(.m_crosstalkNav__link.is_active){
    .m_crosstalkNav__btn{
      color: var(--color-text);
    }
  }
}
.m_crosstalkNav__ttl{}
.m_crosstalkNav__btn{
  position: relative;
  display: block;
  padding-right: 16px;
  color: var(--color-unactive);;
  line-height: 1.5;
  font-size: 14px;
  &::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    display: block;
    width: calc(8px / sqrt(2));
    height: calc(8px / sqrt(2));
    margin: auto;
    border-left: 1px solid var(--color-btn);
    border-bottom: 1px solid var(--color-btn);
    transform: rotate(-45deg);
    transition: transform var(--transition);
  }
}
.m_crosstalkNav__body{}
.m_crosstalkNav__list{
  padding-top: 8px;
}
.m_crosstalkNav__item{
  counter-increment: qNum;
  & + &{
    margin-top: 8px;
  }
}
.m_crosstalkNav__link{
  position: relative;
  display: block;
  padding-left: 26px;
  color: var(--color-unactive);
  line-height: 1.5;
  font-size: 14px;
  &::before{
    content: counter(qNum, decimal-leading-zero);
    position: absolute;
    left: 0;
    display: block;
  }
  &.is_active{
    color: var(--color-text);
  }
}

/* 説明リスト */
.m_descrList{}
.m_descrList__item{
  & + &{
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0);
  }
}

/* 説明 */
.m_descr{
  display: flex;
  align-items: stretch;
  gap: 24px;
}
.m_descr__heading{
  position: relative;
  flex: 0 0 clamp(66px, 16.4vw, 184px);
  display: flex;
  align-items: center;
  .m_descrList__item + .m_descrList__item &::before{
    content: "";
    position: absolute;
    top: -25px;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: var(--color-main);
  }
  @media screen and (max-width: 768px){
    align-items: flex-start;
  }
}
.m_descr__heading--top{
  align-items: flex-start;
}
.m_descr__ttl{
  display: block;
  font-weight: 700;
  font-size: clamp(13px, 1.16vw, 16px);
}
.m_descr__body{
  position: relative;
  flex: 1 1 auto;
  .m_descrList__item + .m_descrList__item &::before{
    content: "";
    position: absolute;
    top: -25px;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: var(--color-border);
  }
}

/* 説明パーツ（子供）リスト */
.m_descrChildList{}
.m_descrChildList__item{
  & + &{
    margin-top: 16px;
  }
}
.m_descrChildList--address{
  .m_descrChildList__item{
    & + &{
      margin-top: 24px;
      padding-top: 24px;
      border-top: 1px solid var(--color-border);
    }
  }
}
/* 説明パーツ（子供）*/
.m_descrChild{}
.m_descrChild__ttl{
  flex: 0 0 clamp(66px, 16.4vw, 184px);
  position: relative;
  padding-left: 14px;
  &::before{
    content: "";
    position: absolute;
    top: calc(1lh / 2);
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-main);
    transform: translateY(-50%);
  }
}
.m_descrChild__body{
  flex: 1 1 auto;
}
.m_descrChild--address{
  display: flex;
  gap: 24px;
  @media screen and (max-width: 768px) {
    display: block;
    .m_descrChild__ttl{
      margin-bottom: 8px;    
    }
  }
}

/* 研修のカード */
.m_hrCard{
  display: block;
}
.m_hrCard__img{
  border-radius: 8px;
  line-height: 0;
  text-align: center;
  overflow: hidden;
  img{
    width: 100%;
    height: auto;
  }
  & + .m_hrCard__body{
    margin-top: clamp(12px, 1.16vw, 16px);
  }
}
.m_hrCard__ttl{
  margin-bottom: 8px;
  font-weight: 700 ;
  font-size: clamp(15px, 1.45vw, 20px);
}
.m_hrCard__msg{
  line-height: 1.75;
}

/* 福利厚生 */
.m_welfareWrap{
  position: relative;
}

/* 住所 */
.m_address{
  display: flex;
  align-items: center;
  gap: 24px;
  @media screen and (max-width: 976px){
    display: block;    
  }
}
.m_address__cont{
  flex: 1 1 auto;
  @media screen and (max-width: 976px){
    & + .m_address__btnWrap{
      margin-top: 16px;
    }
  }
}
.m_address__btnWrap{
  flex: 0 0 clamp(66px, 16.4vw, 184px);
}
.m_address__btn{
  width: fit-content;
  margin-left: auto;
}
.m_address__btnLink{
  position: relative;
  width: fit-content;
  margin-left: auto;
  font-weight: 400;
  padding-right: 34px;
  color: var(--color-btn);
  line-height: 26px;
  &::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    display: block;
    width: 26px;
    height: 26px;
    background: url(../img/about_ico01.png) no-repeat center center / contain;
  }
}
.m_address__body{
  font-weight: 400;
  @media screen and (max-width: 768px){
    line-height: 1.5;
  }
}
.m_address__footer{
  margin-top: 16px;
}
.m_address__map{
  aspect-ratio: 702 / 250;
  border-radius: clamp(10px, 2.18vw, 30px);
  overflow: hidden;
  iframe{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  @media screen and (max-width: 768px){
    aspect-ratio: 238 / 128;
  }
}

/* 役員リスト */
.m_officerList{}
.m_officerList__item{}

/* 役員 */
.m_officer{
  display: flex;
  gap: 1em;
}
.m_officer__position{
  flex: 0 0 7em;
}

/* 会社理念 */
.m_vision{
  position: relative;
  padding-right: calc(16.7vw + 24px);
/*  padding-right: calc(25.7vw + 24px);*/
  @media screen and (max-width: 768px){
    padding-right: 0;
  }
}
.m_vision__body{
  @media screen and (max-width: 768px){
    & + .m_vision__treatments{
      margin-top: 8px;
    }
  }
}
.m_vision__treatments{
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  max-width: 288px;
  width: 25.7vw;
  @media screen and (max-width: 768px){
    display: none;
    position: static;
    width: 148px;
    margin-left: auto;
  }
}
.m_vision__philosophy{
  padding: 30px;
  border: 1px solid;
  margin-right: 24px;
  margin-top: 24px;
}



/* 社長メッセージのラッパー */
.m_messageWrap{
  &::after{
    content: "";
    display: block;
    clear: both;
  }
}
.m_messageWrap__imgWrap{
  float: right;
  margin: 0 0 min(78px, 6.61vw) min(78px, 6.61vw);
  @media screen and (max-width: 768px){
    float: none;
    margin: 0;
    & + .m_messageWrap__cont{
      margin-top: 24px;
    }
  }
}
.m_messageWrap__img{
  max-width: 310px;
  margin: auto;
  border-radius: 24px;
  aspect-ratio: 310 / 434;
  overflow: hidden;
  img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
  }
  @media screen and (max-width: 768px){
    aspect-ratio: 327 / 330;
  }
}
/* 社長メッセージ */
.m_message{}
.m_message__footer{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: clamp(8px, 1.74vw, 24px);
  margin-top: 32px;
  line-height: 1.6;
}
.m_message__sign{
  @media screen and (max-width: 768px){
    width: 120px;
  }
}

/* 部署紹介のカード */
.m_divisionCard{
  display: block;
  color: inherit;
}
.m_divisionCard__imgWrap{
  position: relative;
  aspect-ratio: 1;
  border-radius: 0 clamp(20px, 2.18vw, 30px) clamp(20px, 2.18vw, 30px);
  overflow: hidden;
  & + .m_divisionCard__body{
    margin-top: 24px;
  }
  @media screen and (max-width: 768px){
    aspect-ratio: 156 / 220;
    border-radius: 0 16px 16px;
  }
  & + .m_divisionCard__body{
    margin-top: 16px;
  }
}
.m_divisionCard__heading{
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 12px 12px 0;
  border-radius: 0 0 24px 0;
  background: var(--color-reverse);
  @media screen and (max-width: 768px){
    border-radius: 0 0 16px 0;
  }
}
.m_divisionCard__ttl{
  width: fit-content;
  margin: auto;
  font-weight: 700;
  line-height: 1.75;
  font-size: clamp(16px, 1.45vw, 20px);
}
.m_divisionCard__curcle{
  position: absolute;
  z-index: 1;
  width: 20px;
  height: 20px;
  line-height: 0;
  @media screen and (max-width: 768px){
    width: 16px;
    height: 16px;
  }
}
.m_divisionCard__curcle svg{
  width: 100%;
  height: 100%;
}
.m_divisionCard__curcle--1{
  top: 0;
  right: 0;
  transform: translateX(100%) rotate(0deg);
}
.m_divisionCard__curcle--2{
  bottom: 0;
  left: 0;
  transform: translateY(100%) rotate(0deg);
}
.m_divisionCard__body{
  height: 100%;
}
.m_divisionCard__img{
  height: 100%;
  line-height: 0;
  text-align: center;
  overflow: hidden;
}
.m_divisionCard__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;  
}
.m_divisionCard__msg{
  line-height: 1.75;
}

/* 個別インタビューのタイトル */
.m_interviewTtl__ttl{
  font-weight: inherit;
  font-size: inherit;
}
.m_interviewTtl__sub{
  line-height: 1.75;
  font-weight: 700;
  font-size: clamp(16px, 1.30vw, 18px);
}

/* 個別インタビューのインタビューパーツラッパー */
.m_interviewWrap{}
.m_interviewWrap__item{
  display: flex;
  align-items: flex-end;
  gap: 48px;
  max-width: 1168px;
  padding-inline: 24px;
  margin: auto;
  @media screen and (max-width: 976px){
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
    & + &{
      max-width: none;
      padding-inline: 0;
    }
  }
}
.m_interviewWrap__itemInner{
  max-width: calc(100% - clamp(48px, 8.14vw, 112px));
  margin-top: calc(-1 * clamp(32px, 2.9vw, 40px));
  margin-left: auto;
}
.m_interviewWrap__heading{
  flex: 1 1 auto;
  position: relative;
  bottom: 88px;
  order: 1;
  @media screen and (max-width: 976px){
    position: static;
    margin-bottom: 24px;
    order: 0;
  }
}
.m_interviewWrap__heading--pc{
  @media screen and (max-width: 976px){
    display: none;
  }
}
.m_interviewWrap__heading--sp{
  display: none;
  @media screen and (max-width: 976px){
    display: block;
  }
}
.m_interviewWrap__imgWrap{
  flex-shrink: 0;
}
.m_interviewWrap__img{
  width: fit-content;
  border-radius: clamp(20px, 2.18vw, 30px);
  overflow: hidden;
}
.m_interviewWrap__q{
  color: var(--color-q);
  line-height: 1.75;
  font-size: clamp(14px, 1.16vw, 16px);
  & + .m_interviewWrap__ttl{
    margin-top: clamp(12px, 1.16vw, 16px);
  }
}
.m_interviewWrap__ttl{
  line-height: 1.75;
  font-weight: 700;
  font-size: clamp(20px, 1.89vw, 28px);
}
.m_interviewWrap__cont{
  position: relative;
  padding: clamp(32px, 2.9vw, 40px) clamp(24px, 2.9vw, 40px);
  border-radius: clamp(20px, 2.18vw, 30px);
  background: var(--color-land);
  @media screen and (max-width: 976px){
    border-radius: clamp(20px, 2.18vw, 30px) 0 0 clamp(20px, 2.18vw, 30px);
  }
}
.m_interviewWrap__msg{
  & + &{
    margin-top: 16px;
  }
}
.m_interviewWrap--rev{
  .m_interviewWrap__item{
    justify-content: flex-end;
  }
  .m_interviewWrap__itemInner{
    margin-left: 0;
    margin-right: auto;
  }
  .m_interviewWrap__heading{
    order: -1;
    padding-left: clamp(24px, 2.9vw, 40px);
  }
  .m_interviewWrap__cont{
    @media screen and (max-width: 976px){
      border-radius: 0 clamp(20px, 2.18vw, 30px) clamp(20px, 2.18vw, 30px) 0;
    }
  }
  @media screen and (max-width: 976px){
    .m_interviewWrap__imgWrap{
      width: 100%;
    }
    .m_interviewWrap__img{
      margin-left: auto;
    }
  }
  @media screen and (max-width: 768px){
    .m_interviewWrap__heading{
      order: -1;
      padding-left: 0;
    }
  }
}

.m_interviewWrap--full{
  .m_interviewWrap__item{
    display: block;
    max-width: none;
    padding-inline: 0;
    & + &{
      margin-top: 44px;
      max-width: 1168px;
      padding-inline: 24px;
    }

  }
  .m_interviewWrap__itemInner{
    max-width: none;
    margin-top: 0;
  }
  .m_interviewWrap__img{
    aspect-ratio: 1376 / 600;
    border-radius: 0;
    img{
      object-fit: cover;
      width: 100%;
      height: 100%;
    }
  }
  .m_interviewWrap__heading{
    position: static;
    padding: 40px;
  }
  @media screen and (max-width: 976px){
    .m_interviewWrap__item{
      & + &{
        max-width: calc(100% - clamp(48px, 8.14vw, 112px));
        margin-top: calc(-1 * clamp(32px, 2.9vw, 40px));
        margin-right: 0;
        padding-inline: 0;
      }
    }
    .m_interviewWrap__img{
      aspect-ratio: 375 / 250;
    }
    .m_interviewWrap__heading{
      padding: 0 20px;
    }
  }
}
.m_interviewWrap--half{
  display: flex;
  gap: 80px;
  max-width: 1168px;
  padding-inline: 24px;
  margin: auto;
  .m_interviewWrap__item{
    flex: 0 0 520px;
    display: block;
    max-width: none;
    padding-inline: 0;
    & + &{
      flex: 1 1 auto;
      margin-inline: auto;
      margin-top: 0;
    }
  }
  .m_interviewWrap__itemInner{
    max-width: none;
    margin-top: 0;
  }
  .m_interviewWrap__heading{
    position: static;
    & + .m_interviewWrap__cont{
      margin-top: 32px;
    }
  }
  .m_interviewWrap__cont{
    padding: 0;
    background: none;
  }
  @media screen and (max-width: 976px){
    display: block;
    padding-inline: 0;
    .m_interviewWrap__item{
      padding-inline: 24px;
      & + &{
        max-width: calc(100% - clamp(48px, 8.14vw, 112px));
        margin-top: calc(-1 * clamp(32px, 2.9vw, 40px));
        margin-right: 0;
        padding-inline: 0;
      }
    }
    .m_interviewWrap__heading{
      & + .m_interviewWrap__cont{
        margin-top: 0;
      }
    }
    .m_interviewWrap__cont{
      @media screen and (max-width: 976px){
        padding: clamp(32px, 2.9vw, 40px) clamp(24px, 2.9vw, 40px);
        border-radius: clamp(20px, 2.18vw, 30px) 0 0 clamp(20px, 2.18vw, 30px);
        background: var(--color-land);
      }
    }
  }
}

/* 個人のスケジュール、ラッパー */
.m_scheduleWrap{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(24px, 5.81vw, 80px);
  align-items: flex-start;
  @media screen and (max-width: 768px){
    display: block;
  }
}
.m_scheduleWrap__item{
  @media screen and (max-width: 768px){
    & + &{
      margin-top: clamp(16px, 1.74vw, 24px);
    }
  }
}

/* 個人のスケジュールリスト */
.m_scheduleList{
  position: relative;
  &:before{
    content: "";
    position: absolute;
    top: calc(16px - clamp(15px, 1.31vw, 18px) * .35);
    left: 40px;
    display: block;
    width: 2px;
    height: 100%;
    background: var(--color-main);
  }
}
.m_scheduleList__item{
  padding-top: calc(16px - clamp(15px, 1.31vw, 18px) * .35);
  & + &{
    margin-top: clamp(16px, 1.74vw, 24px);
  }
  &:last-of-type{
    position: relative;
    &:before{
      content: "";
      position: absolute;
      top: calc(16px - clamp(15px, 1.31vw, 18px) * .35);
      left: 40px;
      display: block;
      width: 2px;
      height: 100%;
      background: var(--color-bk);
    }
  }
}

/* 個人のスケジュール */
.m_schedule{
  display: flex;
  gap: 16px;
}
.m_schedule__time{
  flex: 0 0 82px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 43px;
  border-radius: 100px;
  color: var(--color-reverse);
  background: var(--color-main);
}
.m_schedule__cont{
  flex: 1 1 auto;
  margin-top: calc(-16px + clamp(15px, 1.31vw, 18px) * .35);
  padding: 16px 24px;
  border-radius: 16px;
  background: var(--color-reverse);
  @media screen and (max-width: 768px){
    padding: 16px;
  }
}
.m_schedule__ttl{
  font-weight: 700;
  line-height: 1.5;
  font-size: clamp(15px, 1.31vw, 18px);
  & + .m_schedule__body{
    margin-top: 8px;
  }
}

/* スマホ時のスケジュールの縦棒調整 */
@media screen and (max-width: 768px){
  .m_scheduleWrap__item:not(:last-of-type){
    &.m_scheduleList{
      &:before{
        height: calc(100% + 16px);
      }
    }
    .m_scheduleList__item{
      &:last-of-type{
        &:before{
          content: none;
        }
      }
    }
  }
}

/* インタビューまとめのリストラッパー */
.m_interviewListWrap{}
.m_interviewListWrap__body{}
.m_interviewListWrap__footer{
  margin-top: clamp(40px, 5.81vw, 80px);
}

/* ありあけの想いのコンテンツラッパー */
.m_belovedCont{}
.m_belovedCont__lead{
  & + .m_belovedCont__body{
    margin-top: clamp(24px, 2.91vw, 40px);
  }
}
.m_belovedCont__body{

}
/* ありあけの想いのカード */
.m_belovedCard{
  display: block;
}
.m_belovedCard__img{
  border-radius: 8px;
  line-height: 0;
  text-align: center;
  overflow: hidden;
  img{
    width: 100%;
    height: auto;
  }
  & + .m_belovedCard__body{
    margin-top: clamp(12px, 1.16vw, 16px);
  }
}
.m_belovedCard__ttl{
  margin-bottom: 8px;
  font-weight: 700 ;
  font-size: clamp(15px, 1.45vw, 20px);
}
.m_belovedCard__msg{}

/* ありあけのストーリーリスト */
.m_historyList{
  position: relative;
  left: 1px;
  width: calc(100vw - ((100vw - 1120px) / 2 + (1120px - 820px)));
  overflow: hidden;
  @media screen and (max-width: 768px){
    width: calc(100% + 24px);
  }
}
.m_historyList__list{
  display: flex;
  align-items: stretch;
  margin-inline: -24px;
  @media screen and (max-width: 768px){
    padding-right: 24px;
  }
}
.m_historyList__item{
  flex: 0 0 372px;
  display: flex;
  position: relative;
  padding-inline: 24px;
    &::before{
    content: "";
    position: absolute;
    top: calc(clamp(40px, 4.36vw, 60px) - 8px);
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: var(--color-main);
  }
}
.m_historyList__inner{
  width: 100%;
}
/* ありあけのストーリー */
.m_history{
  position: relative;
}
.m_history__header{
  position: absolute;
  left: 0;
  top: 0;
  height: clamp(80px, 8.72vw, 120px);
  padding-bottom: 16px;
  background: var(--color-bk);
}
.m_history__year{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 1px solid var(--color-main);
  background: var(--color-bk);
}
.m_history__body{
  margin: calc(clamp(80px, 8.72vw, 120px) / 2 + 16px) 0 0 calc(clamp(80px, 8.72vw, 120px) / 2 - 8px);
  padding: calc(clamp(80px, 8.72vw, 120px) / 2 - 16px) 0 16px 24px;
  border-left: 1px solid var(--color-main);
}
.m_history__ttl{
  margin-bottom: 8px;
  font-weight: 700;
  font-size: clamp(15px, 1.31vw, 18px);
}
.m_history__msg{
  min-height: 4lh;
  line-height: 1.5;
  font-size: clamp(13px, .94vw, 14px);
}
.m_history__footer{}
.m_history__img{
  border-radius: 8px;
  line-height: 0;
  overflow: hidden;
  img{
    width: 100%;
    height: auto;
  }
}
/* ありあけの想いのサイドナビラッパー */
.m_belovedNavWrap{
  margin-top: clamp(56px, 5.81vw, 80px);
  @media screen and (max-width: 768px){
    margin-top: 0;   
  }
}
.m_belovedNavWrap__inner{
  width: 244px;
  @media screen and (max-width: 768px){
    width: auto;
  }
}
.m_belovedNavWrap__ttl{
  margin-bottom: 16px;
  font-family: var(--font-en);
  line-height: 1.75;
  font-weight: 600;
}
.m_belovedNavWrap__list{}
.m_belovedNavWrap__item{
  & + &{
    margin-top: clamp(8px, .87vw, 12px);
  }
}

/* ありあけの想いのサイドナビ */
.m_belovedNav{
  color: var(--color-unactive);
  font-size: clamp(12px, 1.02vw, 14px);
  line-height: 1.5;
  &.is_active{
    color: var(--color-text);
  }
  @media (any-hover: hover){
    transition: color var(--transition);
    &:hover{
      color: var(--color-btn);
    }  
  }
}

/* ----------
state
---------- */
/* gnavのホバー */
.is_hov .m_gMenu__body{
  pointer-events: initial;
  opacity: 1;
}

/* ストーカー */
.js_stalkerArea{
  position: relative;
}
.js_stalkerArea__stalker {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1px;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100000;
  pointer-events: none;
  &.is_show{
    .js_stalkerArea__stalkerBody{
      width: 110px;
      height: 62px;
    }
  }
  &.is_hov{
    .js_stalkerArea__stalkerBody{
      position: relative;
      display: block;
      width: 80px;
      height: 80px;
      border-radius: 50%;
      background: var(--color-reverse);
      transform: translate(20px, -20px);
      &::before{
        opacity: 1;
      }
    }
  }
  @media screen and (max-width: 768px){
    display: none !important;
  }
}
.js_stalkerArea__stalkerBody {
  width: 0px;
  height: 0px;
  flex-shrink: 0;
  overflow: hidden;
  transition: var(--transition) width cubic-bezier(0.55, 0.05, 0.22, 0.99), var(--transition) height cubic-bezier(0.55, 0.05, 0.22, 0.99), var(--transition) transform cubic-bezier(0.55, 0.05, 0.22, 0.99);
  &::before{
    content: "詳細をみる";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 100%;
    white-space: nowrap;
    font-weight: bold;
    text-align: center;
    font-size: 12px;
    color: var(--color-btn);
    transform: translateY(-50%);
    opacity: 0;
    transition: var(--transition) opacity cubic-bezier(0.55, 0.05, 0.22, 0.99);
  }
}

/* 画像がバウンスして表示するアニメーション */
.js_imgBounceIn {
  transform-origin: center;
  transform: scale(0);
  opacity: 0;
}
.js_imgBounceIn.is_active {
  transition: transform .6s cubic-bezier(0.175, 0.885, 0.32, 1.275) .2s;
  transform: scale(1);
  opacity: 1;
}

/* バンド */
.js_band--rev{
  .js_band__str, .js_band__imgWrap{
    position: relative;
    right: -100%;
    width: fit-content;
    transform: translateX(-100%);
  }
}

/* 固定ナビ */
.js_fixNav{
  height: 100%;
  &.is_fixed{
    .js_fixNav__inner{
      position: fixed;
      transition: opacity var(--transition);
    }
  }
  &.is_ended{
    .js_fixNav__inner{
      opacity: 0;
    } 
  }
}
.js_fixNav--notSp{
  @media screen and (max-width:768px){
    &.is_fixed{
      .js_fixNav__inner{
        position: static;
      }
    }
    &.is_ended{
      .js_fixNav__inner{
        opacity: 1;
      }  
    }
  }
}
.m_crosstalkNavWrap{
  .js_fixNav__inner{
    width: 244px;
  }
}

/* アコーディオン */
.js_accordion{
  .js_accordion__btn{}
  .js_accordion__body{
    overflow: hidden;
  }
  &.is_open{
    .js_accordion__btn{
      &.m_crosstalkNav__btn{
        &::before{
          transform: rotate(-225deg);
        }
      }
    }
  }
}

/* 横スクロール */
.js_sticky{}
.js_sticky__sticky{
  position: sticky;
  top: calc(var(--gNavH) + 24px);
}
.js_sticky__cont{}

/* ----------
utility
---------- */
/*横幅(%)*/
.u_col1{width:8.333%;}
.u_col2{width:16.667%;}
.u_col25{width:20%;}
.u_col3{width:25%;}
.u_col4{width:33.333%;}
.u_col5{width:41.666%;}
.u_col6{width:50%;}
.u_col7{width:58.333%;}
.u_col8{width:66.666%;}
.u_col9{width:75%;}
.u_col10{width:83.33%;}
.u_col11{width:91.666%;}
.u_col12{width:100%;}
@media screen and (max-width:768px){
  .u_resMdCol1{width:8.333%;}
  .u_resMdCol2{width:16.667%;}
  .u_resMdCol3{width:25%;}
  .u_resMdCol4{width:33.333%;}
  .u_resMdCol5{width:41.666%;}
  .u_resMdCol6{width:50%;}
  .u_resMdCol7{width:58.333%;}
  .u_resMdCol8{width:66.666%;}
  .u_resMdCol9{width:75%;}
  .u_resMdCol10{width:83.33%;}
  .u_resMdCol11{width:91.666%;}
  .u_resMdCol12{width:100%;}
}
@media screen and (max-width:599px){
  .u_resSmCol1{width:8.333%;}
  .u_resSmCol2{width:16.667%;}
  .u_resSmCol3{width:25%;}
  .u_resSmCol4{width:33.333%;}
  .u_resSmCol5{width:41.666%;}
  .u_resSmCol6{width:50%;}
  .u_resSmCol7{width:58.333%;}
  .u_resSmCol8{width:66.666%;}
  .u_resSmCol9{width:75%;}
  .u_resSmCol10{width:83.33%;}
  .u_resSmCol11{width:91.666%;}
  .u_resSmCol12{width:100%;}
}
/*横幅(絶対値)*/
.u_w6em{
  width: 6em;
}

/* 間隙 */
.u_mb16{
  margin-bottom: 16px;
}
.u_mb64{
  margin-bottom: 64px;
}
.u_mb80{
  margin-bottom: 80px;
}
.u_mxA{
  margin-inline: auto;
}
.u_pt0Imp{
  padding-top: 0 !important;
}
.u_mb24-40{
  margin-bottom: clamp(24px, 2.91vw, 40px);
}
.u_mb32-56{
  margin-bottom: clamp(32px, 4.74vw, 56px);
}
.u_mb64-80{
  margin-bottom: clamp(64px, 5.81vw, 80px);
}
.u_mb32-94{
  margin-bottom: clamp(32px, 7.96vw, 94px);
}
.u_pt0Imp{
  padding-top: 0 !important;
}
.u_pb0Imp{
  padding-bottom: 0 !important;
}
.u_pb24-40Imp{
  padding-bottom: clamp(24px, 2.4vw, 40px) !important;
}
@media screen and (max-width: 768px){
  .u_resSmMb16{
    margin-bottom: 16px;
  }
  .u_resSmMb64{
    margin-bottom: 64px;
  }
  .u_resSmMb80{
    margin-bottom: 80px;
  }
  .u_resSmMxA{
    margin-inline: auto;
  }
  .u_resSmPt0Imp{
    padding-top: 0 !important;
  }
}

/* 文字色 */
.u_colorW{
  color: var(--color-reverse);
}

/* 背景色 */
.u_bkBlue{
  background-color: var(--color-bk);
}

/* 要素の表示 */
.u_hide{
  display: none;
}
@media screen and (max-width: 1375px){
  .u_resLgInline{
    display: inline;
  }
}
@media screen and (max-width: 768px){
  .u_resMdHide{
    display: none;
  }
  .u_resMdBlock{
    display: block;
  }
  .u_resMdInline{
    display: inline;
  }
}

/* はみ出た要素 */
.u_ofH{
  overflow: hidden;
}
.u_ofA{
  overflow: auto;
}
.u_ofC{
  overflow: clip;
}

/* 画像のみ要素 */
.u_onlyImg{
  line-height: 0;
  text-align: center;
  img{
    max-width: 100%;
    height: auto;
  }
}

/* 文字寄せ */
.u_taC{
  text-align: center;
}

/* 文字間 */
.u_ls3{
  letter-spacing: 3px;
}