@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 全ページ共通：日本語システムフォントスタック */
html,
body,
button,
input,
select,
textarea {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic,
    "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro",
    "Noto Sans JP", sans-serif;
  -webkit-text-size-adjust: 100%;
}
.p-spMenu .c-widget__title {
    margin-bottom: 0;
}
/* 働く環境だけ太字にする */
.menu-item-433 > a {
    font-weight: 700 !important;
}
/* 募集要項だけ太字にする */
.menu-item-1200 > a {
    font-weight: 700 !important;
}

/* 全見出しも共通フォントに統一 */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: inherit;
}
/*ヘッダー基礎*/
@media (min-width: 960px) {
  header#header .l-container,
.l-fixHeader__inner.l-container {
    max-width: 1350px;
  }
}
/*バナー共通*/
.recruit-cta-list .c-bannerLink__description span {
    color: #fff !important;
}

.recruit-cta-list .c-bannerLink__description {
  font-size: 1.4em !important;
letter-spacing: 0.08em;
}
p.about-more {
letter-spacing: 0.05em;
    color: #fff;
    text-align: right;
    font-size: 13px !important;
}

.has-text-align-left {
    text-align: left;
}
.recruit-cta-list > .c-bannerLink__text {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
.recruit-cta-list .c-bannerLink__text{
    align-items: center;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.5em;
    z-index: 2;
}

.recruit-cta-list > .c-bannerLink__title {
    font-size: .9em !important;
letter-spacing: 0.05em;
}
.recruit-cta-list > .-en, .c-bannerLink__title {
    font-family: "Jost", sans-serif;
    font-size: 1em;
    font-weight: 400;
    font-style: normal;
}
.recruit-cta-list .c-bannerLink__description {
    font-size: .95em;
    margin-top: 0;
    width: 100%;
}
/* ページ制御 */
.page-id-80 .post_content,
.page-id-83 .post_content,
.page-id-123 .post_content,
.page-id-3 .post_content,
.page-id-77 .post_content,
.page-id-69 .post_content,
.page-id-36 .post_content,
.page-id-71 .post_content,
.page-id-228 .post_content,
.page-id-239 .post_content { margin: 0; }

.page-id-123 .l-content,
.page-id-83 .l-content,
.page-id-80 .l-content,
.page-id-3 .l-content,
.page-id-69 .l-content,
.page-id-77 .l-content,
.page-id-36 .l-content,
.page-id-71 .l-content,
.page-id-239 .l-content,
.page-id-228 .l-content {
  padding-top: 0;
}

.r-btn-items {
    margin-bottom: 0 !important;
}


.-green,
.-green::before {
  border-color: #005327 !important;
  color: #005327 !important;
}

/*ボタンの設定*/
[class*=is-style-btn_] a {
  min-width: auto !important;
}

/*ボタンの設定①ひだり*/
.swell-block-button.is-style-btn_line.btn.btn-primary {
  max-width: 318px;
  width: 100%;
  margin-left: 0;
}

/*ボタンの設定①真ん中*/
.swell-block-button.-size-s.is-style-btn_normal.btn.btn-primary {
  max-width: 318px;
  width: 100%;
}

.btn a {
  max-width: 321px;
  width: 100%;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .08em;
  padding: 1em 56px;
  border-radius: 50px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.btn-primary a {
  background-color: #005290;
  color: #fff;
  border: none;
}

.btn-primary:hover a {
  background-color: #003d66;
}

@media screen and (max-width: 599px) {
  .swell-block-button.is-style-btn_line.btn.btn-primary {
    max-width: 308px;
    margin-left: auto;
  }

  .swell-block-button.-size-s.is-style-btn_normal.btn.btn-primary {
    max-width: 308px;
  }
}

.btn-primary {
  color: #fff;
  background-color: none !important;
  border-color: none !important;
}

/* ==========================================================================
   共通　見出し
   ========================================================================== */


@media (max-width: 768px) {
  .post_content h2 span {
    font-size: 27px;
    margin-top: -28px;
    margin-bottom: 0;
  }
}

/*英語タイトル*/
.-en {
  font-family: "Jost", sans-serif;
}

/* ==========================================================================
   Concept Section　コンセプト
   ========================================================================== */
.concept-sentinel {
  margin: 0 !important;
}

/* ==========================================================================
   Concept Section　コンセプト（整頓版：値変更なし／並びのみ調整）
   ========================================================================== */

/* --- 基本ブロック（順：汎用 → 詳細） ------------------------------- */

/* 大きな円：親 */
.concept-section__text-wrap {
  position: relative;
}

/* 大きな円：疑似要素 */
.concept-section__text-wrap::before {
  content: "";
  position: absolute;
  width: 1170px;
  height: 1040px;
  left: -73%;
  top: -580px;
  background: url(/wp-content/uploads/2025/09/concept-circle.png) no-repeat;
  background-size: 640px auto;
  background-position: 320px 60px;
  pointer-events: none;
  z-index: 1;
}

.concept-section>div {
  max-width: 1000px;
}

/* テキスト囲み */
.swell-block-columns.concept-section__text-wrap {
  max-width: 1000px;
  margin: auto;
}

/* セクション本体（重ね合わせ可能に） */
.concept-section {
  position: relative;
  overflow: hidden;
  /* 必要なければ外してOK */
  z-index: 0;
  /* 擬似要素を背面へ */
}

/* SWELL内側コンテナは前面に */
.concept-section .l-container {
  position: relative;
  z-index: 1;
}

/* 右ドット */
figure.concept-dots-right {
  position: absolute;
  top: 22%;
  right: 0%;
  width: 50px;
  height: 50px;
  z-index: 2;
}

@media (max-width:1200px) {
  figure.concept-dots-right {
    top: 22%;
    right: 10%;
  }
}

@media (max-width: 599px) {
  figure.concept-dots-right {
    top: 8%;
    right: 10%;
  }
}
@media (min-width:1700px) {
 figure.concept-dots-right {
    top: 32%;
  }
}
/* 左ドット */
figure.concept-dots {
  position: absolute;
  bottom: 16%;
  left: -5%;
  width: 62px;
  height: 62px;
  z-index: 10;
}

@media (max-width:1200px) {
  figure.concept-dots {
    bottom: 16%;
    left: 5%;
  }
}

@media (max-width: 768px) {
  figure.concept-dots {
    bottom: 0;
    left: 5%;
  }
}
@media (max-width: 599px) {
  figure.concept-dots img {
width:30px;
  }
  }
/* --- ここから “フルブリード＆マスク” 指定（汎用→詳細の順） ------- */

/* 汎用のマスク・位置（※後続の詳細指定で上書きされます） */
.concept-section {
  -webkit-mask-size: 110vw auto;
  mask-size: 110vw auto;
  -webkit-mask-position: center top;
  mask-position: center top;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

/* フルブリード化＋ベースの背景＆マスク（詳細1） */
.swell-block-fullWide.pc-py-80.sp-py-40.has-bg-img.alignfull.hero-content.lazyloaded {
  z-index: 0 !important;
  position: relative;
}

.concept-section {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  background: #2d832a;
  -webkit-mask: url('/wp-content/uploads/2025/09/vector_mask.svg') ;
  mask: url('/wp-content/uploads/2025/09/vector_mask.svg') ;
     -webkit-mask-size: 100% 100% ;
  mask-size: 100% 100% ;
    -webkit-mask-position: top center;
  mask-position: top center;
   -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  mask-mode: luminance;
  overflow: visible;
  /* はみ出しOK */
}

/* テキスト面は前面に */
.concept-section__text-wrap {
  position: relative;
  z-index: 3;
}

/* 同形状でくり抜くオーバーレイ（詳細） */
.concept-section__text-wrap::before {
  top: -164%;
  left: -31%;
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  -webkit-mask: inherit;
  mask: inherit;
  background: url('/wp-content/uploads/2025/09/concept-circle.png') no-repeat left 0 bottom -20px / 780px auto;
}

/* SWELL内枠の切れを防止（必要時） */
.swell-block-fullWide__inner.l-container {
  overflow: visible;
}

/* マスク画像とオフセット（詳細2：最も強い指定） */
.concept-section {
  -webkit-mask-image: url('/wp-content/uploads/2025/09/vector_mask.svg');
  -webkit-mask-size: 100vw clamp(420px, 101vw, 110vw);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center -230px;
  /* 上へずらす */
  mask-image: url('/wp-content/uploads/2025/09/vector_mask.svg');
  mask-size: 100vw clamp(420px, 101vw, 110vw);
  mask-repeat: no-repeat;
  mask-position: center -230px;
  /* 上へずらす */
  mask-mode: luminance;
}

/* --- タイポ＆本文 ----------------------------------------------- */

/* 英語タイトル（コンセプト） */
p.concept-section__title {
  margin-bottom: 1em;
  display: block;
  font-size: 3.8em;
  letter-spacing: 0.06em;
  font-weight: 400 !important;
}

/* h2 想いが未来をつくる */
h2.is-style-section_ttl.concept-section__title {
  font-weight: 600;
  letter-spacing: 0.05em;
  font-size: 2em;
}

/* Conceptテキスト */
.concept-section__text {
  line-height: 1.8;
  margin-bottom: 4em;
}

/* ===== VIEW MOREボタン ===== */
.concept-section__button {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  color: #fff;
  text-decoration: none;
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  font-size: 20px;
  line-height: 1;
  transition: opacity .25s ease, transform .25s ease;
}
@media (max-width:599px) {
.concept-section__button {
 font-size: 18px;
}
}
.concept-section__button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

.concept-section__button-icon {
  width: 56px;
  height: 56px;
  border: 2px solid #fff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: transform .25s ease, border-color .25s ease, background-color .25s ease;
}
@media (max-width:599px) {
.concept-section__button-icon {
scale:.8;
}
}
.concept-section__button-icon::before {
  margin-right: 3px;
  content: "";
  width: 12px;
  height: 12px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
  transition: transform .25s ease;
}

/* ホバー反転 */
.concept-section__button-icon:hover {
  background-color: #fff;
  color: #0a6f20;
  border-color: #fff;
}

.concept-section__button {
  display: flex;
  width: max-content;
  margin-left: auto;
}

a.concept-section__button:hover .concept-section__button-icon {
  background-color: #fff;
  border-color: #fff;
  transition: background-color .3s ease, border-color .3s ease;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .22);
}

a.concept-section__button:hover {
  transform: scale(1.05);
}

span.concept-section__button-icon::before {
  transition: border-color .3s ease;
}

a.concept-section__button:hover span.concept-section__button-icon::before,
a.concept-section__button:hover .concept-section__button-icon.-nomal::before {
  border-right-color: #0a6f20;
  border-bottom-color: #0a6f20;
}

/* 古い環境フォールバック */
@supports not (width:max-content) {
  .concept-section__button {
    display: inline-flex;
  }

  /* 親に text-align:right; を付与で確実 */
}

/* --- ブレークポイント ------------------------------------------- */

/* <=2600px */
@media (max-width:2600px) {
.p-mainVisual__textLayer{
top:-7%;
}
  .wp-block-spacer.concept-top-space {
    height: 0 !important;
  }
  .wp-block-spacer.concept-space {
    height: 77px !important;
  }
  .concept-section__text-wrap::before {
      background-size:1020px auto;
    top: -200% !important;
    left:-100% !important;
  }

  .concept-section {
  -webkit-mask-size: 140vw auto;
  mask-size: 140vw auto;
    margin-top: -350px;
  }

  .concept-section .l-container {
height: 822px;
    padding-top: 290px;
    padding-bottom: 110px;
  }

  .p-mainVisual__inner {
    height: 65vw;
  }
}



/* <=2000px */
@media (max-width:2000px) {
.p-mainVisual__textLayer{
top:-7%;
}
  .wp-block-spacer.concept-top-space {
    height: 0 !important;
  }

  .concept-section__text-wrap::before {
      background-size: 880px auto;
    top: -200% !important;
    left: -70% !important;
  }

  .concept-section {
  -webkit-mask-size: 170vw auto;
  mask-size: 170vw auto;
    margin-top: -350px;
  }

  .concept-section .l-container {
    height: 800px;
    padding-top: 290px;
    padding-bottom: 110px;
  }

  .p-mainVisual__inner {
    height:65vw;
  }
}

/* <=1900px */
@media (max-width:1900px) {
.p-mainVisual__textLayer{
top:-7%;
}
  .wp-block-spacer.concept-top-space {
    height: 0 !important;
  }

  .concept-section__text-wrap::before {
      background-size: 880px auto;
    top: -200% !important;
    left: -60% !important;
  }

  .concept-section {
  -webkit-mask-size: 170vw auto;
  mask-size: 170vw auto;
    margin-top: -350px;
  }

  .concept-section .l-container {
    height: 800px;
    padding-top: 290px;
    padding-bottom: 110px;
  }

  .p-mainVisual__inner {
    height: 65vw;
  }
}

/* <=1800px */
@media (max-width:1800px) {
.p-mainVisual__textLayer{
top:-5%;
}
  .wp-block-spacer.concept-top-space {
    height: 0 !important;
  }

  .concept-section__text-wrap::before {
    left: -51% !important;
    top: -284% !important;
  }

  .p-mainVisual__inner {
    height: 65vw;
  }

  .concept-section .l-container {
    height: 800px;
    padding-top: 290px;
    padding-bottom: 110px;
  }

  .concept-section {
    -webkit-mask-size: 170vw auto;
  mask-size: 170vw auto;
    margin-top: -301px;
  }
}

/* <=1700px */
@media (max-width:1700px) {
.p-mainVisual__textLayer{
top:-5%;
}
  .wp-block-spacer.concept-top-space {
    height: 0 !important;
  }

  .concept-section .l-container {
    height: 730px;
  }

  .concept-section__text-wrap::before {
    left: -51% !important;
    top: -284% !important;
  }

  .p-mainVisual__inner {
    height: 62vw;
  }

  .concept-section .l-container {
    padding-top: 220px;
    padding-bottom: 109px;
  }

  .concept-section {
    margin-top: -230px;
    -webkit-mask-size: 100vw auto;
    mask-size: 100vw auto;
    -webkit-mask-position: center -51px !important;
    mask-position: center -51px !important;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
  }
}

/* <=1600px */
@media (max-width:1600px) {
.p-mainVisual__textLayer{
top:-5%;
}
  .wp-block-spacer.concept-top-space {
    height: 0 !important;
  }

  .wp-block-spacer.concept-space {
    height: 35px !important;
  }

  .concept-section__text-wrap::before {
    left: -41% !important;
    top: -284% !important;
  }

  .concept-section .l-container {
    height: 700px !important;
    padding-top: 230px;
    padding-bottom: 110px;
  }

  .concept-section {
    margin-top: -230px;
    -webkit-mask-size: 100vw auto;
    mask-size: 100vw auto;
    -webkit-mask-position: center -21px !important;
    mask-position: center -21px !important;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
  }
}

/* <=1500px */
@media (max-width:1500px) {
  .p-mainVisual__inner {
    height: 58vw;
  }

  .wp-block-spacer.concept-top-space {
    height: 0 !important;
  }

  .concept-section .l-container {
    height: 700px !important;
    padding-top: 220px;
    padding-bottom: 0px;
  }

  .concept-section {
    margin-top: -230px;
    -webkit-mask-size: 100vw auto;
    mask-size: 100vw auto;
    -webkit-mask-position: center -21px !important;
    mask-position: center -21px !important;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
  }
}

/* <=1400px */
@media (max-width:1400px) {
  .wp-block-spacer.concept-top-space {
    height: 0 !important;
  }

  .hero__kicker {
    font-size: 4.5em;
  }

  .concept-section .l-container {
    padding-top: 200px;
    padding-bottom: 90px;
  }

  .concept-section {
    -webkit-mask-position: center -30px !important;
    mask-position: center -30px !important;
    -webkit-mask-size: 100vw auto;
    mask-size: 100vw auto;
  }
}

/* <=1300px */
@media (max-width:1300px) {
  .wp-block-spacer.concept-space {
    height: 45px !important;
  }

  .hero__kicker {
    font-size: 4.2em;
  }

  .concept-section::after {
    bottom: -166px;
  }

  .concept-section .l-container {
    padding-top: 180px;
    padding-bottom: 70px;
  }

  .concept-section {
    margin-top: -190px;
    -webkit-mask-position: center -20px !important;
    mask-position: center -20px !important;
    -webkit-mask-size: 100vw auto;
    mask-size: 100vw auto;
  }
}

/* <=1200px */
@media (max-width:1200px) {
  .concept-section {
    margin-top: -162px;
  }

  .concept-section__text-wrap::before {
    left: -22% !important;
    top: -254% !important;
  }

  .hero__kicker {
    font-size: 3.7em;
  }

  .concept-section::after {
    bottom: -140px;
  }
}

/* <=1100px */
@media (max-width:1100px) {
  .concept-section>.swell-block-fullWide__inner.l-container {
    height: 600px !important;
  }

  /* 高さ調整 */
  .wp-block-spacer.concept-top-space {
    height: 140px !important;
  }

  .concept-section__text-wrap::before {
    left: -12% !important;
    top: -234% !important;
  }

  figure.wp-block-image.size-large.is-resized.u-lb-off.hero__title-en img {
    width: 163px !important;
  }

  .concept-section .l-container {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .concept-section {
    margin-top: -154px;
    -webkit-mask-position: center -3px !important;
    mask-position: center -3px !important;
    -webkit-mask-size: 100vw auto;
    mask-size: 100vw auto;
  }

  .wp-block-spacer.concept-space {
    height: 57px !important;
  }

  p.has-text-align-center.hero__kicker.-en {
    font-size: 3.7em;
  }

  p.concept-section__title {
    font-size: 3em !important;
  }
}

/* <=1000px */
@media (max-width:1000px) {
  .wp-block-spacer.concept-top-space {
    height: 170px !important;
  }

  figure.wp-block-image.alignfull.size-large.u-lb-off.top-under {
    margin-top: -50px;
  }

  .concept-section {
    margin-top: -154px;
    -webkit-mask-position: center 14px !important;
    mask-position: center 14px !important;
  }

  .concept-section::after {
    bottom: -120px;
  }

  .concept-section>.swell-block-fullWide__inner.l-container {
    height: 660px !important;
  }
}

/* <=900px */
@media (max-width:900px) {
  .concept-section {
    mask-size: 117vw auto !important;
    -webkit-mask-size: 117vw auto !important;
    margin-top: -164px;

  }

  .p-mainVisual__inner {
    height: 80vw;
  }

  figure.wp-block-image.alignfull.size-large.u-lb-off.top-under {
    margin-top: -75px;
  }

  .wp-block-spacer.concept-space {
    height: 120px !important;
  }
}

/* <=800px */
@media (max-width:800px) {
  .p-mainVisual__inner {
    height: 80vw;
  }
}

/* <=768px */
@media (max-width:768px) {
  figure.wp-block-image.alignfull.size-large.u-lb-off.top-under {
    margin-top: -82px;
  }

  .concept-section__text-wrap .swell-block-columns__inner>.swell-block-column {
    flex: 0 0 100%;
    min-width: 0;
    /* 段落ち＆はみ出し抑止 */
  }

  .concept-section {
    -webkit-mask-position: center -36px !important;
    mask-position: center -36px !important;
    -webkit-mask-size: 150vw auto !important;
    mask-size: 150vw auto !important;
  }
}

/* <=599px */
@media (max-width:599px) {
  .concept-section {
    -webkit-mask-position: center -56px !important;
    mask-position: center -56px !important;
    -webkit-mask-size: 301vw auto !important;
    mask-size: 301vw auto !important;
  }

  .p-mainVisual__inner {
    height: 80vh;
  }

  figure.wp-block-image.alignfull.size-large.u-lb-off.top-under {
    margin-top: -65px;
  }

  .concept-section__text-wrap::before {
    left: -12% !important;
    top: -184% !important;
  }

  .concept-section__title {
    line-height: 1.08;
    letter-spacing: 0.04em;
    font-size: 2.3em !important;
  }
 .concept-section>.swell-block-fullWide__inner.l-container {
    height: 700px !important;
  }
  h2.is-style-section_ttl.concept-section__title {
    font-size: 1.4em !important;
  }

  p.has-text-align-center.hero__kicker.-en {
    font-size: 3.6em;
  }
  .concept-section__text-wrap > div{
padding: 0 var(--swl-fw_inner_pad, 0) !important;
}
    p.concept-section__title {
        font-size: 2.9em !important;
        line-height:1.2;
}
}






/* ==========================================================================
   Our Business Section　事業内容
   ========================================================================== */
/* ==========================================================================
   Business Section（整頓版：削除・値変更なし／順序と見通しだけ調整）
   ========================================================================== */

/* --- セクション土台 ------------------------------------------------------ */
.business-section {
  padding: 1.5em;
}

.swell-block-fullWide.business-section>div {
  max-width: 1200px;
  margin: 0 auto;
}

/* 横スクロール保険 */
.business-section {
  overflow-x: clip;
}

/* --- KV（Cover） --------------------------------------------------------- */
/* カバーを右端にフルブリードさせる */
.business-kv.wp-block-cover {
  width: 100vw;
  max-width: none;
  margin-left: auto;
  margin-right: calc(50% - 50vw);
  padding: 0;
  border-radius: 0;
  overflow: hidden;
}

/* 画像トリミングと見せ位置（右寄せ気味） */
.business-kv .wp-block-cover__image-background {
  object-fit: cover;
  object-position: 85% 4%;
  /* 80〜95% で微調整。右端なら 100% center */
}

/* パララックス時（背景画像描画） */
.business-kv.has-parallax {
  background-position: right center;
}

/* カバーブロック内テキストを左1/3に寄せる（中央寄せ打ち消しも） */
.wp-block-cover.business-kv .wp-block-cover__inner-container.is-layout-flow.wp-block-cover-is-layout-flow {
  margin-left: clamp(24px, 8vw, 120px) !important;
  margin-right: auto !important;
  max-width: 42rem;
  text-align: left;
}

.wp-block-cover.business-kv .has-text-align-center {
  text-align: left !important;
}

/* （任意）読みやすさアップの左グラデ（※後で別強度を再指定） */
.wp-block-cover.business-kv .wp-block-cover__background {
  background: linear-gradient(90deg, rgba(0, 0, 0, .28), rgba(0, 0, 0, 0) 55%);
}

/* --- タイポ（KV内） ----------------------------------------------------- */
p.kv__title {
  margin: 0 0 .1em;
  display: block;
  font-size: 3.8em !important;
  letter-spacing: 0.06em;
  font-weight: 300 !important;
}

/* --- リード（本文側） --------------------------------------------------- */


.swell-block-columns.business-lead p {
  max-width: 110ch;
  line-height: 1.9;
}

/* 見出し（リード） */
h3.is-style-section_ttl.business-lead__heading {
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 700;
  margin-top: 10px;
  margin-bottom: 16px;
  line-height: 1.8;
  margin: 0 0 16px;
  /* 指定を残す（重複だが削除せず） */
}

/* 本文（リード） */
.business-lead__desc {
  margin: 0;
  font-size: clamp(14px, 1.25vw, 18px);
  line-height: 2;
  letter-spacing: .02em;
  color: #222;
}

/* --- Our Business 見出し群 --------------------------------------------- */
p.business__title {
  margin: 0 0 .34em;
  display: block;
  font-size: 4em;
  letter-spacing: 0.06em;
  font-weight: 400 !important;
  line-height: 1;
}

h2.wp-block-heading.is-style-section_ttl.business-section__title {
  margin: 0 !important;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 1.5em;
}

/* --- VIEW MORE（アウトライン版） --------------------------------------- */
/* ボタン本体（色のみ指定。ベースは既存 .concept-section__button を利用） */
a.concept-section__button.-outline {
  transition: .55s ease;
  color: #0a6f20;
}

/* 丸アイコン（アウトライン） */
span.concept-section__button-icon.-outline {
  transition: background-color 0.3s ease, color 0.3s ease;
  /* 残す */
  transition: all 0.3s ease;
  /* 残す（重複だが削除せず） */
  background: #fff;
  border: 1px solid #0a6f20;
}

span.concept-section__button-icon.-outline::before {
  border-right: 2px solid green;
  border-bottom: 2px solid green;
}
@media (max-width:599px) {
span.concept-section__button-icon.-outline::before {
  border-right: 2.5px solid green;
  border-bottom: 2.5px solid green;
}
span.concept-section__button-icon.-outline {
  border: 2.5px solid #0a6f20;
}
}
span.concept-section__button-icon.-outline:hover {
  background: green;
  border: none;
}

/* aホバー時：丸ボタンを緑に（同一セレクタ重複は原文通り維持） */
a.concept-section__button:hover .concept-section__button-icon.-outline,
a.concept-section__button:hover .concept-section__button-icon.-outline {
  background-color: #0a6f20;
  border-color: #0a6f20;
}

/* aホバー時：矢印（::before）を白に */
a.concept-section__button:hover span.concept-section__button-icon.-outline::before {
  border-right-color: #fff;
  border-bottom-color: #fff;
}

/* 通常側にトランジションを設定（残す） */
span.concept-section__button-icon.-outline,
span.concept-section__button-icon.-outline::before {
  transition: background-color .55s ease, border-color .55s ease;
}

/* aホバー時：色だけ変える（border:noneは使わない指定も残す） */
a.concept-section__button.-outline:hover span.concept-section__button-icon.-outline {
  background-color: #0a6f20;
  border-color: #0a6f20;
}

/* --- 施設見出し（キャンプ） ------------------------------------------- */
h4.wp-block-heading.has-text-align-left.is-style-section_ttl.srf__name.-camp {
  line-height: 1.6;
  margin-bottom: 1em;
}

/* --- レスポンシブ -------------------------------------------------------- */
/* 960px以下：カバーを通常幅に戻す／見せ位置中央 */
@media (max-width: 960px) {
  .business-kv.wp-block-cover {
    width: auto;

  }

  .business-kv .wp-block-cover__image-background {
    object-position: 50% 50%;
  }
}

/* 768px以下：KVテキスト左インデント微調整 */
@media (max-width: 768px) {
  .wp-block-cover.business-kv .wp-block-cover__inner-container.is-layout-flow.wp-block-cover-is-layout-flow {
    margin-left: 24px !important;
  }
}

/* 599px以下：フォント縮小 */
@media (max-width: 599px) {
  p.kv__title {
    font-size: 2.2em !important;
  }

  p.business__title {
    font-size: 2.5em;
  }

  h2.wp-block-heading.has-text-align-left.is-style-section_ttl.business-section__title {
    font-size: 1.2em;
  }

  h4.wp-block-heading.has-text-align-left.is-style-section_ttl.srf__name.-camp {
    line-height: 1.4;
    margin-bottom: 1em;
  }
  .business-kv.wp-block-cover {
  margin-right: calc(50% - 50vw) !important;
}
.wp-block-cover.is-light.business-kv.-left{
margin-left: calc(50% - 50vw) !important;
}
}

/* --- 重複だが原文を維持する再指定（順序で後勝ちにして意図通りに） -------- */
/* ヒーロー内テキストの左端を本文カラムと揃える（※上で !important 指定済みだが原文維持） */
.wp-block-cover.business-kv .wp-block-cover__inner-container.is-layout-flow.wp-block-cover-is-layout-flow {
  margin-left: clamp(24px, 8vw, 120px);
  /* 下の本文と同じ左インデントに */
  margin-right: auto;
  max-width: 42rem;
  /* 見出し行の暴れ防止 */
}

/* 左グラデの強度を .22 に再指定（※上の .28 を上書き：原文構成を保持） */
.wp-block-cover.business-kv .wp-block-cover__background {
  background: linear-gradient(90deg, rgba(0, 0, 0, .22), rgba(0, 0, 0, 0) 55%);
}


/* ==========================================================================
   SPORTS Section　スポーツ施設・リゾート施設のご紹介
   ========================================================================== */
/* ==========================================================================
   Sports & Resort Facilities（整頓版：値は一切変更せず／順序のみ調整）
   ========================================================================== */

/* --- ボタン（ベースの余白：後段で上書きあり） ------------------------- */
.srf__body .btn-more {
  margin-top: 18px;
  /* 見本寄りの間隔。16〜24pxで微調整（※下でmargin-top:12pxを再指定） */
}

/* --- タイトル／サブタイトル ------------------------------------------- */
/* 英字タイトル (Sports & Resort Facilities) */
p.srf__subtitle {
  color: #0b6e3a;
  margin: 0 0 .33em;
  line-height: 1;
  display: block;
  font-size: 3em;
  letter-spacing: 0.04em;
  font-weight: 400 !important;
}

/* h2相当：スポーツ施設・リゾート施設のご紹介 */
h3.wp-block-heading.srf__title {
  color: #000 !important;
  margin: 0 0 8px;
  font-weight: 500 !important;
  letter-spacing: 0.04em;
  font-size: 1.2em;
}

/* --- VIEW MORE（白背景版：緑） ---------------------------------------- */
.btn-more {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  color: #005327;
  text-decoration: none;
  font-size: 16px;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.btn-more__icon {
  width: 44px;
  height: 44px;
  border: 2px solid #005327;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .25s ease, background-color .25s ease, border-color .25s ease;
}

.btn-more__icon::before {
  margin-right: 4px;
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid #005327;
  border-bottom: 2px solid #005327;
  transform: rotate(-45deg);
  transition: transform .25s ease;
}

/* アウトライン版（通常側にトランジション） */
span.btn-more__icon.-outline {
  transition: background-color .35s ease, border-color .35s ease;
}

/* aホバー：丸ボタンを緑に＆拡大 */
a.btn-more.-outline:hover span.btn-more__icon.-outline {
  background-color: #0a6f20;
  border-color: #0a6f20;
  transform: scale(1.05);
  /* 1.03〜1.08推奨 */
}

/* aホバー：矢印を白に反転 */
a.btn-more.-outline:hover span.btn-more__icon.-outline::before {
  border-right-color: #fff;
  border-bottom-color: #fff;
}

/* aホバー：テキスト側の拡大 */
a.btn-more.-outline {
  transition: transform .25s ease;
  transform-origin: left center;
}

a.btn-more.-outline:hover {
  transform: scale(1.05);
}

/* ラベル強調（アウトライン） */
span.btn-more__label.-outline {
  font-weight: 500;
}

/* --- セクションスペーサー --------------------------------------------- */
/* PC〜：スペーサーの高さで余白を作る */
.wp-block-spacer.srf__spacer {
  height: clamp(24px, 5vw, 56px) !important;
  /* お好みで数値調整 */
}

/* --- カードリスト／カード --------------------------------------------- */
.swell-block-columns.srf__item.-up {
  margin-bottom: 2.5em;
}

.srf__list {
  display: grid;
  gap: clamp(28px, 4vw, 48px);
  list-style: none;
  padding: 0;
  margin: 0;
}

.srf__item {
  background: #fff;
  border-radius: 28px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .10);
  padding: clamp(18px, 3vw, 32px);
}

/* 画像 */
.srf__img {
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
}

.srf__img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 16/9;
}

/* テキスト側の箱＆行揃え */
.srf__body {
  padding-top: clamp(4px, 0.8vw, 8px) !important;
  color: #333;
  display: grid;
  grid-template-rows:
    auto
    /*カテゴリ*/
    auto
    /*見出し*/
    1fr
    /*説明が伸縮*/
    auto
    /*CTA*/
  ;
  row-gap: 10px;
  min-height: 100%;
  /* 念のため */
}

/* カテゴリ */
.srf__cat {
  font-size: 14px;
  color: #6b7d72;
  font-weight: 700;
  letter-spacing: .06em;
  margin: 0 0 6px;
}

/* カード見出し */
h4.is-style-section_ttl.srf__name {
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 700;
  margin-top: 10px;
  margin-bottom: 16px;
  line-height: 1.8;
  margin: 0 0 6px;
  /* 重複指定は原文維持（後勝ちで適用） */
}

/* 説明文（重複指定あり：原文の順で維持） */
.srf__desc {
  line-height: 2;
  font-size: 15px;
  margin: 0 0 22px;
  max-width: 44em;
  line-height: 2;
  font-size: 15px;
  margin: 0;
  /* 後勝ちで margin:0 に */
}

/* CTA（後勝ちでmargin-top上書き） */
.srf__body .btn-more {
  align-self: end;
  /* grid最下段に固定 */
  margin-top: 12px;
  /* 説明との間だけ少し空ける（※上の18pxよりこちらが適用） */
}

/* --- 背景レイヤー／前後関係 ------------------------------------------- */
/* 内側コンテナを基準化（背面レイヤーの基準に） */
.srf .swell-block-fullWide__inner.l-container {
  position: relative;
}

/* 黄緑の背景（タイトルエリアを少し空ける） */
.srf .swell-block-fullWide__inner.l-container::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  pointer-events: none;
  z-index: 0;
  /* 背面 */
}

/* セクション全体の背面ベクタ */
.srf.alignfull {
  position: relative;
}

.srf.alignfull::before {
  bottom: 6% !important;
  top: -70% !important;
  content: "";
  inset: 0;
  position: absolute;
  background: url("/wp-content/uploads/2025/09/sports_bg.png") no-repeat center/cover;
  z-index: 0;
}
@media (min-width:1900px) and (max-width:2600px){
  .srf.alignfull::before {
    top: auto !important;        /* 既存の top を無効化 */
    bottom: 0 !important;        /* 下端基準 */
    left: 0; right: 0;           /* 横いっぱい */
    width: 100%;
    height: 120%;               /* 必要分だけ縦を確保（600～800で調整） */
    min-height: calc(100vw * 0.672 * 1.4); 
    background-position: bottom center !important;
    background-size: 100% auto !important;  /* 横は必ず足りる */
    background-repeat: no-repeat;
  }
}
/* カードは前面に（重複指定は原文通り残す） */
.srf .srf__item {
  position: relative;
  z-index: 1;
}

.srf .srf__item {
  position: relative;
  z-index: 1;
}
@media (max-width: 599px) {
.srf.alignfull {
padding-top: 1em !important;
}
.srf.alignfull::before {
    bottom: 2% !important;
    top: -80% !important;
    background-position: 87% 40% !important;
    }
.srf__item {
    padding-bottom: 1.6em !important;
}
}
/* --- 装飾ドット -------------------------------------------------------- */
/* 右ドット（sports） */
.wp-block-image.u-lb-off.sports_dots-right {
  margin: 0 !important;
  position: absolute;
  z-index: 10;
  top: 5%;
  right: 0;
}

/* 左ドット（sports） */
.wp-block-image.u-lb-off.sports_dots-left {
  margin: 0 !important;
  bottom: -9%;
  z-index: 10;
  left: 7%;
  position: absolute;
}

/* --- レスポンシブ ------------------------------------------------------- */
@media (max-width: 1100px) {
 .wp-block-image.u-lb-off.sports_dots-right{
  right:2%;
 }
}
/* ≤767px：スペーサーを小さく */
@media (max-width: 767px) {
  .wp-block-spacer.srf__spacer {
    height: 20px !important;
  }
}

/* ≤599px：タイポ縮小／右ドット位置調整 */
@media (max-width: 599px) {
  p.srf__subtitle {
    font-size: 2em;
    letter-spacing:0.02em;
    line-height: 1.24;
  }

  h3.wp-block-heading.srf__title {
    font-size: 1em;
  }

  .wp-block-image.u-lb-off.sports_dots-right {
    z-index: 0;
    top: 11%;
  }
  .wp-block-image.u-lb-off.sports_dots-left {
    bottom: -3.3%;
}
    .wp-block-image.u-lb-off.sports_dots-left.-top_3 figure img {
        width: 25px !important;
}
}

/* ==========================================================================
   NEWS Section　ニュース
   ========================================================================== */
   .p-termNavigation.c-categoryList {
    display: none;
}
.p-articleMetas__times.c-postTimes.u-thin {
    display: none;
    }
/* =========================================================
   NEWS / Post List（整頓版：値は一切変更せず／順序のみ調整）
   ========================================================= */

/* --- ボタン & 小さなタイポ ------------------------------------ */
/* ボタン（NEWS用ラベル） */
span.btn-more__label.-outline.-news {
  font-size: 16px;
  font-weight: 700;
}

/* 日付とカテゴリの文字サイズ */
.p-postList.-type-simple .p-postList__times {
  font-size: 16px;
}

.p-postList.-type-simple .p-postList__cat {
  font-size: 15px;
}

/* --- ベース構造（p-postList: simple） ------------------------- */
/* 見出しコメント */
/* =========================
    NEWS list（p-postList）
    ========================= */

/* 1) 各行の区切りとベース */
.p-postList.-type-simple>.p-postList__item {
  position: relative;
  border-top: 1px solid #dbe9e5;
}

.p-postList.-type-simple>.p-postList__item:last-child {
  border-bottom: 1px solid #dbe9e5;
}

/* 左上の短い緑ライン */
.p-postList.-type-simple>.p-postList__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 60px;
  height: 2px;
  background: #0f5c3d;
}

