@charset "utf-8";

@import url("https://fonts.googleapis.com/css2?family=Quicksand:wght@300..700&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");

/* ------------------------------
基本設定
------------------------------ */
:root {
    --color01: #633;
    --color02: #690;
    --color03: #f90;
    --color04: #fc0;
    --color05: #fff8e3;
    --color06: #cc9;
    --color07: #693;
    --transparentcolor00: rgba(255, 255, 255, 0.5);
    --transparentcolor01: rgba(102, 51, 51, 0.5);
    --transparentcolor02: rgba(102, 153, 0, 0.5);
}

#wrapper {
    min-width: 375px;
    overflow: hidden;
    position: relative;
}

html {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: var(--color01);
    font-style: normal;
    line-height: 1.5;
    background-color: var(--color05);
}

.show\@pc {
    display: block;
}

.hide\@pc {
    display: none;
}

@media (max-width: 1024px) {
    .show\@tb {
        display: block;
    }

    .hide\@tb {
        display: none;
    }
}

@media (max-width: 599px) {
    .show\@sp {
        display: block;
    }

    .hide\@sp {
        display: none;
    }
}

/* 改行 */
[data-element-id] span.hide\@pc.indention {
    display: inline-block;
    -webkit-transform: unset;
    transform: unset;
}

[data-element-id] span.hide\@pc.indention::before {
    content: "SP改行";
    display: inline-block;
    padding: 0.25em;
    font-size: 10px;
    color: white;
    line-height: 1;
    letter-spacing: -1px;
    background-color: var(--color03);
}

span.hide\@pc.indention::before {
    display: none;
}

[data-element-id] .show\@pc.indention {
    width: -webkit-fit-content !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
    display: inline-block !important;
    -webkit-transform: unset;
    transform: unset;
}

.fead-text.bound>span.show\@pc.indention {
    display: block;
}

[data-element-id] .fead-text.bound>span.show\@sp.indention {
    display: inline-block;
}

.fead-text.bound>span.show\@sp.indention {
    display: none;
}

.c01 {
    color: var(--color01);
}

.c02 {
    color: var(--color02);
}

.c03 {
    color: var(--color03);
}

.c04 {
    color: var(--color04);
}

.c05 {
    color: var(--color05);
}

.c06 {
    color: var(--color06);
}

.c07 {
    color: var(--color07);
}

.bgc00 {
    background-color: var(--transparentcolor00);
}

.bgc01 {
    background-color: var(--color01);
}

.bgc02 {
    background-color: var(--color02);
}

.bgc03 {
    background-color: var(--color03);
}

.bgc04 {
    background-color: var(--color04);
}

.bgc05 {
    background-color: var(--color05);
}

.bgc06 {
    background-color: var(--color06);
}

.bgc07 {
    background-color: var(--color07);
}

/* ------------------------------
base.cssにないので追加
------------------------------ */
.br20 {
    overflow: hidden;
    border-radius: 20px;
}

.indent-cmn-01 {
    padding-left: 1rem;
    text-indent: -1rem;
}

/* ------------------------------
共通コンテンツ間隔
------------------------------ */
[class*="section-m"],
[class*="section-p"] {
    --section-xlarge: 150px;
    --section-large: 120px;
    --section-medium: 100px;
    --section-small: 80px;
    --section-xsmall: 60px;
}

.section-my-xlarge {
    margin-top: var(--section-xlarge);
    margin-bottom: var(--section-xlarge);
}

.section-mt-xlarge {
    margin-top: var(--section-xlarge);
}

.section-mb-xlarge {
    margin-bottom: var(--section-xlarge);
}

.section-my-large {
    margin-top: var(--section-large);
    margin-bottom: var(--section-large);
}

.section-mt-large {
    margin-top: var(--section-large);
}

.section-mb-large {
    margin-bottom: var(--section-large);
}

.section-my-medium {
    margin-top: var(--section-medium);
    margin-bottom: var(--section-medium);
}

.section-mt-medium {
    margin-top: var(--section-medium);
}

.section-mb-medium {
    margin-bottom: var(--section-medium);
}

.section-my-small {
    margin-top: var(--section-small);
    margin-bottom: var(--section-small);
}

.section-mt-small {
    margin-top: var(--section-small);
}

.section-mb-small {
    margin-bottom: var(--section-small);
}

.section-my-xsmall {
    margin-top: var(--section-xsmall);
    margin-bottom: var(--section-xsmall);
}

.section-mt-xsmall {
    margin-top: var(--section-xsmall);
}

.section-mb-xsmall {
    margin-bottom: var(--section-xsmall);
}

@media (max-width: 1024px) {
    .section-my-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.8);
        margin-bottom: calc(var(--section-xlarge) * 0.8);
    }

    .section-mt-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.8);
    }

    .section-mb-xlarge {
        margin-bottom: calc(var(--section-xlarge) * 0.8);
    }

    .section-my-large {
        margin-top: calc(var(--section-large) * 0.8);
        margin-bottom: calc(var(--section-large) * 0.8);
    }

    .section-mt-large {
        margin-top: calc(var(--section-large) * 0.8);
    }

    .section-mb-large {
        margin-bottom: calc(var(--section-large) * 0.8);
    }

    .section-my-medium {
        margin-top: calc(var(--section-medium) * 0.8);
        margin-bottom: calc(var(--section-medium) * 0.8);
    }

    .section-mt-medium {
        margin-top: calc(var(--section-medium) * 0.8);
    }

    .section-mb-medium {
        margin-bottom: calc(var(--section-medium) * 0.8);
    }

    .section-my-small {
        margin-top: calc(var(--section-small) * 0.8);
        margin-bottom: calc(var(--section-small) * 0.8);
    }

    .section-mt-small {
        margin-top: calc(var(--section-small) * 0.8);
    }

    .section-mb-small {
        margin-bottom: calc(var(--section-small) * 0.8);
    }

    .section-my-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.8);
        margin-bottom: calc(var(--section-xsmall) * 0.8);
    }

    .section-mt-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.8);
    }

    .section-mb-xsmall {
        margin-bottom: calc(var(--section-xsmall) * 0.8);
    }
}

@media (max-width: 599px) {
    .section-my-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.6);
        margin-bottom: calc(var(--section-xlarge) * 0.6);
    }

    .section-mt-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.6);
    }

    .section-mb-xlarge {
        margin-bottom: calc(var(--section-xlarge) * 0.6);
    }

    .section-my-large {
        margin-top: calc(var(--section-large) * 0.6);
        margin-bottom: calc(var(--section-large) * 0.6);
    }

    .section-mt-large {
        margin-top: calc(var(--section-large) * 0.6);
    }

    .section-mb-large {
        margin-bottom: calc(var(--section-large) * 0.6);
    }

    .section-my-medium {
        margin-top: calc(var(--section-medium) * 0.6);
        margin-bottom: calc(var(--section-medium) * 0.6);
    }

    .section-mt-medium {
        margin-top: calc(var(--section-medium) * 0.6);
    }

    .section-mb-medium {
        margin-bottom: calc(var(--section-medium) * 0.6);
    }

    .section-my-small {
        margin-top: calc(var(--section-small) * 0.6);
        margin-bottom: calc(var(--section-small) * 0.6);
    }

    .section-mt-small {
        margin-top: calc(var(--section-small) * 0.6);
    }

    .section-mb-small {
        margin-bottom: calc(var(--section-small) * 0.6);
    }

    .section-my-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.6);
        margin-bottom: calc(var(--section-xsmall) * 0.6);
    }

    .section-mt-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.6);
    }

    .section-mb-xsmall {
        margin-bottom: calc(var(--section-xsmall) * 0.6);
    }
}

.section-py-xlarge {
    padding-top: var(--section-xlarge);
    padding-bottom: var(--section-xlarge);
}

.section-pt-xlarge {
    padding-top: var(--section-xlarge);
}

.section-pb-xlarge {
    padding-bottom: var(--section-xlarge);
}

.section-py-large {
    padding-top: var(--section-large);
    padding-bottom: var(--section-large);
}

.section-pt-large {
    padding-top: var(--section-large);
}

.section-pb-large {
    padding-bottom: var(--section-large);
}

.section-py-medium {
    padding-top: var(--section-medium);
    padding-bottom: var(--section-medium);
}

.section-pt-medium {
    padding-top: var(--section-medium);
}

.section-pb-medium {
    padding-bottom: var(--section-medium);
}

.section-py-small {
    padding-top: var(--section-small);
    padding-bottom: var(--section-small);
}

.section-pt-small {
    padding-top: var(--section-small);
}

.section-pb-small {
    padding-bottom: var(--section-small);
}

.section-py-xsmall {
    padding-top: var(--section-xsmall);
    padding-bottom: var(--section-xsmall);
}

.section-pt-xsmall {
    padding-top: var(--section-xsmall);
}

.section-pb-xsmall {
    padding-bottom: var(--section-xsmall);
}

@media (max-width: 1024px) {
    .section-py-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.8);
        padding-bottom: calc(var(--section-xlarge) * 0.8);
    }

    .section-pt-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.8);
    }

    .section-pb-xlarge {
        padding-bottom: calc(var(--section-xlarge) * 0.8);
    }

    .section-py-large {
        padding-top: calc(var(--section-large) * 0.8);
        padding-bottom: calc(var(--section-large) * 0.8);
    }

    .section-pt-large {
        padding-top: calc(var(--section-large) * 0.8);
    }

    .section-pb-large {
        padding-bottom: calc(var(--section-large) * 0.8);
    }

    .section-py-medium {
        padding-top: calc(var(--section-medium) * 0.8);
        padding-bottom: calc(var(--section-medium) * 0.8);
    }

    .section-pt-medium {
        padding-top: calc(var(--section-medium) * 0.8);
    }

    .section-pb-medium {
        padding-bottom: calc(var(--section-medium) * 0.8);
    }

    .section-py-small {
        padding-top: calc(var(--section-small) * 0.8);
        padding-bottom: calc(var(--section-small) * 0.8);
    }

    .section-pt-small {
        padding-top: calc(var(--section-small) * 0.8);
    }

    .section-pb-small {
        padding-bottom: calc(var(--section-small) * 0.8);
    }

    .section-py-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.8);
        padding-bottom: calc(var(--section-xsmall) * 0.8);
    }

    .section-pt-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.8);
    }

    .section-pb-xsmall {
        padding-bottom: calc(var(--section-xsmall) * 0.8);
    }
}

@media (max-width: 599px) {
    .section-py-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.6);
        padding-bottom: calc(var(--section-xlarge) * 0.6);
    }

    .section-pt-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.6);
    }

    .section-pb-xlarge {
        padding-bottom: calc(var(--section-xlarge) * 0.6);
    }

    .section-py-large {
        padding-top: calc(var(--section-large) * 0.6);
        padding-bottom: calc(var(--section-large) * 0.6);
    }

    .section-pt-large {
        padding-top: calc(var(--section-large) * 0.6);
    }

    .section-pb-large {
        padding-bottom: calc(var(--section-large) * 0.6);
    }

    .section-py-medium {
        padding-top: calc(var(--section-medium) * 0.6);
        padding-bottom: calc(var(--section-medium) * 0.6);
    }

    .section-pt-medium {
        padding-top: calc(var(--section-medium) * 0.6);
    }

    .section-pb-medium {
        padding-bottom: calc(var(--section-medium) * 0.6);
    }

    .section-py-small {
        padding-top: calc(var(--section-small) * 0.6);
        padding-bottom: calc(var(--section-small) * 0.6);
    }

    .section-pt-small {
        padding-top: calc(var(--section-small) * 0.6);
    }

    .section-pb-small {
        padding-bottom: calc(var(--section-small) * 0.6);
    }

    .section-py-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.6);
        padding-bottom: calc(var(--section-xsmall) * 0.6);
    }

    .section-pt-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.6);
    }

    .section-pb-xsmall {
        padding-bottom: calc(var(--section-xsmall) * 0.6);
    }
}

.section-py-medium.-pt0 {
    padding-top: 0;
}

/* ------------------------------
共通の動き
------------------------------ */
.parallaximg {
    overflow: hidden;
    border-radius: 50px 50px 25px 25px;
    -webkit-transition: border-radius 0.3s linear, -webkit-transform 0.3s linear;
    transition: border-radius 0.3s linear, -webkit-transform 0.3s linear;
    transition: transform 0.3s linear, border-radius 0.3s linear;
    transition: transform 0.3s linear, border-radius 0.3s linear, -webkit-transform 0.3s linear;
    -webkit-transform-origin: center top;
    transform-origin: center top;
}

.parallaxtext .txt+.txt {
    margin-top: 1em;
}

.fead-text.bound>span {
    display: inline-block;
    -webkit-transform: translateY(101%);
    transform: translateY(101%);
}

.fead-text.bound>span.textin {
    -webkit-animation: txtIn 0.8s ease forwards;
    animation: txtIn 0.8s ease forwards;
}

.whitespace {
    margin-left: 0.5em;
}

@-webkit-keyframes txtIn {
    0% {
        opacity: 1;
        -webkit-transform: translateY(101%);
        transform: translateY(101%);
    }

    30% {
        -webkit-transform: translateY(-10%);
        transform: translateY(-10%);
    }

    40% {
        -webkit-transform: translateY(5%);
        transform: translateY(5%);
    }

    50% {
        -webkit-transform: translateY(-4%);
        transform: translateY(-4%);
    }

    75% {
        -webkit-transform: translateY(3%);
        transform: translateY(3%);
    }

    85% {
        -webkit-transform: translateY(-2%);
        transform: translateY(-2%);
    }

    to {
        opacity: 1;
        -webkit-transform: translate(0);
        transform: translate(0);
    }
}

