@charset "UTF-8";

html {
    scroll-behavior: smooth;
}

header {
    z-index: 9999;
}

/* ----------------------------------------------------------------
   セクション余白用CSS変数（デフォルト値）
   CSSファイル内の値を変更することで余白調整可能
---------------------------------------------------------------- */
:root {
    /* ========== 事業所について ========== */
    --tso-about-pt: 3rem;
    --tso-about-pb: 11rem;
    --tso-about-title-mb: 2.5rem;
    --tso-about-img-mb: 3rem;
    --tso-about-list-mt: 3rem;
    --tso-about-list-padding: 4rem 6rem 5rem;

    /* ========== 新着情報 ========== */
    --tso-latest-pt: 3rem;
    --tso-latest-pb: 5rem;
    --tso-latest-title-mb: 2.5rem;
    --tso-latest-list-gap: 3rem;
    --tso-latest-btn-mt: 3rem;

    /* ========== 介護福祉施設 ========== */
    --tso-facility-pt: 3rem;
    --tso-facility-pb: 5rem;
    --tso-facility-title-mb: 3.3rem;
    --tso-facility-content-title-mb: 2.6rem;
    --tso-facility-swiper-mb: 2rem;
    --tso-facility-content-mt: 1.2rem;
    --tso-facility-content-mb: 2.9rem;
    --tso-facility-accordion-mb: -3.6rem;

    /* ========== ショートステイ ========== */
    --tso-shortstay-pt: 3rem;
    --tso-shortstay-pb: 3.5rem;
    --tso-shortstay-title-mb: 3rem;
    --tso-shortstay-table-mb: 2.5rem;

    /* ========== デイサービス ========== */
    --tso-dayservice-pt: 3rem;
    --tso-dayservice-pb: 3.6rem;
    --tso-dayservice-title-mb: 3rem;
    --tso-dayservice-list-mb: 2.7rem;

    /* ========== 居宅介護支援 ========== */
    --tso-homecare-pt: 3rem;
    --tso-homecare-pb: 15rem;
    --tso-homecare-title-mb: 3rem;
    --tso-homecare-table-mb: 4rem;

    /* ========== 入所申込 ========== */
    --tso-admission-pt: 3rem;
    --tso-admission-pb: 4.7rem;
    --tso-admission-title-mb: 3rem;
    --tso-admission-content-mt: 1.5rem;

    /* ========== 各種情報 ========== */
    --tso-info-pt: 3rem;
    --tso-info-pb: 3rem;
    --tso-info-title-mb: 3rem;

    /* ========== リンク集 ========== */
    --tso-links-pt: 3rem;
    --tso-links-pb: 3.7rem;
    --tso-links-title-mb: 3rem;

    /* ========== アクセス ========== */
    --tso-access-pt: 3rem;
    --tso-access-pb: 5rem;
    --tso-access-title-mb: 3rem;
    --tso-access-map-mb: 1.5rem;
    --tso-access-contact-mt: 4.5rem;
}

.tso_clip {
    overflow-x: clip;
    padding-top: 7.8rem;
    background-color: #FFFFFF;
}

.tso_visual__box {
    position: relative;
}

.tso_mainvisual {
    position: absolute;
    top: 0;
    width: 100%;
    height: 42.1rem;
    object-fit: cover;
}

.tso_back__color {
    width: 100%;
    background-color: #FFF7E2;
}

.tso_main_box {
    width: 100%;
}

.tso_layout__flex {
    padding-top: 28rem;
    display: flex;
    font-family: 'Noto Sans', sans-serif;
}

/* ----------------------------------------------------------------
   サイドバー
---------------------------------------------------------------- */
.tso_sidebar {
    position: sticky;
    top: 14rem;
    padding: 2.5rem 0.9rem 3.4rem 3.5rem;
    background-color: #F5C868;
    border-radius: 2rem;
    min-width: 19.8rem;
    margin-left: 2rem;
    margin-bottom: 5rem;
    width: fit-content;
    height: fit-content;
    z-index: 100;
    transition: top 0.2s ease;
}

.tso_sidebar h3,
.tso_sidebar a {
    color: #5B2A08;
}

.tso_sidebar h3 {
    width: fit-content;
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
    font-weight: 700;
    position: relative;
}

.tso_sidebar h3::before {
    position: absolute;
    top: 0.5rem;
    left: -2.2rem;
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    background-color: #F4A805;
    border-radius: 50%;
    display: inline-block;
    margin-right: 1rem;
}

.tso_sidebar_list {
    padding-left: 0.5rem;
}

.tso_sidebar_list li:first-child {
    padding-top: 0;
}

.tso_sidebar_list li {
    margin-top: 0.8rem;
    position: relative;
    line-height: 1.8rem;
}

.tso_sidebar_list li::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -0.6rem;
    width: 0.4rem;
    height: 0.1rem;
    background-color: #5B2A08;
}

.tso_sidebar a {
    font-size: 1.6rem;
    font-weight: 300;
}

/* ----------------------------------------------------------------
   セクション共通
---------------------------------------------------------------- */
.tso_about__section,
.tso_latest__section,
.tso_about_office,
.tso_facility_introduction,
.tso_dayservice__section,
.tso_link__collection__section,
.tso_admission__section,
.tso_access {
    position: relative;
    left: -21.8rem;
    padding-left: 21.8rem;
    width: calc(100% + 21.8rem);
    z-index: 2;
}

/* スクロールマージン（アンカーリンク位置調整） */
#tso_about,
#tso_latest,
#tso_facility,
#tso_shortstay,
#tso_dayservice,
#tso_homecare,
#tso_admission,
#tso_info,
#tso_links,
#tso_access {
    scroll-margin-top: 11rem;
}

.tso_about__box,
.tso_news_box,
.tso_facility_introduction__box,
.tso_about_office__box,
.tso_access__box,
.tso_dayservice__box,
.tso_section_content,
.tso_link__collection__box {
    padding-left: 3.5rem;
    width: 98.3rem;
}

