/*
Theme Name: Blocksy Child
Template: blocksy
Author: 『MIRAI』みらい人材サポート株式会社.
Description: Blocksyの子テーマ
Version: 1.00-1125-05
*/

/* header ヘッダー */
.header-btn-toi2 p {
	display: inline-block;
  margin-bottom: 0;
}
a.header-btn {
  display: inline-block;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.3s ease;
  background: linear-gradient(45deg, #1c5b7d 45%, #314154 75%);
  border-radius: 28px;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.2);
  text-align: center;
  text-decoration: none;
  color: #fff;
  line-height: 1.25;
  margin: 0 0.2em;
  padding: 0.5em 1.5em;
}
a.header-btn.right {
  background: linear-gradient(45deg, #314154 65%, #1c5b7d 90%);
}
a.header-btn .small {
  display: block;
  text-align: left;
  font-size: 11px;
}
a.header-btn .main {
  font-size: 16px;
  letter-spacing: 0.13em;
}
a.header-btn:hover {
  transform: translateY(2px);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
  opacity: 0.9;
  color: #fff;
}
.custom-page-header {
  position: relative;
  width: 100%;
  height: 444px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.custom-page-header__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(25, 42, 63, 0.85), rgba(25, 42, 63, 0.2));
  display: flex;
  align-items: center;
  justify-content: center;
}
.custom-page-header__inner {
  text-align: center;
  color: white;
  padding: 0 20px;
}
.custom-page-header__title {
  font-size: 2.5rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.custom-page-header__subtitle {
  font-size: 1rem;
}

/* ヘッダー画像 */
.page-header {
  position: relative;
  color: #fff;
}
.page-header__overlay {
  position: relative;
  background: linear-gradient(70deg, rgba(48, 64, 83, 0.95) 33%, rgba(48, 64, 83, 0.4) 55%, rgba(48, 64, 83, 0.1) 75%, rgba(48, 64, 83, 0.15) 100%);
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2em;
  box-sizing: border-box;
}
.page-header.slim-bg {
  height: 15rem;
  background-size: cover;
  background-position: center 38%;
}
.page-id-607 .page-header.slim-bg,
.page-id-1366 .page-header.slim-bg,
.page-id-1469 .page-header.slim-bg {
  /* 背景画像の下寄りを中心に：MIRAIについて、コンサルタント紹介、よくあるご質問ページ */
  background-position: center 80%;
}
.page-header.large-bg {
  height: 25rem;
  background-size: cover;
  background-position: center;
}
.page-header__inner {
  width: 100%;
  max-width: 950px;
  color: white;
  text-align: left;
}
.page-header__title {
  font-size: clamp( 28px, 4vw, 48px);
  color: #fff;
  line-height: 1.2;
  margin-bottom: 1rem;
}
.page-header__subtitle {
  font-size: clamp( 16px, 1.8vw, 22.5px);
  letter-spacing: 0.25em;
  line-height: 1.2;
  margin-bottom: 0;
}
.page-header__lead {
  width: 100%;
  max-width: 32em;
  height: 8em;
  font-size: clamp( 13px, 1.4vw, 15px);
  font-weight: normal;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.17em;
  line-height: 1.7;
}
.page-header__cta {
  display: inline-block;
  min-width: 250px;
  margin-top: 1em;
  padding: 12px 24px;
  background: linear-gradient(45deg, #1c5b7d 45%, #314154 75%);
  color: white;
  font-size: 1.22em;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 0 0.8em 0 #fff;
  border-radius: 4px;
  padding: 0.8em 1.15em;
}
.archive .page-header__title {
  display: none;
}
.single .page-header.slim-bg {
  height: 10rem;
}
.archive .page-header.slim-bg {
  height: 2.2rem;
}
.archive .page-header__overlay {
  padding: 0;
}
.solid-bg .page-header__overlay {
  background: none;
}
.solid-bg .page-header__inner {
  text-align: center;
}
.area-to-kai {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .page-header.slim-bg {
    height: 10rem;
  }
  .page-header.large-bg {
    height: 20rem;
  }
  .page-header__cta {
    padding: 0.5em;
  }
}
@media screen and (max-width: 485px) {
  .page-header.slim-bg {
    height: 8rem;
  }
  .page-header__lead {
    height: 12em;
  }
}

/* トップページ 全体 */
.hero-wrap {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  background-image: url(/wp-content/uploads/2025/08/mirai-main-bg-nagoya-city3a.jpg) !important;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover;
  overflow: hidden;
  position: relative;
  height: 56.25vw;
  max-height: 850px;
  min-height: 550px;
}
.hero-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right,
   rgba(48, 64, 83, 0.9),
   rgba(48, 64, 83, 0.8),
   rgba(31, 86, 118, 0.8),
   rgba(21, 99, 138, 0.9)) !important;
  opacity: 1 !important;
  z-index: 1;
}
.hero-wrap .hero-bg {
  width: 30%;
  max-width: 450px;
  z-index: 1;
}
.hero-wrap .hero-sp {
  display: none;
}
.hero-wrap .hero-text {
  width: 60%;
  padding-right: 2vw;
  z-index: 3;
}
.hero-text .hero-title {
  position: relative;
  color: #fff;
  font-size: clamp(41px, 6vw, 111px) !important;
  line-height: 1.3;
  margin-bottom: 1em !important;
}
.hero-text h1.hero-title::after {
  content: "Head Hunting";
  position: absolute;
  left: 1.25em;
  bottom: -0.68em;
  font-family: "Ms Madi", "Allura", cursive;
  font-weight: 400;
  font-size: clamp(50px, 8vw, 141px);
  color: rgba(255, 255, 255, 0.16);
  letter-spacing: 0.01em;
  line-height: 1;
  white-space: nowrap;
  z-index: -1;
  pointer-events: none;
}
.hero-text h1.hero-title span {
  font-size: 70%;
}
.hero-text .hero-eng {
  color: rgba(255, 255, 255, 0.83);
  font-size: clamp(15px, 2.1vw, 28px);
  letter-spacing: 0.2em;
  line-height: 1.8;
  margin-bottom: 3.3em !important;
}
.hero-text .map-label {
  max-width: 800px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1;
  margin-bottom: 2em !important;
}
.hero-text .map-label .map-icon {
  display: inline-flex;
  align-items: center;
  padding-right: 0.5em;
  vertical-align: sub;
}
.hero-text .map-text {
  font-size: clamp(16px, 2.2vw, 28px);
  letter-spacing: 0.17em;
}

