@charset "UTF-8";

body {
  font-family: "Kosugi Maru", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.topimg img {
  border-radius: 10px;
}

.topslide {
  z-index: 1 !important;
}

/* アクセント色背景のブロック内のリンクは、周りの文字色にそろえる */
.has-sm-accent-background-color a {
  color: inherit;
}

/* 背景画像を固定して、揺れ動くアニメーションを追加
.top_bg::before {
  content: "";
  position: fixed;
  top: -10%; 
  left: -10%; 
  width: 120%; 
  height: 120%;
  
  background-image: url(assets/img/bg.png);
  background-size: cover;
  background-repeat: repeat;
  
  filter: blur(5px);
  z-index: -1;

  animation: floating-bg 20s ease-in-out infinite alternate;
}
 */
/* 浮遊する動きの定義 */
@keyframes floating-bg {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  50% {
    transform: translate(3%, 4%) rotate(10deg); /* ゆっくり右下に動きつつ少し回転 */
  }
  100% {
    transform: translate(-2%, -3%) rotate(-1deg); /* ゆっくり左上に戻る */
  }
}

.fukidashi-01-05 {
  position: relative;
  width: fit-content;
  padding: 12px 25px;
  border-bottom: 2px solid #333333;
  margin-left: 0 !important;

  &::before {
    content: "";
    position: absolute;
    left: -24px;
    bottom: -13px;
    width: 30px;
    height: 2px;
    box-sizing: border-box;
    background-color: #333333;
    rotate: -50deg;
  }

  &::after {
    content: "";
    position: absolute;
    left: -23px;
    bottom: -28px;
    width: 8px;
    height: 8px;
    box-sizing: border-box;
    border: 1px solid #ffffff; /* 背景色と同じ色を指定 */
    border-radius: 50%;
    background-color: #333333;
  }
}

/* デフォルトでは、1024px(64em)からグローバルナビゲーションが表示されるので、 1412px（88.25em）まで表示させないようにする */
@media (min-width: 64em) and (max-width: 88.25em) {
	.custom-md-down {
		display: none !important;
	}
}

/* グローバルナビゲーションを表示させたいブレークポイントが1180px（73.75em）なので、その手前（1412px（88.25em））まではハンバーガーメニューを表示する */
@media (max-width:88.25em ) {
	.custom-lg-up {
		display: block !important;
	}
}

.p-global-nav .c-navbar__item>a {
  font-weight: 400;
}

.top_menu_toiawase {
  border-radius: 20px;
  margin: 10px 0;
  padding: 10px;
}

.top_menu_toiawase a {
  margin: 0 !important;
  padding: 0 20px !important;
}

.enkaku_cell ol {
  padding: 1em;
  margin-left: 1.5em;
}

/* フッタースタイル */
.l-container>.l-footer {
  display: flex;
  flex-direction: column-reverse;
}

.c-copyright--inverse {
  background-color: #fff;
  color: var(--wp--preset--color--sm-text);
}

.l-footer {
  box-shadow: 0 0 5px var(--wp--preset--color--sm-accent);;
}

.c-footer-sub {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap-reverse;
}

.c-copyright__inner-left {
  text-align: left;
  padding: 10px 20px;
}

.c-footer_inner-title {
  font-size: 1.2rem;
}

.ss_txt {
  font-size: 0.8rem;
}

.footer-nav {
  gap: 20px;
}

/*.p-breadcrumbs-wrapper {
  position: relative;
  top: 15em;
  margin-bottom: var(--_margin1);
}*/

.c-entry__header {
    margin-top: var(--_margin2);
    min-height: 150px;
    align-items: center;
    display: flex;
    flex-flow: column;
}

.c-meta__item--author, .c-meta__item--modified {
    display: none;
}

.c-drawer {
    margin: 6em 1em;
    box-shadow: 0px 2px 5px var(--wp--preset--color--sm-accent);
    backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    /*background-color: color-mix(in srgb, var(--wp--preset--color--sm-accent) 75%,transparent)*/
    background-color: color-mix(in srgb, #f2b132 80%,transparent);
}

.c-drawer--highlight-type-background-color .c-drawer__item.sm-nav-menu-item-highlight {
    background-color: var(--wp--preset--color--sm-accent);
    margin-right: calc(-1 * var(--_padding-2));
    margin-left: calc(-1 * var(--_padding-2));
    padding-right: var(--_padding-1);
    padding-left: var(--_padding-1);
}

/*アイキャッチにマスク*/
.c-page-header:before {
    content: '';
    display: block;
    background-color: rgba(0, 0, 0, .3);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.c-page-header__title {
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
    letter-spacing: 3px;
}

.c-page-header__content {
    position: relative;
    z-index: 1;
}

.c-page-header[data-has-image=true] {
    height: clamp(250px, 42.5vw, 450px);
}

.c-page-header__bgimage>img, .c-page-header__bgimage>picture>img {
    object-position: 50% 70%;
}

.wpco__title {
  display: none;
}

.page-id-22 .c-page-header[data-has-image=true], .page-id-15 .c-page-header[data-has-image=true], .page-id-26 .c-page-header[data-has-image=true], .page-id-3 .c-page-header[data-has-image=true], .page-id-202 .c-page-header[data-has-image=true] {
  height: clamp(150px, 34.5vw, 250px);
}

.page-id-22 .c-page-header__bgimage > img, .page-id-15 .c-page-header__bgimage > img, .page-id-26 .c-page-header__bgimage > img, .page-id-3 .c-page-header__bgimage > img, .page-id-202 .c-page-header__bgimage > img {
	display: none;
}
.page-id-22 .c-page-header, .page-id-15 .c-page-header, .page-id-26 .c-page-header, .page-id-3 .c-page-header, .page-id-202 .c-page-header {
	background-color: #fff;
	min-height: 0;
}

.page-id-22 .c-page-header:before, .page-id-15 .c-page-header:before, .page-id-26 .c-page-header:before, .page-id-3 .c-page-header:before, .page-id-202 .c-page-header:before {
    background-color: #fff;
}

.page-id-22 .c-page-header[data-has-image=true] .c-page-header__content, .page-id-15 .c-page-header[data-has-image=true] .c-page-header__content, .page-id-26 .c-page-header[data-has-image=true] .c-page-header__content, .page-id-3 .c-page-header[data-has-image=true] .c-page-header__content, .page-id-202 .c-page-header[data-has-image=true] .c-page-header__content {
  color: #3c3c3c;
  text-align: center;
}

.page-id-22 .c-page-header__title, .page-id-15 .c-page-header__title, .page-id-26 .c-page-header__title, .page-id-3 .c-page-header__title, .page-id-202 .c-page-header__title {
  text-shadow: none;
}

.sm-nav-menu-item-highlight a {
  background-color: var(--wp--preset--color--sm-accent);
  color: #fff;
  padding: 10px 15px;
  margin: 0 5px;
  border-radius: 20px;
  text-decoration: none;
}


/*下層ページ見出し*/
.kasou_heading-01 {
    border-bottom: 1px solid var(--wp--preset--color--sm-sub-accent);
}

.kasou_heading-01::before {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 40%;
    height: 1px;
    background-color: var(--wp--preset--color--sm-accent);
    content: '';
}
/*
.kasou_heading-02 {
    position: relative;
    padding: .3em 0 .2em 1em;
    border-bottom: 3px solid #2589d0;
    color: #333333;
}

.kasou_heading-02::before {
    position: absolute;
    top: -5px;
    left: .3em;
    transform: rotate(55deg);
    height: 15px;
    width: 15px;
    background: var(--wp--preset--color--sm-accent);
    content: '';
    border-radius: 50%;
}

.kasou_heading-02::after {
    position: absolute;
    transform: rotate(15deg);
    top: .6em;
    left: 0;
    height: 10px;
    width: 10px;
    background: var(--wp--preset--color--sm-sub-accent);
    content: '';
}
*/
.top_houshin .smb-section__lede {
    width: 650px;
}

/* Snow Monkey Form */
/* 同意エリア */
.sm-consent{
  border:1px solid #d9d9d9;
  padding:16px;
  background:#fff;
}

.sm-consent__title{
  margin:0 0 12px;
  font-size:18px;
}

/* 同意文スクロールボックス化 */
.sm-consent__box{
  max-height:300px;
  overflow:auto;
  padding:12px;
  border:1px solid #cfcfcf;
  background:#fafafa;
  line-height:1.7;
}

/* 操作部 */
.sm-consent__actions{
  margin-top:12px;
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}

.sm-consent__check{
  display:flex;
  gap:8px;
  align-items:center;
}

/* ボタン */
.sm-consent__btn{
  padding:10px 16px;
  border:0;
  background:#222;
  color:#fff;
  cursor:pointer;
}
.sm-consent__btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}

/* フォームを包むコンテナ（smFormArea）は最初隠す */
.smFormArea{
  display:none !important;
}

/* 同意後にこれが付いたら表示 */
.smFormArea.is-open{
  display:block !important;
}

.smf-item__description {
  margin-top: var(--_margin-3);
}

/* ロック状態 */
.sm-consent__check.is-locked{
  opacity:0.5;
  pointer-events:none;
}

.sm-consent__btn.is-locked{
  opacity:0.5;
  cursor:not-allowed;
}

.sm-consent__badge{
  margin-left: 10px;
  padding: 5px 15px;
  border: 1px solid #777;
  border-radius: 999px;
  font-size: 16px;
  line-height: 1.6;
  background: var(--wp--preset--color--sm-accent);
}

.snow-monkey-form {
  display: flex;
  flex-direction: column;
}

.snow-monkey-form > .snow-monkey-forms-turnstile {
  text-align: center;
}

.snow-monkey-form > .smf-action {
  order: 1;
}

.snow-monkey-form[data-screen="complete"] .snow-monkey-forms-turnstile {
	display: none;
}

.snow-monkey-form:is([data-screen="complete"], [data-screen="systemerror"]) .snow-monkey-forms-turnstile {
	display: none;
}

.snow-monkey-form[data-screen="confirm"] .smf-item:has(.smf-placeholder[data-name="email-kakunin"]) {
	display: none;
}

/* 戻るボタン */
#page-top {
  background-color: rgba(255, 255, 255, .25);
  width: 75px;
  height: 75px;
  bottom: 2em;
  right: 1em;
  animation: backtotop 10s linear infinite alternate;
  border:1px solid var(--wp--preset--color--sm-accent);
  border-radius: 50%;
  box-shadow: 0px 0px 4px var(--wp--preset--color--sm-accent);
    --_global--transition-duration: .6s;
  backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

@keyframes backtotop {
    0% {
        transform: translateY(-15%);
    }
    100% {
        transform: translateY(15%);
    }
}

#page-top a {
  background-image: url(assets/img/toptopage.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 75%;
}

.c-page-top svg {
  display: none;
}

.boxlink:hover {
  color: #aaa;
  transition: color 0.3s ease, color 0.3s ease;
}

.smb-testimonial__item__figure {
  height: 80px;
  width: 80px;
}

.smb-testimonial__item__figure img {
  object-fit: contain;
}

.wp-block-heading-origin span {
  background-image: linear-gradient(transparent 80%, rgba(34, 179, 45, 0.4) 60%) !important;
}

.kensyu-step span.smb-step__item__number {
  left: 3%;
}

.kensyu-step .smb-step__body:before {
  left: 5%;
}


/* ============================================================
   地域保健企画 サイト共通パーツCSS
   ------------------------------------------------------------
   ページ限定ではなく、ブロックの「高度な設定 → 追加CSSクラス」に
   下記のクラス名を入力することで、どのページでも同じ装飾が使えます。

   ■ 見出し（既存クラスをそのまま使用）
     kasou_heading-01 ... 見出し2（葉っぱ＋グラデーション下線）
     kasou_heading-02 ... 見出し3（カプセルアイコン入りのピル）
     kasou_heading-03 ... 見出し4（左に細いグリーンのライン）

   ■ ブロックに付けるクラス
     kasou_stepnav      ... 目次ブロックを囲んだコンテナー → 番号付きカードの横並びナビ
     kasou_stepnav-icon ... kasou_stepnav と併用。1〜4番目にアイコンを表示
     kasou_card         ... コンテナー／グループ → やわらかい角丸カード
     kasou_card-white   ... kasou_card と併用。背景を白に
     kasou_list-check   ... リストブロック（SMB） → 点線区切りのチェックリスト
     kasou_list-num     ... 番号リスト（丸数字スタイル） → 丸をグリーンに
     kasou_img          ... 画像ブロック → 角丸＋やわらかい影
     kasou_text         ... 段落／グループ → 行間広め・強調とマーカーをグリーンに
     kasou_note         ... 段落 → 小さめの注釈テキスト

   ※ 色はすべて :root の変数で管理しています。ここを書き換えれば
     サイト全体のトーンを一括で変更できます。
   ※ 例外としてアイコンの色は SVG（data URI）の中に直接書かれています。
     葉っぱ＝%2359ab84、カプセルとステップアイコン＝%233f8f68 の部分を
     置換すれば変更できます（# は %23 と書く必要があります）。
   ============================================================ */

/* ---- 1. 共通カラー ---------------------------------------- */
:root {
  --k-green:       #3f8f68;  /* メイングリーン */
  --k-green-dark:  #39805f;  /* 見出し・強調・リンクの文字色 */
  --k-green-title: #2A955B;  /* 見出し2だけ、より軽く */
  --k-green-light: #e9f3ec;  /* 淡いグリーン（ピル背景） */
  --k-green-pale:  #f5faf6;  /* さらに淡い面（カード背景） */
  --k-line:        #e0ece4;  /* 罫線 */
  --k-accent:      #ffc656;  /* 既存サイトのアクセント（差し色） */
  --k-text:        #3b4740;
}

/* ============================================================
   2. 見出し
   ============================================================ */

/* ---- 見出し2：kasou_heading-01 ----------------------------- */
.kasou_heading-01 {
  position: relative;
  margin-top: 3.2em;
  padding: 0 0 .5em 1.7em;
  color: var(--k-green-title);
  font-size: clamp(1.35rem, 1.05rem + 1.2vw, 1.85rem);
  letter-spacing: .06em;
  line-height: 1.5;
  border-bottom: 1px solid var(--k-line);
}
.kasou_heading-01::before {
  position: absolute;
  top: .12em;
  left: 0;
  bottom: auto;
  width: 1.25em;
  height: 1.25em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2359ab84'%3E %3Cpath d='M6.05 8.05c-2.73 2.73-2.73 7.15-.02 9.88 1.47-3.4 4.09-6.24 7.36-7.93-2.77 2.34-4.71 5.61-5.39 9.32 2.6 1.23 5.8.78 7.95-1.37C19.43 14.47 20 4 20 4S9.53 4.57 6.05 8.05z'/%3E%3C/svg%3E") center / contain no-repeat;
  content: "";
}
.kasou_heading-01::after {
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 42%;
  height: 1px;
  border-radius: 1px;
  background: linear-gradient(90deg, var(--k-green-title) 0%, var(--k-accent) 100%);
  content: "";
}

/* ---- 見出し3：kasou_heading-02 ----------------------------- */
:root .kasou_heading-02 {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-top: 0.4em;
  margin-bottom: 0;
  padding: .55em 1.5em .55em 3em;
  border-radius: 999px;
  background: var(--k-green-light);
  color: var(--k-green-title);
  font-size: clamp(1.02rem, 1.05rem + .35vw, 1.18rem);
  letter-spacing: .04em;
  line-height: 1.6;
}
:root .kasou_heading-02::before {
  position: absolute;
  top: 50%;
  left: 1em;
  transform: translateY(-50%);
  width: 1.5em;
  height: 1.5em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E %3Cg transform='rotate(-45 12 12)'%3E %3Crect x='2.5' y='8' width='19' height='8' rx='4' fill='%23ffffff' stroke='%233f8f68' stroke-width='1.6'/%3E %3Cpath d='M12 8.8h5.5a3.2 3.2 0 0 1 0 6.4H12z' fill='%233f8f68'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
  border-radius: 0;
  content: "";
}
:root .kasou_heading-02::after {
  content: none;
}

/* ---- 見出し4：kasou_heading-03 ----------------------------- */
.kasou_heading-03 {
  position: relative;
  margin-top: 2em;
  margin-bottom: .8em;
  padding-left: .9em;
  color: var(--k-green-title);
  font-size: 1.02rem;
  letter-spacing: .04em;
  line-height: 1.7;
}
.kasou_heading-03::before {
  position: absolute;
  top: .35em;
  bottom: .35em;
  left: 0;
  width: 4px;
  border-radius: 4px;
  background: var(--k-green);
  content: "";
}

/* ============================================================
   3. 目次 → 番号付きステップナビ：kasou_stepnav
   目次ブロックには追加CSSクラスを入力できないため、
   コンテナーブロックで目次ブロックを囲み、コンテナー側の
   「追加CSSクラス」に kasou_stepnav（＋kasou_stepnav-icon）を入力する
   ============================================================ */
:root.kasou_stepnav {
  margin: 0 0 3.5em;
}
/* 囲んだコンテナーの余白をリセット（二重の余白を防ぐ） */
:root .kasou_stepnav > .smb-container__body {
  padding: 0;
}
:root .kasou_stepnav .smb-contents-outline {
  margin: 0;
}
/* 左右いっぱいに広げたい場合はコメントを外す
:root .kasou_stepnav.c-container {
  padding-left: 0;
  padding-right: 0;
}
*/
:root .kasou_stepnav .wpco {
  /*background: linear-gradient(180deg, #fbfdfb 0%, var(--k-green-pale) 100%);
  border: 1px solid var(--k-line);
  border-radius: 18px;
  padding: 22px 20px;
  box-shadow: 0 4px 18px rgba(47,107,79,.06);*/
  background-color: #fff;
}
/* 「目次」の文字を隠す（残したい場合はこの1ブロックを削除） */
:root .kasou_stepnav .wpco__title {
  display: none;
}

:root .kasou_stepnav .wpco .contents-outline ol {
  border-top: none;
}

:root .kasou_stepnav .contents-outline > ol {
  counter-reset: kstep;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
:root .kasou_stepnav .contents-outline > ol:has(> li:nth-child(4):last-child) {
  grid-template-columns: repeat(2, 1fr);
}
.kasou_stepnav .contents-outline > ol:has(> li:nth-child(5):last-child),
.kasou_stepnav .contents-outline > ol:has(> li:nth-child(6):last-child),
.kasou_stepnav .contents-outline > ol:has(> li:nth-child(7):last-child),
.kasou_stepnav .contents-outline > ol:has(> li:nth-child(8):last-child),
.kasou_stepnav .contents-outline > ol:has(> li:nth-child(9):last-child) {
  grid-template-columns: repeat(3, 1fr);
}

.kasou_stepnav .contents-outline > ol > li {
  counter-increment: kstep;
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid var(--k-line);
  border-radius: 14px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.kasou_stepnav .contents-outline > ol > li::before,
.kasou_stepnav .contents-outline > ol > li::marker {
  content: none;
}
.kasou_stepnav .contents-outline > ol > li:hover {
  transform: translateY(-3px);
  border-color: rgba(63,143,104,.35);
  box-shadow: 0 10px 24px rgba(47,107,79,.10);
}
.kasou_stepnav .contents-outline > ol > li > a {
  display: flex;
  flex: 0 0 auto;
  align-items: start;
  gap: .7em;
  padding: 12px 10px 12px;
  color: var(--k-green-title);
  font-size: 1.1rem;
  line-height: 1.5;
  /*font-weight: 700;*/
  text-decoration: none;
}
.kasou_stepnav .contents-outline > ol > li > a::before {
  content: counter(kstep);
  flex: 0 0 auto;
  width: 1.9em;
  height: 1.9em;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--k-green);
  color: #fff;
  font-size: .82em;
  /*font-weight: 700;*/
  letter-spacing: 0;
  margin: 0;
}
/* 入れ子の小見出しリストは非表示 */
.kasou_stepnav .contents-outline > ol > li ol {
  display: none;
}

/* ---- アイコンを出す場合：kasou_stepnav-icon を併用 --------- */
.kasou_stepnav-icon .contents-outline > ol > li::after {
  content: "";
  display: block;
  height: 40px;
  margin: auto 0 16px;
  background: center / 55px 55px no-repeat;
  opacity: .95;
}
.kasou_stepnav-icon .contents-outline > ol > li:nth-child(1)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f8f68' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E %3Ccircle cx='9.2' cy='8.4' r='3'/%3E%3Cpath d='M3.6 19c0-3.1 2.5-5.2 5.6-5.2s5.6 2.1 5.6 5.2'/%3E %3Ccircle cx='17.4' cy='9.6' r='2.3'/%3E%3Cpath d='M15.8 14.6c2.7-.7 4.9 1.4 4.9 4.4'/%3E%3C/svg%3E");
}
.kasou_stepnav-icon .contents-outline > ol > li:nth-child(2)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f8f68' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E %3Cpath d='M2.6 11.4 8.6 6.4l6 5'/%3E%3Cpath d='M4.1 10.5V19h9v-8.5'/%3E %3Cpath d='M14.6 19h6.8v-6.2l-2.6-2.1-2.6 2.1'/%3E%3Cpath d='M7.4 19v-3.4h2.8V19'/%3E%3C/svg%3E");
}
.kasou_stepnav-icon .contents-outline > ol > li:nth-child(3)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f8f68' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E %3Cpath d='M14.2 3H7.4A1.6 1.6 0 0 0 5.8 4.6v14.8A1.6 1.6 0 0 0 7.4 21h9.2a1.6 1.6 0 0 0 1.6-1.6V7.1z'/%3E %3Cpath d='M14.2 3v4.1h4'/%3E%3Cpath d='M8.8 12.4h6.4M8.8 15.8h4.4'/%3E%3C/svg%3E");
}
.kasou_stepnav-icon .contents-outline > ol > li:nth-child(4)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f8f68' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E %3Cpath d='M6.2 3.6h3l1.5 3.7-2 1.3a12 12 0 0 0 5.7 5.7l1.3-2 3.7 1.5v3a1.8 1.8 0 0 1-2 1.8C11.2 18.1 5.9 12.8 4.4 5.6a1.8 1.8 0 0 1 1.8-2z'/%3E%3C/svg%3E");
}