/* 2) 行全体（左：メタ／右：タイトル） */
.p-postList.-type-simple .p-postList__link {
  display: flex;
  align-items: center;
  gap: 32px;
  padding: 22px 0;
  text-decoration: none;
  color: inherit;
}

/* 3) 左側メタ（幅・並び） */
.p-postList.-type-simple .p-postList__meta {
  flex: 0 0 220px;
  display: flex;
  align-items: center;
  gap: 16px;
}

/* 日付 */
.p-postList.-type-simple .p-postList__times {
  font-weight: 700;
  line-height: 1;
  color: #0f5c3d;
}

/* カテゴリーバッジ（アイコン風 ::before は後段で無効化） */
.p-postList.-type-simple .p-postList__cat {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border: 1px solid #0f5c3d;
  border-radius: 999px;
  line-height: 1;
  font-size: 15px;
  color: #0f5c3d;
  background: #fff;
}

.p-postList.-type-simple .p-postList__cat::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 2px;
  background: #0f5c3d;
  display: inline-block;
}

/* 4) 右側（タイトル） */
.p-postList.-type-simple .p-postList__body {
  flex: 1 1 auto;
}

.p-postList.-type-simple .p-postList__title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #0f5c3d;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 5) ホバー */
.p-postList.-type-simple .p-postList__link:hover .p-postList__title {
  opacity: .8;
}

