@charset "UTF-8";

/* * {
  outline: 2px solid blue;
} */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
:root{
  --mincho: "Noto Serif JP","Hiragino Mincho ProN","Hiragino Mincho Pro",
            "Yu Mincho",YuMincho,"MS PMincho","游明朝",serif;
}
html, body{
  font-family: var(--mincho) !important;
  color:#292929;
  background:#fff;
  max-width:1920px;
  margin:0 auto;
  overflow-x:hidden;
  font-size:18px;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0 auto;
  background-color: #fff;
  color: #292929;
  max-width: 1920px;
  min-width: auto;
  font-family: YuMincho, Hiragino Mincho ProN, serif;
  overflow-x: hidden;
  font-size: 18px;
}

html,
body {
  height: 100%;
	 overflow-x: hidden;
}

/* リンク設定 */
a {
  color: inherit;
  text-decoration: none;
  transition-duration: 0.5s;
}

p {
  line-height: 30px;
  /* 187.5% */
  letter-spacing: 2.72px;
}

/* 画像 */
img {
  max-width: 100%;
  height: auto;
}

h1 {
  font-size: 12px;
  margin-bottom: 7px;
  font-weight: 400;
}

.main {
  width: 100%;
  height: 1000px;
}

/* ------------------------------
   フェードアップ演出
------------------------------ */
.fade-up {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s ease;
}

.fade-up.active {
  opacity: 1;
  transform: translateY(0);
}

.delay-1 {
  transition-delay: 0.2s;
}

.delay-2 {
  transition-delay: 0.4s;
}

.delay-3 {
  transition-delay: 0.6s;
}

.delay-4 {
  transition-delay: 0.8s;
}

.delay-5 {
  transition-delay: 1.0s;
}

.delay-6 {
  transition-delay: 1.2s;
}

/*----------------------------
zoom-in ｜ズームイン
----------------------------*/
/* 初期状態（非表示＋縮小） */
.zoom-in {
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

/* 表示状態（拡大して表示） */
.zoom-in.on,
.zoom-in.active {
  opacity: 1;
  transform: scale(1);
}

/* =========================================
   Main Visual
========================================= */
.main-visual {
  position: relative;
  width: 100%;
  margin-top: -145px;
  overflow: hidden;
  z-index: 2;
  background: #fff;
}

.mv-slider,
.main-image-swiper {
  width: 100%;
}

.main-image-swiper .swiper-wrapper {
  align-items: flex-start;
}

.main-image-swiper .swiper-slide {
  width: 100%;
  height: auto;
  line-height: 0;
}

.mv-picture {
  display: block;
  width: 100%;
}

.mv-picture img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

/* fade時の高さブレ防止用 */
.main-image-swiper.swiper-fade .swiper-slide {
  pointer-events: none;
}

.main-image-swiper.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

/* タブレット以下 */
@media screen and (max-width: 768px) {
  .main-visual {
    margin-top: -45px;
  }
}

/* スマホ */
@media screen and (max-width: 480px) {
  .main-visual {
    margin-top: -45px;
  }
}


/*==================================================
  デスクトップ版 (768px以上)
==================================================*/
@media (min-width: 768px) {

    /* --- 1. 画像コンテナ (形状、はみ出し、浮き上がり) --- */
    .concept-image-wrapper {
        flex: 0 0 55%; 
        position: relative;
        z-index: 2; 
        margin-top: -30px; 
        margin-left: -30px;
        height: calc(100% - 30px); 
        align-self: flex-start; 
        border-top-left-radius: 15px; 
        border-bottom-left-radius: 15px; 
        border-top-right-radius: 120px; /* 右上の大きな角丸 */
        border-bottom-right-radius: 15px; 
        background-color: #fff; 
        overflow: hidden; 
        box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.08); 
    }

    .concept-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    /* --- 2. コンテンツコンテナ --- */
    .concept-content-wrapper {
        flex: 1; 
        position: relative;
        z-index: 1; 
        background-color: #EEF6FF; 
        display: flex;
        flex-direction: column;
        justify-content: flex-start; 
        
        padding-top: 30px; 
        padding-bottom: 30px;
        padding-right: 80px; 
        padding-left: 60px;
        
        border-top-right-radius: 15px;
        border-bottom-right-radius: 15px;
    }

    /* --- 3. H2タイトル (フォント変更とバランス調整) --- */
    .concept-header {
        display: flex;
        align-items: center;
        margin-top: 20px;
        margin-bottom: 30px; 
    }

    .concept-icon {
        width: 40px;
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        background-color: #ffe0e6;
        margin-right: 15px;
        flex-shrink: 0;
    }

    .icon-hand-heart {
        width: 24px;
        height: 24px;
        color: #f77a94;
    }

    .concept-title {
font-size: max(37px);
    color: #0b3d60;
    line-height: 1.4;
    margin-bottom: 15px;
    text-shadow: 1px 1px 4px rgba(255, 255, 255, 0.6);
    position: relative;
    text-align: center;
    margin: 30px 0;
    font-family: 'Times New Roman', 'Yu Mincho', serif;
    }

    /* --- 4. 本文エリアとマーカー --- */
    .concept-text {
        font-size: 1rem;
        line-height: 1.8;
        color: #444;
        margin-bottom: 80px; 
        font-family: "Noto sans JP";
    }
    
    /* ！！追加：本文最初の行にマーカーを適用！！ */
    .concept-text .text-marker {
        display: inline;
        /* マーカー色を理想のデザインの淡いピンク/オレンジに近づける */
        box-shadow: 0 -0.5em 0 #ffdcb9 inset; 
        padding: 0 5px; 
        line-height: 2; /* マーカーが途切れないように行間を調整 */
    }
    }

/*==================================================
  モバイル版 (767px以下)
==================================================*/
@media (max-width: 767px) {
    
    .concept-section {
        padding-top: 30px; 
        padding-bottom: 80px;
    }
    
    .section-inner {
        flex-direction: column; /* 縦積みに変更 */
        max-width: 100%;
        margin: 0 20px; /* 左右に余白 */
        border-radius: 15px; /* 全体の角丸 */
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
        padding: 0; /* モバイルでは内側の余白をリセット */
    }

    /* --- 1. 画像コンテナ (モバイル版) --- */
    .concept-image-wrapper {
        flex: none; 
        position: relative;
        z-index: 2; 
        /* デスクトップのネガティブマージンを解除 */
        margin: 0; 
        width: 100%;
        height: 250px; /* モバイルでの高さ指定 */
        
        /* 角丸の適用: 右上の大きな角丸を維持 */
        border-top-left-radius: 15px; 
        border-bottom-left-radius: 0; 
        border-top-right-radius: 80px; /* 少し小さく */
        border-bottom-right-radius: 0; 
        
        background-color: #fff; 
        overflow: hidden; 
        box-shadow: none; /* モバイルでは全体のシャドウに任せる */
    }

    .concept-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    /* --- 2. コンテンツコンテナ (モバイル版) --- */
    .concept-content-wrapper {
        flex: 1; 
        position: relative;
        z-index: 1; 
        background-color: #EEF6FF; 
        display: flex;
        flex-direction: column;
        justify-content: flex-start; 
        
        padding: 30px 20px 40px 20px; /* 内側の余白 */
        
        /* 角丸の適用: 下部の角丸を適用 */
        border-top-right-radius: 0;
        border-bottom-right-radius: 15px;
        border-bottom-left-radius: 15px;
    }

    /* --- 3. H2タイトル (モバイル版) --- */
    .concept-header {
        display: flex;
        flex-direction: column; /* 縦並びにして中央寄せ */
        align-items: center;
        margin-top: 0;
        margin-bottom: 25px; 
    }

    .concept-icon {
width: 40px; /* デスクトップと同じサイズに戻し、円形を強調 */
        height: 40px; /* デスクトップと同じサイズに戻し、円形を強調 */
        margin: 0 auto 10px auto; 
        border-radius: 50%; /* 円形に修正 */
        display: flex; /* ハートを中央寄せにするため */
        justify-content: center; /* ハートを中央寄せにするため */
        align-items: center; /* ハートを中央寄せにするため */
        /* 背景色も念のため再指定（既存のものが適用されていれば不要ですが、念のため） */
        background-color: #ffe0e6;
    }

    .icon-hand-heart {
        width: 20px;
        height: 20px;
        color: #f77a94; /* デスクトップ版と同じピンク系を指定 */
    }

    .concept-title {

    font-size:34px;
    color: #0b3d60;
    line-height: 1.4;
    margin-bottom: 15px;
    text-shadow: 1px 1px 4px rgba(255, 255, 255, 0.6);
    position: relative;
    text-align: center;
    margin: 30px 0;
    font-family: 'Times New Roman', 'Yu Mincho', serif;

    }

    /* --- 4. 本文エリアとマーカー (モバイル版) --- */
    .concept-text {
        font-size: 0.95rem;
        line-height: 1.7;
        color: #444;
        margin-bottom: 0; /* モバイルでは下部の大きな余白をなくす */
        text-align: left; /* 本文は左寄せ */
        /* ゴシック体を維持 */
        font-family: "Noto sans JP";
    }
    
    /* マーカーのスタイルを維持 */
    .concept-text .text-marker {
        display: inline;
        box-shadow: 0 -0.5em 0 #ffdcb9 inset; 
        padding: 0 3px; 
        line-height: 2;
    }
}

/* ---------------------------------- */
/* II-1. ★コンセプトブロックのFlexbox設定 */
/* ---------------------------------- */

.section-inner {
    /* これが画像とテキストを横並びにする鍵 */
    display: flex;
    
    /* ★重要：子要素の高さを揃える */
    align-items: stretch;
    
    /* 最大幅と中央揃え */
    max-width: 1200px; 
    margin: 0 auto;
    
    /* 左右のパディング */
    padding: 0 20px;
}

/* ---------------------------------- */
/* II-2. デスクトップ版の微調整（@media (min-width: 768px)内） */
/* ---------------------------------- */
@media (min-width: 768px) {
    
    /* 外側の余白 */
    .concept-section {
        padding: 50px 0; 
		margin-top:100px;
    }
    
    /* H2タイトルの左寄せ修正 */
    .concept-header {
        justify-content: flex-start; /* 左寄せ */
    }

    .concept-title {
        /* 中央寄せをやめて左寄せに */
        text-align: left; 
        /* マージンリセット */
        margin: 0; 
    }
}
.section-inner {
    display: flex;
    align-items: stretch; 
    max-width: 1200px; 
    margin: 0 auto;
    padding: 0 20px;
    
    /* 【追記】全体に背景色を設定 */
    background-color: #EEF6FF; 
    
    /* 【追記】画像とコンテンツの角丸を表現するために、親にも角丸を適用 */
    border-radius: 15px; 
}

/*==================================================
  お知らせ
==================================================*/
.top-news {
    padding: 80px 20px 40px;
    /* background: #f8f8f8; */
}

.top-news__head .dreamttl{
	    margin: 10px 0;
}

.top-news__inner {
  width: min(100%, 1100px);
  margin: 0 auto;
}

