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

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
p {
    line-height: 2.2;
}
.l-topTitleArea {
    text-align: center;
}
.l-topTitleArea__body {
    text-shadow: 1px 1px 0 rgba(0, 0, 0, .4);
}
.post_content h2 {
    line-height: 1.6;
}

/* ---------------------------------------
  Top お知らせ
-----------------------------------------*/
@media (min-width: 600px) {
    .p-postList__body {
        display: flex;
    }
}
.-type-simple .p-postList__link {
    padding: 1.2em .25em 1em;
}
.-type-simple .p-postList__meta {
    margin: 5px 30px 4px 0 !important;
}
.post_content div>:last-child {
    margin-bottom: 1px !important;
}
.p-postList__cat {
    padding: 2px 6px;
    font-size: 0.8em;
    font-weight: 600;
}
.icon-folder:before {
    content: none;
}
[data-cat-id="1"] {
    background-color: #E9A29C !important;
    color: #ffffff !important;
}
.-type-simple .p-postList__title {
    font-size: 1.1em;
}
.c-postTimes__posted.icon-posted {
    font-size: 0.8rem;
}
.w80 {
 width: 80%;
 margin: 0 auto;
}

/* ---------------------------------------
  アコーディオン
-----------------------------------------*/
@media (min-width: 960px) {
    .wp-block-cover {
        padding: 4em;
    }
}
.swell-block-accordion.is-style-border .swell-block-accordion__title, .swell-block-accordion.is-style-simple .swell-block-accordion__title {
    background: #fff;
    padding: 1.5em 2em 1em;
    border-radius: 3rem;
}
@media (max-width: 600px) {
    .swell-block-accordion.is-style-border .swell-block-accordion__title, .swell-block-accordion.is-style-simple .swell-block-accordion__title {
        padding: 1.5em 1em 1em;
        border-radius: 1rem;
    }
}
.is-style-border>.swell-block-accordion__item {
    border: none;
}
.swell-block-accordion__label img {
    vertical-align: middle;
    margin-right: .5em;
    margin-top: -.5em;
}
.swell-block-accordion.is-style-border .swell-block-accordion__body, .swell-block-accordion.is-style-simple .swell-block-accordion__body {
    border-top: none;
}
/* ---------------------------------------
  スマホ：３つのお約束
-----------------------------------------*/
.feature-item {
  margin-bottom: 24px;
}
.feature-title {
  display: flex;
  align-items: center;
  gap: 12px;
  background-color: #fff;
  padding: 12px 8px;
  border-radius: 12px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  color: #E9A29C;
}
.feature-icon {
  width: 36px;
  height: auto;
  flex-shrink: 0;
}
.feature-text {
  margin-top: 12px;
  padding: 0 8px;
  font-size: 1rem;
  line-height: 1.8;
  color: #333;
}

/* ---------------------------------------
  footer
-----------------------------------------*/
#footer_info {
    text-align: center;
}
#footer_info p {
    margin-bottom: .3em;
    line-height: 1.6em;
    color: #694132;
}
#footer_info .catch {
    color: #E9A29C;
    font-size: .9em;
    font-weight: 600;
}
#footer_info .logo_foot img {
 width: 280px;
 margin: 0.5em auto 1em;
}
#footer_info .reserve {
 font-size: 1em;
}
#footer_info .reserve span.bold {
 font-size: 1em;
 font-weight: 600;
}
#footer_info .tel {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
    font-weight: 700;
    font-size: 2em;
    margin-bottom: 0.5em;
    line-height: 1;
}
#footer_info .small {
    font-size: 0.8em;
}
/* Google Mapを囲う要素 */
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 55%;
}
 
/* Google Mapのiframe */
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ---------------------------------------
  症例集
-----------------------------------------*/
.case_list .p-postList__meta {
 background: #E9A29C !important;
 margin: 5px 10px 4px 0 !important;
 border-radius: 3em;
}
@media (max-width: 600px) {
    .case_list .p-postList__meta {
        width: 6em;
    }
}
.case_list .p-postList__cat.u-thin {
 font-size: 1.2em !important;
 color: #fff !important;
 font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans", Meiryo, sans-serif !important;
 padding: 4px 2px 2px 8px !important;
 opacity: 1 !important;
 width: 4em;
 text-align: center;
}

/* ---------------------------------------
  院長あいさつ
-----------------------------------------*/
.title_p {
  border-bottom: solid 3px #F2D0CD;
  position: relative;
}

.title_p:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #E9A29C;
  bottom: -3px;
  width: 20%;
}

/* ---------------------------------------
  お問い合わせフォーム
-----------------------------------------*/
/* フォーム全体のスタイリング */
.custom-form {
    max-width: 600px; /* フォーム全体の最大幅を指定し、中央寄せでバランスを整える */
    margin: 0 auto; /* 中央に配置 */
    font-family: 'Arial', sans-serif; /* フォーム全体のフォントを指定 */
    color: #333; /* テキストの色を濃いグレーに設定 */
}

