:root {
    --text-color: #003e6f;
}
.JPFont, .JPFont input, .JPFont textarea, .JPFont select, .JPFont *::placeholder { font-family:"Yu Gothic", YuGothic, 游ゴシック体, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif; /* font-feature-settings:initial; */ -webkit-font-smoothing:antialiased; }
.JPFont, h1, h2, h3, h4, h5, h6 { font-weight:500; color:var(--text-color); }
.Barlow { font-family: Barlow, sans-serif; }

.colorPink { color:#db499e; }

html { font-size:1px; }
@media (max-width:980px) {     /* TABLET */
    html { font-size:calc(1 / 980 * 100vw); }
}
@media (max-width:980px) {     /* TABLET */
    html { font-size:calc(1 / 375 * 100vw); }
}
@media (max-width:480px) {      /* MOBILE */
    html { font-size:calc(1 / 375 * 100vw); }
}

@media (max-width:980px) {      /* MOBILE */
    .pc { display:none; }
    span.tb, br.tb { display:none; }
    .sp { display:block; }
    span.sp, img.sp, br.sp { display:inline; }
}

body { background:transparent; }
.modContentBox { 
    max-width: 768rem; 
    margin-left:auto; 
    margin-right:auto; 
}

.modText { font-size:15rem; line-height:1.5em; }

.modNotes > p, .modNote { display:block; padding-left:1em; font-size:15rem; line-height:1.6em; text-align:left; }
.modNotes > p::before, .modNote::before { content:'\203b'; position:absolute; left:0; }

.modFormStep { margin-bottom:30rem; display:flex; font-weight:bold; overflow:hidden; height:50rem; }
.modFormStep > * { width:calc(1 / 3 * 100%); background:#eee; color:#fff; line-height:1.2; display:flex; justify-content:flex-start; padding-left:10rem; height:50rem; overflow:visible; }
.modFormStep > *:not(:first-child) { padding-left:40rem; }
.modFormStep>li:first-child { clip-path:polygon(92% 0, 100% 50%, 92% 100%, 0 100%, 0 0); position:absolute; left:0; width:36%; }
.modFormStep>li:nth-child(2)  { clip-path:polygon(0 0, 92% 0, 100% 50%, 92% 100%, 0 100%, 8% 50%); position:absolute; right:0; left:0; margin:auto; width:36%; transform:translateX(4%); }
.modFormStep>li:last-child { clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%, 9% 50%); position:absolute; right:0; width:33%; }
/* .modFormStep > *:not(:first-child)::before { content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); border:30rem solid transparent; border-left-width:24rem; border-left-color:#fff; }
.modFormStep > *:not(:last-child)::after { content:''; position:absolute; right:-44rem; top:50%; transform:translateY(-50%); border:25rem solid transparent; border-left-width:20rem; border-left-color:#eee; z-index:2; } */
.modFormStep > *.active { background:var(--text-color); }
.modFormStep > *.active:not(:last-child)::after { border-left-color:var(--text-color); }
.modFormStep .stepNum { display:flex; align-items:center; }
.modFormStep .step { font-size:10rem; line-height:1.4; padding-bottom:3rem; border-bottom:1px solid #fff; letter-spacing:0.1em; }
.modFormStep .num { font-size:24rem; letter-spacing:0.05em; margin-left:4rem; font-feature-settings: "palt"; }
.modFormStep .item { font-size:16rem;margin-left:4rem; }
@media (max-width:980px) {      
    /* MOBILE */
	.modFormStep {
		margin: 30rem 10rem;
		display: flex;
		font-weight: bold;
	}

	.modFormStep>* {
		width: calc(1 / 3 * 100%);
		background: #eee;
		color: #fff;
		line-height: 1.2;
		display: flex;
		justify-content: center;
		padding-left: 10rem;
		height: 50rem;
		overflow: visible;
		align-content: center;
		flex-direction: column;
	}

	.modFormStep>*:not(:first-child) {
		padding-left: 15rem;
	}

	.modFormStep>li:first-child {
		clip-path: polygon(84% 0, 100% 50%, 84% 100%, 0 100%, 0 0);
		width: 39%;
		padding-right: 21rem;
	}
	
	.modFormStep>li:nth-child(2)  {
		clip-path: polygon(0 0, 84% 0, 100% 50%, 84% 100%, 0 100%, 16% 50%);
		width: 39%;
		transform: translateX(9%);
		padding-right: 14rem;
	}
	
	.modFormStep>li:last-child {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 19% 50%);
		width: 32%;
	}

	/* .modFormStep>*:not(:first-child)::before {
		content: '';
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		border: 30rem solid transparent;
		border-left-width: 24rem;
		border-left-color: #fff;
	}

	.modFormStep>*:not(:last-child)::after {
		content: '';
		position: absolute;
		right: -45rem;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		transform: translate(100%, -50%);
		border: 25rem solid transparent;
		border-left-width: 20rem;
		border-left-color: #eee;
		z-index: 2;
	} */

	.modFormStep>*.active {
		background: var(--text-color);

	}

	.modFormStep>*.active:not(:last-child)::after {
		border-left-color: var(--text-color);
	}

	.modFormStep .step {
		font-size: 10rem;
		line-height: 1;
		padding-bottom: 0;
		margin-top: 3rem;
		border-bottom: none;
		letter-spacing: 0.1em;
	}

	.modFormStep .num {
		font-size: 20rem;
		letter-spacing: 0.05em;
		margin-left: 4rem;
		font-feature-settings: "palt";
	}

	.modFormStep .item {
		font-size: 12rem;
		margin-left: 0;
	}
}

/*
    FORM
*/
input, textarea, button, select { font-size:16rem; line-height:1.5; height:50rem; padding:0 30rem; border:none; color:#444; background:#fff; border-radius:0; }
input, textarea, select { border:1px solid var(--text-color); }
input { background:#dceff6; }
input:-webkit-autofill { transition:background-color 10000s ease-in-out 0s; box-shadow:0 0 0 1000px #fff inset; }
input.-optional { background:#f7f7f7; }
input.-active:not(.validateErrorItem){ box-shadow:0 0 0 1000px #fff inset!important; }
select { cursor:pointer; }
textarea { padding:20rem; height:100rem; background:#f7f7f7; }
textarea.-active{ box-shadow:0 0 0 1000px #fff inset!important; }
/* textarea, select { border:1px solid; } */
#counselingForm.confirm input,
#counselingForm.confirm textarea,
#counselingForm.confirm select { background:#fff; color:#000; border:1px solid; }
input::placeholder, textarea::placeholder { color:#888; }
input:not([type=file]) { /* border:none; */ box-shadow:none; }
input:not([type=file]):not([readonly]):focus, textarea:not([readonly]):focus, select:not([readonly]):focus { box-shadow:0 0 0 2rem var(--text-color); }
input[type=radio] { width:20rem; height:20rem; margin-right:10rem; border-radius:50%; border:1px solid #b4b4b4; background:#f4f4f4; }
input[type=radio]:checked::before { left:4rem; top:4rem; width:10rem; height:10rem; background-color:#003e6f; }
@media (max-width:980px) {      /* MOBILE */
    input, textarea, button, select { height:40rem; padding:0 15rem; }
    textarea { padding:10rem; height:90rem; }
    input::placeholder, textarea::placeholder { font-size:15rem; }
}


.LPForm .LPDatePickerTriger, .LPForm select { border:1px solid; /* background:#fff; */ background:#dceff6; padding-left:0.7em; }
.LPForm .LPDatePickerTriger.-optional, .LPForm select.-optional { background: #f7f7f7; }
.LPForm .LPDatePickerTriger.-activce, .LPForm select.-active { background: #fff; }
.LPForm .LPDatePickerTriger::placeholder, .LPForm .LPDatePickerTriger, .LPForm select { color:var(--text-color); font-weight:bold; }
.LPForm .LPDatePickerTriger::placeholder, .LPForm .LPDatePickerTriger, .LPForm select { color:var(--text-color); font-weight:bold; }
.LPForm .age input { width:150rem; margin-right:10rem; }
.LPForm .agree { text-align:center; padding:15rem; color:var(--text-color); font-weight:bold; font-size:17rem; }
.LPForm .agree input[type=checkbox] { border:3rem solid; background:#fff; }
.LPForm .agree input[type=checkbox]::before { left:8rem; top:14rem; }
.LPDatePicker { 
    background:#dceff6; 
    font-size: 16rem;
    line-height: 1.5em;
    text-align: left;
}
@media (max-width:980px) {      /* MOBILE */
    .LPForm { font-size:15rem; }
    .LPForm .formBox { border:none; }
    .LPForm .formIndex { border:none; }
    .LPForm .formIndex > *:first-child { width:100%; min-height:inherit; padding:15rem 35rem; }
    .LPForm .formIndex > *:not(:first-child) { width:100%; border:none; padding:15rem 35rem; }
    .LPForm .radioGroup { gap:12rem 30rem; align-items:flex-start; }
    .LPForm .radioGroup.column { flex-direction:column; }
    .LPForm .age input { width:100rem; }
    .LPDatePicker { 
        font-size: 15rem;
    }
}

.LPFormValidation .validateErrorMessage { background:rgba(219,73,158,.8); }
.LPFormValidation .validateErrorMessage::before { border-bottom-color:rgba(219,73,158,.8); }


/*
    HEADER
*/
header {
	display: flex;
	justify-content: flex-start;
	flex-wrap: nowrap;
	padding: 10rem;
	border-bottom: 1px solid;
}

header .headerFlex {
    display: contents;
}

header .logo {
	text-align: left;
	display: block;
}

header .logo h1.modText {
	font-size: 10rem;
	line-height: 1.2em;
}

header .logo figure {
	width: 272rem;
	padding: 5rem 0;
	margin-bottom: 2rem;
	border-bottom: 1px solid var(--text-color);
}

header .logo .toClinic {
	font-size: 12rem;
}

header .mainTitle {
	font-size: 18rem;
	margin-left: 62rem;
	white-space: nowrap;
}

header .banners {
    background: #F5F5F5;
    color: #fff;
    display: flex;
    flex-wrap: nowrap;
    white-space: nowrap;
    margin-left: auto;
    order: 2;
}

header .banners .hurryBox { 
    width: 65rem;
    height: 92rem;
    background: #333;
    display: flex;
}

header .banners .hurryBox::after {
    content: '';
    width: 0;
    height: 0;
    border-top: 8rem solid transparent;
    border-left: 8rem solid #333;
    border-bottom: 8rem solid transparent;
    position: absolute;
    top: 50%;
    right: -8px;
    transform: translateY(-50%);
}

header .banners .hurryBox .sp {
    display: none;
}

header .banners .telBox { 
    display: flex;
    flex-direction: column;
    margin-left: 10rem;
    padding-right: 10rem;
}

.header .banners .telBox .times .sp {
    display: none;
}

#counselingForm.confirm .banners {
	display: none;
}

#counselingForm.thanks .banners {
	display: none;
}

#counselingForm.error .banners {
	display: none;
}

@media (max-width:980px) {

	/* MOBILE */
	header {
		width: 100%;
		flex-direction: column;
		padding: 0;
	}

	header h1 {
		display: none;
	}

    header .headerFlex {
        display: flex;
        width: 100%;
        justify-content: space-between;
    }

	header .logo {
		width: 50%;
		padding: 10rem 15rem;
	}

	header .logo figure {
		width: 169rem;
		padding: 0;
		margin-bottom: 2rem;
		border-bottom: none;
	}

	header .alldays {
		font-size: 10rem;
		line-height: 1;
		font-weight: 700;
		margin-top: 8rem;
	}

    header .banners {
        order: 0;
        width: 45%;
        justify-content: space-between;
        margin-right: 5rem;
        padding: 0;
    }

	header .mainTitle {
		width: 100%;
		font-size: 18rem;
		line-height: 1.25em;
		background: #008bb6;
		color: #fff;
		margin: 0;
		padding: 15rem;
        white-space: normal;
	}

    header .banners .hurryBox {
        height: 40rem;
        width: auto;
        padding: 0 5rem;
    }
    header .banners .hurryBox .pc { 
        display: none;
    }
    header .banners .hurryBox .sp {
        display: block;
        font-size: 10rem;
        line-height: 1.1;
    } 
    header .banners .hurryBox::after {
        border-top: 4rem solid transparent;
        border-left: 4rem solid #333;
        border-bottom: 4rem solid transparent;
        right: -4px;
    }

    header .banners .telBox{
        margin-left: 5rem;
        padding-right: 5rem;
    }
    header .banners .telBox .times .pc {
        display: none;
    }
    header .banners .telBox .times .sp{
        display: block;
        background-color: #02254b;
        color: #fff;
        padding: 6rem 10rem;
        font-size: 10rem;
        border-radius: 99px;
        margin-bottom: 4rem;
    }
}



footer { padding:25rem 0 50rem; }
footer .copyright { font-size:12rem; line-height:1.5em; }
@media (max-width:980px) {      /* MOBILE */
    footer .copyright { font-size:11rem; }
}

/*  メインビジュアル
--------------------------------------------------*/
section.mainVisual { 
    background: #008bb6;
    padding: 10rem 0;
    margin-bottom: 30rem;
}
section.mainVisual figure {
    max-width: 768rem;
}
@media (max-width:980px) {     
    /* MOBILE */
    section.mainVisual {
        margin-bottom: 0;
        padding: 0;
    }
    section.mainVisual.-top { 
        height: 80rem;
        padding: 0 8rem;
        display: flex;
        margin-bottom: 0;
    }

    section.mainVisual.rebirth_bn {
        margin-bottom: 0;
    }
}

section.mainVisual.present { 
    width: 525rem;
    background: none;
    padding: 0;
    margin: 0 auto 30rem;
}
section.mainVisual.present img {
    width: 100%;
}
@media (max-width:980px) {     
    /* MOBILE */
    section.mainVisual.present { 
        display: block;
        width: auto;
        margin: 0 10rem 25rem;
    }
}

/*  再診・次回治療のご予約はこちら
--------------------------------------------------*/
section.reserveAgainBanner .border { display:flex; max-width:700rem; background:url(/img/common/bg_dot.png); padding:15rem; margin-bottom:25rem; }
section.reserveAgainBanner .title { font-size:30rem; line-height:1.5em; margin-bottom:12rem; font-weight:bold; font-feature-settings: "palt"; }
section.reserveAgainBanner .induction { display:flex; padding:8rem; background:rgba(255, 255, 255, 0.8); }
section.reserveAgainBanner .induction > * { font-size:12rem; line-height:1.4em; margin-right:1.5em; }
@media (max-width:980px) {      /* MOBILE */
    section.reserveAgainBanner { padding:0 25rem; }
    section.reserveAgainBanner .border { justify-content:flex-start; max-width:none; background:url(/img/common/bg_dot.png); padding:10rem; margin-bottom:12rem; }
    section.reserveAgainBanner .title { font-size:20rem; margin-bottom:10rem; }
    section.reserveAgainBanner .induction { justify-content:flex-start; padding:4rem; margin-right:24rem; }
    section.reserveAgainBanner .induction > * { font-size:12rem; line-height:1.4em; margin-right:0; }
    section.reserveAgainBanner .icon-arrow { font-size:14rem; font-weight:bold; position:absolute; right:10rem; top:50%; transform:translateY(-50%); color:#db499e; }
}
/*  カウンセリングの流れを見る
--------------------------------------------------*/
.modCounselingFlow  { 
    max-width: 768rem;
    margin: 0 auto 40rem;
}
.modCounselingFlow .title { 
    background: #f7ddec;
    color: #db499e;
	padding: 7rem;
	font-size: 17rem;
    line-height: 1.5em;
    display: flex;
    font-weight: bold;
}
.modCounselingFlow .title.LPAccordion { cursor:pointer; }
.modCounselingFlow .title.LPAccordion::before,
.modCounselingFlow .title.LPAccordion::after { 
    content: '';
    width: 15rem;
    height: 1px;
    background: #db499e;
    position: absolute;
    right: 15rem;
    top: 50%;
    transition: transform 0.5s;
} 
.modCounselingFlow .title.LPAccordion::after { transform:rotate(90deg); }
.modCounselingFlow .title.LPAccordion.open::after { transform:rotate(0deg); }
.modCounselingFlow .list { display:flex; width:calc(100% + 6rem); padding-top:25rem; counter-reset:number; }
.modCounselingFlow .list > * { width:calc(25% - 6rem); margin-right:6rem; background:#dceff6; height:180rem; padding:10rem 0; display:flex; flex-direction:column; justify-content:space-between; }
/* .modCounselingFlow .list > *:not(:first-child)::before { content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); border:14rem solid transparent; z-index:2; border-left-color:#fff; } */
/* .modCounselingFlow .list > *:not(:last-child)::after { content:''; position:absolute; right:-26rem; top:50%; transform:translateY(-50%); border:13rem solid transparent; z-index:3; border-left-color:#dceff6; } */
.modCounselingFlow .list > * img { height:auto; }
.modCounselingFlow .list > *:nth-child(1) img { width:69rem; }
.modCounselingFlow .list > *:nth-child(2) img { width:58rem; }
.modCounselingFlow .list > *:nth-child(3) img { width:51rem; }
.modCounselingFlow .list > *:nth-child(4) img { width:69rem; }
.modCounselingFlow .list p { font-size:15rem; line-height:1.1; min-height:2.2em; display:flex; }
.modCounselingFlow .list .number::before { content:counter(number); counter-increment:number; font-size:30rem; line-height:1;  }

.campaignBnner { 
    max-width: 768rem;
    margin: 0 auto 40rem;
}

.banners {
	background-color: #f7ddec;
	display: flex;
	padding-bottom: 10rem;
}
.banners .loginBox {
	background: #fff;
	width: 500rem;
	display: flex;
	flex-direction: column;
	font-size: 24rem;
	height: 75rem;
	font-weight: 600;
	border: 2px solid #003e6f;
    margin-bottom: 10rem;
}
.banners .loginBox .logo {
	width: 40%;
	margin-bottom: 5rem;
}
.banners .loginBox .icon {
	width: 24rem;
    height: auto;
    vertical-align: -4rem;
    margin-left: 0.5em;
}


@media (max-width:980px) {      
    /* MOBILE */
    .modCounselingFlow  { max-width:none; margin:0 25rem 25rem; }
    .modCounselingFlow .title { padding:7rem; font-size:15rem; }
	.modCounselingFlow .list {
		display: flex;
        gap: 6rem;
        width: 100%;
        padding-top: 25rem;
        counter-reset: number;
	}
    .modCounselingFlow .list > * { width:100%; margin-right:0; margin-bottom:3rem; height:60rem; padding:0 40rem; display:flex; flex-direction:row; justify-content:center; }
    .modCounselingFlow .list > *:not(:first-child)::before { left:50%; top:-1rem; transform:translateX(-50%); border:12rem solid transparent; border-top-color:#fff; }
    .modCounselingFlow .list > *:not(:last-child)::after { right:auto; left:50%; top:auto; bottom:-21rem; transform:translateX(-50%); border:11rem solid transparent; border-top-color:#dceff6; }
    .modCounselingFlow .list .number::before { 
        font-size:30rem; 
    }
    .modCounselingFlow .list p {  }
    .modCounselingFlow .list p { 
        order:2;
        font-size:14rem;
        line-height:1.1;
        min-height:2.2em;
        display:flex;
    }

    .modCounselingFlow .banners {
		padding-bottom: 0;
	}
	.modCounselingFlow .banners .loginBox {
		width: 300rem;
		font-size: 20rem;
	}
	.modCounselingFlow .banners .loginBox .logo {
	width: 50%;
	}

    .campaignBnner {
        max-width:none;
        margin: 30rem 10rem 0;
    }
}

.consultation_note {
	padding-bottom: 30rem;
	font-size: 15rem;
	line-height: 1.5em;
	font-weight: 500;
}

.consultation_note span {
	background-image: linear-gradient(transparent 50%, #ffd500 50%, #ffd500 90%, transparent 90%, transparent 100%);
}

@media (max-width:980px) {      
    /* MOBILE */
    .cautionary_s {
		font-size: 11rem;
		font-weight: 500;
		color: var(--text-color);
	}

	.cautionary_s>p {
		display: block;
		padding-left: 1em;
		text-align: left;
	}

	.cautionary_s>p::before {
		content: "※";
		position: absolute;
		left: 0px;
	}
}

/*  無料予約カウンセリングフォーム：入力
--------------------------------------------------*/
section.counselingForm .formBox .modNote { font-size:16rem; }
section.counselingForm .formBox .pdfReader { margin-left:12rem; }
section.counselingForm .formBox .pdfReader img { width:20rem; }
@media (max-width:980px) {      /* MOBILE */
    section.counselingForm .formBox .modNote { font-size:12rem; }
}

section.counselingForm .privacyPolicy { margin:30rem 25rem 0; }
section.counselingForm .privacyPolicy .index { margin-bottom:5rem; }
section.counselingForm .privacyPolicy .border { border:2px solid; padding:20rem; height:415rem; overflow-y:auto; }
section.counselingForm .privacyPolicy .title { font-weight:bold; text-align:center; margin-bottom:1em; margin-bottom:20rem; }
section.counselingForm .privacyPolicy .notice { margin-bottom:40rem; }
section.counselingForm .privacyPolicy dt { font-weight:600; margin-bottom:5rem; }
section.counselingForm .privacyPolicy dd { margin-bottom:40rem; }
section.counselingForm .privacyPolicy .modNotes { margin-top:20rem; }
section.counselingForm .privacyPolicy .table01 {display:table; border: 2px solid var(--text-color);}
section.counselingForm .privacyPolicy .table01 tr:not(:last-child) {border-bottom: 1px solid var(--text-color);}
section.counselingForm .privacyPolicy .table01 th {padding: 4px; text-align: center; vertical-align: middle; background-color: #eee;}
section.counselingForm .privacyPolicy .table01 th:not(:last-child) {border-right: 1px solid var(--text-color);}
section.counselingForm .privacyPolicy .table01 th:nth-child(1) {width: 20%;}
section.counselingForm .privacyPolicy .table01 th:nth-child(2) {width: 20%;}
section.counselingForm .privacyPolicy .table01 th:nth-child(3) {width: 20%;}
section.counselingForm .privacyPolicy .table01 td {padding: 4px; vertical-align: middle;}
section.counselingForm .privacyPolicy .table01 td:nth-child(1) {text-align: center;}
section.counselingForm .privacyPolicy .table01 td:nth-child(2) {text-align: center;}
section.counselingForm .privacyPolicy .table01 td:nth-child(3) {text-align: center;}
section.counselingForm .privacyPolicy .table01 td:not(:last-child) {border-right: 1px solid var(--text-color);}
section.counselingForm .privacyPolicy .table02 {display:table; border: 2px solid var(--text-color);}
section.counselingForm .privacyPolicy .table02 tr:not(:last-child) {border-bottom: 1px solid var(--text-color);}
section.counselingForm .privacyPolicy .table02 th {padding: 4px; text-align: center; vertical-align: middle; background-color: #eee;}
section.counselingForm .privacyPolicy .table02 th:not(:last-child) {border-right: 1px solid var(--text-color);}
section.counselingForm .privacyPolicy .table02 th:nth-child(1) {width: 30%;}
section.counselingForm .privacyPolicy .table02 td {padding: 4px; vertical-align: middle;}
section.counselingForm .privacyPolicy .table02 td:nth-child(1) {text-align: center;}
section.counselingForm .privacyPolicy .table02 td:not(:last-child) {border-right: 1px solid var(--text-color);}

@media (max-width:980px) {      /* MOBILE */
    section.counselingForm .privacyPolicy { margin-top:15rem; }
    section.counselingForm .privacyPolicy .border { border-width:1px; padding:10rem 15rem; height:212rem; font-size: 12rem; }
    section.counselingForm .privacyPolicy .table02 th:nth-child(1) {width: 40%;}
}

section.counselingForm .buttonBox { display:flex; flex-direction:column; background:#dceff6; padding:20rem; margin-top:30rem; }
section.counselingForm .buttonBox .attention { font-size:18rem; margin-bottom:20rem; }
section.counselingForm .buttonBox .button { font-size:18rem; width:500rem; height:50rem; display:flex; color:#fff; background:var(--text-color); cursor:pointer; position:relative; }
section.counselingForm .buttonBox .button::after { content:''; position:absolute; right:20rem; top:calc(50% - 1rem); width:12rem; height:12rem; border:2rem solid; border-left:none; border-bottom:none; transform-origin: right top;  transform:rotate(45deg); }
@media (max-width:980px) {      /* MOBILE */
    section.counselingForm .buttonBox { padding:25rem 0; margin-top:25rem; }
    section.counselingForm .buttonBox .attention { font-size:16rem; margin-bottom:5rem; }
    section.counselingForm .buttonBox .button { font-size:18rem; width:344rem; height:50rem; }
}

/*  無料予約カウンセリングフォーム：確認
--------------------------------------------------*/
section.counselingConfirm .pageTitle { background:#02254B; color:#fff; font-weight:bold; padding:15rem 14rem; font-size:20rem; line-height:1.6em; text-align:left; margin-bottom:30rem; }
section.counselingConfirm .buttonBox { text-align:center; margin-top:40rem; margin-bottom:40rem; }
section.counselingConfirm .buttonBox .attention { font-size:18rem; margin-bottom:30rem; }
section.counselingConfirm .buttonBox .buttons { display:flex; flex-direction:column; gap:32rem; }
section.counselingConfirm .buttonBox .button { font-size:18rem; width:500rem; height:60rem; display:flex; font-weight:bold; color:var(--text-color); background:#f4f4f4; position:relative; }
section.counselingConfirm .buttonBox .button[type=submit] { color:#fff; background:var(--text-color); border:none; cursor:pointer; }
section.counselingConfirm .buttonBox .button[type=submit]::after { content:''; position:absolute; right:20rem; top:calc(50% - 1rem); width:12rem; height:12rem; border:2rem solid; border-left:none; border-bottom:none; transform-origin: right top;  transform:rotate(45deg); }
@media (max-width:980px) {      /* MOBILE */
    section.counselingConfirm { padding-top:0; }
    section.counselingConfirm .pageTitle { padding:5rem 14rem; font-size:16rem; margin-bottom:12rem; }
    section.counselingConfirm .buttonBox { text-align:center; margin-top:20rem; margin-bottom:32rem; }
    section.counselingConfirm .buttonBox .attention { font-size:16rem; margin-bottom:25rem; }
    section.counselingConfirm .buttonBox .buttons { width:100%; padding:0 24rem;  gap:20rem; justify-content:center; }
    section.counselingConfirm .buttonBox .button { width:100%; height:50rem; }
}

/*  無料予約カウンセリングフォーム：完了
--------------------------------------------------*/
section.counselingThanks {  }
section.counselingThanks .modContentBox { max-width:1000rem; }
section.counselingThanks .titleBox {
	font-size: 26rem;
	letter-spacing: 0.1em;
	margin-bottom: 30rem;
	margin-top: 25rem;
}
section.counselingThanks .titleBox .underline { 
	display:inline;
	background:linear-gradient(to bottom, transparent 0%, transparent 60%, #ffff00 60%, #ffff00 100%);
}
section.counselingThanks .textBox { 
    max-width:800rem; 
    margin:0 auto 20rem; 
}
section.counselingThanks .modText { font-size:17rem; line-height:1.9em; }
section.counselingThanks .modText a { color:#008bb6; text-decoration:underline; }
section.counselingThanks .modText .hilight {
	font-size: 1.2em;
}
section.counselingThanks .modText.notice { margin-top:20rem; }
section.counselingThanks .modText.notice02 {
	margin-top: 10rem;
}
section.counselingThanks .modText.notice + .modText.notice { margin-top:10rem; }
section.counselingThanks .thanksTitle { padding:20rem 0; margin:50rem 0 40rem; font-size:22rem; line-height:1.6em; letter-spacing:-0.08em; background:#eee; font-weight:bold; }
section.counselingThanks .modCounselingFlow { width:600rem; }
section.counselingThanks .modCounselingFlow .list > * { width:calc(100% / 3 - 6rem); margin-right:6rem; background:#dceff6; height:180rem; padding:10rem 0; display:flex; flex-direction:column; justify-content:space-between; }
section.counselingThanks .modCounselingFlow .list > *:nth-child(2) img { width:66rem; }
section.counselingThanks .modCounselingFlow .list > *:nth-child(3) img { width:66rem; }
section.counselingThanks .modCounselingFlow .callCenterImage {  }
section.counselingThanks .modCounselingFlow .callCenterImage::before { content:'\e906' !important; font-size:50rem; line-height:1; font-family: 'aga-icons' !important; font-weight:normal; }
section.counselingThanks .button { width:500rem; margin:70rem auto; display:flex; font-size:18rem; font-weight:bold; background:#bbe2f1; cursor:pointer; padding: 20rem 30rem; }
section.counselingThanks .button .illust { position:absolute; right:15rem; top:-45rem; width:57rem; }

section.counselingThanks .button-inner {
	display: flex;
    gap: 10rem;
}
section.counselingThanks .button-inner span {
	line-height: 1;
	display: block;
}
section.counselingThanks .button-subtxt-area {
	display: flex;
	border: 1px solid #003e6f;
	margin-right: 25rem;
}
section.counselingThanks .button-subtxt {
	font-size: 15rem;
	padding: 3rem 5rem;
}
section.counselingThanks .button-subtxt--rev {
	background-color: #003e6f;
	color: #fff;
}

/*  20240717 追加　*/
.hilight {
	font-size: 24rem;
	color: #db499e;
}

@media (max-width:980px) {
	/* MOBILE */
	.hilight {
		font-size: 23rem;
	}
}

@media (max-width:980px) {      /* MOBILE */
    section.counselingThanks { padding:0 25rem; }
    section.counselingThanks .thanksTitle { 
        padding:5rem 20rem; 
        margin:25rem 0 20rem; 
        font-size:15.5rem; 
        text-align:left; 
    }
    section.counselingThanks .titleBox {
		font-size: 18rem;
		letter-spacing: 0.1em;
		margin-bottom: 20rem;
		margin-top: 25rem;
	}
    section.counselingThanks .textBox { margin-bottom:25rem; }
    section.counselingThanks .modText { font-size:15rem; line-height: 1.8em; }
    section.counselingThanks .modText.notice { margin-top:10rem; }
    section.counselingThanks .modText.freeDial { 
        text-align:left;
        font-size: 17rem;
    }
    section.counselingThanks .modCounselingFlow { 
        width:auto;
        margin: 0 0 25rem; 
    }
    section.counselingThanks .modCounselingFlow .list > * { 
		height: 160rem;
		margin-right: 0;
    }
    section.counselingThanks .modCounselingFlow .callCenterImage::before {
        font-size: 46rem; 
    }
    section.counselingThanks .modCounselingFlow .list > *:nth-child(2) img { 
        width: 60rem; 
    }
    section.counselingThanks .modCounselingFlow .list > *:nth-child(3) img {
        width: 72rem;
    }
    section.counselingThanks .button { width:100%; margin:30rem auto; font-size: 17rem; padding: 10rem; }
    section.counselingThanks .button .illust { right:14rem; top:-32rem; width:46rem; }

    section.counselingThanks .button .illust {
		right: 14rem;
		top: -32rem;
		width: 46rem;
	}
	section.counselingThanks .button-inner {
		display: flex;
		gap: 3rem;
	}	
	section.counselingThanks .button-subtxt-area {
		margin-right: 0;
	}	
	section.counselingThanks .button-subtxt {
		font-size: 12rem;
		padding: 3rem 5rem;
	}	
	section.counselingThanks .button-subtxt--rev {
		background-color: #003e6f;
		color: #fff;
	}
}

/*  無料予約カウンセリングフォーム：エラー
--------------------------------------------------*/
section.counselingThanks.error .modText { text-align:left; }
@media (max-width:980px) {      /* MOBILE */
    section.counselingThanks.error .thanksTitle { padding:5rem 10rem; }
}

/* 
mf 20231101 電話番号テキスト化対応 */
@media screen and (min-width: 981px) {
    .dialNumberArea{
        margin-top:10px;
    }
    .dialNumberArea span{
        font-size:20px;
        font-weight:bold;
        color:#02254b;
        margin-top:3px;
        }
    }
@media screen and (max-width: 980px) {
    .dialNumberArea span{
        /* font-size: clamp(17px, 13rem, 28px); */
        font-weight:bold;
        color:#02254b;
        margin-top: 0px;
        font-size: 12rem;
    }
    .dialNumberArea img{
        height: 12rem;
    }
}


.areaSelecter {
                            display: flex;
                            justify-content: flex-start;
                            gap: 8rem;
                            margin-bottom: 20px;
                        }
                        .areaSelecter > li {
                            width: calc((100% - 16rem) / 3);
                            height: 50rem;
                            border: 1rem solid;
                            display: flex;
                            transition: background 0.2s;
                            background: #fff;
                        }
                        .areaSelecter > li.selected {
                            background: var(--text-color);
                            color: #fff;
                        }
                        .areaSelecter > li:not(.selected):hover {
                            background: #f4f4f4;
                            cursor: pointer;
                        }

/* PC、SPの表示・非表示 */
.spVer {
	display: none;
}

@media only screen and (max-width:980px) {
	.pcVer {
		display: none;
	}

	.spVer {
		display: block;
	}
}


/*  202509 アンケートフォーム：入力
--------------------------------------------------*/
/* luckpeaks-form.cssの無効化 */
.enqueteForm .LPForm .formIndex { 
    display: block;
    border-bottom: none;
}
.enqueteForm .LPForm .formIndex:last-child { 
    border-bottom:none; 
}
.enqueteForm .LPForm .formIndex > *:first-child { 
    width: auto; 
    min-height: auto;
    padding: 0; 
    display: block; 
    justify-content:flex-start; 
    font-weight: bold; 
    background:#eee; 
}
.enqueteForm .LPForm .formIndex > *:first-child > * { 
    display:block; 
    padding-left: 0; 
}
.enqueteForm .LPForm .formIndex > *:first-child > *::before { 
    content: none; 
}
.enqueteForm .LPForm .formIndex.required > *:first-child > *::before { 
    content: none; 
}
.enqueteForm .LPForm .formIndex > *:not(:first-child) { 
    width: auto; 
    padding: 0; 
    border-left: none; 
    display: block;
    letter-spacing: normal; 
}
.enqueteForm .LPForm .formIndex > *:not(:first-child) > * ~ * { 
    margin-top: 0; 
}

.enqueteForm .leadText {
	font-size: 60rem;
	line-height: 1;
	font-weight: bold;
	padding-top: 30rem;
	padding-bottom: 40rem;
}
@media (max-width:980px) {      /* MOBILE */
    .enqueteForm .leadText {
        font-size: 33rem;
        padding-top: 30rem;
        padding-bottom: 30rem;
    }
}

.formBox.enquete {
	border: none;
}

.stepBox {
	background-color: #eeeeee;
    padding-bottom: 30rem;
}
.stepBox + .stepBox {
    margin-top: 60rem;
}
.stepBox:last-of-type {
    padding-bottom: 60rem;
}
.stepBoxInner {
	max-width: 800rem;
	margin-inline: auto;
    position: relative;
}
.stepBoxInner::after {
    content: "";
    display: block;
    background: url(img/form/step1-graph.png) no-repeat;
    background-size: contain;
    width: 142rem;
    height: 142rem;
    position: absolute;
    top: -30rem;
    right: -24rem;
}
.stepBox.-step02 .stepBoxInner::after {
    background-image: url(img/form/step2-graph.png);
}
.stepBox.-step03 .stepBoxInner::after {
    background-image: url(img/form/step3-graph.png);
}
.stepBox.-step04 .stepBoxInner::after {
    background-image: url(img/form/step4-graph.png);
}
.stepBox.-step05 .stepBoxInner::after {
    background-image: url(img/form/step5-graph.png);
}

.stepHeading {
    font-size: 80rem;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    padding-top: 20rem;
    padding-bottom: 25rem;
}

.stepQuestion {
    position: relative;
}
.stepQuestion::before {
    content: "";
    position: absolute;
    background: url(img/form/fusa.png) no-repeat;
    background-size: contain;
    width: 114rem;
    height: 206rem;
    top: -66rem;
    left: 25rem;
}
.stepQuestion .questionText {
    font-size: 30rem;
    font-weight: bold;
    position: relative;
    display: inline-block;
    margin-left: 150rem;
    padding: 30rem;
    border-radius: 15rem;
    background-color: #ffffff;
    width: 615rem;
    text-align: center;
}

.stepQuestion .questionText::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    border-style: solid;
    border-width: 10rem 10rem 10rem 0;
    border-color: transparent #ffffff transparent transparent;
    translate: -100% -50%;
}

.stepAnswer {
    margin-top: 62rem;
    width: 560rem;
    margin-inline: auto;
}

.stepAnswer .formIndex dt,
.stepAnswer .formIndex dd {
    font-size: 25rem;
    font-weight: bold;
}
.stepAnswer .formIndex dt {
    margin-bottom: 15rem;
}

.stepAnswer .formIndex input,
.stepAnswer .formIndex select {
    font-size: 25rem;
    font-weight: normal;
    height: 64rem;
    padding-left: 30rem;
    background-color: #fff;
}
.stepAnswer .formIndex input {
    border-color: #b2b2b2;
}
.stepAnswer .formIndex input[type="radio"] {
    height: 26rem;
    width: 26rem;
    padding-left: 0;
}
.stepAnswer .formIndex input[type=radio]:checked::before {
    width: 15rem;
    height: 15rem;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.stepAnswer .formIndex .select::after {
    width: 25rem;
    height: 25rem;
    right: 25rem;
    top: calc(50% - 18rem);
}

/* step01 クリニック */
.stepBox.-step01 .stepAnswer {
    width: 800rem;
}
.stepBox.-step01 .stepAnswer .formIndex dd {
    width: 100%;
}
.stepBox.-step01 .stepAnswer .formIndex .areaSelecter {
    font-size: 25rem;
    font-weight: bold;
    gap: 16rem;
    margin-bottom: 28px;
}
.stepBox.-step01 .stepAnswer .formIndex .areaSelecter > li {
    width: calc((100% - 32rem) / 3);
    height: 95rem;
}
.stepBox.-step01 .stepAnswer .formIndex select {
    background-color: #fff;
}
.stepBox.-step01 .stepAnswer .formIndex select.-active:not(.validateErrorItem) {
    background-color: #fff;
}

/* step02 性別・年齢 */
.stepBox.-step02 .stepAnswer .formIndex {
    display: flex;
    justify-content: flex-start;
    gap: 50rem;
    row-gap: 20rem;
}
.stepBox.-step02 .stepAnswer .formIndex dt {
    margin-bottom: 0;
    display: flex;
}
.stepBox.-step02 .stepAnswer .formIndex + .formIndex {
    margin-top: 60rem;
}
.stepBox.-step02 .stepAnswer .formIndex input#ageInput {
    width: 220rem;
}
.stepBox.-step02 #additionalInfo {
    margin-right: -20rem;
}

/* step04 予約希望日 */
.stepBox.-step04 .stepAnswer .formIndex input,
.stepBox.-step04 .stepAnswer .formIndex select {
    background-color: #dceff6;
    border-color: var(--text-color);
}
.stepBox.-step04 .stepAnswer .formIndex input::placeholder {
    font-weight: normal;
}
.stepBox.-step04 .stepAnswer .formIndex select.-active:not(.validateErrorItem) {
    background-color: #fff;
}
.stepBox.-step04 .stepAnswer .formIndex label + label {
    margin-top: 20rem;
}
.stepBox.-step04 .stepAnswer .formIndex + .formIndex {
    margin-top: 30rem;
}
.cancelBox {
    font-size: 16rem;
}

/* step05 ご連絡先 */
.stepBox.-step05 .stepAnswer .formIndex + .formIndex {
    margin-top: 30rem;
}

@media (max-width:980px) {      /* MOBILE */
    .stepBox {
        padding-bottom: 15rem;
    }
    .stepBox + .stepBox {
        margin-top: 30rem;
    }
    .stepBox:last-of-type {
        padding-bottom: 30rem;
    }
    .stepBoxInner::after {
        width: 76rem;
        height: 76rem;
        top: -15rem;
        right: 15rem;
    }
    .stepHeading {
        font-size: 43rem;
        padding-top: 10rem;
        padding-bottom: 20rem;
    }
    .stepQuestion::before {
        width: 61rem;
        height: 110rem;
        top: -30rem;
        left: 10rem;
    }
    .stepQuestion .questionText {
        font-size: 16rem;
        margin-left: 80rem;
        padding: 15rem;
        width: calc(100% - 90rem);
    }
    .stepQuestion .questionText::after {
        border-width: 5rem 5rem 5rem 0;
    }
    .stepAnswer {
        margin-top: 34rem;
        width: 300rem;
        padding: 0 15rem;
    }
    .stepAnswer .formIndex dt,
    .stepAnswer .formIndex dd {
        font-size: 14rem;
    }
    .stepAnswer .formIndex dt {
        margin-bottom: 8rem;
    }
    .stepAnswer .formIndex input,
    .stepAnswer .formIndex select {
        font-size: 16rem;
        height: 42rem;
        padding-left: 15rem;
    }
    .stepAnswer .formIndex input[type="text"] {
        padding-right: 15rem;
    }
    .stepAnswer .formIndex select {
        padding-right: 40rem;
    }
    .stepAnswer .formIndex input[type="radio"] {
        height: 14rem;
        width: 14rem;
    }
    .stepAnswer .formIndex input[type=radio]:checked::before {
        width: 8rem;
        height: 8rem;
    }
    .stepAnswer .formIndex .select::after {
        width: 13rem;
        height: 13rem;
        right: 15rem;
        top: calc(50% - 9rem);
    }

    /* step01 クリニック */
    .stepBox.-step01 .stepAnswer {
        width: 100%;
    }
    .stepBox.-step01 .stepAnswer .formIndex .areaSelecter {
        font-size: 14rem;
        gap: 6rem;
        margin-bottom: 15rem;
    }
    .stepBox.-step01 .stepAnswer .formIndex .areaSelecter > li {
        width: calc((100% - 12rem) / 3);
        height: 50rem;
    }

    /* step02 性別・年齢 */
    .stepBox.-step02 .stepAnswer {
        width: 270rem;
    }
    .stepBox.-step02 .stepAnswer .formIndex {
        gap: 20rem;
    }
    .stepBox.-step02 .stepAnswer .formIndex + .formIndex {
        margin-top: 30rem;
    }
    .stepBox.-step02 .stepAnswer .formIndex input#ageInput {
        width: 118rem;
    }
    .stepBox.-step02 #additionalInfo {
        margin-right: -40rem;
        margin-left: -40rem;
    }

    /* step04 予約希望日 */
    .stepBox.-step04 .stepAnswer .formIndex label + label {
        margin-top: 6rem;
    }
    .stepBox.-step04 .stepAnswer .formIndex + .formIndex {
        margin-top: 20rem;
    }
    .cancelBox {
        font-size: 15rem;
    }

    /* step05 ご連絡先 */
    .stepBox.-step05 .stepAnswer .formIndex + .formIndex {
        margin-top: 20rem;
    }
    .stepBox.-step05 .stepAnswer {
        width: 340rem;
    }

}

/* ボタン */
.btnContainer {
    text-align: center;
}
.nextBtn {
    background-color: #008bb6;
    font-size: 30rem;
    font-weight: bold;
    color: #fff;
    display: inline-flex;
    height: 93rem;
    width: 524rem;
    border-radius: 9999px;
    position: relative;
    margin-top: 50rem;
    cursor: pointer;
}
.nextBtn::after {
    content: "";
    display: block;
    background: url(img/form/arrow.svg) no-repeat;
    background-size: contain;
    width: 47rem;
    height: 15rem;
    position: absolute;
    top: 50%;
    right: 20rem;
    transform: translateY(-50%);
}
.nextBtn.-disabled {
    background-color: #b2b2b2;
    pointer-events: none;
}
.submitBtn {
    background-color: #008bb6;
    font-size: 30rem;
    font-weight: bold;
    color: #fff;
    height: 93rem;
    width: 524rem;
    border-radius: 9999px;
    position: relative;
    margin-top: 50rem;
    cursor: pointer;
}
.submitBtn::after {
    content: "";
    display: block;
    background: url(img/form/arrow.svg) no-repeat;
    background-size: contain;
    width: 47rem;
    height: 15rem;
    position: absolute;
    top: 50%;
    right: 20rem;
    transform: translateY(-50%);
}

@media (max-width:980px) {      /* MOBILE */
    .nextBtn {
        width: 280rem;
        height: 50rem;
        font-size: 16rem;
        margin-top: 30rem;
    }
    .nextBtn::after {
        width: 25rem;
        height: 10rem;
        right: 10rem;
    }
    .submitBtn {
        width: 280rem;
        height: 50rem;
        font-size: 16rem;
        margin-top: 20rem;
    }
    .submitBtn::after {
        width: 25rem;
        height: 10rem;
        right: 10rem;
    }
}

/* プライバシーポリシー */
.formBox.enquete .privacyPolicy {
    margin: 0;
    margin-top: 75rem;
}
.formBox.enquete .privacyPolicy .border {
    height: 335rem;
    background-color: #fff;
    border-width: 1px;
}
.formBox.enquete .privacyPolicy .index {
    font-size: 20rem;
    font-weight: bold;
    margin-bottom: 10rem;
}
.formBox.enquete .privacyPolicy .notice {
    font-size: 14rem;
}
.formBox.enquete .privacyPolicy dd {
    font-size: 14rem;
}
.formBox.enquete .privacyPolicy .privacyText {
    font-size: 16rem;
    margin-top: 10rem;
}
.formBox.enquete .privacyPolicy .modNotes > p {
    font-size: 14rem;
    text-align: center;
}
.formBox.enquete .privacyPolicy .modNotes > p::before {
    content: none;
}
.formBox.enquete .privacyPolicy .agree {
    font-size: 23rem;
    display: flex;
    margin-top: 25rem;
}

@media (max-width:980px) {      /* MOBILE */
    .formBox.enquete .privacyPolicy {
        margin-top: 20rem;
        padding: 0 15rem;
    }
    .formBox.enquete .privacyPolicy .border {
        height: 382rem;
    }
    .formBox.enquete .privacyPolicy .index {
        font-size: 12rem;
        margin-bottom: 0;
    }
    .formBox.enquete .privacyPolicy .notice,
    .formBox.enquete .privacyPolicy dd {
        font-size: 12rem;
    }
    .formBox.enquete .privacyPolicy .privacyText {
        font-size: 12rem;
        margin-top: 5rem;
    }
    .formBox.enquete .privacyPolicy .agree {
        font-size: 14rem;
        margin-top: 20rem;
    }
    
}


/*  202509 ヘッダー電話番号
--------------------------------------------------*/
header .banners {
    background-color: #fff;
}
.telWrapper {
    width: 268rem;
}
.times {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.times p {
    height: 23rem;
    display: flex;
    align-items: center;
    width: 100%;
    font-weight: bold;
}
.times p:nth-of-type(1) {
    font-size: 17rem;
    border-top: 1px solid #003e6f;
    color: #003e6f;
}
.times p:nth-of-type(2) {
    font-size: 14rem;
    background-color: #003e6f;
}
.dialNumberArea {
    display: flex;
    align-items: center;
    gap: 14rem;
    margin-top: 5rem;
}
.dialNumberArea p {
    font-size: 43rem;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 500;
    color: #003e6f;
}

@media (max-width:980px) {      /* MOBILE */
    header .banners {
        width: auto;
    }
    .telWrapper {
        width: 146rem;
    }
    .times p {
        height: 13rem;
    }
    .times p:nth-of-type(1) {
        font-size: 10rem;
    }
    .times p:nth-of-type(2) {
        font-size: 9rem;
    }
    .dialNumberArea {
        display: flex;
        align-items: center;
        gap: 10rem;
        margin-top: 5rem;
    }
    .dialNumberArea p {
        font-size: 22rem;
    }
}