@charset "utf-8";

:root {
    /* Colors */
    --col_white: #ffffff;
    --col_yellow: #ffe72f;
    --col_black: #111111;
    --col_gray: #eeeeee;
    --col_blue1: #3a3ab6;
    --col_purple2: #9696d4;
    --col_lightpurple: #e9eaff;
    --col_red: #ab0001;

    /* Theme Semantic Colors */
    --primary-color: #7c7cca;
    --secondary-color: #e9eaff;
    --menu-body: var(--primary-color);
    --read-bg: var(--secondary-color);
    --font-normal: var(--col_black);
    --font-main: var(--col_blue1);

    /* Font Families */
    --font-yu-gothic: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    --font-yu-noto: "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", sans-serif;

    /* Font Sizes */
    --h2_fontsize_small: min(36px, calc(calc(36/750) * 100vw));
    --h2_wide_fontsize: min(45px, calc(calc(45/750) * 100vw));
    --h2_mdl_fontsize: clamp(18px, calc(calc(30/750)*100vw), 30px);
    --em_fontsize: clamp(17px, calc(calc(33/750)*100vw), 33px);
    --p_wide_fontsize: clamp(14px, calc(calc(25/750)*100vw), 25px);

    /* Spacers */
    --sp-h-read: clamp(16px, calc(calc(33/750)*100vw), 33px);
    --sp-h-read_s: clamp(11px, calc(calc(21/750)*100vw), 21px);
    --sp-h-read_mdl: clamp(40px, calc(calc(80/750)*100vw), 80px);
    --sp-h-read_h57: clamp(27px, calc(calc(57/750)*100vw), 57px);

    /* Standard Elements */
    --p_col: var(--col_black);
}


/* 以下個別CSS */

@media only screen and (max-width: 767px) {
	strong.mv_small {
		color: rgba(56, 56, 56, 1.00);
	}

	strong.mv_small {
		line-height: 23px;
	}

	strong.mv_small {
		font-size: 14px !important;
	}
}

/* 20241206　PCをSP合わせ */
*+.heading {
	margin-top: 2em;
}



/* ====================================================================================
LPリデザイン 20250220～
==================================================================================== */

/*------
 * 大見出し（H2)
 *------*/

h2.menu_underline {
	font-size: var(--h2_wide_fontsize);
	color: var(--font-main);
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.055em;
	/*av55/1000*/
	width: 100%;
	text-align: center;
	position: relative;
	/* 相対位置を設定 */
	display: block;
	/* インラインブロックにする */
}

h2.title,
h2.title_underline {
	font-size: min(45px, calc(calc(45/750) * 100vw));
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: max(-1px, calc(-1 * (calc(1/750) * 100vw)));
	width: 100%;
	text-align: center;
	position: relative;
	/* 相対位置を設定 */
	display: inline-block;
	/* インラインブロックにする */
	color: var(--font-normal);
}

h2.title_underline {
	padding-bottom: min(13px, calc(calc(13/750)*100vw));
}

h2.menu_underline::after,
h2.title_underline::after {
	content: '';
	/* 擬似要素の内容 */
	position: absolute;
	/* 絶対位置で配置 */
	left: 0;
	/* 左端に配置 */
	bottom: 0;
	/* 下に配置 */
	width: 50%;
	/* 幅を50%に設定 */
	height: 2px;
	/* アンダーラインの高さ */
	background-color: var(--font-main);
	/* アンダーラインの色 */
}

h2.menu_underline::before,
h2.title_underline::before {
	content: '';
	/* 擬似要素の内容 */
	position: absolute;
	/* 絶対位置で配置 */
	right: 0;
	/* 右端に配置 */
	bottom: 0;
	/* 下に配置 */
	width: 50%;
	/* 幅を50%に設定 */
	height: 2px;
	/* アンダーラインの高さ */
	background-color: rgb(155, 15, 15);
	/* アンダーラインの色 */
}

h2.title small {
	font-size: var(--h2_fontsize_small);
	/*  padding-bottom: clamp(6px,calc(calc(13/750)*100vw),13px);*/
	line-height: 1.3;
}

h2.title_underline.fontwide,
h2.title.fontwide {
	font-size: var(--h2_wide_fontsize);
}

h2.title.fontwide bold {
	font-weight: bold;
}

span.line-chunk {
	display: inline-block;
}


