/*
Theme Name: Hannan Themes
Theme URI: https://example.com
Author: Your Name
Author URI: https://example.com
Description: カスタムテーマ - Bootstrapグリッドシステムのみ使用
Version: 1.7
License: GPL v2 or later
Text Domain: hannan-themes
*/

/* スキップリンク */
.skip-link {
    position: absolute;
    top: -9999px;
    left: -9999px;
    background-color: #fff;
    color: #000;
    padding: 10px;
    text-decoration: none;
    z-index: 999999;
}

.skip-link:focus {
    position: absolute;
    top: 10px;
    left: 10px;
}

/* リセットCSS */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* 基本フォント設定 */
body {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    background-color: #fff;
}

/* 共通見出しスタイル */
.page-title {
    font-size: 2.5rem;
    font-weight: bold;
    color: #483c34;
    margin-bottom: 2rem;
    text-align: center;
}

.section-title {
    font-size: 2rem;
    font-weight: bold;
    color: #483c34;
    position: relative;
    text-align: center;
    margin-bottom: 0;
}

.section-subtitle{
    margin-bottom: 0;
}

.sub-title {
    font-size: 1.5rem;
    font-weight: bold;
    color: #483c34;
    margin-bottom: 1rem;
}

.section-title-centercontainer{
    display: flex;
    justify-content: center;
    margin-bottom: 100px;
}

.section-title-wrapper {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    text-align: center;
    width: 200px;
}

.section-title-wrapper::before {
    content: "";
    background-color: #fff;
    width: 200px;
    height: 200px;
    position: absolute;
    z-index: -1;
    border-radius: 100px;
}

.btn-primary-custom {
    text-decoration: none;
    font-weight: bold;
    display: inline-block;
    transition: background-color 0.3s;
}

/* ヘッダー */
header {
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1004;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.header-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0;
    position: relative;
}

.site-branding {
    z-index: 1001;
}

.site-branding img {
    height: auto;
    width: 250px;
}

/* ハンバーガーメニューボタン */
.hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    margin: 0;
    z-index: 1001;
    position: relative;
    width: 44px;
    height: 44px;
    justify-content: center;
    align-items: center;
}

.hamburger span {
    display: block;
    width: 28px;
    height: 3px;
    background-color: #483c34;
    transition: all 0.3s ease;
    border-radius: 2px;
}

.hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(7px, 7px);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
}

.hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -7px);
}

/* ナビゲーション */
.main-navigation {
    display: flex;
    align-items: center;
}

.gnav {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
    gap: 0px;
}

.gnav li {
    padding: 0 15px;
}

.gnav a {
    text-decoration: none;
    color: #1f1f1f;
    font-weight: bold;
    font-size: 14px;
    transition: color 0.3s;
}

.gnav a:hover {
    color: #609d4a;
}

/* ドロップダウンメニュー */
.gnav .dropdown {
    position: relative;
}

.gnav .dropdown-toggle {
    display: flex;
    align-items: center;
    gap: 5px;
}

.gnav .dropdown-menu {
    display: none;
    position: absolute;
    top: calc(100% - 5px);
    left: 0;
    background: white;
    list-style: none;
    padding: 15px 0 10px 0;
    margin: 0;
    min-width: 220px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    z-index: 1001;
}

.gnav .dropdown-menu li {
    padding: 0;
}

.gnav .dropdown-menu a {
    display: block;
    padding: 10px 20px;
    color: #1f1f1f;
    transition: background-color 0.3s;
}

.gnav .dropdown-menu a:hover {
    background-color: #f5f5f5;
    color: #609d4a;
}

/* ドロップダウンメニューの改善 */

.gnav .dropdown:hover .dropdown-menu {
    display: block;
}

/* ドロップダウンメニューのホバー継続を改善 */
.gnav .dropdown-menu::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    height: 10px;
    background: transparent;
}

/* メニューオープン時のbodyスクロール制御 */
body.menu-open {
    overflow: hidden;
}

/* フロントページ専用スタイル */


/* キービジュアルセクション */
#key-visual {
    height: 100vh;
    position: relative;
    overflow: hidden;
}

.key-visual-slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.key-visual-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 2s ease-in-out;
}

.key-visual-slide.active {
    opacity: 1;
}

.key-visual-slide:nth-child(1) {
    background-image: url('img/mv-04.JPG');
}

.key-visual-slide:nth-child(2) {
    background-image: url('img/mv-05.jpg');
}

.key-visual-slide:nth-child(3) {
    background-image: url('img/mv-02.JPG');
}

.key-visual-slide:nth-child(4) {
    background-image: url('img/mv-03.JPG');
    background-position: center top;
}

#key-visual::after {
    content: "";
    background-image: url('img/wave--2--2.svg');
    background-size: contain;
    background-position: center bottom;
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    aspect-ratio: 1280 / 145;
}

#key-visual .main-copy {
    padding: 40px;
    position: absolute;
    top: 10%;
}

#key-visual .column-wrapper {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
}

#key-visual h1 {
    font-size: 45px;
    font-weight: bold;
    color: #483c34;
    line-height: 1.3;
    letter-spacing: 4px;
    writing-mode: vertical-rl;
    background: #fff;
    padding: 15px 5px;
    margin-left:15px;
}

#key-visual .highlight {
    color: #fcc800;
}

/* About セクション */
#about-section {
    background: #ffefac;
    padding: 80px 0;
    overflow: hidden;
}

#about-section .about-title-wrapper {
    position: relative;
    z-index: 2;
}

#about-section .section-subtitle{
    color: #FCC800;
}

#about-section .about-title-wrapper::before {
    top: -160%;
    left: -4%;
    content: "";
    background-color: #fff;
    width: 250px;
    height: 250px;
    position: absolute;
    z-index: -1;
    border-radius: 130px;
}

#about-section .lead-text {
    font-size: 28.8px;
    font-weight: bold;
    color: #483c34;
    text-decoration: underline;
    margin-bottom: 90px;
    line-height: 1.8;
    z-index: 2;
    position: relative;
}

#about-section .lead-text .highlight{
    font-size: 31px;
}

#about-section .description {
    font-size: 17px;
    line-height: 2;
    color: #483c34;
    margin-bottom: 40px;
}

#about-section .btn-primary-custom {
    background-color: #609d4a;
    color: white;
    padding: 20px 40px;
    border-radius: 6px;
}

#about-section .btn-primary-custom:hover {
    background-color: #4a7d3a;
    color: white;
}

#about-section .about-image img{
    width: 130%;
    border-radius: 40px;
    border: 20px solid #FFFCF2;
}
@media (max-width: 991px) {
    #about-section .about-image img{
        width: 100%;
        margin-top: 30px;
    }
}
/* 施設セクション */
#facilities-section {
    background: #FFFCF2;
    padding: 80px 0;
    position: relative;
}

#facilities-section::after {
    content: "";
    background-image: url('img/wave--2--1.svg');
    background-size: contain;
    background-position: center bottom;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    aspect-ratio: 1280 / 100;
}

#facilities-section .facilities-header {
    display: flex;
    align-items: center;
    gap: 60px;
    margin-bottom: 40px;
}

#facilities-section .section-subtitle,#facilities-section .section-title{
    color:#fff;
}

#facilities-section .section-title-wrapper::before{
    background-color:#FCC800;
}

#facilities-section .lead-text {
    flex: 1;
    margin-bottom: 0;
    text-decoration: underline;
    color: #483C34;
    line-height: 1.5;
    font-size: 1.7rem;
}

#facilities-section .lead-text .highlight{
    font-size: 2rem;
}

#facilities-section .facility-card-row{
    border-radius: 40px;
    padding: 0px 30px;
    background-color: #fff;
    margin: 50px 0;
}

@media (max-width: 768px) {
    #facilities-section .facility-card-row {
        padding: 0px 20px;
    }
}

@media (max-width: 767px) {
    #facilities-section .lead-text {
        margin-top: 60px;
        font-size: 1.2rem;
    }
    
    #facilities-section .lead-text .highlight {
        font-size: 1.7rem;
    }
}

#facilities-section .facility-card {
    overflow: hidden;
    margin-bottom: 30px;
    padding: 60px 0px;
    border-bottom: 3px dashed #483C34;
}

#facilities-section .facility-title-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#facilities-section .facility-title {
    display: flex;
}

#facilities-section .facility-image {
    width: 100%;
    object-fit: cover;
    border-radius: 20px;
}

#facilities-section .facility-content {
    padding-top: 30px;
}

#facilities-section .facility-name {
    font-size: 23px;
    font-weight: bold;
    color: #483c34;
    margin-bottom: 10px;
}

#facilities-section .facility-address {
    font-size: 14px;
    color: #483c34;
    margin-bottom: 20px;
}

#facilities-section .facility-description {
    background: #fffcee;
    padding: 20px;
    border-radius: 15px;
    margin-bottom: 20px;
}

.facility-description p{
    margin-bottom: 0;
}

.facility-map{
    margin-bottom: 20px;
}

@media (max-width: 991px) {
    .facility-map {
        margin-top: 20px;
    }
}

.facility-map iframe{
    border-radius: 20px;
}

.facility-links {
    gap: 10px;
    flex-wrap: wrap;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.facility-links a {
    padding: 10px 20px;
    border: 1px solid #483c34;
    border-radius: 6px;
    text-decoration: none;
    color: #483c34;
    font-weight: bold;
    font-size: 14px;
    transition: all 0.3s;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.facility-links a:hover {
    background: #483c34;
    color: white;
}

/* お知らせセクション */
#info-section {
    background: #b5d6a8;
    padding: 80px 0;
    position: relative;
}

#info-section .info-container {
    background: #fffcf2;
    border-radius: 30px;
    padding: 40px;
}

@media (max-width: 991px) {
    #info-section .info-container {
        padding: 10px;
    }
}

#info-section .btn-primary-custom{
    background-color: #FFFCF2;
    color: #483C34;
    padding: 20px 40px;
    border-radius: 20px;
}

#info-section .info-more{
    text-align: right;
    margin-top: 30px;
}

.info-tabs {
    background: #fffcf2;
    border-radius: 20px;
    padding: 20px;
    margin-bottom: 30px;
    width: 140px;    
    margin: 0 auto;
    margin-top: 90px;
}

.info-tabs ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-left: 0;
}

.info-tabs li {
    text-align: center;
    padding: 10px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s;
    border-bottom: 2px dashed #483C34;
    user-select: none;
}

.info-tabs li.active {
    opacity: 1;
}

.info-tabs li:not(.active) {
    opacity: 0.3;
}

.info-list {
    list-style: none;
    padding-left: 0;
}

.info-list li {
    border-bottom: 1px solid #e2e1e0;
    padding: 30px 0;
}

.info-list li:last-child {
    border-bottom: none;
}

.info-item-link {
    text-decoration: none;
    color: inherit;
    display: block;
    transition: opacity 0.3s;
}

.info-item-link:hover {
    opacity: 0.7;
}

.info-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
}

.info-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
}