@keyframes txtIn {
    0% {
        opacity: 1;
        -webkit-transform: translateY(101%);
        transform: translateY(101%);
    }

    30% {
        -webkit-transform: translateY(-10%);
        transform: translateY(-10%);
    }

    40% {
        -webkit-transform: translateY(5%);
        transform: translateY(5%);
    }

    50% {
        -webkit-transform: translateY(-4%);
        transform: translateY(-4%);
    }

    75% {
        -webkit-transform: translateY(3%);
        transform: translateY(3%);
    }

    85% {
        -webkit-transform: translateY(-2%);
        transform: translateY(-2%);
    }

    to {
        opacity: 1;
        -webkit-transform: translate(0);
        transform: translate(0);
    }
}

/* ------------------------------
loading
------------------------------ */
#loading {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: var(--color02);
    -webkit-transition: opacity 2.0s ease-out;
    transition: opacity 2.0s ease-out;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999999;
}

#loading-text {
    /* 599px 48px 1300px 120px */
    font-size: clamp(3rem, -0.8452rem + 10.271vw, 7.5rem);
    color: var(--transparentcolor00);
    line-height: 1.2;
    -webkit-transition: -webkit-transform 2.0s ease-in-out;
    transition: -webkit-transform 2.0s ease-in-out;
    transition: transform 2.0s ease-in-out;
    transition: transform 2.0s ease-in-out, -webkit-transform 2.0s ease-in-out;
}

#loading.hide-loading {
    opacity: 0;
    pointer-events: none;
}

#loading-text.shrink-text {
    -webkit-transform: scale(0);
    transform: scale(0);
}

@media(max-width:599px) {
    #loading-text {
        font-size: 48px;
    }
}

/* ------------------------------
nanohana-section
------------------------------ */
.nanohana-section {
    position: relative;
}

.nanohana-section .nanohana01 {
    position: absolute;
    bottom: 0;
    left: 0;
}

.nanohana-section .nanohana02 {
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
    position: absolute;
    bottom: 0;
    right: 0;
}

@media(max-width:599px) {
    .nanohana-section .nanohana01 {
        display: none;
    }

    .nanohana-section .nanohana02.-mini img {
        width: 70%;
    }
}

/* ------------------------------
bleedright-section
------------------------------ */
.bleedright-section {
    width: 100%;
    /* (画面幅100% - 最大幅1100px) ÷ 2 = 片側の余白 */
    padding-left: calc((100% - 1100px) / 2);
}

@media (max-width: 1024px) {
    .bleedright-section {
        width: 96%;
        margin-left: auto;
        margin-right: auto;
        padding-left: calc((100% - 768px) / 2);
    }

    .bleedright-section.-m0 {
        width: 100%;
    }
}

/* ------------------------------
green-section
------------------------------ */
.green-section {
    position: relative;
}

.green-section::before {
    content: "";
    width: 100%;
    height: 50%;
    display: block;
    background-color: var(--transparentcolor02);
    position: absolute;
    bottom: 0;
}

/* ------------------------------
flowtext-section
------------------------------ */
.flowtext-section {
    position: relative;
}

.flowtext-container {
    width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}

.flowtext {
    width: 100%;
    overflow: hidden;
}

.flowtext-track {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-animation: loop-slide 100s linear infinite;
    animation: loop-slide 100s linear infinite;
}

.flowtext-item {
    padding-right: 1em;
    /* 599px 60px 1300px 100px */
    font-size: clamp(3.75rem, 1.6138rem + 5.7061vw, 6.25rem);
    color: var(--color06);
    letter-spacing: 0.1em;
    white-space: nowrap;
}

/* アニメーションの定義 */
@-webkit-keyframes loop-slide {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}

@keyframes loop-slide {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}

/* ------------------------------
toggle start
------------------------------ */
.toggle {
    width: 65px;
    height: 65px;
    border-radius: 100%;
    background-color: var(--color02);
    -webkit-box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    position: fixed;
    top: 35px;
    right: 60px;
    z-index: 252;
}

.toggle span.n {
    width: 25px;
    height: 1px;
    display: block;
    margin-top: -1px;
    padding: 0;
    text-indent: 9999px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 20px;
}

.toggle span.n:before {
    content: "";
    width: 25px;
    height: 1px;
    display: block;
    border-radius: 10px;
    background-color: #fff;
    position: absolute;
    top: -7.5px;
    left: 0;
}

.toggle span.n:after {
    content: "";
    width: 25px;
    height: 1px;
    display: block;
    border-radius: 10px;
    background-color: #fff;
    position: absolute;
    top: 8.5px;
    left: 0;
}

.action .toggle {
    background-color: #fff;
}

.action .toggle span.n {
    background-color: var(--color02);
    -webkit-transition: ease 0.1s;
    transition: ease 0.1s;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.action .toggle span.n:after,
.action .toggle span.n:before {
    background-color: var(--color02);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    top: 0;
    left: 0;
}

@media (max-width: 1024px) {
    .toggle {
        right: 30px;
    }
}

@media (max-width: 599px) {
    .toggle {
        top: 10px;
        right: 10px;
    }
}

/* ------------------------------
toggle end
------------------------------ */

/* ------------------------------
#top-gnav start
------------------------------ */
#top-gnav {
    width: 100%;
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    visibility: hidden;
    overflow-y: auto;
    padding: 0;
    padding: 150px;
    padding-bottom: 0;
    border: none;
    background-color: var(--color02);
    opacity: 0;
    -webkit-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 251;
}

.action #top-gnav {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

#top-gnav .top-gnav-list {
    width: 20%;
}

#top-gnav .top-gnav-list+.top-gnav-list {
    width: 25%;
}

#top-gnav .top-gnav-list li+li {
    margin-top: 1em;
}

#top-gnav .top-gnav-list li a,
#top-gnav .top-gnav-list li span {
    width: 100%;
    height: 100%;
    display: block;
    font-weight: 500;
    color: #fff;
    letter-spacing: 0.05em;
}

#top-gnav .top-gnav-list li a::before,
#top-gnav .top-gnav-list li span::before {
    content: "\f0da";
    margin-right: 1em;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 70%;
    line-height: 1;
}

#top-gnav .top-gnav-list li.-parentchild .-parent {
    margin-bottom: 1em;
    color: #fff;
}

#top-gnav .top-gnav-list li.-parentchild .-child+.-child {
    margin-top: 1em;
}

#top-gnav .top-gnav-list li.-parentchild .-child a {
    margin-left: 1em;
}

#top-gnav .top-gnav-list li.-parentchild .-child a::before {
    content: "・";
}

#top-gnav .top-gnav-info {
    width: 50%;
    color: #fff;
    text-align: center;
}

#top-gnav .top-gnav-info .logo {
    width: 100px;
    height: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto;
    border-radius: 100%;
    background-color: #fff;
}

#top-gnav .top-gnav-info .name {
    margin-top: 20px;
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
}

#top-gnav .top-gnav-info .telwrap {
    letter-spacing: 0.1em;
}

#top-gnav .top-gnav-info .telwrap a {
    font-weight: 500;
    font-size: 36px;
    letter-spacing: 0.1em;
}

#top-gnav .top-gnav-info .schedule {
    margin-top: 20px;
    padding: 20px 40px;
    border-radius: 20px;
    background-color: #fff;
}

#top-gnav .top-gnav-info .schedule .schedule-note {
    margin-top: 0.75em;
    font-weight: 500;
    color: var(--color01);
    text-align: left;
}

/* 診療表 */
.top-schedule-table {
    width: 100%;
    max-width: 600px;
    border-collapse: collapse;
}

.top-schedule-table tr {
    border-bottom: 1px solid var(--transparentcolor01);
}

.top-schedule-table tr.last {
    border-bottom: none;
}

.top-schedule-table th,
.top-schedule-table td {
    padding: 12px 8px;
    font-weight: 500;
    text-align: center;
}

.top-schedule-table .time-col {
    padding-left: 0;
    color: var(--color01);
    text-align: left;
    white-space: nowrap;
}

.top-schedule-table .day-col {
    color: var(--color01);
}

.top-schedule-table .green-col {
    color: var(--color02);
}

@media (max-width: 1024px) {
    #top-gnav {
        padding: 50px;
    }

    #top-gnav .top-gnav-list {
        width: 48%;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    #top-gnav .top-gnav-list+.top-gnav-list {
        width: 48%;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    #top-gnav .top-gnav-info {
        width: 100%;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        margin-bottom: 50px;
    }
}

@media(max-width:599px) {
    #top-gnav {
        padding: 50px 20px 200px 20px;
    }

    #top-gnav .top-gnav-list {
        width: 100%;
    }

    #top-gnav .top-gnav-list+.top-gnav-list {
        width: 100%;
        margin-top: 1em;
    }

    #top-gnav .top-gnav-info .name {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    #top-gnav .top-gnav-info .telwrap a {
        font-size: 24px;
    }

    #top-gnav .top-gnav-info .schedule {
        padding: 10px;
    }

    .top-schedule-table th,
    .top-schedule-table td {
        font-size: 10px;
    }
}

/* ------------------------------
#top-gnav end
------------------------------ */

/* ------------------------------
#side-gnav start
------------------------------ */
#side-gnav {
    visibility: visible;
    opacity: 1;
    -webkit-transition: opacity 0.3s ease, visibility 0.3s, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, visibility 0.3s, -webkit-transform 0.3s ease;
    transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s;
    transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s, -webkit-transform 0.3s ease;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    position: fixed;
    top: 140px;
    right: 60px;
    z-index: 25;
}

body.drop #side-gnav {
    visibility: hidden;
    opacity: 0;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
}

#side-gnav .side-gnav-list li+li {
    margin-top: 1em;
}

#side-gnav .side-gnav-list li a,
#side-gnav .side-gnav-list li span {
    width: 100%;
    height: 100%;
    display: block;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.1em;
    text-align: right;
}

/* dropumenu */
#side-gnav .side-gnav-list li.dropmenu span {
    cursor: pointer;
}

#side-gnav .side-gnav-list li.dropmenu .dropmenu-list {
    margin-top: 0.5em;
}

@media (max-width: 1024px) {
    #side-gnav {
        display: none;
    }
}

/* ------------------------------
#side-gnav end
------------------------------ */

/* ------------------------------
 footer start
------------------------------ */
footer .map {
    padding-top: 0;
    position: relative;
}

footer .map::before {
    content: "";
    display: block;
    padding-top: 30%;
}

footer .map iframe {
    width: 100%;
    height: 100%;
    -webkit-transform: unset !important;
    transform: unset !important;
    position: absolute;
    top: 0;
    left: 0;
}

footer .access-section {
    margin-top: -100px;
    position: relative;
    z-index: 1;
}

footer .access-section-in {
    padding: 50px;
    text-align: center;
    border-radius: 20px;
    background-color: #fff;
    position: relative;
}

footer .access-section-in .address {
    font-weight: bold;
    font-size: 20px;
}

footer .access-section-in .deco01 {
    position: absolute;
    bottom: -10px;
    left: 20px;
    z-index: 1;
}

footer .access-section-in .deco02 {
    position: absolute;
    bottom: -10px;
    right: 20px;
    z-index: 1;
}

footer .info-section-in {
    border-bottom: 1px solid var(--transparentcolor01);
}

footer .info-section-in .telwrap {
    margin-top: 10px;
    font-family: "Quicksand", sans-serif;
    font-weight: bold;
    font-size: 36px;
    color: var(--color02);
    letter-spacing: 0.05em;
    text-align: center;
}

/* 診療表 start */
.foot-schedule-table {
    width: 100%;
    border-collapse: collapse;
}

.foot-schedule-table th,
.foot-schedule-table td {
    padding: 1em;
    font-weight: 500;
    font-size: 80%;
    text-align: center;
    border-bottom: 1px solid var(--transparentcolor01);
}

.foot-schedule-table .time-col {
    max-width: 5em;
    font-size: 100%;
    text-align: center;
    white-space: nowrap;
}

.foot-schedule-table .day-col {
    font-size: 100%;
}

.foot-schedule-table .green-col {
    color: var(--color02);
}

@media (max-width: 599px) {
    .foot-schedule-table {
        font-size: 12px;
    }
}

/* 診療表 end*/

.foot-nav-list.-ver02 {
    margin-top: 2.5em;
}

.foot-nav-list li+li {
    margin-top: 1em;
}

.foot-nav-list li a,
.foot-nav-list li span {
    width: 100%;
    height: 100%;
    display: block;
    font-weight: 500;
    font-size: 15px;
}

.foot-nav-list li .-parent {
    margin-bottom: 1em;
    font-weight: 500;
}

.foot-nav-list li .-child+.-child {
    margin-top: 1em;
}

.foot-nav-list li .-child a {
    /* blockからflexに変更 */
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    font-weight: 500;
    font-size: 15px;
}

.foot-nav-list li .-child a::before {
    content: "\f054";
    margin-right: 1em;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 70%;
    color: var(--color02);
    line-height: 1;
}

footer .supporter-section-in {
    padding: 30px 100px;
    text-align: center;
    border-radius: 15px;
    background-color: #fff;
    position: relative;
}

footer .supporter-section-in .deco01 {
    position: absolute;
    bottom: -10px;
    right: -10px;
    z-index: 1;
}

.robottu {
    padding: 0.25em 0.5em;
    color: #fff;
    background-color: #003893;
}

@media (max-width: 1024px) {
    footer .supporter-section-in {
        padding: 30px;
    }

    footer .info-section-in .telwrap {
        font-size: 24px;
    }
}

/* ------------------------------
 footer end
------------------------------ */

/* ------------------------------
 fixed-container
------------------------------ */
.fixed-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    opacity: 0;
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    position: fixed;
    bottom: 60px;
    right: 60px;
    z-index: 10;

    gap: 10px;
}

.scrolled .fixed-container {
    opacity: 1;
}

