@charset "utf-8";


/* # root1 START # */
:root {
    --color01: #81c7e8;
    --color02: #f4f9fc;
    --color03: #99dfdc;
    --color04: #87caea;
    --color05: #3b3b3b;
    --color06: #fff;
    --bg01: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_001.webp');
    --bg02: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_018.webp');
    --bg03: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_019.webp');
    --bg04: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_020.webp');
    --bg05: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_021.webp');
    --bg06: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_022.webp');
    --bg07: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_023.webp');
    --bg08: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_024.webp');
    --bg09: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_025.webp');
    --bg10: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_026.webp');
}
/* # root1 END # */

/* # root2 START # */
/* :root {
    --color01: #f8c8d2;
    --color02: #fdf6fd;
    --color03: #faa2c0;
    --color04: #fbd1df;
    --color05: #3b3b3b;
    --color06: #fff;
    --bg01: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_001.webp');
    --bg02: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_018.webp');
    --bg03: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_019.webp');
    --bg04: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_020.webp');
    --bg05: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_021.webp');
    --bg06: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_022.webp');
    --bg07: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_023.webp');
    --bg08: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_024.webp');
    --bg09: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_025.webp');
    --bg10: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_026.webp');
} */
/* # root2 END # */

/* # root3 START # */
/* :root {
    --color01: #99e665;
    --color02: #f5fff7;
    --color03: #7ed088;
    --color04: #b8e1b5;
    --color05: #3b3b3b;
    --color06: #fff;
    --bg01: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_001.webp');
    --bg02: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_018.webp');
    --bg03: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_019.webp');
    --bg04: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_020.webp');
    --bg05: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_021.webp');
    --bg06: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_022.webp');
    --bg07: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_023.webp');
    --bg08: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_024.webp');
    --bg09: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_025.webp');
    --bg10: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_026.webp');
} */
/* # root3 END # */

/* 画像ダウンロード用 */
:root {
    --b-bg01: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_001.webp');
    --b-bg02: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_018.webp');
    --b-bg03: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_019.webp');
    --b-bg04: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_020.webp');
    --b-bg05: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_021.webp');
    --b-bg06: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_022.webp');
    --b-bg07: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_023.webp');
    --b-bg08: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_024.webp');
    --b-bg09: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_025.webp');
    --b-bg10: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_026.webp');
    --r-bg01: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_001.webp');
    --r-bg02: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_018.webp');
    --r-bg03: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_019.webp');
    --r-bg04: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_020.webp');
    --r-bg05: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_021.webp');
    --r-bg06: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_022.webp');
    --r-bg07: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_023.webp');
    --r-bg08: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_024.webp');
    --r-bg09: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_025.webp');
    --r-bg10: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_pink_026.webp');
    --g-bg01: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_001.webp');
    --g-bg02: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_018.webp');
    --g-bg03: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_019.webp');
    --g-bg04: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_020.webp');
    --g-bg05: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_021.webp');
    --g-bg06: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_022.webp');
    --g-bg07: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_023.webp');
    --g-bg08: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_024.webp');
    --g-bg09: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_025.webp');
    --g-bg10: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_green_026.webp');
}

html{
  font-family: "M PLUS Rounded 1c", sans-serif;
}

/* 共通コンテンツ間隔 */

[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);
}

.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-my-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.85);
        margin-bottom: calc(var(--section-xlarge) * 0.85);
    }

    .section-mt-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.85);
    }

    .section-mb-xlarge {
        margin-bottom: calc(var(--section-xlarge) * 0.85);
    }

    .section-my-large {
        margin-top: calc(var(--section-large) * 0.85);
        margin-bottom: calc(var(--section-large) * 0.85);
    }

    .section-mt-large {
        margin-top: calc(var(--section-large) * 0.85);
    }

    .section-mb-large {
        margin-bottom: calc(var(--section-large) * 0.85);
    }

    .section-my-medium {
        margin-top: calc(var(--section-medium) * 0.85);
        margin-bottom: calc(var(--section-medium) * 0.85);
    }

    .section-mt-medium {
        margin-top: calc(var(--section-medium) * 0.85);
    }

    .section-mb-medium {
        margin-bottom: calc(var(--section-medium) * 0.85);
    }

    .section-my-small {
        margin-top: calc(var(--section-small) * 0.85);
        margin-bottom: calc(var(--section-small) * 0.85);
    }

    .section-mt-small {
        margin-top: calc(var(--section-small) * 0.85);
    }

    .section-mb-small {
        margin-bottom: calc(var(--section-small) * 0.85);
    }

    .section-my-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.85);
        margin-bottom: calc(var(--section-xsmall) * 0.85);
    }

    .section-mt-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.85);
    }

    .section-mb-xsmall {
        margin-bottom: calc(var(--section-xsmall) * 0.85);
    }

    .section-py-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.85);
        padding-bottom: calc(var(--section-xlarge) * 0.85);
    }

    .section-pt-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.85);
    }

    .section-pb-xlarge {
        padding-bottom: calc(var(--section-xlarge) * 0.85);
    }

    .section-py-large {
        padding-top: calc(var(--section-large) * 0.85);
        padding-bottom: calc(var(--section-large) * 0.85);
    }

    .section-pt-large {
        padding-top: calc(var(--section-large) * 0.85);
    }

    .section-pb-large {
        padding-bottom: calc(var(--section-large) * 0.85);
    }

    .section-py-medium {
        padding-top: calc(var(--section-medium) * 0.85);
        padding-bottom: calc(var(--section-medium) * 0.85);
    }

    .section-pt-medium {
        padding-top: calc(var(--section-medium) * 0.85);
    }

    .section-pb-medium {
        padding-bottom: calc(var(--section-medium) * 0.85);
    }

    .section-py-small {
        padding-top: calc(var(--section-small) * 0.85);
        padding-bottom: calc(var(--section-small) * 0.85);
    }

    .section-pt-small {
        padding-top: calc(var(--section-small) * 0.85);
    }

    .section-pb-small {
        padding-bottom: calc(var(--section-small) * 0.85);
    }

    .section-py-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.85);
        padding-bottom: calc(var(--section-xsmall) * 0.85);
    }

    .section-pt-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.85);
    }

    .section-pb-xsmall {
        padding-bottom: calc(var(--section-xsmall) * 0.85);
    }
}

@media (max-width: 599px) {
    .section-my-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.7);
        margin-bottom: calc(var(--section-xlarge) * 0.7);
    }

    .section-mt-xlarge {
        margin-top: calc(var(--section-xlarge) * 0.7);
    }

    .section-mb-xlarge {
        margin-bottom: calc(var(--section-xlarge) * 0.7);
    }

    .section-my-large {
        margin-top: calc(var(--section-large) * 0.7);
        margin-bottom: calc(var(--section-large) * 0.7);
    }

    .section-mt-large {
        margin-top: calc(var(--section-large) * 0.7);
    }

    .section-mb-large {
        margin-bottom: calc(var(--section-large) * 0.7);
    }

    .section-my-medium {
        margin-top: calc(var(--section-medium) * 0.7);
        margin-bottom: calc(var(--section-medium) * 0.7);
    }

    .section-mt-medium {
        margin-top: calc(var(--section-medium) * 0.7);
    }

    .section-mb-medium {
        margin-bottom: calc(var(--section-medium) * 0.7);
    }

    .section-my-small {
        margin-top: calc(var(--section-small) * 0.7);
        margin-bottom: calc(var(--section-small) * 0.7);
    }

    .section-mt-small {
        margin-top: calc(var(--section-small) * 0.7);
    }

    .section-mb-small {
        margin-bottom: calc(var(--section-small) * 0.7);
    }

    .section-my-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.7);
        margin-bottom: calc(var(--section-xsmall) * 0.7);
    }

    .section-mt-xsmall {
        margin-top: calc(var(--section-xsmall) * 0.7);
    }

    .section-mb-xsmall {
        margin-bottom: calc(var(--section-xsmall) * 0.7);
    }

    .section-py-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.7);
        padding-bottom: calc(var(--section-xlarge) * 0.7);
    }

    .section-pt-xlarge {
        padding-top: calc(var(--section-xlarge) * 0.7);
    }

    .section-pb-xlarge {
        padding-bottom: calc(var(--section-xlarge) * 0.7);
    }

    .section-py-large {
        padding-top: calc(var(--section-large) * 0.7);
        padding-bottom: calc(var(--section-large) * 0.7);
    }

    .section-pt-large {
        padding-top: calc(var(--section-large) * 0.7);
    }

    .section-pb-large {
        padding-bottom: calc(var(--section-large) * 0.7);
    }

    .section-py-medium {
        padding-top: calc(var(--section-medium) * 0.7);
        padding-bottom: calc(var(--section-medium) * 0.7);
    }

    .section-pt-medium {
        padding-top: calc(var(--section-medium) * 0.7);
    }

    .section-pb-medium {
        padding-bottom: calc(var(--section-medium) * 0.7);
    }

    .section-py-small {
        padding-top: calc(var(--section-small) * 0.7);
        padding-bottom: calc(var(--section-small) * 0.7);
    }

    .section-pt-small {
        padding-top: calc(var(--section-small) * 0.7);
    }

    .section-pb-small {
        padding-bottom: calc(var(--section-small) * 0.7);
    }

    .section-py-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.7);
        padding-bottom: calc(var(--section-xsmall) * 0.7);
    }

    .section-pt-xsmall {
        padding-top: calc(var(--section-xsmall) * 0.7);
    }

    .section-pb-xsmall {
        padding-bottom: calc(var(--section-xsmall) * 0.7);
    }
}

/* ##### 共通 ##### */
.active main,
.active footer,
.active .fixed-logo {
    -webkit-filter: blur(3px);
    filter: blur(3px);
}

.cmn-shadow-01 {
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
}

.round20 {
    overflow: hidden;
    border-radius: 20px;
}

.round100 {
    overflow: hidden;
    border-radius: 50%;
}