.tso_about_office__box {
    margin-top: 2.9rem;
}

/* ----------------------------------------------------------------
   セクションインナー バリエーション
---------------------------------------------------------------- */
.tso_facility_inner,
.tso_section_inner {
    position: relative;
    left: -21.8rem;
    padding-left: 21.8rem;
    width: calc(100%);
    z-index: 2;
    border-radius: 0 0 10rem 10rem;
    padding-top: 3rem;
    padding-bottom: 5rem;
}

.tso_facility_inner {
    padding-top: 3rem;
    padding-bottom: 3.6rem;
}

.tso_section_inner {
    padding-top: 3rem;
    padding-bottom: 4rem;
}

.tso_facility_inner {
    background-color: #FFF7E2;
}

.tso_section_inner--cream {
    background-color: #FFF7E2;
}

.tso_section_inner--white {
    background-color: #FFFFFF;
}

/* セクションごとの個別調整 */
.tso_section_inner--tigusano {
    /* 千草の苑ページ共通 */
    padding-top: 3rem;
    padding-bottom: 5rem;
}

.tso_section_inner--about {
    /* 事業所について */
    padding-top: var(--tso-about-pt);
    padding-bottom: var(--tso-about-pb);
}

.tso_section_inner--latest {
    /* 新着情報 */
    padding-top: var(--tso-latest-pt);
    padding-bottom: var(--tso-latest-pb);
}

.tso_section_inner--facility {
    /* 施設紹介 */
    padding-top: var(--tso-facility-pt);
    padding-bottom: var(--tso-facility-pb);
}

.tso_section_inner--shortstay {
    /* ショートステイ */
    padding-top: var(--tso-shortstay-pt);
    padding-bottom: var(--tso-shortstay-pb);
}

.tso_section_inner--dayservice {
    /* デイサービス */
    padding-top: var(--tso-dayservice-pt);
    padding-bottom: var(--tso-dayservice-pb);
}

.tso_section_inner--homecare {
    /* 居宅介護支援 */
    padding-top: var(--tso-homecare-pt);
    padding-bottom: var(--tso-homecare-pb);
}

.tso_section_inner--info {
    /* 各種情報 */
    padding-top: var(--tso-info-pt);
    padding-bottom: var(--tso-info-pb);
}

.tso_section_inner--admission {
    /* 入所申込 */
    padding-top: var(--tso-admission-pt);
    padding-bottom: var(--tso-admission-pb);
}

.tso_section_inner--links {
    /* リンク集 */
    padding-top: var(--tso-links-pt);
    padding-bottom: var(--tso-links-pb);
}

.tso_section_inner--access {
    /* アクセス */
    padding-top: var(--tso-access-pt);
    padding-bottom: var(--tso-access-pb);
}

/* ----------------------------------------------------------------
   事業所について
---------------------------------------------------------------- */
.tso_about__section {
    padding-top: var(--tso-about-pt);
    padding-bottom: var(--tso-about-pb);
    background-color: #FFF7E2;
    margin-top: 14.2rem;
    overflow-y: clip;
}

.tso_about__section::after {
    position: absolute;
    content: '';
    left: 1rem;
    width: 170rem;
    height: 162rem;
    background-color: #F4A805;
    bottom: -94rem;
    border-radius: 100%;
    z-index: -1;
}

.tso_about__section h1,
.tso_about__section h2 {
    padding: 1.3rem 3.5rem;
    min-width: 38.6rem;
    width: fit-content;
    background-color: #F4A805;
    border-radius: 0 9rem 9rem 0;
    color: #FFFFFF;
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: var(--tso-about-title-mb);
}

.tso_about__section h1,
.tso_latest__section h2 {
    padding: 1.3rem 3.5rem;
    min-width: 38.6rem;
    width: fit-content;
    background-color: #F4A805;
    border-radius: 0 9rem 9rem 0;
    color: #FFFFFF;
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: var(--tso-latest-title-mb);
}

.tso_about__box {
    width: 97.9rem;
    position: relative;
}

.tso_about__slideshow {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 40rem;
    border-radius: 2rem;
    overflow: hidden;
    margin-bottom: 3rem;
}

.tso_about__slideshow img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tso_about__box p {
    font-family: 'Noto Sans CJK JP', sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.8rem;
    color: #000000;
}

.tso_about__list_wrapper {
    background-color: #FFFFFF;
    padding: var(--tso-about-list-padding);
    border-radius: 6rem;
}

.tso_about__list_wrapper:nth-of-type(1) {
    margin-top: var(--tso-about-list-mt);
}

.tso_about__list_wrapper:nth-of-type(2) {
    margin-top: 6rem;
}

.tso_about__list_wrapper h3 {
    font-size: 3rem;
    font-family: 'Noto Sans CJK JP', sans-serif;
    font-weight: 700;
    color: #000000;
    text-align: center;
    margin-bottom: 0.2rem;
}

.tso_about__dl_list dt,
.tso_about__dl_list dd {
    font-family: 'Noto Sans CJK JP', sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.6rem;
    color: #000000;
}

.tso_about__dl_list dd {
    max-width: 62rem;
    width: 100%;
}

.tso_about__dl_list div:first-of-type {
    padding: 1rem 0 1rem 3rem;
}

.tso_about__dl_list div {
    padding: 2rem 0 1rem 3rem;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 0.1rem solid #000000;
}

.tso_about__dl_list ul {
    padding-left: 1.8rem;
}

.tso_about__dl_list li:first-child {
    margin-top: 0;
}

.tso_about__dl_list li {
    margin-top: 1rem;
    position: relative;
}

.tso_about__dl_list li::before {
    position: absolute;
    content: '';
    top: 1.3rem;
    left: -1.2rem;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background-color: #000;
}

.tso_span__space {
    padding-left: 1.8rem;
}

/* ----------------------------------------------------------------
   新着情報
---------------------------------------------------------------- */
.tso_latest__section {
    padding-top: var(--tso-latest-pt);
    padding-bottom: var(--tso-latest-pb);
    background-color: #FFFFFF;
}

