@charset "UTF-8";
/*** The new CSS reset - version 1.7.2 (last updated 23.6.2022) ***/
*:where(:not(html, iframe, canvas, img, svg, video):not(svg*, symbol*)) {
  all: unset;
  display: revert;
}

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

a,
button {
  cursor: revert;
}

a {
  text-decoration: none !important;
  transition-duration: 0.5s;
}
a:hover {
  opacity: 0.8;
  transition-duration: 0.5s;
  cursor: pointer;
}

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

img, video {
  max-width: 100%;
  max-height: 100%;
}

table {
  border-collapse: collapse;
}

input,
textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

::-moz-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

/*
============================================
ベース/基礎
============================================
*/
html {
  font-size: 10px;
  font-family: "zen-maru-gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #000;
  background-color: #fff;
  line-height: 1.5;
  font-style: normal;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth; /* 任意：スムーススクロール */
}

body {
  opacity: 0;
}
body.is-loaded {
  opacity: 1;
  transition: opacity 2s ease;
}

/* 例：追従ヘッダーがPC 90px / SP 70px くらいの想定 */
[id] {
  scroll-margin-top: 200px; /* 余白込みで少し多め */
}

.wrapper {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
}
.wrapper--02 {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
}

.p {
  font-size: 1.75rem;
  line-height: 2;
}

.pc {
  display: block;
}

.pc-tb {
  display: block;
}

.tb-sp {
  display: none;
}

.sp {
  display: none;
}

[data-animate] {
  opacity: 0;
  transform: translate3d(0, 0, 0);
  transition: opacity 2000ms cubic-bezier(0.22, 1, 0.36, 1), transform 2000ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}
[data-animate][data-sa-show=true] {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-animate=up] {
  transform: translate3d(0, var(--sa-distance, 32px), 0);
}

[data-animate=left] {
  transform: translate3d(calc(var(--sa-distance, 32px) * -1), 0, 0);
}