.fixed-container .white-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 10px;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.1em;
    border-radius: 15px;
    background-color: #fff;
}

.fixed-container .white-container.-vergreen {
    font-weight: 500;
    font-size: 16px;
    color: #fff;
    background-color: var(--color02);
    position: relative;
}

.fixed-container .white-container.-vergreen .deco {
    padding: 0.5em 1em;
    font-weight: bold;
    font-size: 14px;
    color: var(--color01);
    border-radius: 10px;
    background-color: var(--color04);
    position: absolute;
    top: -60%;
    left: 0;
}

.fixed-container .white-container.-vergreen .deco::after {
    content: "";
    border: 10px solid transparent;
    border-top-color: var(--color04);
    position: absolute;
    top: 100%;
    left: 30px;
}

.fixed-container .white-container .btn {
    position: relative;
}

.fixed-container .white-container .btn+.btn::before {
    content: "";
    width: 2px;
    height: 2em;
    display: block;
    background-color: var(--transparentcolor01);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 1;
}

.fixed-container .white-container .btn a,
.fixed-container .white-container .btn span {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 0px 20px;

    gap: 10px;
}

.fixed-container .white-container .btn01 a {
    display: block;
    padding: 1em 2em;
}

.fixed-container .white-container .btn a .icon,
.fixed-container .white-container .btn span .icon {
    padding: 0;
}

.fixed-container .white-container .icon img {
    display: inline-block;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation: boyoyon 1.5s infinite;
    animation: boyoyon 1.5s infinite;
}

@-webkit-keyframes boyoyon {
    0%,
    100% {
        -webkit-transform: scale(1.0, 1.0) translateY(0);
        transform: scale(1.0, 1.0) translateY(0);
    }

    10% {
        -webkit-transform: scale(1.1, 0.9) translateY(0);
        transform: scale(1.1, 0.9) translateY(0);
    }

    40% {
        -webkit-transform: scale(0.9, 1.1) translateY(-3px);
        transform: scale(0.9, 1.1) translateY(-3px);
    }

    60% {
        -webkit-transform: scale(1.0, 1.0) translateY(-1.5px);
        transform: scale(1.0, 1.0) translateY(-1.5px);
    }

    80% {
        -webkit-transform: scale(0.95, 1.05) translateY(0);
        transform: scale(0.95, 1.05) translateY(0);
    }
}

@keyframes boyoyon {
    0%,
    100% {
        -webkit-transform: scale(1.0, 1.0) translateY(0);
        transform: scale(1.0, 1.0) translateY(0);
    }

    10% {
        -webkit-transform: scale(1.1, 0.9) translateY(0);
        transform: scale(1.1, 0.9) translateY(0);
    }

    40% {
        -webkit-transform: scale(0.9, 1.1) translateY(-3px);
        transform: scale(0.9, 1.1) translateY(-3px);
    }

    60% {
        -webkit-transform: scale(1.0, 1.0) translateY(-1.5px);
        transform: scale(1.0, 1.0) translateY(-1.5px);
    }

    80% {
        -webkit-transform: scale(0.95, 1.05) translateY(0);
        transform: scale(0.95, 1.05) translateY(0);
    }
}

.fixed-container .white-container .btn .number {
    font-family: "Quicksand", sans-serif;
    font-size: 1.1em;
    letter-spacing: 0.05em;
}

.fixed-container .ttl {
    font-size: 16px;
    text-align: center;
}

.fixed-container .ttl.-kanjya {
    font-size: 1.5em;
}

.fixed-container .white-container .btn .telwrap span {
    padding: 0;
}

.fixed-container .white-container .btn .telwrap a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 16px;
    color: #fff;
    background-color: var(--color01);

    gap: 10px;
}

.fixed-container .white-container .btn .telwrap.-kanjya {
    margin-bottom: 20px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--transparentcolor01);
    position: relative;
}

.fixed-container .white-container .btn .telwrap.-kanjya .deco {
    position: absolute;
    bottom: 0;
    right: 0;
}

.fixed-container .white-container .btn .telwrap.-kanjya a {
    font-size: 2em;
    background-color: var(--color04);
}

.fixed-container .white-container .btn .telwrap a::before {
    content: "\f095";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    line-height: 1;
}

.fixed-container.-versp {
    display: none;
}

@media(max-width:1024px) {
    .fixed-container {
        bottom: 30px;
        right: 30px;
    }
}

@media(max-width:599px) {
    .fixed-container.-verpc {
        display: none;
    }

    .fixed-container.-versp {
        display: block;
        bottom: 5px;
        left: 5px;
        right: 5px;
    }

    .fixed-container .white-container {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        padding: 0;
        font-size: 12px;
        background-color: transparent;

        gap: 5px;
    }

    .fixed-container .white-container>div {
        width: calc((100% - 10px) / 3);
    }

    .fixed-container .white-container .btn {
        background-color: #fff;
    }

    .fixed-container .white-container .btn+.btn::before {
        content: none;
    }

    .fixed-container .white-container .btn a,
    .fixed-container .white-container .btn span {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        overflow: hidden;
        padding: 5px;
        border-radius: 5px;

        gap: 0;
    }

    .fixed-container .white-container .btn.tel-btn {
        background-color: var(--color06);
    }

    .fixed-container .white-container .btn.tel-btn.pattern-b {
        background-color: var(--color03);
    }

    .fixed-container .white-container .btn.tel-btn span {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .fixed-container .white-container .btn .telwrap.-kanjya .deco {
        max-width: 35px;
    }
}

/* ------------------------------
 modal-container
------------------------------ */
.modal-container {
    display: contents;
}

.modal-text {
    display: inline-block;
    cursor: pointer;
}

.modal-overlay {
    width: 100%;
    height: 100%;
    display: none;
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1001;
}

.modal-content {
    max-width: 90%;
    display: none;
    padding: 40px 20px 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 8px;
    background-color: #fff;
    -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1002;
}

.modal-content img {
    max-width: 100%;
    height: auto;
    display: block;
}

.modal-close {
    padding: 0;
    font-weight: bold;
    font-size: 2rem;
    color: #555;
    line-height: 1;
    border: none;
    background: none;
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 15px;
}

.modal-close:hover {
    color: #000;
}

@media(max-width:599px) {
    .modal-content {
        width: 80%;
    }
}

/* ------------------------------
title start
------------------------------ */
.title01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px;
    font-weight: bold;
    /* 599px 24px 1300px 36px */
    font-size: clamp(1.5rem, 0.8591rem + 1.7118vw, 2.25rem);
    letter-spacing: 0.1em;

    gap: 30px;
}

.title01 .deco {
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.title01 .textwrap {
    display: block;
}

.title01 .textwrap .main {
    display: block;
}

.title01 .textwrap .sub {
    display: block;
    font-family: "Quicksand", sans-serif;
    font-weight: bold;
    font-size: 40%;
    color: var(--color02);
    line-height: 1;
    letter-spacing: 0.075em;
}

.title01 .textwrap .sub::before {
    content: "◎";
    font-size: 80%;
}

.title01.-verwhite {
    color: #fff;
}

.title01.-verwhite .textwrap .sub {
    color: #fff;
}

@media (max-width: 599px) {
    .title01 {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

.title02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 30px;
    /* 599px 24px 1300px 36px */
    font-size: clamp(1.5rem, 0.8591rem + 1.7118vw, 2.25rem);
}

.title02 .deco {
    display: block;
}

.title02 .main {
    display: block;
    font-weight: bold;
    letter-spacing: 0.1em;
}

.title02 .sub {
    display: block;
    font-family: "Quicksand", sans-serif;
    font-weight: bold;
    font-size: 40%;
    color: var(--color02);
    letter-spacing: 0.075em;
}

.title02 .sub::before {
    content: "◎";
    font-size: 80%;
}

.title02.-verwhite {
    color: #fff;
}

.title02.-verwhite .sub {
    color: #fff;
}

.title02.-mb50 {
    margin-bottom: 50px;
}

.title03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 20px;
    /* 599px 16px 1300px 20px */
    font-size: clamp(1rem, 0.7864rem + 0.5706vw, 1.25rem);
}

.title03 .main {
    display: block;
    font-weight: bold;
}

.title03 .deco {
    display: block;
    margin-top: 10px;
}

.title04 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 40px;
    font-weight: bold;
    /* 599px 24px 1300px 36px */
    font-size: clamp(1.5rem, 0.8591rem + 1.7118vw, 2.25rem);
    letter-spacing: 0.1em;

    gap: 10px;
}

.title04::before,
.title04::after {
    content: "";
    width: 80px;
    height: 1em;
    display: block;
    background-image: url("/import/tenant_1/162.43.32.182/html/images/illust_nanohana03.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.title04::after {
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
}

.title04 .strong {
    display: contents;
    color: var(--color02);
}

.title04.-verwhite {
    color: #fff;
}

@media(max-width:599px) {
    .title04::before,
    .title04::after {
        width: 50px;
    }
}

.title05 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 30px;
    font-weight: bold;
    /* 599px 24px 1300px 36px */
    font-size: clamp(1.5rem, 0.8591rem + 1.7118vw, 2.25rem);
    letter-spacing: 0.1em;
    text-align: center;

    gap: 30px;
}

.title05 .deco01,
.title05 .deco02 {
    display: block;
}

.title05 .deco02 {
    margin-left: 100px;
}

@media(max-width:599px) {
    .title05 {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;

        gap: 0;
    }

    .title05 .deco01 {
        width: 100%;
    }

    .title05 .main {
        width: calc((100% - 50px) / 60%);
        text-align: left;
    }

    .title05 .deco02 {
        width: calc((100% - 50px) / 40%);
        margin-left: 50px;
    }

    .title05 .deco02 img {
        width: 75%;
    }

    .fead-text.bound>span.show\@pc.indention {
        display: inline-block;
    }

    .fead-text.bound>span.show\@sp.indention {
        display: block;
    }
}

.title06 {
    margin-bottom: 1em;
    padding-bottom: 0.5em;
    font-weight: bold;
    /* 599px 18px 1300px 20px */
    font-size: clamp(1.125rem, 1.0182rem + 0.2853vw, 1.25rem);
    border-bottom: 1px solid;
}

.title06.-mb50 {
    margin-bottom: 50px;
}

.title06.-half {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.title06.-fzlarger {
    /* 599px 24px 1300px 36px */
    font-size: clamp(1.5rem, 0.8591rem + 1.7118vw, 2.25rem);
}

.title06.-verdot {
    border-bottom: 5px dotted;
}

@media(max-width:599px) {
    .title06.-half {
        width: 100%;
    }
}

.title07 {
    margin-bottom: 20px;
    font-weight: 500;
    /* 599px 16px 1300px 20px */
    font-size: clamp(1rem, 0.7864rem + 0.5706vw, 1.25rem);
}

.title07 .main {
    padding-right: 1em;
}

.title07 .sub {
    padding-left: 1em;
    border-left: 1px solid;
}

.title07.-center {
    text-align: center;
}

.title08 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 20px;
    padding-bottom: 0.25em;
    font-weight: 500;
    /* 599px 16px 1300px 20px */
    font-size: clamp(1rem, 0.7864rem + 0.5706vw, 1.25rem);
    text-align: center;
    border-bottom: 5px dotted;
}

.title08::before {
    content: "\f207";
    margin-right: 0.5em;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    line-height: 1;
}

.title08.-ver02::before {
    content: "\f1b9";
}

.title09 {
    margin-bottom: 30px;
    font-weight: bold;
    /* 599px 24px 1300px 64px */
    font-size: clamp(1.5rem, -0.6362rem + 5.7061vw, 4rem);
    letter-spacing: 0.1em;
}

.title09 .main {
    display: block;
}

.title09 .sub {
    display: block;
    font-weight: bold;
    font-size: 40%;
    line-height: 1;
    letter-spacing: 0.75em;
}

.title10 {
    margin-bottom: 20px;
    padding: 0.5em 0 0.5em 1.5em;
    font-weight: 500;
    /* 599px 18px 1300px 24px */
    font-size: clamp(1.125rem, 0.8046rem + 0.8559vw, 1.5rem);
    border-left: 5px solid;
    background-color: var(--transparentcolor00);
}

.title10.-mt50 {
    margin-top: 50px;
}

.title10.-mb50 {
    margin-bottom: 50px;
}

.title10.-vertbrown {
    background-color: rgba(102, 51, 51, 0.1);
}

.title10.-vergreen {
    color: #fff;
    border-color: var(--color02);
    background-color: var(--color06);
}

@media(max-width:599px) {
    .title10.-mt50.-mt20\@sp {
        margin-top: 20px;
    }

    .title10.-mb50.-mb20\@sp {
        margin-bottom: 20px;
    }
}

.title11 {
    margin-bottom: 20px;
    padding: 0.5em 0;
    font-weight: 500;
    /* 599px 18px 1300px 24px */
    font-size: clamp(1.125rem, 0.8046rem + 0.8559vw, 1.5rem);
    color: #fff;
    border-bottom: 5px dotted;
}

.title11.-mt50 {
    margin-top: 50px;
}

.title11.-mb50 {
    margin-bottom: 50px;
}

.title11.-verbrown {
    color: var(--color01);
}

@media(max-width:599px) {
    .title11.-mt50.-mt20\@sp {
        margin-top: 20px;
    }

    .title11.-mb50.-mb20\@sp {
        margin-bottom: 20px;
    }
}

.title12 {
    margin-top: 0.5em;
    padding-left: 1em;
    font-weight: 500;
    /* 599px 16px 1300px 20px */
    font-size: clamp(1rem, 0.7864rem + 0.5706vw, 1.25rem);
    text-indent: -1em;
}

.title12::before {
    content: "- ";
    color: var(--color04);
}

.title12.-verwhite {
    color: #fff;
}

.uk-lb img:hover {
    cursor: pointer;
}