body.home .page-header {
  position: relative;
  background-size: cover;
  background-position: center;
}
body.home .page-header__inner {
  position: relative;
  z-index: 2;
}
.home-cta .wp-block-button__link.stretched-link {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: block;
  opacity: 0;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.home-cta {
  margin-inline: auto;
}
.home-cta .wp-block-cover {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  height: 230px;
}
.home-cta .wp-block-cover::before,
.home-cta .wp-block-cover .wp-block-cover__overlay,
.home-cta .wp-block-cover__image-background {
  pointer-events: none !important;
}
.home-cta .wp-block-button__link.stretched-link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: block !important;
  opacity: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  pointer-events: auto !important;
}
.home-cta .wp-block-cover:hover {
  opacity: 0.8;
}

.top-banners {
  width: 88% !important;
  max-width: 750px !important;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
.top-banners a {
  width: 44%;
}
.top-banner img {
  max-width: 100%;
  border-radius: 8px;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
  display: block;
}
.top-banner img:hover {
  opacity: 0.8;
  transform: translateY(1px);
  box-shadow: none;
}

.top-h2-sub p {
  font-size: 1.3em;
  letter-spacing: 0.4em;
  padding-top: 0.3em;
}
.top-news li {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  flex-direction: row-reverse;
  color: #333;
  font-weight: normal;
  padding: 1.3em 1.6em;
  border-bottom: 1px solid rgba(28, 91, 125, 0.7);
}
.top-news li:first-child {
  border-top: 1px solid rgba(28, 91, 125, 0.7);
}
.top-news li time {
  width: 120px;
}
.top-news li a {
  width: calc(95% - 120px);
  color: #333;
  font-size: 0.9em;
}
.top-news li a:hover {
  color: #1C5B7D;
}
[data-pagination=simple]>div .page-numbers {
  width: 33px !important;
  height: 33px !important;
}
[data-pagination=simple] .page-numbers.current, [data-pagination=next_prev] .page-numbers.current,
[data-pagination=simple] .page-numbers:not(.dots):hover, [data-pagination=next_prev] .page-numbers:not(.dots):hover {
  border-radius: 50%;
}


@media screen and (max-width: 1200px) {
  .stk-242acad.top-main-area {
    padding-top: 100px !important;
  }
}
@media screen and (max-width: 900px) {
  .stk-242acad.top-main-area {
    height: 53vw;
  }
}
@media screen and (max-width: 767px) {
  .hero-wrap {
    display: block;
    position: relative;
    height: 80vw;
  }
  .hero-wrap .hero-bg {
    display: none;
    
  }
  .hero-wrap .hero-sp {
    display: block;
    width: 37%;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
  }
  .hero-wrap .hero-text {
    display: block;
    width: 88%;
    position: absolute;
    top: 50%;
    left: 6vw;
    transform: translateY(-50%);
    margin-top: 30px !important;
  }
  .hero-text .map-label {
    display: inline-block;
    margin-bottom: 0 !important;
  }
  .hero-text .map-icon {
    padding-right: 0 !important;
  }

  .top-banners {
    flex-direction: column;
  }
  .top-banners a {
    width: 100%;
    max-width: 380px;
    margin: 1.5em auto 0;
  }
}
@media screen and (max-width: 485px) {
  .hero-wrap {
    height: 125vw;
    max-height: 450px;
    min-height: 400px;
  }
  .hero-text .hero-title {
    margin-bottom: 1.4em !important;
  }
  .hero-text h1.hero-title::after {
    left: unset;
    right: 0;
  }
  .hero-text .hero-eng {
    margin-bottom: 1.7em !important;
  }
  .hero-text .map-label {
    margin-bottom: 10vw !important;
  }
  .hero-text .map-label .map-icon svg {
    width: 21px;
    height: 21px;
  }
}


/* トップページ 背景 */
.corner-bg {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  --tl-w: 7vw;
  --tl-h: 14vw;
  --br-w: 7vw;
  --br-h: 14vw;
}
.corner-bg > * {
  position: relative;
  z-index: 2;
}
.corner-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  clip-path: polygon(0 0, var(--tl-w) 0, 0 var(--tl-h));
}
.corner-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  clip-path: polygon(100% 100%, calc(100% - var(--br-w)) 100%, 100% calc(100% - var(--br-h)));
}
.corner-bg.corner-about::before,
.corner-bg.corner-page-about::after {
  background: #F0F0F0;
}
.corner-bg.corner-about::after,
.corner-bg.corner-consul::before,
.corner-bg.corner-consul::after,
.corner-bg.corner-page-about::before {
  background: #FFF;
}
/* サービス比較表 テーブル調整 */
.mirai-compare-wrap {
  overflow-x: auto;
  text-align: center;
}
p.scroll-x-hint {
  display: none;
}
table.mirai-compare {
  width: 100%;
  min-width: 800px;
  max-width: 980px;
  background: none;
  border: none;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
  margin: 2em auto 0;
}
table.mirai-compare::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc( ( 100% - 175px ) / 2 );
  height: 100%;
  background: linear-gradient(45deg, #314154 20%, #1F5676 68%, #0080B8 98%);
  border-radius: 16px;
  z-index: 0;
}
.mirai-compare .mirai-col {
  background: transparent !important;
  color: #fff;
  position: relative;
  z-index: 1;
}
.mirai-compare th,
.mirai-compare td {
  padding: 1.5em;
  line-height: 1.6;
  border: none;
}
.mirai-compare td {
  text-align: left;
  font-size: 0.9em;
}
.mirai-compare .row-label {
  position: relative;
  vertical-align: middle;
  font-weight: bold;
  color: #1C5B7D;
}
.mirai-compare .row-label::after {
  content: "●";
  position: absolute;
  right: -0.6em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.8rem;
  line-height: 1;
  color: #3a78a8;
  pointer-events: none;
}
.mirai-compare th.bullet, .mirai-compare-sp th.bullet {
  position: relative;
}
.mirai-compare th.bullet::before,
.mirai-compare-sp th.bullet::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 11px;  height: 11px;
  border-radius: 50%;
  background: #3a78a8;
  opacity: .95;
}
.mirai-compare th.mirai-col::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 11px;  height: 11px;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
}
.mirai-compare td.bullet,
.mirai-compare-sp td.bullet {
  position: relative;
  padding-left: clamp(28px, 3vw, 34px);
}
.mirai-compare thead th {
  text-align: center;
  font-weight: 800;
}
.mirai-compare .mirai-col + .mirai-col,
.mirai-compare-sp .mirai-col + .mirai-col {
  border-top: 0;
}
.mirai-compare thead th {
  text-align: center;
  font-weight: 700;
  color: #1C5B7D;
}
table.mirai-compare-sp {
  display: none;
}
@media screen and (max-width: 820px) {
  p.scroll-x-hint {
    display: block;
    text-align: right;
    color: #1C5B7D;
    font-size: 0.9em;
    padding: 1em 1.5em 0 0;
    margin: 0;
  }
  table.mirai-compare {
    margin: 0.5em auto;
  }
}
@media screen and (max-width: 767px) {
	table.mirai-compare {
	background:#fff !important;
	}
  .home-cta { max-width: 92vw; }
  .home-cta .wp-block-cover { aspect-ratio: 4 / 3; }
}
@media screen and (max-width: 689px) {
  .top-news li {
    padding: 0.7em 0;
  }
  .top-news li a {
    width: calc(98% - 90px);
  }
  .top-news li time {
    width: 90px;
  }
  a.page-numbers {
  border-radius: 50%;
  }
  table.mirai-compare {
    display: none;
  }
  table.mirai-compare-sp {
    display: table;
    width: 100%;
    min-width: 170vw;
    background: none;
    border: none;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    border-radius: 16px;
    position: relative;
    overflow: hidden;
    margin: 0.5em auto 1em;
  }
  table.mirai-compare-sp::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(45deg, #314154 20%, #1F5676 68%, #0080B8 98%);
    border-radius: 16px;
    z-index: 0;
  }
  .mirai-compare-sp .mirai-col {
    background: transparent !important;
    color: #fff;
    position: relative;
    z-index: 1;
  }
  .mirai-compare-sp th.mirai-col::before {
    content: "";
    position: absolute;
    left: 42vw;
    transform: translateX(-42%);
    bottom: 0;
    width: 11px;  height: 11px;
    border-radius: 50%;
    background: rgba(255,255,255,.9);
  }
  .mirai-compare-sp tr {
    align-self:flex-start;
  }
  .mirai-compare-sp th,
  .mirai-compare-sp td {
    padding: 1.5em;
    line-height: 1.6;
    border: none;
  }
  .mirai-compare-sp th {
    font-size: 1.2em;
  }
  .mirai-compare-sp th span {
    font-size: 125%;
  }
  .mirai-compare-sp td {
    text-align: left;
    font-size: 0.95em;
    vertical-align: top;
  }
  .mirai-compare-sp .sp-heading {
    display: block;
    color: #fff;
    font-size: 1.15em;
    font-weight: 700;
    margin-bottom: 0.5em;
  }
  .mirai-compare-sp .bullet .sp-heading {
    color: #1C5B7D;
  }
}