[data-animate=right] {
  transform: translate3d(var(--sa-distance, 32px), 0, 0);
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .pc-tb {
    display: none;
  }
  .tb-sp {
    display: block;
  }
  .sp {
    display: block;
  }
  .p {
    font-size: 1.4rem;
    line-height: 1.7;
  }
  [id] {
    scroll-margin-top: 90px;
  }
  .wrapper {
    padding-left: 16px;
    padding-right: 16px;
  }
  [data-animate] {
    opacity: 0;
    transform: translate3d(0, 0, 0);
    transition: opacity 2000ms cubic-bezier(0.22, 1, 0.36, 1), transform 2000ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
  }
  [data-animate][data-sa-show=true] {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  [data-animate=up] {
    transform: translate3d(0, var(--sa-distance, 12px), 0);
  }
  [data-animate=left] {
    transform: translate3d(calc(var(--sa-distance, 12px) * -1), 0, 0);
  }
  [data-animate=right] {
    transform: translate3d(var(--sa-distance, 12px), 0, 0);
  }
}
/*
============================================
ヘッダー
============================================
*/
/*
============================================
ヘッダー(共通)
============================================
*/
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 2px solid #005BAC;
}
.site-header .inner {
  margin: 0 auto;
  padding: 0 40px;
}
.site-header .lr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: 88px;
}
.site-header .left h1 {
  margin: 0;
  line-height: 1;
}
.site-header .left img {
  display: block;
  height: auto;
  width: 300px;
}
.site-header .right {
  display: flex;
  align-items: center;
  gap: 24px;
}
.site-header .right nav > ul {
  display: flex;
  align-items: center;
  gap: 16px;
}
.site-header .right nav ul > li {
  position: relative;
  list-style: none;
  /* 親メニュー */
}
.site-header .right nav ul > li > .txt {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 18px 10px;
  font-weight: 900;
  color: #005BAC;
  cursor: pointer;
  position: relative;
  letter-spacing: 0.02em;
  font-size: 1.6rem;
  /* 下線アニメ */
}
.site-header .right nav ul > li > .txt::after {
  content: "";
  position: absolute;
  left: 10px;
  bottom: 10px;
  width: calc(100% - 20px);
  height: 2px;
  background: #005BAC;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.28s ease;
  opacity: 0.9;
}
.site-header .right nav ul > li > .txt {
  /* ▼アイコン（CSS） */
}
.site-header .right nav ul > li > .txt::before {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #005BAC;
  border-bottom: 2px solid #005BAC;
  transform: rotate(45deg);
  transition: transform 0.28s ease;
  margin-top: -2px;
}
.site-header .right nav ul > li {
  /* サブメニュー：メガ風パネル */
}
.site-header .right nav ul > li > ul {
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, 8px);
  width: 320px;
  margin: 0;
  padding: 20px 18px;
  list-style: none;
  background: rgba(255, 255, 255, 0.96);
  border: 2px solid rgba(11, 78, 162, 0.18);
  border-radius: 18px;
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(6px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.28s ease;
}
.site-header .right nav ul > li {
  /* サブメニュー項目 */
}
.site-header .right nav ul > li > ul > li {
  margin: 0;
  font-size: 1.6rem;
}
.site-header .right nav ul > li > ul > li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 14px;
  border-radius: 12px;
  color: #005BAC;
  text-decoration: none;
  font-weight: 800;
  letter-spacing: 0.02em;
  background: transparent;
  transition: 0.2s ease;
  /* 右矢印（アイテム） */
}
.site-header .right nav ul > li > ul > li a::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid #005BAC;
  border-bottom: 2px solid #005BAC;
  transform: rotate(-45deg);
  opacity: 0.85;
  transition: 0.2s ease;
}
.site-header .right nav ul > li > ul > li {
  /* 区切り線（ふんわり） */
}
.site-header .right nav ul > li > ul > li + li {
  margin-top: 4px;
}
.site-header .right nav ul > li {
  /* hover / focus-within で開く（キーボードもOK） */
}
.site-header .right nav ul > li:hover > .txt::after, .site-header .right nav ul > li:focus-within > .txt::after {
  transform: scaleX(1);
}
.site-header .right nav ul > li:hover > .txt::before, .site-header .right nav ul > li:focus-within > .txt::before {
  transform: rotate(225deg);
}
.site-header .right nav ul > li:hover > ul, .site-header .right nav ul > li:focus-within > ul {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
.site-header .right nav ul > li {
  /* サブメニュー hover 演出 */
}
.site-header .right nav ul > li > ul > li a:hover {
  background: rgba(11, 78, 162, 0.08);
}
.site-header .right nav ul > li > ul > li a:hover::after {
  transform: translateX(4px) rotate(-45deg);
  opacity: 1;
}
.site-header .right {
  /* =========================
     External buttons
  ========================= */
}
.site-header .right .external-btns {
  display: flex;
  align-items: center;
  gap: 8px;
}
.site-header .right .external-btns a {
  display: inline-flex;
  align-items: center;
  width: 220px;
}
.site-header .right .external-btns a img {
  display: block;
  height: auto;
  width: 100%;
}
.site-header .right {
  /* =========================
     Hamburger (SP)
  ========================= */
}
.site-header .right .hamburger {
  display: none;
  width: 62px;
  height: 67px;
  border-radius: 0 0 12px 12px;
  background: #005BAC;
  border: none;
  padding: 0;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 11px;
  z-index: 1000;
}
.site-header .right .hamburger::before {
  content: "MENU";
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.2rem;
  font-weight: 900;
  color: #fff;
  font-family: "zen-maru-gothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
}
.site-header .right .hamburger span {
  position: absolute;
  left: 50%;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: transform 0.2s ease, top 0.2s ease, opacity 0.2s ease;
  width: 50%;
  transform: translateX(-50%);
}
.site-header .right .hamburger span:nth-child(1) {
  top: 13px;
}
.site-header .right .hamburger span:nth-child(2) {
  top: 21px;
}
.site-header .right .hamburger span:nth-child(3) {
  top: 29px;
}
.site-header .right .hamburger.is-open span:nth-child(1) {
  top: 23px;
  transform: rotate(45deg);
  left: 25%;
}
.site-header .right .hamburger.is-open span:nth-child(2) {
  opacity: 0;
}
.site-header .right .hamburger.is-open span:nth-child(3) {
  left: 25%;
  top: 23px;
  transform: rotate(-45deg);
}
.site-header .right .hamburger.is-open::before {
  content: "CLOSE";
}
.site-header .right {
  /* =========================
     SP Menu (drawer)
  ========================= */
}
.site-header .right .sp-menu {
  position: fixed;
  inset: 0;
  z-index: 10;
  background-color: #E5F3FF;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition-duration: 0.5s;
  transition-timing-function: ease-in-out;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.site-header .right .sp-menu__inner {
  padding: 96px 24px 64px;
}
.site-header .right .sp-menu__title {
  margin: 0;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #005BAC;
}
.site-header .right .sp-menu .sp-nav {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
.site-header .right .sp-menu .sp-nav__trigger {
  width: 100%;
  text-align: left;
  padding: 8px 36px 8px 0;
  background: none;
  border: 0;
  cursor: pointer;
  font-size: 1.6rem;
  font-weight: 500;
  color: #005BAC;
  position: relative;
  border-bottom: solid 1px #d3ebff;
  font-family: "zen-maru-gothic", sans-serif;
}
.site-header .right .sp-menu .sp-nav__trigger::after {
  content: "";
  position: absolute;
  right: 6px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 1px solid #005BAC;
  border-bottom: 1px solid #005BAC;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.2s ease;
}
.site-header .right .sp-menu .sp-nav__trigger.is-open::after {
  transform: translateY(-50%) rotate(-135deg);
}
.site-header .right .sp-menu .sp-nav__trigger.is-open + ul {
  height: auto;
}
.site-header .right .sp-menu .sp-nav__trigger.is-open + ul li a {
  opacity: 1;
  transition-delay: 0.2s;
  transition-duration: 0.5s;
  transform: translateX(0);
}
.site-header .right .sp-menu .sp-nav__sub {
  padding: 11px;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 0;
  overflow-y: hidden;
  overflow-x: visible;
}
.site-header .right .sp-menu .sp-nav__sub li a {
  opacity: 0;
  display: block;
  padding: 10px 24px;
  border-radius: 15px;
  text-decoration: none;
  font-size: 1.4rem;
  color: #005BAC;
  background-color: #fff;
  transform: translateX(-5%);
  transition-delay: 0s;
  transition-duration: 0s;
  border: solid 2px;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
  font-weight: 600;
}
.site-header .right .sp-menu__btns {
  margin-top: 18px;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, 1fr);
}
.site-header .right .sp-menu__btn {
  display: block;
}
.site-header .right .sp-menu__btn img {
  display: block;
  width: 100%;
  height: auto;
}
.site-header .right .sp-menu.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-duration: 0.5s;
  transition-timing-function: ease-in-out;
}

/*=========================
   OPEN状態（bodyにクラス付与）
========================= */
body.is-menu-open {
  overflow: hidden;
}
body.is-menu-open .site-header .right .hamburger span:nth-child(1) {
  top: 21px;
  transform: rotate(45deg);
}
body.is-menu-open .site-header .right .hamburger span:nth-child(2) {
  opacity: 0;
}
body.is-menu-open .site-header .right .hamburger span:nth-child(3) {
  top: 21px;
  transform: rotate(-45deg);
}
body.is-menu-open .site-header .right .sp-menu {
  pointer-events: auto;
}
body.is-menu-open .site-header .right .sp-menu__backdrop {
  opacity: 1;
}
body.is-menu-open .site-header .right .sp-menu__inner {
  transform: translateX(0);
}

@media screen and (max-width: 1500px) {
  .site-header .inner {
    padding: 0 16px;
  }
  .site-header .lr {
    gap: 12px;
    height: 88px;
  }
  .site-header .left img {
    width: 200px;
  }
  .site-header .right {
    gap: 12px;
  }
  .site-header .right nav > ul {
    gap: 8px;
  }
  .site-header .right nav ul > li {
    /* 親メニュー */
  }
  .site-header .right nav ul > li > .txt {
    gap: 6.4px;
    padding: 18px 6.4px;
    font-size: 1.5rem;
    /* ▼アイコン（CSS） */
  }
  .site-header .right nav ul > li > .txt::before {
    content: "";
    width: 5px;
    height: 5px;
    border-right: 2px solid #005BAC;
    border-bottom: 2px solid #005BAC;
  }
  .site-header .right {
    /* =========================
       External buttons
    ========================= */
  }
  .site-header .right .external-btns a {
    width: 150px;
  }
  /*=========================
     OPEN状態（bodyにクラス付与）
  ========================= */
  body.is-menu-open {
    overflow: hidden;
  }
  body.is-menu-open .site-header .right .hamburger span:nth-child(1) {
    top: 21px;
    transform: rotate(45deg);
  }
  body.is-menu-open .site-header .right .hamburger span:nth-child(2) {
    opacity: 0;
  }
  body.is-menu-open .site-header .right .hamburger span:nth-child(3) {
    top: 21px;
    transform: rotate(-45deg);
  }
  body.is-menu-open .site-header .right .sp-menu {
    pointer-events: auto;
  }
  body.is-menu-open .site-header .right .sp-menu__backdrop {
    opacity: 1;
  }
  body.is-menu-open .site-header .right .sp-menu__inner {
    transform: translateX(0);
  }
}
/* =========================
   Responsive
========================= */
@media (max-width: 768px) {
  .site-header {
    border-bottom: none;
  }
  .site-header .inner {
    padding: 0 16px;
    height: 56px;
  }
  .site-header .lr {
    height: 56px;
  }
  .site-header .left {
    position: relative;
    z-index: 2001;
  }
  .site-header .left img {
    width: 175px;
    height: auto;
  }
  .site-header .right {
    gap: 10px;
  }
  .site-header .right .gnav {
    display: none;
  }
  .site-header .right .external-btns {
    display: none;
  }
  .site-header .right .hamburger {
    display: inline-block;
  }
}
/*
============================================
フッター
============================================
*/
#footer {
  background: #005BAC;
  /* 添付のブルー寄せ */
  padding: 36px 0 42px;
  color: #fff;
}
#footer .footer-nav {
  margin-bottom: 18px;
}
#footer .footer-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 26px;
}
#footer .footer-nav__item {
  position: relative;
}
#footer .footer-nav__item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -13px;
  top: 50%;
  width: 1px;
  height: 20px;
  background: rgba(255, 255, 255, 0.5);
  transform: translateY(-50%);
}
#footer .footer-nav__item a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
#footer {
  /* 外部リンクアイコン風 */
}
#footer .footer-nav__icon {
  display: none;
}
#footer .footer-copy {
  margin: 0;
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.02em;
  opacity: 0.9;
}