.tso_news_list,
.tso_news_data_item {
    display: flex;
    flex-wrap: wrap;
}

.tso_news_list {
    gap: var(--tso-latest-list-gap);
}

.tso_news_data_item {
    gap: 0.7rem 0;
    margin: 1.1rem 0 0.9rem;
}

.tso_news_item {
    width: 29.6rem;
    padding: 1rem 1rem 4rem;
    background-color: #FFF7E2;
    border-radius: 2rem;
    display: block;
}

.tso_news__image,
.tso_news__image img {
    height: 24rem;
    border-radius: 2rem;
}

.tso_news_title {
    font-size: 1.7rem;
    font-weight: 500;
    font-family: 'Noto Sans CJK JP', sans-serif;
    color: #000000;
}

.tso_news_data_item time,
.tso_news_category {
    font-size: 1.6rem;
    font-weight: 500;
    font-family: 'Noto Sans CJK JP', sans-serif;
    line-height: 1.8rem;
}

.tso_news_data_item time {
    color: #000000;
}

.tso_news_category {
    margin-left: 0.7rem;
    padding-left: 0.7rem;
    color: #F4A805;
    border-left: 0.1rem solid #F4A805;
}

.tso_news__list_button {
    min-width: 27rem;
    padding: 1rem 3.3rem 1rem 3.4rem;
    background-color: #FFF7E2;
    display: flex;
    width: fit-content;
    margin: var(--tso-latest-btn-mt) auto 0;
    border-radius: 2.5rem;
    font-size: 1.6rem;
    font-weight: 700;
    font-family: 'Noto Sans CJK JP', 'sans-serif';
    color: #F4A805;
    gap: 3.1rem;
}

.tso_news__list_button span {
    display: block;
    width: 6rem;
    height: 3rem;
    position: relative;
    background-color: #F4A805;
    border-radius: 1.7rem;
}

.tso_news__list_button span span::before,
.tso_news__list_button span span::after {
    position: absolute;
    content: '';
}

.tso_news__list_button span span::after {
    width: 1.6rem;
    height: 2px;
    top: 50%;
    right: 2rem;
    transform: translateY(-50%);
    border-bottom: 0.2rem #FFF7E2 solid;
}

.tso_news__list_button span span::before {
    width: 0.6rem;
    height: 0.6rem;
    top: 0;
    bottom: 0;
    right: 2rem;
    margin: auto;
    transform: rotate(45deg);
    border-top: 0.2rem #FFF7E2 solid;
    border-right: 0.2rem #FFF7E2 solid;
}

/* ----------------------------------------------------------------
   セクションタイトル・コンテンツタイトル
---------------------------------------------------------------- */
.tso_section_title {
    width: 38.5rem;
    height: 7rem;
    background-color: #F4A805;
    color: white;
    padding: 1.3rem 3.5rem;
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: var(--tso-facility-title-mb);
    border-radius: 0 9rem 9rem 0;
}

.tso_content_title {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: var(--tso-facility-content-title-mb);
    padding-right: 0.5rem;
    margin-left: 0.4rem;
}

.tso_content_title::before {
    content: '';
    display: inline-block;
    background-color: #F4A805;
    width: 2.5rem;
    height: 2.5rem;
    margin-right: 0.5rem;
    border-radius: 50%;
    position: relative;
    top: 0.3rem;
}

.tso_inner_title {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 1.2rem;
}

/* ----------------------------------------------------------------
   施設紹介
---------------------------------------------------------------- */
.tso_facility_introduction {
    background-color: #ffffff;
}

.tso_facility_introduction_swiper {
    max-width: 94.7rem;
}

.tso_facility_swiper_main_wrap {
    position: relative;
    background-color: #F3DFAF;
    border-radius: 1.2rem;
    padding: 3.3rem 7rem;
}

.tso_facility_swiper_main {
    position: relative;
    overflow: hidden;
    width: 70rem;
}

.tso_facility_swiper_page {
    position: absolute;
    top: 3.3rem;
    left: 2rem;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    color: #FFFFFF;
    width: 7rem;
    height: 3.5rem;
    background-color: #F4A805;
    padding: 1rem 1.2rem;
    z-index: 5;
}

.tso_facility_swiper_item {
    margin: 0;
}

.tso_facility_swiper_item img {
    width: 70rem;
    height: 52rem;
    display: block;
}

.tso_facility_swiper_item figcaption {
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    margin-top: 1rem;
}

.tso_facility_swiper_btn {
    width: 10rem;
    height: 5rem;
    padding: 1.1rem 4rem;
    box-sizing: border-box;
    border: none;
    border-radius: 2.5rem;
    background-color: #F4A805;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    cursor: pointer;
    color: #FFFFFF;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1;
}

.tso_facility_swiper_prev {
    left: 0;
}

.tso_facility_swiper_next {
    right: 0;
}

.tso_facility_swiper_thumb_wrap {
    position: relative;
    width: 94.7rem;
    margin-top: var(--tso-facility-swiper-mb);
    margin-left: auto;
    margin-right: auto;
    background-color: #F3DFAF;
    border-radius: 1.2rem;
    padding: 1.5rem 4.2rem 1.5rem 2.4rem;
    box-sizing: border-box;
}

.tso_facility_swiper_thumb .swiper-slide {
    width: 13.5rem;
    height: 13.5rem;
    opacity: 0.7;
    cursor: pointer;
    border: 0.3rem solid transparent;
    transition: opacity 0.2s ease, border-color 0.2s ease;
}

.tso_facility_swiper_thumb .swiper-slide-thumb-active {
    opacity: 1;
    border-color: #FF2F00;
}

.tso_facility_swiper_thumb .swiper-slide img {
    width: 100%;
    height: 100%;
    display: block;
}

.tso_facility_swiper_thumb_next {
    right: 0;
}

.tso_facility_content {
    margin: var(--tso-facility-content-mt) 0 var(--tso-facility-content-mb);
}

