@charset "utf-8";

:root {
    --font-size: 2.564vw;
    --contentsWrapper: 94%;
    --yumincho: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
    --notosans: 'Noto Sans JP', sans-serif;
    --notoserif: 'Noto Serif JP', serif;
    --colorBlack: #000;
    --colorGray: #ccc;
    --colorDarkgray: #666;
    --colorWhite: #fff;
    --colorBlue: #083a8f;
    --colorNavy: #0a162f;
    --colorLightblue: #e8ebf0;
    --colorRed: #c9181d;
    --colorGreen: #006633;
    --colorYellow: #fff000;
}

html {
    line-height: 1;
    font-family: 'メイリオ', 'Meiryo', sans-serif;
    font-size: var(--font-size);
    color: var(--colorBlack);
}

body:not(:has(main.form)) {
    padding-top: 4.5rem;
}

a {
    display: block;
}

img {
    max-width: 100%;
    width: 100%;
    height: auto;
    display: block;
    pointer-events: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-touch-callout: none;
    -moz-user-select: none;
    user-select: none;
}

/* ==============================
	common
 ============================== */
.pcView {
    display: none;
}

.contentsWrapper {
    width: var(--contentsWrapper);
    margin: 0 auto;
}

.headerTopHeading {
    padding: 1rem 0;
    line-height: 1.25;
}

.taC {
    text-align: center;
}

/* ==============================
	header
 ============================== */
.commonHeader {
    width: 100%;
    padding: 1rem 0 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    background-color: var(--colorBlack);
    color: var(--colorWhite);
}

.commonHeader .headerWrapSp {
    padding-bottom: 1rem;
    display: flex;
}

.commonHeader .headerWrapSp .headerLogoSp {
    width: 30%;
    margin-right: 2.5%;
}

.commonHeader .headerWrapSp .headerAreaListSp {
    width: 45%;
    margin-right: 2.5%;
    display: flex;
    align-items: flex-end;
}

.commonHeader .headerWrapSp .headerAreaListSp li {
    margin-right: 0.3rem;
    padding: 0.3rem;
    border: 0.1rem solid var(--colorGray);
    font-weight: bold;
    letter-spacing: -0.05rem;
}

.commonHeader .headerWrapSp .headerAreaListSp li:last-of-type {
    margin-right: 0;
}

.commonHeader .headerWrapSp .menuBtn {
    width: 20%;
    padding: 0.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.3rem;
    box-shadow: -0.1rem -0.1rem 0.2rem 0.1rem var(--colorGray);
    font-size: 1.2rem;
    font-weight: bold;
}

.commonHeader .headerWrapSp .menuBtn i {
    margin-left: 0.3rem;
}

/* --------------------
	searchArea
 -------------------- */
.commonHeader .searchArea.spSearch {
    height: 5rem;
    display: flex;
    align-items: center;
    background-color: var(--colorWhite);
}

.commonHeader .searchArea.spSearch #___gcse_1 {
    width: 100%;
}

.commonHeader .searchArea .gsc-control-cse {
    padding: initial;
    border: initial;
    border-radius: 1.5rem;
    background: initial;
    overflow: hidden;
}

.commonHeader .searchArea.spSearch .gsc-control-cse {
    width: var(--contentsWrapper);
    margin: 0 auto;
    border: 0.1rem solid var(--colorDarkgray);
}

.commonHeader .searchArea .gsc-control-cse .gsc-search-box {
    margin: initial;
}

.commonHeader .searchArea .gsc-control-cse .gsc-search-box .gsc-input {
    padding-right: 1em;
    background-color: var(--colorWhite);
    line-height: 1;
    font-size: 1.6rem;
    color: var(--colorBlack);
    vertical-align: middle;
}

.commonHeader .searchArea .gsc-control-cse .gsc-search-box .gsc-input .gsc-input-box {
    padding: initial;
    border: initial;
}

.commonHeader .searchArea .gsc-control-cse .gsc-search-box .gsc-input .gsc-input-box .gsib_a {
    padding: 0.5em 1em 0.5em 1.5em;
}

.commonHeader .searchArea .gsc-control-cse .gsc-search-box .gsc-input .gsc-input-box .gsib_b .gsst_b {
    padding: initial;
}

.commonHeader .searchArea .gsc-control-cse .gsc-search-box .gsc-input .gsc-input-box .gsib_b .gsst_a {
    padding: 0 0.5em;
}

.commonHeader .searchArea .gsc-control-cse .gsc-search-box .gsc-input .gsc-input-box .gsib_b .gsst_a .gscb_a {
    line-height: 1;
    color: var(--colorDarkgray);
}

.commonHeader .searchArea .gsc-control-cse .gsc-search-box .gsc-search-button {
    width: 25%;
    margin: initial;
    position: relative;
}

.commonHeader .searchArea .gsc-control-cse .gsc-search-box .gsc-search-button .gsc-search-button-v2 {
    width: 100%;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    inset: 0;
    border: initial;
    border-radius: initial;
}

.commonHeader .searchArea .gsc-control-cse .gsc-search-box .gsc-search-button .gsc-search-button-v2:after {
    content: '検索';
    margin-left: 0.5em;
    font-size: 1.4rem;
    font-weight: bold;
    color: var(--colorWhite);
}

/* --- searchArea results --- */
.commonHeader .searchArea .gsc-control-cse .gsc-results-wrapper-overlay {
    padding: 5rem 1.5rem 3rem;
}

.commonHeader .searchArea .gsc-control-cse .gsc-results-wrapper-overlay .gsc-results-close-btn {
    width: 3rem;
    height: 3rem;
    top: 1rem;
    right: 1.5rem;
    background: initial;
}

.commonHeader .searchArea .gsc-control-cse .gsc-results-wrapper-overlay .gsc-results-close-btn:after {
    content: '\f00d';
    font: var(--fa-font-solid);
    font-size: 3rem;
    color: var(--colorDarkgray);
}

.commonHeader .searchArea .gsc-control-cse .gsc-results-wrapper-overlay .gsc-resultsRoot .gsc-webResult.gsc-result:first-of-type {
    padding-top: initial;
}

.commonHeader .searchArea .gsc-control-cse .gsc-results-wrapper-overlay .gsc-resultsRoot .gsc-webResult.gsc-result .gs-web-image-box .gs-image {
    max-width: 10rem;
    overflow: hidden;
}

.commonHeader .searchArea .gsc-control-cse .gsc-results-wrapper-overlay .gsc-resultsRoot .gsc-webResult.gsc-result .gs-web-image-box .gs-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.navTopHeading {
    padding: 0.5rem;
    background-color: var(--colorBlack);
    line-height: 1.25;
    font-size: 1.2rem;
    color: var(--colorWhite);
}

/* ==============================
	nav
 ============================== */
.gNav {
    width: 100%;
    height: calc(100% - 4.4rem);
    padding: 4rem 0 10rem;
    display: none;
    background-color: var(--colorBlack);
    font-size: 1.8rem;
    color: var(--colorWhite);
    overflow-y: auto;
    overscroll-behavior-y: contain;
    opacity: 0;
}

.gNav.active {
    display: block;
    animation: opacity1 1s forwards;
}

@keyframes opacity1 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.gNav.fixed {
    position: fixed;
    left: 0;
    z-index: 9;
}

.gNav .parentNavList>li {
    margin: 0 auto 3rem;
    padding: 0 0 1.5rem;
    border-bottom: 0.1rem solid var(--colorGray);
}

.gNav .parentNavList>li:last-of-type {
    margin: 0 auto;
    padding: 0;
    border-bottom: none;
}

.gNav .parentNavList>li>a {
    margin-bottom: 1.5rem;
}

