@charset "UTF-8";

/*///////////////////////////////////
          共通レイアウト
//////////////////////////////////*/

main {
    overflow-x: hidden;
}

span {
    display: block;
}

p,
.swiper__item__flex p,
.gre__text__item p,
.list__item dt,
.list__item dd,
.access__list li,
.procedure__item__layout li {
    font-family: "Noto Serif JP", serif;
    color: #000;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.8rem;
}

#about,
#greeting,
#service {
    scroll-margin-top: 11rem;
}

#overview {
    scroll-margin-top: 10rem;
}

/*///////////////////////////////////
          コンテナ
//////////////////////////////////*/

.container {
    width: 108rem;
    margin: 0 auto;
    padding: 6rem 0 16.6rem;
}

/*///////////////////////////////////
          メインセクション
//////////////////////////////////*/

.main_section {
    position: relative;
}

.main_visual {
    width: 123.1rem;
    height: 50.7rem;
}

.main_wrapper {
    width: 123.1rem;
    padding: 3rem 5rem 2.8rem 5rem;
    background-color: rgba(74, 74, 74, 0.65);
    color: #fff;
    position: absolute;
    bottom: 0rem;
    left: 0rem;
}

.main_title {
    display: flex;
    color: #fff;
    font-size: 3.5rem;
    font-weight: 700;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 2.5rem;
}

.main_title__space {
    padding-left: 1rem;
}

.main_title span {
    display: inline;
}

.title__letter__spacing {
    letter-spacing: 0.15rem;
}

.background_square {
    width: 75.5rem;
    height: 45.2rem;
    background: linear-gradient(to right, #F9BDC5, #468DAF);
    opacity: 0.54;
    position: absolute;
    top: 11rem;
    right: 0rem;
    z-index: -1;
}

/* メインリスト */
.main_list {
    list-style: none;
    padding: 0;
    flex-wrap: wrap;
    column-gap: 3.4rem;
    row-gap: 2.5rem;
    display: flex;
}

.main_list li a {
    position: relative;
    padding-left: 3rem;
    font-size: 1.6rem;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
}

/* 丸 */
.main_list li a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);

    width: 2.4rem;
    height: 2.4rem;
    background: linear-gradient(to right, #F9BDC5, #468DAF);
    border-radius: 50%;
}

/* 矢印（三角形） */
.main_list li a::after {
    content: "";
    position: absolute;
    left: 1.2rem;
    top: 40%;
    transform: translate(-50%, -50%)rotate(55deg)skewX(20deg);
    width: 0.8rem;
    height: 0.8rem;
    border-right: 0.2rem solid #fff;
    border-bottom: 0.2rem solid #fff;
}

/*///////////////////////////////////
      セクションタイトル共通
//////////////////////////////////*/

.service__section h2,
.about__section h2,
.greeting__section h2,
.overview__section h2 {
    display: flex;
    gap: 0.8rem;
    align-items: center;
    font-family: "Noto Serif JP", serif;
    letter-spacing: 0.1rem;
    color: #0A435F;
    font-size: 2.5rem;
    font-weight: 700;
}