/* --- セクション（.news-section）限定の上書き ------------------- */
/* NEWS内のシンプル一覧だけ上線色を変更 */
.news-section ul.p-postList.-type-simple>li.p-postList__item {
  border-top-width: .5px;
  border-top-color: #808080;
}

/* NEWSセクションのシンプル型：最後の項目だけ下線を消す */
.news-section ul.p-postList.-type-simple>li.p-postList__item:last-child {
  border-bottom: none !important;
}

/* --- 追加上書き & 調整（後勝ちで適用） ------------------------ */
/* カテゴリアイコンを非表示（強制）→ 上の見た目指定よりこちらが勝つ */
.p-postList.-type-simple .p-postList__cat::before {
  display: none !important;
}

/* NEWS一覧：一番下のグレーの横線だけ消す（リンク要素へ） */
ul.p-postList.-type-simple>li.p-postList__item:last-child>a.p-postList__link {
  border-bottom: none !important;
}

/* 短い緑線を2番目・3番目の項目だけ非表示に */
.p-postList.-type-simple>.p-postList__item:nth-child(2)::before,
.p-postList.-type-simple>.p-postList__item:nth-child(3)::before {
  content: none !important;
}

/* タイトルの最終スタイル（色・ウェイトを上書き） */
.p-postList.-type-simple .p-postList__title {
  font-weight: 100;
  color: #000;
}

/* タイトル・日付の字間を広げる */
.p-postList.-type-simple .p-postList__title {
  letter-spacing: .055em !important;
}

.p-postList.-type-simple .p-postList__times {
  letter-spacing: .055em !important;
}

/* メタの余白（簡易指定：接頭に .p-postList が無いが原文を保持） */
.-type-simple .p-postList__meta {
  margin: 0 0 9px;
}