/*----------------------------
 *	spacer                     
 *----------------------------*/
.spacer_read,
.spacer_read_mdl,
.spacer_read_s,
.spacer_read_h57 {
	width: 100%;
	background: none;
}

.spacer_read {
	height: var(--sp-h-read);
}

.spacer_read_s {
	height: var(--sp-h-read_s);
}

.spacer_read_mdl {
	height: var(--sp-h-read_mdl);
}

.spacer_read_h57 {
	height: var(--sp-h-read_h57);
}



/*記事読み物*/

section[data-type="contents_read"] .spacer_line_head {
	width: 100%;
	aspect-ratio: 670/40;
}

section[data-type="contents_read"] .spacer_line_heads {
	width: 100%;
	aspect-ratio: 670/20;
}

section[data-type="contents_read"] .spacer_sec {
	width: 100%;
	aspect-ratio: 670/82;
}



/*------
 * 読みものコンテンツ
 *------*/

/* FV下 */
section[data-type="contents_head"] {
	width: 100%;
	max-width: 750px;
	background-color: var(--col_white);
	margin: 0 auto;
}

section[data-type="contents_read"] {
	width: 100%;
	max-width: 750px;
	background-color: var(--read-bg);
	margin: 0 auto;
}

section[data-type="contents_read"].white {
	background-color: white;
}

section[data-type="contents_read"] h2.title {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	background-color: var(--menu-body);
	color: white;
	aspect-ratio: 750/200;
}

section[data-type="contents_read"] h2.title.white {
	background-color: white;
	color: var(--font-normal);
}

section[data-type="contents_read"] h2.title.fontwide {
	font-size: var(--h2_wide_fontsize);
	letter-spacing: 0.05em;
	line-height: 1.57;
}

section[data-type="contents_read"] h3 {
	font-size: var(--h2_mdl_fontsize);
	font-weight: bold;
	/*  color: var(--font-main);*/
	letter-spacing: 0.05em;
	line-height: 1.65;
	text-align: center;
	word-break: auto-phrase;
}


section[data-type="contents_read"] h3.title {
	color: var(white);
}



/* 全幅100% MAX無,余白:左右40px */
section[data-type="cta_ptn1"] .wrap,
section[data-type="contents_read"] .wrap {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 0 clamp(10px, calc(calc(40/750)*100vw), 40px);
	box-sizing: border-box;
}

/* 全幅100% MAX670,余白:なし */
section[data-type="contents_read"] .wrap_noframe {
	width: 100%;
	max-width: 670px;
	box-sizing: border-box;
}

section[data-type="contents_read"] .wrap_noframe {
	padding: 0;
}


section[data-type="contents_read"] p:not(.headeffect_yeah_blue),
section[data-type="contents_read"] li {
	font-size: min(36px, calc(calc(36/750) * 100vw));
	font-weight: bold;
	line-height: 1.78;
	color: var(--p_col);
	text-align: left;
	letter-spacing: 0;
}

#faq p {
	font-weight: 500;
}

section[data-type="contents_read"] span {
	font-size: inherit;
	/*
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 2;
	color: var(--p_col);
	text-align: left;
	letter-spacing: 0.03em;
	*/
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	text-align: inherit;
	letter-spacing: inherit;
}

section[data-type="contents_read"] li {
	display: flex;
	flex-wrap: none;
	justify-content: flex-start;
	align-items: flex-start;
	width: 100%;
}

section[data-type="contents_read"] li:not(:last-child) {
	aspect-ratio: 670/120;
}


section[data-type="contents_read"] p.fontwide {
	font-size: var(--p_wide_fontsize);
	letter-spacing: 0.04em;
}

/*お気軽にご予約ください*/


section[data-type="contents_read"] span {
	color: var(--font-main);
	font-weight: bold;
	letter-spacing: 0.05em;
}


section[data-type="contents_read"] p em {
	font-size: var(--em_fontsize);
	font-weight: bold;
	color: var(--font-main);
}




/* lp-mental2用 
===================================================================== */

/* CTA装飾変更 */
section[data-type="cta_ptn1"] {
	background: #fff;
	border: 1px solid #7C7CCA;
	border-radius: min(10px, calc(calc(10/750) * 100vw));
}


/* Q&A追記 */
.toggle_contents dt,
.toggle_contents dd li {
	box-sizing: border-box;
}