@media (max-width: 768px) {
  #footer {
    padding: 24px 0 24px;
  }
  #footer .footer-nav {
    margin-bottom: 12px;
  }
  #footer .footer-nav__list {
    flex-direction: column;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
  }
  #footer .footer-nav__item {
    position: relative;
    width: 100%;
  }
  #footer .footer-nav__item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -13px;
    top: 50%;
    width: 1px;
    height: 20px;
  }
  #footer .footer-nav__item a {
    padding: 12px 0;
    width: 100%;
    gap: 9px;
    font-size: 1.4rem;
    border-bottom: solid 1px #fff;
  }
  #footer {
    /* 外部リンクアイコン風 */
  }
  #footer .footer-nav__icon {
    position: relative;
    width: 12px;
    height: 12px;
    border: 1.5px solid #fff;
    border-radius: 2px;
  }
  #footer .footer-nav__icon::after {
    content: "";
    position: absolute;
    right: -2px;
    top: -2px;
    width: 6px;
    height: 6px;
    border-top: 1.5px solid #fff;
    border-right: 1.5px solid #fff;
  }
  #footer .footer-copy {
    margin: 24px 0 0;
    font-size: 1rem;
  }
}
/*
============================================
共通レイアウト
============================================
*/
#entry-cta {
  position: relative;
  padding: 86px 0 92px;
  /* 背景画像 */
  background-image: url(../img/top/entry_back.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  /* フィルター（指定どおり） */
}
#entry-cta::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #ff6661;
  opacity: 0.9;
  pointer-events: none;
  z-index: 1;
}
#entry-cta {
  /* セクション上のコンテンツを前に */
}
#entry-cta .inner {
  position: relative;
  z-index: 1;
}
#entry-cta .entry-cta {
  text-align: center;
  color: #fff;
  /* 画像上なので白前提 */
}
#entry-cta .entry-cta__ttl {
  margin: 0 0 16px;
  font-size: 5.2rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  line-height: 1.25;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}