/* ------------------------------
title end
------------------------------ */

/* ------------------------------
btn start
------------------------------ */
.btn01 button {
    border: none;
}

.btn01 a,
.btn01 button {
    width: 230px;
    display: block;
    margin: 0 auto;
    padding: 1em 2em;
    font-weight: 500;
    color: #fff;
    border-radius: 50px;
    background-color: var(--color02);
    position: relative;
}

.btn01 a::after,
.btn01 button::after {
    content: "";
    width: 1.5em;
    height: 1.5em;
    display: block;
    border-radius: 100%;
    background-image: url("/import/tenant_1/162.43.32.182/html/images/icon05.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 1em;
    z-index: 1;
}

.btn01 a:hover::after,
.btn01 button:hover::after {
    -webkit-transform: translate(3px, -50%);
    transform: translate(3px, -50%);
}

.btn01.-verwhite a,
.btn01.-verwhite button {
    color: var(--color02);
    background-color: #fff;
}

.btn01.-left a,
.btn01.-left button {
    margin-left: 0;
}

.btn01.-right a,
.btn01.-right button {
    margin-right: 0;
}

.btn01.-fit a,
.btn01.-fit button {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-right: 3.5em;
}

.btn01.-back a,
.btn01.-back button {
    text-align: right;
}

.btn01.-back.-center button {
    text-align: center;
}

.btn01.-back a::after,
.btn01.-back button::after {
    -webkit-transform: translateY(-50%) scale(-1, 1);
    transform: translateY(-50%) scale(-1, 1);
    left: 1em;
    right: auto;
}

.btn01.-back a:hover::after,
.btn01.-back button:hover::after {
    -webkit-transform: translate(-3px, -50%) scale(-1, 1);
    transform: translate(-3px, -50%) scale(-1, 1);
}


.btn01.-mt40 {
    margin-top: 40px;
}

.btn01.-mt20 {
    margin-top: 20px;
}

.btn01.-mt-auto {
    margin-top: auto;
}

.btn01.-access a,
.btn01.-access button {
    width: 250px;
    text-align: left;
}

@media (max-width: 599px) {
    .btn01.-mt10\@sp {
        margin-top: 10px;
    }

    .btn01.-mt20\@sp {
        margin-top: 20px;
    }

    .btn01.-center\@sp a {
        margin-left: auto;
        margin-right: auto;
    }

    .btn01.-access a,
    .btn01.-access button {
        width: 230px;
    }
}

/* ------------------------------
btn end
------------------------------ */

/* ------------------------------
背景画像
------------------------------ */
.bg-parent {
    position: relative;
}

.bg-content {
    position: relative;
    z-index: 1;
}

.bg-image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.bg-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    -webkit-filter: opacity(0.5);
    filter: opacity(0.5);
}

.bg-image.-black01 img {
    -webkit-filter: brightness(0.3);
    filter: brightness(0.3);
}

/* ------------------------------
TOPページで使用
------------------------------ */
.top-newsblog-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.top-newsblog-item .btn {
    margin-top: auto;
}

.imagewrap01 img {
    -webkit-filter: brightness(0.7);
    filter: brightness(0.7);
}

.beigebox01 {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.greenbox01 {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    position: relative;
}

.greenbox01::before {
    content: "";
    width: 100%;
    height: 80%;
    display: block;
    background-color: var(--color06);
    position: absolute;
    bottom: 0;
    z-index: 1;
}

.whitebox01 {
    /* 1300px -200px 2000px -320px */
    margin-top: clamp(-320px, 22.85px + -17.14vw, -200px);
    padding: 80px;
    border-radius: 20px;
    background-color: #fff;
    position: relative;
    z-index: 1;
}

.whitebox01 .deco01 {
    position: absolute;
    bottom: -10px;
    left: 20px;
    z-index: 2;
}

.whitebox01 .deco02 {
    position: absolute;
    bottom: -10px;
    right: 20px;
    z-index: 2;
}

@media(max-width:1024px) {
    .whitebox01 {
        margin-top: -160px;
        padding: 50px;
    }
}

@media (max-width: 599px) {
    .whitebox01 {
        margin-top: -100px;
        padding: 20px 20px 50px 20px;
    }

    .whitebox01 .deco01 {
        left: 0;
    }

    .whitebox01 .deco02 {
        right: 0;
    }
}

.whitebox02 {
    padding: 30px;
    border-radius: 20px;
    background-color: #fff;
}

.whitebox02 .box {
    padding-right: 30px;
}

.whitebox02 .box+.box {
    padding-left: 30px;
    padding-right: 0;
    border-left: 1px solid;
}

@media (max-width: 599px) {
    .whitebox02 .box {
        padding-right: 0px;
    }

    .whitebox02 .box+.box {
        padding-left: 0;
        border-left: none;
    }
}

.beigebox02 {
    padding: 50px;
    border-radius: 20px;
    background-color: #ebe4de;
}

@media(max-width:599px) {
    .beigebox02 {
        padding: 20px;
    }
}

.contactbox01 .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 15px;
    font-family: "Quicksand", sans-serif;
    font-weight: bold;
    font-size: 30px;
    color: #fff;
    letter-spacing: 0.05em;
    border-radius: 15px;
    background-color: var(--color02);
}

.contactbox01 .box .webbox,
.contactbox01 .box .telbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;

    gap: 0.5em;
}

.contactbox01 .box.webbox {
    padding: 0;
    border-radius: none;
    background-color: transparent;
}

.contactbox01 .box.webbox a {
    width: 100%;
    height: 100%;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 15px;
    border-radius: 15px;
    background-color: var(--color02);

    gap: 0.5em;
}

.contactbox01 .box.webbox a::before {
    content: "";
    width: 50px;
    height: 50px;
    display: block;
    background-image: url("/import/tenant_1/162.43.32.182/html/images/icon08.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.contactbox01 .box .telbox::before {
    content: "";
    width: 50px;
    height: 50px;
    display: block;
    background-image: url("/import/tenant_1/162.43.32.182/html/images/icon07.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.contactbox01 .box .telbox .popup {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-weight: bold;
    font-size: 18px;
    color: var(--color01);
    white-space: nowrap;
    border-radius: 10px;
    background-color: var(--color04);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: -65px;
    left: 50%;
    z-index: 1;
}

.contactbox01 .box .telbox .popup .in {
    padding: 0.5em 1em;
    position: relative;
}

.contactbox01 .box .telbox .popup .in::after {
    content: "";
    /* border-width: 上 右 下 左 の順 */
    border-width: 20px 0 0 15px;
    /* 二等辺三角形を作る魔法の記述 */
    border-style: solid;
    border-color: var(--color04) transparent transparent transparent;
    /* 三角形の中心を基準点に合わせるための調整 */
    -webkit-transform: translateX(-50%) rotate(-15deg);
    transform: translateX(-50%) rotate(-15deg);
    position: absolute;
    top: 90%;
    /* 吹き出しのすぐ下に配置 */
    /* ここで位置を決めます。例えば真ん中にするなら 50% */
    left: 30%;
}

.contactbox01 .box .telbox .text {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 60%;
}

.contactbox01 .box .webbox {
    font-family: "Zen Kaku Gothic New", sans-serif;
}

/* ------------------------------
top-mainvisual
------------------------------ */
h1 {
    max-width: 30%;
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.05em;
}

.top-mainvisual .top-mainvisual-in {
    margin: 35px 60px;
    position: relative;
}

.top-mainvisual .address {
    max-width: 30%;
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.05em;
}

.top-mainvisual .mainvisual {
    width: 70%;
    height: 85vh;
    overflow: hidden;
    margin: 40px auto 0;
    border-radius: 50px;
    -webkit-transition: -webkit-transform 0.4s ease-out;
    transition: -webkit-transform 0.4s ease-out;
    transition: transform 0.4s ease-out;
    transition: transform 0.4s ease-out, -webkit-transform 0.4s ease-out;
    -webkit-transform: scale(1);
    transform: scale(1);
    position: relative;

    will-change: transform;
}

.top-mainvisual .mainvisual * {
    width: 100%;
    height: 100%;
}

.top-mainvisual .mainvisual img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.top-mainvisual .catchwrap {
    position: absolute;
    top: 15vh;
    left: 0;
    z-index: 1;
}

.top-mainvisual .catchwrap {
    font-weight: 500;
    /* 599px 24px 1300px 36px */
    font-size: clamp(1.5rem, 0.8591rem + 1.7118vw, 2.25rem);
    line-height: 1.8;
    letter-spacing: 0.05em;
}

.top-mainvisual .catchwrap .subcatch {
    font-size: 16px;
}

.top-mainvisual .logowrap {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
}

.top-mainvisual .nanohana {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.top-mainvisual .nanohana .item {
    min-width: 30px;
}

.top-mainvisual .logo {
    width: 300px;
    height: 150px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: var(--color05);

    -webkit-clip-path: ellipse(50% 100% at 50% 0%);
    clip-path: ellipse(50% 100% at 50% 0%);
}

.top-mainvisual .schedulewrap {
    position: absolute;
    bottom: 0;
    left: 0;
}

.top-mainvisual .schedulewrap .schedule {
    padding: 28px 40px 0 0;
    border-radius: 0 30px 0 0;
    background-color: var(--color05);
}

/* 診療表 start */
.mainvisual-schedule-table {
    width: 100%;
    max-width: 600px;
    border-collapse: collapse;
}

.mainvisual-schedule-table th,
.mainvisual-schedule-table td {
    padding: 12px;
    font-weight: 500;
    font-size: 14px;
    text-align: center;
    border-bottom: 1px solid var(--transparentcolor01);
}

.mainvisual-schedule-table .time-col {
    text-align: center;
}

.mainvisual-schedule-table .green-col {
    color: var(--color02);
}

/* 診療表 end*/

@media (max-width: 1024px) {
    .top-mainvisual .top-mainvisual-in {
        margin: 30px;
    }

    .top-mainvisual .mainvisual {
        width: 95%;
        margin-left: auto;
        margin-right: 0;
    }

    .top-mainvisual .logowrap {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        left: auto;
        right: 75px;
    }
}

@media (max-width: 599px) {
    h1 {
        max-width: 100%;
        padding-right: 80px;
        letter-spacing: -0.1em;
    }

    .top-mainvisual .top-mainvisual-in {
        margin: 10px;
    }

    .top-mainvisual .address {
        max-width: 100%;
        padding-right: 80px;
    }

    .top-mainvisual .logowrap {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        top: 70px;
        left: 50%;
        right: auto;
    }

    .top-mainvisual .logo {
        width: 250px;
        height: 105px;
    }

    .top-mainvisual .logo img {
        -webkit-transform: scale(0.75);
        transform: scale(0.75);
    }

    .top-mainvisual .catchwrap {
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        top: 50%;
    }

    .mainvisual-schedule-table th,
    .mainvisual-schedule-table td {
        padding: 10px;
        font-size: 12px;
    }

    .top-mainvisual .schedulewrap .schedule {
        padding: 15px 25px 0 0;
    }

    .top-mainvisual .mainvisual {
        margin: 60px auto 0;
    }
}

/* ------------------------------
swiper
------------------------------ */
#swiper01 .swiper-wrapper {
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

#swiper01 .swiper-controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 20px;
    position: relative;
    z-index: 10;

    gap: 10px;
}

#swiper01 .swiper-button-prev,
#swiper01 .swiper-button-next {
    width: 40px;
    height: 40px;
    margin: 0;
    color: #fff;
    border-radius: 50%;
    background-color: var(--color02);
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
    position: static;

    --swiper-navigation-size: 10px;
}

#swiper01 .swiper-button-prev:hover,
#swiper01 .swiper-button-next:hover {
    opacity: 0.7;
    cursor: pointer;
}

@media (max-width: 599px) {
    #swiper01 .swiper-controls {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

#swiper02 .swiper-slide {
    height: auto;
}

#swiper02 .swiper-wrapper {
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

#swiper02 .swiper-controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 20px;
    position: relative;
    z-index: 10;

    gap: 20px;
}

#swiper02 .swiper-button-prev,
#swiper02 .swiper-button-next {
    width: 40px;
    height: 40px;
    margin: 0;
    color: #fff;
    border-radius: 50%;
    background-color: var(--color02);
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
    position: static;

    --swiper-navigation-size: 10px;
}

#swiper02 .swiper-button-prev:hover,
#swiper02 .swiper-button-next:hover {
    opacity: 0.7;
    cursor: pointer;
}

/* ------------------------------
アニメーション
------------------------------ */
.nanohana img {
    display: block;
    -webkit-transform-origin: bottom center;
    transform-origin: bottom center;
    -webkit-animation: yura-yura 3s ease-in-out infinite;
    animation: yura-yura 3s ease-in-out infinite;
}

@-webkit-keyframes yura-yura {
    0% {
        -webkit-transform: rotate(-2deg);
        transform: rotate(-2deg);
    }

    50% {
        -webkit-transform: rotate(2deg);
        transform: rotate(2deg);
    }

    100% {
        -webkit-transform: rotate(-2deg);
        transform: rotate(-2deg);
    }
}

@keyframes yura-yura {
    0% {
        -webkit-transform: rotate(-2deg);
        transform: rotate(-2deg);
    }

    50% {
        -webkit-transform: rotate(2deg);
        transform: rotate(2deg);
    }

    100% {
        -webkit-transform: rotate(-2deg);
        transform: rotate(-2deg);
    }
}

/* 親要素：移動と反転を担当 */
.hari-sanpo {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    /* 反転時に位置がズレないように中心を基準にする */
    -webkit-transform-origin: center;
    transform-origin: center;
    /* 8秒かけて行って戻る＋向きを変える */
    -webkit-animation: walk-and-turn 8s infinite;
    animation: walk-and-turn 8s infinite;
    pointer-events: none;
}