/* ============================================================
   4. カード：kasou_card
   （コンテナー／グループブロックの「追加CSSクラス」に入力）
   ============================================================ */
.kasou_card > .smb-container__body,
.kasou_card > .wp-block-group__inner-container,
.wp-block-group.kasou_card {
  background: var(--k-green-pale);
  border: 1px solid var(--k-line);
  border-radius: 18px;
  padding: 26px 28px;
}
.kasou_card-white > .smb-container__body,
.kasou_card-white > .wp-block-group__inner-container,
.wp-block-group.kasou_card-white {
  background: #fff;
}
.kasou_card > .smb-container__body > :first-child,
.kasou_card > .wp-block-group__inner-container > :first-child,
.wp-block-group.kasou_card > :first-child {
  margin-top: 0;
}
.kasou_card > .smb-container__body > :last-child,
.kasou_card > .wp-block-group__inner-container > :last-child,
.wp-block-group.kasou_card > :last-child {
  margin-bottom: 0;
}

/* ============================================================
   5. リスト
   ============================================================ */

/* ---- チェックリスト：kasou_list-check ---------------------- */
.kasou_list-check .smb-list__icon,
.smb-list.kasou_list-check .smb-list__icon {
  color: var(--k-green) !important;
}
.kasou_list-check > ul > li,
.kasou_list-check ul > li {
  padding: .55em 0;
  border-bottom: 1px dashed var(--k-line);
  line-height: 1.85;
}
.kasou_list-check > ul > li:last-child,
.kasou_list-check ul > li:last-child {
  border-bottom: none;
}