#entry-cta .entry-cta__line {
  width: 900px;
  max-width: 100%;
  height: 2px;
  margin: 0 auto 26px;
  background: rgba(255, 255, 255, 0.78);
}
#entry-cta .entry-cta__desc {
  margin: 0 auto 52px;
  max-width: 920px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.16);
}
#entry-cta {
  /* buttons */
}
#entry-cta .entry-cta__btns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 34px;
  align-items: center;
  max-width: 855px;
  margin: 0 auto;
}
#entry-cta {
  /* =========================
     CTA PILL（冒頭CTA踏襲）
  ========================= */
}
#entry-cta .cta-pill {
  display: block;
  width: 100%;
  max-width: 560px;
  text-decoration: none;
}
#entry-cta .cta-pill img {
  display: block;
  width: 100%;
  height: auto;
}
#entry-cta .cta-pill:hover {
  opacity: 0.92;
}

#more-know {
  /* セクション背景（単色） */
  background: #dfeff6;
  /* 添付の薄い水色寄せ */
  padding: 90px 0;
}
#more-know .more-know {
  background: #fff;
  border-radius: 34px;
  padding: 64px 90px 72px;
  /* ふわっと影（people-work系と合わせる） */
  box-shadow: 0 18px 28px rgba(0, 0, 0, 0.08);
}
#more-know .more-know__ttl {
  margin: 0 0 42px;
  text-align: center;
}
#more-know .more-know__ttl img {
  display: inline-block;
  width: auto;
  height: 64px;
  /* 見出し画像の見え方調整 */
  max-width: 100%;
}
#more-know .more-know__btns {
  display: grid;
  gap: 26px;
  max-width: 980px;
  margin: 0 auto;
}
#more-know .more-know__btn {
  display: block;
  text-decoration: none;
}
#more-know .more-know__btn img {
  display: block;
  width: 100%;
  height: auto;
}
#more-know .more-know__btn:hover {
  opacity: 0.92;
  transition: opacity 0.2s ease;
}

#anniv50 {
  background: #fff;
  padding: 80px 0;
}
#anniv50 .anniv50 .anniv50__lr {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 80px;
  align-items: center;
}
#anniv50 .anniv50 .anniv50__logo img {
  display: block;
  width: 100%;
  height: auto;
}
#anniv50 .anniv50 .anniv50__content {
  max-width: 720px;
}
#anniv50 .anniv50 .anniv50__catch {
  margin: 0 0 12px;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0.02em;
  color: #111;
}
#anniv50 .anniv50 .anniv50__ttl {
  margin: 0 0 22px;
  font-size: 40px;
  font-weight: 900;
  letter-spacing: 0.03em;
  line-height: 1.4;
  color: #111;
}
#anniv50 .anniv50 .anniv50__desc {
  margin: 0;
  max-width: 680px;
  color: #111;
}
#anniv50 .anniv50 .anniv50__btn {
  margin-top: 34px;
  text-align: right;
}
#anniv50 .anniv50 {
  /* 黒ボタン（右に白□＋黒矢印） */
}
#anniv50 .anniv50 .anniv50__link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-width: 360px;
  height: 64px;
  padding: 0 18px 0 26px;
  background: #111;
  border-radius: 12px;
  text-decoration: none;
  color: #fff;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.6);
}
#anniv50 .anniv50 .anniv50__link-txt {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1;
}
#anniv50 .anniv50 .anniv50__link-arrow {
  width: 34px;
  height: 34px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.96);
  position: relative;
  flex: 0 0 auto;
}
#anniv50 .anniv50 .anniv50__link-arrow::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 3px solid #111;
  border-bottom: 3px solid #111;
  transform: translate(-55%, -50%) rotate(-45deg);
}
#anniv50 .anniv50 .anniv50__link:hover {
  transform: translateY(1px);
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.35);
  transition: 0.2s ease;
}