/* --- レスポンシブ ---------------------------------------------- */
@media (max-width: 768px) {
  .p-postList.-type-simple .p-postList__link {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .p-postList.-type-simple .p-postList__meta {
    flex: none;
  }
}

@media (max-width: 599px) {
  /* 指定は無し（このブロックは原文に無いので追加せず） */
}

/* ==========================================================================
   RECRUIT Section　採用情報
   ========================================================================== */
/* =========================================================
   RECRUIT Section（整頓版：値は一切変更せず／順序のみ調整）
   ========================================================= */
@media (max-width: 599px) {
.wp-block-cover.alignfull.is-light.hrc-heading.-recruitment img{
    object-position: 80% 42% !important;
}
}

/* --- タイトル／テキスト ----------------------------------- */
/*英字タイトル (RECRUIT)*/
p.recruit-section__title {
  line-height: 1;
  margin-bottom: 0.2em;
  display: block;
  font-size: 4em;
  letter-spacing: 0.06em;
  font-weight: 400 !important;
}

/*h2 採用・募集情報*/
h2.recruit__title {
  margin: 0;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 1.5em;
  font-size: 19px;
  line-height: 1.20;
}

/*recruitテキスト*/
.recruit-section__text {
  line-height: 1.8;
  margin-bottom: 4em;
}

/* --- 画像（右写真） --------------------------------------- */
/* 右の写真だけ16:9に固定 */
.wp-block-image.top-recruit {
  aspect-ratio: 16 / 9;
  /* 16:9の箱にする */
  overflow: hidden;
  /* はみ出しを隠す（=トリミング） */
}

/* 画像を箱いっぱいにフィット */
.wp-block-image.top-recruit>img {
  width: 100%;
  height: 100%;
  /* SWELLの height:auto を上書き */
  object-fit: cover;
  /* 余白なしで見せる（端は少し切れる） */
}

/* 右の写真ブロック。サイズだけ大きく（再指定：後勝ちで width を付与） */
.wp-block-image.top-recruit {
  aspect-ratio: 16 / 9;
  width: clamp(320px, 38vw, 640px);
  overflow: hidden;
}

.wp-block-image.top-recruit>img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* --- セクション土台／背景レイヤー -------------------------- */
/* 親は基準枠にする */
.recruit-section {
  position: relative;
  overflow: visible;
}

/* セクション本体を重ね合わせ可能に（重複だが原文通り維持） */
.recruit-section {
  position: relative;
  overflow: visible;
  /* はみ出しを切る（必要なければ外してOK） */
  z-index: 0;
  /* 擬似要素を背面へ */
}

/* コンテンツは前面に（SWELLの内側コンテナ名に合わせて） */
.recruit-section .l-container {
  position: relative;
  z-index: 1;
}

/* 白い背景(した) */
.recruit-section::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  /* 画面中央に合わせる */
  bottom: -186px;
  width: 100vw;
  height: 474px;
  background: url(/wp-content/uploads/2025/09/recruit-bottom.png) no-repeat center bottom;
  background-size: 100% auto !important;
  /* ← 100% 100% を強制上書き */
  pointer-events: none;
  z-index: -1;
}

/* グラデーションの設定 */
div.swell-block-fullWide.recruit-section {
  overflow: visible;
  background: linear-gradient(120deg,
      /* グラデーションの角度 */
      #8EC31F 0%,
      /* 明るい黄緑（左上） */
      #449227 40%,
      /* 濃い緑（中間） */
      #2C832A 100%
      /* 深緑（右下） */
    ) !important;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width: 599px) {
.swell-block-column.swl-has-mb--s.recruit-text-left {
    padding-left: 1em;
}
}
div.swell-block-fullWide.recruit-section {
  margin-top: -8em;
}

/* セクション内コンテナ幅 */
.recruit-section>div {
  max-width: 1000px;
}

/*テキストの囲み*/
.swell-block-columns.recruit-section__text-wrap {
  max-width: 1000px;
  margin: auto;
}

/* 擬似要素試作 */
/* 大きな円 */
.recruit-section__text-wrap {
  position: relative;
}

/* 大きな円 */
.recruit-section__text-wrap::before {
  opacity: .7;
  content: "";
  position: absolute;
  width: 1120px;
  height: 1400px;
  right: -63%;
  top: -750px;
  background: url(/wp-content/uploads/2025/09/circle-bg.svg) no-repeat;
  pointer-events: none;
  z-index: 1;
  background-size: 1085px auto;
  /* ここを増やす */
  background-position: 260px 60px;
}

/* NEWSセクション：基準レイヤー */
.news-section {
  position: relative;
  z-index: 1;
}

/* RecruitセクションをNEWSより前面へ（原文コメントのまま） */
.recruit-section {
  position: relative;
  z-index: 0;
  /* ← news-section(1)より大きく */
}

/* 右側の写真をさらに最前面へ（再指定：後勝ちで z-index:10 を適用） */
figure.wp-block-image.size-full.u-lb-off.top-recruit {
  position: relative;
  z-index: 3;
}

figure.wp-block-image.size-full.u-lb-off.top-recruit {
  position: relative;
  z-index: 10;
}

/* recruit テキストラップの内側を前面に */
.recruit-section__text-wrap>.swell-block-columns__inner {
  z-index: 11;
  position: relative;
}

/* ドット（右） */
.recruit-dots {
  position: absolute;
  bottom: 10%;
  right: 3%;
  width: 54px;
  height: 54px;
  z-index: 12;
}

/* 大きいドット（左下・少しはみ出す） */
.recruit-dots_left {
  position: absolute;
  top: 17%;
  left: 30%;
  width: 114px;
  height: 114px;
  z-index: 11;
}

/* ボタン（位置調整） */
a.concept-section__button.-left {
  margin-left: 0;
}

/* ボタン配色（--green / --white） */
span.concept-section__button-icon.--green {
  background: #fff;
}

span.concept-section__button-icon.--green::before {
  border-right: 2px solid green;
  border-bottom: 2px solid green;
}

span.concept-section__button-icon.--green:hover {
  background: green;
  border: none;
}

/* aタグをホバー → 丸ボタンを緑に */
a.concept-section__button:hover .concept-section__button-icon.--green,
a.concept-section__button:hover .concept-section__button-icon.--white {
  background-color: #0a6f20;
  border-color: #0a6f20;
}

/* a をホバーしたときに矢印( ::before )をしろに */
a.concept-section__button:hover span.concept-section__button-icon::before {
  border-right-color: #fff;
  border-bottom-color: #fff;
}

/* 画像（全幅装飾）位置微調整 */
figure.wp-block-image.alignfull.size-large.u-lb-off.recruit--top {
  position: relative;
  top: -3px;
}

figure.wp-block-image.alignfull.size-large.u-lb-off.recruit-under {
  position: relative;
  bottom: -3px;
}

/* --- レスポンシブ ------------------------------------------- */
@media (max-width: 768px) {

  /* SPは横いっぱいでOKなら */
  .wp-block-image.top-recruit {
    width: 100%;
  }

  /* SPで縦積み（≤768px） */
  .swell-block-columns.recruit-section__text-wrap>.swell-block-columns__inner {
    flex-wrap: wrap;
    /* 確実に縦積みなら → flex-direction: column; でもOK */
  }

  /* 両カラムとも 100% に上書き */
  .swell-block-columns.recruit-section__text-wrap>.swell-block-columns__inner>.swell-block-column {
    --clmn-w--pc: 100% !important;
    /* ← ここが決め手 */
    --clmn-w--sp: 100% !important;
    /* テーマがSP用を参照する場合の保険 */
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

@media (max-width: 599px) {
  p.recruit-section__title {
    font-size: 2.5em;
  }

  h2.recruit__title {
    font-size: 1.2em;
  }


  .recruit-section::after {
    bottom: -46px;
  }
}

@media (max-width: 1400px) {
  figure.wp-block-image.alignfull.size-large.u-lb-off.recruit-under {
    bottom: -46px !important;
  }

  .recruit-dots {
    bottom: 15%;
  }
}

@media (max-width: 1100px) {
  figure.wp-block-image.alignfull.size-large.u-lb-off.recruit-under {
    bottom: -70px !important;
  }
}

/* 大きい円の調整 */
@media (max-width: 2600px) {
    .recruit-section__text-wrap::before {
        right: -101%;
        background-size: 1385px auto;
    }
}
@media (max-width: 2200px) {
.recruit-section__text-wrap::before {
    right: -73%;
    background-size: 1225px auto;
    }
}
@media (max-width: 1900px) {
  .recruit-section__text-wrap::before {
    right: -55%;
    background-size: 1085px auto;
    background-position: 260px 10px;
  }
}

@media (max-width: 1500px) {
  .recruit-section__text-wrap::before {
    background-size: 1085px auto;
  }
}
@media (max-width: 1200px) {
  .recruit-section__text-wrap::before {
      top: -710px;
    background-size: 960px auto !important;
    }
}
@media (max-width:599px) {
      .recruit-dots_left {
        width: 27px;
        height: 44px;
        top: 19%;
        left: 66%;
    }


  .recruit-dots {
    bottom: -5%;
  }
  .recruit-section__text-wrap::before {
  right:-115%;
  opacity:.5;
    width: 820px;
    height: 1020px;
}
}
/* ==========================================================================
   GROUP Section　グループ企業
   ========================================================================== */
/* =========================================================
   GROUP Section（整頓版：値は変更せず／順序のみ調整）
   ========================================================= */

/* --- 見出し ------------------------------------------------- */
/*英字タイトル (GROUP)*/
/*Sports & Resort Facilities*/
p.group__subtitle {
  line-height: 1;
  color: #0b6e3a;
  margin: 0;
  margin-bottom: .34em;
  display: block;
  font-size: 4em;
  letter-spacing: .06em;
  font-weight: 400 !important;
}

@media (max-width:599px) {
  p.group__subtitle {
    font-size: 2.5em;
  }
}

/*h2 グループ企業紹介*/
h2.wp-block-heading.group__title {
  color: #0b6e3a;
  margin: 0;
  font-weight: 500;
  letter-spacing: .05em;
  font-size: 1.5em;
}

@media (max-width:599px) {
  h2.wp-block-heading.group__title {
    font-size: 1.2em;
  }
}

/* --- セクション余白（位置調整） -------------------------------- */
.swell-block-fullWide.pc-py-60.sp-py-40.alignfull.group-section {
  margin-top: -12em;
}

@media (max-width:1300px) {
  .swell-block-fullWide.pc-py-60.sp-py-40.alignfull.group-section {
    margin-top: -8em;
  }
}

@media (max-width:1100px) {
  .swell-block-fullWide.pc-py-60.sp-py-40.alignfull.group-section {
    margin-top: -6em;
  }
}

@media (max-width:599px) {
  .swell-block-fullWide.pc-py-60.sp-py-40.alignfull.group-section {
    margin-top: -1em;
    margin-bottom: 0;
}
}

/* --- ロゴカード（ベース → 詳細上書き） ------------------------ */
/* ベース */
.group-item>figure.wp-block-image {
  margin: 0;
  background: #fff;
  padding: 14px 22px;
  border-radius: 2px;
  box-shadow: 0 3px 0 rgba(0, 0, 0, .15);
  display: flex;
  align-items: center;
}

/* 画像サイズ */
.group-item>figure.wp-block-image img {
  height: 56px;
  width: auto;
  display: block;
}

/* 詳細（後勝ちで上書き：角丸・影・中央寄せ・トランジション） */
.group-item>figure.wp-block-image {
  background: #fff;
  /* 白背景 */
  border-radius: 8px;
  /* 角丸 */
  padding: 14px 22px;
  /* 内側余白 */
  margin: 0;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
  /* 柔らかい影 */
  display: flex;
  align-items: center;
  justify-content: center;
  transition: box-shadow .2s ease, transform .2s ease;
}

/* ホバー */
.group-item>figure.wp-block-image:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
  transform: translateY(-2px);
}

/* ==========================================================================
   Header Section　ヘッダー
   ========================================================================== */

.c-gnav>.menu-item>a .ttl {
  font-weight: 700;
  font-size: 16px;
}

/*ヘッダー　お問い合わせ*/
.c-gnav li.menu-item-79 {
  margin-left: 14px !important;
}


.c-gnav li.menu-item-79 {
  display: flex;
  align-items: center
}

.c-gnav li.menu-item-79>a {
  display: inline-block;
  background: #0a6f2a;
  color: #fff !important;
  border-radius: 9999px;
  padding: 14px 29px;
  line-height: 1;
  vertical-align: middle;
  height: auto
}

.c-gnav li.menu-item-79>a .ttl {
  color: #fff !important
}

.c-gnav li.menu-item-79>a .ttl::after {
  content: none
}
/* ── ヘッダー：トップ階層（a > .ttl） ───────────── */
.c-gnav > .menu-item > a:hover .ttl,
.c-gnav > .menu-item > a:focus-visible .ttl{
  color: #0a6f2a !important;   /* ←変更したい色に差し替え可 */
               /* ほんの少し透過 */
  transition: color .2s ease;
}

/* ── ヘッダー：サブメニュー（念のため .ttl 有無の両方） ── */
.c-gnav .sub-menu li > a:hover .ttl,
.c-gnav .sub-menu li > a:focus-visible .ttl{
  color: #0a6f2a!important;

  transition: color .2s ease;
}

.c-gnav .sub-menu li > a:hover,
.c-gnav .sub-menu li > a:focus-visible{
  color: #ffffff !important;   /* .ttlが無い場合の保険 */

  transition: color .2s ease;
}
/* ヘッダー／お問い合わせだけ個別ホバー
   nav：.c-gnav / li：.menu-item-79 / a内の .ttl を変化させる */
.c-gnav li.menu-item-79 > a:hover .ttl,
.c-gnav li.menu-item-79 > a:focus-visible .ttl{
  color: #ffffff !important;  /* ←この項目だけの色。必要なら好きな色に変更 */
  opacity: .90;               /* ←この項目だけ少し透過 */
  transition: color .2s ease, opacity .2s ease;
}

/* 念のため、.ttlが無い構造でも効く保険 */
.c-gnav li.menu-item-79 > a:hover,
.c-gnav li.menu-item-79 > a:focus-visible{
  color: #ffffff !important;
  transition: color .2s ease, opacity .2s ease;
}
/* ヘッダー／お問い合わせだけ：a のホバーで背景色変更 */
.c-gnav li.menu-item-79 > a{
  transition: background-color .2s ease, color .2s ease, opacity .2s ease;
}

.c-gnav li.menu-item-79 > a:hover,
.c-gnav li.menu-item-79 > a:focus-visible{
  background-color: #0d8a35 !important; /* ←好みの色に変更可。例：元 #0a6f2a より少し明るめ */
  color: #ffffff !important;            /* 文字は白のまま */
                     /* ほんの少し透過（不要なら削除） */
}
/* ヘッダーメニュー：サブメニュー a をなめらかに */
.c-gnav .sub-menu li > a{
  transition: color .2s ease, background-color .2s ease,
              opacity .2s ease, transform .2s ease, padding .2s ease;
  will-change: color, background-color, opacity, transform, padding;
}

/* ホバー時（必要なら色・透過も同時に） */
.c-gnav .sub-menu li > a:hover,
.c-gnav .sub-menu li > a:focus-visible{
  transform: translateX(2px);    /* ← padding-left でズラす代わりに transform で滑らかに */
  color: #ffffff !important;      /* 色変更（任意） */
  opacity: .9;                    /* わずかに透過（任意） */
}
/* サブメニュー a のホバーで入っている横ずれ(translateX)を無効化 */
.c-gnav .sub-menu li > a:hover,
.c-gnav .sub-menu li > a:focus-visible{
  transform: none !important; /* ← translateX(2px) を打ち消す */
}

/* 念のため、通常状態にも変形なしを明示 */
.c-gnav .sub-menu li > a{
  transform: none;
}
/*ヘッダーロゴ*/
@media (max-width: 599px) {
  .c-headLogo__img {
 height: 100%;
        width: 100%;
  }
}
/* 1) サブメニュー a の左側を固定（padding/transform/transitionを封じる） */
#gnav.c-gnav .sub-menu li > a{
  padding-left: 2em !important;         /* ←基準値に固定 */
  margin-left: 0 !important;
  transform: none !important;
  transition: none !important;
  border-left: 3px solid transparent !important;  /* 幅が出て押し出されないよう最初から確保 */
  display: block !important;
  line-height: 1 !important;
  position: relative !important;
}