@media (max-width: 768px) {
    .info-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

.info-category {
    display: inline-block;
    background: #609d4a;
    color: white;
    padding: 5px 20px;
    border-radius: 13px;
    font-size: 16px;
    font-weight: bold;
}

.info-date {
    color: #483c34;
    font-size: 16px;
}

.info-title {
    color: #483c34;
    font-size: 17px;
    font-weight: bold;
    flex: 1;
}

/* ブログセクション */
#blog-section {
    background: #fff9e0;
    padding: 80px 0;
    position: relative;
}

#blog-section::before {
    content: "";
    background-image: url('img/wave--2--3.svg');
    background-size: contain;
    background-position: center bottom;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    aspect-ratio: 1280 / 100;
}

.blog-tabs {
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
    justify-content: center;
}

.blog-tab {
    padding: 10px 40px;
    font-weight: bold;
    cursor: pointer;
}

.blog-tab.active {
    background: #fcc800;
    color: white;
}

.blog-tab:not(.active) {
    background: #d9d9d9;
    color: white;
}

.blog-item {
    border-bottom: 1px solid #483c34;
    padding: 40px 0;
    display: flex;
    gap: 30px;
}

.blog-image {
    width: 350px;
    height: 190px;
    background: #c4c4c4;
    border-radius: 30px;
    flex-shrink: 0;
}

.blog-content {
    flex: 1;
}

.blog-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 10px;
}

@media (max-width: 768px) {
    .blog-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

.blog-date {
    color: #609d4a;
    font-size: 14px;
}

.blog-category {
    background: #609d4a;
    color: white;
    padding: 3px 20px;
    font-size: 14px;
}

.blog-title {
    font-size: 24px;
    font-weight: bold;
    color: #222;
    margin-bottom: 10px;
}

.blog-excerpt {
    font-size: 14px;
    line-height: 1.7;
    color: #222;
    margin-bottom: 0;
}

#blog-section .blog-more{
    text-align: right;
    margin-top: 30px;
}

#blog-section .btn-primary-custom{
    background-color: #FFFCF2;
    color: #483C34;
    padding: 20px 40px;
    border-radius: 20px;
}

/* 透明性セクション */
#transparency-section {
    background: #fff9e0;
    padding: 80px 0 0 0;
}

.transparency-row{
    border-radius: 30px;
    background: #483c34;
}

.transparency-box {
    padding: 60px;
    color: white;
    position: relative;
    overflow: hidden;
}

@media (max-width: 767px) {
    .transparency-box {
        padding: 30px 20px;
    }
}

.transparency-title {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 20px;
}

.transparency-subtitle {
    font-size: 15px;
    margin-bottom: 20px;
}

.transparency-description {
    font-size: 14px;
    line-height: 2.5;
    margin-bottom: 30px;
}

.transparency-image{
    padding-left: 0;
    padding-right: 0;
}

.recruitment-image{
    width: 100%;
    height: 100%;
    object-fit: cover;    
    border-radius: 0 30px 30px 0;
}

@media (max-width: 767px) {
    .transparency-image{
        text-align:center;
    }

    .recruitment-image{
        width: 100%;
        border-radius:0 0 30px 30px;
    }
}

#transparency-section .section-bg{
    margin-top:40px;
    width: 100%;
}

#transparency-section .btn-primary-custom{
    background-color: #FFFCF2;
    color: #483C34;
    padding: 20px 40px;
    border-radius: 20px;
}

/* フッター */
footer {
    background: #483c34;
    color: white;
    padding: 50px 0 20px;
}

footer a {
    color: white;
    text-decoration: none;
    transition: opacity 0.3s;
}

footer a:hover {
    opacity: 0.7;
}

.footer-logo {
    display: inline-block;
    background: #ffffff;
    padding: 10px 14px;
    border-radius: 10px;
    margin-bottom: 30px;
    max-width: 100%;
}

.footer-logo img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 230px;
}

.footer-heading {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
}

.footer-list {
    list-style: none;
    margin-bottom: 30px;
}

.footer-list li {
    margin-bottom: 10px;
}

.footer-copyright {
    border-top: 1px solid #374151;
    padding-top: 20px;
    text-align: center;
    font-size: 14px;
}

/* 下層ページ共通スタイル */
#page-mv {
    padding: 200px 0 200px 0;
    position: relative;
    margin-top: 0;
    background-image: url(img/top-mv-slider-hover-02-jpg.webp);
    background-size: cover;
    background-position: center;
}
#page-mv::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1;
}
.page-mv-text {
    position: relative;
    z-index: 3;
}
#page-mv::after {
    content: "";
    background-image: url(./img/mv-wave.svg);
    width: 100%;
    background-size: cover;
    position: absolute;
    bottom: 0%;
    left: 0%;
    z-index: 2;
    background-position: bottom;
    aspect-ratio: 1280 / 90;
}

.about-page #page-mv::after {
    background-image: url(./img/about-wave.svg);
    aspect-ratio: 1280 / 145;
}

.page-mv-text{
    text-align: center;
    color: #fff;
}

/* 施設ページ（蔵前・鳳・大仙西）MV画像 */
.kuramae-mv,
.otori-mv,
.daisen-nishi-mv {
    background-image: url(./img/facility-mv.jpeg) !important;
}

/* ひまわり会についてページMV画像 */
.about-mv {
    background-image: url(./img/about-mv.jpg) !important;
}

/* お知らせ・ブログページMV画像 */
.archive-mv {
    background-image: url(./img/news-blog-mv.jpeg) !important;
}

/* 採用情報ページMV画像 */
.recruitment-mv {
    background-image: url(./img/recruitment-mv.jpeg) !important;
}

/* お問い合わせ・エントリーページMV画像 */
.contact-mv,
.entry-mv {
    background-image: url(./img/contact-mv.jpeg) !important;
}

/* アーカイブページスタイル */
.archive-content {
    background-color: #FFFCF2;
    padding: 80px 0;
}

.archive-tabs {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.archive-tab {
    text-align: center;
    padding: 10px 30px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s;
    border-bottom: 2px dashed #483C34;
    user-select: none;
    background: transparent;
    border-top: none;
    border-left: none;
    border-right: none;
}

.archive-tab.active {
    opacity: 1;
}

.archive-tab:not(.active) {
    opacity: 0.3;
}

.archive-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 60px;
}

.archive-item {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    gap: 30px;
    padding: 30px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s, box-shadow 0.3s;
}

.archive-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.archive-item-thumbnail {
    flex-shrink: 0;
    width: 300px;
}

.archive-item-thumbnail img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 10px;
}

.archive-item-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.archive-item-header {
    margin-bottom: 15px;
}

.archive-item-title {
    font-size: 24px;
    font-weight: bold;
    color: #483c34;
    margin-bottom: 10px;
}

.archive-item-title a {
    color: #483c34;
    text-decoration: none;
    transition: color 0.3s;
}

.archive-item-title a:hover {
    color: #609d4a;
}

.archive-item-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

.archive-item-date {
    color: #609d4a;
    font-size: 14px;
}

.archive-item-category {
    background: #609d4a;
    color: white;
    padding: 3px 15px;
    border-radius: 10px;
    font-size: 14px;
}

.archive-item-excerpt {
    color: #483c34;
    line-height: 1.8;
    margin-bottom: 20px;
    flex: 1;
}

.archive-item-link {
    color: #609d4a;
    text-decoration: none;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    transition: color 0.3s;
}

.archive-item-link:hover {
    color: #4a7d3a;
}

.archive-item-link::after {
    content: "→";
    margin-left: 5px;
}

.archive-pagination {
    text-align: center;
    margin-top: 60px;
}

.archive-pagination .pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    list-style: none;
    padding: 0;
}

.archive-pagination .page-numbers {
    display: inline-block;
    padding: 10px 15px;
    background: #fff;
    color: #483c34;
    text-decoration: none;
    border-radius: 5px;
    transition: all 0.3s;
}

.archive-pagination .page-numbers:hover,
.archive-pagination .page-numbers.current {
    background: #609d4a;
    color: #fff;
}

.no-posts {
    text-align: center;
    padding: 60px 0;
    color: #483c34;
    font-size: 18px;
}

/* 個別投稿ページスタイル */
.single-content {
    background-color: #FFFCF2;
    padding: 80px 0;
}

.single-article {
    background: #fff;
    border-radius: 20px;
    padding: 60px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.single-header {
    margin-bottom: 40px;
    padding-bottom: 30px;
    border-bottom: 2px solid #e2e1e0;
}

.single-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.single-date {
    color: #609d4a;
    font-size: 14px;
}

.single-category {
    background: #609d4a;
    color: white;
    padding: 3px 15px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: bold;
}

.single-title {
    font-size: 32px;
    font-weight: bold;
    color: #483c34;
    line-height: 1.5;
}

.single-thumbnail {
    margin-bottom: 40px;
    text-align: center;
}

.single-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 15px;
    max-width: 800px;
}

.single-body {
    color: #483c34;
    line-height: 2;
    font-size: 16px;
    margin-bottom: 60px;
}

.single-body p {
    margin-bottom: 1.5em;
}

.single-body h2,
.single-body h3,
.single-body h4 {
    margin-top: 2em;
    margin-bottom: 1em;
    font-weight: bold;
    color: #483c34;
}

.single-body h2 {
    font-size: 24px;
    border-left: 4px solid #609d4a;
    padding-left: 15px;
}

.single-body h3 {
    font-size: 20px;
}

.single-body img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 20px 0;
}

.single-body ul,
.single-body ol {
    margin-left: 20px;
    margin-bottom: 1.5em;
}

.single-body li {
    margin-bottom: 0.5em;
}

.page-links {
    margin: 40px 0;
    text-align: center;
}

.page-links a {
    display: inline-block;
    padding: 10px 15px;
    background: #609d4a;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    margin: 0 5px;
    transition: all 0.3s;
}

.page-links a:hover {
    background: #4a7d3a;
}

.single-footer {
    margin-top: 60px;
    padding-top: 40px;
    border-top: 2px solid #e2e1e0;
}

.post-navigation {
    margin-bottom: 40px;
}