#recruit-links {
  background: #eef2f6;
  padding: 56px 0;
}
#recruit-links .recruit-links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 56px;
  align-items: center;
  max-width: 980px;
  margin: 0 auto;
}
#recruit-links .recruit-links__btn {
  height: 72px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 26px 0 28px;
  background: #005BAC;
  color: #fff;
  border: 2px solid #fff;
  text-decoration: none;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.25);
}
#recruit-links .recruit-links__txt {
  font-size: 22px;
  font-weight: 900;
  letter-spacing: 0.02em;
}
#recruit-links .recruit-links__icon {
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}
#recruit-links .recruit-links__btn:hover {
  transform: translateY(1px);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);
  transition: 0.2s ease;
}

#more-kyoshin {
  padding: 70px 0 90px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#more-kyoshin .more-kyoshin__heading {
  text-align: center;
  margin-bottom: 44px;
}
#more-kyoshin .more-kyoshin__ttl {
  margin: 0;
  font-size: 32px;
  font-weight: 900;
  color: #005BAC;
  letter-spacing: 0.04em;
  display: inline-block;
  padding-bottom: 14px;
  position: relative;
}
#more-kyoshin .more-kyoshin__ttl::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 340px;
  height: 2px;
  background: #005BAC;
  opacity: 0.9;
}
#more-kyoshin .more-kyoshin__grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 42px 46px;
  align-items: start;
}
#more-kyoshin .more-kyoshin__item a {
  text-decoration: none;
  color: inherit;
}
#more-kyoshin .more-card {
  display: block;
}
#more-kyoshin .more-card .more-card__img {
  border-radius: 16px;
  overflow: hidden;
  background: #e6e6e6;
}
#more-kyoshin .more-card .more-card__img img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3.1;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: transform 0.45s ease;
}
#more-kyoshin .more-card .more-card__body {
  margin-top: 14px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
#more-kyoshin .more-card .more-card__txt {
  min-width: 0;
}
#more-kyoshin .more-card .more-card__ttl {
  margin: 0 0 6px;
  font-size: 22px;
  font-weight: 900;
  color: #005BAC;
  letter-spacing: 0.02em;
  line-height: 1.35;
}
#more-kyoshin .more-card .more-card__desc {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #222;
  letter-spacing: 0.01em;
}
#more-kyoshin .more-card {
  /* day-cardと同系の矢印（青い四角＋白の >） */
}
#more-kyoshin .more-card .more-card__arrow {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 6px;
  background: #005BAC;
  position: relative;
  margin-top: 4px;
}
#more-kyoshin .more-card .more-card__arrow::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: translate(-60%, -50%) rotate(-45deg);
}
#more-kyoshin .more-card:hover .more-card__img img {
  transform: scale(1.06);
}
#more-kyoshin .more-card:hover .more-card__arrow {
  filter: brightness(0.95);
}
#more-kyoshin .more-card:hover .more-card__ttl {
  text-decoration: underline;
  text-underline-offset: 6px;
}

/* =========================
VOICE MODAL
========================= */
#voiceModal {
  /* JSで is-open 付与 */
}

.voice-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, visibility 0.18s ease;
  /* 高さは絶対値（必要ならここだけ変更） */
  --vm-h: 740px;
  --vm-w: 1160px;
}
.voice-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* 背景 */
.voice-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

/* 白ボックス */
.voice-modal__inner {
  position: relative;
  width: var(--vm-w);
  height: var(--vm-h);
  margin: auto;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border: 4px solid #005BAC;
  border-radius: 14px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
  overflow: hidden;
}

/* 閉じるボタン（右上） */
.voice-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 4px solid #f7c400;
  /* 黄っぽいリング */
  background: #005BAC;
  cursor: pointer;
  z-index: 3;
  display: grid;
  place-items: center;
}

.voice-modal__close-ico {
  width: 18px;
  height: 18px;
  position: relative;
  display: block;
}
.voice-modal__close-ico::before, .voice-modal__close-ico::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 3px;
  background: #fff;
  border-radius: 2px;
  transform-origin: center;
}
.voice-modal__close-ico::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.voice-modal__close-ico::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* 中身 */
.voice-modal__content {
  height: 100%;
  padding: 77px 40px;
  display: grid;
  grid-template-columns: 390px 1fr;
  gap: 56px;
  overflow-y: auto;
}