.tso_facility_content:last-child {
    margin-bottom: 6rem;
}

.tso_inner_flex__1,
.tso_inner_flex__2 {
    display: flex;
    gap: 1rem;
}

.tso_inner_flex__1 {
    margin-bottom: 0.9rem;
    padding-left: 0.5rem;
    gap: 1.6rem;
}

.tso_inner_flex__2 {
    margin-bottom: 2.4rem;
    gap: 1rem;
}

.tso_inner_flex__1 img{
    width: 3rem;
    height: auto;
}

.tso_inner_flex__2 img{
    width: 4rem;
}

.tso_inner_flex__1 p,
.tso_inner_flex__1 a,
.tso_inner_flex__2 p,
.tso_inner_flex__2 a {
    font-size: 2rem;
    font-weight: 500;
    color: #000000;
}

/* ----------------------------------------------------------------
   ショートステイ・居宅介護支援・各種情報（共通）
---------------------------------------------------------------- */
.tso_about_office {
    background-color: #FFF7E2;
}

.tso_table_wrapper {
    width: 94.7rem;
    background-color: #FFF7E2;
    padding: 4.3rem 6rem 5rem;
    border-radius: 6rem;
    margin-bottom: var(--tso-shortstay-table-mb);
}

.tso_corporate_title {
    font-size: 3rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 0.3rem;
}

/* ----------------------------------------------------------------
   アコーディオン
---------------------------------------------------------------- */
.tso_acordion {
    height: fit-content;
    margin: 0 0 var(--tso-facility-accordion-mb);
}

/* aタグをアコーディオンとして使う場合（リンク専用、開閉なし） */
a.tso_acordion {
    display: block;
    text-decoration: none;
    width: 100%;
    margin-bottom: 1.5rem;
}

/* アコーディオン リンクタイプ（別タブ遷移） */
a.tso_acordion--link {
    display: block;
    text-decoration: none;
    cursor: pointer;
}

.tso_acordion_content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #F4A805;
    border-radius: 999rem;
    padding: 0.7rem 0.8rem 0.6rem 2.8rem;
    cursor: pointer;
    position: relative;
    z-index: 2;
}

.tso_acordion.tso_is_open .tso_acordion_content {
    background-color: #F4A805;
}

.tso_acordion_title {
    font-size: 2rem;
    line-height: 1;
    font-weight: 700;
    color: #FFFFFF;
    flex-wrap: nowrap;
}

.tso_acordion.tso_is_open .tso_acordion_title {
    color: #FFFFFF;
}

.tso_acordion_btn {
    width: 8rem;
    height: 4rem;
    border-radius: 2.5rem;
    background-color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tso_acordion_btn::before {
    content: "↓";
    font-size: 2rem;
    line-height: 1;
    color: #F4A805;
}

.tso_acordion.tso_is_open .tso_acordion_btn {
    background-color: #FFFFFF;
}

.tso_acordion.tso_is_open .tso_acordion_btn::before {
    content: "↑";
    color: #F4A805;
}

/* aタグのアコーディオン（リンク専用）は矢印を横向きに */
a.tso_acordion .tso_acordion_btn::before {
    content: "→" !important;
}

/* アコーディオン クリームバリエーション */
.tso_acordion_content--cream {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #FFF7E2;
    border-radius: 999rem;
    padding: 0.5rem 0.8rem 0.7rem 2.6rem;
    cursor: pointer;
    position: relative;
    z-index: 2;
}

.tso_acordion.tso_is_open .tso_acordion_content--cream {
    background-color: #F4A805;
}

.tso_acordion_content--cream .tso_acordion_title {
    color: #5B2A08;
}

.tso_acordion.tso_is_open .tso_acordion_content--cream .tso_acordion_title {
    color: #FFFFFF;
}

.tso_acordion_btn--orange {
    width: 8rem;
    height: 4rem;
    border-radius: 2.5rem;
    background-color: #F4A805;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tso_acordion_btn--orange::before {
    content: "↓";
    font-size: 2rem;
    line-height: 1;
    color: #FFFFFF;
}

.tso_acordion.tso_is_open .tso_acordion_btn--orange {
    background-color: #FFFFFF;
}

.tso_acordion.tso_is_open .tso_acordion_btn--orange::before {
    content: "↑";
    color: #F4A805;
}

/* aタグのアコーディオン（リンク専用）は矢印を横向きに */
a.tso_acordion .tso_acordion_btn--orange::before {
    content: "→" !important;
}

.tso_open_content {
    top:-5.3rem;
    z-index: 1;
    position: relative;
    height: 0;
    overflow: hidden;
    transition: height 0.3s ease;
    padding: 4.7rem 2.4rem 0;
    font-size: 1.6rem;
    border-radius: 2.5rem;
    background-color: #FFFFFF;
}

.tso_open_content li {
    margin-bottom: 1rem;
}

/* 介護福祉施設・ショートステイ・居宅介護支援のアコーディオン内コンテンツ */
#tso_facility .tso_open_content {
    background-color: #FFF;
}

#tso_shortstay .tso_open_content {
    background-color: #FFF8E2;
}

#tso_homecare .tso_open_content {
    background-color: #FFF7E2;
}

.tso_open_content::before,
.tso_open_content::after {
    content: "";
    display: block;
    height: 1.5rem;
}

.tso_short_stay_text_accent {
    font-weight: 500;
    margin-top: 2rem;
}

/* ----------------------------------------------------------------
   デイサービス
---------------------------------------------------------------- */
.tso_dayservice__section,
.tso_link__collection__section {
    background-color: #FFFFFF;
}

.tso_ds__list_bottom {
    margin-bottom: var(--tso-dayservice-list-mb);
}

/* ----------------------------------------------------------------
   入所申込
---------------------------------------------------------------- */
.tso_admission__section {
    background-color: #FFFFFF;
}

.tso_section_content {
    margin-top: -1rem;
}

.tso_section_content,
.tso_section_content__flex {
    font-size: 2rem;
    font-weight: 400;
    color: #000000;
}