.gNav .parentNavList>li>a .parentNavText {
    background: linear-gradient(90deg, #82ddff 0.6%, #66ccff 70%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 2.4rem;
}

.gNav .childNavList li>a {
    padding: 1.5rem 0;
}

/* ==============================
	mainContents
 ============================== */
.mainContents {
    margin-bottom: 3rem;
    font-size: 1.6rem;
}

/* --------------------
	breadcrumbs
 -------------------- */
.breadcrumbs {
    margin: 1.5rem auto;
    font-size: 0.9rem;
}

.breadcrumbs .breadcrumbsList {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.breadcrumbs .breadcrumbsList li {
    margin-right: 0.5rem;
    display: flex;
    align-items: center;
    line-height: 1.5;
}

.breadcrumbs .breadcrumbsList li:after {
    content: '\f054';
    margin-left: 0.5rem;
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

.breadcrumbs .breadcrumbsList li:last-of-type:after {
    content: none;
}

.breadcrumbs .breadcrumbsList li a {
    color: var(--colorBlue);
    text-decoration: underline;
}

/* --------------------
	contents
 -------------------- */
.mainContents .contentsBox {
    margin-bottom: 3rem;
}

.mainContents .specialHeading {
    margin-bottom: 1.5rem;
    line-height: 1.25;
    font-size: 1.8rem;
    font-weight: bold;
}

.mainContents .contentsBoxHeading {
    margin-bottom: 2rem;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    line-height: 1.25;
    font-size: 2rem;
    font-weight: bold;
    border-bottom: solid 2px #1127CF;
    border-image: linear-gradient(90deg, var(--blue1) 0.6%, #1127CF 70%) 1;
}

.tit {
    font-size: 2.4rem;
    margin-bottom: 1rem;
    font-weight: bold;
}

.mainContents .middleSection {
    margin-bottom: 3rem;
}

.mainContents .middleSectionHeading {
    margin-bottom: 2rem;
    padding-bottom: 0.5rem;
    display: flex;
    align-items: center;
    border-bottom: 0.4rem double var(--colorNavy);
    line-height: 1.25;
    font-size: 1.8rem;
    font-weight: bold;
    color: var(--colorNavy);
}

.mainContents .middleSectionHeading:before {
    content: '';
    width: 4.05rem;
    height: 2.7rem;
    margin-right: 0.5rem;
    background: url(/newimg/common/middleSectionHeading.svg) no-repeat center;
}

.mainContents .smallSection {
    margin-top: 2rem;
}

.mainContents .smallSectionHeading {
    margin-bottom: 2rem;
    padding: 0 1rem;
    border-left: 0.5rem solid var(--colorBlue);
    line-height: 1.25;
    font-weight: bold;
    color: var(--colorBlue);
}

.mainContents .contentsBoxText {
    margin-bottom: 2rem;
    line-height: 1.5;
    word-break: break-all;
}

.mainContents .contentsBoxText a {
    display: inline;
    color: #143cb4;
    text-decoration: underline;
}

.mainContents .contentsBoxImgBox {
    margin: 2rem auto;
}

.mainContents .contentsBoxList {
    margin: 2rem auto;
    padding: 1rem;
    background-color: var(--colorLightblue);
}

.mainContents .contentsBoxList li {
    line-height: 1.25;
    margin-bottom: 1rem;
}

.mainContents .contentsBoxList li:last-of-type {
    margin-bottom: 0;
}

.mainContents .noticeList li {
    line-height: 1.25;
    margin-bottom: 1rem;
    font-size: 1.4rem;
}

.mainContents .noticeList li:last-of-type {
    margin-bottom: 0;
}

.mainContents .noticeList li a {
    display: inline;
    font-size: inherit;
    color: var(--colorRed);
    text-decoration: underline;
}

.mainContents .noticeText {
    padding-left: 1em;
    text-indent: -1em;
}

.mainContents .boldText {
    font-weight: bold;
}

.mainContents .minchoText {
    font-family: var(--yumincho);
    font-weight: bold;
}

.mainContents .blueText {
    color: var(--colorBlue);
}

.mainContents .redText {
    color: var(--colorRed);
}

.mainContents .moreViewBtn a {
    width: 75%;
    margin: 0 auto;
    padding: 0.5em 0;
    border: 0.3rem solid var(--colorBlue);
    border-radius: 100vh;
    color: var(--colorBlue);
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
}

/* --- contentsToc --- */
.contentsToc {
    margin: 1rem auto;
    padding: 0 2rem;
    background-color: #f5f8fa;
    font-size: 1.4rem;
    color: #08131a;
}

.contentsToc:has(.tocListUl.active) {
    padding-bottom: 1rem;
}

.contentsToc#fixedToc {
    width: 100%;
    max-height: calc(100vh - 25rem);
    margin: 0 auto;
    position: fixed;
    top: -25vh;
    left: 0;
    z-index: 3;
    overflow-y: auto;
    transition: top 0.7s;
}

.contentsToc .tocTitle {
    padding: 2rem 0;
    display: flex;
    align-items: center;
}

.contentsToc .tocTitle .btn {
    width: 1em;
    margin-right: 0.5em;
}

.contentsToc .tocListUl {
    transition: height 0.5s;
}

.contentsToc .tocListUl:not(.active) {
    height: 0;
    overflow: hidden;
}

.contentsToc .tocListUl li {
    border-bottom: 0.1rem solid rgba(8, 19, 26, 0.14);
}

.contentsToc .tocListUl li:last-of-type {
    border-bottom: initial;
}

.contentsToc .tocListUl li a {
    padding: 1rem 0;
    line-height: 1.25;
}

/* --- imgHeadingWrap --- */
.mainContents .imgHeadingWrap {
    margin-bottom: 3rem;
    border: 0.1rem solid var(--colorNavy);
}

.mainContents .imgHeadingWrap a {
    padding: 1rem;
    background-color: var(--colorNavy);
    color: var(--colorWhite);
}

/* textHeading */
.mainContents .imgHeadingWrap .mainContentsHeading.textHeading {
    position: relative;
}

.mainContents .imgHeadingWrap .mainContentsHeading.textHeading .mainContentsHeadingText {
    width: 100%;
    height: 100%;
    margin: auto;
    position: absolute;
    inset: 0;
    z-index: 3;
    font-family: var(--notosans);
}

.mainContents .imgHeadingWrap .mainContentsHeading.textHeading .mainContentsHeadingText>* {
    position: absolute;
    left: 1rem;
}

.mainContents .imgHeadingWrap .mainContentsHeading.textHeading .mainContentsHeadingText .greenTitle {
    padding: 0 1rem;
    top: 0.5rem;
    left: 0;
    border-radius: 0 0.5rem 0.5rem 0;
    background-color: var(--colorGreen);
    line-height: 1.5;
    font-size: 1.4rem;
    color: var(--colorWhite);
}

.mainContents .imgHeadingWrap .mainContentsHeading.textHeading .mainContentsHeadingText .minchoTitle {
    top: 3rem;
    display: flex;
    align-items: flex-end;
    font-family: var(--notoserif);
    font-size: 4rem;
    font-weight: bold;
    color: var(--colorBlue);
    text-shadow: 0 0 0.5rem var(--colorWhite), 0 0 0.5rem var(--colorWhite),
        0 0 0.5rem var(--colorWhite);
}

.mainContents .imgHeadingWrap .mainContentsHeading.textHeading .mainContentsHeadingText .minchoTitle span {
    font-size: 2.8rem;
}

.mainContents .imgHeadingWrap .mainContentsHeading.textHeading .mainContentsHeadingText .redTitle {
    top: 7.5rem;
    font-weight: bold;
    color: var(--colorRed);
    text-shadow: 0 0 0.5rem var(--colorWhite), 0 0 0.5rem var(--colorWhite),
        0 0 0.5rem var(--colorWhite);
}

.mainContents .imgHeadingWrap .mainContentsHeading.textHeading .mainContentsHeadingText .blackTitle {
    bottom: 0.5rem;
    line-height: 1.125;
    font-size: 1.4rem;
    font-weight: bold;
    text-shadow: 0 0 0.5rem var(--colorWhite), 0 0 0.5rem var(--colorWhite),
        0 0 0.5rem var(--colorWhite);
}

.mainContents .imgHeadingWrap .microCopy {
    margin-bottom: 0.5rem;
    line-height: 1.25;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
}

.mainContents .imgHeadingWrap .microCopy .veryDay {
    display: flex;
    justify-content: center;
    align-items: center;
}

.mainContents .imgHeadingWrap .microCopy .veryDay:before,
.mainContents .imgHeadingWrap .microCopy .veryDay:after {
    content: '';
    width: 0.2rem;
    height: 1em;
    display: block;
    background-color: var(--colorWhite);
}

.mainContents .imgHeadingWrap .microCopy .veryDay:before {
    margin-right: 0.5em;
    transform: rotate(-30deg);
}

.mainContents .imgHeadingWrap .microCopy .veryDay:after {
    margin-left: 0.5em;
    transform: rotate(30deg);
}

.mainContents .imgHeadingWrap .headingTel {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mainContents .imgHeadingWrap .headingTel .logo {
    width: 12rem;
    margin-right: 2rem;
}

.mainContents .imgHeadingWrap .headingTel .iconText {
    width: calc(100% - 14rem);
    display: flex;
    justify-content: center;
    align-items: center;
}

.mainContents .imgHeadingWrap .headingTel .iconText .icon {
    margin-right: 1rem;
}

.mainContents .imgHeadingWrap .headingTel .iconText .icon img {
    width: auto;
    height: 2rem;
}

.mainContents .imgHeadingWrap .headingTel .iconText .text {
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
}

/* --- ctaBtnBox --- */
.mainContents .ctaBtnBox {
    margin: 3rem auto;
}

.mainContents .ctaBtnBox .inviteText {
    margin-bottom: 1rem;
    line-height: 1.25;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
}

.mainContents .ctaBtnBox .ctaBtn a {
    padding: 2rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 0.5rem;
    background-color: #1b98ff;
    color: var(--colorWhite);
}

.mainContents .ctaBtnBox .ctaBtn i {
    font-size: 3rem;
}

.mainContents .ctaBtnBox .ctaBtn .btnText {
    font-size: 1.4rem;
    font-weight: bold;
}

.mainContents .ctaBtnBox .ctaBtn .btnText span {
    margin-top: 0.5rem;
    display: block;
    font-size: 1.8rem;
    text-align: center;
}

/* --- ctaBtn_radiusShadow --- */
.mainContents .ctaBtn_radiusShadow {
    width: calc(100% - 10rem);
    max-width: 32rem;
    margin: 5rem auto 9rem;
}

.mainContents .ctaBtn_radiusShadow.line {
    margin-bottom: 8rem;
}

.mainContents .ctaBtn_radiusShadow a {
    padding: 2rem 0 2rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 2.4rem;
    box-shadow: -0.8rem 2.4rem 2.4rem rgba(0, 0, 0, 0.2);
    color: var(--colorWhite);
}

.mainContents .ctaBtn_radiusShadow.reserve a {
    background-color: #1b98ff;
}

.mainContents .ctaBtn_radiusShadow.line a {
    background-color: #00c255;
}

.mainContents .ctaBtn_radiusShadow .btnIcon {
    width: 20%;
}

.mainContents .ctaBtn_radiusShadow .btnText {
    width: 74%;
    font-size: 1.4rem;
    letter-spacing: 0.075rem;
}

.mainContents .ctaBtn_radiusShadow .btnText span {
    margin-top: 1rem;
    display: block;
    font-size: 2.2rem;
}

/* --- ctaBtn_radiusShadow v2 --- */
.mainContents .ctaBtn_radiusShadow.v2 {
    width: calc(100% - 9rem);
    max-width: 30rem;
}

.mainContents .ctaBtn_radiusShadow.v2 .blowing {
    margin: 0 auto 2rem;
    padding: 1rem 0 2.5rem;
    background: url(/newimg/common/bg_blowing.svg) no-repeat center / auto 100%;
    line-height: 1.3;
    font-size: 1.4rem;
    text-align: center;
}

.mainContents .ctaBtn_radiusShadow.v2 a {
    padding: 1rem 0 1rem 1rem;
}

.mainContents .ctaBtn_radiusShadow.v2 .btnIcon {
    width: 5.5rem;
}

.mainContents .ctaBtn_radiusShadow.v2 .btnText {
    width: calc(100% - 7rem);
    letter-spacing: 0;
}

.mainContents .ctaBtn_radiusShadow.v2 .btnText span.small {
    margin-top: 0;
    font-size: 1.2rem;
}

.mainContents .ctaBtn_radiusShadow.v2 .btnText span.medium {
    font-size: 1.6rem;
}

.mainContents .ctaBtn_radiusShadow.v2 .btnText span.large {
    margin-top: 0.5rem;
    margin-bottom: 0.8rem;
    font-size: 2.4rem;
}

/* --- linkBox --- */
.mainContents .linkBox {
    margin: 3rem auto;
}

.mainContents .linkBoxList li {
    margin-bottom: 1.5rem;
    font-size: 1.8rem;
    color: #143cb4;
    text-decoration: underline;
}

.mainContents .linkBoxList li:last-of-type {
    margin-bottom: 0;
}

.mainContents .linkBoxList li i {
    margin-left: 0.5rem;
}

/* linkBoxRight */
.mainContents .linkBoxRight {
    margin: 3rem auto;
    text-align: right;
}

/* --- greenBox --- */
.mainContents .greenBox {
    margin: 3rem auto;
    padding: 1rem;
    background-color: var(--colorGreen);
    line-height: 1.5;
    color: var(--colorWhite);
}

/* --- demeritList --- */
.mainContents .demeritList {
    margin-bottom: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mainContents .demeritList li {
    width: 24.5%;
    padding: 1rem 0;
    border-radius: 0.5rem;
    background-color: var(--colorRed);
    font-size: 2rem;
    font-weight: bold;
    color: var(--colorWhite);
    text-align: center;
}

.mainContents .demeritList li i {
    margin-left: 0.5rem;
}

/* --- fourPointList --- */
.mainContents .fourPointList {
    margin-bottom: 2rem;
    display: flex;
    justify-content: space-between;
}

.mainContents .fourPointList li {
    width: 24.5%;
    padding: 1rem 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.5rem;
    background: linear-gradient(var(--colorNavy), var(--colorBlue));
    line-height: 1.25;
    font-weight: bold;
    color: var(--colorWhite);
    text-align: center;
}

/* --- point3List --- */
.mainContents .point3List {
    margin-bottom: 2rem;
}

.mainContents .point3List li {
    margin-bottom: 1.5rem;
    border: 0.1rem solid var(--colorBlue);
    border-radius: 0.5rem;
}

.mainContents .point3List li:last-of-type {
    margin-bottom: 0;
}

.mainContents .point3List li .pointTitle {
    padding: 1rem 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--colorBlue);
    font-size: 1.8rem;
    font-weight: bold;
    color: var(--colorWhite);
    text-align: center;
}

.mainContents .point3List li .pointTitle:before,
.mainContents .point3List li .pointTitle:after {
    content: '\f0fe';
    display: block;
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

.mainContents .point3List li .pointTitle:before {
    margin-right: 0.5rem;
}

.mainContents .point3List li .pointTitle:after {
    margin-left: 0.5rem;
}

.mainContents .point3List li .pointText {
    padding: 1rem 0.5rem;
    line-height: 1.25;
    text-align: center;
    font-weight: bold;
}

/* --- stepBox --- */
.mainContents .stepBox .stepList {
    margin-bottom: 2rem;
}

.mainContents .stepBox .stepList li:after {
    content: '\f0d7';
    display: block;
    font-family: 'Font Awesome 6 Free';
    font-size: 3rem;
    font-weight: 900;
    color: var(--colorRed);
    text-align: center;
}

.mainContents .stepBox .stepList li:last-of-type:after {
    content: none;
}

.mainContents .stepBox .stepList li .stepListTitle,
.mainContents .stepBox .stepList li .stepText {
    padding: 1rem 0;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
}

.mainContents .stepBox .stepList li .stepListTitle {
    border-radius: 0.5rem 0.5rem 0 0;
    background-color: var(--colorGreen);
    color: var(--colorWhite);
}

.mainContents .stepBox .stepList li .stepText {
    border: 0.1rem solid var(--colorGreen);
    border-radius: 0 0 0.5rem 0.5rem;
}

.mainContents .stepBox .totalTime {
    margin-bottom: 2rem;
    font-weight: bold;
    color: var(--colorRed);
    text-align: center;
}

.mainContents .stepBox .explanationText {
    padding: 1rem;
    border: 0.1rem solid var(--colorRed);
    line-height: 1.5;
    color: var(--colorRed);
}

/* --- jyutsushikiList --- */
.mainContents .jyutsushikiList {
    margin: 2rem auto;
}

.mainContents .jyutsushikiList li {
    margin-bottom: 0.5rem;
    display: flex;
    flex-wrap: wrap;
}

.mainContents .jyutsushikiList li:after {
    content: '\f103';
    width: 100%;
    margin: 0.5rem auto 0;
    display: block;
    font-family: 'Font Awesome 6 Free';
    font-size: 3rem;
    font-weight: 900;
    color: var(--colorRed);
    text-align: center;
}

.mainContents .jyutsushikiList li:last-of-type:after {
    content: none;
}

.mainContents .jyutsushikiList li .imgBox {
    width: 40%;
    margin-right: 2.5%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.mainContents .jyutsushikiList li .textBox {
    width: 55.5%;
    border: 0.1rem solid var(--colorBlack);
    border-radius: 0.5rem;
}

.mainContents .jyutsushikiList li .textBox .jyutsushikiTitle {
    padding: 0.5rem;
    background-color: var(--colorBlue);
    line-height: 1.25;
    font-weight: bold;
    color: var(--colorWhite);
}

.mainContents .jyutsushikiList li:first-of-type .textBox .jyutsushikiTitle {
    background-color: #996600;
}

.mainContents .jyutsushikiList li:last-of-type .textBox .jyutsushikiTitle {
    background-color: var(--colorGreen);
}

.mainContents .jyutsushikiList li .textBox p {
    padding: 0.5rem;
    line-height: 1.5;
    font-size: 1.4rem;
}

/* --- drugFeatureTable --- */
.mainContents .drugFeatureTable {
    table-layout: fixed;
}

.mainContents .drugFeatureTable th,
.mainContents .drugFeatureTable td {
    padding: 1rem;
    border-right: 0.5rem solid var(--colorWhite);
    border-bottom: 0.5rem solid var(--colorWhite);
    line-height: 1.25;
    font-size: 1.4rem;
    vertical-align: middle;
}

.mainContents .drugFeatureTable th:last-of-type,
.mainContents .drugFeatureTable td:last-of-type {
    border-right: none;
}

.mainContents .drugFeatureTable tr:last-of-type th,
.mainContents .drugFeatureTable tr:last-of-type td {
    border-bottom: none;
}

.mainContents .drugFeatureTable .navyTh {
    width: 15%;
    background-color: var(--colorNavy);
    color: var(--colorWhite);
}

.mainContents .drugFeatureTable .blueTh {
    width: calc(85% / 3);
    background-color: var(--colorBlue);
    color: var(--colorWhite);
    text-align: center;
}

.mainContents .drugFeatureTable td {
    background-color: var(--colorLightblue);
}

/* --- drugFeatureDl --- */
.mainContents .drugFeatureDl {
    display: flex;
    flex-wrap: wrap;
}

.mainContents .drugFeatureDl dt,
.mainContents .drugFeatureDl dd {
    margin-bottom: 0.5rem;
    padding: 1.5rem;
    display: flex;
    align-items: center;
    line-height: 1.25;
    font-size: 1.4rem;
}

.mainContents .drugFeatureDl dt {
    width: calc(25% - 0.5rem);
    margin-right: 0.5rem;
    background-color: var(--colorBlue);
    color: var(--colorWhite);
}

.mainContents .drugFeatureDl dd {
    width: 75%;
    background-color: var(--colorLightblue);
}

.mainContents .drugFeatureDl dt.price {
    width: 70%;
    border: 0.1rem solid var(--colorGray);
    background-color: transparent;
    color: initial;
}

.mainContents .drugFeatureDl dd.price {
    width: calc(30% - 0.5rem);
    justify-content: flex-end;
    border: 0.1rem solid var(--colorGray);
    background-color: transparent;
    font-weight: bold;
    color: var(--colorRed);
}

/* --- afterCareDl --- */
.mainContents .afterCareDl {
    display: flex;
    flex-wrap: wrap;
    border: 0.1rem solid var(--colorBlue);
}

.mainContents .afterCareDl dt,
.mainContents .afterCareDl dd {
    padding: 1rem 0;
    border-bottom: 0.1rem solid var(--colorGray);
    line-height: 1.25;
    font-size: 1.4rem;
    text-align: center;
}

.mainContents .afterCareDl dt:last-of-type,
.mainContents .afterCareDl dd:last-of-type {
    border-bottom: none;
}

.mainContents .afterCareDl dt {
    width: 30%;
    background-color: var(--colorBlue);
    font-weight: bold;
    color: var(--colorWhite);
}

.mainContents .afterCareDl dd {
    width: 70%;
}

/* --- priceHeqding --- */
.mainContents .priceHeading {
    margin: 3rem auto 2rem;
    line-height: 1.25;
    font-family: var(--notosans);
    font-size: 2rem;
    color: var(--colorDarkgray);
    text-align: center;
}

/* --- priceDl --- */
.mainContents .priceDl:not(.priceWrap > .priceDl) {
    margin-bottom: 2rem;
    display: flex;
    flex-wrap: wrap;
    border: 0.1rem solid var(--colorGray);
}

.mainContents .priceDl:not(.priceWrap > .priceDl) dt,
.mainContents .priceDl:not(.priceWrap > .priceDl) dd {
    padding: 1.5rem;
    display: flex;
    align-items: center;
    border-bottom: 0.1rem solid var(--colorGray);
    line-height: 1.25;
}

.mainContents .priceDl:not(.priceWrap > .priceDl) dt:last-of-type,
.mainContents .priceDl:not(.priceWrap > .priceDl) dd:last-of-type {
    border-bottom: none;
}

.mainContents .priceDl:not(.priceWrap > .priceDl) dt {
    width: 65%;
    border-right: 0.1rem solid var(--colorGray);
}

.mainContents .priceDl:not(.priceWrap > .priceDl) dd {
    width: 35%;
    justify-content: flex-end;
    font-weight: bold;
    color: var(--colorRed);
    text-align: right;
}

.mainContents .priceDl:not(.priceWrap > .priceDl) dd.rangePrice {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.mainContents .priceDl:not(.priceWrap > .priceDl) dd.rangePrice .waveDash {
    margin: 0.25em 1em 0.25em 0;
    writing-mode: vertical-rl;
}

.mainContents .priceDl:not(.priceWrap > .priceDl) .priceDlTitle {
    justify-content: center;
    background-color: var(--colorBlue);
    font-weight: initial;
    color: var(--colorWhite);
    text-align: center;
}

.mainContents .priceDl:not(.priceWrap > .priceDl) .total {
    background-color: var(--colorLightblue);
}

.mainContents .priceDl:not(.priceWrap > .priceDl) dt.total {
    justify-content: center;
    font-weight: bold;
}

/* --- new priceDl --- */
.priceWrap {
    margin: 2rem auto;
    line-height: 1.25;
    font-family: var(--notosans);
}

.priceWrap .priceDl {
    border-top: 0.1rem solid #002a71;
    border-left: 0.1rem solid var(--colorGray);
    border-right: 0.1rem solid var(--colorGray);
}

.priceWrap .priceDl:last-of-type {
    border-bottom: 0.1rem solid #002a71;
}

.priceWrap .priceDl dt {
    padding: 1rem 3rem;
    background-color: #f0f6ff;
    text-align: center;
}

.priceWrap.combinationPrice .priceDl.total dt {
    background-color: #e8e8e8;
    font-size: 1.8rem;
    font-weight: bold;
}

.priceWrap .priceDl dd {
    padding: 0.5rem 1rem;
    display: flex;
    justify-content: center;
    align-items: baseline;
    flex-wrap: wrap;
}

.priceWrap .priceDl dt .priceTitle {
    margin-bottom: 0.5rem;
    font-size: 1.8rem;
    font-weight: bold;
}

.priceWrap .priceDl dt .priceText {
    font-size: 1.4rem;
}

.priceWrap .priceDl dd .priceNum {
    font-size: 2.8rem;
    font-weight: bold;
    color: #0047ca;
}

.priceWrap .priceDl dd .priceUnit {
    margin-left: 0.25rem;
    font-size: 1.2rem;
}

.ccText {
    font-weight: bold;
    width: 100%;
    margin-bottom: -0.1rem;
    padding-left: 3.5rem;
}

.ccText1 {
    font-weight: bold;
    width: 100%;
    margin-bottom: -0.1rem;
    padding-left: 3.5rem;
}

.mainContents .priceDl .priceDlTitle {
    justify-content: center;
    background-color: var(--colorBlue);
    font-weight: initial;
    color: var(--colorWhite);
    text-align: center;
}

.mainContents .priceDl .total {
    background-color: var(--colorLightblue);
}

.mainContents .priceDl dt.total {
    justify-content: center;
    font-weight: bold;
}

/* --- feeBtn --- */
.mainContents .feeBtn {
    width: 24rem;
    margin: 2rem auto;
    padding: 1.5rem 0.5rem;
    border-radius: 0.8rem;
    background-color: #3094ff;
    line-height: 1.25;
    font-size: 1.4rem;
    color: var(--colorWhite);
    text-align: center;
}

/* --- paymentBox --- */
.mainContents .paymentBox {
    margin-top: 3rem;
    padding: 1.5rem;
    border: 0.1rem solid var(--colorGray);
    border-radius: 0.5rem;
    background-color: var(--colorLightblue);
}

.mainContents .paymentBox .title {
    margin-bottom: 1.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 0.1rem solid var(--colorBlack);
    font-size: 1.8rem;
    font-weight: bold;
}

.mainContents .paymentBox .title i {
    margin-right: 0.5rem;
}

.mainContents .paymentBox .methodlList {
    margin-bottom: 1rem;
    display: flex;
    flex-wrap: wrap;
}

.mainContents .paymentBox .methodlList li {
    margin-bottom: 0.5rem;
    margin-right: 0.5rem;
    padding: 1rem 0.5rem;
    background-color: var(--colorBlue);
    font-weight: bold;
    color: var(--colorWhite);
}

.mainContents .paymentBox .imgBox {
    margin-top: 1.5rem;
    padding: 1rem;
    background-color: var(--colorWhite);
}

.mainContents .paymentBox .imgBox .card {
    margin-bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.mainContents .paymentBox .imgBox .card img {
    padding-right: 0.5rem;
    min-width: 0;
}

.mainContents .paymentBox .imgBox .card a {
    padding-right: 0.5rem;
    min-width: 0;
}

.mainContents .paymentBox .imgBox .card img:nth-of-type(-n + 7) {
    margin-bottom: 1rem;
}

.mainContents .paymentBox .imgBox .card img:nth-of-type(7) {
    margin-right: 0;
}

/* --- flowList --- */
.mainContents .flowList li {
    margin-bottom: 2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.mainContents .flowList li:last-of-type {
    margin-bottom: 0;
}

.mainContents .flowList li .textBox {
    width: 70%;
}

.mainContents .flowList li .textBox .flowListHeading {
    margin-bottom: 1rem;
    font-size: 1.8rem;
    font-weight: bold;
    color: var(--colorBlue);
}

.mainContents .flowList li .textBox .flowListHeading span {
    margin-right: 0.5rem;
    color: var(--colorGreen);
}

.mainContents .flowList li .textBox .flowListText {
    line-height: 1.5;
    font-size: 1.4rem;
}

.mainContents .flowList li .textBox .flowListText a {
    display: inline;
    color: #143cb4;
    text-decoration: underline;
}

.mainContents .flowList li .imgBox {
    width: 27.5%;
}

.mainContents .flowList li .extraText {
    width: 100%;
    margin-top: 2rem;
    padding: 1rem 0;
    background-color: var(--colorBlue);
    color: var(--colorWhite);
    text-align: center;
}

/* --- otherTreatmentList --- */
.mainContents .otherTreatmentList {
    display: flex;
    flex-wrap: wrap;
}

.mainContents .otherTreatmentList li {
    width: 48.75%;
    margin-bottom: 1rem;
}

.mainContents .otherTreatmentList li:nth-of-type(odd) {
    margin-right: 2.5%;
}

.mainContents .otherTreatmentList li:last-of-type {
    margin-bottom: 0;
}

.mainContents .otherTreatmentList li a {
    padding: 1rem 0;
    border-radius: 0.5rem;
    background-color: var(--colorBlue);
    font-size: 1.8rem;
    font-weight: bold;
    color: var(--colorWhite);
    text-align: center;
}

.mainContents .otherTreatmentList li.long a {
    font-size: 1.6rem;
}

.mainContents .otherTreatmentList li a i {
    color: var(--colorRed);
    text-shadow: 0 0 0.2rem var(--colorWhite), 0 0 0.2rem var(--colorWhite),
        0 0 0.2rem var(--colorWhite), 0 0 0.2rem var(--colorWhite),
        0 0 0.2rem var(--colorWhite);
}

/* --- generalEditor --- */
.mainContents .generalEditorName {
    font-size: 2rem;
    text-align: center;
}

.mainContents .careerDl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.mainContents .careerDl dt,
.mainContents .careerDl dd {
    margin-bottom: 1rem;
    line-height: 1.25;
}

.mainContents .careerDl dt:last-of-type,
.mainContents .careerDl dd:last-of-type {
    margin-bottom: 0;
}

.mainContents .careerDl dt {
    width: 30%;
    font-weight: bold;
    color: var(--colorDarkgray);
}

.mainContents .careerDl dd {
    width: 70%;
}

/* --- scheduleBox --- */
.mainContents .scheduleBox {
    margin: 2rem auto 0;
    border: solid 0.1rem var(--colorNavy);
}

.mainContents .scheduleTit {
    color: var(--colorWhite);
    background-color: var(--colorNavy);
    text-align: center;
    padding: 1rem;
    font-size: 2rem;
    font-weight: bold;
}

.mainContents .scInner {
    padding: 1rem;
}

.mainContents .mt1 {
    margin-top: 1.5rem;
}

.mainContents .fc .fc-daygrid-body-natural .fc-daygrid-day-events {
    margin-bottom: 0;
}

.mainContents .fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events {
    min-height: 1.5em;
}

/* --- faqMarkup --- */
.mainContents .faqMarkup.accordion .faqHeading {
    padding-right: 4rem;
    position: relative;
}

.mainContents .faqMarkup .faqHeading:before,
.mainContents .faqMarkup.accordion .faqHeading:after {
    width: 1em;
    height: 1.25em;
    background: none;
    font-family: 'Font Awesome 6 Free';
    font-size: 2rem;
    font-weight: 900;
}

.mainContents .faqMarkup .faqHeading:before {
    content: '\f059';
    margin-right: 1rem;
    color: var(--colorRed);
}

.mainContents .faqMarkup.accordion .faqHeading:after {
    content: '\f13a';
    margin: auto;
    display: flex;
    align-items: center;
    position: absolute;
    top: -0.5rem;
    bottom: 0;
    right: 1rem;
    color: var(--colorNavy);
    transition: transform 0.5s;
}

.mainContents .faqMarkup.accordion.active .faqHeading:after {
    transform: rotate(180deg);
}

.mainContents .faqMarkup .faqText {
    display: block;
    align-items: center;
}

.mainContents .faqMarkup.accordion .faqText {
    height: 0;
    overflow: hidden;
    transition: 0.5s;
}

.mainContents .faqMarkup .faqText:before {
    content: '\f06a';
    margin-right: 1rem;
    font-family: 'Font Awesome 6 Free';
    font-size: 2rem;
    font-weight: 900;
    color: var(--colorBlue);
}

/* --- blogList --- */
.mainContents .blogList li {
    margin-bottom: 1.5rem;
}

.mainContents .blogList li:last-of-type {
    margin-bottom: 0;
}

.mainContents .blogList li a {
    padding: 1rem;
    display: flex;
    align-items: center;
    border: 0.1rem solid var(--colorGreen);
}

.mainContents .blogList li a .imgBox {
    width: 10rem;
    margin-right: 1rem;
}

.mainContents .blogList li a .textBox {
    width: calc(100% - 11rem);
}

.mainContents .blogList li a .textBox .blogTitle {
    margin-bottom: 1rem;
    line-height: 1.25;
}

.mainContents .blogList li a .textBox .day {
    font-size: 1.4rem;
    color: var(--colorDarkgray);
    text-align: right;
}

/* --- smoothTelBox --- */
.mainContents .smoothTelBox {
    margin: 3rem auto;
}

.mainContents .smoothTelBox .smoothTelText {
    margin-bottom: 1rem;
    line-height: 1.25;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
}

.mainContents .smoothTelBox .smoothTelFlex {
    padding: 1rem 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.mainContents .smoothTelBox .hourBox {
    margin-right: 0.5rem;
    font-size: 1.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.mainContents .smoothTelBox .hourBox .hourTitle {
    padding: 0 1rem;
    background-color: var(--colorBlack);
    line-height: 1.5;
    color: var(--colorWhite);
}

.mainContents .smoothTelBox .hourBox .hourText {
    padding: 0 1rem;
    line-height: 1.5;
    text-align: center;
}

.mainContents .smoothTelBox .number {
    font-size: 3rem;
    font-weight: bold;
    color: var(--colorBlue);
    letter-spacing: -0.075rem;
    border: var(--colorDarkgray) 2px solid;
    padding: 1rem 2rem;
    border-radius: 3rem;
    margin-right: 1rem;
}

/* --- directionsList --- */
.mainContents .directionsList {
    margin: 2rem auto;
    display: flex;
    flex-wrap: wrap;
}

.mainContents .directionsList li {
    width: 48.75%;
    margin-bottom: 1.5rem;
}

.mainContents .directionsList li:nth-of-type(odd) {
    margin-right: 2.5%;
}

.mainContents .directionsList li:nth-last-of-type(-n + 2) {
    margin-bottom: 0;
}

.mainContents .directionsList li a {
    border-radius: 0.5rem;
    font-weight: bold;
    text-align: center;
    overflow: hidden;
}

.mainContents .directionsList li .directionsTitle {
    padding: 1rem 0;
}

.mainContents .directionsList li .directionsTitle i {
    margin-right: 0.5rem;
}

.mainContents .directionsList li .directionsText {
    padding: 1rem 0;
    line-height: 1.25;
    font-size: 1.4rem;
    color: var(--colorWhite);
}

.mainContents .directionsList .blue .directionsTitle {
    background-color: #a4b7dc;
    color: #0055a6;
}

.mainContents .directionsList .blue .directionsText {
    background-color: #0055a6;
}

.mainContents .directionsList .brown .directionsTitle {
    background-color: #e5cfcd;
    color: #993c39;
}

.mainContents .directionsList .brown .directionsText {
    background-color: #993c39;
}

.mainContents .directionsList .red .directionsTitle {
    background-color: #f5ced0;
    color: #d23b3e;
}

.mainContents .directionsList .red .directionsText {
    background-color: #d23b3e;
}

.mainContents .directionsList .turquoise .directionsTitle {
    background-color: #c3dde6;
    color: #0e779d;
}

.mainContents .directionsList .turquoise .directionsText {
    background-color: #0e779d;
}

.mainContents .directionsList .purple .directionsTitle {
    background-color: #e5d0e5;
    color: #964093;
}

.mainContents .directionsList .purple .directionsText {
    background-color: #964093;
}

.mainContents .directionsList .pink .directionsTitle {
    background-color: #f2d1da;
    color: #cf4868;
}

.mainContents .directionsList .pink .directionsText {
    background-color: #cf4868;
}

.mainContents .directionsList .skyblue .directionsTitle {
    background-color: #d5edf7;
    color: #4ba6dc;
}

.mainContents .directionsList .skyblue .directionsText {
    background-color: #4ba6dc;
}

/* --- directionsDetailList --- */
.mainContents .directionsDetailList {
    padding: 1rem;
    display: flex;
    flex-wrap: wrap;
    background-color: var(--colorLightblue);
}

.mainContents .directionsDetailList li {
    width: 48.75%;
    margin-bottom: 1.5rem;
}

.mainContents .directionsDetailList li:nth-of-type(odd) {
    margin-right: 2.5%;
}

.mainContents .directionsDetailList li:nth-last-of-type(-n + 2) {
    margin-bottom: 0;
}

.mainContents .directionsDetailList li .detailText {
    margin-top: 1rem;
    line-height: 1.25;
    font-size: 1.4rem;
}

/* --- form --- */
.contentsWrapper.form .mainContentsHeading {
    max-width: 25rem;
    margin: 3rem auto;
}

/* --- formWrap --- */
.mainContents .formWrap {
    margin-bottom: 5rem;
}

.mainContents .formWrap .contact_form {
    width: 100%;
    margin-bottom: 5rem;
    padding: 1.5rem;
    display: block;
    background-color: var(--colorLightblue);
}

.mainContents .formWrap .contact_form tbody,
.mainContents .formWrap .contact_form tr,
.mainContents .formWrap .contact_form th,
.mainContents .formWrap .contact_form td {
    width: 100%;
    display: block;
}

.mainContents .formWrap .contact_form th {
    display: flex;
    align-items: center;
}

.mainContents .formWrap .contact_form td {
    padding: 1.5rem 1rem 3rem;
}

.mainContents .formWrap .contact_form td.preferredTime {
    padding-top: initial;
}

.mainContents .formWrap .contact_form td.options {
    padding-bottom: 1rem;
}

.mainContents .formWrap .contact_form .required,
.mainContents .formWrap .contact_form .any {
    margin-left: 1rem;
    padding: 0 0.5rem;
    display: block;
    line-height: 1.5;
    font-size: 1.4rem;
    color: var(--colorWhite);
}

.mainContents .formWrap .contact_form .required {
    font-weight: bold;
    background-color: var(--colorRed);
}

.mainContents .formWrap .contact_form .any {
    margin-left: 1rem;
    background-color: var(--colorDarkgray);
}

.mainContents .formWrap .contact_form textarea,
.mainContents .formWrap .contact_form select,
.mainContents .formWrap .contact_form input,
.mainContents .formWrap .privacy input {
    padding: 0.5em;
    border: 0.1rem solid var(--colorDarkgray);
    background-color: var(--colorWhite);
    line-height: 1.75;
}

.mainContents .formWrap .contact_form textarea,
.mainContents .formWrap .contact_form input[type='text'],
.mainContents .formWrap .contact_form input[type='tel'],
.mainContents .formWrap .contact_form input[type='email'] {
    width: 100%;
}

.mainContents .formWrap .contact_form .selectWrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.mainContents .formWrap .contact_form p {
    margin-top: 1.5rem;
    line-height: 1.25;
}

.mainContents .formWrap .contact_form select {
    width: 100%;
    max-width: 30rem;
    display: block;
}

.mainContents .formWrap .contact_form textarea {
    min-height: 15em;
}

.mainContents .formWrap .contact_form input.age {
    width: 4rem;
    margin-right: 0.5em;
    line-height: 1;
    text-align: right;
}

.mainContents .formWrap .contact_form textarea::placeholder,
.mainContents .formWrap .contact_form input::placeholder {
    color: var(--colorDarkgray);
}

.mainContents .formWrap .contact_form textarea:focus,
.mainContents .formWrap .contact_form select:focus,
.mainContents .formWrap .contact_form input[type='text']:focus,
.mainContents .formWrap .contact_form input[type='tel']:focus,
.mainContents .formWrap .contact_form input[type='email']:focus {
    border: 0.1rem solid var(--colorBlue);
}

/* error */
.mainContents .formWrap .contact_form .isError td:has(input[type='radio']),
.mainContents .formWrap .contact_form .isError td:has(input[type='checkbox']) {
    position: relative;
}

.mainContents .formWrap .contact_form .isError td:has(input[type='radio']) {
    padding-top: 6.5rem;
}

.mainContents .formWrap .contact_form .isError td:has(input[type='checkbox']) {
    padding-top: 8.5rem;
}

.mainContents .formWrap .contact_form .isError .errorMessage:has(+ input[type='radio']),
.mainContents .formWrap .contact_form .isError .errorMessage:has(+ input[type='checkbox']),
.mainContents .formWrap .contact_form .isError #diagnosticItems .errorMessage,
.mainContents .formWrap .contact_form .isError #consultationDetails .errorMessage {
    width: calc(100% - 2rem);
    margin: auto;
    padding: 0.5rem 1.5rem;
    position: absolute;
    top: 1.5rem;
    left: 0;
    right: 0;
    border: 0.2rem solid var(--colorRed);
    background-color: var(--colorWhite);
}

.mainContents .formWrap .contact_form .isError select,
.mainContents .formWrap .contact_form .isError input {
    outline: 0.2rem solid var(--colorRed);
    background-color: #f4d1d2;
}

.mainContents .formWrap .contact_form .isError .errorMessage {
    width: 100%;
    margin-top: initial;
    margin-bottom: 0.5rem;
    line-height: 1.25;
    font-size: 1.4rem;
    font-weight: initial;
    color: var(--colorRed);
}

.mainContents .formWrap .contact_form label,
.mainContents .privacy label {
    width: fit-content;
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    line-height: 1.2;
}

.mainContents .formWrap .contact_form label:has(.age) {
    flex-wrap: wrap;
}

.mainContents .privacy label {
    margin: 0 auto;
}

.mainContents .privacy label a {
    display: inline;
    color: var(--colorBlue);
    text-decoration: underline;
}

/* radio & checkbox */
.mainContents .formWrap .contact_form input[type='radio'],
.mainContents .formWrap .contact_form input[type='checkbox'],
.mainContents .privacy input[type='checkbox'] {
    width: 1.25em;
    height: 1.25em;
    position: relative;
}

.mainContents .formWrap .contact_form input[type='radio'] {
    border-radius: 50%;
    margin-right: 0.5em;
}

.mainContents .formWrap .contact_form input[type='checkbox'],
.mainContents .privacy input[type='checkbox'] {
    margin-right: 0.5em;
}

.mainContents .formWrap .contact_form input[type='radio']:before,
.mainContents .formWrap .contact_form input[type='checkbox']:before,
.mainContents .privacy input[type='checkbox']:before {
    content: '';
    margin: auto;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.mainContents .formWrap .contact_form input[type='radio']:before {
    width: 0.75em;
    height: 0.75em;
    border-radius: 50%;
}

.mainContents .formWrap .contact_form input[type='checkbox']:before,
.mainContents .privacy input[type='checkbox']:before {
    width: 0.8em;
    height: 0.4em;
    border-bottom: 0.3rem solid transparent;
    border-left: 0.3rem solid transparent;
    transform: rotate(-45deg);
}

.mainContents .formWrap .contact_form input[type='radio']:checked:before {
    background-color: var(--colorBlue);
}

.mainContents .formWrap .contact_form input[type='checkbox']:checked:before,
.mainContents .privacy input[type='checkbox']:checked:before {
    border-color: var(--colorBlue);
}

/* select */
.mainContents .formWrap .contact_form select {
    background: var(--colorWhite) url(/newimg/other/bg_select.svg) no-repeat right 0.5em center / 1em auto;
}

/* submit */
.mainContents .formWrap .button {
    width: 100%;
    margin: 4rem auto 0;
    padding: 1.5rem 0;
    display: block;
    border-radius: 100vh;
    background-color: var(--colorBlue);
    font-size: 2rem;
    font-weight: bold;
    color: var(--colorWhite);
    text-align: center;
}

.mainContents .formWrap .button i {
    margin: 0 1rem;
}

/* --- formWrap.confirm --- */
.mainContents .formWrap.confirm .contact_form {
    margin-bottom: 0;
}

.mainContents .formWrap.confirm .valueBox {
    padding: 1rem;
    line-height: 1.25;
    background-color: var(--colorWhite);
}

.mainContents .formWrap.confirm .selectWrap .valueBox {
    width: 48.75%;
}

.mainContents .formWrap.confirm .btnFlex {
    /* display: flex;
	justify-content: space-between; */
    align-items: center;
    display: block;
}

.mainContents .formWrap.confirm .btnFlex form {
    width: 82.75%;
    margin: 0 auto;
}

.mainContents .formWrap.confirm .btnFlex .button.reset {
    background-color: var(--colorDarkgray);
}

.mb100 {
    margin-bottom: 10rem;
}

/* ==============================
	footer
 ============================== */
.commonFooter .footerContact {
    padding: 2rem 0;
    background-color: var(--colorBlack);
}

.commonFooter .footerContact .logo {
    display: flex;
    justify-content: center;
    align-items: center;
}

.commonFooter .footerContact .logo .imgBox {
    width: 30%;
    margin-right: 5%;
}

.commonFooter .footerContact .logo .areaList {
    width: 50%;
    display: flex;
    justify-content: space-between;
    font-size: 1.4rem;
    font-weight: bold;
    color: var(--colorWhite);
}

.commonFooter .footerContact .telBox {
    margin-top: 2rem;
}

.commonFooter .footerContact .telBox a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--colorWhite);
}

.commonFooter .footerContact .telBox .freeIcon {
    width: 3rem;
    margin-right: 1rem;
}

.commonFooter .footerContact .telBox .number {
    font-size: 4rem;
    font-weight: bold;
    letter-spacing: -0.1rem;
}

.commonFooter .footerContact .telBox .telTimeText {
    margin: 2rem auto;
    font-size: 1.6rem;
    color: var(--colorWhite);
    text-align: center;
}

.commonFooter .footerMenu .footerMenuList {
    margin: 2rem auto;
    display: flex;
    flex-wrap: wrap;
}

.commonFooter .footerMenu .footerMenuList>li {
    width: 48.75%;
    margin-bottom: 1rem;
}

.commonFooter .footerMenu .footerMenuList>li:nth-of-type(odd) {
    margin-right: 2.5%;
}

.commonFooter .footerMenu .footerMenuList>li:last-of-type {
    margin-bottom: 0;
}

.commonFooter .footerMenu .footerMenuList>li>a {
    padding: 1.5rem 0;
    border-radius: 0.5rem;
    background-color: var(--colorBlue);
    font-size: 1.6rem;
    font-weight: bold;
    color: var(--colorWhite);
    text-align: center;
}

.commonFooter .footerMenu .footerMapList li {
    margin-bottom: 1.5rem;
}

.commonFooter .footerMenu .footerMapList li:last-of-type {
    margin-bottom: 0;
}

.commonFooter .footerMenu .footerMapList p {
    line-height: 1.5;
    font-size: 1.2rem;
}

.commonFooter .footerMenu .footerMapList .mapTitle {
    padding: 1rem 0;
    background-color: var(--colorNavy);
    font-size: 1.6rem;
    font-weight: bold;
    color: var(--colorWhite);
    text-align: center;
}

.commonFooter .footerMenu .footerMapList .mapImg {
    margin-bottom: 1rem;
}

.commonFooter .footerMenu .footerMapList .telText a {
    margin-right: 0.5rem;
    display: inline;
    color: var(--colorBlue);
    text-decoration: underline;
}

.commonFooter .footerMenu .footerMapList .openingText {
    margin-top: 0.5rem;
    font-weight: bold;
    color: var(--colorRed);
}

.commonFooter .footerMenu .footerMapList .link {
    margin: 1rem auto;
    font-size: 1.6rem;
    color: #143cb4;
    text-decoration: underline;
    text-align: center;
}

.commonFooter .footerMenu .footerMapList .link i {
    margin-left: 0.5rem;
}

.commonFooter .invitationText {
    margin: 2rem auto;
}

.commonFooter .invitationText .invitationTitle {
    margin-bottom: 1rem;
    padding: 0.75rem;
    background-color: var(--colorNavy);
    font-size: 1.6rem;
    color: var(--colorWhite);
    text-align: center;
}

.commonFooter .invitationText .invitationP {
    line-height: 1.5;
    font-size: 1.4rem;
    text-align: center;
}

.commonFooter .invitationText .invitationP:after {
    content: '';
    width: 0;
    height: 0;
    margin: 2rem auto 0;
    display: block;
    border-top: 3rem solid var(--colorBlack);
    border-bottom: 0;
    border-left: 5rem solid transparent;
    border-right: 5rem solid transparent;
}

.commonFooter .copyRight {
    padding: 1rem 0;
    background-color: var(--colorBlack);
    box-shadow: 0 0 0.3rem var(--colorGray);
    font-size: 1.2rem;
    color: var(--colorWhite);
    text-align: center;
}

.commonFooter .copyRight .snsList {
    margin-bottom: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.commonFooter .copyRight .snsList li {
    width: fit-content;
    margin-right: 2.5rem;
}

.commonFooter .copyRight .snsList li:last-of-type {
    margin-right: initial;
}

.commonFooter .copyRight .snsList li img {
    width: 4rem;
}

.commonFooter .copyRight .copyMenu {
    margin-bottom: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.commonFooter .copyRight .copyMenu li {
    margin-right: 1.5rem;
}

.commonFooter .copyRight .copyMenu li:last-of-type {
    margin-right: 0;
}

/* ==============================
	spFix
 ============================== */
#spFixLine {
    width: 100%;
    margin-top: 0.2rem;
    position: fixed;
    top: -25vh;
    left: 0;
    z-index: 7;
    transition: top 0.5s;
}

#spFixLine .supportHours {
    position: absolute;
    top: 3.5rem;
    left: 4.5rem;
    font-size: 1.4rem;
    font-weight: bold;
    color: var(--colorBlue);
}

#spFixBtn {
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 99;
}

#spFixBtn .spFixList {
    width: var(--contentsWrapper);
    margin: 0 auto 1.2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

#spFixBtn .spFixList li {
    width: 18rem;
}

#spFixBtn .spFixList li a {
    border-radius: 0.6rem;
    background-color: var(--colorWhite);
    box-shadow: 0.5rem 0.5rem 1.2rem rgba(0, 0, 0, 0.3);
}

#spFixBtn .spFixList li.web a {
    border: 0.3rem solid #1a98ff;
}

#spFixBtn .spFixList li.tel a {
    border: 0.3rem solid #ff6700;
}

#spFixBtn .spFixList li.line a {
    border: 0.3rem solid #06c755;
}

/* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
			PC
 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= */

@media screen and (min-width: 781px) {
    :root {
        --font-size: 10px;
        --contentsWrapper: 900px;
        --formWidth: 620px;
    }

    /* ==============================
		common
	 ============================== */
    body {
        min-width: 100rem;
    }

    body:not(:has(main.form)) {
        padding-top: 4.5rem !important;
    }

    a {
        transition: opacity 0.5s;
    }

    a:hover {
        opacity: 0.7;
    }

    .pcView {
        display: block;
    }

    .spView {
        display: none !important;
    }

    main.contentsWrapper {
        display: flex;
        justify-content: space-between;
    }

    main.contentsWrapper.form {
        width: var(--formWidth);
        margin: 0 auto;
        display: block;
    }

    /* ==============================
		header
	 ============================== */
    .commonHeader {
        padding: 1.5rem 0;
    }

    .commonHeader .headerWrap {
        display: flex;
        justify-content: space-between;
    }

    .commonHeader .headerWrap .headerLeftBox {
        width: 54rem;
    }

    .commonHeader .headerWrap .headerTextBox {
        margin-bottom: 1rem;
        display: flex;
        font-family: var(--yumincho);
        font-size: 1.6rem;
        font-weight: bold;
    }

    .commonHeader .headerWrap .headerTextBox .syadanTitle {
        margin-right: 3rem;
    }

    .commonHeader .headerWrap .headerLogoBox {
        display: flex;
    }

    .commonHeader .headerWrap .headerLogoBox .headerLogoIcon {
        width: 9.5rem;
        margin-right: 1rem;
    }

    .commonHeader .headerWrap .headerLogoBox .logoArea {
        width: calc(100% - 10.5rem);
    }

    .commonHeader .headerWrap .headerLogoBox .headerLogo {
        width: 23rem;
        margin: 0 0 1rem 1rem;
    }

    .commonHeader .headerWrap .headerLogoBox .headerAreaList {
        display: flex;
    }

    .commonHeader .headerWrap .headerLogoBox .headerAreaList li {
        margin-right: 1rem;
    }

    .commonHeader .headerWrap .headerLogoBox .headerAreaList li:last-of-type {
        margin-right: 0;
    }

    .commonHeader .headerWrap .headerLogoBox .headerAreaList li a {
        padding: 1rem 1.4rem;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 0.5rem;
        background-color: var(--colorBlue);
        font-size: 2.3rem;
        font-weight: bold;
        letter-spacing: -0.01rem;
        text-shadow: 0 0 0.5rem var(--colorBlack);
    }

    .commonHeader .headerWrap .headerRightBox {
        width: 35rem;
        display: flex;
        flex-direction: column;
    }

    .commonHeader .headerWrap .businessHour {
        margin-bottom: 1rem;
        font-size: 1.4rem;
        text-align: center;
        letter-spacing: -0.05rem;
    }

    .commonHeader .headerWrap .headerTelBox {
        margin-bottom: 1rem;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .commonHeader .headerWrap .headerTelBox .freeIcon {
        width: 5rem;
        margin-right: 1rem;
    }

    .commonHeader .headerWrap .headerTelBox .telText {
        font-size: 4.2rem;
        font-weight: bold;
        letter-spacing: -0.3rem;
    }

    .commonHeader .headerWrap .headerContactList {
        display: flex;
        justify-content: space-between;
    }

    .commonHeader .headerWrap .headerContactList li a {
        height: 4.2rem;
        padding: 0 3.6rem;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 0.5rem;
        font-size: 1.6rem;
        font-weight: bold;
        color: var(--colorWhite);
    }

    .commonHeader .headerWrap .headerContactList .line a {
        background-color: #06c755;
    }

    .commonHeader .headerWrap .headerContactList .mail a {
        background-color: #3dcca8;
    }

    .commonHeader .headerWrap .headerContactList .web a {
        background-color: #1b98ff;
    }

    .commonHeader .headerWrap .headerContactList .mail a img {
        width: 7.95rem;
    }

    .commonHeader .headerWrap .headerContactList .web a img {
        height: 2.3rem;
    }

    .commonHeader .headerWrap .headerContactList .mail i,
    .commonHeader .headerWrap .headerContactList .web i {
        margin-right: 0.5rem;
    }

    .commonHeader .headerWrap .searchArea {
        margin-top: auto;
    }

    .commonHeader .searchArea .gsc-control-cse .gsc-results-wrapper-overlay {
        padding: 5rem 3rem 3rem;
    }

    .commonHeader .searchArea .gsc-control-cse .gsc-results-wrapper-overlay .gsc-resultsRoot .gsc-webResult.gsc-result:first-of-type {
        padding-top: 1rem;
    }

    .commonHeader .searchArea .gsc-control-cse .gsc-results-wrapper-overlay .gsc-resultsRoot .gsc-webResult.gsc-result .gs-web-image-box {
        width: 15rem;
    }

    .commonHeader .searchArea .gsc-control-cse .gsc-results-wrapper-overlay .gsc-resultsRoot .gsc-webResult.gsc-result .gs-web-image-box .gs-image {
        max-width: 15rem;
    }

    .navTopHeading {
        width: var(--contentsWrapper);
        margin: 0.5rem auto 1rem;
        font-size: 1.6rem;
    }

    /* ==============================
		nav
	 ============================== */
    .gNav {
        height: initial;
        padding: initial;
        display: block;
        position: fixed;
        top: 14.64rem;
        left: 0;
        z-index: 99;
        background-color: var(--colorWhite);
        font-size: 1.4rem;
        color: var(--colorBlack);
        overflow: initial;
        opacity: 1;
    }

    .gNav.active {
        animation: none;
    }

    .gNav .parentNavList {
        display: flex;
        border-left: 0.1rem dotted var(--colorGray);
    }

    .gNav .parentNavList>li {
        width: calc(100% / 6);
        margin: initial;
        padding: initial;
        position: relative;
        border-bottom: none;
        border-right: 0.1rem dotted var(--colorGray);
    }

    .gNav .parentNavList>li>a {
        margin-bottom: initial;
        padding: 2rem 0;
        transition: background-color 0.5s, color 0.5s;
    }

    .gNav .parentNavList>li>a:hover {
        background-color: var(--colorBlue);
        color: var(--colorWhite);
        opacity: 1;
    }

    .gNav .parentNavList>li>a .parentNavText {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background: initial;
        background-clip: initial;
        -webkit-background-clip: initial;
        -webkit-text-fill-color: initial;
        font-size: 1.4rem;
        font-weight: bold;
    }

    .gNav .parentNavList>li>a .parentNavText.home {
        font-size: 1.2rem;
        font-weight: normal;
        color: var(--colorGray);
    }

    .gNav .parentNavList .parentNavText span {
        margin-top: 0.5em;
        font-size: 1.2rem;
        font-weight: normal;
        color: var(--colorGray);
    }

    .gNav .parentNavList .parentNavText i {
        display: block;
        margin-bottom: 0.5em;
        margin-right: 0;
        font-size: 1.4rem;
        color: var(--colorBlack);
    }

    .gNav .parentNavList>li>a:hover .parentNavText i {
        color: var(--colorWhite);
    }

    .gNav .childNavList {
        width: 200%;
        max-height: calc(100vh - 21.5rem);
        padding: 0 1rem;
        display: none;
        position: absolute;
        left: -0.1rem;
        border: 0.1rem dotted var(--colorGray);
        background-color: var(--colorWhite);
        opacity: 0;
        transition: opacity 0.5s;
        overflow-y: auto;
    }

    .gNav .childNavList.active {
        display: block;
        opacity: 1;
    }

    .gNav .parentNavList>li:last-of-type .childNavList {
        left: initial;
        right: -0.1rem;
    }

    .gNav .childNavList li {
        border-bottom: 0.1rem solid var(--colorDarkgray);
    }

    .gNav .childNavList li:last-of-type {
        border-bottom: none;
    }

    .gNav .childNavList li>a {
        padding: 0.75rem 0;
        line-height: 1.25;
        transition: background-color 0.5s, color 0.5s;
    }

    .gNav .childNavList li>a:hover {
        background-color: var(--colorBlue);
        color: var(--colorWhite);
        opacity: 1;
    }

    /* ==============================
		side
	 ============================== */
    .sidebar {
        width: 25rem;
    }

    .sidebar .firstBunner {
        margin-bottom: 1rem;
    }

    .sidebar .treatmentTitle {
        padding: 1rem;
        background-color: var(--colorNavy);
        font-size: 2.4rem;
        font-weight: bold;
        color: var(--colorWhite);
        text-align: center;
    }

    .sidebar .treatmentList {
        margin-bottom: 1rem;
        border: 0.1rem solid var(--colorNavy);
        font-size: 1.8rem;
        font-weight: bold;
    }

    .sidebar .treatmentList li {
        border-bottom: 0.1rem dotted var(--colorNavy);
    }

    .sidebar .treatmentList li:last-of-type {
        border-bottom: none;
    }

    .sidebar .treatmentList li a {
        padding: 1rem;
        transition: background-color 0.5s, color 0.5s;
    }

    .sidebar .treatmentList li a:hover {
        background-color: var(--colorBlue);
        color: var(--colorWhite);
        opacity: 1;
    }

    .sidebar .treatmentList li.middleList a {
        padding: 1rem 1rem 1rem 2.5rem;
    }

    .sidebar .treatmentList li.long a {
        font-size: 1.6rem;
    }

    .sidebar .treatmentList li:not(.middleList) a:before {
        content: '\f04b';
        margin-right: 0.5rem;
        font-family: 'Font Awesome 6 Free';
        font-weight: 900;
        color: var(--colorRed);
    }

    .sidebar .accessList {
        margin-bottom: 1rem;
    }

    .sidebar .accessList li {
        margin-bottom: 1rem;
    }

    .sidebar .accessList li a {
        display: flex;
        justify-content: space-between;
        padding: 1rem;
        border-radius: 0.5rem;
        background-color: var(--colorBlue);
        color: var(--colorWhite);
    }

    .sidebar .accessList .imgBox {
        width: 5rem;
    }

    .sidebar .accessList .accessText {
        width: calc(100% - 6rem);
        position: relative;
        font-weight: bold;
    }

    .sidebar .accessList .accessText .explanation {
        font-family: var(--yumincho);
        font-size: 1.4rem;
        letter-spacing: -0.05rem;
    }

    .sidebar .accessList .accessText .explanation.long {
        font-size: 1.3rem;
    }

    .sidebar .accessList .accessText .areaTitle {
        width: 100%;
        padding-bottom: 0.5rem;
        border-bottom: 0.3rem solid var(--colorWhite);
        position: absolute;
        bottom: 0;
        font-size: 2rem;
    }

    .sidebar .privateRoomLink {
        margin-top: 1rem;
        border: 0.1rem solid var(--colorNavy);
        border-radius: 0.5rem;
        overflow: hidden;
    }

    .sidebar .privateRoomLink .privateRoomTitle {
        padding: 0.75rem;
        background-color: var(--colorNavy);
        font-size: 1.8rem;
        font-weight: bold;
        color: var(--colorWhite);
        text-align: center;
    }

    .sidebar .privateRoomLink .privateRoomText {
        padding: 5rem 0.5rem 0.5rem;
        background: url(/newimg/common/side/bg_privateRoom.webp) no-repeat center / auto 100%;
        position: relative;
        line-height: 1.25;
        font-size: 1.4rem;
        font-weight: bold;
        text-shadow: 0.1rem 0.1rem 0.1rem var(--colorWhite),
            -0.1rem 0.1rem 0.1rem var(--colorWhite),
            0.1rem -0.1rem 0.1rem var(--colorWhite),
            -0.1rem -0.1rem 0.1rem var(--colorWhite);
    }

    /* ==============================
		footer
	 ============================== */
    .commonFooter {
        margin-top: 2rem;
        padding-top: 1rem;
        background-color: var(--colorLightblue);
    }

    .commonFooter .footerMenu .footerMenuList {
        margin: 0 auto 2rem;
    }

    .commonFooter .footerMenu .footerMenuList>li {
        width: 20%;
        padding: 1rem;
        border-right: 0.1rem solid var(--colorBlack);
    }

    .commonFooter .footerMenu .footerMenuList>li:nth-of-type(odd) {
        margin-right: 0;
    }

    .commonFooter .footerMenu .footerMenuList>li:last-of-type {
        border-right: none;
    }

    .commonFooter .footerMenu .footerMenuList>li>a {
        padding: 0.75rem 0;
        background-color: transparent;
        font-size: 1.2rem;
        color: var(--colorBlack);
        text-align: left;
    }

    .commonFooter .footerMenu .footerMenuchild>li>a {
        padding: 0.75rem 0 0.75rem 1em;
        line-height: 1.25;
        font-size: 1.2rem;
        font-weight: bold;
        text-indent: -1em;
    }

    .commonFooter .footerMenu .footerMapList {
        margin-bottom: 2rem;
        display: flex;
        flex-wrap: wrap;
    }

    .commonFooter .footerMenu .footerMapList li {
        width: 32%;
        margin-bottom: 1.5rem;
        margin-right: 2%;
        font-weight: bold;
    }

    .commonFooter .footerMenu .footerMapList li:nth-of-type(3n) {
        margin-right: 0;
    }

    .commonFooter .footerMenu .footerMapList li:nth-last-of-type(-n + 2) {
        margin-bottom: 0;
    }

    .commonFooter .copyRight .copy {
        margin-top: 1rem;
        padding: 1rem;
        border-top: 0.1rem solid var(--colorWhite);
    }

    /* ==============================
		pcFixBtn
	 ============================== */
    #pcFixBtn {
        display: none;
    }

    /* ==============================
		mainContents
	 ============================== */
    .mainContents {
        width: 620px;
        margin: 0 auto;
    }

    /* --- imgHeadingWrap --- */
    .mainContents .imgHeadingWrap .mainContentsHeading.textHeading .mainContentsHeadingText .greenTitle {
        top: 1rem;
        font-size: 2.4rem;
    }

    .mainContents .imgHeadingWrap .mainContentsHeading.textHeading .mainContentsHeadingText .minchoTitle {
        top: 5.5rem;
        font-size: 6.4rem;
    }

    .mainContents .imgHeadingWrap .mainContentsHeading.textHeading .mainContentsHeadingText .minchoTitle span {
        font-size: 4rem;
    }

    .mainContents .imgHeadingWrap .mainContentsHeading.textHeading .mainContentsHeadingText .redTitle {
        top: 13.5rem;
        font-size: 2.4rem;
    }

    .mainContents .imgHeadingWrap .mainContentsHeading.textHeading .mainContentsHeadingText .blackTitle {
        bottom: 1rem;
        font-size: 2rem;
    }

    .mainContents .imgHeadingWrap .headingTel {
        justify-content: center;
    }

    .mainContents .imgHeadingWrap .headingTel .iconText {
        width: initial;
    }

    .mainContents .smoothTelBox .number {
        font-size: 3rem;
        font-weight: bold;
        color: var(--colorBlue);
        letter-spacing: -0.075rem;
        border: var(--colorDarkgray) 2px solid;
        padding: 1rem 3rem;
        border-radius: 3rem;
        margin-right: 1rem;
    }

    /* --- contentsToc --- */
    .contentsToc {
        font-size: 1.6rem;
    }

    /* --- ctaBtn_radiusShadow --- */
    .mainContents .ctaBtn_radiusShadow .btnText {
        width: 72%;
        font-size: 1.6rem;
    }

    .mainContents .ctaBtn_radiusShadow .btnText span {
        font-size: 2.6rem;
    }

    /* --- priceDl --- */
    .mainContents .priceDl:not(.priceWrap > .priceDl) dd.rangePrice {
        flex-direction: row;
        justify-content: flex-end;
        align-items: center;
        letter-spacing: -0.05rem;
    }

    .mainContents .priceDl:not(.priceWrap > .priceDl) dd.rangePrice .waveDash {
        margin: initial;
        writing-mode: initial;
    }

    /* --- new priceDl --- */
    .priceWrap .priceDl {
        display: grid;
        grid: auto-flow / minmax(0, 1fr) minmax(23rem, max-content);
    }

    .priceWrap .priceDl dt {
        padding: 1.5rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        text-align: left;
    }

    .priceWrap.combinationPrice .priceDl.total dt {
        align-items: center;
    }

    .priceWrap .priceDl dd {
        padding: 1.5rem 1rem;
        justify-content: flex-end;
        align-items: center;
    }

    .priceWrap .priceDl dt .priceTitle {
        font-size: 2rem;
    }

    .priceWrap .priceDl dt .priceText {
        font-size: 1.6rem;
    }

    .priceWrap .priceDl dd .priceNum {
        font-size: 3rem;
    }

    .priceWrap .priceDl dd .priceNum .range {
        min-width: 26.2rem;
        text-align: right;
    }

    .priceWrap .priceDl dd .priceUnit {
        margin-top: 0.75rem;
        font-size: 1.6rem;
    }

    .ccText {
        margin-bottom: -5rem;
        padding-left: 0;
        width: 92%;
    }

    .ccText1 {
        padding-left: 6.5rem;
    }

    /* --- feeBtn --- */
    .mainContents .feeBtn {
        width: 32rem;
        margin: 3rem auto;
        padding: 2rem 1rem;
        font-size: 1.8rem;
    }

    /* --- formWrap --- */
    /* error */
    .mainContents .formWrap .contact_form .isError td:has(input[type='checkbox']) {
        padding-top: 6.5rem;
    }
}

@media screen and (min-width: 1050px) {

    /* ==============================
		pcFixBtn
	============================== */
    #pcFixBtn {
        display: block;
        margin: auto;
        position: fixed;
        bottom: 0.5rem;
        left: 0.5rem;
        z-index: 99;
    }

    #pcFixBtn .pcFixList li {
        margin-bottom: 0.5rem;
    }

    #pcFixBtn .pcFixList li a {
        width: 10vh;
        max-width: 8rem;
        height: 10vh;
        max-height: 8rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background-color: var(--colorNavy);
        font-size: 1.4vh;
        font-weight: bold;
        color: var(--colorWhite);
    }

    #pcFixBtn .pcFixList li i {
        margin-bottom: 0.5rem;
        display: block;
        font-size: 4.4vh;
    }

    #pcFixBtn .pcFixList li.sns a {
        padding: 1rem;
        border: 0.1rem solid var(--colorGray);
        background-color: var(--colorWhite);
    }
}