.toggle_contents dd li {
	display: block;
}

/* アコーディオン部分 */
.gap_20 {
	gap: min(20px, calc(20 / 750 * 100vw));
}


.frames_basic__wrap,
.frames_basic__wrap a {
	width: -webkit-fill-available;
	width: -moz-available;
	width: stretch;
	overflow: visible;
}

.frames_basic,
.frames_basic__wrap,
.frames_basic__wrap a {
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	width: 100%;
	max-width: 750px;
	box-sizing: border-box;
}

.toggle_contents.no_icon__no_toggle {
	border: none;
}

.no_icon__no_toggle .toggle_title {
	left: 0;
}

.no_icon__no_toggle .toggle_title {
	background: none;
	padding: 0;
}

.toggle_contents dt,
.toggle_contents dd li {
	box-sizing: border-box;
}

.frames_basic__wrap,
.frames_basic__wrap a {
	width: -webkit-fill-available;
	width: -moz-available;
	width: stretch;
	overflow: visible;
}

.frames_basic,
.frames_basic__wrap,
.frames_basic__wrap a {
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	width: 100%;
	max-width: 750px;
	box-sizing: border-box;
}

.no_icon__no_toggle .toggle_btn,
.no_icon__no_toggle .toggle_btn:before,
.no_icon__no_toggle .toggle_btn:after {
	display: none;
}

.no_icon__no_toggle .toggle_title {
	left: 0;
}

.no_icon__no_toggle .toggle_title {
	background: none;
	padding: 0;
}

.no_icon__no_toggle .toggle_bgc {
	background: none;
	display: none;
}

.toggle_contents.no_icon__no_toggle ul {
	margin-left: 0;
}

.toggle_contents.no_icon__no_toggle li {
	background: none;
	padding: 0;
}

.toggle_contents dd li {
	display: block;
}

.toggle_contents dt,
.toggle_contents dd li {
	box-sizing: border-box;
}

section#charalist img.ttl {
	display: block;
	position: relative;
	z-index: 0;
}

section#charalist .cta {
	padding: min(40px, calc(40 / 750 * 100vw)) min(30px, calc(30 / 750 * 100vw));
}

.frames_basic__wrap,
.frames_basic__wrap a {
	width: -webkit-fill-available;
	width: -moz-available;
	width: stretch;
	overflow: visible;
}

.frames_basic,
.frames_basic__wrap,
.frames_basic__wrap a {
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	width: 100%;
	max-width: 750px;
	box-sizing: border-box;
}

/* ハンバーガーメニュー */

.nav_header {
	background-color: #fff !important;
}

nav li:has(.cta) {
	padding: min(50px, calc(50 / 750 * 100vw)) min(30px, calc(30 / 750 * 100vw)) min(50px, calc(50 / 750 * 100vw)) min(30px, calc(30 / 750 * 100vw));
	border-bottom: none;
}

@media screen and (min-width: 641px) {
	header .head__menu {
		width: calc(100% + 1px);
	}
}

header .head__menu-inner {
	margin-top: 0;
}

header .head__menu__item {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	position: relative;
	background-color: #F8F9FF;
}

header .head__menu__item a {
	display: flex;
	align-items: center;
	width: 100%;
	padding: min(20px, calc(calc(20 / 750) * 100vw));
	font-weight: 600;
}

.head__menu__list li::after {
	content: '';
	display: block;
	width: min(20px, calc(20/750 * 100vw));
	height: min(20px, calc(20/750 * 100vw));
	border-top: 2px solid #334e96;
	border-right: 2px solid #334e96;
	transform: rotate(45deg);
	margin-right: min(30px, calc(30/750 * 100vw));
	flex-shrink: 0;
}

header .head__menu__item a span {
	font-size: min(32px, calc(32 / 750) * 100vw);
	color: #3A3AB6;
	font-family: var(--font-yu-gothic);
}

.lp_humberger-nav.opened {
	background-color: #F8F9FF;
}

.lp_humberger-nav ul {
	background: #F8F9FF;
	padding-bottom: min(50px, calc(50 / 750 * 100vw));
}

.lp_humberger-nav a:hover {
	background: none !important;
	opacity: 1;
}

.lp_humberger-nav li {
	width: 77%;
	margin: auto;
	border-bottom: 1px solid #9696D4;
}