.custom-form label {
    display: inline-block; /* ラベルを独立したブロック要素として扱う */
    margin-top: 25px;
    margin-bottom: 8px; /* ラベル下に余白を追加して間隔を調整 */
    font-weight: bold; /* ラベルの文字を強調 */
    font-size: 16px; /* ラベルの文字サイズを調整 */
}

/* 必須ラベルのスタイリング */
.custom-form .required {
    font-size: 12px; /* 必須ラベルの文字サイズを指定 */
    color: red;
    font-weight: normal;
}

/* 入力フィールド */
.custom-form input[type="text"],
.custom-form input[type="email"],
.custom-form input[type="tel"],
.custom-form textarea {
    width: 100%; /* フィールド幅をフォームに合わせて最大化 */
    padding: 10px; /* 内側の余白を設定して入力しやすくする */
    margin-bottom: 5px; /* 各フィールドの下に余白を設定して間隔を広げる */
    border: 1px solid #E9A29C; /* メインカラーを枠線に適用 */
    border-radius: 5px; /* 入力フィールドを角丸に */
    background: #f8f9fa; /* フィールド背景を薄いグレーに設定 */
    font-size: 14px; /* フィールド内テキストのサイズを指定 */
    transition: border-color 0.3s ease, background-color 0.3s ease; /* フォーカス時のスムーズな変化を設定 */
}

.custom-form input[type="text"]:focus,
.custom-form input[type="email"]:focus,
.custom-form input[type="tel"]:focus,
.custom-form textarea:focus {
    border-color: #E9A29C; /* フォーカス時の枠線色を強調 */
    outline: none; /* ブラウザデフォルトのフォーカス枠を削除 */
    background: #FFF6F5; /* フォーカス時の背景色をメインカラーの薄いバリエーションに変更 */
}

/* 送信ボタンの調整 */
.custom-form input[type="submit"] {
    display: block; /* ブロック要素として中央揃えしやすく設定 */
    width: 80%; /* ボタン幅を適度に制限 */
    margin: 0 auto; /* ボタンを中央寄せ */
    padding: 12px 20px; /* ボタン内側の余白を調整 */
    border: none; /* 枠線を削除してシンプルなデザインに */
    border-radius: 10rem; /* ボタンを丸みのある形状に設定 */
    background: #E9A29C; /* ボタン背景にメインカラーを適用 */
    color: #fff; /* ボタン文字を白に設定 */
    font-size: 16px; /* ボタン文字のサイズを指定 */
    cursor: pointer; /* ボタンにホバーポインタを表示 */
    transition: background-color 0.3s ease; /* ホバー時の背景色変更をスムーズに */
}

.custom-form input[type="submit"]:hover {
    background: #E58078; /* ボタンホバー時にメインカラーの濃いバリエーションを表示 */
}

.attention {
 font-size: 0.9em;
 color: #666;
 margin-bottom: 30px;
}

/* 戻るボタンの調整 */
.custom-form input[type="button"] {
    display: block; /* ブロック要素として中央揃えしやすく設定 */
    width: 80%; /* ボタン幅を適度に制限 */
    margin: 40px auto 0;
    padding: 12px 20px; /* ボタン内側の余白を調整 */
    border-radius: 10rem; /* ボタンを丸みのある形状に設定 */
}
/* Tunstileの調整 */
.wpcf7-turnstile.cf-turnstile {
    text-align: center !important;
    margin-bottom: 1rem !important;
}
/* ---------------------------------------
  SP MENU
-----------------------------------------*/
.c-spnav a {
    padding: .75em 1.25em !important;
}
/* ************************************************
*	追従バナー（フッター）
* ************************************************ */
@media screen and (max-width: 768px) {
     .p-fixBtnWrap {
        bottom: 6em; /* 上に戻るボタンの位置を上に */
    }
    #fixed-bottom-menu {
        display: block;
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        z-index: 99;
        background-color: #fff6f5;
        padding: .3em .3em;
    }
    #fixed-bottom-menu .swell-block-column {
        padding: .5em;
    }
    #fixed-bottom-menu .swell-block-button__link[data-has-icon] {
        padding: 1em 1em;
    }
     #fixed-bottom-menu .is-style-btn_line a {
         background-color: #fff !important;
         border-radius: 5px; !important;
         font-weight: 700;
         }
     #fixed-bottom-menu .is-style-btn_line a:hover,
      #fixed-bottom-menu .is-style-btn_line a:active {
         background-color: #e9a29c !important;
     }
}
@media screen and (min-width: 767px) {
    #fixed-bottom-menu, #fixed-sidebar-menu {
        display: none; /* PCでは非表示にする */
    }
}
#before_footer_widget {
    margin-top: 0;
}
.c-widget+.c-widget {
    margin-top: 0;
}