.top-news__head {
  margin-bottom: 40px;
  text-align: center;
}


.top-news__list {
    display: flex;
    gap: 24px;
    flex-direction: column;
}

.top-news__item {
    background-color: #D1E8EE;
    padding: 30px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 10px;
}

.top-news__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
	color:#3a5a95;
}

.top-news__link {
    display: block;
    height: 100%;
    text-decoration: none;
    color: #2a3e52;
}

.top-news__date {
  display: inline-block;
  margin-bottom: 14px;
  color: #777;
}

.top-news__item-title {
    margin: 0 0 9px;
    font-size: 1.5rem;
}

.top-news__excerpt {
  margin: 0;
}

.top-news__btn-wrap {
  margin-top: 36px;
  text-align: center;
}

.top-news__btn {
display: inline-block;
    position: relative;
    min-width: 250px;
    box-sizing: border-box;
    padding: 17px 38px 17px 25px;
    margin: 20px 0;
    line-height: 1;
    border-radius: 40px;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    font-size: 15px;
    background-color: #010066;
    color: white;
	    border: 1px solid var(--color-emphasis2);
    color: white;
    transition: background-color 1s ease, color 1s ease;
    font-family: serif, "Noto sans JP";
}


.top-news__btn a:hover {
    color: white;
    background: #6A8DC7;
}

.top-news__empty {
  text-align: center;
  font-size: 1.5rem;
  color: #666;
}

/* ----------------------------------------------------
タブレット用（768px〜1024px）
---------------------------------------------------- */
@media (max-width: 1024px) {
}
/* ----------------------------------------------------
スマホ用（〜767px）
---------------------------------------------------- */
@media (max-width: 768px) {
  .top-news__list {
    grid-template-columns: 1fr;
  }

  .top-news {
    padding: 56px 16px;
  }

  .top-news__item-title {
    font-size: 1.8rem;
  }

.top-news__excerpt {
    font-size: 15px;
}

.top-news__item-title {
    margin: 0 0 9px;
    font-size: 1.2rem !important;
}
	
.top-news__item {
    padding: 20px 10px;
}
	
}


/*==================================================
  選ばれる理由セクション：グローバル設定
==================================================*/


/* -------------------理想ブロック------------------- */

/* 見出し */
.dream-ttlbloc {
  margin: 30px auto;
}
.dreamttl {
  font-size: max(2.274vw, 37px);
  color: #0b3d60;
  line-height: 1.4;
  margin-bottom: 15px;
  text-shadow: 1px 1px 4px rgba(255, 255, 255, 0.6);
  position: relative;
  text-align: center;
  margin: 30px 0;
  font-family: 'Times New Roman', 'Yu Mincho', serif;
	    margin-bottom: 70px;
}
.dreamttl .mini {
  font-size: 25px;
}
.dream-ttlbloc p {
  text-align: center;
    font-family: "Noto sans JP",sans-serif;
}
.dream-ttlbloc p .underline {
  text-decoration: none;
  border-bottom: 2px solid var(--color-accent);
}

/* セクションの背景 */
.sedai {
  padding: 65px 0;
  position: relative;
  background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%,              /* 始点: 白 (不透明) */
    rgba(224, 238, 255, 1) 20%,              /* 20%地点: 明るい水色 (#e0eeff) */
    rgba(208, 227, 247, 0.9) 80%,            /* 80%地点: 少し濃い水色 (#d0e3f7) */
    rgba(255, 255, 255, 1) 100%);
  z-index: 0;
  overflow: hidden;
	margin-top: 50px;
	margin-bottom: 50px;
}

.sedai::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
  z-index: 1;
}

.sedai::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80px; 
  background: linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
  z-index: 1;
}

.idx_inr {
  position: relative;
  display: block;
  margin: 0 auto;
}

.idx_box {
  display: block;
  position: relative
}

.idx_lst li {
  position: relative;
  display: block;
  padding-left: 1em;
  margin-bottom: .5em;
  background-repeat: no-repeat;
  background-position: 0 .4em;
  background-size: .8em auto
}

.sedai .idx_inr {
  max-width: 1400px;
  width: 100%;
  padding: 36px 0;
  margin-bottom: 30px;
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-color: #fff;
  background-position: 100% 0
}

.sedai .idx_inr:nth-of-type(2) {
  background-position: 0 0
}

.sedai .idx_box {
  color: #2e2e2e;
  background-color: #ffffff;
  box-shadow: 3px 3px 5px rgba(162,162,162,.2);
  max-width: 858px;
  margin: 0 auto 0 0;
  padding: 30px 24px 24px 65px;
}

.sedai .idx_inr:nth-of-type(2) .idx_box {
  box-shadow: -3px 3px 5px rgba(162,162,162,.2);
  margin: 0 0 0 auto
}
.sedai .idx_inr:nth-of-type(4) .idx_box {
  box-shadow: -3px 3px 5px rgba(162,162,162,.2);
  margin: 0 0 0 auto
}

.sedai_ttl {
  position: relative;
  font-size: 26.87px;
  margin: 0 0 24px;
  border-bottom: 1px solid #235BC8;
  color:#465DAA;
  font-family: serif,"Noto sans JP";
}
.sedai_ttl span{
  font-size: 35px;
  color: var(--color-ttl);
    text-shadow: 1px 1px 4px rgba(74, 105, 189, 0.6);

}
  