.logo {
    width: 180px;
    min-width: 180px;
    margin: 10px 20px;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.logo a {
    width: 100%;
    height: 100%;
    display: block;
}

.mainimg {
    position: relative;
}

.mainimg-cont {
    margin: auto;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: calc(50% + 70px);
    left: 0;
    right: 0;
    z-index: 1;
}

.h100img .img {
    height: 100%;
}

.h1-text {
    width: 100%;
    padding: 0 20px;
}

.h1-text li .box {
    display: inline-block;
    padding: 0 5px;
    font-size: 12px;
    color: #fff;
    border-radius: 9999px;
    background: var(--color01);transform:rotateZ(0.03deg);
}

@media (max-width: 1024px) {
    .h1-text li {
        width: 100%;
        display: block;
        margin-bottom: 10px;
        text-align: center;
    }
    .h1-text li .box {
        width: 100%;
        display: block;
        font-size: 18px;
    }
}

@media (max-width: 1024px) {
    .h1-text li .box {
        font-size: 14px;
    }
}

.f-correct{
  transform:rotateZ(0.03deg);
}

.sp-only {
    display: none;
}

.up-fxd-rowr {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.jcc {
    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: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.infinity {
    margin-left: -999rem;
    margin-right: -999rem;
    padding-left: 999rem;
    padding-right: 999rem;
}

.white-text-box * {
    color: var(--color06);
}

.blue {
    color: var(--color01);
}

.blue-text {
    font-weight: bold;
    font-size: 18px;
    color: var(--color01);
}

.white {
    color: var(--color06);
}

.green {
    font-weight: bold;
    color: var(--color05);
}

.black {
    color: #3b3b3b;
}

.underline-link a {
    font-weight: bold;
    color: var(--color01);
    text-decoration: underline;
}

.bgc-blue {
    background-color: var(--color01);
}

.bgc-blue_02 {
    background-color: var(--color02);
}

.bgc-pale-blue {
    background-color: var(--color02);
}

.bgc-white {
    background-color: var(--color06);
}

.bgc-pattern {
    background-color: var(--color04);
}

.horizon-list {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
}

.horizon-list dt {
    width: 20%;
    min-width: 20%;
}

.horizon-list dd {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.number-list {
    padding-left: 15px;
}

.number-list li {
    margin-bottom: 5px;
    text-indent: -12px;
}

.blue-number-list li {
    padding-left: 75px;
    border: 2px solid var(--color01);
    position: relative;
}

.blue-number-list li .num {
    width: 60px;
    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-size: 30px;
    line-height: 100%;
    background-color: var(--color01);
    position: absolute;
    top: 0;
    left: 0;
}

.dot-list {
    padding-left: 20px;
}

.dot-list li {
    list-style-position: outside;
    list-style-type: disc;
    margin-bottom: 5px;
}

.rhombus-list {
    padding-left: 10px;
}

.rhombus-list li {
    margin-bottom: 5px;
    padding-left: 24px;
    position: relative;
}

.rhombus-list li:before {
    content: "◆";
    display: inline-block;
    line-height: 100%;
    position: absolute;
    top: 5px;
    left: 0;
}

.colon-list {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
}

.colon-list dt {
    min-width: 15%;
}

.colon-list dt:after {
    content: "：";
    display: inline-block;
}

.circle-list {
    padding-left: 30px;
}

.circle-list>li {
    font-weight: 500;
    text-indent: -12px;
}

.circle-list>li>div:before {
    content: "〇";
    display: inline-block;
    margin-right: 5px;
    font-weight: bold;
    color: var(--color01);
}

.sideline-list dt,
.sideline-list dd {
    padding: 10px;transform:rotateZ(0.03deg);
}

.sideline-list dt {
    width: 22%;
    min-width: 22%;
    text-align: right;
}

.sideline-list dd {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    position: relative;
}

.sideline-list dd:after {
    content: "";
    width: 1px;
    height: 100%;
    display: inline-block;
    margin: auto;
    background-color: var(--color06);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 1;
}

.blue-box-list-wrap li:not(:last-of-type) {
    margin-bottom: 20px;
}

.blue-box-list {
    overflow: hidden;
    border-radius: 10px;
}

.blue-box-list dt,
.blue-box-list dd {transform:rotateZ(0.03deg);
    padding: 20px;
}

.blue-box-list dt {
    width: 25%;
    min-width: 25%;
    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;
    font-size: 24px;
    color: var(--color06);
    background-color: var(--color01);
}

.blue-box-list dd {
    width: 10%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-positive: 1;
    flex-grow: 1;
    font-weight: bold;
    font-size: 30px;
    line-height: 120%;
    background-color: var(--color06);
}

.blue-box-list dd .small {
    font-weight: 500;
    font-size: 18px;
}

.blue-box-list-wrap li:not(:last-of-type) {
    margin-bottom: 20px;
}

.float-left-img{
  height: auto;
    float: left;
    margin: 0 20px 10px 0;
    vertical-align: bottom;
}

.float-right-img{
  height: auto;
    float: right;
    margin: 0 0 10px 20px;
    vertical-align: bottom;
}

.ellipse-list li {
    height: 60px;
    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;
    font-size: 20px;
    color: var(--color06);
    line-height: 120%;
    text-align: center;
    border-radius: 35px;
    background: var(--color01);
}

.ellipse-list li a {
    color: var(--color06);
}

.ellipse-link-list li {
    height: 60px;
}

.ellipse-link-list li a {
    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;
    font-size: 20px;
    color: var(--color06);
    line-height: 120%;
    text-align: center;
    border-radius: 35px;
    background-color: var(--color01);
}

.clinic_guidelinklist li {
    height: auto;
    display: list-item;
    padding: 0;
}

.clinic_guidelinklist li a {
    height: 60px;
    display: block;
    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;
    color: var(--color06);
}

.blue-round-list li {
    width: calc(100% / 3 - 60px);
    position: relative;
}

.blue-round-list li:before {
    content: "";
    display: block;
    padding-top: 100%;
}

.blue-round-list-inner {
    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;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.blue-round-list-inner .title {
    -ms-flex-item-align: start;
    align-self: flex-start;
}

.blue-round-list-inner .blue-round-text {
    width: 80%;
    font-size: 20px;
}

.flow-number-list>li {
    padding-left: 70px;
}

.flow-number-title-box .num {
    width: 70px;
    min-width: 70px;
    height: 70px;
    max-height: 70px;
    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;
    margin-right: 20px;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 42px;
    line-height: 100%;
}

.flow-number-title-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-left: -70px;
}

.flow-number-title {
    font-weight: bold;
    font-size: 24px;
    line-height: 160%;
}

[data-element-id] .ttl-show\@sp .flow-number-title {
    font-size: 18px;
}

.faq-list li {
    padding-left: 170px;
    padding-right: 100px;
}

.check-list li {
    margin-bottom: 5px;
    padding-left: 24px;
    position: relative;
}

.check-list li:before {
    content: "\f00c";
    display: inline-block;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 16px;
    color: var(--color01);
    position: absolute;
    top: 0;
    left: 0;
}

.image-arrow-list li {
    width: calc(100% / 3 - 30px);
    margin: 10px 20px 10px 10px;
    position: relative;
}

.image-arrow-list li:not(:last-of-type):after {
    content: "\f0da";
    display: inline-block;
    margin: auto;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 20px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: -20px;
    z-index: 1;
}

.right-angle-list {
    padding-left: 10px;
}

.right-angle-list li {
    margin-bottom: 5px;
    padding-left: 20px;
    position: relative;
}

.right-angle-list li:before {
    content: "\f105";
    display: inline-block;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 20px;
    color: var(--color01);
    position: absolute;
    top: 0;
    left: 0;
}

.table-list {
    width: 100%;
}

.part {
    width: 30%;
    border-bottom: 2px solid var(--color06);
    border-right: 2px solid var(--color06);
}

.rbs .part {
    border-bottom: 2px solid var(--color03);
    border-right: 2px solid var(--color03);
}

.breakdown {
    width: 70%;
    border-bottom: 2px solid var(--color06);
}

.rbs .breakdown {
    border-bottom: 2px solid var(--color03);
}

.table-price {
    width: 30%;
    border-bottom: 2px solid var(--color06);
}

.rbs .table-price {
    border-bottom: 2px solid var(--color03);
}

.table-list-wrap {
    max-width: 800px;
    margin: auto;
    border: 2px solid var(--color03);
    background: #fff;
}

.rbs>dl:last-child .part,
.rbs>dl:last-child .breakdown,
.rbs>dl:last-child .table-price {
    border-bottom: none;
}

.table-list-inner {
    width: 70%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.table-list-inner .breakdown {
    width: 57.2%;
}

.table-list-inner .table-price {
    width: 42.8%;
    border-bottom: 2px solid var(--color06);
}

[class*="icon"] {
    display: inline-block;
}

.icon-phone {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.icon-phone::before {
    content: "\f095";
    width: 35px;
    height: 35px;
    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-family: "Font Awesome 6 Free";
    font-weight: 900;
    line-height: 100%;
}

.icon-tooth {
    width: 70px;
    height: 70px;
    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;
    color: var(--color06);
    line-height: 100%;
    background-image: var(--bg01);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
}

.icon-train {
    width: 16px;
    height: 18px;
}

.tel-box a {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: bold;
    font-size: 22px;
    color: var(--color01);
    letter-spacing: 3px;
}

.tel-box28,
.tel-box30 {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.tel-box28 a {
    font-size: 28px;
    letter-spacing: 4px;
}

.tel-box30 a {
    font-size: 30px;
}

.tel-box28 a .icon-phone:before,
.tel-box30 a .icon-phone:before {
    margin-right: 10px;
}

.reserve-number {
    width: 500px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.reserve-number .tel a {
    font-size: 30px;
}

.reserve-number .icon-phone {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.gr444,
.gr443,
.gr442,
.gr441,
.gr433,
.gr432,
.gr431,
.gr422,
.gr421,
.gr411,
.gr401 {
    width: 23%;
    margin: 1%;
}

.circle {
    width: 130px;
    height: 130px;
    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;
    color: var(--color01) !important;
    border-radius: 50%;
    background-color: var(--color06);
}

.circle * {
    font-weight: bold;
    color: var(--color08) !important;
    line-height: 1em;
}

.circle-parent {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
}

.circle-side {
    width: calc(100% - 130px);
}

.circle-time {
    -webkit-box-align: end;
    align-items: flex-end;
    -ms-flex-align: end;
    margin: 5px 0;
    font-size: 20px;
}

.circle-time .big {
    display: inline-block;
    margin: 0 2px;
    font-size: 220%;
}

.circle-time-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    line-height: 100%;
}

.circle-time-inner .small {
    font-weight: 500;
}

.icon-moon::before {
    content: "\f186";
    display: inline-block;
    margin: auto;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.rhombus-mark:before {
    content: "◆";
    display: inline-block;
    margin-right: 5px;
    color: var(--color01);
}

.notice {
    font-weight: 600;
    font-size: 14px;
    color: #e39393;
}

.float-wrap .float-box:nth-child(odd) .float-img {
    float: right;
    margin: 0 0 2% 2%;
}

.float-wrap .float-box:nth-child(even) .float-img {
    float: left;
    margin: 0 2% 2% 0;
}

.float-rev .float-box:nth-child(odd) .float-img {
    float: left;
    margin: 0 2% 2% 0;
}

.float-rev .float-box:nth-child(even) .float-img {
    float: right;
    margin: 0 0 2% 2%;
}

.sideby-parent .sideby-wrap:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.sideby-parent .sideby-wrap:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.sideby-parent .up-fxd-rowr:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.sideby-parent .up-fxd-rowr:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.round-white {
    -webkit-box-shadow: inset 0 0 10px 10px white, inset 1px 1px 10px 10px white,
    inset -1px -1px 10px 10px white;
    box-shadow: inset 0 0 10px 10px white, inset 1px 1px 10px 10px white,
    inset -1px -1px 10px 10px white;
}

.round-white img {
    position: relative;
    z-index: -1;
}

.blue-border-img {
    border: 5px solid var(--color01);
}

.tab-btn-list {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    padding: 0 10px;
}

.tab-btn {
    min-width: 280px;
    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 10px;
    font-weight: bold;
    font-size: 26px;
    letter-spacing: 1px;
    border-radius: 10px 10px 0 0;
    background-color: #eaeaea;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.tab-btn.on {
    background-color: var(--color06);
}

.tab-btn:hover {
    background-color: var(--color06);
    cursor: pointer;
}

.calender {
    width: 800px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 1024px) {
    .logo {
        width: 160px;
        min-width: 160px;
    }

    .sp-only {
        display: block;
    }

    .mainimg-cont {
        top: 50%;
    }

    .blue-text {
        font-size: 16px;
    }

    .reserve-number .tel a {
        font-size: 28px;
    }

    .colon-list dt {
        width: 20%;
        font-weight: bold;
    }

    .sideline-list dt {
        width: 35%;
        min-width: 35%;
    }

    .blue-box-list dt,
    .blue-box-list dd {
        padding: 15px;
    }

    .blue-box-list dt {
        width: 35%;
        min-width: 35%;
        font-size: 20px;
    }

    .blue-box-list dd {
        font-size: 24px;
    }

    .blue-box-list dd .small {
        font-size: 16px;
    }

    .ellipse-list li {
        height: 50px;
        font-size: 16px;
    }

    .clinic_guidelinklist li a {
        height: 50px;
    }

    .blue-number-list li .num {
        font-size: 26px;
    }

    .blue-round-list li {
        width: calc(100% / 3 - 30px);
        margin: 15px;
    }

    .flow-number-list>li {
        padding-left: 55px;
    }

    .flow-number-title-box {
        margin-left: -55px;
    }

    .flow-number-title {
        font-size: 18px;
    }

    .flow-number-title-box .num {
        width: 55px;
        min-width: 55px;
        height: 55px;
        max-height: 55px;
        margin-right: 10px;
        font-size: 34px;
    }

    .faq-list li {
        padding-left: 65px;
        padding-right: 15px;
    }

    .image-arrow-list li {
        width: calc(100% / 3 - 15px);
        margin: 10px 10px 10px 5px;
    }

    .image-arrow-list li:not(:last-of-type):after {
        right: -12px;
    }

    .table-list dt,
    .table-list dd,
    .table-list-text {
        font-size: inherit;
    }

    .table-price {
        width: 50%;
    }

    .table-list-inner {
        width: 100%;
    }

    .table-list-inner .breakdown {
        width: 50.2%;
    }

    .table-list-inner .table-price {
        width: 49.8%;
    }

    .tel-box a {
        font-size: 18px;
    }

    .tel-box30 a {
        font-size: 22px;
    }

    .tel-box28 a {
        font-size: 20px;
    }

    .circle {
        width: 100px;
        height: 100px;
    }

    .circle-time {
        font-size: 18px;
    }

    .circle-time .big {
        font-size: 200%;
    }

    .circle-side {
        width: 100%;
    }

    .circle-side .tel-box {
        width: calc(100% + 120px);
    }

    .tab-btn {
        min-width: 260px;
        margin: 0 5px;
        font-size: 22px;
    }
    
    .circle {
        width: 100px;
        height: 100px;
        border: solid 2px;
        position: absolute;
        top: -75px;
        left: 0;
    }
}

@media (max-width: 599px) {
    .logo {
        width: 140px;
        min-width: 140px;
    }

    .reserve-number .tel a {
        font-size: 24px;
    }

    .horizon-list dt {
        width: 25%;
        min-width: 25%;
    }

    .sideline-list {
        margin-bottom: 10px;
    }

    .sideline-list dt,
    .sideline-list dd {
        padding: 3px 10px;
    }

    .sideline-list dt {
        width: 100%;
        text-align: left;
    }

    .sideline-list dd {
        padding-left: 16px;
    }

    .sideline-list dd:after {
        width: 100%;
        height: 1px;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        top: auto;
        bottom: 0;
        left: 0;
        right: auto;
    }

    .blue-box-list dt,
    .blue-box-list dd {
        padding: 10px;
    }

    .blue-box-list dt {
        width: 100%;
        font-size: 18px;
    }

    .blue-box-list dd {
        font-size: 22px;
    }

    .blue-number-list li {
        padding-left: 45px;
    }

    .blue-number-list li .num {
        width: 40px;
        font-size: 22px;
    }

    .blue-round-list li {
        width: calc(100% / 2 - 10px);
        margin: 5px;
    }

    .flow-number-list>li {
        padding-left: 40px;
    }

    .flow-number-title-box {
        margin-left: -40px;
    }

    .flow-number-title-box .num {
        width: 40px;
        min-width: 40px;
        height: 40px;
        max-height: 40px;
        font-size: 26px;
    }

    .flow-number-title {
        font-size: 18px;
        line-height: 140%;
    }

    .faq-list li {
        padding-left: 50px;
        padding-right: 10px;
    }

    .part {
        color: var(--color06);
        background-color: var(--color01);
    }
    .rbs .part,
    .breakdown {
        width: 100%;
        border-bottom: 2px solid var(--color06);
        border-right: none;
    }

    .table-price {
        width: 100%;
    }

    .table-list-inner .breakdown {
        width: 100%;
        background-color: #b7e7ff;
    }

    .table-list-inner .table-price {
        width: 100%;
    }

    .circle-time {
        font-size: 14px;
    }

    .circle-side {
        width: 100%;
    }

    .tab-btn {
        min-width: 120px;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        margin: 0 3px;
        padding: 10px;
        font-size: 17px;
        line-height: 120%;
    }
    .circle{
              top: -50px;
    }
}

/* ##### 共通 end ##### */

/* ##### ボタン ##### */
.arrow-right a,
.arrow-left a,
.arrow-right button,
.arrow-left button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    line-height: 100%;
    position: relative;
}

.arrow-left a,
.arrow-left button {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.arrow-right a:after,
.arrow-left a:after,
.arrow-right button:after,
.arrow-left button:after {
    width: 22px;
    height: 22px;
    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;
    margin: auto;
    padding-top: 1px;
    padding-left: 2px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 13px;
    color: var(--color06);
    line-height: 100%;
    border-radius: 50%;
    background-color: var(--color03);
    -webkit-transition: 0.1s linear;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    z-index: 1;
}

.arrow-right a:after,
.arrow-right button:after {
    content: "\f105";
    right: 20px;
}

.arrow-left a:after,
.arrow-left button:after {
    content: "\f104";
    left: 20px;
}

[class*="arrow-"] a:hover,
[class*="arrow-"] button:hover {
    opacity: 1;
}

.arrow-right a:hover:after,
.arrow-right button:hover:after {
    right: 10px;
}

.arrow-left a:hover:after,
.arrow-left button:hover:after {
    left: 10px;
}

.line-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-left: auto;
    margin-right: auto;
}

.line-btn-left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.line-btn a {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-weight: bold;
}

.line-btn.arrow-right a {
    padding-right: 50px;
}

.line-btn.arrow-left a {
    padding-left: 50px;
}

.line-btn.arrow-right a:after {
    right: 10px;
}

.line-btn.arrow-left a:after {
    left: 10px;
}

.line-btn.arrow-right a:hover:after {
    right: 0;
}

.line-btn.arrow-left a:hover:after {
    left: 0;
}

.line-btn-blue a {
    color: var(--color01);
}

.more-btn {
    width: 320px;
    max-width: 90%;
    height: 60px;
    margin-left: auto;
    margin-right: auto;
}

.more-btn a,
.more-btn button {
    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;
    font-size: 20px;
    color: var(--color06);
    border: 1px solid var(--color01);
    border-radius: 30px;
    background-color: var(--color01);
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.more-btn a:hover,
.more-btn button:hover {
    color: var(--color01);
    background-color: var(--color06);
    opacity: 1;
}

.blog-area .more-btn a {
    color: var(--color06);
    border: 1px solid var(--color01);
    background-color: var(--color01);
}

.blog-area .more-btn a:hover {
    color: var(--color01);
    background-color: var(--color06);
}

.more-btn-transparent a {
    border: 1px solid var(--color06);
    background-color: transparent;
}

@media(max-width:599px) {
    .reservation .more-btn,
    .recruit.detail .more-btn {
        width: 160px;
    }
    
    .reservation .more-btn{
      width: 260px;
    }
    
    .reservation .more-btn.min{
      width: 160px;
    }

    .reservation .more-btn.arrow-left a,
    .recruit.detail .more-btn.arrow-left a {
        padding-left: 40px;
        padding-right: 0;
    }
}


.left-btn {
    margin-left: 0;
}

.right-btn {
    margin-right: 0;
}

@media (max-width: 1024px) {
    .more-btn {
        height: 50px;
    }

    .more-btn a {
        font-size: 18px;
    }
}

/* ##### ボタン end ##### */

/* ##### 見出し ##### */
.title {
    width: 100%;
    font-weight: bold;
    font-size: 20px;
}

[data-element-id] .ttl-show\@sp .title {
    font-size: 17px;
}

.title_01 {
    width: 100%;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: bold;
    font-size: 42px;
    letter-spacing: 4px;
    text-align: center;
}

[data-element-id] .ttl-show\@sp .title_01 {
    font-size: 26px;
}

.title_02 {
    width: 100%;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: bold;
    font-size: 32px;
    letter-spacing: 3px;
}

[data-element-id] .ttl-show\@sp .title_02 {
    font-size: 22px;
}

.title_03 {
    width: 100%;
    padding: 20px 5px;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 36px;
    color: var(--color01);
    position: relative;
}

[data-element-id] .ttl-show\@sp .title_03 {
    padding: 10px 5px;
    font-size: 26px;
}

.title_03:before {
    content: "";
    width: 100%;
    height: 3px;
    display: block;
    background-color: #ebebeb;
    position: absolute;
    bottom: 0;
    left: 0;
}

.title_03:after {
    content: "";
    width: 120px;
    height: 3px;
    display: block;
    background-color: var(--color01);
    position: absolute;
    bottom: 0;
    left: 0;
}

.title_03_white:before {
    background-color: var(--color06);
}

.title_04 {
    width: 100%;
    padding-left: 10px;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 26px;
    color: var(--color05);
    letter-spacing: 2px;
    border-left: 10px solid var(--color01);
}

[data-element-id] .ttl-show\@sp .title_04 {
    font-size: 20px;
}

/* line-cmn */
.line-cmn-01 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;

    -webkit-line-clamp: 1;
}

.line-cmn-02 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;

    -webkit-line-clamp: 2;
}

.border:after {
    content: "";
    width: 2px;
    height: 65px;
    display: block;
    margin: 30px auto;
    background-color: var(--color01);
}

@media (max-width: 1024px) {
    .title {
        font-size: 18px;
    }

    .title_01 {
        font-size: 34px;
    }

    .title_02 {
        font-size: 28px;
    }

    .title_03 {
        padding: 15px 5px;
        font-size: 32px;
    }

    .title_04 {
        font-size: 20px;
    }
}

@media (max-width: 599px) {
    .title {
        font-size: 17px;
    }

    .title_01 {
        font-size: 26px;
    }

    .title_02 {
        font-size: 22px;
    }

    .title_03 {
        padding: 10px 5px;
        font-size: 26px;
    }
}

.font-cmn-01{
  font-family: "M PLUS Rounded 1c", sans-serif;
}

.link-blue{
    color: #398ef6;
    font-weight: 600;
    border-bottom: 1px solid;
}

/* ##### 見出し end ##### */

/* ##### カスタムコンテンツ ##### */
.cc-wrap {
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
}

.cc-side {
    position: relative;
}

.cc-side:after {
    content: "";
    width: 300%;
    height: 100%;
    background-color: inherit;
    position: absolute;
    top: 0;
    left: -300%;
}

.date {
    font-weight: bold;
    letter-spacing: 1px;
}

.category {
    padding-left: 15px;
    line-height: 130%;
    position: relative;
}

.category:before {
    content: "";
    width: 15px;
    height: 15px;
    display: inline-block;
    border-radius: 50%;
    background: var(--color01);
    position: absolute;
    top: 4px;
    left: 0;
}

.category span {
    display: inline-block;
    margin: 0 5px;
    font-weight: bold;
    font-size: 14px;
    line-height: 120%;
}

.blog-list .cc-title {
    width: calc(100% - 20px);
    margin: 0 auto 10px auto;
}

.cc-title,
.cc-title a {
    font-weight: bold;
    font-size: 18px;
    color: var(--color01);
    line-height: 140%;
}

.cc-title a .line-cmn-02 {
    display: block;
}

.blog-list a {
    display: block;
    background-color: #fff;
    -webkit-box-shadow: 0px 1px 4px -1px #dcdcdc;
    box-shadow: 0px 1px 4px -1px #dcdcdc;
}

.blog-list li {
    padding: 10px;
}

.news-list li {
    width: 100%;
}

.cc-side-title {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 26px;
    letter-spacing: 1px;
}

.cc-side-list {
    padding-left: 10px;
}

.cc-side-list li a {
    display: block;
    padding-left: 20px;
    letter-spacing: 1px;
    position: relative;
}

.cc-side-list li a:before {
    content: "\f105";
    display: inline-block;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    top: 0;
    left: 0;
}

.detail-box .text h2 {
    margin: 3rem 0 1rem;
    padding: 1rem;
    font-weight: 500;
    font-size: 22px;
    color: #fff;
    line-height: 1.4;
    background-color: var(--color01);
    position: relative;
}

.detail-box .text h3 {
    margin: 3rem 0 1rem;
    padding: 0.6em;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.4;
    border-left: 10px solid var(--color01);
}

.detail-box .text h4 {
    margin: 3rem 0 1rem;
    padding: 0.4em;
    font-weight: 600;
    font-size: 18px;
    border-bottom: 2px solid var(--color01);
}

.detail-box .text ul li {
    padding-left: 1.2em;
    position: relative;
}

.detail-box .text ul li::before {
    content: "■";
    color: var(--color01);
    position: absolute;
    top: 0;
    left: 0;
}

.detail-box .text ol li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    list-style-type: none;
    counter-increment: cnt;
}

.detail-box .text ol li::before {
    content: ""counter(cnt)".";
    margin-right: 10px;
    font-weight: bold;
    font-size: 150%;
    color: var(--color01);
}

.detail-box .text iframe[src*="youtube"] {
    margin-top: 1em;
    margin-bottom: 1em;

    aspect-ratio: 16 / 9;
}

@media (max-width: 1024px) {
    .date {
        font-size: 14px;
    }

    .cc-title a {
        font-size: 14px;
    }

    .cc-cont {
        width: 64%;
    }

    .cc-side {
        width: 32%;
        margin: 0 2%;
    }

    .cc-side-title {
        font-size: 20px;
        letter-spacing: 0;
    }

    .cc-side-list li a {
        font-size: 14px;
    }
}

@media (max-width: 599px) {
    .date {
        font-size: 12px;
    }

    .blog-list li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-align: start;
    }

    .cc-img {
        width: 40%;
        height: 100%;
    }

    .cc-img a,
    .cc-img a .img {
        height: 100%;
    }

    .cc-img .img:before {
        padding-top: 80%;
    }

    .cc-info {
        width: 60%;
        padding: 5px;
    }

    .category span {
        font-size: 12px;
    }

    .blog-list .cc-title {
        width: calc(100% - 10px);
        margin: 5px;
    }

    .cc-title a {
        font-size: 13px;
    }

    .cc-cont {
        width: 100%;
    }

    .cc-side {
        width: 100%;
        margin: 30px 0 0 0;
    }

    .blog-list li {
        padding: 3px;
    }

    .blog-list a {
        width: 100%;
    }

    .cc-img {
        width: 100%;
    }

    .cc-info {
        width: 100%;
        padding: 5px;
    }

    .category span {
        margin: 0 3px;
        font-size: 11px;
    }

    .cc-title {
        font-size: 16px;
    }
}

/* ##### カスタムコンテンツ end ##### */

/* ##### header ##### */
.fixed-logo {
    display: none;
}

header {
    position: relative;
}

header {
    width: 1300px;
    max-width: 98%;
    margin: 0 auto;
    border-radius: 10px;
    background-color: var(--color06);
    -webkit-box-shadow: 2px 2px 10px -8px #000;
    box-shadow: 2px 2px 10px -8px #000;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    position: fixed;
    top: 40px;
    left: 0;
    right: 0;
    z-index: 4;
}

header .h-area {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

header .logo .logo02 {
    line-height: 1;
}

nav {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.nav-list li {
    margin: 5px 10px;
}

.nav-list li a,
.nav-list li .dropdown-btn {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: bold;
    letter-spacing: 1px;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.nav-list li .ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.nav-list li .ttl .en {
    font-size: 80%;
    color: var(--color01);
}

.dropmenu {
    zoom: 1;
}

.dropmenu .dropdown {
    overflow: hidden;
    position: relative;
}

.dropmenu .dropdown:after {
    content: "";
    width: 100%;
    height: 25px;
    border: 0;
    position: absolute;
    left: 0;
}

.dropdown-btn {
    display: block;
}

.dropmenu .dropdown ul {
    width: 300px;
    margin: 20px auto 0 auto;
    padding: 10px 15px;
    border-radius: 10px;
    background-color: var(--color01);
    -webkit-box-shadow: 3px 3px 10px -7px #000;
    box-shadow: 3px 3px 10px -7px #000;
    opacity: 0;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    -webkit-transition-property: all;
    transition-property: all;
    position: absolute;
    top: 100%;
    left: -120px;
    right: -120px;
    z-index: -9999 !important;
}

.dropmenu .dropdown ul:before {
    content: "";
    width: 0;
    height: 0;
    display: inline-block;
    margin: auto;
    border-width: 0 10px 20px 10px;
    border-style: solid;
    border-color: transparent transparent var(--color01) transparent;
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
}

#dropmenu .dropdown ul li {
    width: 100%;
    height: auto;
    overflow: hidden;
    margin-left: 0;
    border-bottom: 1px solid var(--color06);
}

#dropmenu .dropdown ul li:last-of-type {
    border-bottom: none;
}

#dropmenu .dropdown ul li a {
    display: block;
    padding: 10px 5px;
    font-weight: normal;
    color: var(--color06);transform:rotateZ(0.03deg);
}

.header-tel-box-wrap {
    min-width: 230px;
    -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: 0 15px;
}

.header-tel-box-wrap .text {
    padding: 0;
    font-size: 14px;
    line-height: 120%;transform:rotateZ(0.03deg);
}

.reserve-box {
    width: 160px;
    overflow: hidden;
    border-radius: 0 10px 10px 0;
}

.reserve-box div {
    height: 100%;
}

.reserve-box a {
    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-family: "M PLUS Rounded 1c", sans-serif;
    color: var(--color06);
    background-color: var(--color01);
}

.reserve-box a.ab{
  background: #f8d76e;
}

.reserve-box .icon-calender {
    width: 35px;
    height: 35px;
    margin-bottom: 5px;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

/* scrolled */
.scrolled header {
    top: 5px;
}

.scrolled .reserve-box .icon-calender {
    width: 30px;
    height: 30px;
    margin-bottom: 3px;
}

/* scrolled end */


/* hover */
.dropdown-btn:hover {
    cursor: pointer;
}

#dropmenu .dropdown:hover {
    overflow: visible;
}

#dropmenu .dropdown:hover ul {
    opacity: 1;
    z-index: 2 !important;
}

.nv-box {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
}

/* hover end */

@media (max-width: 1024px) {
    .fixed-logo {
        width: 200px;
        display: block;
        -webkit-transition: 0.3s linear;
        transition: 0.3s linear;
        position: absolute;
        top: 10px;
        left: 10px;
        z-index: 3;
    }

    .logo {
        width: 180px;
    }

    header {
        width: 480px;
        height: 100%;
        padding: 20px;
        -webkit-transform: translate(500px, 0);
        transform: translate(500px, 0);
        top: 10px;
        left: auto;
        right: 10px;
    }

    header .h-area {
        width: 100%;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        overflow-y: scroll;
         overflow-x: hidden;
        padding: 0 0 50px;
        height: 90%;
    }

    nav {
        width: 100%;
    }

    .nav-list {
        width: 100%;
        height: 100%;
        display: block;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 15px 10px;
        -webkit-box-shadow: 0px -3px 7px -7px #808080 inset;
        box-shadow: 0px -3px 7px -7px #808080 inset;
    }

    .nv-box {
        width: 100%;
    }

    .nav-list li .ttl {
        align-items: flex-start;
    }

    .dropdown-btn {
        font-weight: bold;
    }

    #dropmenu .dropdown {
        overflow: visible;
    }

    #dropmenu .dropdown ul {
        width: 100%;
        margin: 0;
        padding: 0;
        background-color: transparent;
        -webkit-box-shadow: none;
        box-shadow: none;
        opacity: 1;
        position: static;
    }

    .dropmenu .dropdown:after {
        display: none;
    }

    .dropmenu .dropdown ul:before {
        display: none;
    }

    #dropmenu .dropdown ul li {
        padding: 0 0 0 30px;
        border-bottom: none;
        position: relative;
    }

    #dropmenu .dropdown ul li:before {
        content: "\f0da";
        width: 16px;
        height: 16px;
        display: inline-block;
        display: inline-block;
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        color: var(--color01);
        position: absolute;
        top: 0;
        left: 10px;
    }

    #dropmenu .dropdown ul li a {
        padding: 0;
        font-size: 15px;
        color: inherit;
    }

    header .reserve-box {
        width: 50%;
        height: auto;
        border-radius: 10px;
    }

    header .reserve-box a {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        padding: 5px;
    }

    header .reserve-box .icon-calender {
        width: 25px;
        height: 25px;
        margin-bottom: 0;
        margin-right: 10px;
    }

    /* active */
    .active header {
        -webkit-box-shadow: 0px 0px 15px -8px #000;
        box-shadow: 0px 0px 15px -8px #000;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }

    /* active end */

    /* scrolled */
    .scrolled header {
        height: calc(100% - 20px);
        top: 10px;
    }

    .scrolled .fixed-logo {
        width: 140px;
    }

    .scrolled .reserve-box .icon-calender {
        width: 25px;
        height: 25px;
        margin-bottom: 0;
    }
    .tel-box-wrap {
        padding: 20px 0;
    }
    /* scrolled end */
}