/* header グローバルメニュー */
.ct-header [data-menu] > .menu-item > .ct-menu-link:hover {
  color: #314154;
}
.ct-header [data-menu] > .menu-item.current-menu-item > .ct-menu-link,
.ct-header [data-menu] > .menu-item.current-menu-ancestor > .ct-menu-link {
  color: #1C5B7D;
}
.ct-header [data-menu] .sub-menu {
  margin-top: 0.5px !important;
  top: 100% !important;
}
.ct-header [data-menu] .sub-menu li {
  border: none !important;
}
.ct-header [data-menu] .sub-menu .ct-menu-link {
  padding-top: 0.8em;
  padding-bottom: 0.8em;
  line-height: 1.4;
}
.ct-header [data-menu] .sub-menu .ct-menu-link:hover {
  background-color: #314154;
  color: #fff;
}
.ct-header [data-menu] .sub-menu .current-menu-item > .ct-menu-link,
.ct-header [data-menu] .sub-menu .current-menu-ancestor > .ct-menu-link {
  background-color: #1C5B7D;
  color: #fff;
}
.mobile-menu li.menu-item-object-page {
  border-bottom: solid 1px #e5eaed;
}
.mobile-menu ul.sub-menu li {
  border-bottom: solid 1px #627b8b;
}
@media screen and (max-width: 1200px) and (min-width: 1000px) {
  #header [data-column="start"] img {
    max-width: 160px;
    height: auto;
    padding-top: 0.25em;
  }
  #header [data-column="middle"] {
    flex: 1 1 auto;
    justify-content: center;
  }
  #header [data-column="end"] {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    width: 330px;
  }
  #header [data-column="end"] a {
    min-width: 150px;
    font-size: 0.9rem;
    padding: 5px 16px;
    white-space: nowrap;
  }
}
@media screen and (max-width: 1000px) {
  [data-header*="type-1"] #offcanvas {
    background-color: rgba(0, 0, 0, 0.35) !important;
  }
  [data-header*="type-1"] #offcanvas .ct-panel-inner {
    background: linear-gradient(45deg,
   rgba(48, 64, 83, 0.8),
   rgba(48, 64, 83, 0.7),
   rgba(31, 86, 118, 0.7),
   rgba(21, 99, 138, 0.8)) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    width: 80vw !important;
    transform: none !important;
  }
  [data-header*="type-1"] #offcanvas .ct-menu-link,
  [data-header*="type-1"] #offcanvas .ct-icon {
    color: #fff !important;
    opacity: 0.95;
  }
  #offcanvas a.header-btn  {
  min-width: 188px;
  margin: 1em 0.5em 0 0;
  }
  [data-header*="type-1"] #offcanvas .ct-social-box {
  display: none !important;
  }
  .mobile-menu .ct-toggle-dropdown-mobile {
    width: 28px;
    height: 28px;
    margin-right: 0;
  }
  .mobile-menu .ct-toggle-dropdown-mobile svg {
    width: 20px;
    height: 20px;
  }
  .mobile-menu .sub-menu-toggle svg {
    fill: #e6ffff !important;
  }
  .mobile-menu .sub-menu-toggle.open svg {
    transform: rotate(180deg);
    transition: transform 0.2s ease;
  }
  .mobile-menu .sub-menu-toggle:hover svg {
    fill: #fff !important;
  }
}
@media screen and (max-width: 600px) {
  #offcanvas .ct-panel-content-inner {
    padding: 0.7em 1.6em 1.6em;
  }
}