/* 左 */
.voice-modal__left {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* 写真（グレー） */
.voice-modal__photo {
  border-radius: 14px;
  overflow: hidden;
}

.voice-modal__photo-dummy {
  border-radius: 14px;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.voice-modal__photo-dummy img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

/* プロフィール */
.voice-modal__name {
  margin: 0 0 10px;
  font-weight: 900;
  font-size: 2rem;
  letter-spacing: 0.02em;
  color: #111;
}

.voice-modal__year {
  font-weight: 700;
  font-size: 1.6rem;
  color: #666;
  margin-left: 8px;
}

.voice-modal__dl {
  margin: 0;
}

.voice-modal__dt {
  margin: 14px 0 6px;
  font-weight: 900;
  font-size: 1.6rem;
  color: #005BAC;
  position: relative;
  padding-left: 14px;
}
.voice-modal__dt::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 4px;
  height: 1.2em;
  background: #005BAC;
}

.voice-modal__dd {
  padding-left: 12px;
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.7;
  color: #111;
}

.voice-modal__career-ttl {
  margin: 12px 0 2px;
  font-weight: 900;
}

.voice-modal__career-txt {
  margin: 0;
}

/* 右 */
.voice-modal__right {
  height: 100%;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 20px;
}

/* タイトル */
.voice-modal__ttl {
  margin: 10px 0 0px;
  font-weight: 900;
  color: #005BAC;
  font-size: 3.4rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
}

/* タイトル下の線 */
.voice-modal__rule {
  height: 2px;
  width: 100%;
  background: rgba(11, 78, 162, 0.35);
  margin-bottom: 14px;
}

/* 右側スクロール領域 */
.voice-modal__scroll {
  flex: 1;
  min-height: 0;
  overflow: auto;
  /* ★白ボックスの中だけスクロール */
  padding-right: 10px;
}

/* QA */
.voice-modal__qa {
  margin: 0 0 22px;
}

.voice-modal__q {
  margin: 0 0 10px;
  font-weight: 900;
  font-size: 1.9rem;
  color: #005BAC;
  letter-spacing: 0.02em;
}

.voice-modal__a .p + .p {
  margin-top: 12px;
}

/* -------------------------
続きを読む（重要）
- 追加分は初期 opacity 0 / height 0
- JSで .is-expanded を付けたら表示
------------------------- */
.voice-modal__more {
  opacity: 0;
  /* ★指定 */
  visibility: hidden;
  height: 0;
  overflow: hidden;
  pointer-events: none;
  transition: opacity 0.22s ease;
  /* 余白も畳むため */
  margin-top: 0;
}

.voice-modal.is-expanded .voice-modal__more {
  opacity: 1;
  visibility: visible;
  height: auto;
  overflow: visible;
  pointer-events: auto;
  margin-top: 6px;
}

/* ボタン（押したら消す） */
.voice-modal__readmore-wrap {
  margin: 18px 0 6px;
  display: flex;
  justify-content: center;
}

.voice-modal.is-expanded .voice-modal__readmore-wrap {
  display: none;
  /* ★押下後は非表示 */
}

.voice-modal__readmore {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background: transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  font-size: 1.8rem;
  letter-spacing: 0.02em;
  color: #111;
  padding: 10px 10px;
  position: relative;
}

.voice-modal__readmore::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 2px;
  background: rgba(0, 0, 0, 0.35);
}

.voice-modal__readmore-ico {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.08);
  display: inline-block;
  background-image: url(/clients/kyoshin/files/img/voice/arrow_right.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-color: transparent;
}

#bread-crumbs {
  background-color: #eaf6ff;
  padding: 12px 0;
}
#bread-crumbs .breadcrumb .breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 12px;
}
#bread-crumbs .breadcrumb .breadcrumb__list .breadcrumb__item {
  color: #111;
  display: flex;
  align-items: center;
  padding-bottom: 4px;
  font-size: 1.4rem;
}
#bread-crumbs .breadcrumb .breadcrumb__list .breadcrumb__item a {
  position: relative;
  color: #111;
  border-bottom: solid 1px #111;
  font-size: 1.4rem;
}
#bread-crumbs .breadcrumb .breadcrumb__list .breadcrumb__item a::after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  content: ">";
  display: inline-block;
  width: 100%;
  height: 1px;
  background-color: #111;
}