.lp_humberger-nav li:nth-child(1) {
	border-top: 1px solid #9696D4;
}

@media screen and (min-width: 768px) {
	header .head__menu__item a {
		font-size: min(32px, calc(calc(32 / 750) * 100vw));
	}
}

@media screen and (max-width: 750px) {
	.lp_humberger-nav ul {
		padding-bottom: min(50px, calc(50 / 750 * 100vw));
	}
}

.lp_humberger-nav a {
	padding: 0;
}

.lp_humberger-nav a:hover {
	background: rgba(135, 206, 235, 0.1);
	opacity: 1;
}

nav .cta a:hover {
	opacity: 0.8;
}

nav .head__menu__list {
	background-color: #F8F9FF;
	height: 100vh;
}

nav li {
	background-color: #F8F9FF;
	;
}

._pb {
	padding-bottom: min(200px, calc(200/750 * 100vw)) !important;
}

.head__menu__bnr {
	width: 77%;
	margin: auto;
	padding-top: min(90px, calc(90/750 * 100vw));
}

section#access h2 {
	display: none !important;
}

.padlr40 {
	padding: 0 min(40px, calc(40/750 * 100vw));
}

.main_ttl {
	background: #3A3AB6;
	font-weight: 600;
	line-height: 1.4;
	padding: min(50px, calc(50/750 * 100vw)) 0;
	text-align: center;
}

.main_ttl p {
	color: #fff;
	font-size: min(42px, calc(42/750 * 100vw));
	font-family: var(--font-yu-noto);
}

.main_mv {
	margin: auto;
	font-feature-settings: "palt";
	text-align: justify;
	padding: 0 min(40px, calc(40/750 * 100vw));
}

.main_mv p {
	color: #333;
	font-size: min(32px, calc(32/750 * 100vw));
	font-family: var(--font-yu-noto);
}

.main_mv span {
	color: #3A3AB6;
	font-size: min(32px, calc(32/750 * 100vw));
	font-family: var(--font-yu-noto);
	font-weight: 500;
}

.main_mv small {
	color: #333;
	font-size: min(26px, calc(26/750 * 100vw));
	font-family: var(--font-yu-noto);
}
.main_mv.txt p {
	letter-spacing: 0.14em;
}
.main_cta_outer {
	background-color: #E9EAFF;
	padding: min(80px, calc(80/750 * 100vw)) min(40px, calc(40/750 * 100vw));
}

.main_cta_box {
	border: 1px solid #7C7CCA;
	background-color: #fff;
	border-radius: min(10px, calc(10/750 * 100vw));
	padding: min(50px, calc(50/750 * 100vw)) min(40px, calc(40/750 * 100vw));
}

.subtitle {
	color: #3A3AB6;
	font-size: min(36px, calc(36/750 * 100vw));
	font-family: var(--font-yu-noto);
	font-weight: 600;
	line-height: 1;
	text-align: center;
}

.subtitle::after {
	content: "";
	display: inline-block;
	width: 90%;
	border-bottom: 2px solid #AB0001;
}

.subtitle_btn {
	width: min(574px, calc(574/750 * 100vw));
}

.subtitle_left {
	color: #3A3AB6;
	font-size: min(36px, calc(36/750 * 100vw));
	font-family: var(--font-yu-noto);
	font-weight: 600;
	line-height: 1;
	text-align: left;
}

.note_txt {
	color: #333;
	font-size: min(26px, calc(26/750 * 100vw));
	font-family: var(--font-yu-noto);
	font-weight: 400;
	text-align: right;
}

.overview {
	width: 90%;
	margin: 0 auto;
	text-align: center;
}

.overview p {
	color: #333;
	font-size: min(26px, calc(26/750 * 100vw));
	font-family: var(--font-yu-noto);
	text-align: left;
	font-weight: 400;
	line-height: 1.8;
	padding: min(30px, calc(30/750 * 100vw)) 0;
}

.overview::before,
.overview::after {
	content: "";
	display: inline-block;
	width: 100%;
	border-bottom: 1px solid #333;
}

.price_list {
	max-width: 670px;
	margin: 0 auto;
	font-family: var(--font-yu-noto);
	border-top: 1px solid #3A3AB6;
}