.sedai_ttl:before {
  content: "";
  display: block;
  position: absolute;
  width: 99px;
  aspect-ratio: 1/1;
  left: -45px;
  top: -24px;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.sedaittl01:before{
  /* background-image: url(../images/feauture1.jpeg); */
  background-repeat: no-repeat;
}
.sedaittl02:before{
  /* background-image: url(../images/feauture2.jpeg); */
  background-repeat: no-repeat;
}
.sedaittl03:before{
  /* background-image: url(../images/feauture3.jpeg); */
  background-repeat: no-repeat;
}

.sedai_lead {
  display: flex;
  align-items: center;
  padding: 0 0 16px;
  margin: 0 auto 15px 0;
  width: 60%;
}

.sedai_lead p {
  display: block;
  /* text-align: center */
}

.sedai_lead p i {
  display: block
}

.sedai_lead p .ja {
  font-size: 27.52px
}

.sedai_lead p .en {
  font-size: 39.63px;
  font-weight: 700
}

.sedai_lead figure {
  flex: 1
}

.sedai .idx_lst {
  font-size: 15px
}
.sedai .idx_lst li {
  line-height: 1.3;
  /* letter-spacing: -.06em */
}
.sedai .idx_lst li::before {
  content: "●";
  font-size: 20px;
  color: #f7961d;
  margin-right: 10px;
  position: relative;
  top: 3px;
}
.sedai01 li {
    background-image: url(../images/top/check.png);
    background-repeat: no-repeat;
    line-height: 1.3;
    /* letter-spacing: -.06em; */
}
.sedai02 li {
  background-image: url(../images/top/check2.png);
  background-repeat: no-repeat;
  line-height: 1.3;
  /* letter-spacing: -.06em */
}
.sedai03 li {
  background-image: url(../images/top/check3.png);
  background-repeat: no-repeat;
  line-height: 1.3;
  /* letter-spacing: -.06em */
}

.sedai .idx_lst li span {
  display: block
}
.sedai .idx_lst li em {
    font-weight: 600;
    font-size: 19px;
}
.sedai01 li em{
  color: #f7961d;
}
.sedai02 li em{
    color: #f7961d;
}
.sedai03 li em{
    color: #f7961d;
}
.sedai04 li em{
  color: #f7961d;
}

.sedai_fig {
  position: absolute
}

.sedai .idx_gnr_btn {
  width: unset;
  left: unset;
  right: 36px;
  bottom: 20px
}

.idx_gnr_01 {
  background-image: url(http://nakaya-shika.jp/wp-content/uploads/2026/03/1Y7A2437.jpg);
  background-repeat: no-repeat;
}


.idx_gnr_01 .sedai_lead p {
  margin-right: 42px;
  font-family: "Noto sans JP",sans-serif;
      font-size: 1.0rem;
    line-height: 1.8;
    color: #444;
  
}

.idx_gnr_01 .sedai_lead figure img {
  width: 109px;
  aspect-ratio: 109/149
}

.idx_gnr_01 .idx_lst li:nth-of-type(3) {
  /* padding-left: .8em */
}

.idx_gnr_01 .sedai_fig {
  width: 366px;
  bottom: 100px;
  right: 0px;
}

.idx_gnr_01 .sedai_fig img {
  aspect-ratio: 366/272;
  padding: 10px;
  max-width: 80%;
    height: auto;
    vertical-align: bottom;
	margin-bottom: 50px;
	margin: 0 auto;
}

.idx_gnr_02 {
  background-image: url(http://nakaya-shika.jp/wp-content/uploads/2026/03/1Y7A2558.jpg);
  background-repeat: no-repeat;
}

.idx_gnr_02 .sedai_lead p {
  margin-right: 36px;
  font-family: "Noto sans JP",sans-serif;
      font-size: 1.0rem;
    line-height: 1.8;
    color: #444;
}

.idx_gnr_02 .sedai_lead figure img {
  width: 103px;
  aspect-ratio: 103/138;
  max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

.idx_gnr_02 .idx_lst li:nth-of-type(2) span:nth-of-type(2) {
  margin-left: -.4em
}

.idx_gnr_02 .sedai_fig {
  width: 366px;
    bottom: 40px;
    right: 0px;
}

.idx_gnr_02 .sedai_fig img {
  aspect-ratio: 378/269;
  max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

.idx_gnr_03 {
  background-image: url(http://nakaya-shika.jp/wp-content/uploads/2026/03/1Y7A2483.jpg);
  background-repeat: no-repeat;
}


.idx_gnr_03 .sedai_lead p {
  margin-right: 30px;
  font-family: "Noto sans JP",sans-serif;
      font-size: 1.0rem;
    line-height: 1.8;
    color: #444;
}

.idx_gnr_03 .sedai_lead figure img {
  width: 117px;
  aspect-ratio: 117/144;
  max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

.idx_gnr_03 .idx_lst li:nth-of-type(2),.idx_gnr_03 .idx_lst li:nth-of-type(3) {
  padding-left: 1em
}

.idx_gnr_03 .sedai_fig {
  width: 366px;
    bottom: 100px;
    right: 0px;
}

.idx_gnr_03 .sedai_fig img {
  aspect-ratio: 377/269;
  max-width: 80%;
    height: auto;
    vertical-align: bottom;
	margin-bottom: 50px;
	margin: 0 auto;
}


.idx_gnr_04 {
  background-image: url(http://nakaya-shika.jp/wp-content/uploads/2026/03/1Y7A2429.jpg);
  background-repeat: no-repeat;
}

.sedai .idx_inr:nth-of-type(4) {
    background-position: 0 0;
}

.idx_gnr_04 .sedai_lead p {
  margin-right: 36px;
  font-family: "Noto sans JP",sans-serif;
      font-size: 1.0rem;
    line-height: 1.8;
    color: #444;
}

.idx_gnr_04 .sedai_lead figure img {
  width: 103px;
  aspect-ratio: 103/138;
  max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

.idx_gnr_04 .idx_lst li:nth-of-type(2) span:nth-of-type(2) {
  margin-left: -.4em
}

.idx_gnr_04 .sedai_fig {
  width: 366px;
    bottom: 40px;
    right: 0px;
}

.idx_gnr_04 .sedai_fig img {
  aspect-ratio: 378/269;
  max-width: 100%;
    height: auto;
    vertical-align: bottom;
}


/*------------------------------
ボタン
------------------------------*/

.btn03 {
  position: relative;
}
.btn03 a {
  display: inline-block;
  position: relative;
  min-width: 250px;
  box-sizing: border-box;
  padding: 17px 38px 17px 25px;
  margin: 20px 0;
  line-height: 1;
  border-radius: 40px;
  text-align: center;
  font-weight: bold;
  text-decoration: none;
  font-size: 15px;
  background-color: #010066;
  color:white;
}
.btn03 a:hover::before {
  right: 20px;
}

.btn03 a:hover::before{
	right: 20px;
}

.btn03 a:hover::after{
	left:0;
	top:0;
}
.btn03 a i{
	margin-right: 7px;
	font-size: 12px;
}
/* 一つ目のボタン */
.sedaibtv01 a {
	border: 1px solid var(--color-emphasis2);
    color:white;
    transition: background-color 1s ease, color 1s ease;
    font-family: serif,"Noto sans JP";
}
.sedaibtv01 a:hover {
	color:white;
	background:#6A8DC7;
}

/* 二つ目のボタン */
.sedaibtv02 a {
  border: 1px solid var(--color-emphasis2);
    color: var(--color-emphasis2);
    transition: background-color 1s ease, color 1s ease;
}
.sedaibtv02 a:hover {
	color:white;
	background:#6A8DC7;
}

/* 三つ目のボタン */
.sedaibtv03 a {
	border: 1px solid var(--color-emphasis2);
    color: var(--color-emphasis2);
    transition: background-color 1s ease, color 1s ease;
}

.sedaibtv03 a:hover{
	color:white;
	background:#6A8DC7;
}


/* 四つ目のボタン */
.sedaibtv04 a {
	border: 1px solid var(--color-emphasis2);
    color:white;
    transition: background-color 1s ease, color 1s ease;
    font-family: serif,"Noto sans JP";
}

.sedaibtv04 a:hover{
	color:white;
	background:#6A8DC7;
}

/* ----------------------------------------------------
タブレット用（768px〜1024px）
---------------------------------------------------- */
/* ----------------------------------------------------
スマホ用（〜767px）
---------------------------------------------------- */
@media (max-width: 768px) {
  .dreamttl {
    font-size: 1.5rem;
	          font-size: 34px;
        margin-top: -50px;
  }
  .sedai {
    padding: 65px 0;
    position: relative;
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, /* 始点: 白 (不透明) */ rgba(224, 238, 255, 1) 20%, /* 20%地点: 明るい水色 (#e0eeff) */ rgba(208, 227, 247, 0.9) 80%, /* 80%地点: 少し濃い水色 (#d0e3f7) */ rgba(255, 255, 255, 1) 100%);
    z-index: 0;
    overflow: hidden;
    margin-bottom: -40px;
	  margin-top: -10px;
}
.sedai .idx_inr {
  max-width: 1400px;
  width: 100%;
  padding: 36px 0;
  margin-bottom: 30px;
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-color:transparent;
  background-position: 100% 0
}
  .problemspan {
    font-size: 2rem;
  }
  .dream-ttlbloc p {
    /* text-align: left; */
    padding: 0 8px;
  }
  .sedai .idx_inr {
    /* padding: 10px; */
    background-position: 80% 0;
  }
  .sedai .idx_box {
  padding: 20px;
  background-color: #ffffffde;
}
.sedai_ttl {
  font-size: 1.2rem;
}
.sedai_ttl span {
    font-size: 1.5rem;
}
.sedai_lead {
    width: 100%;
}
.idx_gnr_01 .sedai_lead p {
  margin: 0;
}
.sedai_fig {
  position: relative;
}
.idx_gnr_01 .sedai_fig,
.idx_gnr_02 .sedai_fig,
.idx_gnr_03 .sedai_fig,
.idx_gnr_04 .sedai_fig,
.idx_gnr_05 .sedai_fig {
  width: 100%;
  bottom: 0;
  margin: 0 0 20px;
}
.sedaibtv01 a,
.sedaibtv02 a,
.sedaibtv03 a,
.sedaibtv04 a {
  display: block;
  text-align: center;
}
.idx_gnr_02 .sedai_lead p,
.idx_gnr_03 .sedai_lead p,
.idx_gnr_04 .sedai_lead p {
  margin-right: 0;
}

}

/*-------------------------------------- 理想ブロック --------------------------------------*/

/*--------------------------------------------------
  理想ブロック (世代ごとの取り組み)
--------------------------------------------------*/

/*-------------------------------------- 理想ブロック --------------------------------------*/

/* ----------------------------------------------世代ごとの取り組み（最終絶対確定版 v74.0 - 全ての記述を網羅）---------------------------------------------- */

/* ----------------------------------------------
  新しいラッパー要素への背景適用
---------------------------------------------- */
.section-wrapper {
    background-image: url(http://nakaya-shika.jp/wp-content/uploads/2025/12/1013930-1.jpg);
    background-repeat: no-repeat;
    background-size:cover; 
    background-position: center top; 
    background-color: #f8f8f8; 
    margin-bottom: 120px;
    margin-top: 80px;
}

/* ----------------------------------------------
  全体コンテナ、H2、背景スタイル
---------------------------------------------- */
.child-section { 
  background: none; 
  padding: 0; 
  margin-bottom: 0; 
  overflow: hidden; 
  box-sizing: border-box;
  position: relative;
}

/* 強制フル幅設定 (PC版のみ適用) */
.child-full-width {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* ⭐H2タイトルのマージン調整 */
.h2-title {
    font-size: max(2.274vw, 37px);
    color: #0b3d60;
    line-height: 1.4;
    margin-bottom: 15px;
    text-shadow: 1px 1px 4px rgba(255, 255, 255, 0.6);
    position: relative;
    text-align: center;
    margin: 30px 0;
    font-family: 'Times New Roman', 'Yu Mincho', serif;
    margin-top: 100px;
}
.h2-title .span-title { color: #4dc2f1; }

/* 内部コンテンツの幅と中央寄せ */
.child-inner {
  display: flex; 
  flex-direction: row; 
  width: 100%;
  max-width: 1200px; 
  margin: 0 auto; 
  position: relative; 
  z-index: 1; 
  padding: 90px 20px; 
}

/* ----------------------------------------------
  PC版レイアウト (オーバーラップ構造)
---------------------------------------------- */

/* 2. 画像部分 */
.child-image-fixed {
  flex: 0 0 75%; width: 75%; margin-left: auto; position: relative; 
  height: 480px; min-height: 480px; order: 2; z-index: 1; margin-top: 0; 
  overflow: visible; border-radius: 8px; box-shadow: none; filter: none;
}
.child-image-fixed::before {
    content: ''; position: absolute; top: 20px; right: -20px; width: 100%; 
    height: 100%; 
    background-color: #e9f5ff;
    background-image: 
        radial-gradient(circle at 10% 20%, #ffffff 3px, transparent 3px),
        radial-gradient(circle at 70% 80%, #ffffff 2px, transparent 2px),
        radial-gradient(circle at 40% 50%, #c4e4ff 1px, transparent 1px);
    background-size: 50px 50px;
    z-index: -1;
    border-radius: 12px;
}
.child-images .child-sub { display: none; }
.child-images img.child-bg {
    position: relative; top: -10px; left: -10px; z-index: 2; 
    width: 100%; height: 100%; object-fit: cover; border-radius: 8px; 
}

/* 1. テキスト部分 */
.child-text-fixed {
  flex: none; width: 40%; position: absolute; top: 50px; left: 0; z-index: 10; 
  box-sizing: border-box; background: #fff; border-radius: 5px; 
  box-shadow: 0 5px 15px rgba(0,0,0,0.1); border: 3px solid #ffcc66; 
  padding: 30px 40px; min-height: 350px; 
  display: flex; 
  flex-direction: column;
  font-family: "Noto sans JP",sans-serif;
}

.child-text-fixed::before { content: none; } 

.child-text-fixed::after {
    content: ''; position: absolute; top: 5px; left: 5px;
    width: 10px; height: 10px; background-color: #ffcc9c; 
    border-radius: 50%; z-index: 6;
}

.section-feature-number {
    font-size: 50px;
    font-weight: bold;
    color: #ff9900;
    line-height: 1;
    margin-bottom: -3px;
    margin-top: -15px;
    margin-left: 8px;
    font-family: 'Times New Roman', serif !important;
    position: relative;
    z-index: 1;
}

.child-text-fixed h3 {
  font-size: 24px; border-bottom: 2px dotted #ffcc66; padding-bottom: 8px; 
  color: #ff9900; margin-bottom: 18px; font-family: 'Times New Roman', 'Yu Mincho', serif !important;
}
.child-text-fixed h3 span { color: #ff9900; font-weight: bold; }

.child-list { list-style: none; padding: 0; margin: 0 0 20px 0; margin-top: 20px;}
.child-list li {
  position: relative; padding-left: 18px; font-size: 15px;
  color: #6B493D; margin-bottom: 5px; line-height: 1.4; 
}
.child-list .dot {
  position: absolute; top: 6px; left: 0;
  width: 8px; height: 8px; background: #ff6600; 
  border-radius: 50%;
}
.child-btn { 
  display: inline-block; background-image: linear-gradient(90deg, rgba(68, 164, 249, 1), rgba(56, 178, 255, 1) 48%, rgba(0, 220, 230, 1));
  color: white;
  padding: 13px 20px; border-radius: 20px; 
  font-weight: bold; text-decoration: none;
  transition: all 0.3s ease; font-family: serif,"Noto sans JP" !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05); margin-top: 15px; 
  align-self: flex-start; 
  margin-top: auto; 
}

.childp{
font-size: 1.0rem;
    line-height: 1.8;
    color: #444;
	font-family:"Noto sans JP" ,serif,
}

.child-btn:hover { background-color: #0054A6; color: #fff; }

/* ----------------------------------------------
  「大人」ブロックの反転レイアウト
---------------------------------------------- */
.child-section.child-reverse .child-image-fixed {
    order: 1; margin-left: 0; margin-right: auto; 
}
.child-section.child-reverse .child-image-fixed::before {
    left: -20px; right: auto;
}
.child-section.child-reverse .child-image-fixed .child-bg {
    left: 10px; top: -10px; 
}
.child-section.child-reverse .child-text-fixed {
    order: 2; left: auto; right: 0; margin-right: 0; 
}

/* ----------------------------------------------
  下部の補足画像エリア (3枚並び)
---------------------------------------------- */
.child-bottom-images {
    width: 100%; max-width: 1200px; 
    margin: 80px auto 80px; 
    display: flex; justify-content: space-around; gap: 20px;
    padding: 0 20px; box-sizing: border-box; z-index: 1;
    align-items: flex-start; 
}
.child-bottom-images .bottom-img {
    position: relative; display: block; flex: 1 1 30%; 
    max-width: 33.33%; height: 250px; object-fit: cover; 
    border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); 
    border: 3px solid #fff; z-index: 2; 
    top: -10px; left: -10px; 
}
.child-bottom-images .bottom-img::before {
    content: ""; position: absolute;
    top: 10px; left: 10px; width: 100%; height: 100%;
    background: #fffae5; border: 3px dashed #ff9900; 
    border-radius: 8px; z-index: -1; 
}
.child-bottom-images .bottom-img:nth-child(2) { margin-top: 50px; }
.child-bottom-images .bottom-img:nth-child(3) { margin-top: 20px; }


/* ----------------------------------------------
  モバイル対応：画像出し分けを限定化
---------------------------------------------- */
/* PC表示：このブロック内のみに制限 */
.child-section .sp-only { display: none !important; }
.child-section .pc-only { display: block !important; }

@media screen and (max-width: 768px) {
  /* スマホ表示：このブロック内のみに制限 */
  .child-section .sp-only { display: block !important; }
  .child-section .pc-only { display: none !important; }

  .h2-title { margin: 30px auto 20px; font-size: 28px; }
  .child-full-width { width: 100%; max-width: none; margin: 0; padding: 0 20px; box-sizing: border-box; }

  .child-inner {
    display: flex; 
    flex-direction: column !important; 
    align-items: center; 
    justify-content: center;
    padding: 30px 0; 
    width: 100%;
  }

  .child-image-fixed {
    order: 1 !important; flex: none; width: 100%; height: auto; min-height: auto;
    margin: 0 0 20px 0; position: static; box-shadow: none; border: none; background: none; box-sizing: border-box; 
  }

  .child-image-fixed .child-bg { 
    width: 100%; height: auto; position: static; box-shadow: none;
    border-radius: 8px; object-fit: cover; top: 1px !important;
  }

  .child-text-fixed {
    order: 2 !important; flex: none; width: 100%; position: static;
    background: #fff; border: 3px solid #ffcc66; box-shadow: 0 5px 15px rgba(0,0,0,0.1); 
    border-radius: 5px; padding: 30px 15px; display: flex; flex-direction: column;
    margin-bottom: 20px; text-align: left;
  }

  .child-section.child-reverse .child-image-fixed { order: 1 !important; }
  .child-section.child-reverse .child-text-fixed { order: 2 !important; }

  .section-feature-number { font-size: 60px; margin-top: 0; }
  .child-text-fixed h3 { font-size: 24px; padding-bottom: 5px; margin-top: 25px; }
  .child-text-fixed .child-btn { margin-top: auto; align-self: center; }

  .child-image-fixed::before { content: none; }
  .child-text-fixed::after { content: none; }
  .child-text-fixed::before { content: none; }
  .child-bottom-images { display: none; }
}
/*==================================================
  グローバル設定
==================================================*/
body {
    font-family: 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
    color: #333;
    line-height: 1.6;
}

.section-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px; /* 左右の余白 */
}

/* --- 共通ユーティリティ/配色定義 --- */
:root {
    --color-main-blue: #2A84C7;        /* メインの青 */
    --color-soft-ivory: #FCFAFA;       /* コンテンツ背景の温かいアイボリー/ベージュ (ほぼ白) */
    --border-radius-base: 15px;        /* 統一された角丸 */
}

/*==================================================
  ピックアップ診療ブロック (Pickup Section)
==================================================*/
/* ---------------------------------- */
/*==================================================
  ピックアップ診療ブロック (Pickup Section)
==================================================*/

/* 1. 親コンテナ（共通） */
.clinic-subjects-fullwidth {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  max-width: 100%;
  margin: 0 auto;
}
.leading-clinic{
	margin-top:80px;
	margin-bottom:80px	;
}

/* 2. 各アイテムの基本設定 */
.subject-item-fullwidth {
  position: relative;
  min-height: 70vh;
  overflow: hidden;
  background-size: cover;
  background-position: center center;
  transition: opacity 0.3s ease;
  display: flex;
}

.subject-item-fullwidth:hover {
  opacity: 0.9;
}

/* 背景を暗くするオーバーレイ */
.subject-item-fullwidth::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.75);
  z-index: 1;
}

/* 3. コンテンツ全体を包むリンク */
.subject-link-fullwidth {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start; /* PCでは上揃え */
  text-align: center;
  text-decoration: none;
  color: white;
  z-index: 2;
  padding: 50px 30px 40px;
  box-sizing: border-box;
}

/* 4. テキストラッパー */
.subject-text-wrap {
  width: 100%;
  padding: 0 10%;
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-grow: 1; /* アイコンを下に押しやるための設定 */
  margin-bottom: 0;
}

/* 5. タイトル (H3) */
.subject-title-fullwidth {
  font-size: 28px;
  font-weight: bold;
  margin: 0 0 5px;
  text-shadow: 2px 1px 7px rgba(255, 255, 255, 0.3);
  letter-spacing: 2px;
  font-family: 'Noto Serif JP', serif;
  background: linear-gradient(to right, #ffffff 0%, #f0f0c0 50%, #d8c895 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* 6. キャッチフレーズ (P) */
.subject-catchphrase-fullwidth {
  font-size: 16px;
  margin-top: 10px;
  margin-bottom: 25px;
  line-height: 1.6;
  text-align: left;
  width: 85%;
  margin-left: auto;
  margin-right: auto;
  font-family: "Noto sans JP", sans-serif;
  flex-shrink: 0;
  color: white;
}

/* 7. アイコン枠 */
.subject-icon-fullwidth {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.1);
  border: 2px solid white;
  box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.6);
  margin: 30px 0;
  background-size: 120%;
  background-repeat: no-repeat;
  background-position: center center;
  flex-shrink: 0;
}

/* 8. ボタン */
.subject-button-fullwidth {
  display: block;
  padding: 15px 40px;
  border: 2px solid white;
  color: white;
  font-weight: bold;
  border-radius: 5px;
  text-align: center;
  transition: background-color 0.3s ease, color 0.3s ease;
  margin: 20px auto 0;
  background-color: transparent;
  width: fit-content;
  box-sizing: border-box;
  font-family: serif, "Noto sans JP";
  flex-shrink: 0;
}

.subject-item-fullwidth:hover .subject-button-fullwidth {
  background-color: white;
  color: #333;
}

/* ---------------------------------- */
/* 背景・アイコン設定 (全量) */
/* ---------------------------------- */
.subject-caries { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/tooth-decay-scaled.jpeg'); }
.subject-periodontics { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/periodontal-disease-scaled.jpeg'); }
.subject-preventive { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/preventive-dentistry-scaled.jpeg'); }
.subject-aesthetic { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/aesthetic-dentistry-scaled.jpeg'); }
.subject-implant { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/implant-scaled.jpeg'); }
.subject-ortho { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/pediatric-dentistry-scaled.jpeg'); }
.subject-pedi-ortho { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/pediatric-orthodontics-scaled.jpeg'); }
.subject-whitening { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/whitening-scaled.jpeg'); }
.subject-dentures { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/dentures-scaled.jpeg'); }

.subject-icon-caries { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/musiba.png'); } 
.subject-icon-periodontics { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/sisyuubyou.png'); }
.subject-icon-preventive { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/yobousika.png'); }
.subject-icon-aesthetic { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/sinnbisika.png'); }
.subject-icon-implant { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/innpurannto.png'); }
.subject-icon-ortho { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/syounisika.png'); }
.subject-icon-pedi-ortho { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/syounikyousei.png'); }
.subject-icon-whitening { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/howaitoninngu.png'); }
.subject-icon-dentures { background-image: url('http://nakaya-shika.jp/wp-content/uploads/2025/12/ireba.png'); }

/* ---------------------------------- */
/* レスポンシブ対応 */
/* ---------------------------------- */

/* タブレット (768px - 1024px) */
@media (max-width: 1024px) {
  .subject-title-fullwidth { font-size: 30px; }
  .subject-item-fullwidth { min-height: 50vh; }
  .subject-link-fullwidth { padding: 30px 20px; }
  .subject-icon-fullwidth { width: 140px; height: 140px; }
}

/* モバイル用 (767px以下) */
@media (max-width: 767px) {
  .clinic-subjects-fullwidth {
    grid-template-columns: 1fr;
  }

  .subject-item-fullwidth {
    min-height: auto; /* 高さを内容に合わせる */
    height: auto;
  }

  .subject-link-fullwidth {
    padding: 60px 20px;
    justify-content: center;
  }

  .subject-text-wrap {
    flex-grow: 0;
    padding: 0;
    margin-bottom: 20px;
  }

  .subject-title-fullwidth {
    font-size: 28px;
  }

  .subject-catchphrase-fullwidth {
    text-align: left;
    width: 100%;
    font-size: 1rem;
  }

  .subject-icon-fullwidth {
    width: 120px;
    height: 120px;
    margin: 10px auto 30px;
  }

  .subject-button-fullwidth {
    margin-top: 0;
    margin-bottom: 10px;
    padding: 12px 30px;
    font-size: 14px;
  }
}

.risou-saction{
 background-image: url(http://nakaya-shika.jp/wp-content/uploads/2025/12/background3.jpg);
   background-size: cover;          /* 要素全体を覆うように拡大 */
    background-repeat: no-repeat; 
    min-height: 100vh;
	margin-top: 80px;
}


.case-section {
  /* background-image: url(../images/background3.jpg); */
    background-repeat: no-repeat; 
  padding: 60px 20px;
  font-family: "Noto Serif JP", serif;
	/* margin-top:-22px; */
	/* margin-bottom: 20px; */
  background-color:rgba(255,255,255,0.5);
background-blend-mode:lighten;
}


.case-text {
  flex: 1;
  color: #333;
}

.case-number {
  font-size: 40px;
  color: #465DAA;
  margin: 0;
  font-weight: bold;
}

.case-text h3 {
  font-size:1.3rem;
  margin-top: 10px;
  margin-bottom: 20px;
}

.case-highlight {
  color: #465DAA;
  font-weight: bold;
}

.case-description {
  line-height: 1.8;
  margin-bottom: 20px;
  font-family: "Noto sans JP",sans-serif;
      font-size: 1.0rem;
    color: #444;
}

.case-benefits {
  list-style: none;
  padding-left: 0;
  margin-bottom: 30px;
}

.case-benefits li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 10px;
  font-size: 16px;
    font-family: "Noto sans JP", sans-serif;
}

.case-benefits li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #d64f7a;
}

.case-btn {
  display: inline-block;
  background: #010066;
  color: #fff;
  padding: 17px 24px;
  border-radius: 30px;
  text-decoration: none;
  transition: 0.3s;
}

.case-btn:hover {
  background: #0F1A45;
}

.case-container {
  display: flex;
  flex-direction: row;  /* 横並びに配置 */
  gap: 40px;  /* テキストと画像の間にスペースを追加 */
  max-width: 1200px;
  margin: 0 auto;
  align-items: center;  /* 垂直方向の中央揃え */
}

.case-container {
  display: flex;
  flex-direction: row;  /* 横並びに配置 */
  gap: 40px;  /* テキストと画像の間にスペースを追加 */
  max-width: 1200px;
  margin: 0 auto;
  align-items: flex-start;  /* 垂直方向の中央揃えをflex-startに変更 */
}

.case-text {
  flex: 1;
  color: #333;
}

.case-image {
  flex: 1;  /* 画像の親要素の横幅を均等にする */
  display: flex;
  justify-content: center;  /* 画像を中央に配置 */
  align-items: center;
  /* background-color: #fff; */
  border-radius: 10px;
  min-height: 200px;
  position: relative;
  overflow: hidden;
}

.case-image img {
  width: auto;    /* 横幅を自動調整 */
  height: auto;   /* 高さを自動調整 */
  max-width: 100%; /* 画像の最大幅を100%に設定 */
  object-fit: cover;  /* 画像が切れないように、元の比率を保ちながら表示 */
  /* margin-top: 100px; */
}

.image-placeholder {
  text-align: center;
  color: #aaa;
  font-size: 18px;
  font-weight: bold;
}

/* ---------------------- タブレット版 (769px 〜 1024px) ---------------------- */
@media screen and (min-width: 769px) and (max-width: 1024px) {
 .risou-saction {

background-image: url(http://nakaya-shika.jp/wp-content/uploads/2025/12/background3.jpg);

background-size: cover;

background-repeat: no-repeat;
    min-height: ;
}
}

/* モバイル版の修正 */
@media screen and (max-width: 768px) {
  .case-container {
    flex-direction: column;  /* スマホでは縦並びに変更 */
  }

  .case-image {
    width: 100%;  /* モバイルで画像の幅を100%に調整 */
  }

  .case-image img {
    width: 100%;
    height: auto;
  }
}

/* モバイル版の修正（既存のCSSに追加または修正） */
@media screen and (max-width: 768px) {
    .case-container {
        flex-direction: column; 
    }
    
    /* ********** 画像の位置変更 ********** */
    /* 症例写真（画像）ブロックを一番上に移動 (order: -1または1など) */
    .case-image {
        order: -1; /* 負の値にすることで、他の要素（デフォルトorder: 0）より前に表示される */
        width: 100%;
        margin-bottom: 30px; /* テキストとの間に適切な余白を追加 */
		margin-top:-70px;
    }

    /* テキストブロックを画像の下に配置 (order: 0 または 1) */
    .case-text {
        order: 0; /* デフォルトの順序 (0) を維持するか、1を設定する */
    }
    /* ********************************** */

    .case-image img {
        width: 100%;
        height: auto;
        margin-top: 30px;
    }
    .case-btn {
    display: block; /* ① インライン要素の性質をブロックレベル要素の性質に上書きする */
    width: 100%;     /* ② ブロック要素になったので、幅を制限できる */
    margin: 0 auto; /* ③ ブロック要素になったので、中央寄せが機能する */
    text-align: center;
}
}

/* ----------------------院長ブロック (PC/共通)---------------------- */

.director-section{
/* 	margin-top:30px; */
}

.director-profile {
  background-image: url(http://nakaya-shika.jp/wp-content/uploads/2025/12/doctorbackground01.jpg);
  padding: 60px 20px;
  color: #2a3e52;
  background-repeat: no-repeat;
  background-size:cover;
  background-color:rgba(255,255,255,0.85);
background-blend-mode:lighten;
}

.director-profile__inner {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  max-width: 1400px;
	    margin-top: 70px;
}

/* 左側ブロック: PCでは flex: 1 で相対的な幅を確保 */
.director-profile__left {
  flex: 1; 
  /* min-width: の指定は削除し、柔軟性を確保します */
  text-align: center;
}

/* 右側ブロック: PCでは flex: 2 で左側より広い幅を確保 */
.director-profile__right {
  flex: 2;
  /* min-width: の指定は削除し、柔軟性を確保します */
}


/* ★ 共通: 画像が大きすぎる問題の解決 */
/* HTMLのimg要素（class="director-profile__image"）に適用されます */
.director-profile__left img {
    /* HTMLでclass="director-profile__image"がないため、imgタグ自体に指定します */
    /* 画像要素自体に class="director-profile__image" を追加した場合は、
    .director-profile__image { ... } でOKです */
    width: 100%;
    max-width: 100%; /* 親要素からはみ出さないように制限 */
    height: auto;    /* 縦横比を維持 */
    object-fit: cover;
}
/* 念のため、.director-profile__image も残しておきますが、HTML修正が推奨です */
.director-profile__image {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
}


/* --- その他の詳細スタイル (PC/共通) --- */

.director-profile__badge {
  position: relative;
  background-color: rgba(0, 47, 86, 0.85);
  color: #fff;
  padding: 20px;
  margin-top: -60px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  border-radius: 8px;
}

.director-profile__subtitle {
  font-size: 16px;
  margin-bottom: 10px;
  border-bottom: 1px solid #fff;
  padding-bottom: 5px;
  font-family: "Noto sans JP",sans-serif;
}

.director-profile__list {
  font-size: 14px;
  line-height: 1.8;
  list-style: none;
  padding: 0;
  margin: 0;
  color: #fff;
  text-align: left;
  font-family: "Noto sans JP",sans-serif;
}
.director-profile__list span {
  font-size: 0.9rem;
  margin-right: 12px;
}

.director-profile__quote {
  margin-bottom: 40px;
  position: relative;
}

.director-profile__vertical {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 16px;
  position: absolute;
  right: -40px;
  top: 0;
  color: #666;
}

.director-profile__message {
  font-size: 20px;
  line-height: 1.6;
  font-weight: 500;
  margin-bottom: 20px;
  font-family: "Noto sans JP",sans-serif;
}

.director-profile__message span {
  border-bottom: 2px solid #4ca3c7;
}
.director-image img{
      width: auto;
    height: 300px;
    padding: 30px;
}

.director-profile__question {
  line-height: 1.8;
  font-family: "Noto sans JP",sans-serif;
      font-size: 1.0rem;
    color: #444;
    padding: 10px 10px;
}

.director-profile__question .highlight {
  color: #3a93b8;
  font-weight: bold;
}

.director-profile__bio {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  background-color: #D1E8EE;
  padding: 30px;
  border-radius: 10px;
  align-items: center;
}

.director-profile__career {
  flex: 2;
}

.director-h3 {
  margin-bottom: 10px;
  font-family: "Noto sans JP", sans-serif;
}

.director-profile__career ul {
  font-size: 14px;
  line-height: 1.8;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 20px;
  padding-left: 0;
  list-style: none;
   font-family: "Noto sans JP", sans-serif;
}

.director-profile__certificate {
  flex: 1;
  text-align: center;
}

.director-profile__certificate img {
  max-width: 100%;
  height: auto;
  border: 1px solid #ccc;
}


/* ----------------------モバイル対応 (max-width: 768px)---------------------- */
@media screen and (max-width: 768px) {
.director-profile {
  padding: 40px 15px; /* モバイルではパディングを少し狭めます */
}

/* ★ モバイルでの横スクロール問題の解決 */
/* 左右のブロックを縦に積み重ね、幅100%になるように強制します */
.director-profile__left,
.director-profile__right {
  /* min-width: の指定は全て削除します */
  flex: 1 1 100%; /* 縦並び、幅100% */
}

/* 画像は既にmax-width: 100%が適用されているためOK */

/* 経歴リスト内のフォントサイズとレイアウト調整 */
.director-profile__list {
  font-size: 0.9rem; /* 0.6rem から 0.9rem へ調整して読みやすく */
  line-height: 1.6;
}
.director-profile__list span {
  font-size: 0.9rem;
}

.director-profile__message {
  font-size: 1.2rem; /* 少し大きく調整 */
  margin-bottom: 15px;
}

/* 所属・学会リストの調整 */
.director-profile__career ul {
  font-size: 0.9rem; /* 0.8rem から 0.9rem へ調整 */
  /* ★ 横伸びを防ぐため、2カラムを1カラムに変更します */
  grid-template-columns: 1fr; 
  gap: 6px;
}

.director-profile__bio {
  padding: 20px 15px; /* モバイルに合わせてパディングを調整 */
}

/* 不要なスタイルを削除または調整 (元のコードからmin-width: 300px/400pxを削除) */
/* (元のコードにあった .director-profile__image のモバイルブロックは共通の定義を使うため削除) */
}

/* ---------------------- ボタン用CSSの追加 ---------------------- */

/* ボタンを中央寄せするためのエリア（必要に応じて） */
.director-profile__button-area {
    text-align: center; /* ボタンを中央に配置 */
    margin-top: 30px;   /* 上部に余白を追加 */
    margin-bottom: 50px;
}

/* 青色ボタンの基本スタイル */
.btn-contact {
    display: inline-block;
    padding: 12px 30px;
    background-color: #4ca3c7; /* 明るい青 */
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s;
    font-size: 16px;
    letter-spacing: 0.05em;
    min-width: 200px; /* ボタンの最小幅 */
     font-family:serif,"Noto sans JP"
}

/* ホバーエフェクト（マウスオーバー時） */
.btn-contact:hover {
    background-color: #3a93b8; /* 少し濃い青 */
}

/* モバイル対応 (768px以下) */
@media screen and (max-width: 768px) {
    .director-profile__button-area {
        margin-top: 20px;
        margin-bottom: 30px;
    }
    
    .btn-contact {
        /* モバイルではボタンの幅を広げます */
        width: 90%; 
        max-width: 300px;
        padding: 15px 0; /* 縦パディングを増やし、横は幅100%に任せます */
        font-size: 18px;
    }
    .director-image img {
    width: auto;
    height: 200px;
    padding: 30px;
    display: none;
}
}

/*------------------------------------- 無料相談 --------------------------------------*/
section.consultation {
  background: url(http://nakaya-shika.jp/wp-content/uploads/2025/12/counselingphoto.png) no-repeat top center / 100%;
  width: 100%;
  aspect-ratio: 1400 / 762;
  padding: max(4.571vw, 59px) 0 max(1.429vw, 19px);
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  /* margin-top: max(7.143vw, 93px); */
  margin-bottom: max(7.143vw, 93px);
}
.consult-block {
  width: 100%;
  padding: 0 3%;
  max-width: 1400px;
  margin: 0 auto;
}

h2.ja-title {
  line-height: 1.2em;
  font-size: max(2.976vw, 39px);
  display: flex;
  height: max(8.214vw, 107px);
  align-items: center;
  box-sizing: border-box;
  padding-top: .2em;
  letter-spacing: .14em;
  margin-bottom: max(2.5vw, 32px);
  color: #5b4633;
}
p.en-title {
  width: 50%;
  line-height: 1em;
  font-size: 2rem;
  letter-spacing: .08em;
  border-bottom: 1px solid;
  box-sizing: border-box;
  padding-bottom: max(1.143vw, 15px);
  margin-bottom: max(1.929vw, 25px);
}
.consult-copy p {
  letter-spacing: .14em;
  margin: 20px 0;
   font-family: "Noto sans JP", sans-serif;
      font-size: 1.0rem;
    line-height: 1.8;
    color: #444;
}

.cta-button {
  display: inline-block;
  padding: 14px 32px;
  background: linear-gradient(to right, #3b89d1, #b1cde7);
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  border-radius: 50px;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  text-align: center;
    font-family:serif,"Noto sans JP"
}

.cta-button:hover {
  color: #fff;
  background: linear-gradient(to right, #3b89d1, #b1cde7); /* 逆方向で光るように */
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.3);
}

/* ---------------------- モバイル対応 (max-width: 768px) ---------------------- */
/* ---------------------- モバイル対応 (max-width: 768px) ---------------------- */
@media screen and (max-width: 768px) {
  
  /* === セクション全体の設定 === */
  section.consultation {
    /* padding: 30px 0 20px; */ 
    /* ★ 修正: 背景画像の高さ分を見越して、上部のパディングを大きく設定します */
    /* padding: 200px 0 20px;  */
    
    /* 背景画像を画面幅に合わせて調整 (consultationsp.png) */
    background: url(http://nakaya-shika.jp/wp-content/uploads/2025/12/counselingphoto.png) no-repeat top center / cover; 
    aspect-ratio: auto; 
    height: auto;
    
    /* margin-top: 50px;  */
    margin-bottom: 50px;
  }

  /* === コンテンツブロックの設定 (はみ出し防止とレイヤー修正) === */
  .consult-block {
    padding: 0 5%; 
    box-sizing: border-box; 
    overflow-x: hidden; 
  }
  
  /* ★ レイヤー修正：テキストを背景より前面に表示させる */
  /* テキストの親要素にz-indexを確実に適用 */
  .consult-inner,
  .consult-text {
    position: relative; 
    z-index: 10;        
  }
  
  /* === タイトル・コピーの調整 === */
  
  /* 日本語タイトルの調整 */
  h2.ja-title {
    font-size: 1.0rem;
    height: auto;
    margin-bottom: 15px;
    /* ★ 修正: コンテンツを下にずらしたため、マイナスのマージンを解除または緩和します */
    margin-top: 0; 
    letter-spacing: normal;
  }
  
  /* 英語タイトルの調整 */
  p.en-title {
    font-size: 1.3rem;
    width: 100%; 
    padding-bottom: 8px;
    margin-bottom: 12px;
  }
  
  /* メッセージ本文の調整（はみ出し防止） */
  .consult-copy p {
    font-size: 1rem; 
    line-height: 1.6;
    word-break: break-word; 
    letter-spacing: normal; 
    margin: 15px 0;
  }
  
  /* === CTAボタンの調整 === */
  .cta-button {
    display: block; 
    width: 90%; 
    max-width: 350px;
    padding: 18px 0; 
    margin: 30px auto 20px auto; 
    font-size: 1.1rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); 
    
    transform: none;
    transition: none;
  }
}


/*------------------------------------- 無料相談ここまで --------------------------------------*/

/* -------------------支払方法------------------- */
.paymentsec {
  /* background: linear-gradient(to bottom, #ffffff, #f5f7fa);  */
  background-image:url(http://nakaya-shika.jp/wp-content/uploads/2025/12/background4.jpg);
  padding: 50px 0;
  background-color:rgba(255,255,255,0.3);
background-blend-mode:lighten;
}

.payout {
  display: flex;
  /* flex-wrap: wrap; */
  justify-content: space-between;
  align-items: center;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
  padding: 40px;
  max-width: 1000px;
  margin: 20px auto;
	    margin-top: 70px;
}

.paytxtbox {
  flex: 1 1 55%;
  padding: 20px 30px;
}

.payttl span {
  background: linear-gradient(transparent 70%, #b4c5e4 70%);
  padding-bottom: 5px;
  font-weight: bold;
  font-size: 20px;
}

.marker {
  margin-bottom: 16px;
  line-height: 1.6;
  position: relative;
  font-size: 20px;
  padding-left: 30px;
   font-family: "Noto sans JP", sans-serif;
}

.marker::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 2px;
  color: #6ca0dc;
  font-size: 18px;
}

.payp {
  padding-top: 20px;
  line-height: 1.8;
  font-family: "Noto sans JP",sans-serif;
      font-size: 1.0rem;
    color: #444;
}

.payimg {
  flex: 1 1 40%;
  padding: 20px;
  text-align: center;
}

/* 流れる画像 */
.payimg img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
/* --- 画像が途切れず滑らかに流れるカルーセル --- */
/* 画像が流れるエリア */
.flowing-images {
  overflow: hidden;
  width: 100%;
  background: #fff;
  padding: 30px 0;
}

/* 横スクロールトラック */
.flow-track {
  display: flex;
  gap: 20px;
	width: max-content;
	animation: scroll-left 40s linear infinite;
	will-change: transform; /* スムーズな描画 */
}


/* 各画像の設定 */
.flow-track img {
  width: 160px;
  height: auto;
  object-fit: cover;
  flex-shrink: 0;
  border-radius: 8px;
  box-shadow: 0 0 4px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
}

.flow-track img:hover {
  transform: scale(1.05);
}

/* スマホ版 */
@media (max-width: 768px) {
  .payout {
    flex-direction: column;
    padding: 20px;
  }

  .paytxtbox, .payimg {
    width: 100%;
    padding: 10px 0;
    text-align: center;
  }

  .payttl span {
    font-size: 16px;
    background: linear-gradient(transparent 70%, #b4c5e4 70%);
    padding-bottom: 2px;
    display: inline;
    line-height: 1.6;
    word-break: keep-all;
    white-space: nowrap;
  }

  .marker {
    font-size: 16px;
    padding-left: 24px;
    text-align: left;
    margin-bottom: 12px;
  }

  .marker::before {
    font-size: 14px;
    top: 1px;
  }

  .payp {
    font-size: 1rem;
    text-align: left;
    line-height: 1.7;
    padding: 10px 0;
  }

  .payimg img {
    max-width: 80%;
    height: auto;
    margin: 0 auto;
  }
}

/* ---------------------- 院内紹介セクション (clinic-tour) ---------------------- */
.clinic-tour {
    padding: 80px 0;
    background-color: #f8f8f8; /* 背景色 */
    overflow: hidden; /* 横方向のオーバーフローを隠して横スクロールを防ぐ */
}

.clinic-tour__content-wrapper {
    max-width: 1000px;
    margin: 0 auto 50px;
    padding: 0 20px;
    text-align: center;
	margin-top: -40px;
}

/* --- タイトルスタイル --- */
.tour-title {
    margin-bottom: 30px;
    line-height: 1.2;
}

.tour-title .ja {
    display: block;
    font-size: 32px;
    font-weight: bold;
    color: #002f56; /* 濃い青 */
    letter-spacing: 0.1em;
    margin-bottom: 5px;
}

.tour-title .en {
    display: block;
    font-size: 16px;
    color: #4ca3c7; /* 明るい青 */
    font-family: 'Arial', sans-serif;
    letter-spacing: 0.2em;
}

.tour-description p {
  font-family: "Noto sans JP",sans-serif;
      font-size: 1.0rem;
    line-height: 1.8;
    color: #444;
}

/* --- スライダー（流れる写真） --- */
.clinic-tour__slider {
    width: 100%;
    overflow: hidden; /* トラックがはみ出ても見せない */
}

/* keyframes: 写真を左に動かすアニメーション */
@keyframes slide {
    from {
        transform: translateX(0);
    }
    to {
        /* (画像の枚数 * 画像の幅) * 50% だけ移動 */
        transform: translateX(-50%); 
    }
}

.slider-track {
    /* (元の画像6枚 + 複製画像6枚) = 12枚の画像分の幅 */
    display: flex; 
    width: calc(300px * 12); /* 画像1枚あたり300px * 12枚の画像 */
    animation: slide 30s linear infinite; /* 30秒かけて無限ループ */
}

.slider-track:hover {
    animation-play-state: paused; /* ホバーでアニメーションを一時停止 */
}

.slider-track img {
    /* 各画像のスタイル */
    width: 300px; /* PCでの画像の幅 */
    height: 200px;
    object-fit: cover;
    margin-right: 20px; /* 画像間のスペース */
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* --- モバイル対応 --- */
@media screen and (max-width: 768px) {
    .clinic-tour {
        padding: 50px 0;
    }
	.tour-description{
		text-align:left;
	}
    
    .clinic-tour__content-wrapper {
        margin-bottom: 30px;
    }
    
    .tour-title .ja {
        font-size: 24px;
    }
    
    .tour-title .en {
        font-size: 14px;
    }
    
    .tour-description p {
        padding: 0 10px; /* モバイルで左右にパディングを追加 */
        font-size: 1rem;
    }

    /* モバイルでの画像幅を調整 */
    .slider-track {
        /* 画像1枚あたり200px * 12枚の画像 */
        width: calc(200px * 12); 
        /* アニメーション速度を少し速く調整 */
        animation: slide 20s linear infinite; 
    }

    .slider-track img {
        width: 200px; /* モバイルでの画像の幅 */
        height: 140px;
        margin-right: 15px; 
    }
}

/* ---------------------- 採用情報セクション (recruit-section) ---------------------- */
/* ---------------------- 採用情報セクション (recruit-section) ---------------------- */

.recruit-section {
    position: relative;
    padding: 120px 0;
    overflow: hidden; 
    background-color: #f0f8ff;
	max-width: 1800px　!important;
}

.recruit-container {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    position: relative;
    z-index: 3;
    box-shadow: 0 15px 40px rgba(0, 47, 86, 0.15);
    background-color: #fff; 
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.5s ease-out;
}

.recruit-container:hover {
    transform: translateY(-5px); 
}

/* 背景装飾 */
.recruit-decoration {
    position: absolute;
    z-index: 1;
    width: 350px;
    height: 350px;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.4;
}

.left-bg {
    top: -50px;
    left: -100px;
    background: linear-gradient(135deg, #aed9e0, #8ecae6);
}

.right-bg {
    bottom: -80px;
    right: -150px;
    background: linear-gradient(315deg, #0077b6, #003056);
}

/* コンテンツエリア全体 */
.recruit-content-area {
    width: 100%;
    background: linear-gradient(180deg, #d0e7f5 0%, #e9f5ff 100%);
    padding: 80px 60px;
    display: flex;
    align-items: center;
}

/* テキストと画像のレイアウト制御 (PC) */
.recruit-text-block {
    display: grid;
    grid-template-columns: 1fr 1fr; /* PCでは2列 */
    gap: 40px;
    align-items: center;
    width: 100%;
}

.en-title {
    grid-column: 1;
    font-family: 'Georgia', serif;
    font-size: 56px;
    font-weight: 900;
    color: #004c7f;
    margin-bottom: 2px;
}

.ja-title {
    grid-column: 1;
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 0.2em;
    padding-bottom: 5px;
    border-bottom: 3px solid #8ecae6;
    display: inline-block;
    width: fit-content;
    margin-bottom: 30px;
    font-family: "Noto sans JP", sans-serif;
}

.description {
    grid-column: 1;
    font-size: 1.0rem;
    line-height: 1.8;
    color: #444;
    margin-bottom: 40px;
    font-family: "Noto sans JP", sans-serif;
}

/* 画像エリア (PCでは右側に配置) */
.recruit-image-area {
    grid-column: 2;
    grid-row: 1 / 5; /* タイトルから説明文までの高さを連結 */
    height: 100%;
}

.recruit-image-area img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
    filter: brightness(0.9) contrast(1.1);
}

/* MOREボタン */
.recruit-more-button {
    grid-column: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 50px;
    background: linear-gradient(90deg, #0077b6, #004c7f);
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    font-size: 17px;
    letter-spacing: 0.15em;
    transition: all 0.3s ease;
    border-radius: 50px;
    box-shadow: 0 5px 15px rgba(0, 76, 127, 0.4);
    width: 200px;
}

.arrow-icon {
    margin-left: 10px;
    transition: transform 0.3s ease;
}
.span-title{
 /* 1. グラデーションの定義 */
    background-image: linear-gradient(90deg, 
      rgba(30, 141, 241, 1), /* 開始色 */
      rgba(60, 212, 219, 1)  /* 終了色 */
    ); 
    
    /* 2. 背景をテキストの形に切り抜く (必須) */
    -webkit-background-clip: text;
    background-clip: text;
    
    /* 3. テキストの塗りつぶし色を透明にする (必須) */
    -webkit-text-fill-color: transparent;
    color: transparent; /* その他のブラウザ向け */
    
    /* 4. インライン要素でも正しく表示されるようにする */
    display: inline-block; 
    
    /* 注意: heightやwidthは文字のグラデーションには通常不要です */
    /* height: 200px; */ 
    /* width: 90%; */ 
}

.recruit-more-button:hover {
    background: linear-gradient(90deg, #004c7f, #0077b6);
    box-shadow: 0 8px 20px rgba(0, 76, 127, 0.5);
}

.recruit-more-button:hover .arrow-icon {
    transform: translateX(5px);
}

/* ---------------------- モバイル対応 (max-width: 768px) ---------------------- */
@media screen and (max-width: 768px) {
    .recruit-section {
        padding: 50px 0 30px;
    }

    .recruit-content-area {
        padding: 40px 20px;
    }

    /* モバイルでは1列に縦並び */
    .recruit-text-block {
        display: flex;
        flex-direction: column;
        text-align: center;
    }

    .en-title { font-size: 40px; }
    .ja-title { 
        font-size: 20px; 
        margin-bottom: 25px; 
        margin-left: auto; 
        margin-right: auto; 
		        margin-top: -30px;
    }
    .description { font-size: 1rem; margin-bottom: 10px; text-align: left; }

    /* ★画像が「説明文の下・ボタンの上」に来る */
    .recruit-image-area {
        width: calc(100% + 40px);
        margin-left: -20px;
        margin-right: -20px;
        margin-bottom: 30px;
    }

    .recruit-image-area img {
        border-radius: 10px;
        height: auto;
		width: 90%;
        margin: 0 auto;
    }

    .recruit-more-button {
        width: 70%;
        max-width: 300px;
        margin: 0 auto;
    }

    .recruit-decoration { display: none; }

    /* H2/H3 スタイル維持 */
    .h2-title {
        font-size: 2rem;
        color: #0b3d60;
        text-align: center;
        margin: 30px 0 60px;
        font-family: 'Times New Roman', 'Yu Mincho', serif;
    }
    .h3-title {
        font-size: 1.3rem;
        margin: 5px 0 15px;
    }
}

@media screen and (min-width: 768px) 
{
   .br-sp { display: none; }
   }

  
   /*-------------------------------------- ピックアップブロック --------------------------------------*/
.treatment-wrapper {
      max-width: 1300px;
      margin: 0 auto;
      background: #f3f9ff;
      padding: 60px 40px;
      position: relative;
	    margin-top: 70px;
    }
    .treatment-bg-label p{
      font-size: 64px;
      color: rgba(0,0,0,0.1);
      letter-spacing: 0.15em;
      position: absolute;
      top: 0;
      left: 40px;
      z-index: 2;
    }
    .treatment-layout {
      display: flex;
      flex-wrap: wrap;
      gap: 40px;
      position: relative;
      z-index: 1;
    }
    .treatment-left, .treatment-right {
      flex: 1 1 100%;
    }
      .treatment-left {
        flex: 2;
      }
      .treatment-right {
        flex: 3;
        position: relative;
      padding-right: 8%;
      }
    .treatment-left img {
      width: 75%;
          transform: skew(-8deg);
    }
    /* ボタン */
    .viewmore {
      text-align: center;
    }
    .treatment-btn {
        display: inline-block;
        background: linear-gradient(135deg, #0072BC 0%, #3ba6d1 50%, #78CDD1 100%);
        color: white;
        text-align: center;
        padding: 12px 32px;
        font-style: italic;
        font-weight: bold;
        margin-top: 20px;
        text-decoration: none;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
        transition: all 0.3s ease;
        font-family: serif,"Noto sans jp";
    }

    .treatment-btn:hover {
        color: white;
        background: linear-gradient(135deg, #003849 0%, #2c9ec8 50%, #a8e0f0 100%);
        transform: translateY(-2px);
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
    }

        .treatment-btn1{
        display: inline-block;
        background: linear-gradient(135deg,#ffcc9c 0%, #f7a659 50%, #e88d3e 100%);
        color: white;
        text-align: center;
        padding: 12px 32px;
        font-style: italic;
        font-weight: bold;
        margin-top: 20px;
        text-decoration: none;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
        transition: all 0.3s ease;
        font-family: serif,"Noto sans jp";
    }

    .treatment-btn1:hover {
        color: white;
        background: linear-gradient(135deg, #003849 0%, #2c9ec8 50%, #a8e0f0 100%);
        transform: translateY(-2px);
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
    }

    .treatment-ribbon {
    position: absolute;
    top: -40px;
    right: -40px;
    width: 200px;
    height: 200px;
    background: linear-gradient(135deg, #0072BC 0%, #3ba6d1 50%, #78CDD1 100%);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    transform: rotate(45deg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 1px;
    }
    .treatment-ribbon span {
      transform: rotate(-45deg);
      color: white;
      font-size: 16px;
      text-align: center;
      line-height: 1.6;
      font-family:serif,"Noto sans JP";
    }
    .treatment-vertical-label {
      position: absolute;
      top: 210px;
      right: 0;
      writing-mode: vertical-rl;
      font-size: 32px;
      color: #004e66;
      line-height: 1.4;
      font-weight: bold;
      font-family:serif,"Noto sans JP";
    }
    .treatment-vertical-label span {
      font-size: 30px;
    }
    .treatment-headline {
      font-size: 24px;
      line-height: 1.8;
      margin-top: 10%;
      margin-bottom: 40px;
      font-family:serif,"Noto sans JP";
    }
    .treatment-box {
      display: flex;
      align-items: flex-start;
      position: relative;
      background: #f7f7f7;
      padding: 20px;
      margin-bottom: 20px;
    }
    .treatment-box img {
      position: absolute;
      top:  65px;
      left: 15px;
      width: 130px;
      height: auto;
      margin-right: 20px;
    }
    .treatment-box strong {
      font-size: 1.2rem;
      display: block;
      margin-bottom: 8px;
    }
    .treatment-box p {
      margin: 0;
      line-height: 1.6;
      font-family:"Noto sans JP",sans-serif !;
    }
    .treatment-txt {
      padding: 0 0 0 25%;
    }
    em.under {
      background: linear-gradient(
    to bottom,
    transparent 0,
    transparent 70%,
    rgba(59, 166, 209, 0.3) 70%,
    rgba(59, 166, 209, 0.3) 100%
  );
   font-family:serif,"Noto sans JP";
    }
    /* 逆配置用 */
.treatment-layout.reverse {
  flex-direction: row-reverse;
}

/* ------------------2つ目（逆向き）だけ左側にする */
.treatment-layout.reverse .treatment-ribbon {
  left: -40px;
  right: auto;
}

.treatment-layout.reverse .treatment-vertical-label {
  left: 0;
  right: auto;
  text-align: left;
}
/* 2つ目（.dark）だけ色変える */
.treatment-wrapper.dark {
  background: #f1ede6;
}

.treatment-wrapper.dark .treatment-ribbon {
background: linear-gradient(135deg, #7BBFEA 0%, #21A0DB 50%, #000080 100%);
box-shadow: 0 4px 10px rgba(180, 140, 100, 0.3);
}
.treatment-wrapper.dark .treatment-ribbon span {
      color:white;
}

.treatment-wrapper.dark .treatment-btn {
  background: linear-gradient(135deg, #7BBFEA 0%, #21A0DB 50%, #000080 100%);
  color:white;
}

.treatment-wrapper.dark .treatment-btn:hover {
  background: linear-gradient(135deg, #c4a77d 0%, #dec4a1 50%, #f5e8d0 100%);
  color: #69492a;
}
.treatment-wrapper.dark .treatment-bg-label p{
  right: 0;
  left: auto;
}
.treatment-wrapper.dark .treatment-vertical-label {
  color: #2c3e50;
}
.treatment-wrapper.dark .treatment-headline {
  padding-left: 80px;
}
.treatment-wrapper.dark .reverse .treatment-right {
    padding-left: 10%;
    padding-right: 0;
}
.treatment-wrapper.dark .reverse .treatment-right .treatment-vertical-label {
    color: #977c4c;
    text-align: center;
}
.treatment-wrapper.dark .treatment-headline em.under {
      background: linear-gradient(
  to bottom,
  transparent 0,
  transparent 70%,
  rgba(196, 167, 125, 0.3) 70%,
  rgba(196, 167, 125, 0.3) 100%
);
    }

/* ----------------------------------------------------
スマホ用（〜767px）
---------------------------------------------------- */
@media (max-width: 768px) {
  .treatment-wrapper {
   padding: 60px 15px; 
  }
  .treatment-layout {
  flex-direction: column;
  gap: 20px;
}
.treatment-left, .treatment-right {
  flex: 1 1 100%;
  padding-right: 0;
}
.treatment-headline {
  font-size: 20px;
  margin-bottom: 24px;
  line-height: 1.5;
  text-align: center;
}
.treatment-box {
  padding: 10px 5px;
	flex-direction: column;
	margin: auto;
}

.treatment-box img {
  position: relative;
  top: 0;
  left: 0;
  margin-right: 5px;
  flex:1;
	margin:auto;
	width:80%;
}
.treatment-txt {
  padding: 0;
  flex: 3;
}
.treatment-bg-label p{
  font-size: 2rem;
  width: 100%;
  top:0;
  left: 6%;
}
.treatment-ribbon span {
  font-size: 0.9rem;
}
.treatment-vertical-label {
  position: static;
  writing-mode: initial;
  font-size: 1.5rem;
  font-weight: normal;
  text-align: center;
}
.treatment-vertical-label span {
    font-size: 1.7rem;
}
.viewmore {
  text-align: center;
}
.treatment-ribbon {
  width: 140px;
  height: 140px;
  top: -152px;
  right: 20px;
  font-size: 12px;
}
.treatment-btn {
  width: 100%;
  padding: 14px 0;
  font-size: 16px;
}
.treatment-box strong {
  font-size: 0.8rem;
}
.treatment-box p {
    font-size:1rem;
}
.treatment-layout.reverse {
  flex-direction: column;
}

    .treatment-left img {
      width: 75%;
          transform: skew(-5deg);
          margin-left: 15px;
    }
/* ------------------2つ目（逆向き）だけ左側にする */
.treatment-wrapper.dark .reverse .treatment-right {
  padding: 0;
}
.treatment-wrapper.dark .treatment-headline {
    padding-left: 0;
}
.treatment-wrapper.dark .treatment-ribbon {
    left: 15px;
    top: -180px;
}
}

/* ----------------------------------------------------
  タブレット版 微調整 (769px 〜 1100px)
  元のデザインを崩さず、被りだけを解消します
---------------------------------------------------- */
/* ----------------------------------------------------
  タブレット版 (769px 〜 1100px)
  全体のパーツを10〜20%縮小し、重なりを整理
---------------------------------------------------- */
/* ----------------------------------------------------
  タブレット版 (769px 〜 1100px)
  空いたスペースへ要素を分散させ、被りを完全に解消
---------------------------------------------------- */
/* ----------------------------------------------------
  タブレット版 (769px 〜 1100px)
  空きスペースを使い切り、要素を「バラバラ」に配置
---------------------------------------------------- */
@media screen and (min-width: 769px) and (max-width: 1100px) {

  /* 1. 全体：左右の余白を少し削って、使える横幅を最大化 */
  .treatment-wrapper {
    padding: 40px 15px;
  }
	.treatment-box img {
    position: absolute;
    top: 2px;
    left: -30px;
    width: 170px;
    height: auto;
    margin-right: 20px;
	margin-left: 60px;
	}
	

  /* 2. 画像を左端、枠を中央、テキストを右端へ「離して」配置 */
  .treatment-wrapper .treatment-left {
    flex: 0 0 25%;
  }
  .treatment-wrapper .treatment-left img {
    width: 90%; 
    margin-left: 0; /* 完全に左端へ */
  }

  .treatment-wrapper .treatment-right {
    flex: 0 0 75%;
    margin-left: -130px; /* 画像のすぐ右に枠を移動 */
    padding-right: 130px; /* 右側に「思いっきり」専用の広大な余白を強制確保 */
  }

  /* 3. 縦書き「思いっきり」：右側の空いたスペースの真ん中に置く */
  .treatment-wrapper .treatment-vertical-label {
    right: 25px; /* 右端から25px内側。絶対に見切れません */
    top: 150px;
    font-size: 28px;
	  
  }

  /* 4. ひし形リボン：枠の右端の外へ逃がす（文字被りを物理的に解消） */
  .treatment-wrapper .treatment-ribbon {
    width: 135px;
    height: 135px;
    right: -25px; /* 枠の完全に外側へ */
    top: -45px;
  }

  /* 5. フォントサイズと枠内調整 */
  .treatment-wrapper .treatment-headline {
    font-size: 19px;
    padding-right: 0; /* リボンが外へ逃げたので、右まで文字が書けます */
	  margin-left: 100px;
  }

  .treatment-wrapper .treatment-box {
    padding-left: 100px;
    margin-top: 20px;
  }

  /* ----------------------------------------------------
    インプラント（逆向き）も同様に全幅を使って分散配置
  ---------------------------------------------------- */
  .treatment-wrapper.dark .treatment-layout.reverse .treatment-left {
    flex: 0 0 25%;
  }
  .treatment-wrapper.dark .treatment-layout.reverse .treatment-left img {
    margin-left: auto;
    margin-right: 0; /* 完全に右端へ */
  }

  .treatment-wrapper.dark .treatment-layout.reverse .treatment-right {
    margin-left: 0;
    margin-right: -130px; /* 枠を右端の画像へ寄せる */
    padding-left: 130px; /* 左側に「喜びを」専用の広大な余白を確保 */
    padding-right: 0;
  }

  .treatment-wrapper.dark .treatment-layout.reverse .treatment-vertical-label {
    left: 25px; /* 左端から25px内側 */
    right: auto;
  }

  .treatment-wrapper.dark .treatment-layout.reverse .treatment-ribbon {
    left: -25px; /* 枠の完全に外側へ */
    right: auto;
  }
}
/* ----------------------治療方針ブロック---------------------- */
/* ----------------------治療方針ブロック（修正後の最終CSS v10.0 - 決定版）---------------------- */

/* 基本設定は変更なし */
.feature-section {
  padding: 60px 20px;
  font-family: 'Noto Serif JP', serif;
  background-color: #fff;
  background: url(http://nakaya-shika.jp/wp-content/uploads/2025/12/reasonbackground2.png) no-repeat top center / 100%;
  padding-top: max(5.714vw, 74px);
  box-sizing: border-box;
  width: 100%;
  aspect-ratio: 1400 / 1927;
	background-size:cover;
	margin-top: 60px;
}

/* .head_wrap p.feature-label{
  font-size: 24px;
  letter-spacing: 1px;
  color: #2b8dbf;
  margin-bottom: 5px;
  text-align: center;
	font-family:serif !important;
} */

/* Feature Gridのレイアウト設定 */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 1:1の均等な幅を保証 */
  gap: 30px; /* 列の隙間 */ 
  
  margin: 0 auto;
  padding: max(3.214vw, 41px) 0;
  max-width: 1200px;
}

/* 2. カードの幅を均等に保ちつつ、開始位置をずらす */
.feature-item:nth-child(odd) {
  margin-bottom: 80px; /* 縦の距離を確保 */
}

.feature-item:nth-child(even) {
  margin-top: 120px; /* 始まりの位置を下にずらす */
  margin-bottom: 40px; /* 縦の距離を確保 */
}


/* 各Feature Itemのデザイン */
.feature-item {
  position: relative;
  background: #fefefe;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15); 
  padding: 0; 
  border-radius: 12px; 
  transition: transform 0.3s ease;
  display: flex; 
  flex-direction: column;
}

.feature-item:hover {
  transform: translateY(-5px); 
}

/* 画像のスタイル調整 */
.feature-img {
  width: 100%; 
  height: auto;
  display: block;
  border-radius: 12px 12px 0 0; 
  object-fit: cover; 
}

/* Feature番号の基本装飾 */
.feature-item::before {
  content: attr(data-number);
  position: absolute;
  top: -40px; 
  left: 50%; 
  transform: translateX(-50%); 
  
  color: #fff;
  font-size: 36px; 
  font-weight: bold;
  width: 80px;
  height: 80px;
  line-height: 80px;
  text-align: center;
  border-radius: 50%; 
  
  /* 外側の影をクリーンに調整 */
  border: 5px solid #fff; 
  box-shadow: 0 4px 12px rgba(0,0,0,0.2), 0 0 0 5px rgba(255, 255, 255, 0.5); 
  
  z-index: 100; 
  pointer-events: none;
}

/* 1. Feature番号の色の動的な適用: H3の色と同期させる */
.feature-item:nth-child(odd)::before {
  /* 奇数番目: オレンジ系グラデーション */
  background: linear-gradient(90deg,#ffcc9c 0%, #f7a659 50%, #e88d3e 100%);
}
.feature-item:nth-child(even)::before {
  /* 偶数番目: 青系グラデーション */
  background: linear-gradient(90deg,#9ddeff 0%, #2b8dbf 50%, #1f78a8 100%);
}

.feature-text {
  padding: 0; 
  position: relative;
}

/* H3の背景（グラデーション、長方形、全幅）設定 */
.h3-title{
  font-size: 1.5rem;
  padding: 15px 20px; 
  margin: 0; 
  color: #fff; 
  position: relative;
  font-weight: 600;
  text-align: center;
  display: block; 
  width: 100%;
  border-radius: 0; 
  line-height: 1.4; 
  box-sizing: border-box; 
  z-index: 5;
}

/* H3グラデーション設定 (奇数番目と偶数番目で色を分ける) */
.feature-item:nth-child(odd) .h3-title {
  background: linear-gradient(90deg,#ffcc9c 0%, #f7a659 50%, #e88d3e 100%);
}
.feature-item:nth-child(even) .h3-title {
  background: linear-gradient(90deg,#9ddeff 0%, #2b8dbf 50%, #1f78a8 100%);
}

/* H3の下のテキスト部分の調整 */
.feature-text p {
  padding: 20px; 
  font-size: 1rem;
  color: #555;
  line-height: 1.7; 
  font-family: "Noto sans JP",sans-serif;
  z-index: 2; 
  position: relative;
}

/* viewmoreボタンの調整 (リンクの装飾) */
.viewmore {
  text-align: center;
  margin-top: 0; 
  padding-bottom: 20px; 
  z-index: 2;
  position: relative;
}
.treatment-btn {
  display: inline-block;
  /* padding: 10px 25px; */
  background-color: #2b8dbf;
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  font-weight: bold;
  transition: background-color 0.3s;
}
.treatment-btn:hover {
  background-color: #3b89d1;
}


/* モバイル対応 */
@media screen and (max-width: 768px) {
  .feature-grid {
    grid-template-columns: 1fr; 
    padding: 0;
    gap: 30px; 
    grid-row-gap: 50px; 
  }
  
  /* スマホ表示では、カードのずれをなくす */
  .feature-item:nth-child(even) {
    margin-top: 0; 
    margin-bottom: 0;
  }
  .feature-item:nth-child(odd) {
    margin-bottom: 0;
  }

  /* モバイルでの番号装飾の調整 */
  .feature-item::before {
    top: -30px; 
    width: 60px;
    height: 60px;
    line-height: 60px;
    font-size: 28px;
    border-width: 3px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
  }

  /* H3タイトルの調整 */
  .h3-title {
    font-size: 1.2rem; 
    padding: 12px 15px;
  }

  /* テキスト部分の調整 */
  .feature-text p {
    padding: 15px; 
  }

  .feature-section {
    padding: 60px 20px;
    font-family: 'Noto Serif JP', serif;
    background-color: #fff;
    background: url(http://nakaya-shika.jp/wp-content/uploads/2025/12/reasonbackground2.png) no-repeat top center / 100%;
    padding-top: max(5.714vw, 74px);
    box-sizing: border-box;
    width: 100%;
    aspect-ratio: 1400 / 1927;
    background-size: cover;
	  margin-top:-95px;
}
}