/* 共通設定 font */
.hina-mincho {
  font-family: 'Hina Mincho', serif;
}
.shippori-mincho, .page-header__subtitle, .page-header__cta {
  font-family: 'Shippori Mincho', Sans-Serif;
}
.fw400 {
  font-weight: 400;
}
.fw-b {
  font-weight: bold;
}
.lh014 {
  line-height: 1.4;
}
.lh018 {
  line-height: 1.8;
}
.ls007em {
  letter-spacing: 0.07em;
}
.ls015em {
  letter-spacing: 0.15em;
}
.ls03em {
  letter-spacing: 0.3em;
}
.longword-fit {
  font-size: 95%;
  letter-spacing: normal;
}
/* 下からフェードイン */
.mirai-reveal {
  opacity: 1;
  transform: none;
  transition: all .4s ease-out;
}
.js .mirai-reveal.will-animate {
  opacity: 0;
  transform: translateY(70px);
}
.js .mirai-reveal.is-visible {
  opacity: 1;
  transform: none;
}
/* 左からフェードイン */
.mirai-reveal-left {
  opacity: 1;
  transform: none;
  transition: all .5s ease-out;
}
.js .mirai-reveal-left.will-animate {
  opacity: 0;
  transform: translateX(-70px);
}
.js .mirai-reveal-left.is-visible {
  opacity: 1;
  transform: none;
}
/* 遅延バリエーション（共通で使用可能） */
.mirai-reveal.mirai-reveal--d1,
.mirai-reveal-left.mirai-reveal--d1 {
  transition-delay: .4s;
}
.mirai-reveal.mirai-reveal--d2,
.mirai-reveal-left.mirai-reveal--d2 {
  transition-delay: .5s;
}
.mirai-reveal.mirai-reveal--d3,
.mirai-reveal-left.mirai-reveal--d3 {
  transition-delay: .6s;
}
.mirai-reveal.mirai-reveal--d4,
.mirai-reveal-left.mirai-reveal--d4 {
  transition-delay: .7s;
}
.mirai-reveal.mirai-reveal--d5,
.mirai-reveal-left.mirai-reveal--d5 {
  transition-delay: .8s;
}
.mirai-reveal.mirai-reveal--d6,
.mirai-reveal-left.mirai-reveal--d6 {
  transition-delay: .9s;
}
.mirai-reveal.mirai-reveal--d7,
.mirai-reveal-left.mirai-reveal--d7 {
  transition-delay: .10s;
}
/* アニメが苦手な人の設定を尊重（任意） */
@media (prefers-reduced-motion: reduce) {
  .mirai-reveal,
  .mirai-reveal-left {
    transition: none;
    opacity: 1 !important;
    transform: none !important;
  }
}
/* 英字タイトル1文字ずつフェードインアニメーション */
h2.stk-block-heading__text {
  visibility: hidden;
}
h2.stk-block-heading__text.animate-title {
  visibility: visible;
}
.animate-title .char {
  display: inline-block;
  opacity: 0;
  transform: translateY(18px);
  animation: fadeUp 0.55s ease forwards;
}
@media screen and (max-width: 999px) {
  h2.stk-block-heading__text.animate-title {
    font-size: 28px !important;
  }
  .wp-block-stackable-columns.top-headline {
    margin-bottom: 0 !important;
  }
}
/* ふわっと上がるアニメーション定義 */
@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(18px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 共通設定 矢印と円のリンクボタン */
.c-button {
    margin-right: 1em;
  }
.c-button, .c-button-social > a {
  position: relative;
  outline: none;
  display: inline-flex;
  align-items: center;
  color: #333;
  text-decoration: none;
  transition: all 0.3s;
  background: transparent;
  border: none;
  margin-left: auto;
  padding: 0;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.6;
  font-weight: 600;
  transition: all 0.2s 0s ease;
}
.c-button:before, .c-button-social > a:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateX(40%) translateY(-50%);
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  border: 1px solid #1C5B7D;
  box-sizing: border-box;
  transition: all 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
.c-button::after, .c-button-social > a::after {
  content: "";
  width: 5.8rem;
  height: 0.9rem;
  background-image: url("./assets/images/img-arrow-right01b.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  margin-left: 0.9rem;
}
.c-button:hover, .c-button-social > a:hover {
  opacity: 1;
  color: rgba(0, 0, 0, 0.5);
}
.c-button.is-secondary, .c-button-social > a.is-secondary {
  background-color: #4F88A6;
  color: #1C5B7D;
  border-color: #4F88A6;
}
.news-c-button {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  margin-block-end: 0 !important;
}
.news-c-button .c-button {
  display: inline-flex;
  align-items: center;
  margin-left: 0;
}
@media screen and (min-width: 900px) {
  .c-button:hover:before, .c-button-social > a:hover:before {
    width: 5.25rem;
    height: 5.25rem;
  }
}

/* レスポンシブ改行 */
.pc-br {
  display: block;
}
.tb-br, .sp-br {
  display: none;
}
@media screen and (max-width: 767px) {
  .pc-br {
    display: none;
  }
  .tb-br {
    display: block;
  }
}
@media screen and (max-width: 485px) {
  .sp-br {
    display: block;
  }
}

/* --- Back to Top ボタン --- */
.custom-back-to-top {
  opacity: 0;
  transform: scale(0.8);
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 40px;
  height: 40px;
  background: #314154 !important;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0,0,0,0.25);
  z-index: 5;
  will-change: transform, opacity;
}
.custom-back-to-top.ct-show {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
.custom-back-to-top:hover {
  background: #037cb2 !important;
}

/* footer フッター */
[data-footer*="type-1"] .ct-footer {
  background-image: url(/wp-content/uploads/2025/08/mirai-footer-bg-nagoya.jpg);
  background-position: center 44%;
  background-size: cover;
}
[data-footer*="type-1"] .ct-footer .ct-container {
  max-width: 980px;
}

/* フッターメニュー */
.ct-footer .ct-widget:not(:first-child) {
  margin-top: 0 !important;
}
.ct-footer .ct-widget .wp-block-image img {
    width: 100%;
    max-width: 248px;
}
.footer-menu1 {
  margin-bottom: 0 !important;
}
.footer-menu2 {
  margin-top: 0 !important;
}
.footer-menu1 > .menu,
.footer-menu2 > .menu {
  font-size: 0.9em;
  list-style: none;
  margin: 0 0 0.8em;
  padding: 0;
}
.footer-menu1 > .menu {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 40px;
}
.footer-menu1 li.menu-item {
  display: block !important;
  align-items: initial !important;
}
.footer-menu1 .sub-menu li {
  display: block;
  margin: 0.2em 0;
}
.footer-menu1 > .menu > li > a {
  display: block;
  color: #e2e2e2;
  font-weight: 400;
}
.footer-menu1 > .menu > li > .sub-menu {
  position: static !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
}
.footer-menu1 > .menu > li > .sub-menu > li > a {
  display: inline-block;
  line-height: 1.7;
  color: #bbb;
  font-size: 0.95em;
  padding: 0 0 0 1.05em;
  background: transparent !important;
}
.footer-menu1 > .menu > li > .sub-menu > li > a::before {
  content: "＞ ";
  font-size: 0.7em;
  opacity: .8;
}
.footer-menu2 > .menu {
  display: flex;
  flex-direction: column;
  gap: 0.4em;
}
.footer-menu2 > .menu > li > a {
  display: inline-block;
  color: #e2e2e2;
}
.ct-footer a:hover {
  text-decoration: underline;
  text-decoration-color: #e2e2e2;
  text-underline-offset: 0.8ex;
}
@media screen and (max-width: 768px) {
  #block-18 {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  #block-18 .footer-menu1 {
    width: 48%;
  }
  #block-18 .footer-menu2 {
    width: 50%;
  }
  .footer-menu1 > .menu {
    grid-template-columns: 1fr;
    row-gap: 10px;
  }
  .footer-menu1 > .menu > li > .sub-menu > li > a {
    padding-left: 1.1em;
  }
}

/* MIRAIについて */
.inner980 {
  width: 88%;
  max-width: 980px;
}
.title-r {
  display: flex;
  flex-direction: column-reverse;
}
.title-r h2 {
  font-size: 3em;
}
h3.under-miniline {
  display: inline-block;
  position: relative;
  color: #333;
  font-size: 1.5em;
  padding-bottom: 0.28em;
}
h3.under-miniline:before {
  content: '';
  display: inline-block;
  position: absolute;
  bottom: -0.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 4px;
  background-color: #1C5B7D;
  border-radius: 2px;
}
.mirai-company {
  background-image: url(/wp-content/uploads/2025/08/mirai-company-bg.png);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 95vh;
  margin: 4rem auto 7rem;
}
.mirai-company table {
  width: 85% !important;
  max-width: 650px;
  border-collapse: collapse;
  border: none;
  line-height: 1.8;
  margin: 0 auto;
}
.mirai-company th,
.mirai-company td {
  padding: 1.5em 0 !important;
  border: none !important;
  border-bottom: 1px solid #1c5b7d !important;
}
.mirai-company th {
  width: 25%;
  color: #1C5B7D;
  /* text-align: left; */
  font-weight: normal;
}
.mirai-company td {
  padding-left: 0.5em;
}
.about-message-flex {
  line-height: 2.0;
}
.about-message-txt-size {
  font-size: clamp( 14px, 16px, 18px);
}
.about-message-flex .about-message-txt {
  width: 65% !important;
}
.about-message-flex .about-message-img {
  width: 35% !important;
  padding: 0 1em;
}
.about-message-flex .about-message-txt100 {
  width: 95% !important;
  padding: 0 8px;
}
@media screen and (max-width: 767px) {
  .title-r h2 {
    font-size: 2.4em;
  }
  .wp-block-table.mirai-company {
    margin: 1em auto 7em;
  }
}
@media screen and (max-width: 680px) {
  .mirai-service-logo {
    width: 70% !important;
    max-width: 270px !important;
    margin-bottom: 2em !important;
  }
  .title-r h2 {
    font-size: 2.1em;
  }
  .mirai-company th,
  .mirai-company td {
    display: block;
    width: 100%;
  }
  .mirai-company th {
    text-align: left;
    border-bottom: 0 !important;
    padding-bottom: 0.33em !important;
  }
  .mirai-company td {
    padding-top: 0 !important;
  }
  .about-message-flex {
    letter-spacing: 0.12em;
    line-height: 1.8;
  }
  .about-message-flex .stk-block-columns {
    flex-direction: column !important;
    align-items: center !important;
  }
  .about-message-flex .stk-column {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .about-message-flex .about-message-img {
    width: 100% !important;
    max-width: 280px;
    text-align:center;
    padding-bottom: 1em;
  }
  .about-message-flex .about-message-txt,
  .about-message-flex .about-message-txt100 {
    width: 90% !important;
  }
  .about-message-sign .stk-62d42ff-column {
    max-width: 150px !important;
  }
  .about-message-sign .stk-e7c1bde-inner-blocks {
    margin-bottom: 0 !important;
  }
}
@media screen and (max-width: 485px) {
  .mirai-reveal-left, .mirai-reveal {
    padding-right: 1.25em !important;
    padding-left: 1.25em !important;
  }
  .mirai-mission-subt {
    margin-top: 0.8em !important;
  }
}

/* コンサルタント紹介 */
.consultant-name {
  position: relative;
  margin: 4rem auto 0.4rem !important;
}
.consultant-name h2 {
  margin: 0 auto !important;
}
.consultant-name h3 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 0;
}
.consulting-member {
  width: 100%;
  max-width: 300px;
  margin: auto;
}
.advisor-img {
  width: 100%;
  max-width: 200px;
  margin: auto;
}
.expertise-area h4 {
  font-size: 1.1em;
  font-weight: normal;
}
.expertise-area p {
  font-size: 0.9em;
}
@media screen and (max-width: 689px) {
  .consultant-name h3 {
    top: -0.4em;
  }
  .expertise-area {
    margin: 0.5em 3vw;
  }
}
@media screen and (max-width: 485px) {
  .expertise-area {
    margin: 0.5em;
  }
}

/* 個人の方へ、法人の方へ */
.stk-column-wrapper>.stk-inner-blocks {
  margin-bottom: 1.5em;
}
.strength-3items .stk-column img {
  position: relative;
}
.strength-3items .stk-column .txt-box {
  width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.strength-3items .stk-column .txt-box h3 {
  height: 2.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
  font-size: clamp( 18px, 1.7vw, 22px);
}
.qanda-area {
  padding: 2.5em 5em;
}
.qanda-area h3 {
  font-size: 19px;
  font-weight: 500;
}
.qanda-area .wp-block-stackable-divider {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.qanda-area .wp-block-stackable-divider hr.stk-block-divider__hr {
    margin: 1em 0 !important;
    line-height: 0 !important;
}
.qanda-area h3 + .wp-block-stackable-divider {
    margin-top: 0 !important;
}
#autozip {
  display: none !important;
}
.page-id-883 .link-btn-candidate {
  max-width: 980px !important;
  margin: 2.5em auto 1.5em;
}
.page-id-883 .link-btn-right {
  display: block;
  text-align: right;
}
@media screen and (max-width: 689px) {
  .strength-3items .stk-inner-blocks {
    width: 88%;
  }
}

/* ========= Donut 基本サイズ & 太さ ========= */
:root {
  --donut-size: 250px;            /* 円グラフの描画サイズ */
  --ring: 11;                      /* リングの太さ（px） */
  --donut-bg: #e9eef3;            /* 背景リング色 */
}
/* SVG 本体（回転しない） */
.donut-chart {
  width: var(--donut-size);
  height: var(--donut-size);
  display: block;
  overflow: visible;
  margin: auto;
}
/* 背景リング */
.donut-bg {
  fill: none;
  stroke: var(--donut-bg);
  stroke-width: var(--ring);
}
/* 各セグメント（12時起点：25 で +90°） */
.donut-slice {
  fill: none;
  stroke: var(--color, #4a61d1);
  stroke-width: var(--ring);
  stroke-linecap: butt;
  stroke-dasharray: 0 100;                   /* 0 からアニメで描く */
  stroke-dashoffset: calc(25 - var(--offset));/* 3時→12時の +90°補正 */
  transition: stroke-dasharray .8s ease;
}
/* スクロールで 1 回だけ描画 */
.donut.animate .donut-slice {
  animation: donut-draw .9s ease forwards;
  animation-delay: var(--delay, 0s);
}
@keyframes donut-draw {
  from{ stroke-dasharray: 0 100; }
  to  { stroke-dasharray: var(--val, 0) calc(100 - var(--val, 0)); }
}
/* パーセントの外周ラベル */
.donut-chart .labels { display: none; }
/* レイアウトと凡例 */
.chart-wrap {
  width: 100%;
  max-width: 700px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 1rem auto 4rem;
}
.chart-wrap .donut {
  width: 48%;
  text-align: center;
}
.chart-wrap .legend {
  width: 48%;
  list-style: none;
  margin: 0;
  padding: 1rem;
  font-size: .95rem;
}
.chart-wrap .legend li {
  display: grid;
  grid-template-columns: 20px 1fr auto;
  gap: .5rem;
  align-items: center;
  margin: .25rem 0;
  font-family: 'Hina Mincho', serif;
  line-height: 2;
  letter-spacing: 0.07em;
}
.chart-wrap .legend .sw {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: inline-block;
}
.chart-wrap .legend .txt { flex: 1; }
.chart-wrap .legend .val { font-weight: 700; }
.chart-title {
  font-size: 1.25em;
  font-weight: 600;
  letter-spacing: 0.2em;
  color: #1C5B7D;
  margin: 2rem auto 1.5rem;
  text-align: center;
  position: relative;
}
.chart-title::after {
  content: "";
  display: block;
  width: 28px;
  height: 2px;
  margin: 6px auto 0;
  background: #1C5B7D;
  border-radius: 1px;
}
@media screen and (max-width: 689px) {
  .chart-wrap {
    flex-wrap: wrap;
  }
  .chart-wrap .donut {
    width: 100%;
  }
  .chart-wrap .legend {
    width: 100%;
    max-width: 400px;
    margin: 2em auto 0;
  }
}

/* -------------------------------------------
   CASEスライダー（ベース設定）
------------------------------------------- */
.case-slider {
  position: relative;
  width: 86% !important;
  max-width: 980px !important;
  margin: 0 auto;
  margin-block-end: 0;
  overflow: visible;
}
.case-card {
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 5px 8px rgba(0,0,0,0.3) !important;
  transition: all 0.4s ease;
  position: relative;
  background-clip: padding-box;
  margin: 55px auto 1em;
  padding-top: 55px !important;
  padding-bottom: 3em !important;
}
.swiper-slide-active .case-card {
  box-shadow: 0 0 0 rgba(0,0,0,0);
}
.case-card.is-center {
  position: relative;
  z-index: 2;
  box-shadow: none !important;
}

.case-card-img img {
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50% !important;
  width: 100px;
  height: 100px;
  object-fit: cover;
  margin-top: -100px;
  z-index: 1;
}
.case-card .wp-block-table {
  margin-bottom: 0;
}
.case-card h4 {
  padding: 0.5em 0 !important;
}
.case-card .case-arrow {
  padding: 0.3em 0;
}
.case-card .case-arrow p {
  transform: scale(1.1, 0.7);
}
.case-card table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
}
.case-card table:nth-child(2) {
  position: relative;
}
.case-card table:nth-child(2)::before {
  position: absolute;
  left: 0;
  content: "■";
}
.case-card table, .case-card table td, .case-card table tr {
  border: none;
}
.case-card table td {
  font-size: 0.85em;
  text-align: left;
  padding: 0 0 0.2em;
  line-height: 1.5;
}
.case-card table td:first-child {
  width: 5.5em;
  padding-left: 1.5em;
  white-space: nowrap;
}
.case-card .case-table-bottom {
  position: relative;
}
.case-card .case-table-bottom::before {
    content: "";
    position: absolute;
    top: 50%;
    bottom: 0;
    transform: translateY(-50%);
    left: 0.2em;
    width: 4px;
    height: 80%;
    border-radius: 2px;
    background: linear-gradient(180deg, #037CB2 0%, #314154 100%);
    z-index: 1;
    pointer-events: none;
}
.swiper-slide.is-active-center .case-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 7px;
  padding: 8px;
  background: linear-gradient(225deg,#037CB2 0%,#314154 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 1;
}
.swiper-slide.is-active-center .case-card{
  box-shadow:0 0 0 rgba(0,0,0,0);
}
/* CASE タブの場合 */
.case-tabs-in {
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 auto;
}
/* CASE スライダー：矢印とドット */
.case-slider .swiper-button-prev,
.case-slider .swiper-button-next {
  position: absolute;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50%;
  background: #314154;
  box-shadow: 0 3px 6px rgba(0,0,0,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  transition: all 0.25s ease;
  cursor: pointer;
  line-height: 0;
}
.case-slider .swiper-button-prev {
  left: -26px !important;
}
.case-slider .swiper-button-next {
  right: -26px !important;
}
.case-slider .swiper-button-prev::after,
.case-slider .swiper-button-next::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
}
.case-slider .swiper-button-prev::after {
  border-width: 8px 9px 8px 0;
  border-color: transparent #fff transparent transparent;
  margin-right: 2px;
}
.case-slider .swiper-button-next::after {
  border-width: 8px 0 8px 9px;
  border-color: transparent transparent transparent #fff;
  margin-left: 2px;
}
.case-slider .swiper-button-prev:hover,
.case-slider .swiper-button-next:hover {
  background: #fff;
  transform: translateY(-50%) scale(1.05);
}
.case-slider .swiper-button-prev:hover::after{
  border-color: transparent #314154 transparent transparent;
}
.case-slider .swiper-button-next:hover::after {
  border-color: transparent transparent transparent #314154;
}
.case-slider::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: #fff;
  z-index: 5;
  pointer-events: none;
}
.case-slider::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  background-color: #fff;
  z-index: 5;
  pointer-events: none;
}
/* 中央カードを強調 */
.is-active .case-card {
  border: 3px solid transparent;
  background-clip: padding-box;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
  position: relative;
}
/* ---- ↕ 両スライダー端の隠す幅 ---- */
.case-slider::before,
.case-slider::after,
.flow-slider::after {
  width: 41px;
}
@media screen and (max-width: 900px) {
  .case-slider::before,
  .case-slider::after,
  .flow-slider::after {
    display: none;
  }
}
@media screen and (max-width: 599px) {
  .case-slider .swiper-slide {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  .case-slider .swiper-button-next,
  .case-slider .swiper-button-prev,
  .case-slider .swiper-button-prev:hover,
  .case-slider .swiper-button-next:hover {
    transform: none;
  }
  .case-card {
    box-shadow: 0 5px 8px rgba(0, 0, 0, 0.3);
    border-radius: 7px;
    border: 8px solid #1c5b7d !important;
  }
  .case-slider {
    margin-block-end: -2em !important;
    padding-bottom: 2em;
  }
  .case-card::before,
  .case-card::after,
  .swiper-slide.is-active-center .case-card::before,
  .swiper-slide.is-active-center .case-card::after {
    display: none !important;
    content: none !important;
  }
  .case-slider[data-cb-breakpoints]::after {
    content: '{"slidesPerView":1,"slidesPerGroup":1}' !important;
    display: none;
  }
}

/* ---- FLOW スライダー ---- */
.flow-slider {
  position: relative;
  width: 86% !important;
  max-width: 980px !important;
  margin: 0 auto;
  margin-block-end: 0;
  overflow: visible;
}
.flow-slider h3, .flow-slider h4 {
  text-align: center;
  font-family: 'Shippori Mincho', Sans-Serif;
  font-size: 1.35em;
  font-weight: 500;
}
.flow-heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 3em;
  text-align: center;
}
.flow-heading h4 {
  margin: 0;
  line-height: 1.4;
}
.wp-block-separator.is-style-wide {
  border: none;
  height: 3px !important;
  width: 4em;
  border-radius: 3px;
  background-color: #314154;
  margin: 0 auto 1.5em;
}
/* FLOW スライダー：矢印とドット */
.flow-slider .swiper-button-prev { display: none !important; }
.flow-slider .swiper-button-next {
  position: absolute;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 3px 6px rgba(0,0,0,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  right: -26px !important;
  transform: translateY(-50%);
  z-index: 10;
  transition: all 0.25s ease;
  cursor: pointer;
  line-height: 0;
}
.flow-slider .swiper-button-next::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 9px;
  border-color: transparent transparent transparent #314154;
  margin-left: 2px;
}
.flow-slider .swiper-button-next:hover {
  background: #314154;
  transform: translateY(-50%) scale(1.05);
}
.flow-slider .swiper-button-next:hover::after {
  border-color: transparent transparent transparent #fff;
}
.flow-slider::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  background-color: #314154;
  z-index: 5;
  pointer-events: none;
}
.flow-slider .swiper-slide {
  flex-shrink: 0;
  height: auto !important;
  margin-right: 26px;
}
.flow-slider .swiper-slide > * {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.flow-body p {
  font-size: 0.93em;
}
.flow-card {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
}
.flow-card .flow-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
:is(.is-layout-constrained) > :first-child{ margin-block-start: 0; }
:is(.is-layout-constrained) > :last-child { margin-block-end: 0; }
/* ドットページネーション */
.flow-slider .swiper-pagination-bullets {
  bottom: -3.5rem !important;
}
.flow-slider .swiper-pagination-bullet {
  width: 12px !important;
  height: 12px !important;
  margin: 0 6px !important;
  background: #fff !important;
  opacity: 1 !important;
  transition: background 0.3s ease;
}
.flow-slider .swiper-pagination-bullet-active {
  background: #037CB2 !important;
  transform: scale(1.15);
}
@media screen and (max-width: 599px) {
  .flow-slider .swiper-button-next {
    right: 0;
    transform: none;
  }
  .flow-slider .swiper-slide > * {
    margin-right: 38px;
  }
}

/* NEWS一覧、投稿ページ */
.blog .site-main {
  background-color: #f0f0f0;
}
.blog .site-main .ct-container {
  background-color: #fff;
  margin: 5rem auto;
}
[data-archive=default][data-layout=simple]>article:not(:last-child) {
  margin: 0 auto !important;
}
.blog .site-main .entry-card {
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
  padding: 1.4em 1.2em !important;
}
.blog .site-main .entry-card:first-child {
  border-top: 1px solid rgba(28, 91, 125, 0.7);
}
.blog .site-main .card-content {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  flex-direction: row-reverse;
  flex-wrap: wrap;
}
.blog .site-main .card-content .entry-title {
  width: calc( 95% - 100px );
  font-weight: normal;
}
.blog .site-main .card-content .entry-meta {
  width: 100px;
  font-weight: normal;
}
[data-pagination=simple] .page-numbers.prev,
[data-pagination=simple] .page-numbers.next {
  display: none !important;
}
@media screen and (max-width: 767px) {
  body.single-post h1.page-title {
    font-size: 22px !important;
  }
  .blog .site-main .ct-container {
    padding: 1.7rem 0 !important;
  }
  .blog .site-main .entry-card {
    padding: 0.7em 0.2em !important;
  }
  .blog .site-main .card-content {
    align-items: flex-start;
    flex-direction: column-reverse;
  }
  .card-content ul.entry-meta {
    width: 100%;
    margin-top: 0 !important;
    padding: 0 0 0.3em 0.5em !important;
  }
  .blog .site-main .card-content .entry-title {
    width: 100% !important;
  }
}

/* プライバシーポリシーページ */
.privacy-policy .inner980 h2 {
  font-size: 2.5em;
}
.privacy-policy .inner980 p, .privacy-policy .inner980 ol {
  font-size: 95%;
}
.privacy-policy .inner980 p {
  margin-top: 4em;
}
.privacy-policy .inner980 ol {
  margin-top: 3em;
}
.privacy-policy .inner980 ol li {
  padding: 0.5em 0;
}

/* メールフォーム */
:root {
  --mr-color-text: #314154;
  --mr-color-border: #a2a2a2;
  --mr-color-accent: #314154;
  --mr-color-accent-hover: #1c5b7d;
  --mr-color-danger: #d33;
  --mr-color-required: #f00;
  --mr-color-placeholder: #aaa;
  --mr-color-focus-bg: #f7f7f7;
  --mr-input-h: 40px;
  --mr-gap-xs: .2em;
  --mr-gap-sm: .3em;
  --mr-gap-md: .5em;
}
.stk-3279294-column {
  width: 86%;
}
.wpcf7 .wpcf7-form-control-wrap {
  position: relative;
  display: block;
  vertical-align: baseline;
  padding-bottom: 1.3em;
}
.wpcf7 input,
.wpcf7 textarea {
  margin-bottom: 0;
  height: var(--mr-input-h);
  box-sizing: border-box;
}
.wpcf7 textarea {
  height: auto;
  min-height: var(--mr-input-h);
}
.wpcf7 form p { margin: 0 0 .2em; }
.wpcf7 form p br { line-height: 0; }
.wpcf7 select option:first-child, .wpcf7 select:invalid, input::placeholder {
  font-size: 13px;
  color: var(--mr-color-placeholder);
}
.wpcf7 select option {
  #0a0a0a;
}
.form-required {
  color: var(--mr-color-required);
  font-weight: 700;
}
.wpcf7-form-control {
  border-color: var(--mr-color-border) !important;
  margin-bottom: var(--mr-gap-sm);
}
.wpcf7-form-control:focus {
  background: var(--mr-color-focus-bg) !important;
  border-color: var(--mr-color-accent) !important;
  outline: none;
}
.wpcf7 .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  position: absolute;
  left: 0;
  bottom: 0;
  margin: 0;
  white-space: nowrap;
  font-size: .85em;
  color: var(--mr-color-danger);
}
.wpcf7 input[name="zip"] { max-width: 150px; }
.wpcf7 input[name="your-year"],
.wpcf7 input[name="your-month"],
.wpcf7 input[name="your-day"] {
  max-width: 120px;
  display: inline-block !important;
  margin-right: var(--mr-gap-xs);
}
.wpcf7 .wpcf7-list-item {
  display: inline-block;
  margin: 0 1.5em 0 0;
  line-height: 1;
}
.wpcf7 .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.wpcf7 .wpcf7-list-item input[type="radio"] {
  margin: 0;
  vertical-align: middle;
  transform: translateY(0);
}
.wpcf7 p:has(.wpcf7-list-item) { margin-bottom: .6em; }