@media (max-width: 599px) {
    .fixed-logo {
        width: 150px;
        top: 5px;
        left: 5px;
    }

    header {
        width: 82%;
        padding: 10px 20px;
        -webkit-transform: translate(calc(100% + 10px), 0);
        transform: translate(calc(100% + 10px), 0);
    }

    header .reserve-box {
        width: 90%;
    }

    .header-tel-box-wrap {
        padding: 5px;
    }

    /* scrolled */
    .scrolled .fixed-logo {
        width: 120px;
    }

    /* scrolled end */
}

/* ##### header end ##### */

/* ##### footer ##### */
.totop {
    width: 50px;
    height: 50px;
    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-size: 20px;
    color: var(--color06);
    line-height: 100%;
    border: 2px solid var(--color01);
    border-radius: 5px;
    background-color: var(--color01);
    -webkit-box-shadow: 0 0 12px -8px #000;
    box-shadow: 0 0 12px -8px #000;
    cursor: pointer;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 2;
    z-index: 200;
}

.totop:before {
    content: "\f106";
    display: inline-block;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.floating-box {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    overflow: hidden;
    border-radius: 10px;
    background-color: var(--color06);
    -webkit-box-shadow: 0 0 12px -8px #000;
    box-shadow: 0 0 12px -8px #000;
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 2;
}

@media(max-width:1024px) {
    .floating-box {
        bottom: 20px;
    }
}

.floating-box-inner {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.floating-tel-box-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;
    padding: 5px;
}

.floating-tel-box-wrap .text {
    font-size: 12px;
    line-height: 110%;
}

.floating-tel-box-wrap .tel-box a {
    font-size: 22px;
    color: var(--color01);
    letter-spacing: 2px;
}

.floating-box .icon-phone:before {
    width: 25px;
    height: 25px;
    color: var(--color01);
}

.floating-box .reserve-box {
    width: 100px;
    height: auto;
}

.floating-box .reserve-box a .icon-calender {
    width: 20px;
    height: 20px;
    margin: 2px;
}


.footer-title a {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.logo01,
.logo02 {
    display: inline-block;
}

.logo01 {
    margin-bottom: 5px;
}

.footer-title a .logo01 {
    max-width: 200px;
}
.footer-title a .logo02 {
    max-width: 250px;
}

.train-text {
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.icon-train {
    margin-right: 10px;
}

.timetable {
    width: 100%;
    border-collapse: collapse;
}

.timetable tr {
    border-bottom: 1px solid var(--color06);
}

.timetable th,
.timetable td {
    padding: 7px 10px;
    font-weight: normal;
    text-align: center;
}

.timetable td {
    border-left: 1px solid var(--color06);
    border-right: 1px solid var(--color06);
}

.timetable td:last-of-type {
    border-right: none;
}

footer .underline-link a {
    color: var(--color06);
}

.footer-logo {
    width: 270px;
    margin: 0 0 20px;
}

.footer-tel-box {
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.footer-tel-box .fax {
    display: inline-block;
    margin-left: 10px;
}

footer .map {
    height: 100%;
}

.footer-nav {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
}

.footer-nav {
    width: 100%;
}

.footer-nav li {
    -webkit-column-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
}

.copy-box {
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
}

.copy {
    width: 100%;
    -ms-flex-item-align: end;
    align-self: flex-end;
    font-size: 12px;
}

@media (max-width: 1024px) {
    footer {
        padding-bottom: 30px;
    }

    .totop {
        width: 40px;
        height: 40px;
        bottom: 15px;
        right: 15px;
    }

    .footer-box-inner {
        min-width: 368px;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }

    footer .map:after {
        padding-top: 50%;
    }

    .footer-title {
        font-size: 28px;
    }


    .footer-title {
        font-size: 28px;
    }

    .timetable th,
    .timetable td {
        padding: 5px;
        font-size: 12px;
    }

    .footer-logo {
        width: 165px;
    }

    .footer-nav {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }

    footer .colon-list {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        margin-bottom: 10px;
    }

    footer .colon-list dt,
    footer .colon-list dd {
        font-size: 14px;
    }
    
    footer .colon-list dt{
      flex-shrink: 0;
    }

}

@media (max-width: 599px) {
    footer {
        padding-bottom: 20px;
    }

    .totop {
        bottom: 10px;
        right: 10px;
    }

    .floating-box {
        bottom: 10px;
        left: 10px;
    }

    .footer-box-inner {
        width: 100%;
        min-width: 100%;
    }

    .footer-box .footer-box-inner:first-child {
        margin: 30px 0 10px;
        padding: 40px 20px 20px;
    }

    .floating-tel-box-wrap {
        padding: 2px 10px;
    }

    .floating-tel-box-wrap .tel-box a {
        font-size: 18px;
        letter-spacing: 1px;
    }

    .floating-box .icon-phone:before {
        width: 20px;
        height: 20px;
        margin-right: 5px;
        font-size: 14px;
        color: var(--color01);
    }

    .floating-box .reserve-box {
        width: auto;
    }

    .floating-box .reserve-box a {
        padding: 2px 10px;
        font-size: 14px;
    }

    .footer-title {
        font-size: 24px;
    }

    .footer-logo {
        margin-left: auto;
        margin-right: auto;
    }

    .footer-nav li a {
        font-size: 14px;
    }

    footer .map:after {
        padding-top: 100%;
    }
}

/* ##### footer end ##### */

/* ##### トップページ ##### */
.mainimg {
    height: 100vh;
    overflow: hidden;
    position: relative;
}

[data-element-id] .mainimg{
  height: auto;
}

.mainimg .slide-container,.mainimg .slide,.mainimg .slick-list,.mainimg .slick-track,.mainimg .home_main,.mainimg .home_main_visual{
  height: 100% !important;
}

.home_main{
  position: relative;
}

.home_new {
    color: #fff;
    text-shadow: 1px 2px 5px #000;
    font-size: 40px;
    margin-bottom: 30px;
    text-align: center;
    line-height: 1.3;
    font-weight: 600;
    white-space: nowrap;
    font-family: "M PLUS Rounded 1c", sans-serif;
    color: var(--color01);
    text-shadow: var(--color06) 4px 0px 0px, var(--color06) 4px 1px 0px, var(--color06) 3px 2px 0px, var(--color06) 3px 3px 0px, var(--color06) 2px 3.36588px 0px, var(--color06) 1px 4px 0px, var(--color06) 0px 4px 0px, var(--color06) 0px 4px 0px, var(--color06) -2px 4px 0px, var(--color06) -2px 3px 0px, var(--color06) -3px 2px 0px, var(--color06) -4px 1px 0px, var(--color06) -3px 0px 0px, var(--color06) -4px 0px 0px, var(--color06) -4px -1.40313px 0px, var(--color06) -3px -2px 0px, var(--color06) -3px -3px 0px, var(--color06) -2px -3px 0px, var(--color06) -1px -4px 0px, var(--color06) 0px -4px 0px, var(--color06) 1px -4px 0px, var(--color06) 2px -3px 0px, var(--color06) 3px -3px 0px, var(--color06) 3px -2px 0px, var(--color06) 4px -1px 0px, var(--color06) 4px 0px 0px;
}

[data-element-id] .ttl-show\@sp .home_new  {
    padding: 5px 10px;
    font-size: 22.4px;
}

.home_lead_img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: fit-content;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.home_lead_white {
    background: rgba(255, 255, 255, 255.9);
    color: #111;
    font-weight: 700;
    letter-spacing: 2px;
    padding: 7px 15px;
    margin-bottom: 10px;
    font-size: 40px;
    white-space: nowrap;
    font-family: "M PLUS Rounded 1c", sans-serif;
}

[data-element-id] .ttl-show\@sp .home_lead_white  {
    padding: 5px 10px;
    font-size: 22.4px;
}

.home_lead_green {
    background:rgb(135 202 234);
    color: #fff;
    display: inline-block;
    padding: 5px 15px;
    margin-right: 10px;
    font-family: "M PLUS Rounded 1c", sans-serif;
    transform:rotateZ(0.03deg);
    white-space: nowrap;
}

.home_lead_white_chu {
    color: #fff;
    font-size: .8rem;
    text-align: right;
    vertical-align: top !important;margin-top: 10px;
    font-family: "M PLUS Rounded 1c", sans-serif;
    transform:rotateZ(0.03deg);
}

.head_prize {
    position: absolute;
    bottom: 30px;
    right: 30px;
    z-index: 3;
}

.head_prize a {
    display: flex;
    gap: 20px;
}

.head_prize img{
  max-width: 120px;
}

.mainimg.hero-section-img .uk-slidenav-position,
.mainimg.hero-section-img .uk-slidenav-position .uk-slideshow,
.mainimg.hero-section-img .uk-slidenav-position .uk-slideshow,
.mainimg.hero-section-img .uk-slidenav-position .uk-slideshow li,
.mainimg.hero-section-img .uk-slidenav-position .uk-slideshow li div,
.mainimg.hero-section-img .uk-slidenav-position .uk-slideshow li div img {
    width: 100%;
    height: 100%;
}

.mainimg.hero-section-img .uk-slidenav-position .uk-slideshow li div img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: left;
    object-position: left;
}

.top .mainimg-title {
    font-weight: bold;
    font-size: 44px;
    color: #a2a2a2;
    letter-spacing: 4px;
}

[data-element-id] .top .ttl-show\@sp .mainimg-title {
    margin-top: 50px;
    font-size: 16px;
    line-height: 140%;
}

.top .mainimg-title.ver2 {
    color: var(--color05);
    text-shadow: var(--color06) 4px 0px 0px, var(--color06) 4px 1px 0px, var(--color06) 3px 2px 0px, var(--color06) 3px 3px 0px, var(--color06) 2px 3.36588px 0px, var(--color06) 1px 4px 0px, var(--color06) 0px 4px 0px, var(--color06) 0px 4px 0px, var(--color06) -2px 4px 0px, var(--color06) -2px 3px 0px, var(--color06) -3px 2px 0px, var(--color06) -4px 1px 0px, var(--color06) -3px 0px 0px, var(--color06) -4px 0px 0px, var(--color06) -4px -1.40313px 0px, var(--color06) -3px -2px 0px, var(--color06) -3px -3px 0px, var(--color06) -2px -3px 0px, var(--color06) -1px -4px 0px, var(--color06) 0px -4px 0px, var(--color06) 1px -4px 0px, var(--color06) 2px -3px 0px, var(--color06) 3px -3px 0px, var(--color06) 3px -2px 0px, var(--color06) 4px -1px 0px, var(--color06) 4px 0px 0px;
}

.top .mainimg-title.ver2 .blue {
    color: var(--color01);
}

.top_01 {
    height: 80px;
}

[data-element-id] .top_01 {
    height: auto;
}

.top_01 .inner,
.top-news-box {
    height: 100%;
}

.top-news-box {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.top_01 .horizon-list {
    width: 10%;
    -webkit-box-flex: 1;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.top_01 .horizon-list dt,
.top_01 .horizon-list dd {
    padding: 0 20px;
    border-right: 1px solid var(--color06);
}

.top_01 .horizon-list dt {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-weight: bold;
    font-size: 22px;
    letter-spacing: 2px;
}

.top_01 .news-list dd .date {
    margin-right: 20px;
}

.top_01 .news-list dd .cc-title {
    width: 10%;
    display: block;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    overflow: hidden;
    color: var(--color06);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.top_01 .news-list dd .cc-title a {
    color: var(--color06);
}


.top_01 .top-news-box .line-btn {
    padding: 0 20px;
}

.feature-list {
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
}

.feature-list li {
    position: relative;
}

.feature-list li .icon-tooth {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.feature-list .img {
    border-radius: 50%;
    position: relative;
}

.feature-list .acc-wrap {
    margin-top: -20px;
    position: relative;
    z-index: 1;
}

.acc-wrap .acc-btn {
    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: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 15px;
    padding-right: 40px;
    color: var(--color06);
    line-height: 120%;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    position: relative;
}

.acc-wrap .acc-btn:hover {
    cursor: pointer;
}

.acc-btn-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.accordion_icon {
    width: 30px;
    height: 30px;
    margin: auto;
    border: 2px solid var(--color03);
    border-radius: 50%;
    background-color: var(--color03);
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 10px;
    z-index: 1;
}

.accordion_icon span {
    width: 12px;
    height: 2px;
    background-color: var(--color06);
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    position: absolute;
}

.accordion_icon span:nth-of-type(1) {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    top: 12px;
    left: 7px;
}

.accordion_icon span:nth-of-type(2) {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    top: 12px;
    left: 7px;
}

.acc-btn:hover .accordion_icon {
    background-color: var(--color06);
}

.acc-btn:hover .accordion_icon span {
    background-color: var(--color05);
}

.action .accordion_icon span:nth-of-type(1) {
    opacity: 0;
}

.action .accordion_icon span:nth-of-type(2) {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    top: 12px;
}

.acc-content {
    display: none;
}

[data-element-id] .acc-content {
    display: block;
}

.acc-content-inner {
    padding: 15px;
    color: var(--color06);
}

.feature-link {
    position: relative;
}

.feature-link:before {
    content: "";
    display: block;
    padding-top: 100%;
}

.feature-link .circle-box {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.feature-link a {
    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;
    font-size: 20px;
    color: var(--color06);
    border-radius: 50%;
    background-color: var(--color01);
}

.feature-link a .icon_005 {
    margin-bottom: 10px;
}

.feature-link a .arrow-right {
    padding-right: 40px;
    position: relative;
}

.feature-link a .arrow-right:after {
    content: "\f105";
    width: 20px;
    height: 20px;
    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;
    margin: auto;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    line-height: 100%;
    border-radius: 50%;
    background-color: var(--color03);
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 10px;
    z-index: 1;
}

.feature-link a:hover {
    opacity: 1;
}

.feature-link a:hover .arrow-right:after {
    right: 5px;
}

.item-list li a {
    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;
    font-size: 18px;
    color: var(--color06);
}

.item-list li .ja {
    padding-right: 20px;
    position: relative;
}

.item-list li .ja:after {
    content: "\f105";
    display: inline-block;
    margin: auto;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 1;
}

.item-list li a [class*="icon"] {
    max-width: 64px;
    margin-bottom: 5px;
}

.worry-list {
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
}

.worry-list li {
    min-height: 50px;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    position: relative;
}

.worry-list [class*="icon"] {
    width: 50px;
    min-width: 50px;
    height: 50px;
    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;
    margin-right: 1em;
    border-radius: 50%;
    background-color: var(--color02);
}

.worry-list li .ja {
    font-weight: bold;
    font-size: 20px;
    line-height: 140%;
}

.worry-list li .list-inner {
    width: 100%;
    height: 100%;
}

.worry-list li .list-inner a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.worry-list li .icon_000 {
    width: 50px;
    height: 50px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    background-color: var(--color02);
    position: relative;
}

.worry-list li .icon_000::before {
    content: "";
    width: 100%;
    height: 100%;
    background-image: var(--bg02);
    background-size: 80%;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
}

.worry-list li .icon_018::before {
    background-image: var(--bg02);
}

.worry-list li .icon_019::before {
    background-image: var(--bg03);
}

.worry-list li .icon_020::before {
    background-image: var(--bg04);
}

.worry-list li .icon_021::before {
    background-image: var(--bg05);
}

.worry-list li .icon_022::before {
    background-image: var(--bg06);
}

.worry-list li .icon_023::before {
    background-image: var(--bg07);
}

.worry-list li .icon_024::before {
    background-image: var(--bg08);
}

.worry-list li .icon_025::before {
    background-image: var(--bg09);
}

.worry-list li .icon_026::before {
    background-image: var(--bg10);
}

.top_04 .sideby-reserve .reserve-box {
    width: 100%;
    height: 100%;
}

.top_04 .sideby-reserve a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 30px;
}

.top_04 .sideby-reserve a .icon-calender {
    margin-right: 10px;
}

.top_04 .sideby-reserve a:after {
    width: 30px;
    height: 30px;
    font-size: 20px;
}


  @media(max-width:1024px){
    .mainimg {
          height: 80vh;
      }
      
    .home_new{
      font-size: 30px;
    }
      
    .home_lead_white {
      font-size: 30px;
    }

    .top .mainimg-title {
        font-size: 34px;
    }

    .top-news-box {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .top_01 {
        height: 110px;
        padding: 10px;
    }

    .top_01 .horizon-list {
        width: 100%;
    }

    .top_01 .horizon-list dt,
    .top_01 .horizon-list dd {
        padding: 0 10px;
    }

    .top_01 .horizon-list dt {
        font-size: 20px;
        letter-spacing: 1px;
    }

    .top_01 .horizon-list dd {
        border-right: none;
    }

    .top_01 .top-news-box .line-btn {
        margin: 5px 0 5px auto;
        padding: 0;
    }

    .item-list li a {
        font-size: 14px;
    }

    .item-list li .ja {
        padding-right: 16px;
    }

    .top_04 .sideby-reserve a {
        font-size: 26px;
    }

    .top_05 .sideby-cont {
        width: 48%;
    }
}

@media (max-width: 599px) {
    .home_new {
        font-size: 20px;
    }
    
    .home_lead_white {
        font-size: 20px;
    }
    
    .home_lead_green{
      font-size: 16px;
    }
    
    .top .mainimg-title {
        margin-top: 50px;
        font-size: 16px;
        line-height: 140%;
    }
    
    .head_prize {
        right: auto;
        left: 50%;
        transform: translateX(-50%);
    }
    
    .head_prize a {
        gap: 10px;
    }
    
    .head_prize img {
        max-width: 100px;
    }

    .top_01 .horizon-list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .top_01 .horizon-list dt {
        width: 100%;
        margin-bottom: 5px;
        font-size: 18px;
        text-align: center;
        border-bottom: 1px solid var(--color06);
        border-right: none;
    }

    .top_01 .horizon-list dd {
        width: 100%;
    }

    .top_01 .news-list dd .date {
        margin-right: 10px;
    }

    .top_01 .horizon-list dt,
    .top_01 .horizon-list dd {
        padding: 0px;
    }

    .feature-list li {
        width: 90%;
        margin: 0 auto 0px auto;
    }

    .acc-wrap .acc-btn {
        padding: 10px 40px 10px 15px;
    }

    .acc-content {
        padding: 10px 15px;
    }

    .worry-list li .ja {
        font-size: 18px;
    }

    .sideby-phone,
    .top_04 .sideby-reserve a {
        padding: 30px 15px;
    }

    .reserve-box {
        border-radius: 0;
    }

    .top_05 .sideby-cont {
        width: 100%;
        margin-bottom: 20px;
    }
}

/* ##### トップページ end ##### */

/* ##### 下層ページ共通 ##### */
.underimg.mainimg {
    height: 40vh;
}

.underimg.mainimg .img {
    width: 100%;
    height: 100%;
}

.underimg.mainimg .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}

.underimg .img::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.underimg .mainimg-title {
    font-weight: bold;
    font-size: 44px;
    color: var(--color05);
    letter-spacing: 4px;
    text-align: center;
    font-family: 'M PLUS Rounded 1c';
}

[data-element-id] .underimg .ttl-show\@sp .mainimg-title {
    font-size: 28px;
}

.underimg .mainimg-title::first-letter {
    color: var(--color01);
}

.breadcrumbs {
    margin: 30px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.breadcrumbs ol {
 display: block;
}

.breadcrumbs ol li {
    display: inline;
}

.breadcrumbs ol li:not(:first-of-type):before {
    content: "\f105";
    display: inline-block;
    margin: 0 20px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: var(--color01);
}

.breadcrumbs .breadcrumbs-home a:before {
    content: "";
    width: 20px;
    height: 20px;
    display: inline-block;
    margin-top: -5px;
    margin-right: 10px;
    background-image: url('/import/tenant_2/162.43.88.247/D03/images/common/icon_002_new.webp');
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
}

.breadcrumbs .breadcrumbs-thispage {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.breadcrumbs .breadcrumbs-thispage span {
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1024px) {
    .underimg .mainimg-title {
        font-size: 34px;
    }
}

@media (max-width: 599px) {
    .underimg .mainimg-title {
        font-size: 28px;
    }

    .breadcrumbs ol {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .breadcrumbs .breadcrumbs-thispage {
        width: auto;
        max-width: 100%;
    }
}

/* ##### 下層ページ共通 end ##### */

/* ##### 医院案内 ##### */
.clinic_01 .inner {
    position: relative;
}

.clinic_01 .circle {
    position: absolute;
    top: -40px;
    right: 0;
}

.credit-list li {
    width: 60px;
    margin: 3px;
}

.paypay {
    width: 180px;
}

.clinic_05 .circle-list {
    padding-left: 0;
}

.clinic_05 .circle-list>li {
    font-size: 18px;
    text-indent: 0;
}

.clinic_05 .circle-list>li:before {
    font-size: 18px;
}

@media (max-width: 1024px) {
    .credit-list li {
        width: 50px;
    }

    .paypay {
        width: 160px;
    }

    .clinic_05 .circle-list>li {
        font-size: 16px;
    }
}

@media (max-width: 599px) {
    .clinic_01 .circle {
        top: -100px;
    }
}

/* ##### 医院案内 end ##### */

/* ##### アクセス ##### */
.access_02 .map {
    z-index: 1;
}

.access_02 .map:after {
    padding-top: 45%;
}

.access-info {
    margin-top: -100px;
    padding-top: 180px;
}

@media (max-width: 1024px) {
    .access_02 .map:after {
        padding-top: 60%;
    }
}

@media (max-width: 599px) {
    .access_02 .map:after {
        padding-top: 90%;
    }
}

/* ##### アクセス end ##### */

/* ##### スタッフ紹介 ##### */
.staff-box .sideby-cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.positon {
    font-weight: bold;
    font-size: 24px;
}

.name {
    font-weight: bold;
    font-size: 42px;
}

.birth {
    font-size: 20px;
}

.profile {
    margin-bottom: -30px;
    margin-left: -999rem;
    margin-right: -80px;
    padding-left: 999rem;
}

.staff-box-wrap .staff-box:nth-of-type(even) .sideby-wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.staff-box-wrap .staff-box:nth-of-type(even) .profile {
    margin-left: -80px;
    margin-right: -999rem;
    padding-left: inherit;
    padding-right: 999rem;
}

.staff_04-box {
    width: 700px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.staff_04-box .sideline-list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.staff_04-box .sideline-list dt {
    width: 50%;
    min-width: 50%;
}

.staff_04-box .sideline-list dd {
    width: 50%;
    min-width: 50%;transform:rotateZ(0.03deg);
}

@media (max-width: 1024px) {
    .positon {
        font-size: 22px;
    }

    .name {
        font-size: 32px;
    }
}

@media (max-width: 599px) {
    .positon {
        font-size: 20px;
    }

    .name {
        font-size: 26px;
    }

    .profile {
        margin-right: 0;
    }

    .staff-box-wrap .staff-box:nth-of-type(even) .profile {
        margin-left: 0;
    }

    .staff_04-box .sideline-list dt,
    .staff_04-box .sideline-list dd {
        width: 100%;
    }
}

/* ##### スタッフ紹介 end ##### */

/* ##### 歯周病治療 ##### */
@media (max-width: 1024px) {
    .periodontal_04 .blue-round-list-inner .blue-round-text {
        font-size: 16px;
    }
}

@media (max-width: 599px) {
    .periodontal_02 .halving-list .sideby-img {
        margin-bottom: 0;
    }

    .periodontal_04 .blue-round-list-inner .blue-round-text {
        width: 90%;
        height: auto !important;
        font-size: 12px;
    }
}

/* ##### 歯周病治療 end ##### */

/* ##### 虫歯・歯周病の予防 ##### */
.explanation-list dt {
    width: 25%;
    border-bottom: 1px solid var(--color06);
}

.explanation-list:last-of-type dt {
    border-bottom: 1px solid var(--color01);
}

.explanation-list dt .img {
    margin: 0 auto;
}

.explanation-list dd {
    width: calc(75% / 2);
    border-bottom: 1px solid #ebebeb;
}

.explanation-list dd:nth-of-type(1) {
    border-right: 1px solid #ebebeb;
}

.explanation-title-list dd,
.explanation-title-list dd:nth-of-type(1) {
    border-bottom: none;
    border-right: none;
}

.explanation-title {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: bold;
    font-size: 18px;
}

.explanation-title-sp {
    display: none;
    font-size: 16px;
}

@media (max-width: 1024px) {
    .explanation-list dt .img {
        width: 90%;
    }

    .explanation-title {
        font-size: 16px;
    }
}

@media (max-width: 599px) {
    .explanation-list {
        margin-bottom: 30px;
    }

    .explanation-list dt,
    .explanation-list dd {
        width: 100%;
    }

    .explanation-list dt .img {
        width: 50%;
    }

    .explanation-list dd {
        border-left: 1px solid #ebebeb;
        border-right: 1px solid #ebebeb;
    }

    .explanation-title-list {
        display: none;
    }

    .explanation-title-sp {
        display: block;
    }
}

/* ##### 虫歯・歯周病の予防 end ##### */

/* ##### 口臭治療 ##### */
@media (max-width: 1024px) {
    .product-list .sideby-img {
        width: 35%;
    }

    .product-list .sideby-cont {
        width: 60%;
    }
}

@media (max-width: 599px) {
    .product-list .sideby-img {
        width: 60%;
        margin-bottom: 15px;
        margin-left: auto;
        margin-right: auto;
    }

    .product-list .sideby-cont {
        width: 100%;
    }
}

/* ##### 口臭治療 ene ##### */

/* ##### 補綴治療 ##### */
.crown-price-title,
.crown-price-list {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.crown-price-title dt,
.crown-price-list dt,
.crown-price-title dd,
.crown-price-list dd {
    padding-left: 80px;
    padding-right: 80px;
}

.crown-price-title dd,
.crown-price-list dd {
    min-width: 20%;
    text-align: right;
}

.crown-price-title {
    border-bottom: 2px solid var(--color06);
}

@media (max-width: 1024px) {
    .crown-price-title,
    .crown-price-list {
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-align: start;
    }

    .crown-price-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .crown-price-title dt,
    .crown-price-list dt,
    .crown-price-title dd,
    .crown-price-list dd {
        padding-left: 50px;
        padding-right: 50px;
    }

    .crown-price-list dt,
    .crown-price-list dd {
        font-size: inherit;
    }

    .crown-price-title dd,
    .crown-price-list dd {
        -ms-flex-item-align: end;
        align-self: flex-end;
    }
}

@media (max-width: 599px) {
    .crown-price-title dt,
    .crown-price-list dt,
    .crown-price-title dd,
    .crown-price-list dd {
        padding-left: 30px;
        padding-right: 30px;
    }
}

/* ##### 補綴治療 end ##### */

/* ##### 義歯 ##### */
.image-box {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

/* ##### 義歯 end ##### */

/* ##### 採用情報 ##### */
.recruit_01 .right-angle-list li {
    font-size: 18px;
}

.floating-img {
    float: left;
    margin-bottom: 50px;
    margin-right: 50px;
}

.recruit_04 .horizon-list dt,
.recruit_04 .horizon-list dd {
    font-size: 18px;
}

@media (max-width: 1024px) {
    .floating-img {
        margin-bottom: 5px;
        margin-right: 20px;
    }
}

@media (max-width: 599px) {
    .floating-img {
        width: 50%;
        margin-right: 15px;
    }

    .recruit_04 .horizon-list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .recruit_04 .horizon-list dt,
    .recruit_04 .horizon-list dd {
        width: 100%;
        font-size: 16px;
    }

    .recruit_04 .horizon-list dd {
        padding-top: 5px;
        border-top: 1px solid #ddd;
    }
}

/* ##### 採用情報 end ##### */

/* ##### IE11 hack ##### */
.ie11 .line-btn {
    width: 220px;
    min-width: 220px;
}

/* ##### IE11 hack end ##### */

/* ##### 見たまま編集 ##### */
[data-element-id] header {
    height: auto;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
}

[data-element-id] header .nav-list {
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
}

[data-element-id] .sp-only {
    display: block;
    border: 1px solid var(--color01);
}

[data-element-id] .sp-only:before {
    content: "スマホナビ";
    width: 100%;
    display: block;
    padding: 2px 5px;
    font-size: 10px;
    color: var(--color06);
    line-height: 100%;
    background-color: var(--color01);
}

[data-element-id] #dropmenu .dropdown {
    overflow: visible;
}

[data-element-id] #dropmenu .dropdown ul {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    z-index: 2 !important;
}

[data-element-id] .underimg .mainimg-title:before {
    content: "";
}

[data-element-id] .floating-box {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: up-d-flex up-fxw-wrap !important;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 10px;
    opacity: 1 !important;
    position: static;
}

[data-element-id] .top_06 {
    border: 2px solid #ff8c00;
    position: relative;
}


[data-element-id] .infinity {
    margin-left: -40%;
    margin-right: -40%;
    padding-left: 40%;
    padding-right: 40%;
}

[data-element-id] .explanation-title-sp {
    display: block;
}

[data-element-id] .explanation-title-sp:before {
    content: "スマホのみの表示です。";
    width: 100%;
    display: block;
    margin-bottom: 5px;
    padding: 5px;
    font-size: 12px;
    color: var(--color06);
    line-height: 100%;
    text-align: center;
    background-color: #ff8c00;
}

[data-element-id] .tablist {
    margin: 10px 0;
    position: relative;
}

[data-element-id] .tablist:before {
    width: 100%;
    display: block;
    padding: 10px;
    font-size: 14px;
    color: var(--color06);
    line-height: 100%;
    text-align: center;
    background-color: #ff8c00;
    position: absolute;
    top: 0;
    left: 0;
}

[data-element-id] .tablist:nth-of-type(1):before {
    content: "タブ１枚目";
}

[data-element-id] .tablist:nth-of-type(2):before {
    content: "タブ２枚目";
}

.floor {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}

/* ##### 見たまま編集 end ##### */

/*****2021/05/19*****/
.w60b {
    width: 60%;
}

@media (max-width: 1049px) {
    .w60b {
        border-right: 2px solid var(--color06);
    }
}

@media (max-width: 599px) {
    .w60b {
        width: 100%;
        border-right: none;
    }
}



/* 2022/06/10 */
.po-title03 {
    margin-bottom: 20px;
    padding: 5px 60px;
    font-size: 18px;
    color: var(--color06);
    text-align: center;
    border: 2px solid #1290cf;
    border-radius: 60%;
    background: var(--color01);
}

.title_03 span {
    float: right;
    padding: 5px 60px;
    font-size: 18px;
    color: var(--color06);
    border: 2px solid #1290cf;
    border-radius: 60%;
    background: var(--color01);
}

.feature {
    width: 90%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: auto;
}

.m205 {
    margin: 20px auto;
}

.m1020 {
    margin: 10px auto;
}

.feature dl {
    width: 230px;
    height: 230px;
    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;
    border-radius: 50%;
    background: var(--color01);
    position: relative;
}

.feature dl dt {
    width: 60%;
    font-weight: bold;
    font-size: 20px;
    color: var(--color05);
    text-align: center;
    border-bottom: 1px solid var(--color05);
}

.feature dl dd {
    width: 80%;
    margin-top: 10px;
    line-height: 1.5;
    text-align: center;
}

.text02 {
    font-weight: bold;
    font-size: 18px;
    color: #cd0000;
}

.text02 span {
    padding: 2px;
    font-size: 20px;
    color: #000;
    background: #ffeb3b;
}

.sp-none {
    display: block;
}

@media (max-width: 1042px) {
    .title_03 span {
        padding: 2px 20px;
        font-size: 14px;
    }

    .text02 {
        font-size: 16px;
    }

    .text02 span {
        font-size: 18px;
    }
}

@media (max-width: 780px) {
    .feature dl {
        width: 180px;
        height: 180px;
    }

    .feature dl dt {
        font-size: 18px;
    }

    .feature dl dd {
        font-size: 14px;
        top: 60px;
    }
}


@media (max-width: 599px) {
    .sp-none {
        display: none;
    }

    .feature {
        width: 100%;
    }

    .feature dl {
        width: 160px;
        height: 160px;
    }

    .feature dl dt {
        font-size: 16px;
        top: 15px;
    }

    .feature dl dd {
        font-size: 12px;
        top: 45px;
    }

    .m205 {
        margin: 10px auto;
    }
}

/* hamburger overlay */
.hamburger {
    display: none;
}

body.overlay2 {
    overflow: hidden;

    -ms-touch-action: none;
    touch-action: none;
}

@media (max-width: 1024px) {
    .hamburger {
        width: 45px;
        height: 45px;
        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;
        background: var(--color01);
        background-size: 100% auto;
        background-repeat: no-repeat;
        background-position: center center;
        cursor: pointer;
        position: fixed;
        top: 5px;
        right: 500px;
        z-index: 5;
    }

    .hamburger a,
    .hamburger a:hover,
    .hamburger a:focus {
        opacity: 1;
    }

    .menu-trigger,
    .menu-trigger span {
        display: inline-block;
        -webkit-transition: all 0.4s;
        transition: all 0.4s;
    }

    .active .menu-trigger span {
        background-color: var(--color06);
    }

    .menu-trigger {
        width: 24px;
        height: 22px;
        float: right;
        position: relative;
    }

    .menu-trigger span {
        width: 100%;
        height: 2px;
        background: var(--color06);
        position: absolute;
        left: 0;
    }

    .menu-trigger span:nth-of-type(1) {
        top: 0;
    }

    .menu-trigger span:nth-of-type(2) {
        top: 10px;
    }

    .menu-trigger span:nth-of-type(3) {
        bottom: 0;
    }

    .active .menu-trigger {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }

    .active .menu-trigger span:nth-of-type(1) {
        -webkit-transform: translateY(10px) rotate(-45deg);
        transform: translateY(10px) rotate(-45deg);
    }

    .active .menu-trigger span:nth-of-type(2) {
        -webkit-transform: translateY(0) rotate(45deg);
        transform: translateY(0) rotate(45deg);
    }

    .active .menu-trigger span:nth-of-type(3) {
        opacity: 0;
    }

    .overlay {
        width: 100%;
        height: 100%;
        display: none;
        background-color: rgba(77, 66, 62, 0.3);
        position: fixed;
        top: 0;
        left: 0;
        z-index: 3;
    }

    .active .overlay {
        display: block;
    }
}

@media (max-width: 599px) {
    .hamburger {
        top: 5px;
        right: calc(100% + 10px);
    }
}

/* hamburger overlay end */

/* pager */
.pager {
    width: 100%;
    margin: 80px 0;
}

.pager ul li {
    margin: 0 15px;
}

.pager ul li a,
.pager ul li .now {
    width: 30px;
    height: 30px;
    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: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: Arial, Helvetica, "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 18px;
    color: #818181;
    line-height: 100%;
    border: 2px solid #6cafd2;
    border-radius: 50%;
    position: relative;
}

.pager ul li .now,
.pager ul li a:hover {
    color: var(--color06);
    border: 2px solid var(--color01);
    background-color: var(--color01);
    opacity: 1;
}

.pager ul li .now:after,
.pager ul li a:hover:after {
    background-color: #000;
}

.pager ul li a:focus {
    outline: none;
}

@media all and (-ms-high-contrast:none) {
    *::-ms-backdrop,
    .pager ul li a,
    .pager ul li .now {
        padding-top: 5px;
    }
}

.pager ul li a:hover {
    opacity: 1;
}

.pager ul .prev,
.pager ul .next {
    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-size: 10px;
    border-radius: 50%;
    background-color: var(--color01);
    position: relative;
}

.pager ul .prev a,
.pager ul .next a {
    color: var(--color06);
    border: 1px solid var(--color01);
}

.pager ul .prev-arrow:before {
    content: "\f104";
    display: inline-block;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    line-height: 100%;
}

.pager ul .next-arrow:before {
    content: "\f105";
    display: inline-block;
    font: var(--fa-font-solid);
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    line-height: 100%;
}

.pager ul .prev a:hover,
.pager ul .next a:hover {
    color: var(--color01);
    background-color: var(--color06);
}

@media (max-width: 1024px) {
    .pager {
        margin: 50px 0;
    }

    .pager ul li {
        margin: 0 10px;
    }
}

@media (max-width: 599px) {
    .pager {
        margin: 30px 0;
    }

    .pager ul li {
        margin: 0 5px;
    }

    .pager ul li a,
    .pager ul li .now {
        width: 30px;
        height: 30px;
        font-size: 16px;
    }
}

/* pager end */


/* 口臭外来 */
.kousyutiryo_table .table-wrap .timetable {
    width: 60%;
}

.kousyutiryo_table .timetable th {
    width: 130px;
    border: solid 1px #000;
}

.kousyutiryo_table .timetable td {
    width: 250px;
    border: solid 1px #000;
    border-right: solid 1px #000 !important;
}


@media (max-width: 599px) {
    .kousyutiryo_table .table-wrap .timetable {
        width: 100% !important;
    }

    .kousyutiryo_table .timetable th {
        width: 30%;
    }

    .kousyutiryo_table .timetable td {
        width: 70%;
    }
}

/* テンプレート化時に追加 */
.postal-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    margin-bottom: 5px;
}

.postal-wrap .postal-mark {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 1em;
    line-height: 1;
}

/* お問い合わせフォーム */
.contact-form {
    padding: 0 8%;
}

.contact-form input[type="text"],
.contact-form textarea {
    width: 100%;
    padding: 20px;
    border: 1px solid #bfbfbf;
    border-radius: 5px;
}

.contact-form .yubnbangou input {
    width: 50%;
}

.contact-form .content input {
    min-height: 300px;
}

.contact-form textarea {
    height: 200px;
}

.contact-form dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: wrap;
    flex-direction: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 2% 0;
}

.contact-form dt {
    width: 25%;
    padding-left: 20px;
    padding-right: 20px;
    font-weight: bold;
}

.contact-form dt .require-icon {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: block;
    margin-top: 5px;
    padding: 1px 10px;
    color: var(--color06);
    background-color: var(--color01);
}

.contact-form dd {
    width: 70%;
}

.contact-form select {
    width: 100%;
    padding: 20px;
    border: 1px solid #bfbfbf;
    border-radius: 5px;

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.contact-form .select-wrap {
    position: relative;
}


.contact-form .select-wrap:after {
    content: "▼";
    font-size: 10px;
    color: #bfbfbf;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 10px;
}

.confirm .contact-form .select-wrap:after {
    content: none;
}

.yubin-mark {
    margin-right: 1em;
}

@media (max-width: 1024px) {
    .contact-form {
        padding: 0;
    }

    .contact-form dt {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

@media (max-width: 599px) {
    .contact-form dl {
        display: block;
    }

    .contact-form dt {
        width: 100%;
        -webkit-box-orient: initial;
        -webkit-box-direction: initial;
        -ms-flex-direction: initial;
        flex-direction: initial;
        -webkit-box-pack: initial;
        -ms-flex-pack: initial;
        justify-content: initial;
        margin-bottom: 0.5em;
        padding-left: 0;
        padding-right: 0;
    }

    .contact-form dd {
        width: 100%;
    }

    .contact-form input[type="text"],
    .contact-form textarea {
        padding: 10px;
        border-radius: 3px;
    }

    .contact-form select {
        padding: 10px;
        border-radius: 3px;
    }
}

/* up-d-flex up-fxw-wrap */
.up-d-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.up-jc-c {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.up-jc-sb {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.up-ai-c {
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.up-fxw-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

/* color */
.up-c-red {
    color: red;
}

/* 採用情報 */
.recruit-list li {
    margin-bottom: 2em;
}

.recruit-list li .list-inner {
    padding: 1em;
    background-color: var(--color06);
}

.recruit-list li .img-wrap {
    width: 30%;
}

.recruit-list li .text-wrap {
    width: 65%;
}

.recruit-list li dl {
    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;
}

.recruit-list li dt {
    width: 30%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-weight: bold;
}

.recruit-list li dd {
    width: 65%;
}

@media(max-width:1024px) {
    .recruit-list li .img-wrap {
        width: 100%;
        margin-bottom: 10px;
    }

    .recruit-list li .text-wrap {
        width: 100%;
    }
}

/* LINEボタン */
.line-btn-wrap {
    max-width: 150px;
    margin: 0 auto;
}

.line-btn-wrap a>div {
    color: #fff;
}

.line-btn-wrap a {
    width: 100%;
    height: 100%;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.5em 0;
    border-radius: 5px;
    background-color: #00b900;
}


.line-btn-wrap a::before {
    content: "\f3c0";
    display: inline-block;
    margin-right: 0.5em;
    font-family: "Font Awesome 5 Brands";
    font-weight: 400;
    font-size: 16px;
    color: var(--color06);
}

footer .line-btn-wrap {
    margin: 0 auto 0 0;
}

/* 見出し複製用 */
.ttl-show\@pc {
    display: block;
}

.ttl-show\@sp {
    display: none;
}

@media(max-width:599px) {
    .ttl-show\@pc {
        display: none;
    }

    .ttl-show\@sp {
        display: block;
    }
}

[data-element-id] .ttl-show\@sp {
    max-width: 375px;
    display: block;
    margin: 0 auto;
    border: solid 2px #ff1493;
    position: relative;
}

[data-element-id] .ttl-show\@sp::after {
    content: "モバイル用";
    display: block;
    padding: 5px 2px 2px;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
    line-height: 1;
    text-align: center;
    background: #ff1493;
}

.text {
    line-height: 2em;
}


.postal-box {
    padding-left: 30px;
    position: relative;
}

.postal-box::before {
    content: "〒";
    width: 30px;
    height: 30px;
    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: 900;
    font-size: 25px;
    color: var(--color03);
    line-height: 100%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
}

/* ##### pcで6分割のグリッド ##### */
.gr666,
.gr665,
.gr664,
.gr663,
.gr662,
.gr661,
.gr655,
.gr654,
.gr653,
.gr652,
.gr651,
.gr644,
.gr643,
.gr642,
.gr641,
.gr633,
.gr632,
.gr631,
.gr622,
.gr621,
.gr611 {
    width: 14%;
    margin: 1%;
}

/* ##### pcで5分割のグリッド ##### */
.gr555,
.gr554,
.gr553,
.gr552,
.gr551,
.gr544,
.gr543,
.gr542,
.gr541,
.gr533,
.gr532,
.gr531,
.gr522,
.gr521,
.gr511 {
    width: 18%;
    margin: 1%;
}

/* ##### pcで4分割のグリッド ##### */
.gr444,
.gr443,
.gr442,
.gr441,
.gr433,
.gr432,
.gr431,
.gr422,
.gr421,
.gr411,
.gr401 {
    width: 23%;
    margin: 1%;
}

@media(max-width:599px) {
    .gr401 {
        width: 48%;
        margin: 1%;
    }
}

/* ##### pcで3分割のグリッド ##### */
.gr333,
.gr332,
.gr331,
.gr322,
.gr321,
.gr311 {
    width: calc(100% / 3 - 2%);
    margin: 1%;
}

/* ##### pcで2分割のグリッド ##### */
.gr222,
.gr221,
.gr211 {
    width: 48%;
    margin: 1%;
}

@media(max-width:1024px) {
    /* ##### タブレッドで5分割のグリッド ##### */
    .gr655,
    .gr654,
    .gr653,
    .gr652,
    .gr651 {
        width: 18%;
    }

    /* ##### タブレッドで4分割のグリッド ##### */
    .gr644,
    .gr643,
    .gr642,
    .gr641,
    .gr544,
    .gr543,
    .gr542,
    .gr541 {
        width: 23%;
    }

    /* ##### タブレッドで3分割のグリッド ##### */
    .gr633,
    .gr632,
    .gr631,
    .gr533,
    .gr532,
    .gr531,
    .gr433,
    .gr432,
    .gr431 {
        width: calc(100% / 3 - 2%);
    }

    /* ##### タブレッドで2分割のグリッド ##### */
    .gr622,
    .gr621,
    .gr522,
    .gr521,
    .gr422,
    .gr421,
    .gr322,
    .gr321 {
        width: 48%;
    }

    /* ##### タブレッドで1分割のグリッド ##### */
    .gr611,
    .gr511,
    .gr411,
    .gr311,
    .gr211 {
        width: 98%;
    }
}

@media(max-width:599px) {
    .text {
        line-height: 1.7em;
    }

    /* ##### スマホで5分割のグリッド ##### */
    .gr665 {
        width: 18%;
    }

    /* ##### スマホで4分割のグリッド ##### */
    .gr664,
    .gr654,
    .gr554 {
        width: 23%;
    }

    /* ##### スマホで3分割のグリッド ##### */
    .gr663,
    .gr653,
    .gr643,
    .gr633,
    .gr553,
    .gr543,
    .gr533,
    .gr443,
    .gr433 {
        width: calc(100% / 3 - 2%);
    }

    /* ##### スマホで2分割のグリッド ##### */
    .gr662,
    .gr652,
    .gr642,
    .gr632,
    .gr622,
    .gr552,
    .gr542,
    .gr532,
    .gr522,
    .gr442,
    .gr432,
    .gr422,
    .gr332,
    .gr322 {
        width: 48%;
    }

    /* ##### スマホで1分割のグリッド ##### */
    .gr661,
    .gr651,
    .gr641,
    .gr631,
    .gr621,
    .gr611,
    .gr551,
    .gr541,
    .gr531,
    .gr521,
    .gr511,
    .gr441,
    .gr431,
    .gr421,
    .gr411,
    .gr331,
    .gr321,
    .gr311,
    .gr221,
    .gr211 {
        width: 98%;
    }

    .float-wrap .float-box:nth-child(odd) .float-img {
        float: none;
        margin: 0 0 15px 0;
    }

    .float-wrap .float-box:nth-child(even) .float-img {
        float: none;
        margin: 0 0 15px 0;
    }

    .arrow-right a:after,
    .arrow-right button:after {
        right: 10px;
    }

    .arrow-left a:after,
    .arrow-left button:after {
        left: 10px;
    }
}

.sns .box {
    font-size: 30px;
}

.sns li .box a .fa-instagram {
    color: transparent;
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.sns li .box a .fa-youtube {
    color: #f00;
}

.youtube-item {
    height: 0;
    overflow: hidden;
    padding-top: 30px;
    padding-bottom: 56.25%;
    position: relative;
    ;
}

.youtube-item iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    ;
}

.n-check {
    position: relative;
}

[data-element-id] .n-check::after {
    content: "チェック";
    height: 28px;
    display: inline-block;
    padding: 5px;
    font-weight: bold;
    font-size: 12px;
    color: #fff;
    text-align: center;
    background: red;
}

.uk-lb {
    cursor: pointer;
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
}

.uk-lb:hover {
    opacity: 0.6;
}

.table-wrap.ori {
    overflow-x: auto;
    border: 1px solid #81c7e8;
}

.table-wrap.ori .timetable {
    text-align: center;
    background-color: #fff;
}

.table-wrap.ori .timetable thead th {
    padding: 10px;
    color: #fff;
    border-bottom: 2px solid #81c7e8;
    background-color: #81c7e8;
}

.table-wrap.ori .timetable tbody th {
    padding: 10px;
    color: #333;
    border-right: 2px solid #81c7e8;
    background-color: #f0f8ff;
}

.table-wrap.ori .timetable tbody td {
    padding: 10px;
    border: 1px solid #81c7e8;
}

.table-wrap.ori .timetable tbody tr:nth-child(even) {
    background-color: #f9f9f9;
}

.table-wrap.ori .timetable tbody tr:nth-child(odd) {
    background-color: #fff;
}

.table-wrap.ori .timetable tbody tr th,
.table-wrap.ori .timetable tbody tr td {
    border-bottom: 1px solid #81c7e8;
}

.table-wrap.ori .timetable tbody tr:last-child th,
.table-wrap.ori .timetable tbody tr:last-child td {
    border-bottom: none;
}

.map {
    padding-top: 65%;
}

.lis li {
    padding-left: 1em;
    position: relative;
}

.lis li+li {
    margin-top: 15px;
}

.lis li::after {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--color01);
    position: absolute;
    top: 10px;
    left: 0;
}

.t-c2 {
    background-color: var(--color01);
    position: relative;
}

.t-c2 .ttl {
      font-family: "M PLUS Rounded 1c", sans-serif;
    width: 98%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #fff;
    line-height: 1;
    letter-spacing: 3px;
    text-align: center;
    text-shadow: 0 0 2px black;
    transform: translate(-50%,-50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
}
.t-c2 img {
    opacity: 0.4;
}

@media(max-width:1024px) {
    .t-c2 .ttl {
        font-size: 20px;
    }
}

.border-r30-box {
    border-radius: 30px;
}

.arrow-l {
    width: 4%;
    float: left;
    margin-left: 2%;
    border-left: 4px dotted #222;
    position: relative;
}
.arrow-l span {
    width: 0;
    height: 0;
    border-top: 20px solid #222;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    position: absolute;
    bottom: -5px;
    left: -12px;
}

.flow-number-title-box.new .num {
    width: 40px;
    min-width: 40px;
    height: 40px;
    max-height: 40px;
    font-size: 24px;
}

.flow-number-title-box.new .flow-number-title {
    font-size: 20px;
}

.flow-number-title-box.new2 .num {
    width: 40px;
    min-width: 40px;
    height: 40px;
    max-height: 40px;
    font-size: 24px;
}

.flow-number-title-box.new2 .flow-number-title {
    font-size: 18px;
}

.breadcrumbs-list{
 display: block;
}

.h1-area{
      margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    font-size: 10px;
    padding: 0 10px;
}

@media(max-width:1024px) {
  .h1-area {
    position: relative;
    padding: 15px 10px;
}
}

[data-element-id] .up-d-none {
    display: block;
    border: solid 4px black;
    position: relative;
}
[data-element-id] .up-d-none:after {
    content: "モバイル用";
    display: block;
    padding: 5px;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
    text-align: center;
    background: black;
}

[data-element-id] .nv-box{
  width: 70%;
}

[data-element-id] .reserve-box{
      flex-shrink: 0;
}

[data-element-id] header .h-area{
      align-items: flex-start;
}

@media (max-width: 599px) {
  .title_01_small {
        font-size: 20px;
    }
}  

.submit-btn-layer{
  height: 60px;
}

/**2024/08/06**/
.news-box {
  text-align: center;
  padding: 4%;
  border: 3px solid #87caea;
  margin-bottom: 50px;
}
.news-box .midashi {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 26px;
  color: #87caea;
  font-weight: bold;
  margin-bottom: 20px;
}
.news-box .txt {
  font-size: 20px;
}

@media (max-width: 599px){
  .news-box .midashi {
    font-size: 22px;
  }
  .news-box .txt {
    text-align: left;
    font-size: 16px;
  }
}
  

/* 2024.09.02 */

.yoyakusei{
  border: 1px solid;
    border-radius: 10px;
    padding: 30px;
    margin-bottom: 50px;
}

#top .home_new span.c-red{
  color: #ff0000 !important;
}

#top .home_new span.mb-30{
  display: inline-block;
  margin-bottom: 30px;
}

@media screen and (max-width:599px) {
 #top .home_new span{
  font-size: 18px;
}

 #top .sp-block{
  display: block;
}
}

 #top .txtindent-list li{
    text-indent: -1rem;
    padding-left: 1rem;
 }
 
 #top .bg-blue{
    background: #0078df;
 }
 
 #top .under-line{
   border-bottom: 1px solid #fff;
 }
 
 #top .under-line{
  transition: linear .1s;
}

/* 2024/10/22 追記 */

@media screen and (max-width:599px) {
 .d-block-sp-i{
   display: block !important;
 }
}

.news-box .link-txt{
  color: #0077dd;
}

.text .link-txt{
  color: #0077dd;
}

/* 2024/12/11 */

.forcorona .serious-txt{
  border: 3px solid #ff0000;
}

.forcorona .serious-txt .midashi{
  color: #ff0000;
}

.periodontal_03 .blue-txt{
  color: #0077dd;
}


/* 2025.09.10 */
.banar-02set{
  display: flex;
    justify-content: space-between;
    margin: 4rem auto 0;
}

.doctors-banar{
  width: 53%;
}

.clinic-banar{
  width: 42%;
}


@media screen and (max-width:599px) {
  .banar-02set{
  display: block;
   margin: 3rem auto 0;
  }
  
.doctors-banar{
margin-bottom: 15px;
  width: 100%;
}

.clinic-banar{
  width: 100%;
}
}