/* 子要素(画像)：揺れのみ担当 */
.hari-sanpo img {
    display: block;
    -webkit-transform-origin: bottom center;
    transform-origin: bottom center;
    /* 揺れの根元 */
    /* 菜の花と同じ揺れのアニメーション */
    -webkit-animation: toko-toko 2s infinite;
    animation: toko-toko 2s infinite;
}

/* --- アニメーション定義 --- */

/* 1. 移動 ＆ 反転 のセット */
@-webkit-keyframes walk-and-turn {
    /* 往路（0%〜50%）：左へ進む、向きはそのまま */
    0% {
        -webkit-transform: translateX(0) scaleX(1);
        transform: translateX(0) scaleX(1);
    }

    49.9% {
        -webkit-transform: translateX(-100px) scaleX(1);
        transform: translateX(-100px) scaleX(1);
    }

    /* 折り返し（50%）：一瞬で向きを反転 */
    50% {
        -webkit-transform: translateX(-100px) scaleX(-1);
        transform: translateX(-100px) scaleX(-1);
    }

    /* 復路（50%〜100%）：右(元の位置)へ戻る、向きは反転したまま */
    100% {
        -webkit-transform: translateX(0) scaleX(-1);
        transform: translateX(0) scaleX(-1);
    }
}

@keyframes walk-and-turn {
    /* 往路（0%〜50%）：左へ進む、向きはそのまま */
    0% {
        -webkit-transform: translateX(0) scaleX(1);
        transform: translateX(0) scaleX(1);
    }

    49.9% {
        -webkit-transform: translateX(-100px) scaleX(1);
        transform: translateX(-100px) scaleX(1);
    }

    /* 折り返し（50%）：一瞬で向きを反転 */
    50% {
        -webkit-transform: translateX(-100px) scaleX(-1);
        transform: translateX(-100px) scaleX(-1);
    }

    /* 復路（50%〜100%）：右(元の位置)へ戻る、向きは反転したまま */
    100% {
        -webkit-transform: translateX(0) scaleX(-1);
        transform: translateX(0) scaleX(-1);
    }
}

@media(max-width:599px) {
    @-webkit-keyframes walk-and-turn {
        0% {
            -webkit-transform: translateX(0) scaleX(1);
            transform: translateX(0) scaleX(1);
        }

        49.9% {
            -webkit-transform: translateX(-50px) scaleX(1);
            transform: translateX(-50px) scaleX(1);
        }

        50% {
            -webkit-transform: translateX(-50px) scaleX(-1);
            transform: translateX(-50px) scaleX(-1);
        }

        100% {
            -webkit-transform: translateX(0) scaleX(-1);
            transform: translateX(0) scaleX(-1);
        }
    }

    @keyframes walk-and-turn {
        0% {
            -webkit-transform: translateX(0) scaleX(1);
            transform: translateX(0) scaleX(1);
        }

        49.9% {
            -webkit-transform: translateX(-50px) scaleX(1);
            transform: translateX(-50px) scaleX(1);
        }

        50% {
            -webkit-transform: translateX(-50px) scaleX(-1);
            transform: translateX(-50px) scaleX(-1);
        }

        100% {
            -webkit-transform: translateX(0) scaleX(-1);
            transform: translateX(0) scaleX(-1);
        }
    }
}

/* 2. 揺れの定義（菜の花と同じ） */
@-webkit-keyframes toko-toko {
    0% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }

    50% {
        -webkit-transform: rotate(10deg);
        transform: rotate(10deg);
    }

    100% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }
}

@keyframes toko-toko {
    0% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }

    50% {
        -webkit-transform: rotate(10deg);
        transform: rotate(10deg);
    }

    100% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }
}

@media(max-width:599px) {
    .hari-sanpo.-sp60 img {
        width: 60%;
    }
}

/* ------------------------------
下層ページ共通
------------------------------ */

/* ------------------------------
下層のメインビジュアル
------------------------------ */
.low-mainvisual {
    margin: 10px;
    position: relative;
}

.low-mainvisual .mainvisual {
    overflow: hidden;
    border-radius: 25px;
}

.low-mainvisual .mainvisual-in {
    width: 100%;
    display: block;
    position: relative;
}

.low-mainvisual .mainvisual-in img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    position: absolute;
    top: 0;
    left: 0;
}

.low-mainvisual .mainvisual-in::after {
    content: "";
    display: block;
    padding-top: 45%;
}

.low-mainvisual h1 {
    width: 100%;
    max-width: 50%;
    padding: 25px 0 0 50px;
    color: #fff;
    text-shadow: 0px 0px 4px rgba(102, 51, 51, 0.5),
    0px 0px 8px rgba(102, 51, 51, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.low-mainvisual .catchwrap {
    margin-top: -50px;
    padding-left: 50px;
    font-weight: 500;
    font-size: 100px;
    /* 599px 36px 1300px 100px */
    font-size: clamp(2.25rem, -1.168rem + 9.1298vw, 6.25rem);
    line-height: 1;
    position: relative;
    z-index: 1;
}

.low-mainvisual .catchwrap .subcatch {
    margin-top: 20px;
    padding-left: 0.5em;
    font-size: 40%;
}

@media(max-width:599px) {
    .low-mainvisual {
        margin: 5px;
    }

    .low-mainvisual .mainvisual-in::after {
        padding-top: 120%;
    }

    .low-mainvisual h1 {
        max-width: none;
        padding: 15px 0 0 15px;
        padding-right: 80px;
    }

    .low-mainvisual .catchwrap {
        padding-left: 15px;
    }
}

/* ------------------------------
ぱんくずリスト
------------------------------ */
.breadcrumbs {
    margin-top: 20px;
}

.breadcrumbs-list {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
}

.breadcrumbs-list li {
    display: inline;
}

.breadcrumbs-list li.breadcrumbs-home,
.breadcrumbs-list li.breadcrumbs-prevpage,
.breadcrumbs-list li.breadcrumbs-thispage {
    font-weight: 500;
    font-size: 14px;
}

.breadcrumbs-list li.breadcrumbs-thispage {
    color: var(--color01);
}

.breadcrumbs-list li+li::before {
    content: "";
    width: 0.5em;
    height: 0.5em;
    display: inline-block;
    margin-right: 0.5em;
    border-top: 1px solid var(--color02);
    border-right: 1px solid var(--color02);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.pagetitlewrap {
    /* 599px 24px 1300px 36px */
    font-size: clamp(1.5rem, 0.8591rem + 1.7118vw, 2.25rem);
}

.pagetitlewrap .page-entitle {
    font-size: 50%;
    color: var(--color01);
}

.pagenation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 20px;
}

.pagenation li {
    width: 50px;
    height: 50px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 0 5px;
}

.pagenation li a,
.pagenation li .now {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: bold;
    text-align: center;
    border-radius: 50%;
}

.pagenation li:not(.prev):not(.next) a,
.pagenation li .now {
    padding-bottom: 2px;
}

.pagenation li .now {
    border: 1px solid var(--color01);
}

.pagenation li:not(.prev):not(.next) a:hover {
    color: #fff;
    background-color: var(--color01);
    opacity: 1;
}

.pagenation li.prev a,
.pagenation li.next a {
    color: #fff;
    border-radius: 100%;
    background-color: var(--color01);
}

.pagenation li.prev a::before,
.pagenation li.next a::before {
    content: "\f061";
    font-family: "Font Awesome 6 Free";
    line-height: 1;
}

.pagenation li.prev a::before {
    content: "\f060";
}

@media (max-width: 599px) {
    .aside-container .wrap+.wrap {
        margin-top: 10px;
    }

    .pagenation li {
        width: 42px;
        height: 42px;
    }
}

.list-asidecategory li+li {
    margin-top: 0.5em;
}

.list-asidecategory li a {
    width: 100%;
    height: 100%;
    display: block;
    padding: 0.5em 0.5em 0.5em 0;
}

.list-asidecategory li a::before {
    content: "-";
}

/* ------------------------------
list start
------------------------------ */
.list-inner {
    height: 100%;
    position: relative;
}

/* ------------------------------
list-blog
------------------------------ */
.list-blog li .list-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 20px;
    border-top: 1px solid var(--transparentcolor01);

    gap: 20px;
}

.list-blog li:last-child .list-inner {
    border-bottom: 1px solid var(--transparentcolor01);
}

.list-blog li .list-inner .imgwrap {
    width: 30%;
}

.list-blog li .list-inner .contentwrap {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.list-blog li .list-inner .contentwrap .category-date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.list-blog li .list-inner .contentwrap .category-date .date {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 1em;
    font-family: "Quicksand", sans-serif;
    color: var(--transparentcolor01);
}

.list-blog li .list-inner .contentwrap .category-date .category span {
    display: inline-block;
    padding: 0 1em;
    font-size: 14px;
    color: var(--color02);
    border: 1px solid var(--color02);
    border-radius: 2.5px;
}

.list-blog li .list-inner .contentwrap .title {
    margin-top: 0.5em;
    font-weight: 500;
}

/* ------------------------------
list-blog02
------------------------------ */
.list-blog02 li .list-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 50px 0;
    border-bottom: 1px solid var(--transparentcolor01);
}

.list-blog02 li .list-inner .imgwrap {
    width: 10%;
    overflow: hidden;
    border-radius: 5px;
}

.list-blog02 li .list-inner .imgwrap img {
    -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0.55, 0.45, 1);
    transition: -webkit-transform 1s cubic-bezier(0, 0.55, 0.45, 1);
    transition: transform 1s cubic-bezier(0, 0.55, 0.45, 1);
    transition: transform 1s cubic-bezier(0, 0.55, 0.45, 1), -webkit-transform 1s cubic-bezier(0, 0.55, 0.45, 1);
}

.list-blog02 li a:hover .list-inner .imgwrap img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

.list-blog02 li .list-inner .contentwrap {
    width: 85%;
}

.list-blog02 li .list-inner .contentwrap .category-date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.list-blog02 li .list-inner .contentwrap .category-date .date {
    margin-right: 1em;
    font-family: "Quicksand", sans-serif;
    color: var(--transparentcolor01);
}

.list-blog02 li .list-inner .contentwrap .category-date .category span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    font-size: 14px;
    color: var(--transparentcolor01);
}

.list-blog02 li .list-inner .contentwrap .category-date .category span::before {
    content: "ー";
    margin-right: 0.5em;
    font-size: 2em;
}

.list-blog02 li .list-inner .contentwrap .title {
    margin: 1em 0;
    font-weight: 500;
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0.55, 0.45, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0, 0.55, 0.45, 1);
    transition: transform 0.3s cubic-bezier(0, 0.55, 0.45, 1);
    transition: transform 0.3s cubic-bezier(0, 0.55, 0.45, 1), -webkit-transform 0.3s cubic-bezier(0, 0.55, 0.45, 1);
}

.list-blog02 li .list-inner .contentwrap .title:before {
    content: "\f061";
    margin-right: 0.5em;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: var(--color02);
    line-height: 1;
}

.list-blog02 li a:hover .list-inner .contentwrap .title {
    -webkit-transform: translateX(5px);
    transform: translateX(5px);
}

@media(max-width:599px) {
    .list-blog02 li .list-inner {
        padding: 40px 0;
    }

    .list-blog02 li .list-inner .imgwrap {
        width: 25%;
    }

    .list-blog02 li .list-inner .contentwrap {
        width: 70%;
    }
}

/* ------------------------------
list-blog03
------------------------------ */
.list-blog03 li .list-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 50px 20px;
    background-color: var(--transparentcolor00);
}

.list-blog03 li .list-inner .imgwrap {
    width: 30%;
    overflow: hidden;
    border-radius: 5px;
}

.list-blog03 li .list-inner .imgwrap img {
    -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0.55, 0.45, 1);
    transition: -webkit-transform 1s cubic-bezier(0, 0.55, 0.45, 1);
    transition: transform 1s cubic-bezier(0, 0.55, 0.45, 1);
    transition: transform 1s cubic-bezier(0, 0.55, 0.45, 1), -webkit-transform 1s cubic-bezier(0, 0.55, 0.45, 1);
}

.list-blog03 li a:hover .list-inner .imgwrap img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

.list-blog03 li .list-inner .contentwrap {
    width: 65%;
}

.list-blog03 li .list-inner .contentwrap .category-date .date {
    margin-right: 1em;
    font-family: "Quicksand", sans-serif;
    color: var(--transparentcolor01);
}

.list-blog03 li .list-inner .contentwrap .category-date .category span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    font-size: 14px;
    color: var(--transparentcolor01);
}

.list-blog03 li .list-inner .contentwrap .category-date .category span::before {
    content: "ー";
    margin-right: 0.5em;
    font-size: 2em;
}

.list-blog03 li .list-inner .contentwrap .title {
    margin: 1em 0;
    padding-left: 1.5em;
    font-weight: 500;
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0.55, 0.45, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0, 0.55, 0.45, 1);
    transition: transform 0.3s cubic-bezier(0, 0.55, 0.45, 1);
    transition: transform 0.3s cubic-bezier(0, 0.55, 0.45, 1), -webkit-transform 0.3s cubic-bezier(0, 0.55, 0.45, 1);
    position: relative;
}