.post-navigation .nav-links {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

.post-navigation .nav-previous,
.post-navigation .nav-next {
    flex: 1;
}

.post-navigation a {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
    background: #f5f5f5;
    border-radius: 10px;
    text-decoration: none;
    transition: all 0.3s;
    height: 100%;
}

.post-navigation a:hover {
    background: #e8e8e8;
    transform: translateY(-2px);
}

.post-navigation .nav-subtitle {
    font-size: 12px;
    color: #609d4a;
    font-weight: bold;
}

.post-navigation .nav-title {
    font-size: 16px;
    color: #483c34;
    font-weight: bold;
}

.post-navigation .nav-previous a {
    text-align: left;
}

.post-navigation .nav-next a {
    text-align: right;
}

.back-to-archive {
    text-align: center;
}

.back-to-archive .btn-primary-custom {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

/* ごあいさつセクション（aboutページ専用） */
.about-page .greeting-section {
    position: relative;
    padding: 80px 0;
    background-color: #F9FAFB;
}

.about-page .greeting-content {
    margin-top: 100px;
}

.about-page .greeting-profile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
}

.about-page .greeting-profile-image {
    width: 100%;
    max-width: 293px;
    height: 265px;
    background-color: #d9d9d9;
    border-radius: 10px;
}

.about-page .greeting-profile-name {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #483c34;
    font-size: 18px;
    text-align: center;
    letter-spacing: 0.90px;
    line-height: 34.2px;
}

.about-page .greeting-message {
    display: flex;
    flex-direction: column;
}

.about-page .greeting-catchphrase-1,
.about-page .greeting-catchphrase-2 {
    background-color: #ffffff;
    padding: 14px 16px;
    font-weight: 700;
    font-size: 24px;
    line-height: 22px;
    text-decoration: underline;
    white-space: nowrap;
    margin-bottom: 14px;
}

.about-page .greeting-catchphrase-1 {
    max-width: 388px;
}

.about-page .greeting-catchphrase-2 {
    max-width: 600px;
}

.about-page .greeting-text-normal {
    color: #483c34;
}

.about-page .greeting-text-highlight {
    color: #fcc800;
}

.about-page .greeting-body {
    margin-top: 33px;
    font-weight: 500;
    color: #483c34;
    font-size: 20px;
    letter-spacing: 1.00px;
    line-height: 38.0px;
}

.about-page .greeting-decoration-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 330px;
    height: 268px;
    object-fit: cover;
}

/* 法人概要セクション（aboutページ専用） */
.about-page .overview-section {
    background-color: #ffefac;
    padding: 80px 0;
}

.about-page .overview-section .section-title-wrapper{
    text-align: left;
}

.about-page .overview-section .section-title-wrapper p{
    color:#FCC800;
}

.about-page .overview-section .section-title-wrapper h2{
    text-align: left;
}

.about-page .overview-section .section-title-wrapper::before{
    display: none;
}

.about-page .overview-box {
    background-color: #ffffff;
    border-radius: 30px;
    padding: 56px 53px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.about-page .overview-list {
    display: flex;
    flex-direction: column;
}

.about-page .overview-item {
    height: 73px;
    position: relative;
    border-top: 1px solid #e3dcc2;
    display: flex;
    align-items: center;
}

.about-page .overview-item-tall {
    height: 101px;
}

.about-page .overview-item-disclosure {
    height: 390px;
}

.about-page .overview-label {
    position: absolute;
    left: 0;
    width: 77px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #609d4a;
    font-size: 18px;
    letter-spacing: 1.39px;
    line-height: 24.4px;
    white-space: nowrap;
    font-weight: 700;
}

.about-page .overview-label-long {
    width: 139px;
}

.about-page .overview-value {
    position: absolute;
    left: 184px;
    color: #393939;
    font-size: 18px;
    letter-spacing: 1.31px;
    line-height: 22.9px;
    font-weight: 700;
}

.about-page .overview-disclosure-links {
    top: 50%;
    transform: translateY(-50%);
    line-height: 30.6px;
    letter-spacing: 1.26px;
    text-decoration: underline;
    white-space: normal;
}

.about-page .overview-disclosure-links a {
    color: #393939;
    text-decoration: underline;
}

/* 沿革セクション（aboutページ専用） */
.about-page .history-section {
    background-color: #fff9e0;
    padding: 96px 0 80px 0;
}

.about-page .history-timeline {
    margin-top: 78px;
    display: flex;
    flex-direction: column;
}

.about-page .history-item {
    display: flex;
    gap: 55px;
}

.about-page .history-year {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-top: 40px;
    width: 68px;
    font-weight: 700;
    color: #609d4a;
    font-size: 28px;
    text-align: center;
    line-height: 28px;
    white-space: nowrap;
}

.about-page .history-content-wrapper {
    flex: 1;
    display: flex;
    gap: 43px;
    border-left: 2px dashed #e3dcc2;
    padding-bottom: 0;
}

.about-page .history-dot {
    margin-top: 46px;
    width: 16px;
    height: 16px;
    margin-left: -9px;
    background-color: #fcc800;
    border-radius: 12px;
    flex-shrink: 0;
}

.about-page .history-content {
    margin-top: 16px;
    background-color: #fffcf2;
    border-radius: 8px;
    padding: 24px;
    margin-right: 15px;
    flex: 1;
}

.about-page .history-text {
    font-weight: 700;
    color: #483c34;
    font-size: 18px;
    letter-spacing: 1.60px;
    line-height: 28px;
}

/* 提携病院セクション（aboutページ専用） */
.about-page .clinic-section {
    background-color: #b5d6a8;
    padding: 86px 0 80px 0;
    position: relative;
}

.about-page .clinic-decoration-img {
    position: absolute;
    top: 5%;
    right: 10%;
    width: 250px;
    object-fit: cover;
}

.about-page .clinic-list {
    margin-top: 60px;
    display: flex;
    flex-direction: column;
    gap: 53px;
}

.about-page .clinic-card {
    background-color: #fffcf2;
    border-radius: 30px;
    padding: 54px 48px;
}

.about-page .clinic-card-inner {
    position: relative;
}

.about-page .clinic-name {
    font-weight: 700;
    color: #483c34;
    font-size: 28.8px;
    line-height: 51.8px;
    margin-bottom: 0;
}

.about-page .clinic-divider {
    width: 100%;
    max-width: 786px;
    height: 1px;
    background-color: #e3dcc2;
    margin: 5px 0 20px 0;
}

.about-page .clinic-info {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.about-page .clinic-address,
.about-page .clinic-website {
    font-weight: 700;
    color: #393939;
    font-size: 18px;
    letter-spacing: 1.31px;
    line-height: 30.6px;
    margin-bottom: 0;
}

.about-page .clinic-map-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background-color: #fffcf2;
    border-radius: 30px;
    border: 1px solid #483c34;
    padding: 4px 27px 4px 27px;
    text-decoration: none;
    color: #483c34;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.51px;
    width: fit-content;
}

.about-page .clinic-map-link img {
    width: 13px;
    height: 15px;
}

.about-page .clinic-map-link:hover {
    background-color: #483c34;
    color: #fff;
}

/* レスポンシブ対応 */
@media (max-width: 991px) {
    /* ヘッダー - モバイル */
    .header-wrapper {
        justify-content: flex-start;
        padding-right: 20px;
    }
    
    .hamburger {
        display: flex;
        margin-left: auto;
        margin-right: 0;
        flex-shrink: 0;
        width: 44px;
        height: 44px;
        justify-content: center;
        align-items: center;
        z-index: 1003;
        position: relative;
    }

    .main-navigation {
        position: fixed;
        top: 0;
        right: -100%;
        width: 85%;
        max-width: 350px;
        height: 100vh;
        background: #fff;
        transition: right 0.3s ease;
        overflow-y: auto;
        padding-top: 80px;
        box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
        z-index: 1002;
        display: block;
    }

    .main-navigation.active {
        right: 0;
    }

    /* メニューオーバーレイ */
    .menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1001;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
    }

    .menu-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    .gnav {
        display: block;
        flex-direction: column;
        gap: 0;
        align-items: stretch;
        padding: 0;
        margin: 0;
        width: 100%;
    }

    .gnav li {
        padding: 0;
        border-bottom: 1px solid #f0f0f0;
        transition: background-color 0.3s ease;
    }

    .gnav li:hover {
        background-color: #f8f9fa;
    }

    .gnav a {
        display: block;
        padding: 18px 25px;
        font-size: 16px;
        font-weight: 600;
        color: #333;
        text-decoration: none;
        transition: all 0.3s ease;
        position: relative;
    }

    .gnav a:hover {
        color: #609d4a;
        background-color: #f8f9fa;
    }

    /* 黄色ボタン専用スタイル（モバイル時のみ） */
    .gnav .yellow-button {
        background-color: #fcc800 !important;
        color: #fff !important;
        font-weight: bold;
        border-radius: 8px;
        margin: 15px 20px;
        padding: 15px 20px !important;
        text-align: center;
        transition: all 0.3s ease;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
        display: block;
        text-decoration: none;
        font-size: 16px;
        border: none !important;
    }

    .gnav .yellow-button:hover {
        background-color: #e6b300 !important;
        color: #fff !important;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    }

    .gnav .dropdown-menu {
        position: static;
        display: none;
        box-shadow: none;
        background: #f8f9fa;
        border-radius: 0;
        margin: 0;
        padding: 0;
        border-top: 1px solid #e9ecef;
    }

    .gnav .dropdown.active .dropdown-menu {
        display: block;
        animation: slideDown 0.3s ease;
    }

    .gnav .dropdown-menu a {
        padding: 15px 25px 15px 45px;
        font-size: 14px;
        font-weight: 500;
        color: #666;
        border-bottom: 1px solid #e9ecef;
        transition: all 0.3s ease;
    }

    .gnav .dropdown-menu a:hover {
        color: #609d4a;
        background-color: #f0f8f0;
    }

    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-10px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .gnav .dropdown:hover .dropdown-menu {
        display: none;
    }

    .gnav .dropdown.active:hover .dropdown-menu {
        display: block;
    }

    .gnav .dropdown-icon {
        transition: transform 0.3s;
    }

    .gnav .dropdown.active .dropdown-icon {
        transform: rotate(180deg);
    }
}

@media (max-width: 768px) {
    .page-title {
        font-size: 1.8rem;
    }

    .section-title {
        font-size: 1.5rem;
    }

    #facilities-section .facilities-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
    }

    .facility-card {
        margin-bottom: 20px;
    }

    .blog-item {
        flex-direction: column;
    }

    .blog-image {
        width: 100%;
    }

    /* アーカイブページ - レスポンシブ */
    .archive-item {
        flex-direction: column;
        padding: 20px;
        gap: 20px;
    }

    .archive-item-thumbnail {
        width: 100%;
    }

    .archive-item-title {
        font-size: 20px;
    }

    .archive-pagination .page-numbers {
        padding: 8px 12px;
        font-size: 14px;
    }

    /* 個別投稿ページ - レスポンシブ */
    .single-article {
        padding: 30px 20px;
    }

    .single-title {
        font-size: 24px;
    }

    .single-body {
        font-size: 15px;
    }

    .single-body h2 {
        font-size: 20px;
    }

    .single-body h3 {
        font-size: 18px;
    }

    .post-navigation .nav-links {
        flex-direction: column;
        gap: 15px;
    }

    .post-navigation .nav-title {
        font-size: 14px;
    }

    /* ごあいさつセクション - レスポンシブ */
    .about-page .greeting-profile-name {
        margin-left: 0;
        font-size: 16px;
        line-height: 28px;
    }

    .about-page .greeting-catchphrase-1,
    .about-page .greeting-catchphrase-2 {
        font-size: 18px;
        padding: 12px;
        white-space: normal;
        max-width: 100%;
    }

    .about-page .greeting-body {
        font-size: 16px;
        line-height: 32px;
        letter-spacing: 0.5px;
    }

    .about-page .greeting-decoration-img {
        width: 200px;
        height: auto;
    }

    /* 法人概要セクション - レスポンシブ */
    .about-page .overview-box {
        padding: 30px 20px;
    }

    .about-page .overview-item {
        height: auto;
        min-height: 73px;
        flex-direction: column;
        align-items: flex-start;
        padding: 20px 0;
    }

    .about-page .overview-item-tall {
        height: auto;
        min-height: 101px;
    }

    .about-page .overview-item-disclosure {
        height: auto;
        min-height: 304px;
    }

    .about-page .overview-label {
        position: relative;
        left: 0;
        margin-bottom: 10px;
        justify-content: flex-start;
        font-size: 16px;
    }

    .about-page .overview-label-long {
        width: auto;
    }

    .about-page .overview-value {
        position: relative;
        left: 0;
        font-size: 16px;
        line-height: 26px;
        letter-spacing: 0.5px;
    }

    .about-page .overview-disclosure-links {
        position: relative;
        transform: none;
        top: 0;
        font-size: 16px;
        line-height: 28px;
    }

    /* 沿革セクション - レスポンシブ */
    .about-page .history-timeline {
        margin-top: 40px;
    }

    .about-page .history-item {
        flex-direction: column;
        gap: 20px;
    }

    .about-page .history-year {
        margin-top: 0;
        width: 100%;
        justify-content: flex-start;
        font-size: 24px;
    }

    .about-page .history-content-wrapper {
        gap: 20px;
    }

    .about-page .history-dot {
        margin-top: 5px;
        margin-left: -9px;
    }

    .about-page .history-content {
        margin-top: 0;
        padding: 16px;
        margin-right: 0;
    }

    .about-page .history-text {
        font-size: 16px;
        line-height: 26px;
        letter-spacing: 0.5px;
    }

    /* 提携病院セクション - レスポンシブ */
    .about-page .clinic-decoration-img {
        width: 200px;
        height: auto;
        right: 20px;
        top: 100px;
    }

    .about-page .clinic-list {
        gap: 30px;
    }

    .about-page .clinic-card {
        padding: 30px 20px;
    }

    .about-page .clinic-name {
        font-size: 20px;
        line-height: 36px;
    }

    .about-page .clinic-divider {
        margin: 10px 0 15px 0;
    }

    .about-page .clinic-address,
    .about-page .clinic-website {
        font-size: 16px;
        line-height: 26px;
        letter-spacing: 0.5px;
    }

    .about-page .clinic-map-link {
        font-size: 12px;
        padding: 3px 20px;
    }

    /* お知らせタブ - 767px以下で横並び */
    .info-tabs {
        width: auto;
        margin: 0 auto;
        margin-top: 80px;
        margin-bottom: 30px;
    }

    .info-tabs ul {
        flex-direction: row;
        gap: 10px;
        justify-content: center;
        flex-wrap: wrap;
        margin-bottom: 0;
    }

    .info-tabs li {
        padding: 8px 15px;
        font-size: 14px;
        border-bottom: none;
        border-right: 2px dashed #483C34;
        flex: 1;
        min-width: 80px;
    }

    .info-tabs li:last-child {
        border-right: none;
    }

    /* 施設ページ - レスポンシブ */
    .facility-page .facility-nav-link {
        font-size: 16px;
        padding: 15px;
    }

    .facility-page .facility-item-card {
        margin-bottom: 20px;
    }

    .facility-page .facility-item-category {
        font-size: 11px;
    }

    .facility-page .facility-item-name {
        font-size: 18px;
    }

    .facility-page .facility-decoration-wave {
        display: none;
    }
}