.service__section h2 span:first-child,
.about__section h2 span:first-child,
.greeting__section h2 span:first-child,
.overview__section h2 span:first-child {
    content: "";
    display: inline-block;
    width: 3.3rem;
    height: 3.3rem;
    border-radius: 50%;
    background: linear-gradient(90deg, #F9BDC5 0%, #468DAF 100%);
    position: relative;
}

.service__section h2 span:first-child::before,
.about__section h2 span:first-child::before,
.greeting__section h2 span:first-child::before,
.overview__section h2 span:first-child::before {
    content: "";
    position: absolute;
    width: 0.9rem;
    border-top: 0.2rem solid #FFFFFF;
    top: 1.3rem;
    left: 1.2rem;
    transform: rotate(45deg);
}

.service__section h2 span:first-child::after,
.about__section h2 span:first-child::after,
.greeting__section h2 span:first-child::after,
.overview__section h2 span:first-child::after {
    content: "";
    position: absolute;
    width: 0.9rem;
    border-top: 0.2rem solid #FFFFFF;
    top: 1.8rem;
    left: 1.2rem;
    transform: rotate(-45deg);
}

/*/////////////////////////////////////////////////////////////
各セクションマージン及びセクションタイトルマージン
////////////////////////////////*/

.about__section {
    margin-bottom: 9rem;
}

.about__section h2 {
    margin-bottom: 1.3rem;
}

.greeting__section {
    margin-bottom: 14.5rem;
}

.greeting__section h2 {
    margin-bottom: 2.7rem;
}

.service__section {
    margin-bottom: 13.7rem;
}

.service__section h2 {
    margin-bottom: 4rem;
}

.overview__section h2 {
    margin-bottom: 2.7rem;
}

/*/////////////////////////////////////////////////////////////
                      ご挨拶ページ
 ////////////////////////////////*/

.gre__layout__flex {
    display: flex;
    gap: 3.4rem;
}

.gre__img_item__layout {
    width: 42rem;
    height: 44.1rem;
    display: block;
    position: relative;
}

.gre__img_content__layout img {
    width: 36.3rem;
    height: 39.7rem;
    z-index: 2;
    background-color: #D2D2D2;
}

.gre__img_content__layout span {
    width: 27rem;
    height: 27.2rem;
    margin: 17rem 0 0rem 15rem;
    background: linear-gradient(70deg, #F9BDC5 0%, #468DAF 100%);
}

.gre__img_content__layout img,
.gre__outside__img,
.gre__img_item__layout span,
.gre__img_content__layout img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.gre__outside__img {
    width: 15.2rem;
    height: 15.2rem;
    z-index: 3;
    margin: 33.5rem 0 0 30rem;
}

.gre__text__item {
    width: 100%;
    max-width: 62.6rem;
    padding: 6.5rem 0 0;
}

.gre__title {
    font-family: "Noto Serif JP", serif;
    color: #0A435F;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 1.8rem;
}

.gre__text__item p {
    line-height: 2.8rem;
}

.gre__text__item span {
    padding-top: 7.5rem;
    font-family: "Noto Serif JP", serif;
    color: #0A435F;
    font-size: 1.8rem;
    font-weight: 700;
    display: flex;
    flex-wrap: wrap;
    justify-content: end;
}

.text__space {
    padding-left: 3.5rem;
}

/*/////////////////////////////////////////////////////////////
                      スライダー（Swiper）
 ////////////////////////////////*/

/* 画像スライダー */
.image-slider {
    width: 47.5rem;
    height: 30rem;
    grid-column: 1;
    grid-row: 1;
    overflow: visible;
}

.image-slider .swiper-slide {
    width: 100%;
    height: 100%;
}

.image-slider .img_item {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 画像スライダー ページネーション */
.image-slider-pagination {
    position: absolute;
    bottom: 1rem;
    left: 0;
    max-width: 47.5rem;
    justify-content: center;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    z-index: 100;
    margin: 0 auto;
}

.image-slider-dot {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
}

.image-slider-dot.active {
    background: linear-gradient(90deg, #F9BDC5 0%, #468DAF 100%);
}

.button__flex__itme {
    display: flex;
    gap: 3.6rem;
    justify-content: center;
    margin-bottom: 4rem;
}

.button__flex__itme .tab__btn {
    display: block;
    text-align: center;
    text-decoration: none;
    padding: 1.4rem 0.6rem;
    min-width: 35rem;
    border: 0.2rem #0A435F solid;
}

/* タブ切り替え */
.tab__content {
    /* display: none; */
}

.tab__content.active {
    display: block;
}

.swiper {
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}

.swiper__item__flex {
    display: grid;
    grid-template-columns: 47.5rem 1fr;
    gap: 3.2rem;
}

.swiper__item__flex p {
    color: #000;
}

.swiper__item__flex p {
    display: block;
    margin: auto 0;
    position: relative;
    line-height: 2.8rem;
    top: -0.6rem;
    padding-top: 0.4rem;
    grid-column: 2;
    grid-row: 1;
}

.swiper__title {
    font-family: "Noto Serif JP", serif;
    color: #0A435F;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: 0.1rem;
    position: relative;
    padding: 0 0 2rem 2.3rem;
}

.swiper__title::after {
    content: "";
    position: absolute;
    left: 0;
    top: 35%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 0.9rem solid transparent;
    border-right: 0.9rem solid transparent;
    border-top: 1.8rem solid #0A435F;
}

.img_item_wrapper {
    width: 47.5rem;
    min-height: 38rem;
    grid-column: 1;
    grid-row: 1;
}

.img_item {
    width: 47.5rem;
    height: 30rem;
}

/* 各スライド */
.content {
    min-width: 100%;
    flex-shrink: 0;
    box-sizing: border-box;
    height: fit-content;
    width: 100%;
    white-space: normal;
    word-break: break-all;
    overflow-wrap: break-word;
}

.content__layout__flex {
    display: flex;
    gap: 9.6rem;
}

.content__layout__flex h2 {
    margin: 2.5rem 0 0.7rem;
}

.content__layout__flex {
    line-height: 2.8rem;
}

/* ページネーション */
.swiper-pagination {
    top: 25.9rem !important;
    width: 47.5rem !important;
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    justify-content: center;
    z-index: -1;
}

.swiper-pagination .swiper-button-prev::after {
    left: 1.7rem;
    top: 1.1rem;
    transform: rotate(-150deg);
}

.swiper-pagination .swiper-button-next::after {
    left: 0.8rem;
    top: 1.1rem;
    transform: rotate(150deg);
}

.swiper-pagination-bullet {
    margin: 0 !important;
    background-color: #FFFFFF;
}

/* Swiperページネーション */
.swiper-pagination .swiper-pagination {
    bottom: 1rem;
}

.swiper-pagination .swiper-pagination-bullet {
    width: 2.2rem;
    height: 2.2rem;
    background-color: transparent;
    background-color: #FFFFFF;
    opacity: 1;
}

.swiper-pagination .swiper-pagination-bullet-active {
    border: none;
    background: linear-gradient(90deg, #F9BDC5 0%, #468DAF 100%);
}

/*/////////////////////////////////////////////////////////////
                      サブタイトル・リスト
 ////////////////////////////////*/

.sub_title,
.other__item__layout h5,
.procedure__item__layout h5,
.procedure__button__item__layout h5 {
    font-family: "Noto Serif JP", serif;
    color: #0A435F;
    font-size: 1.9rem;
    font-weight: 700;
    border-bottom: #0A435F 0.1rem solid;
}

.sub_title {
    padding: 5rem 0 3px;
    margin-bottom: 4rem;
    position: relative;
}

.sub_title::before {
    content: "";
    position: absolute;
    bottom: -1px;
    width: 33.7rem;
    border-bottom: #F9BDC5 0.1rem solid;
    z-index: 2;
}

.ul_list__box__flex {
    display: flex;
    flex-wrap: wrap;
    gap: 4.1rem 3.9rem;
}

.ul_list_item {
    padding: 3.3rem 1rem 1rem;
    width: 32.4rem;
    min-height: 21.9rem;
    position: relative;
    background-color: #ECF2F5;
}

.ul_list_item time {
    position: absolute;
    top: -2.5rem;
    left: 1.2rem;
    font-family: "Noto Serif JP", serif;
    color: #0A435F;
    font-size: 2.8rem;
    font-weight: 700;
}

.ul_list_item h4 {
    text-align: center;
    font-family: "Noto Serif JP", serif;
    color: #0A435F;
    font-size: 1.8rem;
    font-weight: 600;
    padding-bottom: 0.9rem;
}

.ul_list_item p {
    font-family: "Noto Serif JP", serif;
    color: #0A435F;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.8rem;
}

.ul_list_item::after {
    content: "";
    position: absolute;
    right: -4.5rem;
    top: 51%;
    transform: translateY(-50%) skewY(0deg) rotate(-90deg);
    width: 0;
    height: 0;
    border-left: 3rem solid transparent;
    border-right: 3rem solid transparent;
    border-top: 2.1rem solid #0A435F;
}

/*/////////////////////////////////////////////////////////////
                      その他・手続き関連
 ////////////////////////////////*/

.other__layout__flex {
    display: flex;
    padding: 3.4rem 0 0;
    gap: 6rem;
    margin-bottom: 4rem;
}

.other__item__layout h5,
.procedure__item__layout h5,
.procedure__button__item__layout h5 {
    min-width: 49.9rem;
    padding-bottom: 0.4rem;
    position: relative;
}

.other__item__layout h5::before,
.procedure__item__layout h5::before,
.procedure__button__item__layout h5::before,
.access__title::before {
    content: "";
    position: absolute;
    bottom: -1px;
    border-bottom: #F9BDC5 1px solid;
    z-index: 2;
}

.other__item__layout h5::before {
    width: 16.2rem;
}

.procedure__item__layout h5::before,
.procedure__button__item__layout h5::before {
    width: 33.7rem;
}

.other__item__layout h5 {
    margin-bottom: 2.5rem;
}

.procedure__item__layout h5,
.procedure__button__item__layout h5 {
    margin-bottom: 3.3rem;
}

.other__item__layout ul {
    padding-left: 2rem;
}

.other__item__layout li {
    position: relative;
    font-size: 1.6rem;
    font-weight: 400;
    font-family: "Noto Serif JP", serif;
    color: #000000;
    list-style-type: none;
    padding: 0 0 1rem;
}

.other__item__layout li::before {
    content: "";
    position: absolute;
    left: -1.2rem;
    top: 1.1rem;
    width: 0.3rem;
    height: 0.3rem;
    background-color: currentColor;
    border-radius: 50%;
}

.other__item__layout li::last-child {
    padding: 0;
}

.other__relative {
    position: relative;
}

.other__absolute {
    position: absolute;
    right: -10rem;
    bottom: -0.8rem;
    background: linear-gradient(90deg, #F9BDC5 0%, #468DAF 100%);
    width: 52.7rem;
    height: 5.4rem;
    z-index: -1;
}

.procedure__item__layout {
    padding: 4rem 0 0;
}

.procedure__item__layout ul {
    padding-left: 2.9rem;
}

.procedure__item__layout li {
    position: relative;
    list-style-type: none;
    line-height: 3.5rem;
}

.procedure__item__layout li::before {
    content: "";
    position: absolute;
    left: -1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0.3rem;
    height: 0.3rem;
    background-color: currentColor;
    border-radius: 50%;
}

.procedure__item__layout p {
    padding-left: 1.2rem;
    line-height: 3rem;
}

.procedure__item__layout span:last-child {
    color: #D42020;
}

.procedure__item__layout h6 {
    font-family: "Noto Serif JP", serif;
    color: #FFF;
    width: fit-content;
    background-color: #2C5265;
    font-size: 1.6rem;
    font-weight: 500;
    min-width: 23.6rem;
    text-align: center;
    padding: 1.6rem 0.6rem;
}

.proe__wrapper {
    margin: 4rem 0 5.8rem;
}

.proe__title_space__first {
    margin-bottom: 0.6rem;
}

.proe__title_space__second {
    margin: 0 0 0.6rem;
}

.procedure__button__item__layout {
    position: relative;
    margin-bottom: 17.5rem;
}

.procedure__button__item__layout a {
    display: block;
    min-width: 49rem;
    padding: 1.6rem 1.6rem 1.6rem;
    width: fit-content;
    text-align: center;
    margin: 0 auto;
}

.gradation__design {
    position: absolute;
    right: -10rem;
    bottom: -3.6rem;
    background: linear-gradient(90deg, #F9BDC5 0%, #468DAF 100%);
    width: 84.9rem;
    height: 6.4rem;
    z-index: -1;
}

/*/////////////////////////////////////////////////////////////
                      概要（Overview）セクション
 ////////////////////////////////*/

.overview__wrapper {
    display: flex;
    justify-content: space-between;
}

.list__box {
    width: 100%;
    max-width: 60.8rem;
    height: fit-content;
    border-top: 0.1rem #000000 solid;
    border-left: 0.1rem #000000 solid;
    border-right: 0.1rem #000000 solid;
}

.list__item {
    display: flex;
    border-bottom: 0.1rem #000000 solid;
}

.list__item dt,
.list__item dd {
    padding: 1.2rem 1.6rem;
}

.list__item dt {
    color: #FFFFFF !important;
    background-color: #2C5265;
    max-width: 18.2rem;
    width: 100%;
}

.list__item dd {
    width: 100%;
    max-width: 42.6rem;
    display: flex;
    flex-wrap: wrap;
}

.list_text_height {
    line-height: 2.7rem;
}

.overview__access__box {
    width: 100%;
    max-width: 44.9rem;
}

.map_box {
    border: #707070 0.1rem solid;
    width: 44.9rem;
    height: 36rem;
    margin-bottom: 1.8rem;
    background-color: #D2D2D2;
}

.access__item {
    padding: 3.2rem 1.6rem 2.8rem;
    background-color: #ECF2F5;
}

.access__title {
    font-family: "Noto Serif JP", serif;
    color: #0A435F;
    font-size: 2rem;
    font-weight: 700;
    padding-bottom: 0.5rem;
    margin-bottom: 1.7rem;
    border-bottom: 0.1rem #0A435F solid;
    position: relative;
}

.access__title::before {
    width: 13.1rem;
}

.access__list {
    padding-left: 1.8rem;
}

.access__list li {
    position: relative;
    padding: 0rem 0 0.9rem;
    list-style-type: none;
}

.access__list li::before {
    content: "";
    position: absolute;
    left: -1.2rem;
    top: 1.3rem;
    width: 0.3rem;
    height: 0.3rem;
    background-color: currentColor;
    border-radius: 50%;
}

.access__list li:last-child {
    padding-bottom: 0;
}

/*/////////////////////////////////////////////////////////////
                      疑似要素マーク
 ////////////////////////////////*/

.pseudo__mark__one,
.pseudo__mark__two {
    padding-left: 1.2rem;
    width: fit-content;
    margin: 0 auto;
    position: relative;
}

.pseudo__mark__one::before,
.pseudo__mark__two::before {
    content: "";
    position: absolute;
    top: 1.6rem;
    left: -0.3rem;
    bottom: 0;
    transform: translateY(-50%);
    margin: auto 0;
    width: 0;
    height: 0;
    border-left: 0.7rem solid transparent;
    border-right: 0.7rem solid transparent;
    border-top: 1.3rem solid #0A435F;
    transition: all 0.3s linear;
}

.color__blue span::before {
    border-top: 1.3rem solid #fff !important;
}

.color__white.pseudo__mark__one::before,
.color__white.pseudo__mark__two::before {
    border-top: 1.3rem solid #0A435F;
}

/*/////////////////////////////////////////////////////////////
                      ボタン・カラー
 ////////////////////////////////*/

.color__blue {
    border: 0.1rem #0A435F solid !important;
    color: #FFFFFF !important;
}

.color__white {
    border: 0.2rem #0A435F solid !important;
    background: #FFFFFF !important;
    background-size: 200% auto;
    background-position: 0% 50%;
    color: #0A435F !important;
}

.color__blue,
.color__white {
    font-family: "Noto Serif JP", serif;
    font-size: 1.6rem;
    font-weight: 500;
    transition: all 0.3s linear;
}

.color__blue,
.price,
.other__item__layout a,
.procedure__button__item__layout a {
    background: linear-gradient(90deg, #468DAF 0%, #0A435F 50%, #EA81A7 100%);
    font-size: 1.6rem;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    color: #FFFFFF;
    transition: background-position 0.3s linear, color 0.3s linear, background 0.3s linear;
    background-size: 200% auto;
    background-position: 0% 50%;
}

.color__gradation.color__blue {
    background: linear-gradient(90deg, #EA81A7 0%, #0A435F 50%, #468DAF 100%);
}

.price {
    min-width: 49.1rem;
    padding-block: 1.6rem;
    width: fit-content;
    display: block;
    text-align: center;
}

.price:hover,
.other__item__layout a:hover,
.procedure__button__item__layout a:hover {
    background-position: 100% 51%;
}

.color__white:hover .color__white:hover span::before {
    transition: all 0.3s linear;
}

.color__white:hover {
    background: linear-gradient(90deg, #468DAF 0%, #0A435F 50%, #EA81A7 100%) !important;
    background-size: 200% auto;
    background-position: 0% 50%;
    color: #FFFFFF !important;
}

.color__white:hover span::before {
    border-top: 1.3rem solid #fff !important;
}

.color__pink {
    color: #B25677;
}

.color__pink::after {
    border-top: 1.8rem solid #B25677;
}

/*/////////////////////////////////////////////////////////////
                      アニメーション
 ////////////////////////////////*/

.fadein {
    opacity: 0;
    transform: translate(0, 50px);
    transition: all 1500ms;
}

.fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}

#day_service,
#facility {
    scroll-margin-top: 10rem;
}
.tab__btn{
    cursor: pointer;
}

/*/////////////////////////////////////////////////////////////
                      レスポンシブ（SP）
 ////////////////////////////////*/

@media screen and (max-width:699.98px) {

    #about,
    #greeting,
    #service {
        scroll-margin-top: 9rem;
    }

    #overview {
        scroll-margin-top: 8rem;
    }

    .main_visual {
        width: 100%;
        height: 49.7rem;
    }

    .main_wrapper {
        width: 100%;
        padding: 1.6rem 1rem 1.8rem 1rem;
    }

    .main_title__space {
        padding-left: 1rem;
    }

    .main_title {
        font-size: 2.4rem;
        margin-bottom: 1.5rem;
        flex-flow: column;
    }

    .title__letter__spacing {
        letter-spacing: 0.1rem;
    }

    .main_list {
        max-width: 25rem;
        column-gap: 2.2rem;
        row-gap: 1.7rem;
    }

    .background_square {
        width: 32.5rem;
        height: 41.8rem;
    }

    .other__item__layout h5::before,
    .procedure__item__layout h5::before,
    .procedure__button__item__layout h5::before {
        width: 13.7rem;
    }

    .access__title::before {
        width: 13rem;
    }

    .service__section h2 span:first-child::before,
    .about__section h2 span:first-child::before,
    .greeting__section h2 span:first-child::before,
    .overview__section h2 span:first-child::before {
        width: 0.6rem;
        top: 1.1rem;
        left: 1.1rem;
        transform: rotate(35deg);
    }

    .service__section h2 span:first-child::after,
    .about__section h2 span:first-child::after,
    .greeting__section h2 span:first-child::after,
    .overview__section h2 span:first-child::after {
        width: 0.7rem;
        top: 1.4rem;
        left: 1.1rem;
        transform: rotate(-30deg);
    }

    p,
    .swiper__item__flex p,
    .gre__text__item p,
    .list__item dt,
    .list__item dd,
    .access__list li,
    .procedure__item__layout li {
        font-family: "Noto Serif JP", serif;
        color: #000;
        font-size: 1.6rem;
        font-weight: 400;
        line-height: 2.8rem;

    }

    .container {
        width: 100%;
        max-width: 35.5rem;
        padding: 6.1rem 0 10rem;
    }

    .overview__wrapper,
    .list__item,
    .gre__layout__flex,
    .button__flex__itme,
    .content__layout__flex,
    .ul_list__box__flex,
    .other__layout__flex {
        flex-flow: column;
    }

    .swiper__item__flex {
        display: flex;
        flex-flow: column;
        gap: 5.6rem;
    }

    .img_item_wrapper {
        width: 100%;
        max-width: 35.5rem;
        min-height: auto;
    }

    .swiper-pagination {
        max-width: 35.5rem;
        width: 100%;
    }

    .content {
        width: 100%;
        max-width: 35.5rem;
        padding: 1.3rem 1.5rem 11.1rem 1.3rem;
        flex-flow: column;
    }

    .content__layout__flex {
        gap: 2.6rem;
    }

    .aboutSwiper .swiper-button-prev {
        left: 12.3rem;
    }

    .aboutSwiper .swiper-button-next {
        right: 12.4rem;
    }

    /* 35.5remを超える要素の幅調整 */
    .list__box,
    .list__item dd,
    .overview__access__box,
    .map_box,
    .gre__img_item__layout,
    .gre__text__item,
    .img_item,
    .ul_list_item {
        width: 100%;
        max-width: 35.5rem;
    }

    .gre__img_content__layout img {
        width: 30.9rem;
        height: 33.8rem;
        margin-left: 0.6rem;
    }

    /* min-widthを持つ要素の調整 */
    .button__flex__itme .tab__btn,
    .price,
    .other__item__layout h5,
    .procedure__item__layout h5,
    .procedure__button__item__layout h5,
    .procedure__button__item__layout a {
        min-width: auto;
        width: 100%;
        max-width: 35.5rem;
    }

    .about__section h2 {
        margin-bottom: 1.2rem;
    }

    .gradation__design {
        right: -1rem;
        left: auto;
        top: 8rem;
        width: 35rem;
        height: 4.7rem;
    }

    .other__absolute {
        right: -10rem;
        bottom: -2.2rem;
        width: 43.9rem;
        height: 4.8rem;
    }

    .service__section h2,
    .about__section h2,
    .greeting__section h2,
    .overview__section h2 {
        font-size: 1.9rem;
        gap: 0.3rem;
    }

    .service__section h2 span:first-child,
    .about__section h2 span:first-child,
    .greeting__section h2 span:first-child,
    .overview__section h2 span:first-child {
        width: 2.7rem;
        height: 2.7rem;
    }

    .gre__text__item {
        padding: 0;
    }

    .about__section {
        margin-bottom: 8.6rem;
    }

    .greeting__section h2 {
        margin-bottom: 1.9rem;
    }

    .gre__layout__flex {
        gap: 1.4rem;
    }

    .gre__img_item__layout {
        height: 40rem;
    }

    .gre__outside__img {
        margin: 28.5rem 0 0 auto;
        width: 11.3rem;
        height: 11.5rem;
    }

    .gre__img_content__layout span {
        margin: 11.6rem 0.4rem 0rem auto;
        width: 24rem;
        height: 25rem;
    }

    .gre__title {
        text-align: center;
        margin-bottom: 1.3rem;
    }

    .gre__text__item span {
        padding-top: 2.4rem;
        font-size: 1.6rem;
    }

    .text__space {
        padding-left: 3.3rem;
    }

    .greeting__section {
        margin-bottom: 10.1rem;
    }

    .service__section h2 {
        margin-bottom: 1.5rem;
    }

    .button__flex__itme {
        gap: 1.6rem;
        margin-bottom: 2.9rem;
    }

    .button__flex__itme .tab__btn {
        padding: 1rem 0.6rem;
    }

    .color__white {
        border: 0.1rem #0A435F solid !important;
    }

    .content {
        padding: 0;
    }

    .swiper__title {
        font-size: 1.8rem;
        letter-spacing: 0.02rem;
        padding: 0 0 0.8rem 2rem;
    }

    .img_item {
        height: 22.3rem;
    }

    .swiper__title::after {
        border-left: 0.8rem solid transparent;
        border-right: 0.8rem solid transparent;
        border-top: 1.4rem solid #0A435F;
        left: 0.1rem;
        top: 39%;
    }

    .color__pink::after {
        border-top: 1.4rem solid #B25677;
    }

    .sub_title::before {
        width: 13.7rem;
    }

    .swiper-pagination {
        top: 26.5rem !important;
        width: 35.5rem !important;
        gap: 2.2rem;
        height: fit-content !important;
    }

    .sub_title {
        font-size: 1.8rem;
        padding: 5rem 0 0.3rem;
        margin-bottom: 2.8rem;
    }

    .ul_list_item {
        padding: 2.1rem 1rem 2.8rem;
        min-height: 13.6rem;
    }

    .other__layout__flex {
        padding: 5rem 0 0;
        gap: 3.8rem;
    }

    .ul_list_item h4 {
        padding-bottom: 0.4rem;
    }

    .ul_list_item time {
        top: -1.8rem;
        left: 1.2rem;
        font-size: 2.4rem;
        letter-spacing: 0.05rem;
    }

    .other__layout__flex {
        padding: 5rem 0 0;
    }

    .other__item__layout h5 {
        font-size: 1.8rem;
        padding-bottom: 0rem;
        margin-bottom: 1.7rem;
    }

    .service__section {
        margin-bottom: 10.1rem;
    }

    .overview__section h2 {
        margin-bottom: 1.7rem;
    }

    .overview__access__box {
        order: 1
    }

    .list__box {
        order: 2
    }

    .map_box {
        height: 25.7rem;
        margin-bottom: 1.2rem;
    }

    .access__item {
        padding: 1.8rem 1.6rem 1.6rem;
        margin-bottom: 2.8rem;
    }

    .access__title {
        font-size: 1.8rem;
        padding-bottom: 0.1rem;
        margin-bottom: 0.7rem;
    }

    .access__list {
        padding-left: 1.6rem;
    }

    .access__list li {
        padding-bottom: 0.7rem;
    }

    .list__item dt,
    .list__item dd {
        padding: 0.63rem 0.4rem;
    }

    .list__item dt {
        max-width: 100%;
        width: 100%;
    }

    .procedure__item__layout {
        padding: 4.7rem 0 0;
    }


    .procedure__item__layout h5 {
        padding-bottom: 0.1rem;
        margin-bottom: 2rem;
        letter-spacing: 0rem;
        font-size: 1.8rem;
    }

    .procedure__button__item__layout h5 {
        margin-bottom: 1.6rem;
    }

    .proe__title_space__second {
        margin: 0 0 1.1rem;
    }

    .procedure__item__layout h6 {
        padding: 0.9rem 0.6rem;
    }

    .proe__title_space__first {
        margin-bottom: 1.2rem;
    }

    .procedure__item__layout p {
        padding-left: 0;
        line-height: 2.63rem;
    }

    .procedure__item__layout p:first-child {
        padding-bottom: 1.1rem;
    }

    .procedure__item__layout span:last-child {
        padding-top: 1.1rem;
    }

    .proe__wrapper {
        padding: 3.1rem 0 5rem;
        margin: 0;
    }

    .procedure__item__layout ul {
        padding-left: 0;
    }

    .procedure__item__layout li {
        padding-left: 1.7rem;
        line-height: 2.7rem;
        margin-bottom: 0.7rem;
    }

    .procedure__item__layout li::before {
        top: 1.4rem;
        left: 0.5rem;
    }

    .procedure__item__layout li:last-child {
        margin-bottom: 0;
    }

    .ul_list_item::after {
        right: 0;
        left: 0;
        top: auto;
        bottom: -4rem;
        margin: 0 auto;
        transform: translateY(-50%) skewY(0deg) rotate(0deg);
    }

    /* 画像スライダー SP */
    .image-slider {
        width: 100%;
        max-width: 35.5rem;
        height: 22.3rem;
    }

    .image-slider-pagination {
        max-width: 35.5rem;
        gap: 1rem;
    }

    .image-slider-dot {
        width: 1.8rem;
        height: 1.8rem;
    }


    .employee__voice__wrapper{
        margin-top: 8rem;
    }
}