.tso_section_content__flex {
    display: flex;
    gap: 1rem;
    margin-top: var(--tso-admission-content-mt);
}

.tso_section_content__flex img {
    width: 3rem;
    height: auto;
}

.tso_section_content__flex a {
    color: #000000;
    font-weight: 500;
}

/* ----------------------------------------------------------------
   アクセス
---------------------------------------------------------------- */
.tso_access {
    position: relative;
    background-color: #FFFFFF;
}

.tso_map iframe {
    width: 94.7rem;
    height: 40rem;
    border-radius: 2rem;
    margin-bottom: var(--tso-access-map-mb);
}

.tso_access_content_wrap {
    display: flex;
    gap: 2.5rem;
}

.tso_access_title {
    margin-top: -0.2rem;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 1.7rem;
}

/* ----------------------------------------------------------------
   お問い合わせリンク
---------------------------------------------------------------- */
.tso_contact_link {
    width: 94.7rem;
    padding: 2.9rem 5rem 2.5rem;
    background-color: #F4A805;
    color: white;
    border-radius: 5rem 0 5rem 0;
    font-weight: 500;
    font-family: "Noto Sans";
}

.tso_contact_title {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.tso_contact_text {
    font-size: 1.6rem;
    margin-bottom: 1.3rem;
}

.tso_contact_tel {
    margin-bottom: 0.3rem;
    font-size: 1.8rem;
    margin-bottom: 0rem;
    display: flex;
    gap: 0.8rem;
    letter-spacing: 0.1rem;
}

.tso_contact_tel_icon {
    width: 3rem;
    height: 2.5rem;
}

.tso_web_link {
    font-size: 1.55rem;
    width: fit-content;
    height: fit-content;
    display: block;
}

.tso_web_link_btn {
    font-size: 1.6rem;
    font-weight: bold;
    color: #F4A805;
    background-color: white;
    display: inline-block;
    text-align: center;
    line-height: 3rem;
    border-radius: 1.7rem;
    width: 6rem;
    height: 3rem;
    margin-left: 1.7rem;
}

.ard__cont__back__one {
    background-color: #FFF7E2;
}

.ard__cont__back__two {
    background-color: #FFFFFF;
}

.accordion__cont__item {
    margin: 1.3rem 0 1.7rem;
    padding: 2.6rem 2.4rem 2.3rem;
    border-radius: 2rem;
}


.accordion__cont__title {
    font-size: 2rem;
    font-weight: 500;
    color: #000;
    text-align: center;
    margin-bottom: 2.5rem;
}

.accordion__cont__layout div {
    max-width: 85rem;
    width: 100%;
    padding-bottom: 0.5rem;
    border-bottom: #707070 0.2rem dotted;
    display: flex;
}

.text dt,
.text dd{
    padding: 0.5rem 0 0;
}

.accordion__cont__text {
    font-size: 1.6rem;
    font-weight: 500;
    color: #000;
    padding: 0.5rem 0;
}

.accordion__cont__text dt {
    max-width: 27rem;
    width: 27rem;
}

.accordion__cont__text p {
    text-align: center;
    width: 100%;
    margin: 0 auto;
    display: block;
    padding-bottom: 0.5rem;
    border-bottom: #707070 0.2rem dotted;
}

/* ================================================================
   SP用スタイル（699.98px以下）
================================================================ */
@media screen and (max-width: 699.98px) {

    .tso_layout__flex {
        padding: 0;
    }

    .tso_about__list_wrapper:nth-of-type(2) {
        padding-top: 3.1rem;
    }

    .accordion__cont__layout div {
        flex-flow: column;
        gap: 1rem;
    }

    /* SP用セクション余白CSS変数（デフォルト値） */
    :root {
        /* ========== 事業所について ========== */
        --tso-about-pt: 2rem;
        --tso-about-pb: 5rem;
        --tso-about-title-mb: 2.5rem;
        --tso-about-img-mb: 2rem;
        --tso-about-list-mt: 2.2rem;
        --tso-about-list-padding: 3rem 1rem;

        /* ========== 新着情報 ========== */
        --tso-latest-pt: 2rem;
        --tso-latest-pb: 5rem;
        --tso-latest-title-mb: 2.5rem;
        --tso-latest-list-gap: 1.5rem;
        --tso-latest-btn-mt: 3rem;

        /* ========== 介護福祉施設 ========== */
        --tso-facility-pt: 2rem;
        --tso-facility-pb: 4.3rem;
        --tso-facility-title-mb: 1.9rem;
        --tso-facility-content-title-mb: 1rem;
        --tso-facility-swiper-mb: 2rem;
        --tso-facility-content-mt: 3.1rem;
        --tso-facility-content-mb: 2rem;
        --tso-facility-accordion-mb: -3.3rem;

        /* ========== ショートステイ ========== */
        --tso-shortstay-pt: 2rem;
        --tso-shortstay-pb: 4rem;
        --tso-shortstay-title-mb: 1.9rem;
        --tso-shortstay-table-mb: 1.6rem;

        /* ========== デイサービス ========== */
        --tso-dayservice-pt: 2.5rem;
        --tso-dayservice-pb: 4rem;
        --tso-dayservice-title-mb: 1.9rem;
        --tso-dayservice-list-mb: 2rem;

        /* ========== 居宅介護支援 ========== */
        --tso-homecare-pt: 2rem;
        --tso-homecare-pb: 4.2rem;
        --tso-homecare-title-mb: 1.9rem;
        --tso-homecare-table-mb: 1.6rem;

        /* ========== 入所申込 ========== */
        --tso-admission-pt: 2rem;
        --tso-admission-pb: 5rem;
        --tso-admission-title-mb: 1.9rem;
        --tso-admission-content-mt: 2.2rem;

        /* ========== 各種情報 ========== */
        --tso-info-pt: 2rem;
        --tso-info-pb: 4rem;
        --tso-info-title-mb: 1.9rem;

        /* ========== リンク集 ========== */
        --tso-links-pt: 2rem;
        --tso-links-pb: 4rem;
        --tso-links-title-mb: 1.9rem;

        /* ========== アクセス ========== */
        --tso-access-pt: 2rem;
        --tso-access-pb: 5rem;
        --tso-access-title-mb: 1.9rem;
        --tso-access-map-mb: 1.5rem;
        --tso-access-contact-mt: 3rem;
    }

    /* レイアウト調整 */
    .tso_visual__box {
        padding-bottom: 0;
        position: relative;
        height: 33rem;
        background-color: #FFF7E2;
    }

    .tso_mainvisual {
        width: 100%;
        height: 33rem;
        border-radius: 0 0 8rem 0;
        object-fit: cover;
    }

    .tso_about__section,
    .tso_facility_introduction,
    .tso_about_office,
    .tso_dayservice__section,
    .tso_link__collection__section,
    .tso_admission__section,
    .tso_dayservice__box {
        width: 100%;
        padding-left: 0;
        position: relative;
        left: 0;
        margin-top: 0;
        padding-top: 0rem;
        padding-bottom: 0rem;
    }

    .tso_about__box,
    .tso_news_box,
    .tso_facility_introduction__box,
    .tso_about_office__box,
    .tso_access__box {
        padding-left: 0;
    }

    .tso_about__box {
        max-width: 34.5rem;
        width: 100%;
        margin: 0 auto;
    }

    /* セクションインナー SP用 */
    .tso_section_inner,
    .tso_facility_inner {
        width: 100%;
        left: 0;
        padding-left: 0;
        border-radius: 0 0 5rem 5rem;
    }

    .tso_section_inner {
        padding-top: 2rem;
    }

    /* セクションごとの個別調整 SP用 */
    .tso_section_inner--tigusano {
        /* 千草の苑ページ共通 */
        padding-top: 2rem;
        padding-bottom: 4rem;
    }

    .tso_section_inner--about {
        /* 事業所について */
        padding-top: var(--tso-about-pt);
        padding-bottom: var(--tso-about-pb);
    }

    .tso_section_inner--latest {
        /* 新着情報 */
        padding-top: var(--tso-latest-pt);
        padding-bottom: var(--tso-latest-pb);
    }

    .tso_section_inner--facility {
        /* 施設紹介 */
        padding-top: var(--tso-facility-pt);
        padding-bottom: var(--tso-facility-pb);
    }

    .tso_section_inner--shortstay {
        /* ショートステイ */
        padding-top: var(--tso-shortstay-pt);
        padding-bottom: var(--tso-shortstay-pb);
    }

    .tso_section_inner--dayservice {
        /* デイサービス */
        padding-top: var(--tso-dayservice-pt);
        padding-bottom: var(--tso-dayservice-pb);
    }

    .tso_section_inner--homecare {
        /* 居宅介護支援 */
        padding-top: var(--tso-homecare-pt);
        padding-bottom: var(--tso-homecare-pb);
    }

    .tso_section_inner--info {
        /* 各種情報 */
        padding-top: var(--tso-info-pt);
        padding-bottom: var(--tso-info-pb);
    }

    .tso_section_inner--admission {
        /* 入所申込 */
        padding-top: var(--tso-admission-pt);
        padding-bottom: var(--tso-admission-pb);
    }

    .tso_section_inner--links {
        /* リンク集 */
        padding-top: var(--tso-links-pt);
        padding-bottom: var(--tso-links-pb);
    }

    .tso_section_inner--access {
        /* アクセス */
        padding-top: var(--tso-access-pt);
        padding-bottom: var(--tso-access-pb);
    }

    /* スクロールマージン SP用 */
    #tso_about,
    #tso_latest,
    #tso_facility,
    #tso_shortstay,
    #tso_dayservice,
    #tso_homecare,
    #tso_admission,
    #tso_info,
    #tso_links,
    #tso_access {
        scroll-margin-top: 8rem;
    }

    /* タイトル */
    .tso_about__section h1,
    .tso_about__section h2,
    .tso_section_title {
        padding: 1.3rem 1.5rem 0.8rem;
        min-width: 36rem;
        font-size: 2rem;
        border-radius: 0 2.5rem 2.5rem 0;
        margin-bottom: 2.5rem;
    }

    .tso_sidebar h3::before {
        content: "";
        width: 1.5rem;
        height: 1.5rem;
        background-color: #F4A805;
        border-radius: 50%;
        display: none;
        margin-right: 1rem;
    }
    
    .tso_section_title {
        width: 36rem;
        height: fit-content;
        margin-bottom: 1.9rem;
    }

    .tso_content_title {
        font-size: 1.8rem;
        margin-bottom: 1rem;
        margin-left: 3.4rem;
    }

    .tso_content_title::before {
        width: 0;
        height: 0;
    }

    /* 事業所について */
    .tso_about__section::after {
        width: 53rem;
        height: 86.9rem;
        border-radius: 24rem 27rem 0 0;
        bottom: -15.3rem;
        left: 0;
    }

    .tso_about__box p {
        line-height: 2.98rem;
    }

    .tso_about__list_wrapper {
        max-width: 34.6rem;
        width: 100%;
        margin-top: 2rem;
        padding: 3rem 1rem 3rem;
        border-radius: 4.8rem;
    }

    .tso_about__list_wrapper h3 {
        font-size: 1.8rem;
        margin-bottom: 1.3rem;
    }

    .tso_about__dl_list div,
    .tso_about__dl_list div:first-of-type {
        flex-flow: column;
        padding: 0;
        gap: 0;
        border-bottom: none;
    }

    .tso_about__dl_list div:first-of-type dt {
        padding: 0 0 0.8rem;
    }

    .tso_about__dl_list dt,
    .tso_about__dl_list dd {
        padding: 0.78rem 0;
        border-bottom: #000000 0.1rem solid;
    }

    .tso_about__dl_list dt {
        font-size: 1.6rem;
    }

    .tso_about__dl_list dd {
        font-size: 1.4rem;
        line-height: 2.5rem;
        font-weight: 500;
    }

    .tso_about__dl_list ul {
        padding-left: 1.3rem;
    }

    .tso_about__dl_list li {
        line-height: 2.2rem;
        margin-top: 0.8rem;
    }

    /* ショートステイ・居宅介護支援 */
    .tso_about_office {
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .tso_table_wrapper {
        width: 34.5rem;
        padding: 3rem 1rem;
        height: auto;
        border-radius: 3rem;
        margin-top: 3rem;
        margin-bottom: 1.6rem;
    }

    .tso_corporate_title {
        font-size: 1.8rem;
        margin-bottom: 1.1rem;
    }

    /* 施設紹介 */
    .tso_facility_title {
        left: 0;
    }

    .tso_facility_swiper_main_wrap {
        padding: 3rem 1.5rem 10rem;
    }

    .tso_facility_swiper_item img {
        width: 34.5rem;
        height: 34.5rem;
    }

    .tso_facility_swiper_item figcaption {
        text-align: left;
        font-size: 1.6rem;
        display: none;
    }

    .tso_facility_swiper_btn {
        top: auto;
        bottom: 0.6rem;
    }

    .tso_facility_swiper_next {
        right: 1.5rem;
    }

    .tso_facility_swiper_prev {
        left: 1.5rem;
    }

    .tso_facility_swiper_thumb_wrap {
        display: none;
    }

    .tso_inner_title {
        font-size: 1.6rem;
        margin-bottom: 2.3rem;
    }

    .tso_inner_flex__1,
    .tso_inner_flex__2 {
        margin-left: 0.1rem;
    }

    .tso_inner_flex__1{
        padding-left: 0;
    }

    .tso_facility_content {
        padding: 0 0.7rem 0 1.5rem;
        margin: 3.1rem 0 2rem;
    }

    /* アコーディオン */
    .tso_acordion {
        width: 34.5rem;
        min-height: 5rem;
        border-radius: 2.5rem;
        margin: 0.8rem 0 -3.3rem;
    }

    .tso_acordion_content {
        max-width: 34.5rem;
        margin: 0 auto;
        min-height: 5rem;
        padding: 0.8rem 1.2rem 1rem 1.1rem;
        border-radius: 2.5rem;
        /* margin: 0; */
        align-items: baseline;
    }

    .tso_acordion_title {
        font-size: 1.6rem;
        line-height: 2.5rem;
        display: flex;
        flex-wrap: wrap;
        text-wrap: nowrap;
    }

    .tso_acordion_title span {
        font-size: 1.6rem;
        display: inline-block;
    }

    .tso_span__space {
        display: none;
    }

    .tso_acordion_btn {
        width: 6rem;
        height: 3rem;
        border-radius: 1.7rem;
        font-size: 1.6rem;
        padding: 0.7rem 1.6rem;
    }

    .tso_acordion_content--cream {
        min-height: 5rem;
        padding: 1rem 1.2rem 1rem 0.8rem;
        align-items: baseline;
        border-radius: 2.5rem;
        margin: 0;
    }

    .tso_acordion_btn--orange {
        width: 6rem;
        height: 3rem;
        border-radius: 1.7rem;
        font-size: 1.6rem;
        padding: 0.7rem 1.6rem;
    }

    /* ----------------------------------------------------------------
       新着情報 SP対応
    ---------------------------------------------------------------- */
    .tso_latest__section {
        width: 100%;
        padding-left: 0;
        position: relative;
        left: 0;
        padding-top: var(--tso-latest-pt);
        padding-bottom: var(--tso-latest-pb);
    }

    .tso_about__section h1,
    .tso_latest__section h2 {
        padding: 1.3rem 1.5rem 0.8rem;
        min-width: 36rem;
        font-size: 2rem;
        border-radius: 0 2.5rem 2.5rem 0;
    }

    .tso_news_box {
        width: 100%;
    }

    .tso_news_item {
        padding: 1rem 1rem 3.8rem;
    }

    .tso_news__image,
    .tso_news__image img {
        height: 24rem;
    }

    .tso_news_data_item {
        gap: 0.7rem 0;
        margin: 1.2rem 0 1rem;
        letter-spacing: 0.05rem;
    }

    .tso_news_data_item time,
    .tso_news_category {
        font-size: 1.6rem;
    }

    .tso_news_title {
        font-size: 1.5rem;
    }

    .tso_news_list {
        flex-wrap: nowrap;
        width: 100%;
        padding: 0 1.5rem;
        gap: 2.9rem;
        overflow-x: auto;
        cursor: grab;
        scrollbar-width: none;
    }

    .tso_news_list::-webkit-scrollbar {
        display: none;
    }

    .tso_news_list.tso_grabbing {
        cursor: grabbing;
    }

    .tso_news_list>li {
        flex-shrink: 0;
    }

    .tso_news__list_button {
        min-width: 34.5rem;
        max-width: 34.5rem;
        padding: 1rem 2rem;
        justify-content: space-between;
        margin: 3rem auto 0;
    }

    .tso_about__list_wrapper:nth-of-type(1) {
        margin-top: 2.2rem;
    }

    /* ----------------------------------------------------------------
       介護福祉施設 SP対応
    ---------------------------------------------------------------- */
    .tso_facility_introduction__box {
        width: 100%;
    }

    .tso_facility_introduction_swiper {
        max-width: 100%;
    }

    .tso_facility_swiper_main {
        width: 100%;
    }

    .tso_facility_swiper_page {
        padding: 0.8rem 1.4rem;
        position: absolute;
        top: 0.6rem;
        left: 0.6rem;
        font-size: 2rem;
    }

    .tso_inner_flex__2 {
        margin-bottom: 0;
    }

    .tso_inner_flex__1 a,
    .tso_inner_flex__2 p {
        font-size: 1.6rem;
    }

    .tso_inner_flex__1 a {
        letter-spacing: 0.1rem;
    }

    .tso_inner_flex__2 p {
        letter-spacing: 0.2rem;
    }

    .tso_inner_flex__1 img,
    .tso_inner_flex__2 img {
        width: 3rem;
    }

    /* ----------------------------------------------------------------
       ショートステイ SP対応
    ---------------------------------------------------------------- */
    .tso_about_office__box {
        width: 100%;
        padding: 0 1.5rem;
    }

    .tso_about_office__bottom {
        padding-bottom: 0rem;
    }

    /* ----------------------------------------------------------------
       デイサービス SP対応
    ---------------------------------------------------------------- */
    .tso_dayservice__box {
        width: 100%;
        padding: 0 1.5rem;
    }

    .tso_ds__list_bottom {
        margin-bottom: 2rem;
    }

    /* ----------------------------------------------------------------
       入所申込 SP対応
    ---------------------------------------------------------------- */
    .tso_section_content {
        width: 100%;
        padding: 0 1.5rem;
    }

    .tso_section_content p {
        font-size: 1.6rem;
        line-height: 2.4rem;
    }

    .tso_section_content__flex {
        font-size: 2rem;
        margin-top: 2.2rem;
    }

    .tso_section_content__flex img {
        width: 3rem;
    }

    /* ----------------------------------------------------------------
       リンク集 SP対応
    ---------------------------------------------------------------- */
    .tso_link__collection__box {
        width: 100%;
        padding: 0 1.5rem;
    }

    /* ----------------------------------------------------------------
       アクセス SP対応
    ---------------------------------------------------------------- */
    .tso_access {
        width: 100%;
        padding-left: 0;
        position: relative;
        left: 0;
    }

    .tso_access .tso_section_title {
        min-width: 27rem;
        width: 28rem;
        height: fit-content;
        margin-bottom: 1.9rem;
    }

    .tso_access__box {
        width: 100%;
        padding: 0 1.5rem;
    }

    .tso_access_text_wrap {
        padding: 0;
    }

    .tso_access_title {
        font-size: 1.6rem;
        line-height: 2.4rem;
        margin-bottom: -0.5rem;
    }

    .tso_contact_title {
        font-size: 1.8rem;
        margin-bottom: 0;
    }

    .tso_contact_text {
        font-size: 1.6rem;
        line-height: 2.7rem;
        margin-bottom: 2.7rem;
    }

    .tso_contact_tel {
        font-size: 2rem;
        display: flex;
        align-items: center;
        gap: 1rem;
        margin-bottom: 0.6rem;
    }

    .tso_contact_tel_icon {
        width: 3rem;
        height: auto;
        min-height: 2.5rem;
    }

    .tso_web_link {
        font-size: 1.6rem;
        display: flex;
        align-items: center;
    }

    .tso_web_link_btn {
        margin-left: 2.5rem;
    }

    .tso_map iframe {
        width: 100%;
        max-width: 34.5rem;
        height: 40rem;
        margin: 0 auto 1.5rem;
        border-radius: 3rem;
    }

    .tso_access_content_wrap {
        flex-direction: column-reverse;
    }

    .tso_contact_link {
        width: auto;
        margin-top: 3rem;
        padding: 2.3rem 2rem 4rem;
        border-radius: 5rem 0 5rem 0;
    }

    /* ----------------------------------------------------------------
       共通レイアウト調整 SP対応
    ---------------------------------------------------------------- */
    .tso_about__box {
        padding-top: calc(0 + var(--tso-about-img-mb));
    }

    .tso_about__slideshow {
        height: 37rem;
        margin-bottom: 2rem;
    }

    .tso_about__slideshow img {
        height: 100%;
        width: 100%;
    }

    .tso_about__dl_list li::before {
        top: 1rem;
    }

    /* アコーディオン内コンテンツ SP対応 */
    .tso_open_content {
        padding: 4rem 1.5rem 0;
        font-size: 1.4rem;
        line-height: 2.2rem;
    }

    .tso_short_stay_text_accent {
        font-size: 1.4rem;
        margin-top: 1.5rem;
    }

    /* セクション背景調整 */
    .tso_facility_inner {
        width: 100%;
        left: 0;
        padding-left: 0;
        padding-top: 2rem;
        padding-bottom: 4.3rem;
    }

    /* アコーディオン中央寄せ */
    .tso_facility_introduction__box .tso_acordion,
    .tso_about_office__box .tso_acordion,
    .tso_dayservice__box .tso_acordion,
    .tso_link__collection__box .tso_acordion {
        margin-left: auto;
        margin-right: auto;
    }

    /* テーブルラッパー中央寄せ */
    .tso_about_office__box .tso_table_wrapper,
    .tso_dayservice__box .tso_about__list_wrapper {
        margin-left: auto;
        margin-right: auto;
    }

    /* ----------------------------------------------------------------
       各種情報セクション SP対応
    ---------------------------------------------------------------- */
    .tso_about_office .tso_about_office__box {
        padding: 0 1.5rem;
    }

    /* ----------------------------------------------------------------
       SPヘッダー下の余白調整
    ---------------------------------------------------------------- */
    .tso_clip {
        padding-top: 7rem;
    }

    /* ----------------------------------------------------------------
       SP用セクション間の余白調整
    ---------------------------------------------------------------- */
    .tso_about__section {
        padding-top: var(--tso-about-pt);
        padding-bottom: var(--tso-about-pb);
    }

    .tso_latest__section {
        border-radius: 0 0 5rem 5rem;
    }

    /* デイサービス リストラッパー調整 */
    .tso_dayservice__box .tso_about__list_wrapper {
        width: 34.5rem;
        padding: 3rem 1rem 3rem;
        border-radius: 4rem;
    }

    /* 入所申込セクション調整 */
    .tso_admission__section .tso_section_inner {
        padding-bottom: 5rem;
    }

    /* Swiper画像のレスポンシブ対応 */
    .tso_facility_swiper_item img {
        width: 100%;
        max-width: 34.5rem;
        height: auto;
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }

    .tso_facility_swiper_main_wrap {
        margin: 0 auto;
        max-width: 37.5rem;
        position: relative;
    }

}