/* ---- 丸数字リスト：kasou_list-num -------------------------- */
:root .kasou_list-num {
  margin-right: auto;
  margin-left: auto;
}
.kasou_list-num > li::before {
  background-color: var(--k-green) !important;
  color: #fff !important;
}
.kasou_list-num > li {
  line-height: 1.9;
  margin-bottom: .5em;
}

/* ============================================================
   6. 画像：kasou_img
   ============================================================ */
.kasou_img img,
figure.kasou_img img {
  border-radius: 14px;
  box-shadow: 0 6px 22px rgba(47,107,79,.10);
}

/* ============================================================
   7. 本文：kasou_text / kasou_note
   ============================================================ */
.kasou_text,
.kasou_text p {
  color: var(--k-text);
  line-height: 2;
  letter-spacing: .02em;
}
.kasou_text strong {
  color: var(--k-green-dark);
}
.kasou_text .sme-highlighter {
  background-image: linear-gradient(transparent 60%, rgba(63,143,104,.22) 60%) !important;
}
.kasou_text a {
  color: var(--k-green-dark);
  text-underline-offset: .25em;
  text-decoration-color: rgba(63,143,104,.45);
}
.kasou_text a:hover {
  text-decoration-color: var(--k-green);
}
.kasou_note {
  color: #6b7b72;
  font-size: .88em;
  line-height: 1.85;
}