/* 2) hover/親li:hover/フォーカスでも同値に固定（動かさない） */
#gnav.c-gnav .sub-menu li:hover > a,
#gnav.c-gnav .sub-menu li > a:hover,
#gnav.c-gnav .sub-menu li > a:focus-visible{
  padding-left: 2em !important;         /* まったく同じ値 */
  margin-left: 0 !important;
  transform: none !important;
  border-left-color: transparent !important;  /* 色だけ変えるならここを変更 */
  transition: color .18s ease, opacity .18s ease !important; /* 視覚のみ */
}

/* 3) 左のバーや矢印を使っている場合を強制停止（これが押し出しの犯人になりがち） */
#gnav.c-gnav .sub-menu li > a::before,
#gnav.c-gnav .sub-menu li > a::after{
  content: none !important;             /* まず消す（必要なら position:absolute; width:0 に変更でもOK） */
  transition: none !important;
  transform: none !important;
}

/* 4) 文字幅でズレないよう太字切替を禁止 */
#gnav.c-gnav .sub-menu li > a .ttl{
  font-weight: inherit !important;
  transform: none !important;
  transition: none !important;
}



/* ==========================================================================
   Main Visual Section　メインビュー
   ========================================================================== */
   /* 英字キャッチコピー（p.has-text-align-center.hero__kicker） */
p.has-text-align-center.hero__kicker,
p.has-text-align-center.hero__kicker.-en {
  /* 文字色は白のまま */
  color: #fff;
  /* 読みやすさ向上用の薄い縁取り（装飾的に見えない程度） */
  text-shadow:
    0 0 2px rgba(0,0,0,0.35),
    0 2px 10px rgba(0,0,0,0.28),
    0 0 22px rgba(0,0,0,0.25);
}

/* 日本語サブタイトル（h2.is-style-section_ttl.hero__title-ja） */
h2.is-style-section_ttl.hero__title-ja {
  color: #fff;
  text-shadow:
    0 0 1.5px rgba(0,0,0,0.35),
    0 2px 8px rgba(0,0,0,0.25);
}

/* =========================================================
   HERO / MAIN VISUAL（整頓版：値変更なし／順序のみ調整）
   ========================================================= */

/* --- タイポ & 画像 ----------------------------------------------------- */
/* ファーストビュー タイトル（スライド） */
.p-mainVisual__slideTitle {
  font-size: 6.5vw;
}

/* 英字キッカー */
.hero__kicker {
  margin-bottom: 0;
  display: block;
  font-size: 4.8em;
  letter-spacing: 0.06em;
  font-family: "Jost", sans-serif;
  font-weight: 400 !important;
}

/* h2 すべては笑顔と感動のために */
h2.wp-block-heading.is-style-section_ttl.hero__title-ja {
  line-height: 1.45;
  font-weight: 600;
  margin: 0;
  letter-spacing: 0.05em;
  font-size: 1.5em;
}

/* 英字タイトル画像サイズ */
figure.wp-block-image.size-large.is-resized.u-lb-off.hero__title-en img {
  width: 200px !important;
}

@media (max-width: 1100px) {
  figure.wp-block-image.size-large.is-resized.u-lb-off.hero__title-en img {
    width: 170px !important;
  }
}

/* 笑顔画像の配置 */
.hero__smile img {
  display: block;
  margin: 30px auto 0;
}

/* --- レイアウト（カラム） ---------------------------------------------- */
/* 親：フレックスで右寄せ */
.swell-block-columns.hero__content>.swell-block-columns__inner {
  display: flex;
  gap: 0;
  justify-content: flex-end;
}

/* 右カラム：常に右端へ（ベース） */
.swell-block-column.swl-has-mb--s.main-txt-right {
  margin-left: auto;
  flex: 0 1 630px;
  width: auto;
  max-width: 630px;
  min-width: 0;
}

/* hero内での個別上書き（既存の挙動を維持） */
.hero__content .swell-block-column.swl-has-mb--s.main-txt-right {
  margin-left: 0;
  margin-right: 0;
  flex: 0 1 630px;
  width: 100%;
  max-width: 630px;
  margin-top: -1em;
}

/* --- 付随要素 ---------------------------------------------------------- */
/* コンセプトの下の白い画像は手前に */
figure.wp-block-image.alignfull.size-large.u-lb-off.top-under {
  z-index: 10;
}

/* MV右マージン調整 */
.p-mainVisual__textLayer>.p-blogParts.post_content {
  margin-right: 0 !important;
}

/* --- レスポンシブ ------------------------------------------------------- */
/* ≥600px：スライドタイトル固定サイズ */
@media (min-width: 600px) {
  .p-mainVisual__slideTitle {
    font-size: 34px;
  }
}

/* ≥960px：ページネーションを左中央・縦並び */
@media (min-width: 960px) {
  .p-mainVisual .swiper-horizontal>.swiper-pagination-bullets {
    left: 50px;
    right: auto;
    top: 50%;
    bottom: auto;
    width: auto;
    transform: translateY(-50%);
    display: flex;
    /* 縦に並べる */
    flex-direction: column;
    gap: 8px;
    text-align: left;
  }
}
@media (max-width: 959px) {
  .swell-block-columns.hero__content>.swell-block-columns__inner{
margin-left: auto !important;
  }
}
@media (max-width: 769px) {
  .swell-block-columns.hero__content>.swell-block-columns__inner{
margin-left: auto !important;
justify-content: center;
  }
}

/* ≤599px：縦積み＋右カラムを中央配置 */
@media (max-width: 599px) {
  .swell-block-columns.hero__content>.swell-block-columns__inner {
    flex-wrap: wrap;
    justify-content: center;
  }

  .swell-block-columns.hero__content>.swell-block-columns__inner>.swell-block-column {
    flex: 0 0 100%;
  }

  .swell-block-columns.hero__content>.swell-block-columns__inner>.swell-block-column.swl-has-mb--s.main-txt-right {
    flex: 0 1 auto;
    width: auto;
    max-width: 630px;
    margin: 0 auto;
  }
}


/* ==========================================================================
   POST Section　投稿
   ========================================================================== */

/*投稿*/
time.c-postTimes__posted.icon-posted:before {
  content: none;
}

.top #content {
  padding-top: 0;
}

.wp-block-spacer {
  margin: 0;
}

.l-footer__widgetArea {
  background: #333;
  color: #fff;
}

.c-gnav .sub-menu a:before,
.c-listMenu a:before {
  content: none;
}

.l-footer {
  background-color: #fff;
  color: #000;
}

.c-listMenu a {
  border-bottom: none;
  padding: .2em 40px;
}

@media (min-width: 960px) {
  .w-footer {
    align-items: center !important;
  }
}

@media (min-width: 600px) {
  .c-pageTitle {
    font-size: 1.8em;
  }
}

.c-listMenu a:hover {
  padding-left: 40px;
  padding-right: 0;
}

@media (max-width: 959px) {
  div#custom_html-2 {
    padding-left: 40px;
  }

  /* ==================================================================
   ドロワーメニュー
   Drawer Menu
   ================================================================== */
  /*ドロワーメニュー*/
  .c-spnav>.menu-item>a {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

@media (max-width: 599px) {
  .l-content {
    margin: 0 auto 4em;
  }

  .c-pageTitle {
    font-size: 1.8em;
  }
}
/* スマホのドロワーメニュー太字 */
.c-spnav li.menu-item.menu-item-type-post_type.menu-item-object-page.menu-item-144 > a {
  font-weight: bold;
}
.c-spnav li.menu-item.menu-item-type-post_type.menu-item-object-page.menu-item-145 > a {
  font-weight: bold;
}

/* ==================================================================
   コンタクトフォーム
   Contact Form
   ================================================================== */

/* コンタクトフォーム内
------------------------------------------ */
/*コンタクトフォーム７*/
div#wpcf7-f12-p25-o1 {
  max-width: 900px;
  margin: 0 auto;
}

.contact-form {
  width: 100%;
  font-size: 14px;
  margin-top: 40px;
}

/* テーブル左 */
.contact-form th {
  background: transparent;
  text-align: left;
  padding: 3%;
  width: 33%;
  vertical-align: middle;
  box-sizing: border-box;
}

/* テーブル右 */
.contact-form td {
  width: 70%;
  vertical-align: middle;
  padding-top: 0.01%;
  padding-bottom: 0.01%;
  box-sizing: border-box;
  background: #fff !important;
}

/* インプットボックス */
.contact-form input,
textarea {
  width: 100%;
  padding: 9px;
  box-sizing: border-box;
}

/*ラジオボタン*/
input[type="radio"] {
  width: 15px;
}

/* 送信ボタン*/
.form_button {
  text-decoration: none;
  padding: 10px;
  text-align: center;
  color: #ffffff;
  background-color: #0a6f2a !important;
  border: none;
  width: 200px;
  margin: 40px auto 0;
  display: block;
  font-size: 16px;
  font-weight: 600;
  transition: all 0.3s ease 0s;
  opacity: 1;
  cursor: pointer;
  border-radius: 5px !important;
}

.form_button:hover {
  opacity: 0.8;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .contact-form {
    font-size: 12px;
  }

  .contact-form th {
    width: 100%;
    display: block;
  }

  .contact-form td {
    width: 100%;
    display: block;
  }

  .form_button {
    margin: 25px auto 0;
    font-size: 14px;
    border-radius: 5px !important;
  }

  .top #content {
    padding-top: 1.8em;
  }
}

/* 800px以上を表示 */
@media (max-width: 768px) {
  .u-desktop {
    display: none;
  }
}

/* モバイルのみ表示 */
.u-mobile {
  display: none;
}

@media (max-width: 768px) {
  .u-mobile {
    display: block;
  }



  p.has-text-align-center.social-icon-text.has-text-color {
    margin-bottom: 5px;
  }
}

/* 送信ボタンを押した後のアクション */
body .wpcf7-not-valid {
  background: #eee;
}

div.wpcf7-response-output {
  border: none;
  text-align: center;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #fff;
}

.wpcf7 form.sent .wpcf7-response-output {
  background: #1354A1;
  color: #fff;
}

.wpcf7 form.spam .wpcf7-response-output {
  background: #f15b47;
  border-color: #f15b47;
  color: #fff;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  border: none;
  background: #ffd900;
}

.wpcf7 .wpcf7-not-valid-tip {
  margin-left: 9px;
  display: inline-block;
  color: #000;
  background-color: #ffd900;
}