/* 施設ページ専用スタイル */
.facility-page .facility-btn-section {
    background-color: #fffcf2;
    padding: 60px 0;
}

.facility-page .facility-nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    border: 1px solid #483c34;
    border-radius: 6px;
    text-decoration: none;
    color: #483c34;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.51px;
    transition: all 0.3s;
}

.facility-page .facility-nav-link:hover {
    background-color: #483c34;
    color: #fff;
}

.facility-page .facility-nav-link img {
    width: 29px;
    height: 31px;
}

.facility-page .facility-card-section {
    background-color: #fffcf2;
    padding: 0 0 80px 0;
    position: relative;
}

.facility-page .facility-card-row {
    margin-bottom: 72px;
    z-index: 2;
    position: relative;
}

.facility-page .facility-item-card {
    background-color: #ffffff;
    border-radius: 20px;
    border: 1px solid #e5e5e5;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
    padding: 18px;
    position: relative;
    height: 334px;
}

.facility-page .facility-item-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.facility-page .facility-item-image {
    width: 100%;
    height: 185px;
    border-radius: 15px;
    background-size: cover;
    background-position: center;
    margin-bottom: 6px;
}

.facility-page .facility-item-category {
    font-weight: 700;
    color: #609d4a;
    font-size: 12px;
    text-align: center;
    margin-bottom: 8px;
    min-height: 14px;
}

.facility-page .facility-item-category-multiline {
    line-height: 16.8px;
    min-height: 33px;
}

.facility-page .facility-item-name {
    font-weight: 700;
    color: #595652;
    font-size: 20px;
    text-align: center;
    margin-bottom: 0;
}

.facility-page .facility-item-link {
    position: absolute;
    bottom: 10px;
    right: 20px;
    width: 60px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.facility-page .facility-item-link img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.facility-page .facility-decoration-wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 199px;
    object-fit: cover;
    z-index: 1;
}

.facility-page .facility-map-section {
    background-color: #b5d6a8;
    padding: 76px 0 80px 0;
}

.facility-page .facility-map-container {
    margin-top: 99px;
    background-color: #ffffff;
    border-radius: 25px;
    padding: 20px;
}

.facility-page .facility-map-container iframe {
    border-radius: 20px;
}

@media (max-width:767px){
    .facility-page .facility-nav-list {
        gap: 20px;
    }
}

/* 蔵前施設ページ専用スタイル */
.facility-details-page .kuramae-header-section {
    padding: 71px 0 40px 0;
    background-color: #FFFCF2;
}

.facility-details-page .kuramae-service-label {
    border-left: 3px solid #609d4a;
    padding-left: 22px;
    font-weight: 700;
    color: #609d4a;
    font-size: 15px;
    letter-spacing: 0.75px;
    line-height: 21px;
    margin-bottom: 25px;
}

.facility-details-page .kuramae-facility-name {
    font-weight: 700;
    color: #3a3937;
    font-size: 32px;
    letter-spacing: 0;
    line-height: 38.4px;
    margin-bottom: 30px;
}

.facility-details-page .kuramae-address {
    font-weight: 700;
    color: #393939;
    font-size: 18px;
    letter-spacing: 1.31px;
    line-height: 30.6px;
    margin-bottom: 15px;
}

.facility-details-page .kuramae-map-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background-color: #fffcf2;
    border-radius: 30px;
    border: 1px solid #483c34;
    padding: 4px 27px;
    text-decoration: none;
    color: #483c34;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.51px;
    margin-bottom: 15px;
}

.facility-details-page .kuramae-map-btn img {
    width: 13px;
    height: 15px;
}

.facility-details-page .kuramae-phone-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;  
}
.facility-details-page .kuramae-phone {
    font-weight: 700;
    color: #393939;
    font-size: 18px;
    letter-spacing: 1.31px;
    line-height: 30.6px;
    margin-bottom: 0;
}

.facility-details-page .kuramae-tel-icon {
    width: 75px;
    height: 23px;
}

.facility-details-page .kuramae-btn-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 15px;
}

.facility-details-page .kuramae-btn-row .kuramae-map-btn {
    margin-bottom: 0;
}

.facility-details-page .kuramae-instagram-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #fffcf2;
    border-radius: 30px;
    border: 1px solid #483c34;
    padding: 4px 20px;
    text-decoration: none;
    color: #483c34;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.51px;
    transition: all 0.3s;
}

.facility-details-page .kuramae-instagram-btn:hover {
    background-color: #609d4a;
    border-color: #609d4a;
    color: #fff;
}

.facility-details-page .kuramae-instagram-btn svg {
    flex-shrink: 0;
}

.facility-details-page .kuramae-main-image {
    width: 100%;
    height: 408px;
    object-fit: cover;
    border-radius: 10px;
}

.facility-details-page .kuramae-main-section {
    background: #FFFCF2;
    padding: 80px 0;
}

.facility-details-page .kuramae-main-container {
    background: #fff;
    border-radius: 30px;
    padding: 80px 40px;
}

.facility-details-page .kuramae-service-section {
    margin-bottom: 80px;
}

.facility-details-page .kuramae-section-header {
    margin-bottom: 60px;
}

.facility-details-page .kuramae-subtitle {
    font-weight: 500;
    color: #fcc800;
    font-size: 22px;
    line-height: 22px;
    margin-bottom: 4px;
}

.facility-details-page .kuramae-title {
    font-weight: 700;
    color: #483c34;
    font-size: 2rem;
    letter-spacing: 0;
    line-height: 1.8;
}

.facility-details-page .kuramae-service-item {
    margin-bottom: 60px;
}

.facility-details-page .kuramae-service-name {
    border-left: 3px solid #609d4a;
    padding-left: 22px;
    font-weight: 700;
    color: #609d4a;
    font-size: 19px;
    letter-spacing: 0.95px;
    line-height: 26.6px;
    margin-bottom: 20px;
}

.facility-details-page .kuramae-service-text {
    font-weight: 700;
    color: #3a3937;
    font-size: 14.5px;
    letter-spacing: 1.02px;
    line-height: 24.7px;
    margin-bottom: 37px;
}

.facility-details-page .kuramae-info-table {
    width: 100%;
    max-width: 696px;
    border-collapse: collapse;
}

.facility-details-page .kuramae-info-table th {
    background-color: #fffcf2;
    border: 1px solid rgba(130, 107, 107, 0.12);
    padding: 24px 20px;
    font-weight: 700;
    color: #3a3937;
    font-size: 14px;
    letter-spacing: 1.40px;
    line-height: 23.8px;
    text-align: left;
    width: 153px;
}

.facility-details-page .kuramae-info-table td {
    border: 1px solid rgba(130, 107, 107, 0.12);
    padding: 24px 20px;
    font-weight: 500;
    color: #3a3937;
    font-size: 15px;
    line-height: 25.5px;
}

.facility-details-page .kuramae-features-section {
    margin-bottom: 80px;
}

.facility-details-page .kuramae-feature-item {
    margin-bottom: 60px;
}

.facility-details-page .kuramae-feature-image {
    width: 100%;
    height: 388px;
    background-color: #d9d9d9;
    border-radius: 10px;
    margin-bottom: 30px;
    background-size: cover;
    background-position: center;
}

.facility-details-page .kuramae-feature-image01 {
    background-image: url('img/kuramae_about01.webp');
    background-position: 40% 40%;
}

.facility-details-page .kuramae-feature-image02 {
    background-image: url('img/kuramae_about02.webp');
}

.facility-details-page .kuramae-feature-image03 {
    background-image: url('img/kuramae_about03.webp');
}