.price_item {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 0;
	padding: min(40px, calc(40/750 * 100vw)) min(0px, calc(0/750 * 100vw)) min(40px, calc(40/750 * 100vw)) min(30px, calc(30/750 * 100vw));
	border-bottom: 1px solid #3A3AB6;
}

.price_label {
	color: #333;
	font-size: min(26px, calc(26/750 * 100vw));
	font-family: var(--font-yu-noto);
	font-weight: 600;
	flex-shrink: 0;
	padding-right: min(80px, calc(80/750 * 100vw));
}

.price_value {
	color: #3A3AB6;
	font-size: min(32px, calc(32/750 * 100vw));
	font-family: var(--font-yu-noto);
	font-weight: 600;
	text-align: right;
	margin: 0;
}

.price_note {
	margin-top: min(15px, calc(15/750 * 100vw));
	font-size: min(24px, calc(24/750 * 100vw));
	font-family: var(--font-yu-noto);
	color: #333;
	text-align: right;
}

.examina_ttl {
	color: #3A3AB6;
	font-size: min(36px, calc(36/750 * 100vw));
	font-family: var(--font-yu-noto);
	font-weight: 600;
	line-height: 1.6;
}

.examina_list {
	border-top: 1px solid #3A3AB6;
}

.examina_item {
	border-bottom: 1px solid #3A3AB6;
	padding-bottom: min(20px, calc(20/750 * 100vw));
}

.examina_item p {
	color: #3A3AB6;
	font-size: min(32px, calc(32/750 * 100vw));
	font-family: var(--font-yu-noto);
	font-weight: 600;
	padding-top: min(20px, calc(20/750 * 100vw));
}

.examina_item span {
	color: #333;
	font-size: min(24px, calc(24/750 * 100vw));
	font-family: var(--font-yu-noto);
	font-weight: 400;
	padding-bottom: min(20px, calc(20/750 * 100vw));
}

.problem_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: min(20px, calc(20 / 750 * 100vw)) min(10px, calc(10 / 750 * 100vw));
    max-width: 750px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
.problem_list._single {
	display: block;
}

.problem_item {
    width: 46%;
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;
}
._single .problem_item {
	width: 100%;
	margin-bottom: min(20px, calc(20 / 750 * 100vw));
}


.problem_text {
    color: #3A3AB6;
    font-size: min(32px, calc(32 / 750 * 100vw));
    font-family: var(--font-yu-noto);
    font-weight: 600;
    line-height: 1.4;
    display: flex;
    align-items: flex-start;
}

.problem_text::before {
	content: "";
	flex-shrink: 0;
	width: min(30px, calc(30/750 * 100vw));
	height: min(30px, calc(30/750 * 100vw));
	background-image: url("../../images/lp-mental-clinic/check.webp");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	margin-right: min(10px, calc(10/750 * 100vw));
	margin-top: min(10px, calc(10/750 * 100vw));
}

.btn_blue {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: min(495px, calc(495/750 * 100vw));
	height: min(72px, calc(72/750 * 100vw));
	padding: 0 min(40px, calc(40/750 * 100vw));
	text-decoration: none;
	font-size: min(36px, calc(36/750 * 100vw));
	font-weight: 600;
	color: #3A3AB6;
	font-family: var(--font-yu-noto);
	border: min(4px, calc(4/750 * 100vw)) solid #3A3AB6;
	border-radius: min(45px, calc(45/750 * 100vw));
	background-color: #fff;
	transition: opacity 0.3s;
}

/* 左側に透明な要素を作ることで、テキストを中央に押し返します */
.btn_blue::before {
	content: "";
	width: min(22px, calc(22/750 * 100vw));
}

.btn_blue::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: min(15px, calc(15/750 * 100vw)) 0 min(15px, calc(15/750 * 100vw)) min(22px, calc(22/750 * 100vw));
	border-color: transparent transparent transparent #3A3AB6;
}

.btn_blue:hover {
	opacity: 0.7;
	color: #3A3AB6;
}

.features_tms {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 690px;
	text-align: center;
}

.features_tms>* {
	width: 48%;
	flex: 0 0 48%;
	margin-bottom: min(20px, calc(calc(20/750) * 100vw));
}


/* ご予約フォーム・タイトル位置調整 */
.reserve h2.heading {
	margin-bottom: max(-30px, calc(-1 * (calc(30/750) * 100vw)));
	position: relative;
	z-index: 1;
}