.contact__check {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contact__check a {
  color: #333333;
  text-decoration: underline;
}

span.wpcf7-list-item {
  margin: 0.3em 1em;
}

/*必須の調整*/
.haveto {
  font-size: 9px;
  padding: 1.5px 5px;
  background: #0a6f2a !important;
  color: #fff;
  border-radius: 2px;
  margin-left: 7px;
  position: relative;
  vertical-align: middle;
}

/*任意の調整*/
.any {
  font-size: 9px;
  padding: 1.5px 5px;
  background: #D9D9DA;
  color: #333;
  border-radius: 2px;
  margin-left: 7px;
  position: relative;
  vertical-align: middle;
}



[class*=is-style-btn_] a {
  border-radius: 10px;
}

label {
  display: block;
  position: relative;
  padding-left: 1em;
}

label input {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -9px;
  margin: auto;
}


.wpcf7-radio span.wpcf7-list-item {
  display: inline-block !important;
}

@media (max-width: 768px) {


  .post_content tr:last-child>td {
    border: none;
  }

  span.wpcf7-list-item {
    margin: 1em 0.6em 1em 1em !important;
  }

  /*ポリシー*/
  span.wpcf7-list-item-label {
    font-size: .9em;
  }
}

@media only screen and (max-width: 420px) {
  .wpcf7-textarea {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/*ボタンの色*/
.form_button {
  background-color: #0a6f2a !important;
}

input#age-area {
  width: 10%;
  margin-right: 7px;
}

@media only screen and (max-width: 400px) {
  input#age-area {
    width: 15%;
    margin-right: 7px;
  }
}


td.contact_message {
  padding-top: 15px;
  padding-bottom: 10px;
}


input {
  background-color: #F8F8F8;
}

.wpcf7-textarea {
  background: #F8F8F8;
}

.post_content td {
  padding: 10px;
}

@media only screen and (max-width:768px) {
  .post_content td {
    border-bottom: none;
  }

  .contact__check {
    margin-top: 1em;
  }

  .post_content th {
    border-bottom: none;
  }

  td.contact_message {
    border: 1px solid #dcdcdc !important;
  }
}

/*コンタクトフォームここまで*/



/* ==========================================================================
   SERVICE 事業内容サービスページ(下層)
   ========================================================================== */
/*見出しの高さ*/
.wp-block-cover.alignfull.hrc-heading{
margin-bottom:0 !important;
  min-height: clamp(200px, 42vh, 380px) !important;
}
p.hrc-heading__txt{
text-shadow: 0 1px 2px rgba(0,0,0,.12); 
  line-height: 1.15;
    letter-spacing: 0.06em;
    font-weight: 400 !important;
margin:0 !important;
    font-size: 4em;
}
@media (max-width: 599px){
p.hrc-heading__txt {
    font-size: 2.6em;
}
}
h1.wp-block-heading.is-style-section_ttl.hrc-heading__title{
text-shadow: 0 1px 2px rgba(0,0,0,.12); 
  letter-spacing: 0.08em; 
margin-top: clamp(6px, 1vw, 12px) !important; 
font-size:1em;
margin:0;
}
@media (max-width:599px){
.wp-block-cover.alignfull.hrc-heading{
  min-height:380px !important;
}
p.has-text-align-center.hrc-heading__txt {
    font-size: 2.6em;
    margin-bottom: .2em !important;
}
h1.wp-block-heading.is-style-section_ttl.hrc-heading__title {
    font-size: .9em;
}
}
.btn-5  > a > span{
text-align:left;
}

.swell-block-button.google-map {
    margin-bottom: 0;
}

.swell-block-button__link span {
  flex: 1; /* テキストが左側に配置されて幅を取る */
}

.swell-block-button__link .__icon--right {
  margin-right: 0; /* めり込み防止 */
}

.swell-block-button.is-style-btn_normal.button-000155 > a > span {
  flex: unset !important;
}

/* インデックスボタン */
.btn-5 > a.swell-block-button__link {
  width: 90%;
  padding: .5em 0;
  display: flex;
  justify-content: space-between; /* 左テキストと右アイコンを両端に配置 */
  align-items: center;
}

/* サービス上段ボタン（btn-5 aタグ） */
/* 上段ボタン（カテゴリ選択） */
.btn-5 > .swell-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 20px;
  transition: background 0.3s ease, transform 0.2s ease;
  border:2px solid #006634;
  padding: 0.9em 1.8em !important;
background:#fff;
  color: #006634 !important;
  border-radius: 8px; /* 下段CTAと揃える */
  font-weight: 600;
  font-size: 1.2em;
}


@media screen and (max-width: 599px) {
  a.swell-block-button__link {
    padding: 4px 0;
  }
}
/* SWELLボタン2つの高さを揃える */
.swell-block-button.btn-5.is-style-btn_normal{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

/* 親要素で高さを統一 */
.swell-block-button.btn-5.is-style-btn_normal{
  display: flex;
  align-items: stretch;
}
/* SPで縦並び時に高さを統一 */
@media (max-width: 599px){
  .swell-block-button.btn-5 .swell-block-button__link{
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 64px; /* 好みで 56–72px などに調整 */
    width: 100%;
  }
}
.swell-block-button.btn-5 a.swell-block-button__link svg.__icon.-right{
  background: #2D832A;  
  border-radius: 50% !important;
  color: #fff; 
  padding: .35em; 
 border-radius: 50%;
  overflow: hidden;      
  display: inline-block;  /* レイアウト安定化 */
  box-sizing: content-box; 
}
.service-heading.-en {
    text-align: center;
  margin: 0;
  color: #000;
    line-height: 1;
    margin-bottom: 0.5em;
    display: block;
  font-size: 4em;
    letter-spacing: 0.06em;
    font-weight: 400 !important;
}
@media (max-width: 599px){
.service-heading.-en {
  font-size: 2.5em;
}
}
.service-heading.-en .accent {
  color: #2F8A2E; /* グリーン */
}
/*h2タイトル*/
h2.wp-block-heading.is-style-section_ttl.service-section__title{
    margin: 0;
   margin-bottom: 0.5em;
    letter-spacing: 0.05em;
   font-size: 1.5em;
    font-weight: 500 !important;
}
@media (max-width: 599px){
h2.wp-block-heading.is-style-section_ttl.service-section__title{
   font-size: 1.2em;
   }
   }
figure.wp-block-image.size-full.u-lb-off.s-smile {
    margin: 0;
}


.swell-block-fullWide.service-camp > div{
max-width:1200px;
padding:0 20px;
margin:0 auto;
}
/*h3タイトル*/
h3.wp-block-heading.srf__name.-camp{
margin:1.7em 0 .7em;
}
/* 768px以下で縦並びに */
@media (max-width: 768px){
 
  .swell-block-columns.camp-visual-item .swell-block-column{
    width: 100% !important;
  }

  .swell-block-columns.camp-visual-access .swell-block-column{
    width: 100% !important;
  }
}

.srf__img.square{
border-radius:2px;
}
.camp-visual-item{
    border-radius: 28px;
    padding: clamp(18px, 3vw, 32px);
padding-left:0;
padding-right:0;
}
.camp-visual-access.square{
    background: #fff;
    border-radius: 2px;
    padding: clamp(18px, 3vw, 32px);
}
/* ===== SP(～768px) は縦並び＋はみ出し禁止 ===== */
@media (max-width: 768px){

  /* 列を縦方向に */
  .swell-block-columns.camp-visual-access .swell-block-columns__inner{
    flex-direction: column !important;
        overflow: hidden;
    align-items: stretch !important;
  }

  /* 各カラムは “幅100%／最小幅0” でオーバーフロー防止 */
  .swell-block-columns.camp-visual-access .swell-block-column{
    width: 100% !important;
    min-width: 0 !important;   /* ← これが肝 */
    overflow: hidden;          /* 角丸の中に収める */
    box-sizing: border-box;
  }

  /* カラム直下の要素も親幅を超えさせない */
  .swell-block-columns.camp-visual-access .swell-block-column > *{
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Google Map iframe：埋め込み属性(width/height)を完全に無効化 */
  .swell-block-columns.camp-visual-access .swell-block-column iframe.lazyloaded{
    display: block;
    width: 100% !important;        /* width="600" を上書き */
    max-width: 100% !important;
    height: auto !important;       /* height="350" を上書き */
    aspect-ratio: 4 / 3;           /* 好みで 3/2 や 16/9 に変更可 */
    border: 0;
  }
}
.google-map {
    margin-left: 0;
}
.google-map >a.swell-block-button__link {
    border-radius: 30px;
}
@media (max-width:599px) {
.swell-block-fullWide.pc-py-60.sp-py-40.alignfull.service-camp {
    margin-bottom: 0;
}
.google-map >a.swell-block-button__link {
padding:10px 0;
width:100%;
}
.google-map {
    width: 100%;
}
}
/* SP（～768px）：白枠の中でテーブルを中央配置＆フル幅で収める */
@media (max-width: 768px){

  /* 白枠コンテナ（左右を対称に＆はみ出し防止） */
  .swell-block-columns.camp-visual-access .srf__body{
    padding: 16px;              /* 左右同値で“中央”に見える */
    box-sizing: border-box;
    min-width: 0;               /* flex子のはみ出し対策 */
    overflow: hidden;
  }

  /* figure を中央に据えて幅100%でフィット */
  .swell-block-columns.camp-visual-access .srf__body figure.wp-block-table.access-table{
    display: block;
    width: 100% !important;     /* 余計な縮小を禁止 */
    max-width: 100% !important;
    margin: 0 auto !important;  /* 中央 */
  }

  /* テーブル本体も親幅いっぱい、ズレ防止 */
  figure.wp-block-table.access-table table{
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
    box-sizing: border-box;
  }
.swell-block-columns.camp-visual-access .srf__body {
        margin: auto;
    }
}

h4.content-heading{
    margin-top: 1.5em;
  font-weight: 500;
margin-bottom: .5em;
    font-size: 1.5em;
}

.head > .swell-block-button__link span {
  display: inline-block;
  line-height: 1.4;
}

/* 「About Us」部分のみ小さく */
.head > .swell-block-button__link span::first-line {
  font-size: 0.7em;
font-weight:100;
line-height:2;
  letter-spacing: 0.03em;
}
.swell-block-button.is-style-btn_normal.btn-5.head {
  min-height: 110px; /* ← 高さを出したい値だけ変更 */
}
figure.wp-block-image.size-full.u-lb-off.service-dots_head {
    position: absolute;
    top: 13.5%;
    right: 5%;
    z-index: -1;
}
@media (max-width: 768px){
  figure.wp-block-image.size-full.u-lb-off.service-dots_head {
    top: 11.5%;
        right: 9%;
  }
}
figure.wp-block-image.size-full.u-lb-off.service-dots_bottom {
    position: absolute;
    top: 15%;
left: 0;
    z-index: -1;
}
@media (max-width: 768px){
  figure.wp-block-image.size-full.u-lb-off.service-dots_bottom {
     top: 15%;
    right: 8%;
  }
}
/*背景あしらい*/
.swell-block-fullWide.has-bg-img.alignfull.company-container.bottom {
  position: relative;
  --page-bg: #faf9f5; /* 上の背景色 */
}

/* 上端だけ淡いフェードをかける */
.swell-block-fullWide.has-bg-img.alignfull.company-container.bottom::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  /* 上部のみ #faf9f5 方向にグラデーション */
  background: linear-gradient(
    to bottom,
    rgba(250, 249, 245, 1) 0%,   /* 完全に #faf9f5 */
    rgba(250, 249, 245, 0.9) 10%,
    rgba(250, 249, 245, 0.6) 25%,
    rgba(250, 249, 245, 0.2) 45%,
    rgba(250, 249, 245, 0) 60%   /* 徐々に透明化 */
  );
}

/* 中身を前面に */
.swell-block-fullWide.has-bg-img.alignfull.company-container.bottom > .swell-block-fullWide__inner,
.swell-block-fullWide.has-bg-img.alignfull.company-container.bottom > .l-container {
  position: relative;
  z-index: 2;
}
figure.wp-block-table.access-table td.hours-cell .dow{
  white-space: nowrap;       /* 折り返さない */
}
figure.wp-block-table.access-table span.dow{
  display: inline-block;   /* 同じ行で右側テキストと並べる */
  width: 120px;            /* 例：固定 120px（50pxなら 50px に） */
  margin-right: .75em ;     /* 曜日と時刻の間隔 */
  white-space: nowrap;     /* 曜日が折り返されないように */
  vertical-align: top;     /* 行頭そろえ */
}
/* 事業アクセス表（Gutenberg の Table） */
figure.wp-block-table.access-table table{
  width: 100%;
  table-layout: fixed;            /* 1列目の幅を安定させる */
  border-collapse: separate;
  border-spacing: 0;
}

figure.wp-block-table.access-table th,
figure.wp-block-table.access-table td{
  padding: 12px 13px;             /* 行間・行頭の余白を整える */
  vertical-align: top;            /* 上揃えで多行でも崩れにくい */
}



/* ==========================================================================
   RECRUIT 採用情報ページ(下層)
   ========================================================================== */
.site-link > .swell-block-button__link > svg.__icon.-right {
    padding-left: 2px;
    margin-top: 3px;
    margin-bottom: -3px;
    position: absolute;
    right: 31%;
}
.hrc-recruit_title {
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: 0.05em;
  font-size: 2em !important;
  position: relative;
  margin: 0 !important;
  padding-bottom: .5em;
}
@media (max-width: 599px) {
.hrc-recruit_title {
    padding-top: 2em;
}
}

p.has-text-align-center.hrc-heading__txt {
  text-shadow: 0 1px 2px rgba(0, 0, 0, .12);
  font-size: 4em;
  line-height: 1.15;
  letter-spacing: 0.06em;
  font-weight: 400 !important;
  margin: 0;
}
@media (max-width:599px){
p.has-text-align-center.hrc-heading__txt {
    font-size: 2.6em;
    margin-bottom: .2em !important;
}
h1.wp-block-heading.is-style-section_ttl.hrc-heading__title {
    font-size: .9em;
}
}
/*ロゴの円背景あしらい*/
.about-bg {
  position: relative;
}

.about-bg::before {
  content: "";
  position: absolute;
  width: 1120px;
  height: 1400px;
  right: -33%;
  top: -450px;
  background: url(/wp-content/uploads/2025/09/circle-bg.svg) no-repeat;
  background-size: 820px auto;
  background-position: 320px 60px;
  pointer-events: none;
  z-index: -10;
}

@media screen and (min-width: 1500px) {
  .about-bg::before {
    width: 1621px;
    height: 1880px;
    right: -113%;
    top: -450px;
    background-size: 1370px auto;
    background-position: 320px 60px;
  }
}

@media screen and (max-width: 959px) {
  .about-bg::before {
    top: -210px;
  }
}

@media screen and (max-width: 599px) {
  .about-bg::before {
    top: -140px;
    right: -138%;
    background-size: 630px auto;
  }
}

/*ボタン*/
/* 本体：太めの丸ボタン */
.swell-block-button.is-style-btn_normal.job-btn .swell-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 240px;
  /* 見本の横幅感 */
  padding: 12px 45px;
  /* 高さ・左右余白 */
  height: auto !important;
  /* SWELLの固定高さを無効化 */
  border: none;
  border-radius: 9999px;
  /* 極丸 */
  background-color: #0a6b44;
  /* ブランドグリーン */
  color: #fff;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 10px 18px rgba(0, 0, 0, .14);
  /* ふわっと影 */
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}