/* ==============================
		consultationHours
	============================== */
.main-time {
    width: 100%;
    font-size: 1.4rem;
}

.main-time tr,
.main-time td,
.main-time th {
    border: 1px solid #000;
    text-align: center;
    border-collapse: collapse;
    vertical-align: middle;
    padding: 0.5rem;
}

.main-time tr,
.main-time td {
    width: 10%;
}

.main-time th {
    background-color: #eaf4fc;
}

.main-time th:first-child {
    background-color: #fff;
}

.main-time td:first-child {
    background-color: #ececec;
    width: 20%;
}

.mainContents .scheduleTit {
    color: var(--colorWhite);
    background-color: var(--colorNavy);
    text-align: center;
    padding: 1rem;
    font-size: 2rem;
    font-weight: bold;
}

.mb10 {
    margin-bottom: 1rem !important;
}

.mb40 {
    margin-bottom: 4rem;
}

.mt30 {
    margin-top: 3.5rem;
}

.mt10 {
    margin-top: 1rem !important;
}

.mt20 {
    margin-top: 2rem !important;
}

.taR {
    text-align: right;
}

.mainContents .noticeListD li {
    line-height: 1.25;
    font-size: 1.4rem;
}

@media screen and (min-width: 781px) {
    .mainContents .scheduleTit {
        font-size: 2rem;
    }

    .main-time tr,
    .main-time td,
    .main-time th {
        padding: 1rem;
    }

    .main-time {
        font-size: 1.6rem;
    }

    .mainContents .faqMarkup .faqText {
        display: flex;
    }

    .mainContents .faqMarkup.accordion .faqText {
        display: block;
        padding-left: 3rem;
        position: relative;
    }

    .mainContents .faqMarkup.accordion .faqText:before {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
    }
}