.m-imgmodal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.m-imgmodal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.4s ease, visibility 0.18s ease;
}
.m-imgmodal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
}
.m-imgmodal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 20px;
  box-sizing: border-box;
}
.m-imgmodal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
  z-index: 2;
}
.m-imgmodal__content {
  position: absolute;
  top: 72px;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border-radius: 14px;
  max-width: 92vw;
  max-height: calc(100vh - 120px);
  padding: 40px 24px;
  box-sizing: border-box;
  overflow: hidden;
  min-height: 50vh;
}
.m-imgmodal {
  /* 横スクロールはここで発生させる */
}
.m-imgmodal__scroller {
  max-width: 100%;
  max-height: calc(86vh - 48px);
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.m-imgmodal__img {
  display: block;
  height: auto;
  /* JSで width(px) を入れるので max-width は潰さない */
  max-width: none;
}

/* 下の図（画像） */
.tap-txt {
  display: none;
  text-align: center;
  font-size: 1.2rem;
  color: #555;
  margin-top: 12px;
  border: solid 1px #555;
  font-family: noto-sans-jp, sans-serif;
  margin-bottom: 8px;
}

@media (max-width: 768px) {
  #entry-cta {
    position: relative;
    padding: 40px 0;
    /* 背景画像 */
    background-image: url(../img/top/entry_back.jpg);
  }
  #entry-cta .entry-cta__ttl {
    margin: 0 0 8px;
    font-size: 2.5rem;
  }
  #entry-cta .entry-cta__line {
    width: 100%;
    height: 2px;
    margin: 0 auto 12px;
  }
  #entry-cta .entry-cta__desc {
    margin: 0 auto 28px;
  }
  #entry-cta {
    /* buttons */
  }
  #entry-cta .entry-cta__btns {
    grid-template-columns: repeat(1, 1fr);
    gap: 12px;
  }
  #entry-cta {
    /* =========================
       CTA PILL（冒頭CTA踏襲）
    ========================= */
  }
  #entry-cta .cta-pill {
    display: block;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    max-width: 560px;
    text-decoration: none;
  }
  #more-know {
    padding: 45px 0;
  }
  #more-know .more-know {
    border-radius: 24px;
    padding: 32px 16px 32px;
  }
  #more-know .more-know__ttl {
    margin: 0 0 20px;
  }
  #more-know .more-know__ttl img {
    width: 100%;
    height: auto;
  }
  #more-know .more-know__btns {
    gap: 12px;
  }
  #anniv50 {
    padding: 40px 0;
  }
  #anniv50 .anniv50 .anniv50__lr {
    grid-template-columns: repeat(1, 1fr);
    gap: 24px;
  }
  #anniv50 .anniv50 .anniv50__logo img {
    width: 57%;
  }
  #anniv50 .anniv50 .anniv50__catch {
    margin: 0 0 4.8px;
    font-size: 1.6rem;
  }
  #anniv50 .anniv50 .anniv50__ttl {
    margin: 0 0 22px;
    font-size: 3.2rem;
  }
  #anniv50 .anniv50 .anniv50__btn {
    margin-top: 20px;
    text-align: center;
  }
  #anniv50 .anniv50 {
    /* 黒ボタン（右に白□＋黒矢印） */
  }
  #anniv50 .anniv50 .anniv50__link {
    min-width: auto;
    width: 280px;
    margin-left: 0;
    margin-right: auto;
    height: 48px;
    padding: 0px 16px 0px 16px;
    border-radius: 8px;
  }
  #anniv50 .anniv50 .anniv50__link-txt {
    font-size: 1.4rem;
  }
  #anniv50 .anniv50 .anniv50__link-arrow {
    width: 24px;
    height: 24px;
  }
  #anniv50 .anniv50 .anniv50__link-arrow::after {
    width: 6px;
    height: 6px;
    border-right: 1.2px solid #005BAC;
    border-bottom: 1.2px solid #005BAC;
  }
  #recruit-links {
    padding: 24px 0;
  }
  #recruit-links .recruit-links {
    grid-template-columns: repeat(1, 1fr);
    gap: 12px;
  }
  #recruit-links .recruit-links__btn {
    height: 40px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 8px;
    padding: 0 26px 0 28px;
  }
  #recruit-links .recruit-links__txt {
    font-size: 1.4rem;
  }
  #recruit-links .recruit-links__icon {
    font-size: 1.7rem;
  }
  #more-kyoshin {
    padding: 40px 0 40px;
  }
  #more-kyoshin .more-kyoshin__heading {
    margin-bottom: 24px;
  }
  #more-kyoshin .more-kyoshin__ttl {
    font-size: 2.4rem;
    padding-bottom: 7.5px;
  }
  #more-kyoshin .more-kyoshin__ttl::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
  }
  #more-kyoshin .more-kyoshin__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 12px;
    align-items: start;
  }
  #more-kyoshin .more-kyoshin__item a {
    text-decoration: none;
    color: inherit;
  }
  #more-kyoshin .more-card .more-card__img {
    border-radius: 8px;
  }
  #more-kyoshin .more-card .more-card__img img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
  }
  #more-kyoshin .more-card .more-card__body {
    margin-top: 14px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
  }
  #more-kyoshin .more-card .more-card__ttl {
    margin: 0 0 6px;
    font-size: 1.6rem;
  }
  #more-kyoshin .more-card .more-card__desc {
    font-size: 1.25rem;
  }
  #more-kyoshin .more-card {
    /* day-cardと同系の矢印（青い四角＋白の >） */
  }
  #more-kyoshin .more-card .more-card__arrow {
    margin-top: 0;
    width: 24px;
    height: 24px;
    border-radius: 4px;
  }
  #more-kyoshin .more-card .more-card__arrow::after {
    width: 7.5px;
    height: 7.5px;
    border-right: 1.5px solid #fff;
    border-bottom: 1.5px solid #fff;
  }
  #more-kyoshin .more-card:hover .more-card__img img {
    transform: scale(1.06);
  }
  #more-kyoshin .more-card:hover .more-card__arrow {
    filter: brightness(0.95);
  }
  #more-kyoshin .more-card:hover .more-card__ttl {
    text-decoration: underline;
    text-underline-offset: 6px;
  }
  #voice-pickup .voice-pickup__bg {
    padding: 64px 0 40px;
  }
  #voice-pickup {
    /* ページ見出し（他ページに合わせて） */
  }
  #voice-pickup .voice-pickup__page-head {
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: column;
    margin: 0 0 12px;
  }
  #voice-pickup .voice-pickup__page-ttl {
    font-size: 3.2rem;
  }
  #voice-pickup .voice-pickup__page-sub {
    font-size: 2.2rem;
  }
  #voice-pickup {
    /* 白カード */
  }
  #voice-pickup .voice-pickup__card {
    border-radius: 10px;
    padding: 32px 18px 36px;
    margin-top: 24px;
  }
  #voice-pickup .voice-pickup__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 26px;
    flex-wrap: wrap;
  }
  #voice-pickup .voice-pickup__head-left {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: initial;
  }
  #voice-pickup .voice-pickup__mascot {
    width: 32px;
    height: 49px;
  }
  #voice-pickup .voice-pickup__ttl {
    font-size: 2.8rem;
  }
  #voice-pickup .voice-pickup__lead {
    margin: 8px 0 0;
    font-size: 1.4rem;
  }
  #voice-pickup {
    /* グリッド（増えても崩れにくい） */
  }
  #voice-pickup .voice-grid {
    grid-template-columns: repeat(2, 1fr);
    justify-content: space-between;
    gap: 22px 12px;
  }
  #voice-pickup {
    /* ===== ここが重要：画像は 1:1 固定 ===== */
  }
  #voice-pickup .voice-item__thumb {
    border-radius: 10px;
  }
  #voice-pickup {
    /* 左上の肩書き */
  }
  #voice-pickup .voice-item__badge {
    top: 4.8px;
    left: 4.8px;
    height: 28px;
    border-radius: 4px;
    font-size: 1.25rem;
  }
  #voice-pickup .voice-item__body {
    padding-top: 8px;
  }
  #voice-pickup .voice-item__title {
    margin: 0 0 4px;
    font-size: 1.8rem;
  }
  #voice-pickup .voice-item__meta {
    font-size: 1.25rem;
  }
  /* =========================
    VOICE MODAL
    ========================= */
  .voice-modal {
    --vm-h: 640px;
    --vm-w: calc(100% - 32px);
  }
  .voice-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  /* 白ボックス */
  .voice-modal__inner {
    width: var(--vm-w);
    height: var(--vm-h);
    margin: auto;
    top: 50%;
    border: 2.4px solid #005BAC;
    border-radius: 10px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.22);
  }
  /* 閉じるボタン（右上） */
  .voice-modal__close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 2.4px solid #f7c400;
    /* 黄っぽいリング */
  }
  .voice-modal__close-ico {
    width: 16px;
    height: 16px;
  }
  .voice-modal__close-ico::before, .voice-modal__close-ico::after {
    width: 16px;
    height: 2px;
  }
  /* 中身 */
  .voice-modal__content {
    padding: 56px 24px;
    display: block;
    overflow-y: auto;
  }
  /* 左 */
  .voice-modal__left {
    gap: 18px;
    height: auto;
  }
  /* 写真（グレー） */
  .voice-modal__photo {
    border-radius: 10px;
  }
  .voice-modal__photo-dummy {
    border-radius: 10px;
  }
  .voice-modal__name {
    margin: 0 0 4px;
    font-size: 2.2rem;
  }
  .voice-modal__year {
    font-size: 1.6rem;
  }
  .voice-modal__dt {
    margin: 14px 0 6px;
    font-weight: 900;
    font-size: 1.6rem;
    color: #005BAC;
    position: relative;
    padding-left: 14px;
  }
  .voice-modal__dt::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.2em;
    width: 4px;
    height: 1.2em;
  }
  .voice-modal__dd {
    padding-left: 12px;
    font-size: 1.4rem;
  }
  .voice-modal__career-ttl {
    margin: 24px 0 2px;
  }
  .voice-modal__career-txt {
    margin: 0;
  }
  /* 右 */
  .voice-modal__right {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 8px;
  }
  /* タイトル */
  .voice-modal__ttl {
    margin: 24px 0 0px;
    font-weight: 900;
    color: #005BAC;
    font-size: 2rem;
  }
  /* タイトル下の線 */
  .voice-modal__rule {
    margin-bottom: 4.8px;
  }
  /* 右側スクロール領域 */
  .voice-modal__scroll {
    flex: 1;
    min-height: 0;
    overflow: initial;
    /* ★白ボックスの中だけスクロール */
    padding-right: 10px;
  }
  /* QA */
  .voice-modal__qa {
    margin: 0 0 12px;
  }
  .voice-modal__q {
    margin: 24px 0 12px;
    font-size: 1.8rem;
  }
  .voice-modal__a .p + .p {
    margin-top: 12px;
  }
  /* -------------------------
    続きを読む（重要）
    - 追加分は初期 opacity 0 / height 0
    - JSで .is-expanded を付けたら表示
    ------------------------- */
  .voice-modal__more {
    opacity: 1;
    /* ★指定 */
    visibility: visible;
    height: auto;
    overflow: initial;
    pointer-events: all;
    display: block;
    padding-bottom: 40px;
  }
  .voice-modal.is-expanded .voice-modal__more {
    display: none;
  }
  /* ボタン（押したら消す） */
  .voice-modal__readmore-wrap {
    display: none;
  }
  .voice-modal.is-expanded .voice-modal__readmore-wrap {
    display: none;
    /* ★押下後は非表示 */
  }
  .voice-modal__readmore {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: none;
    background: transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 900;
    font-size: 1.8rem;
    padding: 10px 10px;
    position: relative;
  }
  .voice-modal__readmore::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    height: 2px;
    background: rgba(0, 0, 0, 0.35);
  }
  .voice-modal__readmore-ico {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.08);
    display: inline-block;
    background-image: url(/clients/kyoshin/files/img/voice/arrow_right.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: transparent;
  }
  /* 下の図（画像） */
  .tap-txt {
    display: block;
  }
}/*# sourceMappingURL=style.css.map */