/* ホバー：少し持ち上げて明度アップ */
.swell-block-button.is-style-btn_normal.job-btn .swell-block-button__link:hover {
  background-color: #138b5b;
  /* 少し明るい緑 */
  transform: translateY(-2px);
  box-shadow: 0 14px 24px rgba(0, 0, 0, .18);
}

/* クリック時：沈ませる */
.swell-block-button.is-style-btn_normal.job-btn .swell-block-button__link:active {
  transform: translateY(0);
  box-shadow: 0 8px 14px rgba(0, 0, 0, .14);
}

/* キーボードフォーカス */
.swell-block-button.is-style-btn_normal.job-btn .swell-block-button__link:focus-visible {
  outline: 2px solid #0a6b44;
  outline-offset: 3px;
}

p.hrc-rec-ttl.-en {
  margin: 0 0 .33em;
  line-height: 1;
  display: block;
  font-size: 2.5em;
  letter-spacing: 0.04em;
  font-weight: 400 !important;
}

h2.wp-block-heading.hrc-rec-title {
  margin: 0;
  font-weight: 600;
  letter-spacing: 0.04em;
  font-size: 1em;
}

/* タイトル（H3） */
h3.c-lead {
  margin: 0;
  margin-bottom: .2em;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .04em;
}

h3.r-lead {
  margin: 0;
  margin-bottom: .2em;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .04em;
}

/* サブリード（あなたの人生の第一歩 / キャリアを活かして…） */
.swell-block-column.swl-has-mb--s.company-item .c-sublead {
  margin: 0 0 1em;
  /* 下に少しだけ余白 */
  font-size: 1em;
  line-height: 1.9;
  letter-spacing: .04em;
}

/* カード（SWELLのカラム）全体にホバー演出を付ける */
.swell-block-column.flow-item {
  position: relative;
  border-radius: 12px;
  transition: transform .25s ease, box-shadow .25s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .08);
}

/* 透明リンク＝全面カバー */
.swell-block-column.flow-item .block-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  cursor: pointer;
  text-indent: -9999px;
}

/* 薄いハイライト */
.swell-block-column.flow-item .block-link::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: transparent;
  transition: background-color .25s ease;
}

/* ホバー時（:has対応ブラウザ） */
.swell-block-column.flow-item:has(.block-link:hover) {
  transform: translateY(-2px);
  box-shadow: 0 10px 18px rgba(0, 0, 0, .14);
}

.swell-block-column.flow-item .block-link:hover::after {
  background: rgba(0, 0, 0, .03);
}


/* キーボード操作でも見えるように */
.swell-block-column.flow-item .block-link:focus-visible {
  outline: 2px solid #0a6b44;
  outline-offset: 4px;
  border-radius: inherit;
}

h3.-message {
  margin-top: 0;
}

.swell-block-columns.message-wrap {
  max-width: 1100px;
  margin: 0 auto;
}

.-message>a.swell-block-button__link {
  border-radius: 70px;
  padding: .6em 3em;
}

.swell-block-columns.flow-wrap {
  max-width: 900px;
  margin: 0 auto;
}

/* === 選考フロー：3カード === */

/* 並びと間隔（中央揃え・均等） */
.swell-block-columns__inner {
  justify-content: center;
}

/* カード本体 */
.swell-block-column.swl-has-mb--s.flow-item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .5em;
  min-height: 170px;
  padding: 24px 32px;
  text-align: center;
  background: linear-gradient(#f7f7f7, #fff);
  border: 1px solid #dadada;
  border-radius: 10px;
  box-shadow: 0 6px 0 rgba(0, 0, 0, .18);
}
@media (max-width: 599px) {
.swell-block-column.swl-has-mb--s.flow-item {
    padding: 24px 21px;
    }
    }


/* 見出し（エントリー／書類選考／面接） */
.swell-block-column.swl-has-mb--s.flow-item .wp-block-heading {
  margin: 0;
  font-size: 1.2rem;
  letter-spacing: .12em;
  color: #333;
  font-weight: 600;
}


.swell-block-column.swl-has-mb--s.flow-item.-rec {
  gap: 0;
}

/* 背景色が当たっていた場合の打ち消し（編集時の青をリセット） */
.swell-block-column.flow-item {
  background-color: #fff;
}
p.flow__txt {
    margin-bottom: 0;
}
/* SWELL の overflow-x:auto を打ち消す */
figure.wp-block-table.recruit-info {
  overflow-x: visible !important;
}
figure.wp-block-image.size-full.u-lb-off.recruit-area_04 {
    position: absolute;
    right: 4%;
    top: -47%;
}
figure.wp-block-image.size-full.u-lb-off.recruit-area_05 {
    position: absolute;
    right: 4%;
    top: -47%;
}
.recruit-area_04 > img {
    width: 70%;
}
.recruit-area_05 > img {
    width: 70%;
}
@media (max-width: 599px) {
figure.wp-block-image.size-full.u-lb-off.recruit-area_03 {
    top: -10% !important;
}
figure.wp-block-image.size-full.u-lb-off.recruit-area_02 {
   top: -225% !important;
}
figure.wp-block-image.size-full.u-lb-off.recruit-area_04 {
    top: -264%;
    right: 2%;
}
figure.wp-block-image.size-full.u-lb-off.recruit-area_05 {
    top: -280%;
    right: 3%;
}
.recruit-area_04 > img {
    width: 60%;
}
.recruit-area_05 > img {
    width: 50%;
}
.swell-block-fullWide.pc-py-60.sp-py-40.alignfull.flow-container {
    margin-bottom: .8em;
}
}
p.link-area-txt {
  letter-spacing: 0.02em;
  margin-top: .8em;
  line-height: 1.65;
  margin-bottom: 0;
}
@media (max-width: 599px) {
p.has-text-align-left.link-area-txt {
    text-align: center;
}
}
.wp-block-cover.is-light.a-img {
  margin-bottom: .5em;
}

/* 「株式会社」を小さく・控えめトーンに */
.c-corp {
  font-size: .68em;
  /* 親見出しの約68%（親が24pxなら ≒16px） */
  letter-spacing: .02em;
  margin-left: .25em;
  /* 社名との間を少し空ける */
  white-space: nowrap;
  /* 途中で折り返さない */
}

h3.a-lead {
  line-height: 1.35;
}

/* 住所（テキスト）ブロック。ここは高さ可変でOK。 */
.base-list .company-item .group-area-txt {
  line-height: 1.8;
  margin-bottom: auto;
  /* これで下のリンクを“下に押し出す” */
}

/* 地図リンクはカードの最下部に寄せる */
.base-list .company-item .swell-block-button.is-style-more_btn {
  margin-top: auto;
}


/* 住所テキスト */
.swell-block-column.swl-has-mb--s.company-item p {
  margin: 6px 0;
  line-height: 1.9;
  font-size: .9em;
}

h3.a-lead {
  margin: 0;
  font-size: 1.1rem;
  letter-spacing: .12em;
  font-weight: 600;
}

/* === 拠点カード（company-item） ===================== */

/* カード全体の余白と並び感 */
.swell-block-column.swl-has-mb--s.company-item {
  padding: 0 8px;
}

/* 画像：横幅いっぱい／高さを揃えてトリミング */
.swell-block-column.swl-has-mb--s.company-item .wp-block-image img {
  width: 100%;
  height: 180px;
  /* 見本の高さ感 */
  object-fit: cover;
  display: block;
  border-radius: 2px;
  box-shadow: none;
  margin: 0 0 16px;
}



/* 「Google Map」部分：SWELLのボタンを“テキストリンク風”に上書き */
.swell-block-column.swl-has-mb--s.company-item .swell-block-button.is-style-more_btn {
  margin-top: 12px;
}

.swell-block-column.swl-has-mb--s.company-item .swell-block-button.is-style-more_btn .swell-block-button__link {
  display: inline-block;
  background: none;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  text-align: left;
  color: #111;
  font-weight: 600;
  letter-spacing: .08em;
  text-decoration: none;
  position: relative;
  transition: color .2s ease;
}

/* 下線（左寄せ・細線） */
.swell-block-column.swl-has-mb--s.company-item .swell-block-button.is-style-more_btn .swell-block-button__link::after {
  content: "";
  display: block;
  right: auto;
  width: 70%;
  /* 見本の長さ感 */
  height: 1px;
  background: currentColor;
  margin-top: 16px;
  opacity: .9;
}

/* ホバー：色だけアクセントグリーンに */
.swell-block-column.swl-has-mb--s.company-item .swell-block-button.is-style-more_btn .swell-block-button__link:hover {
  color: #0a6b44;
}

/* 余白の最終行調整（任意） */
@media (max-width: 960px) {
  .swell-block-column.swl-has-mb--s.company-item .wp-block-image img {
    height: 160px;
  }
}
@media (max-width: 599px) {
.wp-block-cover.alignfull.recruit-title-area{
    height: 300px !important;
    min-height: 300px !important;
  }
  .wp-block-cover.alignfull.recruit-title-area > .wp-block-cover__image-background {
        object-fit: unset !important;
        object-position: 102% 96% !important;
min-width: 210vw !important;
}
.wp-block-cover__inner-container.is-layout-constrained.wp-block-cover-is-layout-constrained {
margin-top: -2em !important;
}
.wp-block-cover.alignfull.entry-container {
    min-height: 300px !important;
}
}
figure.wp-block-table.recruit-info table.has-text-color.has-link-color {
    margin-left: 3em;
}
@media (max-width: 769px) {
figure.wp-block-table.recruit-info table.has-text-color.has-link-color {
    margin-left: 0;
}
}
/* ==========================================================================
   TRAINING 研修内容ページ(下層)
   ========================================================================== */

h2.wp-block-heading.training-intro__title {
  line-height: 1.35;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 1.8em !important;
  position: relative;
  margin-top: 0 !important;
  margin-bottom: .8em;
  padding-bottom: 18px;
}
@media (max-width: 599px) {
h2.wp-block-heading.training-intro__title {
text-align:left;
}
h2.wp-block-heading.training-intro__title {
  font-size: 1.5em !important;
}
}
p.training-card__label.-en {
  letter-spacing: 0.05em;
  font-size: 1em;
  line-height: 1.5;
}

p.training-card__txt {
  font-size: .9em;
}

/*実施期間*/
p.training-card__period {
  display: inline-block;
  padding: 0 20px;
  border-radius: 30px;
  margin-top: 1em;
  border: 2px solid #514426;
}

p.training-card__period.-green {
  display: inline-block;
  padding: 0 20px;
  border-radius: 30px;
  margin-top: 1em;
  border: 2px solid #598350;
}

p.training-card__period.-blue {
  display: inline-block;
  padding: 0 20px;
  border-radius: 30px;
  margin-top: 1em;
  border: 2px solid #041820;
}

.swell-block-columns.hrc-training-card__wrap>div {
  display: flex;
  flex-wrap: nowrap;
}

@media (max-width: 599px) {
  .swell-block-columns.hrc-training-card__wrap>div {
    flex-wrap: wrap;
  }
}

.hrc-training-card {
  flex: 1;
  /* デフォルトは均等 */
}


.wp-block-group.training-card__group {
  padding: 20px;
}

.swell-block-column.swl-has-mb--s.hrc-training-card {
  padding-bottom: 20px;
}

/*h3研修タイトル*/
h3.wp-block-heading.training-card__title {
  margin: 0;
  font-size: 1.5em
}

.training-card__label {
  font-weight: 300;
}

.swell-block-column.swl-has-mb--s.hrc-training-card {
  border: 1px solid rgba(0, 0, 0, 0.16);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.training-plan_1>.wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {
  background: #F0EDDF;
  padding: 20px;
}

.training-plan_2>.wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {
  background: #D3E3D1;
  padding: 20px;
}

.training-plan_3>.wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {
  background: #D1DEE3;
  padding: 20px;
}

.wp-block-group.training-card__box {
  margin: 20px;
  padding: 20px;
  background: #FEFCF7;
}

.wp-block-group.training-card__box.-green {
  background: #F6F9F3;
}

.wp-block-group.training-card__box.-blue {
  background: #ECF0F2;
}


/* スマホでは全て100% */
@media (max-width: 599px) {
  .hrc-training-card {
    flex: 0 0 100% !important;
  }

  .swell-block-columns.hrc-training-card__wrap>div,
  .alignwide.swell-block-columns.training-third>div {
    justify-content: center;
  }

  .alignwide.swell-block-columns.hrc-training-card__wrap.-head {
    margin-bottom: 1.5rem;
  }
}


/* ==================================================================
   フッターメニュー
   Footer Menu
   ================================================================== */
/*---------------------------------------------フッター------------------------*/
/* フッターナビ（ウィジェットのメニュー）を横並び */
/* フッターナビ（ウィジェットのメニュー）を横並び */
#nav_menu-2 .menu,
#nav_menu-3 .menu {
  /* ← 右の構造に合わせて ul を指定 */
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px 20px;
  /* row gap / column gap */
  padding: 0;
  margin: 0;
  list-style: none;
}

/* 子liが幅100%にされていたら打ち消す */
#nav_menu-2 .menu>li {
  flex: 0 0 auto;
  /* 収縮しない・自動幅 */
  width: auto !important;
  /* 幅100%の上書き */
  margin: 0;
  padding: 0;
}

/* クリック領域と見た目の整え（任意） */
#nav_menu-2 .menu>li>a {
  display: inline-block;
  padding: 4px 8px;
}

#nav_menu-3 .menu>li {
  color: #C9C7C7;
  flex: 0 0 auto;
  width: auto !important;
  /* width:100% を上書き */
  margin: 0;
  padding: 0;
}

#nav_menu-3 .menu>li>a {
  font-weight: 500;
  display: inline-block;
  padding: 4px 8px;
}

/* フッターを全幅表示にする */
.w-footer__box:last-child {
  max-width: 93%;
}