.list-blog03 li .list-inner .contentwrap .title:before {
    content: "\f061";
    margin-right: 0.5em;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: var(--color02);
    line-height: 1.5;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.list-blog03 li a:hover .list-inner .contentwrap .title {
    -webkit-transform: translateX(5px);
    transform: translateX(5px);
}

@media(max-width:599px) {
    .list-blog03 li .list-inner .imgwrap {
        width: 100%;
    }

    .list-blog03 li .list-inner .contentwrap {
        width: 100%;
        margin-top: 10px;
    }
}

/* ------------------------------
list-news
------------------------------ */
.list-news li .list-inner {
    padding: 20px;
    border-top: 1px solid var(--transparentcolor01);
}

.list-news li:last-child .list-inner {
    border-bottom: 1px solid var(--transparentcolor01);
}

.list-news li .list-inner .contentwrap .category-date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.list-news li .list-inner .contentwrap .category-date .date {
    margin-right: 1em;
    font-family: "Quicksand", sans-serif;
    color: var(--transparentcolor01);
}

.list-news li .list-inner .contentwrap .category-date .category span {
    display: inline-block;
    padding: 0 1em;
    font-size: 14px;
    color: var(--color01);
    border: 1px solid var(--color01);
    border-radius: 2.5px;
}

.list-news li .list-inner .contentwrap .title {
    margin-top: 0.5em;
    font-weight: 500;
}

/* ------------------------------
list-news02
------------------------------ */
.list-news02 li .list-inner {
    padding: 50px 0;
    border-bottom: 1px solid var(--transparentcolor01);
}

.list-news02 li .list-inner .contentwrap .category-date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.list-news02 li .list-inner .contentwrap .category-date .date {
    margin-right: 1em;
    font-family: "Quicksand", sans-serif;
    color: var(--transparentcolor01);
}

.list-news02 li .list-inner .contentwrap .category-date .category span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    font-size: 14px;
    color: var(--transparentcolor01);
}

.list-news02 li .list-inner .contentwrap .category-date .category span::before {
    content: "ー";
    margin-right: 0.5em;
    font-size: 2em;
}

.list-news02 li .list-inner .contentwrap .title {
    margin: 1em 0;
    font-weight: 500;
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0.55, 0.45, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0, 0.55, 0.45, 1);
    transition: transform 0.3s cubic-bezier(0, 0.55, 0.45, 1);
    transition: transform 0.3s cubic-bezier(0, 0.55, 0.45, 1), -webkit-transform 0.3s cubic-bezier(0, 0.55, 0.45, 1);
}

.list-news02 li .list-inner .contentwrap .title:before {
    content: "\f061";
    margin-right: 0.5em;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: var(--color02);
    line-height: 1;
}

.list-news02 li a:hover .list-inner .contentwrap .title {
    -webkit-transform: translateX(5px);
    transform: translateX(5px);
}

@media(max-width:599px) {
    .list-news02 li .list-inner {
        padding: 40px 0;
    }
}

/* ------------------------------
newsblogdetail-container
------------------------------ */
.newsblogdetail-container .category-date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.newsblogdetail-container .category-date .date {
    margin-right: 1em;
    font-family: "Quicksand", sans-serif;
    color: var(--transparentcolor01);
}

.newsblogdetail-container .category-date .category span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    font-size: 14px;
    color: var(--transparentcolor01);
}

.newsblogdetail-container .category-date .category span::before {
    content: "ー";
    margin-right: 0.5em;
    font-size: 2em;
}

.newsblogdetail-container .title {
    margin-bottom: 40px;
    padding: 40px 0;
    /* 599px 24px 1300px 36px */
    font-size: clamp(1.5rem, 0.8591rem + 1.7118vw, 2.25rem);
    border-bottom: 1px solid;
}

.newsblogdetail-container .thumbnail {
    margin-bottom: 40px;
}

/* ------------------------------
 記事用CSS
------------------------------ */
.detail-content-text h2 {
    margin-top: 50px;
    margin-bottom: 20px;
    padding: 0.5em;
    font-weight: bold;
    /* 599px 20px 1300px 22px */
    font-size: clamp(1.25rem, 1.1432rem + 0.2853vw, 1.375rem);
    letter-spacing: 0.1em;
    border-bottom: 3px solid var(--color01);
}

.detail-content-text h3 {
    margin-top: 50px;
    margin-bottom: 20px;
    padding: 0.5em 1em;
    font-weight: bold;
    /* 599px 18px 1300px 20px */
    font-size: clamp(1.125rem, 1.0182rem + 0.2853vw, 1.25rem);
    color: #fff;
    letter-spacing: 0.1em;
    background: var(--color01);
}

.detail-content-text h4 {
    margin-top: 50px;
    margin-bottom: 20px;
    font-weight: bold;
    /* 599px 17px 1300px 18px */
    font-size: clamp(1.0625rem, 1.0091rem + 0.1427vw, 1.125rem);
    color: var(--color01);
    letter-spacing: 0.1em;
}

.detail-content-text ol {
    counter-reset: count 0;
}

.detail-content-text ol li {
    margin: 10px 0;
    padding-left: 20px;
    font-size: 16px;
    color: #000;
    background: initial;
    -webkit-box-shadow: none;
    box-shadow: none;
    position: relative;
}

.detail-content-text ol li::before {
    content: counter(count) ". ";
    display: inline-block;
    counter-increment: count 1;
    color: var(--color01);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
}

.detail-content-text ul li {
    margin: 10px 0;
    padding-left: 20px;
    font-size: 16px;
    color: #000;
    background: initial;
    -webkit-box-shadow: none;
    box-shadow: none;
    position: relative;
}

.detail-content-text ul li::before {
    content: "";
    width: 15px;
    height: 15px;
    display: inline-block;
    border-radius: 50%;
    background: var(--color01);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
}

.detail-content-text ol li marker {
    display: none;
}

.detail-content-text iframe[src*="youtube"] {
    height: auto;

    aspect-ratio: 16 / 9;
}


/* ------------------------------
list-block01
------------------------------ */
.list-block01 li {
    padding: 1em;
    font-weight: 500;
    font-size: 18px;
    text-align: center;
    border: 1px solid var(--transparentcolor01);
    border-radius: 20px;
    background-color: var(--color05);
}

.list-block01 li+li {
    margin-top: 1em;
}

@media (max-width: 599px) {
    .list-block01 li {
        font-size: 16px;
    }
}

/* ------------------------------
list-block02
------------------------------ */
.list-block02 {
    max-width: 1000px;
    height: 100%;
}

.list-block02 li {
    height: 100%;
}

.list-block02 li .list-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    overflow: hidden;
    border-radius: 40px;
}

.list-block02 li .list-inner .imgwrap {
    width: 35%;
}

.list-block02 li .list-inner .contentwrap {
    width: 65%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 30px 50px;
    background-color: #fff;
}

.list-block02 li .list-inner .contentwrap .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    margin-bottom: 1em;
    padding-bottom: 0.5em;
    font-family: "Quicksand", sans-serif;
    font-weight: bold;
    /* 599px 16px 1300px 20px */
    font-size: clamp(1rem, 0.7864rem + 0.5706vw, 1.25rem);
    letter-spacing: 0.05em;
    border-bottom: 2px solid var(--transparentcolor02);
}

.list-block02 li .list-inner .contentwrap .title .num {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 0.5em;
    font-weight: 500;
    font-size: 2.5em;
    font-size: 54px;
    color: var(--transparentcolor02);
    letter-spacing: 0.05em;
}

@media (max-width: 1024px) {
    .list-block02 li .list-inner .contentwrap .title {
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
    }
}

@media (max-width: 599px) {
    .list-block02 li .list-inner .imgwrap {
        width: 100%;
    }

    .list-block02 li .list-inner .contentwrap {
        width: 100%;
    }
}

/* ------------------------------
list-block03
------------------------------ */
.list-block03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;

    gap: 20px;
}

.list-block03 li {
    width: calc((100% - 40px) / 3);
}

.list-block03 li a {
    width: 100%;
    height: 100%;
    display: block;
}

.list-block03 li .list-inner {
    color: #fff;
    border-radius: 10px;
    background-color: var(--color02);
    position: relative;
}

.list-block03 li .list-inner .title {
    padding-top: calc(60px + 1em);
    font-weight: bold;
    /* 599px 16px 1300px 20px */
    font-size: clamp(1rem, 0.7864rem + 0.5706vw, 1.25rem);
    color: #fff;
    letter-spacing: 0.1em;
    text-align: center;
}

.list-block03 li .list-inner .imgwrap {
    width: 130px;
    height: 130px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 100%;
    background-color: var(--color05);
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    position: absolute;
    top: -65px;
    left: 50%;
    z-index: 1;
}

.list-block03 li .list-inner .btn {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 1.5em auto;
}

.list-block03 li .list-inner .btn::after {
    content: "";
    width: 40px;
    height: 40px;
    display: block;
    border-radius: 100%;
    background-image: url("/import/tenant_1/162.43.32.182/html/images/icon05.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.list-block03 li .list-inner .nanohana {
    position: absolute;
    bottom: -20px;
    right: -20px;
}

@media (max-width: 599px) {
    .list-block03 li {
        width: 100%;
    }

    .list-block03 li {
        margin-top: 45px;
    }
}

/* ------------------------------
list-block04
------------------------------ */
.list-block04 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;

    row-gap: 50px;
}

.list-block04 li {
    width: calc((100% - 60px) / 4);
}

.list-block04 li a {
    width: 100%;
    height: 100%;
    display: block;
    opacity: 1;
}

.list-block04 li a .list-inner {
    padding: 30px;
    border-radius: 7.5px;
    background-color: #fff;
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
}

.list-block04 li a .list-inner .imgwrap {
    margin: 20px;
    -webkit-transition: 1s ease-in-out;
    transition: 1s ease-in-out;
}

.list-block04 li a .list-inner .title {
    padding: 1em 0;
    font-weight: 600;
    font-weight: bold;
    /* 599px 16px 1300px 20px */
    font-size: clamp(1rem, 0.7864rem + 0.5706vw, 1.25rem);
    text-align: center;
    border-bottom: 1px solid var(--transparentcolor01);
    -webkit-transition: 1s ease-in-out;
    transition: 1s ease-in-out;
}

.list-block04 li a .list-inner .btn {
    min-height: 1.5em;
    display: block;
    overflow: hidden;
    margin-top: 1em;
    padding-right: 1.5em;
    font-weight: 500;
    /* 599px 14px 1300px 16px */
    font-size: clamp(0.875rem, 0.7682rem + 0.2853vw, 1rem);
    position: relative;
}