/* 鳳 特徴写真 */
.facility-details-page .otori-feature-image01 {
    background-image: url('img/otori_01.jpg');
    background-size: cover;
    background-position: center;
}

.facility-details-page .otori-feature-image02 {
    background-image: url('img/otori_02.jpeg');
    background-size: cover;
    background-position: center;
}

.facility-details-page .otori-feature-image03 {
    background-image: url('img/otori_03.jpg');
    background-size: cover;
    background-position: center;
}

/* 大仙西 施設画像 */
.facility-details-page .daisen-main-image {
    background-image: url('img/大仙西.jpg');
    background-size: cover;
    background-position: center;
}

.facility-details-page .kuramae-feature-title {
    font-weight: 700;
    color: #609d4a;
    font-size: 23px;
    line-height: 51.8px;
    margin-bottom: 20px;
}

.facility-details-page .kuramae-feature-text {
    font-weight: 500;
    color: #3a3937;
    font-size: 14.5px;
    letter-spacing: 1.02px;
    line-height: 29.1px;
}

.facility-details-page .kuramae-movein-section {
    margin-bottom: 80px;
}

.facility-details-page .kuramae-subsection-title {
    border-left: 3px solid #609d4a;
    padding-left: 22px;
    font-weight: 700;
    color: #609d4a;
    font-size: 19px;
    letter-spacing: 0.95px;
    line-height: 26.6px;
    margin-bottom: 20px;
}

.facility-details-page .kuramae-conditions-text {
    font-weight: 700;
    color: #3a3937;
    font-size: 14.5px;
    letter-spacing: 1.02px;
    line-height: 24.7px;
    margin-bottom: 40px;
}

.facility-details-page .kuramae-note {
    font-weight: 700;
    color: #3a3937;
    font-size: 14.5px;
    letter-spacing: 1.02px;
    line-height: 24.7px;
    margin: 20px 0;
}

.facility-details-page .kuramae-price-table {
    width: 100%;
    max-width: 696px;
    border-collapse: collapse;
    margin-bottom: 40px;
}

.facility-details-page .kuramae-price-table th {
    background-color: #fffcf2;
    border: 1px solid rgba(130, 107, 107, 0.12);
    padding: 24px 20px;
    font-weight: 700;
    color: #3a3937;
    font-size: 14px;
    letter-spacing: 1.40px;
    line-height: 23.8px;
    text-align: left;
    width: 153px;
}

.facility-details-page .kuramae-price-table td {
    border: 1px solid rgba(130, 107, 107, 0.12);
    padding: 24px 20px;
    font-weight: 500;
    color: #3a3937;
    font-size: 13.7px;
    line-height: 25.5px;
}

.facility-details-page .kuramae-medical-list {
    margin-bottom: 40px;
}

.facility-details-page .kuramae-medical-legend {
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
}

.facility-details-page .kuramae-legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.facility-details-page .kuramae-legend-mark {
    width: 27px;
    height: 42px;
    font-family: "MS UI Gothic-Regular", Helvetica;
    font-weight: 400;
    font-size: 25.5px;
    letter-spacing: 1.79px;
    line-height: 43.4px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.facility-details-page .kuramae-legend-mark.accept {
    color: #609d4a;
}

.facility-details-page .kuramae-legend-mark.conditional {
    color: #fcc800;
}

.facility-details-page .kuramae-legend-mark.consult {
    color: #bcbbba;
}

.facility-details-page .kuramae-legend-text {
    font-weight: 700;
    color: #3a3937;
    font-size: 14.5px;
    letter-spacing: 1.02px;
    line-height: 24.7px;
}

.facility-details-page .kuramae-medical-grid {
    display: flex;
    flex-direction: column;
}

.facility-details-page .kuramae-medical-row {
    display: flex;
}

.facility-details-page .kuramae-medical-cell {
    flex: 1;
    min-width: 241px;
    height: 67px;
    border: 1px solid rgba(130, 107, 107, 0.12);
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
}

.facility-details-page .kuramae-medical-text {
    font-weight: 700;
    color: #3a3937;
    font-size: 14.5px;
    letter-spacing: 1.02px;
    line-height: 24.7px;
    flex: 1;
}

.facility-details-page .kuramae-contact-box {
    display: flex;
    justify-content: center;
}

.facility-details-page .kuramae-contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 356px;
    height: 66px;
    background-color: #609d4a;
    border-radius: 20px;
    text-decoration: none;
    padding: 0 25px;
    margin: 40px 0;
}

.facility-details-page .kuramae-contact-btn span {
    font-weight: 700;
    color: #ffffff;
    font-size: 17px;
    letter-spacing: 0.51px;
}

.facility-details-page .kuramae-contact-btn img {
    width: 30px;
    height: 30px;
}

.facility-details-page .kuramae-qa-section {
    margin-bottom: 0;
}

.facility-details-page .kuramae-qa-list {
    margin-bottom: 40px;
}

.facility-details-page .kuramae-qa-item {
    border-bottom: 1px solid rgba(130, 107, 107, 0.12);
}

.facility-details-page .kuramae-question {
    display: flex;
    align-items: center;
    padding: 25px 0;
    cursor: pointer;
    position: relative;
}

.facility-details-page .kuramae-q-mark {
    font-weight: 700;
    color: #609d4a;
    font-size: 28px;
    line-height: 30px;
    margin-right: 15px;
}

.facility-details-page .kuramae-q-text {
    font-weight: 700;
    color: #3a3937;
    font-size: 18px;
    line-height: 25.5px;
    flex: 1;
}

.facility-details-page .kuramae-toggle {
    width: 30px;
    height: 30px;
    background-color: #f2fded;
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
    transition: transform 0.3s;
}

.facility-details-page .kuramae-toggle::before,
.facility-details-page .kuramae-toggle::after {
    content: "";
    position: absolute;
    background-color: #609d4a;
}