/*フッターボタン*/
/* フッター採用ボタン（見本の白いピル型） */
div.swell-block-button.is-style-btn_line.recruitment-btn>a.swell-block-button__link {
  transition: all 0.3s ease;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100% !important;
  /* 一番長いテキストに合わせる幅 */
  padding: 14px 40px !important;
  background: #fff !important;
  color: #0a6f2a !important;
  border: 2px solid #fff !important;
  border-radius: 9999px !important;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
  letter-spacing: 0.03em;
}
.recruitment-btn > a > span{
  font-weight:bold;
}
/* ホバー時 */
div.swell-block-button.is-style-btn_line.recruitment-btn>a.swell-block-button__link:hover {
  background: #0a6f2a !important;
  /* 緑背景 */
  color: #fff !important;
  /* 白文字 */
  transform: translateY(-3px);
  /* 浮く動き */
  box-shadow: 0 8px 22px rgba(0, 0, 0, .25);
}

div#custom_html-2 {
  margin-top: 4em;
  margin-bottom: 2em;
}

/*コピーライト*/
.l-footer .copyright {
  text-align: left;
}

/*フッター*/
.textwidget.custom-html-widget>div {
  margin-right: 0 !important;
}

.w-footer {
  justify-content: center;
  max-width: 1410px;
}
/* フッターメニュー（#nav_menu-3）のホバー演出：色変更＋下線スライド */

/* ───── フッター内：もう一方のメニュー（#nav_menu-2/#nav_menu-3） ───── */
/* フッターの “もう一方のメニュー”：ホバー時の色だけ変更 */
.l-footer #nav_menu-2.c-listMenu ul.menu > li > a:hover,
.l-footer #nav_menu-2.c-listMenu ul.menu > li > a:focus-visible,
.l-footer #nav_menu-3.c-listMenu ul.menu > li > a:hover,
.l-footer #nav_menu-3.c-listMenu ul.menu > li > a:focus-visible{
  color: #ffffff; /* ← ここだけお好みの色に変更 */
}
/* フッターメニュー：#nav_menu-2 のリンクをホバー時だけ色変更＆わずかに透過 */
#nav_menu-2 .menu > li > a:hover{
  color: #ffffff !important;   /* 文字色（必要なら他色に変更） */
  opacity: .85;                /* わずかに透過 */
  transition: color .2s ease, opacity .2s ease; /* なめらかに変化 */
}
/*---------------------------------
コンタクト共通---------------------------------------*/
.cta-container > div{
max-width:1100px;
}
.cta-txt{
color:#fff !important;
}
/*お問い合わせ　タイトル*/
h2.cta__title{
color:#fff !important;
    margin: 0;
    font-weight: 100;
    letter-spacing: 0.05em;
    font-size: 1.5em;
}
@media (max-width: 599px) {
h2.cta__title{
    font-size: 1.2em;
}
}
/*Contact 英字*/
p.cta__subtitle{
color:#fff !important;
    margin: 0;
    margin-bottom: .34em;
line-height:1;
    display: block;
    font-size: 4em;
    letter-spacing: 0.06em;
    font-weight: 400 !important;
}
.p-blogParts.post_content {
  margin-right: clamp(20px, 5vw, 56px) !important;
}
.cta-container.alignfull {
padding-left: var(--swl-pad_container, 0);
    padding-right: var(--swl-pad_container, 0);
  box-sizing: border-box;
  background: #0b7a22 !important;
  border-radius: 0 28px 28px 0;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
}
/* セクションをボタン配置の基準に */
.contact-section{
  position: relative;
}

/* 丸いCTAボタン */
 a.contact-cta{
  transition: background-color 0.3s ease, color 0.3s ease;
transition: all 0.3s ease;
  position: absolute;
  right: 8vw;            /* 右側の位置（必要に応じて調整） */
  top: 50%;
  transform: translateY(-50%);
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: #fff;
  color: #0a6f20;         /* 矢印の色（緑） */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(0,0,0,.16);
  z-index: 2;
  /* しっかり見える3段影 */
  box-shadow:
    0 6px 8px rgba(0, 0, 0, 0.10),  /* 小さめ濃い影 */
    0 12px 24px rgba(0, 0, 0, 0.08),/* 広がり影 */
    0 0 0 1px rgba(0, 0, 0, 0.04);  /* 薄い縁 */
}


/* 矢印（CSS描画） */
a.contact-cta::before{
margin-right:10px;
  content: "";
  width: 26px;
  height: 26px;
  border-top: 3px solid currentColor;
  border-right: 3px solid currentColor;
  transform: rotate(45deg); /* 右向きに見せる */
}

/* ホバー時の少し大きくなる演出（任意） */
a.contact-cta:hover{
  transform: translateY(-50%) scale(1.05);
  box-shadow: 0 10px 26px rgba(0,0,0,.22);
  background: #7EC500;
  color: #fff;
}

/* モバイル調整 */
@media (max-width: 780px){
a.contact-cta{
    right: 24px;
    width: 84px;
    height: 84px;
  }
a.contact-cta::before{
    width: 18px;
    height: 18px;
    border-width: 2px;
  }
}
@media (max-width: 599px) {
p.cta__subtitle{
   font-size: 2.5em;
}
    a.contact-cta {
        width: 80px;
        height: 80px;
    }
}

/* =========================================
   SPドロワー（p-spMenu）
   ========================================= */

/* 背景のディマー */
.p-spMenu__inner {
  position: fixed;
  inset: 0;
  z-index: 1000;
}

.p-spMenu__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .36);
}

/* パネル本体 */
.p-spMenu__body {
  position: absolute;
  inset: 0 auto 0 0;
  /* 左からスライド */
  width: min(86vw, 640px);
  background: #fff;
  box-shadow: 4px 0 20px rgba(0, 0, 0, .12);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* 見出しバー（MENU） */
.c-widget__title.-spmenu {
  background: #fff;
  /* ブランド寄りの緑に調整可 */
  color: #fff;
  font-weight: 700;
  letter-spacing: .04em;
  padding: 4px 18px;
}

/* 閉じるボタン */
.p-spMenu__closeBtn {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  color: #fff;
  /* ヘッダーの上に乗る想定 */
}

/* リスト（余白リセット） */
.p-spMenu__nav .c-spnav.c-listMenu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 行（リンク） */
.p-spMenu__nav ul.c-spnav.c-listMenu li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 18px;
  min-height: 40px;
 font-size: 14px !important;
  font-weight: 600;
  color: #1f2f3f;
  text-decoration: none;
  background: #fff;
  transition: background .2s ease, color .2s ease;
  border-top: 1px solid rgba(0, 0, 0, .06);
}

.p-spMenu__nav ul.c-spnav.c-listMenu li:first-child a {
  border-top: none;
}

/* 右の山形（ > ） */
.p-spMenu__nav ul.c-spnav.c-listMenu li a::after {
  content: "";
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #98a1a8;
  border-right: 2px solid #98a1a8;
  transform: rotate(45deg);
}

/* ホバー/フォーカス */
.p-spMenu__nav ul.c-spnav.c-listMenu li a:hover,
.p-spMenu__nav ul.c-spnav.c-listMenu li a:focus-visible {
  background: #f5faf7;
  color: #0a6b3f;
}

.p-spMenu__nav ul.c-spnav.c-listMenu li a:hover::after,
.p-spMenu__nav ul.c-spnav.c-listMenu li a:focus-visible::after {
  border-color: #0a6b3f;
}

/* 現在ページ */
.p-spMenu__nav ul.c-spnav.c-listMenu li.current-menu-item>a,
.p-spMenu__nav ul.c-spnav.c-listMenu li.current_page_item>a {
  background: #eef7f1;
  color: #0a6b3f;
  box-shadow: inset 3px 0 0 #0a6b3f;
  /* 左に帯 */
}

.p-spMenu__nav ul.c-spnav.c-listMenu li.current-menu-item>a::after {
  border-color: #0a6b3f;
}

/* 子メニュー（あれば） */
.p-spMenu__nav ul.c-spnav.c-listMenu li .sub-menu {
  margin: 0;
  padding: 4px 0 8px 0;
}

.p-spMenu__nav ul.c-spnav.c-listMenu li .sub-menu a {
  padding: 12px 18px 12px 32px;
  /* インデント */
  font-size: 15px;
  font-weight: 500;
  border-top: 1px dashed rgba(0, 0, 0, .08);
}

/* 安全マージン（端末幅いっぱい・角丸などの調整が要る場合はここで） */
@media (min-width: 600px) {
  .p-spMenu__body {
    width: min(420px, 86vw);
  }
}

/*スマホのマスク設定*/
/* スマホだけの上書き（例：～599px） */
@media (max-width: 599px) {

  /* 念のため、どこかに残ってる短縮を先に無効化 */
  .concept-section{ mask: none !important; }

  .concept-section{
    /* スマホは αマスクに切り替え（背景は透明のSVG/PNGを指定） */
    mask-mode: initial !important;            /* ← luminanceを無効化 */
    -webkit-mask-image: url("/wp-content/uploads/2025/09/vector_mask_alpha.svg") !important;
    mask-image: url("/wp-content/uploads/2025/09/vector_mask_alpha.svg") !important;

    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;

  -webkit-mask-position: center -56px !important;
        mask-position: center -56px !important;
        -webkit-mask-size: 301vw auto !important;
        mask-size: 301vw auto !important;
  }
}

/*---------------------------------サファリ特有の設定------------------------------------------------------*/
/* ──────────────────────────────────────────
   Safariだけに効かせる最小パッチ
   目的：要素サイズにマスクを完全フィットさせ、直線化を防止
   ────────────────────────────────────────── */
   /* 外観 → 追加CSS に */

/* Safari限定（-apple-system-body が使える環境） */
@supports (font: -apple-system-body) {



  /* 1201px以上：まずこちら */
  @media (min-width:1201px){
   .p-mainVisual__inner {
    height: 55vw;
  }
.p-mainVisual__textLayer{
top:0;
}
    .concept-section .l-container{
      padding-top: 280px;
    }
    .concept-section{
      position: relative !important;
      z-index: 10 !important;
      margin-top: -260px;                 /* ヒーローに被せる量 */
      background-color: #2d832a !important;

      /* マスク（安全のため1行のdata URIに） */
      -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M0,30 Q50,38 100,19 L100,100 L0,100 Z' fill='white'/></svg>");
      -webkit-mask-position: center top;  /* 順序は x y 推奨 */
      -webkit-mask-size: 100% 100%;
      -webkit-mask-repeat: no-repeat;
    }

    /* セクション内の下地を透過に揃える */
    .concept-section > .swell-block-fullWide_inner,
    .concept-section > .l-container{
      background-color: transparent !important;
    }
    /* 既存の ::before/::after で白を乗せている場合は無効化 */
    .concept-section::before,
    .concept-section::after{
      content: none !important;
    }
  }
   @media (max-width:1202px) {
       .concept-section {
        margin-top: -153px !important;
  }
}
 @media (max-width:1700px) {
    .concept-section .l-container {
      height: 840px;
    }
       .concept-section {
        margin-top: -283px;
  }
}
 @media (max-width:1600px) {
    .concept-section .l-container {
      height: 740px !important;
    }
}
  /* 1700px以上：後に書いて上書きさせる（モバイルファーストの昇順） */
  @media (min-width:1701px){
    .concept-section{
      margin-top: -294px;
    }
    .concept-section .l-container{
      height: 780px !important;
    }
    figure.concept-dots-right{
      top: 35%;
    }
  }
}






/* ドロワーメニューの第2階層（sub-menu）の基本スタイル */
.p-spMenu__nav ul.c-spnav.c-listMenu li .sub-menu {
    padding: 4px 0 8px 21px;
}
li.menu-item.menu-item-type-post_type.menu-item-object-page.menu-item-140 > a{
font-weight:bold !important;
}
.c-spnav .menu-item-1199 > a::after{
display:none;
}
/* 募集要項の aタグだけに限定 */
.c-spnav .menu-item-1200 > a::after{
display:none;
}




/* フッターメニューをドロワーと同じ“タテ一列”にする */
#footer #nav_menu-2 .menu {
    display: block !important;   /* SWELL の flex を上書き */
    padding: 0;
    margin: 0;
    list-style: none;
}

/* 親メニュー（HOME〜採用情報〜お知らせ〜お問い合わせ） */
#footer #nav_menu-2 .menu > li {
    margin-bottom: 8px;
}

/* 子メニュー（採用情報配下・募集要項配下）は少しだけ右に下げる */
#footer #nav_menu-2 .menu .sub-menu {
    padding-left: 1.5em;
    margin-top: 4px;
}

/* ある程度幅が広くなったら 2列にする（順番はそのまま） */
@media (min-width: 768px) {
    #footer #nav_menu-2 .menu {
        column-count: 2;         /* 2列 */
        column-gap: 32px;        /* 列の間隔 */
    }

    #footer #nav_menu-2 .menu > li {
        break-inside: avoid;     /* 途中で項目が分割されないようにする */
    }
}
.c-postTitle__date{
display:none;
}
/* =========================================
   スマホで main と sidebar の表示順を入れ替え
   （お知らせ一覧など共通レイアウト）
   ========================================= */
@media (max-width: 599px) {
	/* コンテンツ全体を縦並びのflexにする */
	#content.l-content.l-container {
		display: flex;
		flex-direction: column;
	}

	/* sidebarを先に表示 */
	#content.l-content.l-container > aside#sidebar.l-sidebar {
		order: 1;
	}

	/* main_contentを後ろに表示 */
	#content.l-content.l-container > main#main_content.l-mainContent {
		order: 2;
	}
        #sidebar {
        margin-top: 0em;
        margin-bottom: 5em;
    }

    figure.wp-block-table.access-table tr:last-child td:last-child {
    border-top: none;
}
}