.list-block04 li .list-inner .btn::after {
    content: "";
    width: 1.5em;
    height: 1.5em;
    display: block;
    margin-left: auto;
    background-image: url("/import/tenant_1/162.43.32.182/html/images/icon05.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 0;
}

/* ホバー時 start */
.list-block04 li a:hover .list-inner {
    background-color: var(--color05);
}

.list-block04 li a:hover .list-inner .imgwrap {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

.list-block04 li a:hover .list-inner .title {
    color: var(--color02);
}

/* .btn-inner {
    display: inline-block;
    vertical-align: middle;
    overflow: hidden;
    color: transparent;
    line-height: 1;
    position: relative;
}

.btn-inner::before,
.btn-inner::after {
    content: attr(data-text);
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: -webkit-transform 0.1s cubic-bezier(0, 0.55, 0.45, 1);
    transition: -webkit-transform 0.1s cubic-bezier(0, 0.55, 0.45, 1);
    transition: transform 0.1s cubic-bezier(0, 0.55, 0.45, 1);
    transition: transform 0.1s cubic-bezier(0, 0.55, 0.45, 1), -webkit-transform 0.1s cubic-bezier(0, 0.55, 0.45, 1);
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
}

.btn-inner::before {
    color: var(--color01);
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
}

.btn-inner::after {
    color: var(--color02);
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
}

@media (hover: hover) and (pointer: fine) {
    .list-block04 li a:hover .btn-inner::before {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
    }

    .list-block04 li a:hover .btn-inner::after {
        -webkit-transform: translateY(0%);
        transform: translateY(0%);
    }
} */

.list-block04 li a .btn-inner,
.list-block04 li a .btn-changed {
    width: 100%;
    display: block;
    color: var(--color01);
    -webkit-transition: -webkit-transform 0.1s cubic-bezier(0, 0.55, 0.45, 1);
    transition: -webkit-transform 0.1s cubic-bezier(0, 0.55, 0.45, 1);
    transition: transform 0.1s cubic-bezier(0, 0.55, 0.45, 1);
    transition: transform 0.1s cubic-bezier(0, 0.55, 0.45, 1), -webkit-transform 0.1s cubic-bezier(0, 0.55, 0.45, 1);
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    position: absolute;
    top: 0;
    left: 0;
}

.list-block04 li a .btn-changed {
    color: var(--color02);
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
}

.list-block04 li a:hover .btn-inner {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}

.list-block04 li a:hover .btn-changed {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
}

@media (max-width: 599px) {
    .list-block04 li a .list-inner .btn.-line-two {
        min-height: 3em;
    }
}

/* 見たまま編集 */
[data-element-id] .list-block04 li a .btn-inner,
[data-element-id] .list-block04 li a .btn-changed {
    position: static;
}

[data-element-id] .list-block04 li a:hover .btn-inner {
    -webkit-transform: unset;
    transform: unset;
}

[data-element-id] .list-block04 li a:hover .btn-changed {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
}

/* ホバー時 end */

@media (max-width: 1024px) {
    .list-block04 {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-column-gap: 20px;
        -moz-column-gap: 20px;
        column-gap: 20px;

        row-gap: 20px;
    }

    .list-block04 li {
        width: calc((100% - 40px) / 3);
    }

    .list-block04 li a .list-inner {
        padding: 20px;
    }
}

@media (max-width: 599px) {
    .list-block04 {
        -webkit-column-gap: 10px;
        -moz-column-gap: 10px;
        column-gap: 10px;

        row-gap: 10px;
    }

    .list-block04 li {
        width: calc((100% - 10px) / 2);
    }
}

/* ------------------------------
list-block05
------------------------------ */
.list-block05 li+li {
    margin-top: 50px;
}

.list-block05 li .list-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.list-block05 li .list-inner .imgwrap {
    width: 55%;
}

.list-block05 li .list-inner .contentwrap {
    width: 50%;
    margin: 5% -5% 5% 0;
    padding: 20px;
    background-color: var(--transparentcolor00);
    position: relative;
    z-index: 1;
}

.list-block05 li .list-inner .contentwrap .num {
    font-family: "Quicksand", sans-serif;
    font-weight: bold;
    font-size: 3em;
    color: var(--color04);
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: right;
}

.list-block05 li .list-inner .contentwrap .title {
    margin-bottom: 20px;
    font-weight: bold;
    /* 599px 16px 1300px 20px */
    font-size: clamp(1rem, 0.7864rem + 0.5706vw, 1.25rem);
}

.list-block05 li:nth-of-type(even) .list-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.list-block05 li:nth-of-type(even) .list-inner .imgwrap {
    width: 50%;
}

.list-block05 li:nth-of-type(even) .list-inner .contentwrap {
    width: 55%;
    margin: 5% 0 5% -5%;
}

.list-block05.-ver02 li .list-inner .contentwrap {
    padding: 30px;
}

@media(max-width:599px) {
    .list-block05 li+li {
        margin-top: 20px;
    }

    .list-block05 li .list-inner {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .list-block05 li:nth-of-type(even) .list-inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .list-block05 li .list-inner .imgwrap {
        width: 100%;
    }

    .list-block05 li .list-inner .contentwrap {
        width: 100%;
        margin: 0;
    }

    .list-block05 li:nth-of-type(even) .list-inner .imgwrap {
        width: 100%;
    }

    .list-block05 li:nth-of-type(even) .list-inner .contentwrap {
        width: 100%;
        margin: 0;
    }
}

/* ------------------------------
list-block06
------------------------------ */
.list-block06 li .list-inner {
    padding: 20px;
    border-radius: 20px;
    background-color: var(--transparentcolor00);
}

/* ------------------------------
list-block07
------------------------------ */
.list-block07 li .list-inner .imgwrap {
    position: relative;
}

.list-block07 li .list-inner .imgwrap .num {
    width: 50px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-family: "Quicksand", sans-serif;
    font-weight: bold;
    color: #fff;
    letter-spacing: 0.1em;
    border-radius: 100%;
    background-color: var(--color04);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: -25px;
    left: 50%;
}

.list-block07 li .list-inner .title {
    margin: 1em 0;
    font-weight: 500;
    /* 599px 16px 1300px 20px */
    font-size: clamp(1rem, 0.7864rem + 0.5706vw, 1.25rem);
    text-align: center;
}

.list-block07.-verkanpo li .list-inner .imgwrap .num {
    background-color: var(--color01);
    top: -50px;
}

.list-block07.-verkanpo li .list-inner {
    padding: 20px;
    background-color: #fff;
}

.list-block07.-verkanpo li .list-inner .title {
    margin: 0 0 1em 0;
    line-height: 1;
}

.list-block07.-verkanpo li .list-inner .title .weak {
    font-size: 70%;
}

@media(max-width:599px) {
    .list-block07.-verkanpo li .list-inner .title .weak {
        font-size: 50%;
    }
}

/* ------------------------------
list-block08
------------------------------ */
.list-block08 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 20px 0;
}

.list-block08 li {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: center;
    position: relative;
}

.list-block08 li::before {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #ddd;
    position: absolute;
    top: 75px;
    left: -50%;
    z-index: 0;
}

.list-block08 li:first-child::before {
    display: none;
}

.step-icon-wrap {
    width: 150px;
    height: 150px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: auto;
    border-radius: 50%;
    background-color: var(--color06);
    position: relative;
    z-index: 1;
}

.step-icon-wrap i {
    font-size: 50px;
    color: var(--color02);
}

.step-num {
    width: 50px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: bold;
    color: #fff;
    text-align: center;
    border-radius: 50%;
    background-color: var(--color01);
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    position: absolute;
    top: 0;
    left: 0;
}

.step-text {
    margin-top: 0.5em;
    font-weight: 500;
}

/* ------------------------------
list-block09
------------------------------ */
.list-block09 li .list-inner a {
    width: 100%;
    height: 100%;
    display: block;
    padding: 20px;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    background-color: var(--color01);
}

.list-block09 li .list-inner a::before {
    content: "\f3cd";
    margin-right: 1em;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 1.5em;
    line-height: 1;
}

.list-block09 li.telbtn .list-inner a::before {
    content: "\f095";
}

.list-block09 li.faqbtn .list-inner a::before {
    content: "\f059";
}

/* ------------------------------
list-block10
------------------------------ */
.list-block10 li+li {
    border-left: 1px solid;
}

.list-block10 li .list-inner {
    background-color: transparent;
}

.list-block10 li .list-inner .ttl {
    margin-bottom: 1em;
    text-align: center;
}

@media(max-width:599px) {
    .list-block10 li .list-inner {
        padding: 0;
    }
}

/* ------------------------------
banner01
------------------------------ */
.banner01 {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.banner01 a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    overflow: hidden;
    padding: 10px;
    color: #fff;
    text-align: center;
    border-radius: 20px;
    background-color: var(--color02);
}

.banner01 a .imgwrap {
    width: 40%;
    padding: 10px;
    border-radius: 10px 0 0 10px;
    background-color: #fff;

    -webkit-clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%);
}

.banner01 a .textwrap {
    width: 60%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    /* 599px 14px 1300px 20px */
    font-size: clamp(0.875rem, 0.5546rem + 0.8559vw, 1.25rem);
}

.banner01 a .textwrap .btn {
    margin-top: 1em;
    padding: 0.25em 1em;
    font-size: 70%;
    color: var(--color02);
    border-radius: 50px;
    background-color: #fff;
}

@media(max-width:599px) {
    .banner01 a {
        padding: 10px;
    }
}

/* ------------------------------
list-banner
------------------------------ */
.list-banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.list-banner li {
    width: calc(100% / 3);
}

.list-banner li a {
    width: 100%;
    height: 100%;
    display: block;
}

.list-banner li .list-inner .imgwrap img {
    -webkit-filter: brightness(0.7);
    filter: brightness(0.7);
}

.list-banner li .list-inner .title {
    width: 100%;
    font-family: "Quicksand", sans-serif;
    /* 599px 24px 1300px 48px */
    font-size: clamp(1.5rem, 0.2183rem + 3.4237vw, 3rem);
    color: #fff;
    letter-spacing: 0.05em;
    text-align: center;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
}

.list-banner li .list-inner .title .sub {
    font-size: 40%;
}

.list-banner li .list-inner .btn {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    bottom: 40px;
    left: 50%;
    z-index: 1;
}

.list-banner li .list-inner .btn::after {
    content: "";
    width: 40px;
    height: 40px;
    display: block;
    background-image: url("/import/tenant_1/162.43.32.182/html/images/icon06.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

@media (max-width: 599px) {
    .list-banner li {
        width: 100%;
    }
}

/* ------------------------------
list-overview
------------------------------ */
.list-overview li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 1em;
    font-weight: 500;
    border-bottom: 1px solid var(--transparentcolor01);
}

.list-overview li+li {
    margin-top: 1em;
}

.list-overview .title {
    width: 25%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.list-overview .content {
    width: 70%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

/* ------------------------------
list-price
------------------------------ */
.list-price li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 1em;
    font-weight: 500;
    border-bottom: 1px solid var(--transparentcolor01);
}

.list-price li+li {
    margin-top: 1em;
}

.list-price .koumoku {
    width: 70%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin: 0 1em;
}

.list-price .price {
    width: 10em;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 0 1em;
    text-align: center;
}

@media(max-width:1024px) {
    .list-price .koumoku {
        width: 100%;
        margin: 0;
    }

    .list-price .price {
        width: 100%;
        margin: 0;
        text-align: right;
    }
}

/* ------------------------------
list-check01
------------------------------ */
.list-check01 li {
    padding-left: 1em;
    font-weight: 500;
    line-height: 2;
    text-indent: -1em;
}

.list-check01 li::before {
    content: "・";
}

/* ------------------------------
list-check02
------------------------------ */
.list-check02 {
    counter-reset: my-counter;
    padding-left: 1em;
    text-indent: -1em;
}

.list-check02 li {
    line-height: 1.8;
}

.list-check02 li::before {
    content: counter(my-counter) ".";
    counter-increment: my-counter;
}

/* ------------------------------
list-check03
------------------------------ */
.list-check03 li+li {
    margin-top: 0.75em;
}

.list-check03 li {
    padding: 0.5em 0.5em 0.5em 2em;
    border-radius: 15px 0px 0px 15px;
    background: var(--transparentcolor00);
    position: relative;
}

.list-check03 li:before {
    content: "";
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
    border-radius: 50%;
    background: var(--color06);
    position: absolute;
    top: 0.75em;
    left: 0.5em;
}

.list-check03.-verwhite li {
    color: var(--color01);
    background-color: #fff;
}

.list-check03.-vercolumn02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;

    gap: 20px;
}

.list-check03.-vercolumn02 li+li {
    margin-top: 0;
}

.list-check03.-vercolumn02 li {
    width: calc((100% - 60px) / 4);
}

@media(max-width:1024px) {
    .list-check03.-vercolumn02 {
        gap: 10px;
    }

    .list-check03.-vercolumn02 li {
        width: calc((100% - 10px) / 2);
    }
}

@media(max-width:599px) {
    .list-check03.-vercolumn02 li {
        width: 100%;
    }
}


/* ------------------------------
list-check04
------------------------------ */
.list-check04 li+li {
    margin-top: 1em;
}

.list-check04 li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 20px;
    background-color: var(--transparentcolor00);
}

.list-check04 .item-left,
.list-check04 .item-right {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    line-height: 1;
    text-align: center;
}

.list-check04 .item-arrow {
    margin: 0 1em;
    padding: 0.25em 0.5em;
    font-weight: bold;
    color: var(--color01);
    border: 1px solid;
    border-radius: 5px;
}

.list-check04 li.title {
    font-weight: bold;
    font-size: 1.25em;
    background-color: transparent;
}

.list-check04 li.title .item-arrow {
    display: none;
}

@media (max-width: 599px) {
    .list-check04 {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 10px;
    }

    .list-check04 li {
        min-width: 700px;
    }

    .list-check04 .item-left,
    .list-check04 .item-right {
        -ms-flex-negative: 0;
        flex-shrink: 0;
    }
}

/* ------------------------------
.first-flow-area .flow-list
------------------------------ */
.first-flow-area .flow-list .item .item-inner {
    padding: 12px 0 50px 100px;
    position: relative;
}

.first-flow-area.type-fasting .flow-list .item .item-inner {
    padding: 0;
}

.first-flow-area .flow-list .item:not(:last-child) .item-inner::before {
    content: "";
    width: 2px;
    height: 0;
    display: block;
    background: var(--color01);
    -webkit-transition: 1s;
    transition: 1s;
    position: absolute;
    top: 0;
    left: calc(69px / 2);
}

.first-flow-area.type-fasting .flow-list .item:not(:last-child) .item-inner::before {
    content: none;
}

.first-flow-area .flow-list .item:nth-of-type(2) .item-inner::before {
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
}

.first-flow-area .flow-list .item:nth-of-type(3) .item-inner::before {
    -webkit-transition-delay: 1.5s;
    transition-delay: 1.5s;
}

.first-flow-area .flow-list .item:nth-of-type(4) .item-inner::before {
    -webkit-transition-delay: 2s;
    transition-delay: 2s;
}

.first-flow-area .flow-list .item.mv:not(:last-child) .item-inner::before {
    height: 100%;
}

.first-flow-area .flow-list .item .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    font-weight: 600;
    font-size: 24px;
    color: var(--color01);
}

.first-flow-area .flow-list .item .title .tit {
    -webkit-transform: translateY(5px);
    transform: translateY(5px);
}

