@charset "utf-8";
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed,figure, figcaption, footer, header, hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video {
margin: 0;padding: 0;border: 0;font-style:normal;font-weight: normal;font-size: 100%;vertical-align: baseline;}
:root {
	--color-primary: #D30000 ;
	--color-secondary: #D65B74;
	--color-tertiary: #F3EEDD;
	--color-quaternary: #E1DCCD;
	--color-gray: #878787;
	--color-accent: #1585AE;
	--color-gray-400: #888b93;
	--color-gray-200: #d9d9d9;
	--color-gray-100: #EFEFEF;
	--color-text-black: #0a0a0a;
	--color-background-white: #f4f4f2;
}
body {
	font-family: "Noto Sans JP","Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	color: #111;letter-spacing: 0;font-feature-settings: "pkna" 1;font-kerning: auto;-webkit-font-smoothing: antialiased;background: var(--color-background-white);
}
html {font-size: 62.5%;}
ul ,ol {list-style: none;}
a:link ,a:visited {color: #111;text-decoration: none;}
img {width: auto;max-width: 100%;height: auto;vertical-align: bottom;}
main {display: block;}
*.sp {display: none;}
#tmp {
	position: fixed;bottom: 20px;left: 20px;z-index: 1000;
	background: rgba(255, 255, 255, .7);display: inline-block;
	padding: 3px 10px;border-radius: 8px;
	font-size: 1.2em;line-height: 1.4;font-weight: 600;letter-spacing: 0;
}
/* ドラッグ背景 */
::selection {background: #A0CCD1;color: #fff}
::-moz-selection {background: #A0CCD1;color: #fff}

.wrap {
	width: 1300px;margin: 0 auto;padding: 0 50px;
	box-sizing: border-box;position: relative;
}

footer {text-align: center;font-size: 1.2em;padding: 1em 0;}
main {margin: 120px 0 0;}
main section {padding: 100px 0;position: relative;}
.flex {display: flex;flex-wrap: wrap;}
.wrap .aside {width: 300px}

main.top {margin: 0}
.mincho ,
.mincho * {font-family: "Shippori Mincho", serif;}

section.back-img1::after ,
section.back-img2::after {
	content: "";width: 1000px;height: 795px;position: absolute;top: -240px;left: calc(50% - 500px);z-index: -1;
	background: url(../img/back/back01@2x.png) no-repeat center / 100%;
	mix-blend-mode: multiply;
}
section.back-img2::after {
	background: url(../img/back/back02@2x.png) no-repeat center / 100%;
}

section.col2 .wrap {
	display: flex;justify-content: space-between;flex-wrap: wrap;
}
section.col2 .text {
	width: 42%;position: relative;z-index: 10;
}
section.col2.therapist .text ,
section.col2.therapist .text {order: 2}
section.col2 .img {
	width: 50%;height: 100%;
}
section.col2 .img picture {position: relative;display: block}

section.col2 h2 {
	color: #73565C;
	font-size: 1.6rem;font-weight: 700;line-height: 200%;
}
section.col2 p.title {
	font-size: 3.6rem;line-height: 1.5;
	width: 130%;margin: 0 -30% 50px 0;
}
section.col2 p {
	font-size: 2rem;line-height: 2;
	margin: 0 0 40px;width: 100%;
}
section.col2 .img picture::before {
	content: "";width: 633px;height: 606px;position: absolute;top: 65px;left: 20px;
	background: url(../img/back/about_@2x.png) no-repeat center / 100%;
}
section.col2.therapist .img picture::before {
	width: 515px;height: 508px;top: 2px;left: -22px;
	background: url(../img/back/therapist_@2x.png) no-repeat center / 100%;
}
section.col2.therapy .back::after {
	content: "";width: 707px;height: 849px;position: absolute;top: 43px;left: calc(50% - 353px);
	background: url(../img/back/therapy_@2x.png) no-repeat center / 100%;
}
section.col2.therapy .back::before {
	content: "";width: 661px;height: 818px;position: absolute;top: 50px;left: calc(50% - 318px);
	background: url(../img/back/therapy@2x.png) no-repeat center / 100%;
}

header {
	width: 100%;padding: 50px;box-sizing: border-box;
	position: fixed;top: 0;left: 0;
	display: flex;justify-content: space-between;
}
header .logo span {font-size: 2rem;line-height: 1;}
header nav ul {
	display: flex;gap: 60px;
	font-size: 2rem;line-height: 1;
}
header nav ul {
	display: flex;gap: 60px;
}

main section.mv {
	padding: 0;
	height: 100svh;box-sizing: border-box;
}
section.mv .wrap {
	height: 100svh;box-sizing: border-box;
}
section.mv .wrap::before {
	content: "";width: 872px;height: 694px;position: absolute;top: calc(50svh - 347px);left: 0;
	mix-blend-mode: multiply;background: url(../img/back/back01@2x.png) no-repeat center / 100%;
	animation: fadeIn 1s 2.5s ease-in forwards;opacity: 0;
}
section.mv p.lead {
	position: absolute;top: calc(50% - 1.5em);right: 0;
	font-size: 6.4rem;line-height: 1.5;
}
section.mv p.lead span {
	display: block;opacity: 0;
	animation: fadeIn 2s ease-in forwards;
}
section.mv p.lead span:nth-of-type(2) {
	animation: fadeIn 2s 1.5s ease-in forwards;
}

section.therapist .text ul {
	display: flex;flex-wrap: wrap;gap: 10px 0;
	margin: 50px 0 0;
}
section.therapist .text ul li {
	width: 50%;
	font-size: 1.6rem;line-height: 1.3;
}

main section.therapy {padding: 100px 0 200px}
section.therapy .back {padding: 250px 0 0}
section.therapy .back h3 ,
section.therapy .back ul {position: relative;z-index: 1}
section.therapy .back h3 {
	color: #7B7039;text-align: center;
	font-size: 2rem;font-weight: 700;line-height: 1.3;
	width: 350px;margin: 0 auto 30px;
}
section.therapy .back ul {
	display: flex;flex-direction: column;gap: 15px;
	font-size: 2rem;line-height: 1.4;color: #7B7039;
	width: 350px;margin: 0 auto;
}
section.therapy .back ul li {padding: 0 0 0 1.3em;position: relative}
section.therapy .back ul li::before {content: "・";position: absolute;top: 0;left: 0}
section.col2 .big {
	width: 100%;height: 550px;margin: 250px 0 0;padding: 88px 80px 64px;box-sizing: border-box;
	background: #fff;border-radius: 50px;position: relative;
	writing-mode: vertical-rl;text-orientation: upright;
}
section.col2 .big::after {
	content: "";width: 100%;height: 100%;position: absolute;top: 0;left: 0;
	background: #D8D8C7;border-radius: 50px;z-index: -1;transform: rotate(-2.992deg);
}
section.col2 .big p {
	width: auto;margin: 0 0 0 2em;
	letter-spacing: .43em;
}
section.col2 .big h3 {
	font-size: 2rem;font-weight: 700;
	margin: 0 0 0 60px;
}

section.flow h2 {
	font-size: 3.6rem;
	text-align: center;
}
section.flow ol {
	display: flex;gap: 25px;
}
section.flow ol li {
	width: 220px;
}
section.flow ol .box {
	width: 220px;height: 220px;border-radius: 20px;
	background: #fff;
}

section.price h2 {
	color: #73565C;font-size: 1.6rem;font-weight: 700;text-align: center;
}
section.price p.title {
	font-size: 3.6rem;text-align: center;
}
section.price dl {
	font-size: 2rem;
	text-align: center;
}

section.question h2 {
	color: #73565C;font-size: 1.6rem;font-weight: 700;
}
section.question dl {
	font-size: 2rem;margin: 30px 0 0;
}
section.question dl dd {
	margin: 0 0 30px;
}
section.question dl dt::before {content: "Q."}
section.question dl dd::before {content: "A."}

/* 画像コンテナ */
.clip-container {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.clipped-image {
	width: 100%;height: 100%;
	object-fit: cover;clip-path: url(#organic-shape);
	animation: fadeIn 1s ease-in;
}
.clip-svg {/* SVGは非表示（クリップパス定義のみ使用） */
	position: absolute;
	width: 0;height: 0;
	pointer-events: none;
}
@keyframes fadeIn {
	from {opacity: 0;}
	to {opacity: 1;}
}
@keyframes morphShape {
	0%, 100% {
		d: path("M238.441 605.796C237.333 605.796 236.226 605.796 235.118 605.774C154.337 604.476 100.976 553.987 70.4392 511.868C9.69446 428.076 -15.3458 303.037 9.5304 207.81C39.8002 91.9063 147.426 4.68582 265.429 0.405715C381.812 -3.78921 478.61 24.5106 561.401 86.9661C600.797 116.693 624.217 155.767 631.005 203.125C639.762 264.197 619.479 334.02 575.326 394.729C537.427 446.857 483.347 498.729 426.95 537.059C380.582 568.574 310.506 605.817 238.441 605.817V605.796ZM235.159 603.645C307.819 604.795 378.962 567.104 425.822 535.249C482.014 497.047 535.909 445.366 573.685 393.43C617.49 333.189 637.649 263.941 628.975 203.423C622.268 156.661 599.115 118.034 560.191 88.6696C477.79 26.5122 381.381 -1.65981 265.491 2.53512C148.37 6.77264 41.5639 93.333 11.4992 208.363C-13.2335 302.994 11.6837 427.288 72.0798 510.59C102.35 552.326 155.199 602.367 235.159 603.645Z");
	}
	50% {
		d: path("M248.441 605.796C247.333 605.796 246.226 605.796 245.118 605.774C164.337 604.476 110.976 553.987 80.4392 511.868C19.69446 428.076 -5.3458 303.037 19.5304 207.81C49.8002 91.9063 157.426 4.68582 275.429 0.405715C391.812 -3.78921 488.61 24.5106 571.401 86.9661C610.797 116.693 634.217 155.767 641.005 203.125C649.762 264.197 629.479 334.02 585.326 394.729C547.427 446.857 493.347 498.729 436.95 537.059C390.582 568.574 320.506 605.817 248.441 605.817V605.796ZM245.159 603.645C317.819 604.795 388.962 567.104 435.822 535.249C492.014 497.047 545.909 445.366 583.685 393.43C627.49 333.189 647.649 263.941 638.975 203.423C632.268 156.661 609.115 118.034 570.191 88.6696C487.79 26.5122 391.381 -1.65981 275.491 2.53512C158.37 6.77264 51.5639 93.333 21.4992 208.363C-3.2335 302.994 21.6837 427.288 82.0798 510.59C112.35 552.326 165.199 602.367 245.159 603.645Z");
	}
}


main.entry .outline {
	background: #fafafa;padding: 50px 50px 1px;margin: 0 0 30px;border-radius: 10px;
	position: relative;box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.10);
}
main.entry .outline span.title {
	font-size: 16px;line-height: 1;
	background: #fafafa;padding: 0 1rem 0 0;
	display: inline-block;margin: 0 0 30px;position: relative;z-index: 1;
}
main.entry .outline::after {
	content: "";width: calc(100% - 100px);height: 1px;
	position: absolute;top: calc(50px + .7em);left: 50px;z-index: 0;
	background: #d9d9d9;
}
main.entry .outline input {display: none}
main.entry .outline li {margin: 0 0 20px;background: none;padding: 0;line-height: 1;font-size: 1rem;}
main.entry .outline li a {color: #111;text-decoration: underline;font-weight: 500;line-height: 1.2;font-size: 1.6em;transition: color .3s;}
main.entry .outline li a:hover {color: #009FDE;transition: color .2s;}
main.entry .outline ul ul {margin: 20px 0}
main.entry .outline ul ul li {margin: 0 0 10px 1.2rem;padding: 0;}
main.entry .outline ul li::before ,
main.entry .outline ul li::after {display: none;}
main.entry .outline ul ul li a {
	font-size: 1.4rem;font-weight: 400;
}

/* 見出し */
.entry_main h2 {
	font-size: 2.6em;line-height: 1.23;font-weight: 700;color: #fff;
	margin: 80px 0 30px;padding: 15px 20px 13px;background: #111;border-radius: 10px;
}
.entry_main h3 {
	font-size: 2.2em;line-height: 1.23;font-weight: 900;
	margin: 80px 0 30px;padding: 0 0 6px;position: relative;
}
.entry_main h3::before {
	content: "";width: 100%;height: 3px;background: #111;
	position: absolute;bottom: 0;left: 0;
}
.entry_main h4 {
	font-size: 1.8em;line-height: 1.23;font-weight: 700;
	margin: 60px 0 30px;padding: 0 0 0 10px;position: relative;
}
.entry_main h4::before {
	content: "";width: 2px;height: 100%;background: #111;
	position: absolute;top: 0;left: 0;
}

/* 本文 */
.entry_main p {
	font-size: 1.6em;line-height: 2;
	margin: 0 0 30px;
}
.entry_main strong {font-weight: 700}
.entry_main em {font-style: italic}
.entry_main mark.marker {
	line-height: 1.3;
	display: inline;padding: .05em .2em;background: #BAFFED;
	background:linear-gradient(transparent 60%, #BAFFED 60%);
}
.entry_main mark.small {
	background: none;font-size: 1.2rem;
}
.entry_main a:link ,
.entry_main a:visited {
	color: #ED324C;text-decoration: underline;
}
/* 背景本文 */
.entry_main .grey-back {
	background: #F7F7F7;border-radius: 10px;padding: 20px;
}
.entry_main .grey-back p:last-child {
	margin: 0;font-size: 1.4em;
}

/* 画像 */
.entry_main figure.wp-block-image {
	margin: 0 0 30px;
}
.entry_main figure.wp-block-image figcaption {
	font-size: 1.1em;padding: .5em;background: #fafafa;
	margin: 0;
}
/* リスト */
.entry_main ol ,
.entry_main ul {list-style: none;margin: 0 0 50px;}
.entry_main ol ol ,
.entry_main ul ul {margin: 20px 0 25px;}
.entry_main li {
	font-size: 1.4rem;line-height: 1.6;
	position: relative;padding: 0 0 0 1.4em;margin: 0 0 15px;
}
.entry_main ul li:before {
	content: "";width: 10px;height: 10px;border-radius: 50%;background: #eee;
	position: absolute;left: 0;top: .3em;
}
.entry_main ol {counter-reset: li2;}
.entry_main ol li:before{
	text-align: center;font-weight: 500;line-height: 1;letter-spacing: 0;
	font-size: 1rem;padding: .2em .1em 0;
	color: #fff;background: #000;border-radius: 50%;
	position: absolute;top: .4em;left: 0;width: 1.2em;height: 1.2em;
	counter-increment: li2;content: counter(li2);
}
/* カスタムHTML */
.entry_main iframe{
	max-width: 100%;
	margin: 0 0 50px;
}
/* リンクボタン */
.linkBtn {margin: 0 0 30px}
.linkBtn a:link ,
.linkBtn a:visited {
	display: block;position: relative;background: #0091D8;border-radius: 5px;
	font-size: 14px;line-height: 1;padding: 20px 70px 20px 20px;
	color: #fff;text-decoration: none;font-weight: 700;
}
.linkBtn a::after {
	content: "";width: 20px;height: 14px;position: absolute;top: -100%;bottom: -100%;right: 30px;
	background: url(../img/icon/arrow03.svg) no-repeat center / 100%;margin: auto 0;pointer-events: none;
}
/* テーブル */
.entry_main figure.wp-block-table {margin: 0 0 50px;}
.entry_main table {
	border: none;width: 100%;line-height: 1.3;margin: 0 0 30px;
	font-size: 1.4em;border-collapse: collapse;vertical-align: middle;
}
.entry_main table td ,
.entry_main table th {
	border: solid 4px #fff;padding: 20px 20px 19px;
	background: #F7F7F7;font-weight: 500;
}
.entry_main figure.wp-block-table table {margin: 0}
.entry_main figure.wp-block-table table tr td:nth-of-type(1) ,
.entry_main figure.wp-block-table table th {
	background: #F0F0E9;font-weight: 700;
}
.entry_main figure.wp-block-table table thead + tbody tr td:nth-of-type(1) {
	background: #F7F7F7;font-weight: 500;
}