.sp-img-none .smb-testimonial__item__figure {
  display: none;
}

.heading-bg-circle .smb-testimonial__item__content {
  position: relative;
  z-index: 1;
  padding-left: 20px;
  font-weight: bold;
  color: #333333;
}

.heading-bg-circle .smb-testimonial__item__content::before {
  content: '';
  position: absolute;
  top: 30%;
  left: 10px;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background: var(--k-green-light);
  border-radius: 50%;
  z-index: -1;
  opacity: 0.7;
}

/*TOP薬学生の皆さんへ*/
.top_student img {
  object-fit: cover;
  width: 400px;
  height: 220px;
}

/* ============================================================
   8. スマートフォン
   ============================================================ */
/* 画面サイズ 1200px 以上 */
@media (1200px <= width) {
  .top_tostudent_title {
    position: relative;
    top: 8em;
  }

  .top_tostudent .smb-section-break-the-grid__content {
    top: 8em;
  }
  .to_internship .smb-section-break-the-grid__content {
    top: 2em;
  }
}

@media (1024px <= width) {
    .p-drop-nav {
        background-color: rgba(255, 255, 255, 0.9);
    }
    .l-header--overlay-lg {
        background-color: rgba(255, 255, 255, 0.9);
    }
}

@media (767px >= width) {
  .kasou_stepnav .wpco {
    padding: var(--_padding-1) var(--_padding0);
  }
  .kasou_stepnav .contents-outline > ol {
    flex-direction: column;
    gap: 10px;
  }
  .kasou_stepnav .contents-outline > ol > li > a {
    padding: 10px 6px;
    font-size: .95rem;
  }
  .kasou_stepnav-icon .contents-outline > ol > li::after {
    display: none;
  }
  :root .kasou_heading-02 {
    display: flex;
    padding-right: 1.2em;
  }
  .kasou_card > .smb-container__body,
  .kasou_card > .wp-block-group__inner-container,
  .wp-block-group.kasou_card {
    padding: 18px 16px;
  }
}

@media (481px >= width) {
    .sp_only {
      display: block;
    }
    .footer-nav {
      gap: 10px;
    }
    .c-navbar {
      flex-wrap: wrap;
      padding: 0px 20px 10px;
    }
    
    .kasou_stepnav .contents-outline > ol:has(> li:nth-child(2):last-child) {
      font-size: .95rem;
    }
    .kasou_stepnav .contents-outline > ol:has(> li:nth-child(5):last-child),
    .kasou_stepnav .contents-outline > ol:has(> li:nth-child(6):last-child),
    .kasou_stepnav .contents-outline > ol:has(> li:nth-child(7):last-child),
    .kasou_stepnav .contents-outline > ol:has(> li:nth-child(8):last-child),
    .kasou_stepnav .contents-outline > ol:has(> li:nth-child(9):last-child) {
      grid-template-columns: repeat(2, 1fr);
    }
    .kasou_stepnav .contents-outline > ol > li > a {
      font-size: .9rem;
    }
    .kensyu-step .smb-step__body:before {
      left: 10%;
    }
    .kensyu-step span.smb-step__item__number {
      left: 6%;
    }
}