/*
Theme Name: いわお歯科クリニック
Theme URI: https://www.iwao-dental.com
Template: arkhe
Author: いわお歯科クリニック
Author URI: https://www.iwao-dental.com
Description: 
Tags: 
Version:1.00.0.1758121112
Updated: 2025-09-17

*/

h1,
h2,
h3,
h4,
h5,
li,
p {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

h1,
h2,
h3,
h4,
h5 {
  font-weight: 600 !important;
  font-family: Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo;
}

li,
p {
  font-weight: 500;
  font-family: Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo;
}

figure img {
  border-radius: 10px;
}

.c-container h3 {
  margin-bottom: 20px;
}

.wp-block-group h4 {
  margin-bottom: 20px !important;
}

@media (max-width: 480px) {
  .wp-block-snow-monkey-blocks-section-with-bgimage .c-container {
    padding-right: 15px;
    padding-left: 15px;
  }

}

/* ---------- 見出し ---------- */
body:not(.page.home) .wp-block-snow-monkey-blocks-section h2.smb-section__title {
  padding: 1rem 0.5rem 1rem 1.2rem;
  color: #fff;
  border-radius: 1vh;
  background-image: -webkit-gradient(linear, right top, left top, from(#9be15d), to(#00e3ae));
  background-image: -webkit-linear-gradient(right, #9be15d 0%, #879794 100%);
  background-image: linear-gradient(to left, #9be15d 0%, #00e3ae 100%);
}

body:not(.page.home) #main_content .wp-block-snow-monkey-blocks-section h2 {
  padding: 1rem 0.5rem 1rem 1.2rem;
  color: #fff;
  border-radius: 1vh;
  background-image: -webkit-gradient(linear, right top, left top, from(#9be15d), to(#00e3ae));
  background-image: -webkit-linear-gradient(right, #9be15d 0%, #00e3ae 100%);
  background-image: linear-gradient(to left, #9be15d 0%, #00e3ae 100%);
}

body:not(.page.home) #main_content h3 {
  display: flex;
  align-items: center;
  padding: .5em .7em;
  background-color: #fdf5e6;
  color: #333;
  border-radius: 10px;
  font-size: 1.3rem !important;
}

body:not(.page.home) #main_content h3::before {
  display: inline-block;
  width: 5px;
  height: 1.5em;
  margin-right: .5em;
  background-color: #ffa500;
  content: '';
}

.clinic_box1 h2.smb-section__title {
  padding: 1rem 0.5rem 1rem 1.2rem;
  color: #fff;
  border-radius: 1vh;
  background-image: -webkit-gradient(linear, right top, left top, from(#9be15d), to(#00e3ae));
  background-image: -webkit-linear-gradient(right, #9be15d 0%, #879794 100%);
  background-image: linear-gradient(to left, #9be15d 0%, #00e3ae 100%);
}

.smb-step__item__title>span {
  font-size: 1.5rem;
}

.smb-step__item__number::before {
  font-size: 1.4rem;
}

.smb-step__body>*+* {
  margin-top: 30px;
}

h4.h4_title_11{
  color: #fff;
  text-align: center;
  background-color: #60A3E4;
  padding: 5px;
  border-radius: 50px;
  margin-bottom: 20px;
}

.smb-section__lede-wrapper {
  padding: 5px;
  border: 1px solid #FFDE9F;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  text-align: initial;
}

@media (max-width: 767px) {
  body:not(.page.home) .wp-block-snow-monkey-blocks-section h2.smb-section__title {
    padding: 1rem 1.2rem;
    border-radius: 15px !important;
    font-size: 1.6rem !important;
  }

  body:not(.page.home) #main_content .wp-block-snow-monkey-blocks-section h2 {
    padding: 1rem 1.2rem;
    border-radius: 15px !important;
    font-size: 1.6rem !important;
  }

  .clinic_box1 h2.smb-section__title {
    padding: 1rem 1.2rem;
    border-radius: 15px !important;
    font-size: 1.5rem !important;
  }

  .smb-step__item {
    margin-left: 60px;
  }

  .smb-section__title {
    text-align: center !important;
  }

  .smb-step__item__title>span {
    font-size: 1.2rem;
  }
}

/* ---------- ページヘッダー ---------- */
.c-pageTitle__main {
  color: #333;
}

@media (min-width: 768px) {
  .c-pageTitle__main {
    text-align: justify;
  }
}

@media (max-width: 767px) {
  div#n2-ss-2 .n2-ss-slide-limiter {
    min-height: 200px;
  }
}

/* ---------- スライダー ---------- */
#n2-ss-2item1,
#n2-ss-2item3 {
  background-color: #ffffffab;
  padding: 10px;
  width: 60%;
  margin: auto;
}

#n2-ss-2item2,
#n2-ss-2item4 {
  background-color: #ffffffab;
  padding: 10px;
  width: 60%;
  margin: auto;
}

/* ---------- スマホ メインメニュー ---------- */
[data-btns="r-l"] .l-header__body {
  grid-template-columns: var(--ark-searchW) calc(15% - var(--ark-searchW)) 70% calc(15% - var(--ark-drawerW)) var(--ark-drawerW);
}

.p-drawer {
  background: #0c4da2e6;
}

.c-drawerNav {
  border: 0px !important;
}

.c-drawerNav .menu-item {
  border-bottom: 1px dotted #0b2e5c;
}


/* ---------- メインメニュー ---------- */

/* 2段表示を維持しつつ、メニューを等幅表示 */
@media (min-width: 1000px) {

  /* ヘッダー全体を2段表示にする */
  .l-header__body {
    display: flex;
    flex-direction: column;
    /* 縦方向にレイアウトを維持 */
    align-items: center;
  }

  /* 1段目のロゴ部分 */
  .l-header__center {
    max-width: 1200px;
    /* 固定幅1200px */
    width: 100%;
    text-align: left;
    /* 左揃え */
    margin: 0 auto;
    /* 中央揃え */
  }

  /* 2段目のメニュー部分 */
  .l-header__right {
    max-width: 1200px;
    /* 固定幅1200px */
    width: 100%;
    text-align: right;
    /* 右揃えの要素を保持 */
    margin: 0 auto;
    /* 中央揃え */
  }

  /* ナビゲーションのラップ（中央揃え、固定幅1200px） */
  .c-gnavWrap {
    width: 1200px;
    /* 固定幅1200px */
    margin: 0 auto;
    /* 中央揃え */
  }

  /* ナビゲーションメニューの等幅表示 */
  .c-gnav {
    display: flex;
    justify-content: space-between;
    /* 各メニューを等間隔に配置 */
    padding: 0;
    margin: 0;
    list-style: none;
    /* リストのデフォルトスタイルを削除 */
    width: 100%;
    /* ナビゲーション全体を100%幅に */
  }

  /* 各メニューアイテムの等幅設定 */
  .c-gnav__li {
    flex: 1;
    /* メニュー項目を等幅に表示 */
    text-align: center;
    /* テキストを中央に配置 */
  }

  /* メニューリンクのスタイル */
  .c-gnav__a {
    display: block;
    padding: 10px 0;
    /* クリックしやすいパディング */
  }

  /* l-header__center の中で logo と header_info を横並びに */
  .l-header__center {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    /* 横幅全体を使用 */
  }

  .header_info {
    width: 515px;
    /* header_info の幅を 700px に設定 */
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-left: 20px;
    /* ロゴとのスペースを確保 */
  }

  .tel_info {
    display: flex;
    flex-direction: column;
    margin-right: 15px;
    /* TEL番号と営業時間を縦並びに */
  }

  .tel_number {
    font-size: 2.05rem;
    /* TEL番号を適度に大きく */
    background-color: transparent;
    /* 背景は無色 */
    font-weight: 600 !important;
    color: #00008b;
    line-height: 120%;

  }

  .tel_number .svg-inline--fa {
    margin-right: 5px;
  }

  .business_hours {
    font-size: 0.7rem;
    /* 営業時間を小さく表示 */
  }

  /*.contact_button {
        background-color: #ea5550;
        color: #fff;
        padding: 10px 20px;
        text-decoration: none;
        border-radius: 5px;
        font-size: 1.2rem;
        display: inline-block;
        font-weight: 500 !important;
    }
    .contact_button:hover {
        background-color: #e96560;
    }*/

  a.contact_button {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: auto;
    max-width: 280px;
    padding: 10px 35px;
    font-family: "Noto Sans Japanese";
    text-decoration: none;
    color: #00008b;
    line-height: 1.8;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    border: 1px solid #00008b;
    font-weight: 700;
    background-color: #ffffffa6;
  }

  a.contact_button:after {
    content: "";
    position: absolute;
    top: 50%;
    bottom: 0;
    right: 1.4rem;
    font-size: 90%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: right 0.3s;
    width: 6px;
    height: 6px;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transform: translateY(-50%) rotate(45deg);
  }

  a.contact_button:hover {
    background: #ffa500;
    color: #FFF;
    border: 1px solid #ff8c00;
  }

  a.contact_button:hover:after {
    right: 1.1rem;
  }

  /*svg:not(:host).svg-inline--fa,
    svg:not(:root).svg-inline--fa {
        margin-right: 5px;
    }*/

  ul.c-gnav {
    padding-bottom: 8px;
  }

  ul.c-gnav li {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  /*
    ul.c-gnav li:last-child {
        border-right: 1px solid #ddd;
    }*/

  .c-gnav__li>a.c-gnav__a:first-child {
    border-left: 1px solid #01439A;
  }

  .c-gnav__li>.c-gnav__a {
    padding: 0px 12px !important;
  }

  .menu_last a {
    border-right: 1px solid #01439A;
  }
}

@media (min-width: 1000px) {
  ul.c-gnav li {
    /*    font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;*/
    font-size: 1rem !important;
    font-weight: 500;
  }

  /*ul.c-gnav li {
        position: relative;
    }

    ul.c-gnav li::before {
        content: '';
        position: absolute;
        top: 7px;
        left: 20px;
        width: 1px;
        height: 70%;
        background-color: #1E7200;
        transform: rotate(45deg);
        transform-origin: top left;
        pointer-events: none;
    }

    ul.c-gnav li:last-child::after {
        content: '';
        position: absolute;
        top: 7px;
        right: 0;
        width: 1px;
        height: 70%;
        background-color: transparent;
        border-right: 1px solid #1E7200;
        transform: rotate(45deg);
        transform-origin: top right;
    }
    .c-gnav .__mainText {
        font-size: inherit;
        font-size: 1rem;
        font-weight: 700;
    }*/
}


@media (max-width: 999px) {
  .header_info {
    display: none;
  }
}

@media (min-width: 768px) {
  .chukai_menu .__mainText {
    font-size: 0.8rem !important;
    margin-top: -3px;
  }

  .chukai_menu .__subText {
    font-size: 0.5rem;
  }
}

/* ---------- スマホTEL ---------- */
@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: #000;
  }
}

.mainimg_box1 strong {
  font-size: 120%;
  color: #FAEE00;
}

.mainimg_box2 strong {
  color: #FAEE00;
}

/* ---------- トップ ---------- */
.hysd_sec1 .smb-section__background {
  border-radius: 50px !important;
}

.hysd_sec1 .wp-block-media-text__media img {
  border: 5px solid #fff;
  border-radius: 20px;
}

.hysd_sec1 h3 {
  font-size: 1.8rem !important;
}

.dental_sec1 h3 {
  position: relative;
  padding: .5em .7em .2em .0em;
  border-bottom: 1px solid #3cb371;
  color: #333333;
  font-size: 1.2rem !important;
  margin-bottom: 18px;
}

.dental_sec1 h3::before,
.dental_sec1 h3::after {
  position: absolute;
  left: 30px;
  bottom: -15px;
  width: 30px;
  height: 15px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
}

.dental_sec1 h3::before {
  background-color: #3cb371;
}

.dental_sec1 h3::after {
  bottom: -14px;
  background-color: #fff;
}

.dental_sec1 .wp-block-columns p {
  margin-top: 0px !important;
  font-size: 0.9rem !important;
}

:is(.wp-block-details, .wp-block-quote, .wp-block-column, .wp-block-media-text__content, .wp-block-cover__inner-container, .wp-block-group__inner-container:where(:not(.is-layout-grid)))> :not(:first-child) {
  margin-top: 5px !important;
}

.iwao_p12 {
  background-color: #F9FFF9;
  padding: 15px;
  border-radius: 15px;
}

.whitening_sec1 .wp-block-columns {
  --wp-column-gap: 1rem !important;
}

@media (min-width: 768px) {


  p.iwao_p11 {
    font-size: 2rem;
  }
}

@media (max-width: 767px) {
  p.iwao_p11 {
    font-size: 1.4rem;
  }
}

/* ---------- ボタン ---------- */
a.btn_b1 {
  display: block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width: 240px;
  margin: auto;
  padding: 1rem 2rem;
  font-weight: bold;
  background-image: linear-gradient(to right, #27acd9 0%, #b4e12b 100%);
  border-radius: 100vh;
  color: #fff;
  border: 2px solid #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
  transition: 0.5s;
}

a.btn_b1:hover {
  color: #fff;
  background-image: linear-gradient(to left, #27acd9 0%, #b4e12b 100%);
}

/* ---------- コンテンツ ---------- */
.smb-section__lede {
  font-size: 1rem !important;
}

.iwao_p1 {
  font-size: 2.4rem;
  text-align: center;
  line-height: 150%;
}

.p_box1 {
  margin-top: 10px;
  color: #333;
  text-shadow: 0 0 5px white;
  padding: 0.8em 0.5em 0.8em 1.5em;
  background: -webkit-repeating-linear-gradient(-45deg, #ffefd5, #ffefd5 3px, #fffaf0 3px, #fffaf0 7px);
  background: repeating-linear-gradient(-45deg, #ffefd5, #ffefd5 3px, #fffaf0 3px, #fffaf0 7px);
  border-radius: 10px;

}

.fnt_p1 {
  font-size: 1.1rem;
  background-color: #fffdf0;
}

.case_p1 {
  position: relative;
  padding: .5em .7em .4em;
  border-bottom: 2px solid #F7E18E;
  color: #333333;
}

.case_p1::before,
.case_p1::after {
  position: absolute;
  left: 30px;
  bottom: -15px;
  width: 30px;
  height: 15px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
}

.case_p1::before {
  background-color: #F7E18E;
}

.case_p1::after {
  bottom: -11px;
  background-color: #fff;
}


@media (min-width: 768px) {
  .fnt_p1 {
    padding: 30px 20px;
  }
}

@media (max-width: 680px) {
  .fnt_p1 {
    font-size: 1.1rem !important;
    padding: 15px;
  }

  .iwao_p1 {
    font-size: 2rem;
  }

  .wp-image-1021,
  .wp-image-1022 {
    width: 80%;
    margin: auto;
  }

  .wp-block-snow-monkey-blocks-container.c-container {
    padding-right: 5px;
    padding-left: 5px;
  }

  .wp-block-snow-monkey-blocks-container .smb-box {
    padding: 10px;
  }

  .wp-block-heading.h2_item1 img {
    display: block;
    margin: auto;
  }

  .wp-block-heading.h2_item1 {
    text-align: center;
  }

  h4.h4_item1 em {
    font-size: 1rem;
    font-style: normal;
  }

  .smb-section__lede {
    text-align: left;
  }

  .smb-section__inner .c-container {
    padding-right: 10px;
    padding-left: 10px;
  }
}

/* ---------- 治療の流れ ---------- */

.flow_box1 h4 {
  position: relative;
  padding: 0.5em 0.7em;
  background: #e0edff;
  margin-bottom: 20px;
}

.flow_box1 h4:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 30px;
  border: 15px solid transparent;
  border-top: 15px solid #e0edff;
  width: 0;
  height: 0;
}

/**/
.footerbox_2 ul,
.footerbox_3 ul {
  display: flex;
  flex-wrap: wrap;
}

.footerbox_2 ul li,
.footerbox_3 ul li {
  width: 50%;
}

/* ---------- インプラント ---------- */
.implant_box1 h5 {
  background-color: #f1f1f1;
  padding: 5px;
  text-align: center;
  border: 1px solid #999;
  border-radius: 40px;
  margin-bottom: 10px;
}

.implant_box1 figure {
  margin: 10px 0;
}

.implant_box2 h5 {
  background-color: #ffd7bd;
  padding: 5px;
  text-align: center;
  border: 1px solid #FFA76C;
  border-radius: 40px;
  margin-bottom: 10px;
}

.implant_box2 figure {
  margin: 10px 0;
}

/* ---------- ホワイトニング ---------- */
.whitening_box1 .smb-information__item__label {
  display: block !important;
}

/* ---------- ホワイトニング ---------- */
@media (min-width: 768px) {
  .general_img_box1 .wp-block-image {
    width: 136px;
    margin: auto;
  }
}

/* ---------- 診療時間テーブル ---------- */
/* 診療時間表 */
.clinic-hours table {
  width: 100%;
  border-collapse: collapse;
  background: #fff9c9;
  /* 全体の薄い黄色背景 */
  font-size: 15px;
  text-align: center;
  border: 1px solid #d8d2a0;
}

/* 見出しセル（月〜日） */
.clinic-hours th {
  background: #f3eab6;
  border: 1px solid #d8d2a0;
  font-weight: bold !important;
  padding: 6px 10px !important;
  color: #333;
}

/* 時間セル（左列） */
.clinic-hours td:first-child {
  text-align: left;
  padding-left: 10px;
  background: #fff9c9;
  border: 1px solid #d8d2a0;
  white-space: nowrap;
}

/* 通常セル */
.clinic-hours td {
  border: 1px solid #d8d2a0;
  padding: 6px 8px;
}

/* 土曜セル */
.clinic-hours th:nth-child(7),
.clinic-hours td:nth-child(7) {
  background: #e9f3ff;
  /* 淡い水色 */
  color: #1d6bd1;
  font-weight: bold;
}

/* 日曜セル */
.clinic-hours th:nth-child(8),
.clinic-hours td:nth-child(8) {
  background: #ffe7e7;
  /* 淡いピンク */
  color: #d22a2a;
  font-weight: bold;
}

/* テーブルタイトル（診療案内）を想定 */
.clinic-hours-title {
  font-weight: bold;
  font-size: 1.1em;
  border-left: 6px solid #333;
  padding-left: 8px;
  margin-bottom: 6px;
}

.wp-block-table thead {
  border-bottom: 0px solid !important;
}

/* スマホ調整 */
@media (max-width: 480px) {
  .clinic-hours table {
    font-size: 14px;
  }
}


/* ---------- ブロック ---------- */
.wp-block-spacer {
  margin: 0px !important;
}

@media (max-width: 480px) {
  .smb-section-break-the-grid__content--p-l {
    padding: 15px !important;
  }

  .smb-section-break-the-grid__content>*+* {
    margin-top: 15px;
  }
}

/* ---------- WordPress ギャラリーを常に3列で固定 ---------- */
/* WordPress ギャラリーを常に3列で固定 */
.wp-block-gallery,
.wp-block-gallery.has-nested-images {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

/* ギャラリー内アイテム */
.wp-block-gallery figure {
  width: 100% !important;
  margin: 0;
}

/* 画像は幅のみ制御（高さは触らない） */
.wp-block-gallery img {
  width: 100%;
  height: auto;
}
/* スマホ表示：2列 */
@media (max-width: 768px) {
  .wp-block-gallery,
  .wp-block-gallery.has-nested-images {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* ---------- NEWSマークがつく記事一覧 ---------- */
/* 記事のリスト全体のスタイル */
.custom-post-list {
  list-style-type: none;
  padding: 0;
  margin: 20px 0;
}

.custom-post-list li {
  margin: .9em 0;
}

/* 各記事のスタイル */
.custom-post-list .post-item {
  display: flex;
  justify-content: flex-start;
  /* 項目を左揃えに */
  align-items: flex-start;
  /* 項目を上揃えに */
  border-bottom: 1px solid #ddd;
  padding: 15px 0;
}

/* 日付のスタイル */
.custom-post-list .post-date {
  font-size: 0.9em;
  color: #666;
  margin-right: 10px;
  min-width: 100px;
  align-self: center;
}

/* コンテンツ部分のスタイル */
.custom-post-list .post-content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* 記事タイトルのリンクスタイル */
.custom-post-list .post-title a {
  font-size: 1em;
  text-decoration: none;
  color: #333;
  transition: color 0.2s;
}

.custom-post-list .post-title a:hover {
  color: #0073aa;
}

/* NEWマークのスタイル */
.custom-post-list .new-label {
  background-color: red;
  color: #fff;
  padding: 2px 6px;
  border-radius: 1px;
  font-size: 0.6em;
  margin-left: 10px;
  align-self: center;
  /* NEWマークを中央揃え */
  vertical-align: 2px;
}

/* 詳細部分のスタイル */
.custom-post-list .post-details {
  font-size: 0.85em;
  color: #999;
  margin-top: 5px;
}

/* ---------- サイド ---------- */

#sidebar {
  background-color: #FDF7F3;
  padding: 30px 20px;
  border-radius: 20px;
}

#sidebar h2 {
  background-color: #fff;
  padding: 10px;
  border-left: 5px solid #FFA76C;
  font-size: 1.2rem !important;
  font-weight: normal;
  box-shadow: 2px 2px 4px #eee;
  border-radius: 10px;
}

.wp-block-search__label {
  background-color: #fff;
  padding: 10px;
  border-left: 5px solid #FFA76C;
  font-size: 1.1rem !important;
  width: 100%;
  display: block;
  margin-bottom: 10px;
  box-shadow: 2px 2px 4px #eee;
  border-radius: 10px;
}

.menu-item {
  border: 0px !important;
}

.menu {
  border-bottom: 0px !important;
  border-top: 0px !important;
}

@media (min-width: 768px) {
  [data-scrolled="false"] #sidebar {
    margin-top: -180px;
    border: 5px solid #fff;
  }
}

@media (max-width: 680px) {
  #sidebar {
    padding: 15px;
  }
}

/* ---------- 関連記事 ---------- */

h2.c-bottomSection__title {
  background-color: #F4F6FB;
  font-size: 1rem;
  padding: 10px 20px;
}

/* ---------- フッター ---------- */
@media (max-width: 680px) {
  .wp-image-54 {
    width: 300px;
  }

  .ft_p_1 {
    text-align: center;
  }
}