.facility-details-page .kuramae-toggle::before {
    width: 12px;
    height: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.facility-details-page .kuramae-toggle::after {
    width: 2px;
    height: 12px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.3s;
}

.facility-details-page .kuramae-qa-item.active .kuramae-toggle::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.facility-details-page .kuramae-answer {
    display: none;
    padding: 0 0 25px 43px;
    align-items: flex-start;
}

.facility-details-page .kuramae-qa-item.active .kuramae-answer {
    display: flex;
}

.facility-details-page .kuramae-a-mark {
    font-weight: 700;
    color: #fdc073;
    font-size: 28px;
    line-height: 28px;
    margin-right: 15px;
}

.facility-details-page .kuramae-a-text {
    font-weight: 500;
    color: #3a3937;
    font-size: 16px;
    line-height: 24px;
    flex: 1;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .facility-details-page .kuramae-facility-name {
        font-size: 24px;
        line-height: 32px;
    }

    .facility-details-page .kuramae-main-image {
        height: 250px;
    }

    .facility-details-page .kuramae-service-text,
    .facility-details-page .kuramae-feature-text {
        font-size: 13px;
        line-height: 22px;
    }

    .facility-details-page .kuramae-info-table,
    .facility-details-page .kuramae-price-table {
        font-size: 12px;
    }

    .facility-details-page .kuramae-info-table th,
    .facility-details-page .kuramae-price-table th {
        width: 100px;
        padding: 15px 10px;
    }

    .facility-details-page .kuramae-info-table td,
    .facility-details-page .kuramae-price-table td {
        padding: 15px 10px;
    }

    .facility-details-page .kuramae-feature-image {
        height: 250px;
        margin-bottom: 20px;
    }

    .facility-details-page .kuramae-medical-legend {
        flex-direction: column;
        gap: 10px;
        margin-bottom: 30px;
    }

    .facility-details-page .kuramae-medical-row {
        flex-direction: column;
    }

    .facility-details-page .kuramae-medical-cell {
        min-width: 100%;
        height: auto;
        min-height: 50px;
        padding: 10px;
    }

    .facility-details-page .kuramae-medical-text {
        font-size: 13px;
        line-height: 20px;
    }

    .facility-details-page .kuramae-legend-mark {
        font-size: 20px;
        width: 22px;
        height: 30px;
        line-height: 30px;
    }

    .facility-details-page .kuramae-contact-btn {
        width: 100%;
    }

    .facility-details-page .kuramae-q-text {
        font-size: 16px;
    }

    .facility-details-page .kuramae-title {
        font-size: 1.5rem;
    }

    /* 蔵前ページ - 767px以下での調整 */
    .facility-details-page .kuramae-header-section .row {
        flex-direction: column;
    }

    .facility-details-page .kuramae-header-section .col-md-5 {
        order: 1;
        display: flex;
        flex-direction: column;
    }

    .facility-details-page .kuramae-header-section .col-md-7 {
        order: 2;
        margin-top: 20px;
    }

    /* 767px以下での順番調整 */
    .facility-details-page .kuramae-service-label {
        order: 1;
    }

    .facility-details-page .kuramae-facility-name {
        order: 2;
    }

    .facility-details-page .kuramae-main-image {
        order: 3;
        margin: 20px 0;
    }

    .facility-details-page .kuramae-contact-info {
        order: 4;
    }

    .facility-details-page .kuramae-main-container {
        padding: 40px 20px;
    }

    .facility-details-page .kuramae-info-table {
        display: block;
    }

    .facility-details-page .kuramae-info-table tr {
        display: block;
        margin-bottom: 15px;
        border: 1px solid rgba(130, 107, 107, 0.12);
        border-radius: 8px;
        overflow: hidden;
    }

    .facility-details-page .kuramae-info-table th {
        display: block;
        background-color: #fffcf2;
        border: none;
        border-bottom: 1px solid rgba(130, 107, 107, 0.12);
        padding: 15px 20px;
        margin: 0;
        width: 100%;
        font-size: 14px;
    }

    .facility-details-page .kuramae-info-table td {
        display: block;
        border: none;
        padding: 15px 20px;
        margin: 0;
        width: 100%;
        font-size: 14px;
    }

    .facility-details-page .kuramae-price-table {
        display: block;
    }

    .facility-details-page .kuramae-price-table tr {
        display: block;
        margin-bottom: 15px;
        border: 1px solid rgba(130, 107, 107, 0.12);
        border-radius: 8px;
        overflow: hidden;
    }

    .facility-details-page .kuramae-price-table th {
        display: block;
        background-color: #fffcf2;
        border: none;
        border-bottom: 1px solid rgba(130, 107, 107, 0.12);
        padding: 15px 20px;
        margin: 0;
        width: 100%;
        font-size: 14px;
    }

    .facility-details-page .kuramae-price-table td {
        display: block;
        border: none;
        padding: 15px 20px;
        margin: 0;
        width: 100%;
        font-size: 14px;
    }
}

/* 採用ページ専用スタイル */
.recruitment-page .recruitment-hero {
    background-image: url('img/top-mv-slider-hover-02-jpg-u5.webp');
    background-size: cover;
    background-position: center;
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
}

.recruitment-page .message-section {
    background-color: #FFFCF2;
    padding: 80px 0;
}

.recruitment-page .message-section .section-title-centercontainer{
    margin-top: 30px;
    margin-bottom: 60px;
}

.recruitment-page .message-section .section-title-wrapper::before{
    display: none;
}

.recruitment-page .message-container {
    background-color: #ffffff;
    border-radius: 30px;
    border: 1px solid #b5d6a8;
    padding: 60px;
    position: relative;
    margin: 0 auto;
    max-width: 1040px;
}


.recruitment-page .message-content {
    color: #483c34;
    font-size: 18px;
    line-height: 1.7;
    font-weight: bold;
    margin-bottom: 40px;
}

.recruitment-page .message-image {
    position: absolute;
    top: -71px;
    left: 50%;
    transform: translateX(-50%);
    width: 150px;
    height: 142px;
    object-fit: cover;
}

.recruitment-page .human-section {
    background-color: #b5d6a8;
    padding: 80px 0;
    position: relative;
}

.recruitment-page .human-images {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.recruitment-page .human-image {
    width: 313px;
    height: 300px;
    object-fit: cover;
    border-radius: 10px;
}

.recruitment-page .job-section {
    background-color: #fff9e0;
    padding: 80px 0;
}

.recruitment-page .job-content {
    display: flex;
    gap: 20px;
    max-width: 1042px;
    margin: 0 auto;
}

.recruitment-page .job-nav {
    background-color: rgba(255, 255, 255, 0.9);
    border-top: 6px solid #fcc800;
    border-radius: 10px;
    padding-top: 20px;
    width: 270px;
    flex-shrink: 0;
    align-self: flex-start;
    position: sticky;
    top: 20px;
    z-index: 10;
}

.recruitment-page .job-nav-item {
    padding: 20px 25px;
    border-bottom: 1px solid #e5e5e5;
    cursor: pointer;
    transition: background-color 0.3s;
    position: relative;
}

.recruitment-page .job-nav-item:last-child {
    border-bottom: none;
}

.recruitment-page .job-nav-item:hover {
    background-color: #f8f9fa;
}

.recruitment-page .job-nav-item.active {
    background-color: #f0f8f0;
}

.recruitment-page .job-nav-text {
    color: #483c34;
    font-size: 16px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.recruitment-page .job-nav-icon {
    width: 20px;
    height: 20px;
}

.recruitment-page .job-content-area {
    flex: 1;
    background-color: #ffffff;
    border-radius: 10px;
    padding: 40px;
    min-height: 400px;
}

.recruitment-page .job-entry-btn {
    background-color: #609d4a;
    color: white;
    padding: 20px 40px;
    border-radius: 20px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: bold;
    font-size: 17px;
    transition: background-color 0.3s;
    margin-top: 20px;
}

.recruitment-page .job-entry-btn:hover {
    background-color: #4a7d3a;
    color: white;
}

.recruitment-page .job-entry-icon {
    width: 13px;
    height: 15px;
}

/* 採用情報表のスタイル */
.recruitment-page .recruitment-table {
    width: 100%;
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 30px;
    border-collapse: collapse;
}

.recruitment-page .recruitment-table th {
    background-color: #f8f9fa;
    padding: 20px;
    border-right: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    font-weight: bold;
    color: #483c34;
    font-size: 16px;
    text-align: left;
    vertical-align: top;
    min-width: 200px;
}

.recruitment-page .recruitment-table td {
    padding: 20px;
    border-bottom: 1px solid #e5e5e5;
    color: #483c34;
    font-size: 16px;
    line-height: 1.6;
    vertical-align: top;
}

.recruitment-page .recruitment-table tr:last-child th,
.recruitment-page .recruitment-table tr:last-child td {
    border-bottom: none;
}

.recruitment-page .recruitment-table p{
    margin-bottom: 0;
}

/* 勤務地のスタイル */
.recruitment-page .workplace-name {
    font-weight: bold;
    color: #483c34;
    font-size: 16px;
    margin-bottom: 5px;
}

.recruitment-page .workplace-address {
    color: #666;
    font-size: 14px;
}

/* 給与セクションのスタイル */
.recruitment-page .salary-section {
    line-height: 1.6;
}

.recruitment-page .salary-main {
    margin: 0 0 15px 0;
    color: #483c34;
    font-size: 16px;
}

.recruitment-page .salary-allowance {
    color: #483c34;
    font-size: 16px;
}

/* 勤務時間のスタイル */
.recruitment-page .workplace-name {
    font-weight: bold;
    color: #483c34;
    font-size: 16px;
    margin-bottom: 10px;
}

.recruitment-page .work-time-1,
.recruitment-page .work-time-2,
.recruitment-page .work-time-3 {
    color: #483c34;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 5px;
}

/* 複数表の表示スタイル */
.recruitment-page .recruitment-table-wrapper {
    margin-bottom: 30px;
}

.recruitment-page .recruitment-table-wrapper:last-child {
    margin-bottom: 0;
}

.recruitment-page .loading {
    text-align: center;
    padding: 40px;
    color: #666;
    font-size: 16px;
}

.recruitment-page .error {
    text-align: center;
    padding: 40px;
    color: #d32f2f;
    font-size: 16px;
}

.recruitment-page .no-data {
    text-align: center;
    padding: 40px;
    color: #666;
    font-size: 16px;
    background-color: #f8f9fa;
    border-radius: 8px;
}

/* お問い合わせページ専用スタイル */
.contact-page .contact-section {
    position: relative;
    margin: 0 auto;
    background-color: #fffcf2;
    padding: 76px 119px;
}

.contact-page .div {
    position: absolute;
    top: 35px;
    left: calc(50.00% - 88px);
    width: 176px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "YuGothic-Bold", Helvetica;
    font-weight: 700;
    color: #483c34;
    font-size: 28.8px;
    text-align: center;
    letter-spacing: 0;
    line-height: 51.8px;
    white-space: nowrap;
}

.contact-page .text-wrapper-2 {
    color: #483c34;
    text-align: center;
    letter-spacing: 1px;
    margin-bottom: 60px;
}

.contact-page .background-shadow {
    margin-right: 1px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 32.9px;
    background-color: #ffffff;
    border-radius: 22.32px;
    box-shadow: 0px 1.49px 11.9px rgba(35, 56, 81, 0.1);
}

.contact-page .form {
    flex-direction: column;
    display: flex;
    align-items: center;
}

.contact-page .frame {
    display: flex;
    margin-left: 0.5px;
    height: 669px;
    width: 921px;
    position: relative;
    flex-direction: column;
    align-items: flex-start;
}

.contact-page .descriptions {
    height: 90.38px;
    border-top-width: 1px;
    border-top-style: solid;
    position: relative;
    align-self: stretch;
    width: 100%;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-color: #ededed;
}

.contact-page .term {
    width: calc(100% - 598px);
    top: 34px;
    gap: 14.4px;
    position: absolute;
    left: 15px;
    height: 24px;
    display: flex;
}

.contact-page .background {
    margin-top: 2.5px;
    width: 29.75px;
    height: 16.36px;
    display: flex;
    justify-content: center;
    background-color: #e71c24;
    border-radius: 2.23px;
}

.contact-page .text-wrapper-3 {
    margin-top: 2px;
    width: 21.54px;
    height: 11px;
    margin-left: 0.2px;
    font-family: "Hiragino Kaku Gothic ProN-W3", Helvetica;
    font-weight: 400;
    color: #ffffff;
    font-size: 9.7px;
    text-align: center;
    letter-spacing: 1.01px;
    line-height: 16.4px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-page .text-wrapper-4 {
    margin-top: 3.3px;
    width: 117px;
    height: 14px;
    font-family: "YuGothic-Medium", Helvetica;
    font-weight: 500;
    color: #483c34;
    font-size: 14px;
    letter-spacing: 1.01px;
    line-height: 23.8px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-page .details-input {
    top: 27px;
    width: 454px;
    height: 36px;
    display: flex;
    background-color: #f1f1f1;
    border-radius: 2.23px;
    overflow: hidden;
    position: absolute;
    left: 216px;
}

.contact-page .group {
    margin-top: 14.0px;
    width: 12.79px;
    height: 8.55px;
    margin-left: 427.2px;
    position: relative;
}

.contact-page .line {
    top: 1px;
    left: 0;
    position: absolute;
    width: 7px;
    height: 7px;
}

.contact-page .img {
    top: 0;
    left: 6px;
    position: absolute;
    width: 7px;
    height: 7px;
}

.contact-page .text-wrapper-5 {
    margin-top: 2.9px;
    width: 129px;
    height: 14px;
    font-family: "YuGothic-Medium", Helvetica;
    font-weight: 500;
    color: #483c34;
    font-size: 14px;
    letter-spacing: 1.01px;
    line-height: 23.8px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-page .group-2 {
    margin-top: 13.6px;
    width: 12.79px;
    height: 8.55px;
    margin-left: 427.2px;
    position: relative;
}

.contact-page .details-input-2 {
    top: 27px;
    position: absolute;
    left: 216px;
    width: 454px;
    height: 36px;
    background-color: #f1f1f1;
    border-radius: 2.23px;
}

.contact-page .descriptions-2 {
    height: 89.38px;
    position: relative;
    align-self: stretch;
    width: 100%;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-color: #ededed;
}

.contact-page .term-2 {
    width: calc(100% - 585px);
    top: 33px;
    gap: 14.9px;
    position: absolute;
    left: 15px;
    height: 24px;
    display: flex;
}

.contact-page .div-wrapper {
    margin-top: 2.5px;
    width: 29.75px;
    height: 16.36px;
    display: flex;
    justify-content: center;
    background-color: #aaaaaa;
    border-radius: 2.23px;
}

.contact-page .text-wrapper-6 {
    margin-top: 4px;
    width: 54.76px;
    height: 14px;
    font-family: "Hiragino Kaku Gothic ProN-W3", Helvetica;
    font-weight: 400;
    color: #483c34;
    font-size: 12.6px;
    letter-spacing: 1.01px;
    line-height: 23.8px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-page .details {
    width: calc(100% - 230px);
    top: 26px;
    height: 36px;
    position: absolute;
    left: 216px;
}

.contact-page .input {
    position: absolute;
    width: 38.60%;
    top: 0;
    left: 0;
    height: 36px;
    background-color: #f1f1f1;
    border-radius: 2.23px;
}

.contact-page .text-wrapper-7 {
    position: absolute;
    top: 10px;
    left: 183px;
    width: 72px;
    height: 14px;
    font-family: "Hiragino Kaku Gothic ProN-W3", Helvetica;
    font-weight: 400;
    color: #483c34;
    font-size: 11.9px;
    letter-spacing: 0;
    line-height: 23.8px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-page .term-3 {
    width: calc(100% - 542px);
    top: 33px;
    gap: 14.9px;
    position: absolute;
    left: 15px;
    height: 24px;
    display: flex;
}

.contact-page .text-wrapper-8 {
    margin-top: 4px;
    width: 97.43px;
    height: 14px;
    font-family: "Hiragino Kaku Gothic ProN-W3", Helvetica;
    font-weight: 400;
    color: #483c34;
    font-size: 12.6px;
    letter-spacing: 1.01px;
    line-height: 23.8px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-page .details-input-3 {
    top: 26px;
    position: absolute;
    left: 216px;
    width: 454px;
    height: 36px;
    background-color: #f1f1f1;
    border-radius: 2.23px;
}

.contact-page .descriptions-3 {
    height: 218.83px;
    position: relative;
    align-self: stretch;
    width: 100%;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-color: #ededed;
}

.contact-page .term-4 {
    width: calc(100% - 529px);
    top: 33px;
    gap: 14.9px;
    position: absolute;
    left: 15px;
    height: 24px;
    display: flex;
}

.contact-page .text-wrapper-9 {
    margin-top: 4px;
    width: 110.48px;
    height: 14px;
    font-family: "Hiragino Kaku Gothic ProN-W3", Helvetica;
    font-weight: 400;
    color: #483c34;
    font-size: 12.6px;
    letter-spacing: 1.01px;
    line-height: 23.8px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-page .details-textarea {
    top: 26px;
    width: 454px;
    height: 157px;
    background-color: #f1f1f1;
    border-radius: 2.23px;
    overflow: scroll;
    position: absolute;
    left: 216px;
}

.contact-page .details-textarea::-webkit-scrollbar {
    width: 0;
    display: none;
}

.contact-page .link {
    margin-left: -0.5px;
    height: 66px;
    width: 356px;
    display: flex;
    justify-content: space-between;
    background-color: #609d4a;
    border-radius: 20px;
}

.contact-page .text-wrapper-10 {
    margin-top: 23px;
    width: 269px;
    height: 19px;
    margin-left: 25px;
    font-family: "YuGothic-Bold", Helvetica;
    font-weight: 700;
    color: #ffffff;
    font-size: 17px;
    text-align: center;
    letter-spacing: 0.51px;
    line-height: 64px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-page .image {
    height: 15px;
    width: 13px;
    align-self: center;
    margin-right: 25px;
}

.contact-page .group-wrapper {
    margin-left: 53px;
    width: 183px;
    display: flex;
}

.contact-page .group-3 {
    width: 345px;
    height: 78px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.contact-page .text-wrapper-11 {
    justify-content: center;
    width: 156px;
    height: 22px;
    font-family: "Work Sans-Medium", Helvetica;
    font-weight: 500;
    color: #fcc800;
    font-size: 22px;
    letter-spacing: 0;
    line-height: 22px;
    display: flex;
    align-items: center;
}

.contact-page .text-wrapper-12 {
    width: 341px;
    height: 52px;
    font-family: "YuGothic-Bold", Helvetica;
    font-weight: 700;
    color: #483c34;
    font-size: 28.8px;
    letter-spacing: 0;
    line-height: 51.8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* お問い合わせフォーム - 整理されたスタイル */
.contact-page .contact-form-container {
    background-color: #ffffff;
    border-radius: 22px;
    box-shadow: 0px 2px 12px rgba(35, 56, 81, 0.1);
    padding: 40px;
    margin: 40px 0;
}

.contact-page .contact-form-header {
    margin-bottom: 40px;
}

.contact-page .form-subtitle {
    display: block;
    color: #fcc800;
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 4px;
}

.contact-page .form-title-text {
    color: #483c34;
    font-size: 28px;
    font-weight: bold;
    margin: 0;
    line-height: 1.8;
}

.contact-page .contact-form-body {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.contact-page .form-fields {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.contact-page .form-field {
    border-top: 1px solid #ededed;
    border-bottom: 1px solid #ededed;
    padding: 20px 0;
    display: flex;
    align-items: center;
    gap: 20px;
}

.contact-page .form-field:first-child {
    border-top: none;
}

.contact-page .form-field:last-child {
    border-bottom: none;
}

.contact-page .field-label {
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: 200px;
    flex-shrink: 0;
}

.contact-page .required-badge {
    background-color: #e71c24;
    color: #ffffff;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 2px;
    font-weight: 400;
    white-space: nowrap;
}

.contact-page .optional-badge {
    background-color: #aaaaaa;
    color: #ffffff;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 2px;
    font-weight: 400;
    white-space: nowrap;
}

.contact-page .field-name {
    color: #483c34;
    font-weight: 500;
    margin: 0;
}

.contact-page .field-input {
    flex: 1;
    position: relative;
}

.contact-page .form-input {
    width: 100%;
    height: 36px;
    background-color: #f1f1f1;
    border: none;
    border-radius: 2px;
    padding: 0 15px;
    font-size: 14px;
    color: #483c34;
}

.contact-page .form-input:focus {
    outline: none;
    background-color: #e8f5e8;
}

.contact-page .form-textarea {
    width: 100%;
    height: 120px;
    background-color: #f1f1f1;
    border: none;
    border-radius: 2px;
    padding: 15px;
    font-size: 14px;
    color: #483c34;
    resize: vertical;
    font-family: inherit;
}

.contact-page .form-textarea:focus {
    outline: none;
    background-color: #e8f5e8;
}

.contact-page .dropdown-icon {
    display: flex;
    align-items: center;
    gap: 6px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

.contact-page .dropdown-arrow {
    width: 7px;
    height: 7px;
}

.contact-page .input-hint {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #483c34;
    font-size: 12px;
    pointer-events: none;
}

.contact-page .form-submit {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.contact-page .submit-button {
    background-color: #609d4a;
    color: #ffffff;
    border: none;
    border-radius: 20px;
    padding: 20px 40px;
    font-size: 17px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: background-color 0.3s ease;
}

.contact-page .submit-button:hover {
    background-color: #4a7d3a;
}

.contact-page .submit-icon {
    width: 30px;
    height: 30px;
}

/* MW WP Form フォーム要素スタイル（お問い合わせ・エントリー共通） */
.contact-page .field-input input[type="text"],
.contact-page .field-input input[type="email"],
.contact-page .field-input input[type="tel"],
.contact-page .field-input select {
    width: 100%;
    height: 36px;
    background-color: #f1f1f1;
    border: none;
    border-radius: 2px;
    padding: 0 15px;
    font-size: 14px;
    color: #483c34;
}

.contact-page .field-input input[type="text"]:focus,
.contact-page .field-input input[type="email"]:focus,
.contact-page .field-input input[type="tel"]:focus,
.contact-page .field-input select:focus {
    outline: none;
    background-color: #e8f5e8;
}

.contact-page .field-input textarea {
    width: 100%;
    height: 120px;
    background-color: #f1f1f1;
    border: none;
    border-radius: 2px;
    padding: 15px;
    font-size: 14px;
    color: #483c34;
    resize: vertical;
    font-family: inherit;
}

.contact-page .field-input textarea:focus {
    outline: none;
    background-color: #e8f5e8;
}

.contact-page .form-submit input[type="submit"] {
    background-color: #609d4a;
    color: #ffffff;
    border: none;
    border-radius: 20px;
    padding: 20px 40px;
    font-size: 17px;
    font-weight: bold;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: background-color 0.3s ease;
}

.contact-page .form-submit input[type="submit"]:hover {
    background-color: #4a7d3a;
}

/* MW WP Form 確認画面・エラー */
.contact-page .mw_wp_form .error {
    color: #e71c24;
    font-size: 12px;
    margin-top: 5px;
}

.contact-page .mw_wp_form_confirm .form-field {
    align-items: flex-start;
}

/* お問い合わせページのレスポンシブ対応 */
@media (max-width: 768px) {
    .contact-page .contact-section {
        padding: 40px 20px;
    }
    
    .contact-page .text-wrapper-2 {
        width: 100%;
        max-width: 619px;
    }
    
    .contact-page .contact-form-container {
        padding: 20px;
        margin: 20px 0;
    }
    
    .contact-page .form-field {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 15px 0;
    }
    
    .contact-page .field-label {
        min-width: auto;
        width: 100%;
    }
    
    .contact-page .field-input {
        width: 100%;
    }
    
    .contact-page .form-input,
    .contact-page .form-textarea,
    .contact-page .field-input input,
    .contact-page .field-input select,
    .contact-page .field-input textarea {
        width: 100%;
    }

    .contact-page .submit-button,
    .contact-page .form-submit input[type="submit"] {
        width: 100%;
        max-width: 356px;
        justify-content: center;
    }
}

/* 各施設連絡先セクション */
.contact-page .address-section {
    background-color: #fffcf2;
    padding: 80px 0;
}

.contact-page .facilities-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.contact-page .facility-card {
    background-color: #ffffff;
    border-radius: 20px;
    border: 1px solid #e5e5e5;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-page .facility-card:hover {
    transform: translateY(-5px);
    box-shadow: 0px 5px 25px rgba(0, 0, 0, 0.15);
}

.contact-page .facility-header {
    background-color: #609d4a;
    padding: 20px;
    text-align: center;
}

.contact-page .facility-name {
    color: #ffffff;
    font-size: 23px;
    font-weight: bold;
    margin: 0;
    line-height: 1.2;
}

.contact-page .facility-content {
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-page .phone-number {
    color: #ea580c;
    font-size: 32px;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    display: block;
    transition: color 0.3s ease;
}

.contact-page .phone-number:hover {
    color: #c2410c;
    text-decoration: underline;
}

.contact-page .phone-number:focus {
    outline: 2px solid #ea580c;
    outline-offset: 2px;
    border-radius: 4px;
}

.contact-page .location-info,
.contact-page .hours-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.contact-page .info-label {
    color: #483c34;
    font-size: 16px;
    font-weight: 500;
    margin: 0;
}

.contact-page .address-text {
    color: #483c34;
    font-size: 14px;
    line-height: 1.4;
    font-style: normal;
    margin: 0;
}

.contact-page .hours-text {
    color: #483c34;
    font-size: 14px;
    margin: 0;
}

/* 各施設連絡先のレスポンシブ対応 */
@media (max-width: 1024px) {
    .contact-page .facilities-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .contact-page .address-section {
        padding: 60px 0;
    }
    
    .contact-page .facilities-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 0 15px;
    }
    
    .contact-page .facility-content {
        padding: 25px 20px;
    }
    
    .contact-page .phone-number {
        font-size: 28px;
    }
    
    .contact-page .facility-name {
        font-size: 20px;
    }
}

.recruitment-page .table-body .row,
.recruitment-page .table-body .div,
.recruitment-page .table-body .row-2,
.recruitment-page .table-body .row-3,
.recruitment-page .table-body .row-4,
.recruitment-page .table-body .row-5 {
    display: flex;
    border-bottom: 1px solid #e5e5e5;
}

.recruitment-page .table-body .row:last-child,
.recruitment-page .table-body .div:last-child,
.recruitment-page .table-body .row-2:last-child,
.recruitment-page .table-body .row-3:last-child,
.recruitment-page .table-body .row-4:last-child,
.recruitment-page .table-body .row-5:last-child {
    border-bottom: none;
}

.recruitment-page .table-body .cell,
.recruitment-page .table-body .cell-2,
.recruitment-page .table-body .cell-3,
.recruitment-page .table-body .cell-4,
.recruitment-page .table-body .cell-5,
.recruitment-page .table-body .cell-6,
.recruitment-page .table-body .cell-7,
.recruitment-page .table-body .div-wrapper {
    background-color: #f8f9fa;
    padding: 20px;
    min-width: 200px;
    border-right: 1px solid #e5e5e5;
    display: flex;
    align-items: center;
}

.recruitment-page .table-body .data,
.recruitment-page .table-body .data-2,
.recruitment-page .table-body .data-3,
.recruitment-page .table-body .data-4,
.recruitment-page .table-body .data-5,
.recruitment-page .table-body .element-wrapper,
.recruitment-page .table-body .descriptions-wrapper {
    padding: 20px;
    flex: 1;
    display: flex;
    align-items: center;
}

.recruitment-page .table-body .text-wrapper,
.recruitment-page .table-body .text-wrapper-2,
.recruitment-page .table-body .text-wrapper-4,
.recruitment-page .table-body .text-wrapper-5,
.recruitment-page .table-body .text-wrapper-7,
.recruitment-page .table-body .text-wrapper-8,
.recruitment-page .table-body .text-wrapper-10,
.recruitment-page .table-body .text-wrapper-11 {
    font-weight: bold;
    color: #483c34;
    font-size: 16px;
}

.recruitment-page .table-body .text-wrapper-3,
.recruitment-page .table-body .text-wrapper-6,
.recruitment-page .table-body .text-wrapper-9 {
    color: #483c34;
    font-size: 16px;
    line-height: 1.6;
}

.recruitment-page .table-body .data .details {
    font-weight: bold;
    color: #483c34;
    font-size: 16px;
    margin-bottom: 5px;
}

.recruitment-page .table-body .data .term {
    color: #666;
    font-size: 14px;
}

.recruitment-page .table-body .element {
    color: #483c34;
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 15px 0;
}

.recruitment-page .table-body .element-2 {
    color: #483c34;
    font-size: 16px;
    line-height: 1.6;
}

.recruitment-page .table-body .p {
    color: #483c34;
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
}

.recruitment-page .table-body .element-3 {
    color: #483c34;
    font-size: 16px;
    line-height: 1.6;
}

.recruitment-page .table-body .data-5 .term-2 {
    font-weight: bold;
    color: #483c34;
    font-size: 16px;
    margin-bottom: 10px;
}

.recruitment-page .table-body .data-5 .details-2,
.recruitment-page .table-body .data-5 .details-3,
.recruitment-page .table-body .data-5 .details-4 {
    color: #483c34;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 5px;
}

/* 採用情報表のレスポンシブ対応 */
@media (max-width: 768px) {
    .recruitment-page .recruitment-table {
        display: block;
    }
    
    .recruitment-page .recruitment-table thead,
    .recruitment-page .recruitment-table tbody,
    .recruitment-page .recruitment-table th,
    .recruitment-page .recruitment-table td,
    .recruitment-page .recruitment-table tr {
        display: block;
    }
    
    .recruitment-page .recruitment-table tr {
        border: 1px solid #e5e5e5;
        border-radius: 8px;
        margin-bottom: 15px;
        overflow: hidden;
    }
    
    .recruitment-page .recruitment-table th {
        background-color: #f8f9fa;
        border-right: none;
        border-bottom: 1px solid #e5e5e5;
        min-width: auto;
        width: 100%;
    }
    
    .recruitment-page .recruitment-table td {
        border-bottom: none;
        width: 100%;
    }
    
    .recruitment-page .recruitment-table tr:last-child th,
    .recruitment-page .recruitment-table tr:last-child td {
        border-bottom: 1px solid #e5e5e5;
    }
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .recruitment-page .message-container {
        padding: 30px 20px;
        margin: 0 20px;
    }

    .recruitment-page .message-content {
        font-size: 16px;
    }

    .recruitment-page .human-images {
        flex-direction: column;
        align-items: center;
    }

    .recruitment-page .human-image {
        width: 100%;
        max-width: 300px;
        height: 200px;
    }

    .recruitment-page .job-content {
        flex-direction: column;
    }

    .recruitment-page .job-nav {
        width: 100%;
        margin-bottom: 20px;
    }

    .recruitment-page .job-content-area {
        padding: 20px;
    }
}/* ============================================ */
/* エントリーページ用CSS                        */
/* .contact-pageのフォームスタイルを共用          */
/* style.cssの末尾に追加してください              */
/* ============================================ */

/* エントリーページ MV */
.entry-mv {
    background: linear-gradient(135deg, #609d4a 0%, #4a7d3a 100%);
}

/* エントリーページ セクション */
.entry-section {
    padding: 60px 0 80px;
    background-color: #f5f5f0;
}

/* フォームスタイル共通化 - .contact-pageのスタイルを.entry-pageにも適用 */
.entry-page .contact-form-container {
    background-color: #ffffff;
    border-radius: 22px;
    box-shadow: 0px 2px 12px rgba(35, 56, 81, 0.1);
    padding: 40px;
    margin: 40px 0;
}

.entry-page .contact-form-header {
    margin-bottom: 40px;
}

.entry-page .form-subtitle {
    display: block;
    color: #fcc800;
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 4px;
}

.entry-page .form-title-text {
    color: #483c34;
    font-size: 28px;
    font-weight: bold;
    margin: 0;
    line-height: 1.8;
}

.entry-page .contact-form-body {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.entry-page .form-fields {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.entry-page .form-field {
    border-top: 1px solid #ededed;
    border-bottom: 1px solid #ededed;
    padding: 20px 0;
    display: flex;
    align-items: center;
    gap: 20px;
}

.entry-page .form-field:first-child {
    border-top: none;
}

.entry-page .form-field:last-child {
    border-bottom: none;
}

.entry-page .field-label {
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: 200px;
    flex-shrink: 0;
}

.entry-page .required-badge {
    background-color: #e71c24;
    color: #ffffff;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 2px;
    font-weight: 400;
    white-space: nowrap;
}

.entry-page .optional-badge {
    background-color: #aaaaaa;
    color: #ffffff;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 2px;
    font-weight: 400;
    white-space: nowrap;
}

.entry-page .field-name {
    color: #483c34;
    font-weight: 500;
    margin: 0;
}

.entry-page .field-input {
    flex: 1;
    position: relative;
}

.entry-page .form-input,
.entry-page .field-input input[type="text"],
.entry-page .field-input input[type="email"],
.entry-page .field-input input[type="tel"],
.entry-page .field-input select {
    width: 100%;
    height: 36px;
    background-color: #f1f1f1;
    border: none;
    border-radius: 2px;
    padding: 0 15px;
    font-size: 14px;
    color: #483c34;
}

.entry-page .form-input:focus,
.entry-page .field-input input:focus,
.entry-page .field-input select:focus {
    outline: none;
    background-color: #e8f5e8;
}

.entry-page .form-textarea,
.entry-page .field-input textarea {
    width: 100%;
    height: 120px;
    background-color: #f1f1f1;
    border: none;
    border-radius: 2px;
    padding: 15px;
    font-size: 14px;
    color: #483c34;
    resize: vertical;
    font-family: inherit;
}

.entry-page .form-textarea:focus,
.entry-page .field-input textarea:focus {
    outline: none;
    background-color: #e8f5e8;
}

.entry-page .form-submit {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.entry-page .submit-button,
.entry-page .form-submit input[type="submit"] {
    background-color: #609d4a;
    color: #ffffff;
    border: none;
    border-radius: 20px;
    padding: 20px 40px;
    font-size: 17px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: background-color 0.3s ease;
}

.entry-page .submit-button:hover,
.entry-page .form-submit input[type="submit"]:hover {
    background-color: #4a7d3a;
}

/* MW WP Form の確認画面・完了画面スタイル */
.entry-page .mw_wp_form .horizontal-item {
    margin-right: 15px;
}

.entry-page .mw_wp_form_confirm .form-field {
    align-items: flex-start;
}

.entry-page .mw_wp_form_complete {
    text-align: center;
    padding: 60px 20px;
}

/* MW WP Form エラーメッセージ */
.entry-page .mw_wp_form .error {
    color: #e71c24;
    font-size: 12px;
    margin-top: 5px;
}

/* エントリーページのレスポンシブ対応 */
@media (max-width: 768px) {
    .entry-section {
        padding: 40px 20px;
    }

    .entry-page .contact-form-container {
        padding: 20px;
        margin: 20px 0;
    }

    .entry-page .form-field {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 15px 0;
    }

    .entry-page .field-label {
        min-width: auto;
        width: 100%;
    }

    .entry-page .field-input {
        width: 100%;
    }

    .entry-page .form-input,
    .entry-page .form-textarea,
    .entry-page .field-input input,
    .entry-page .field-input select,
    .entry-page .field-input textarea {
        width: 100%;
    }

    .entry-page .submit-button,
    .entry-page .form-submit input[type="submit"] {
        width: 100%;
        max-width: 356px;
        justify-content: center;
    }

    .entry-page .form-title-text {
        font-size: 22px;
    }
}

/* 施設ページ 特徴セクション画像 */
.kuramae-feature-image {
    margin-bottom: 20px;
}

.kuramae-feature-image img {
    width: 100%;
    border-radius: 10px;
    object-fit: cover;
    max-height: 400px;
}

/* 2026-05-07: entryページのみMV波形svgを差替（fill色変更版） */
.entry-page #page-mv::after {
    background-image: url(./img/mv-wave-entry.svg);
}

/* 2026-06-18: トップMVキャッチのスマホ最適化。
   ・文字をスマホでは小さく（縦書き2列が窮屈にならないように）
   ・縦書きflex列を縮ませない(flex:0 0 auto)＝iOS WebKitでの2列重なりを防止
   ・コンテナ幅をmax-contentで明示しつつ画面内に収める
   PC版(769px以上)の表示は不変。 */
@media (max-width: 768px) {
    /* スマホMVキャッチ：flexで2列を頭揃え横並び（PCと同じ）。
       ・align-items:flex-start で上端を揃える（段違い防止）
       ・gap で列の間隔、margin:0 で旧margin-leftを打消し
       ・flex:0 0 auto ＋ min-width:max-content で縦書き列が幅0に潰れるのを防止
         （iOS WebKitのflex縦書き潰れ＝重なり対策。幅制約は付けない） */
    #key-visual .main-copy {
        width: auto;
        top: 8%;
        padding: 24px 24px 24px 0;
    }
    #key-visual .column-wrapper {
        align-items: flex-start;
    }
    #key-visual .page-title {
        font-size: 1.8rem;
        flex: 0 0 auto;
        min-width: max-content;
        margin: 0;
    }
    /* row-reverseのため:first-child(=皆様の笑顔と)が右側。その左marginで2列の間隔を確保
       （iOS WebKitでgapが効かないためmarginで確実に。PC同様の開き） */
    #key-visual .page-title:first-child {
        margin-left: 40px;
    }
}