.wpcf7 .wpcf7-form-control-wrap[data-name="your-day"] {
  margin-right: 0;
}
.wpcf7 input[name="your-sales"],
.wpcf7 input[name="your-workforce"],
.wpcf7 input[name="your-income"] {
  max-width: 180px;
  display: inline-block !important;
  margin-right: var(--mr-gap-sm);
}
.wpcf7 input[name="your-department"] {
  max-width: 240px;
}
.wpcf7 textarea[name="your-message1"] {
  height: 10em !important;
}
.wpcf7 textarea[name="your-message2"] {
  height: 6em !important;
}
.attach-acc {
  margin: 1.5em 0 0;
  border-bottom: none;
}
.attach-acc > summary {
  list-style: none;
  display: inline-block !important;
  padding: 6px 0 .5em;
  font-weight: 600;
  border-bottom: 1px solid var(--mr-color-border);
}
.attach-acc > summary::-webkit-details-marker { display: none; }
.attach-acc > summary::before { content: "＋"; margin-right: var(--mr-gap-md); }
.attach-acc[open] > summary::before { content: "－"; }
.attach-acc .acc-body { padding: 10px 0 14px; }
.attach-acc .acc-body small { display:block; margin-top:6px; color:#666; }
.attach-acc input[type="file"]::file-selector-button,
.attach-acc input[type="file"]::-webkit-file-upload-button {
  background:#eee;
  border:1px solid #bbb;
  padding:6px 12px;
  border-radius:6px;
  cursor:pointer;
}
.wpcf7 .mr-privacy input[type="checkbox"] {
  margin: 0;
  transform: none;
  width: 18px;
  height: 18px;
  vertical-align: middle;
}
.wpcf7 .mr-privacy a {
  display: inline-block !important;
  text-decoration: underline;
  text-decoration-color: var(--mr-color-border);
  text-underline-offset: .7ex;
  padding-right: .2em;
}
.mr-privacy label {
  font-size: 14px !important;
  font-weight: normal !important;
}
div.btn-submit {
  text-align: center;
  margin-top: 20px;
}
.wpcf7 .btn-submit p {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  text-align: center;
}
div.btn-submit input[type="submit"] {
  min-width: 220px;
  background: var(--mr-color-accent);
  color: #fff;
  padding: 0.3em 2em;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.3s;
  display: inline-block !important;
  line-height: 1.4;
  vertical-align: middle;
}
div.btn-submit input[type="submit"]:hover {
  background: var(--mr-color-accent-hover);
}
.btn-submit .wpcf7-submit {
  height: var(--mr-input-h);
  line-height: var(--mr-input-h);
  margin: 0 auto;
  padding: 0 2em;
}
.btn-submit .wpcf7-spinner {
  margin: 0 0 0 8px !important;
  vertical-align: middle;
  position: static !important;
}
.wpcf7 .wpcf7-form-control-wrap[data-name="your-year"],
.wpcf7 .wpcf7-form-control-wrap[data-name="your-month"],
.wpcf7 .wpcf7-form-control-wrap[data-name="your-day"],
.wpcf7 .wpcf7-form-control-wrap[data-name="zip"],
.wpcf7 .wpcf7-form-control-wrap[data-name="your-sales"],
.wpcf7 .wpcf7-form-control-wrap[data-name="your-workforce"],
.wpcf7 .wpcf7-form-control-wrap[data-name="your-income"] {
  display: inline-block;
  width: auto;
  vertical-align: middle;
  padding-bottom: 1.1em;
}
.unit {
  display: inline-block;
  line-height: var(--mr-input-h);
  vertical-align: middle;
  margin: 0 .35em 0 .15em;
  color: #333;
}
.wpcf7 .mr-privacy .wpcf7-list-item {
  display: inline-flex !important;
  align-items: center;
  margin-right: 1.5em;
}
.wpcf7 .wpcf7-list-item input[type="radio"] {
  margin-right: 6px;
  transform: translateY(1px);
}

/* 404ページデザイン */
.page-404 {
  width: 100%;
  max-width: 980px;
  text-align: center;
  margin: auto;
  padding: 8rem 2rem 10rem;
  color: #333;
}
.page-404__inner {
  text-align: left;
}
.page-404__lead {
  font-size: 1rem;
  letter-spacing: 0.1em;
  margin-bottom: 0;
  color: #1c5b7d;
  font-family: "Shippori Mincho", serif;
}
.page-404__title {
  font-size: clamp( 36px, 3.6vw, 55px);
  font-weight: 400;
  line-height: 1.3;s
  letter-spacing: 0.1em;
  color: #1c5b7d;
  margin-bottom: 2.5rem;
  font-family: "Shippori Mincho", serif;
}
.page-404__title span {
  font-size: clamp( 33px, 3.1vw, 48px);
  color: #1c5b7d;
  font-weight: 400;
}
.page-404__desc {
  font-size: 0.95rem;
  line-height: 2;
  margin-bottom: 4rem;
  font-family: "Noto Sans JP", sans-serif;
  font-family: 'Shippori Mincho', Sans-Serif;
}
.page-404__button {
  display: flex;
  justify-content: center;
}