.first-flow-area .flow-list .item .title .num {
    width: 70px;
    height: 70px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff;
    letter-spacing: 0;
    border-radius: 50%;
    background: var(--color01);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.first-flow-area .flow-list .item .content {
    margin-top: 30px;
}

.fead-original {
    opacity: 1;
}

@media (max-width: 599px) {
    .first-flow-area .flow-list .item .item-inner {
        padding: 12px 0 50px 60px;
    }

    .first-flow-area .flow-list .item .title {
        font-size: 22px;
    }

    .first-flow-area .flow-list .item .title .tit {
        -webkit-transform: translateY(-3px);
        transform: translateY(-3px);
    }

    .first-flow-area .flow-list .item .title .num {
        width: 50px;
        height: 50px;
    }

    .first-flow-area .flow-list .item:not(:last-child) .item-inner::before {
        left: calc(49px / 2);
    }

    .first-flow-area.type-fasting .flow-list .item .content {
        margin-top: 10px;
    }
}

/* ------------------------------
list-faq
------------------------------ */
.list-faq li+li {
    margin-top: 1em;
}

.list-faq li .question {
    width: calc((100% - 250px));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 1em;
    border-radius: 5px;
    background-color: var(--transparentcolor00);
}

.list-faq li .question:hover {
    cursor: pointer;
}

.list-faq li .question .left {
    width: 3em;
    height: 3em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 1em;
    font-weight: bold;
    color: #fff;
    border-radius: 100%;
    background-color: var(--color04);
}

.list-faq li .question .right {
    width: 3em;
    height: 3em;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 0 1em;
    position: relative;
}

.list-faq li .question .right::before,
.list-faq li .question .right::after {
    content: "";
    width: 1.5em;
    height: 2px;
    display: block;
    background-color: var(--transparentcolor01);
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transform-origin: center;
    transform-origin: center;
    position: absolute;
    top: 50%;
    left: 50%;
}

.list-faq li .question .right::after {
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
}

.list-faq li.action .question .right::after {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
    transform: translate(-50%, -50%) rotate(0deg);
}

.list-faq li .question .txt {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.list-faq li .answer {
    width: calc((100% - 250px));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 1em;
    border-radius: 5px;
}

.list-faq li .answer .left {
    width: 3em;
    height: 3em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 1em;
    font-weight: bold;
    color: #fff;
    border-radius: 100%;
    background-color: var(--color03);
}

.list-faq li .answer .txt {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.list-faq.-vervoice .question {
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    font-weight: bold;
    border-radius: 5px;
    background-color: var(--color05);
}

@media(max-width:1024px) {
    .list-faq li .question {
        width: 100%;
    }

    .list-faq li .answer {
        width: 100%;
    }
}

@media(max-width:599px) {
    .list-faq li .question .right {
        margin: 0 0 1em 0;
    }
}

/* ------------------------------
senior-container
------------------------------ */
.senior-container .position {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.25em 0.5em;
    font-weight: bold;
    border-radius: 5px;
    background-color: var(--color05);
}

.senior-container .name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    margin-top: 0.5em;
    font-weight: bold;
    font-size: 1.2em;

    gap: 20px;
}

.senior-container .name .ja .senior-container .name .en {
    display: block;
}

.senior-container .name .en {
    font-size: 50%;
    color: var(--color04);
}

.senior-container .add {
    margin-top: 0.5em;
    color: var(--transparentcolor01);
}

/* ------------------------------
list-datacard
------------------------------ */
.list-datacard {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    gap: 20px;
}

.list-datacard .data-card {
    width: calc((100% - 40px) / 3);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 20px;
    border-radius: 5px;
    background: #fff;
    -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.list-datacard .data-card.-verrow02 {
    padding: 0;
    background-color: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.list-datacard .data-card.-verrow02 .small-card {
    width: 100%;
    height: 100%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 30px;
    background-color: #fff;
    -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.list-datacard .title {
    margin-bottom: 1em;
    font-weight: bold;
    text-align: center;
}

/* 円グラフ */
.list-datacard .chart-container {
    width: 200px;
    height: 200px;
    position: relative;
}

.list-datacard .pie-chart {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: conic-gradient(var(--color02) 0% 44%,
    #84b02b 44% 72%,
    #a0bb6a 72% 100%);

    -webkit-mask: conic-gradient(#000 0deg, transparent 0deg);
    mask: conic-gradient(#000 0deg, transparent 0deg);
}

.list-datacard .chart-label {
    font-weight: bold;
    font-size: 14px;
    color: #fff;
    line-height: 1.2;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    position: absolute;
}

.list-datacard .label-30 {
    top: 35%;
    left: 10%;
}

.list-datacard .label-40 {
    top: 35%;
    right: 10%;
}

.list-datacard .label-50 {
    bottom: 15%;
    left: 35%;
}

.list-datacard .right-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;

    gap: 20px;
}

/* 数字 */
.list-datacard .number-main .number-big {
    font-weight: bold;
    font-size: 60px;
    line-height: 1;
}

.list-datacard .number-main .number-big.-color {
    color: var(--color04);
}

.list-datacard .number-main .unit {
    font-weight: bold;
}

.list-datacard .underline {
    width: 30%;
    height: 3px;
    margin: 1em 0;
    background-color: var(--color04);
}

.list-datacard .comment {
    font-weight: bold;
    font-size: 12px;
}

.list-datacard .right-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;

    gap: 20px;
}

/* 比率 */
.list-datacard .ratio-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.list-datacard .ratio-numbers {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;

    gap: 15px;
}

.list-datacard .ratio-item .unit {
    margin-left: 0.5em;
    font-weight: bold;
}

.list-datacard .ratio-item .sub-label {
    display: block;
    margin-bottom: -5px;
    font-weight: bold;
    font-size: 12px;
}

.list-datacard .ratio-item .num-big {
    font-weight: bold;
    font-size: 50px;
    color: var(--color04);
    line-height: 1;
}

.list-datacard .ratio-numbers .colon {
    margin-top: 10px;
    font-weight: bold;
    font-size: 40px;
    color: var(--color04);
}

@media(max-width:1024px) {
    .list-datacard .data-card {
        width: calc((100% - 20px) / 2);
    }
}

@media(max-width:599px) {
    .list-datacard .data-card {
        width: 100%;
    }

    .list-datacard .data-card.-verrow02 {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .list-datacard .data-card.-verrow02 .small-card {
        width: calc((100% - 20px) / 2);
        padding: 20px;
    }

    .list-datacard .ratio-container {
        display: block;
    }

    .list-datacard .ratio-numbers {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

/* ------------------------------
list-recruit
------------------------------ */
.list-recruit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    /* -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; */

    gap: 20px;
}

.list-recruit li {
    width: calc((100% - 40px) / 3);
}

.list-recruit li .list-inner {
    padding: 20px;
    border-radius: 5px;
    background-color: var(--transparentcolor00);
}

.list-recruit li .title {
    margin-top: 0.5em;
}

.list-recruit li .jobtype {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 1em;
    padding: 0.25em 0.5em;
    font-size: 14px;
    color: #fff;
    background-color: var(--color02);
}

@media(max-width:599px) {
    .list-recruit li {
        width: 100%;
    }
}

/* ------------------------------
 form
------------------------------ */

.formitem button,
.formitem input,
.formitem select,
.formitem textarea {
    width: 100%;
    padding: 0.5em 0.5em;
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    border: 1px solid #ccc;
    background-color: #fff;
}

.formitem input.p-postal-code {
    width: calc((100% - 2em));
    margin-left: 1em;
}

.formitem .short {
    max-width: 300px;
}

.formitem .medium {
    max-width: 400px;
}

.formlist {
    max-width: 900px;
}

.formitem {
    padding: 1.5em;
    border-bottom: 1px solid #ccc;
}

.formitem dt {
    width: 30%;
    font-weight: 700;
}

.formitem .reqw {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: block;
    padding: 0.1em 0.5em;
    font-size: 12px;
    color: #fff;
    text-align: center;
    background-color: var(--color02);
}

.formitem .reqw.-vertext {
    color: var(--color02);
    background-color: transparent;
}

.formitem dd {
    width: 66%;
}

.formitem dd .inputlist li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    margin-bottom: 1em;
}

.formitem dd input[type="file"] {
    background: none;
}

.formitem dd textarea {
    height: 250px;
}

.formbtn li {
    text-align: center;
}

.formbtn li button,
.formbtn li input {
    width: 200px;
    max-width: 100%;
    display: inline-block;
    border: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.formbtn li button {
    max-width: 100%;
    display: inline-block;
    padding: 0.75em 2em;
    border: 1px solid var(--color15);
    background-color: #fff;
    position: relative;
}

.formbtn li button:before {
    content: "";
    width: 0.5em;
    height: 0.5em;
    display: block;
    border-top: 1px solid;
    border-bottom: 1px solid transparent;
    -webkit-transform: translateY(-50%) rotate(40deg);
    transform: translateY(-50%) rotate(40deg);
    position: absolute;
    top: 50%;
    right: 1.1em;
}

.formbtn li button:after {
    content: "";
    width: 1em;
    height: 2px;
    border-bottom: 1px solid;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 1em;
}

.formbtn li input {
    background-color: #ccc;
}

.formbtn li button:hover,
.formbtn li input:hover {
    opacity: 0.6;
    cursor: pointer;
}

.formbtn li {
    width: 100%;
    max-width: 320px;
    margin: auto;
}

.formbtn2 li {
    max-width: 250px;
}

.formitem .checkboxer label {
    display: inline-block;
    margin: 0.5em 0;
    margin-right: 15px;
    padding: 0 10px 0 24px;
    font-weight: bold;
    position: relative;
}

.formitem .checkboxer label::before {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    border: 2px solid #dcdcdc;
    border-radius: 3px;
    background-color: white;
    -webkit-box-shadow: none;
    box-shadow: none;
    position: absolute;
    top: 1px;
    left: 0;
}

.formitem .checkboxer label:hover {
    text-decoration: underline;
    cursor: pointer;
}

.formitem .checkboxer input {
    display: none;
}

.formitem .checkboxer input:checked+label {
    text-decoration: underline;
}

.formitem .checkboxer input:checked+label::after {
    content: "\f00c";
    width: 0;
    height: 0;
    display: inline-block;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 20px;
    color: var(--color01);
    line-height: 1;
    background-color: transparent;
    position: absolute;
    top: 2px;
    left: 2px;
}

@media (max-width: 1024px) {
    .formitem dt {
        width: 100%;
        margin-bottom: 0.5em;
    }

    .formitem dt label {
        display: block;
    }

    .formitem dd {
        width: 100%;
    }

    .formbtn2 li {
        max-width: 200px;
    }
}

@media (max-width: 599px) {
    .formitem {
        padding: 1em;
    }

    .formbtn li button,
    .formbtn li input {
        width: 230px;
    }

    .formbtn2 li {
        max-width: 120px;
    }
}

/* ------------------------------
見たまま編集画面
------------------------------ */
[data-element-id] .show\@tb.indention {
    width: 30px;
    display: inline-block;
    border: none;
}

[data-element-id] .show\@tb.indention:after {
    content: "SP時改行";
    padding: 4px 2px 5px;
    font-size: 10px;
}

[data-element-id] .show\@pc.indention {
    width: 30px;
    display: inline-block;
    font-size: 10px;
    border: none;
}

[data-element-id] .show\@pc.indention:after {
    content: "PC時改行";
    display: block;
    padding: 3px;
    font-weight: 700;
    font-size: 10px;
    color: #fff;
    letter-spacing: -1px;
    text-align: center;
    text-shadow: none;
    background: blue;
}

[data-element-id] #loading {
    position: relative;
}

[data-element-id] #loading-text {
    font-size: 18px;
}

[data-element-id] #top-gnav {
    visibility: visible;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    position: relative;
}

[data-element-id] #side-gnav {
    width: 50%;
    margin-left: auto;
    padding: 50px 0;
    position: relative;
    top: auto;
}

[data-element-id] .dropmenu {
    padding-top: 1.5em;
    border: 2px solid #000;
    position: relative;
}

[data-element-id] .dropmenu::before {
    content: "ドロップダウン";
    width: 100%;
    font-size: 14px;
    color: #fff;
    text-align: center;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

[data-element-id] .fixed-container {
    max-width: 1000px;
    margin: 50px auto 0;
    padding-top: 80px;
    border: 2px solid #000;
    opacity: 1;
    position: relative;
    position: relative;
    bottom: auto;
    right: auto;
}

[data-element-id] .fixed-container::before {
    content: "PC時追従";
    width: 100%;
    font-size: 14px;
    color: #fff;
    text-align: center;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

[data-element-id] .fixed-container.-versp {
    display: block;
    opacity: 1;
    position: relative;
}

[data-element-id] .fixed-container.-versp::before {
    content: "SP時追従";
}

[data-element-id] .modal-content {
    display: block;
    -webkit-transform: none;
    transform: none;
    position: relative;
    top: auto;
    left: auto;
}

[data-element-id] .swiper-wrapper {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    gap: 10px;
}

[data-element-id] .swiper-slide {
    width: calc((100% - 20px) / 3);
}

[data-element-id] #swiper02 .swiper-slide {
    width: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

[data-element-id] .hari-sanpo {
    -webkit-animation: none;
    animation: none;
    pointer-events: block;
}

[data-element-id] .hari-sanpo img {
    -webkit-animation: none;
    animation: none;
}

[data-element-id] .flowtext-container {
    position: relative;
}

[data-element-id] .flowtext-track {
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding-top: 1.5em;
    border: 1px solid #000;
    -webkit-animation: none;
    animation: none;
    position: relative;
}

[data-element-id] .flowtext-track::before {
    content: "流れるテキスト";
    width: 100%;
    font-size: 14px;
    color: #fff;
    text-align: center;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

[data-element-id] .flowtext-item {
    display: block;
    font-size: 24px;
}

@media(max-width:1024px) {
    footer .map::before {
        padding-top: 40%;
    }

    .list-block08 {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

@media(max-width:599px) {
    footer .map::before {
        padding-top: 70%;
    }
}

[data-element-id].fixed-container .white-container .btn.tel-btn.pattern-b {
    background-color: var(--color03);
}

@media(max-width:599px) {
    .list-overview .title {
        width: 100%;
        -webkit-box-flex: 0;
        -ms-flex-positive: 0;
        flex-grow: 0;
        font-size: 14px;
        opacity: 0.6;
    }

    .list-overview .content {
        width: 100%;
        -webkit-box-flex: 0;
        -ms-flex-positive: 0;
        flex-grow: 0;
    }
}

/* AIに質問ボタ用ン */
iframe[src*="console.nomoca-ai.com"] {
    bottom: -33px !important;
}

.fixed-container {
    right: 200px;
}

@media (max-width: 1024px) {
    iframe[src*="console.nomoca-ai.com"] {
        bottom: -63px !important;
    }
}

@media (max-width: 768px) {
    iframe[src*="console.nomoca-ai.com"] {
        left: auto !important;
        right: 0 !important;
    }

    iframe:not([style*="box-shadow"]) {
        /* width: calc((100% - 10px) / 3) !important; */
        -webkit-transform: translate(15%, 0px) !important;
        transform: translate(15%, 0px) !important;
    }

    .fixed-container {
        left: 10px;
        right: auto;
    }
}

@media (max-width: 599px) {
    /* iframe[src*="console.nomoca-ai.com"] {
        left: -10.4%;
        bottom: -100px !important;
    } */
    iframe[src*="console.nomoca-ai.com"] {
        bottom: -100px !important;
        left: auto;
        right: 0% !important;
    }

    iframe:not([style*="box-shadow"]) {
        /* width: calc((100% - 10px) / 3) !important; */
        -webkit-transform: translate(20%, 0) !important;
        transform: translate(20%, 0) !important;
    }
}
