@charset "utf-8";


/* ==============================================
	lp-brainclinic.cssから
	ドクター＆スタッフ紹介に必要なcss
================================================= */
:root {
	/*color*/
	--col_black: #111111;
	--col_blue1: #3a3ab6;
	--col_purple: #7c7cca;
	--col_purple2: #9696d4;
	--primary-color: #7c7cca;
	--secondary-color: #e9eaff;

	--menu-body: var(--primary-color);
	--read-bg: var(--secondary-color);
	--font-main: var(--col_blue1);
	--font-normal: var(--col_black);
	--accordion_bg: var(--col_purple2);
	--draccordion_span: var(--col_purple2);

	/*font*/
	--h2_fontsize_small: min(36px, calc(calc(36/750) * 100vw));
	--p_fontsize: clamp(14px, calc(calc(25/750)*100vw), 25px);
	--h2_fontsize: clamp(16px, calc(calc(32/750)*100vw), 32px);
	--h2_wide_fontsize: min(45px, calc(calc(45/750) * 100vw));
	--dt_fontsize: min(36px, calc(calc(36/750) * 100vw));
	--dd_fontsize: min(30px, calc(calc(30/750) * 100vw));
	--dd_fontsize_s: min(25px, calc(calc(25/750) * 100vw));
	--drcard_fontsize_s: clamp(10px, calc(calc(20/750)*100vw), 20px);
	--drcard_fontsize_m: min(36px, calc(calc(36/750) * 100vw));
	--drcard_fontsize_l: min(45px, calc(calc(45/750) * 100vw));

	/*spacer*/
	--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_btm: clamp(50px, calc(calc(100/750)*100vw), 100px);
	--sp-h-read_h57: clamp(27px, calc(calc(57/750)*100vw), 57px);

	/*hight*/
	--accordion_h: clamp(calc(calc(100/750)*100vw), calc(calc(100/750)*100vw), 100px);
}

/*spacer*/
.spacer_normal,
.spacer_middle,
.spacer_read,
.spacer_read_mdl,
.spacer_read_btm,
.spacer_read_head,
.spacer_read_s,
.spacer_read_h57 {
	width: 100%;
	background: none;
}
.spacer_read_s {
	height: var(--sp-h-read_s);
}
.spacer_read_mdl {
	height: var(--sp-h-read_mdl);
}
.spacer_read_btm {
	height: var(--sp-h-read_btm);
}
.spacer_read_h57 {
	height: var(--sp-h-read_h57);
}

/* 全幅100% MAX無,余白:左右40px */
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;
	padding: 0;
}

/* タイトル */
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);
}

/* タイトル */
section[data-type="contents_read"] {
	width: 100%;
	max-width: 750px;
	background-color: var(--read-bg);
	margin: 0 auto;
}
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.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);
}

/* リード文 */
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;
}
section[data-type="contents_read"] span {
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	text-align: inherit;
	letter-spacing: inherit;
}
section[data-type="contents_read"] span {
	color: var(--font-main);
	font-weight: bold;
	letter-spacing: 0.05em;
}

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;
}
.list__tri_icon li::before {
	content: "▶";
	position: absolute;
	color: #7C7CCA;
	font-family: var(--font-yu-mincho);
	font-size: min(36px, calc(calc(36/750) * 100vw));
	left: 0;
	top: 0;
	bottom: 0;
}



/* ------------ ここからlp-insomnia用 ------------ */


/* ==============================================
	変数・共通
================================================= */

:root {
	/* font */
	--font-mincho: "Noto Serif JP", serif;
	--font-basic: "M PLUS 1p", sans-serif;
	--font-yu-gothic: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	--font-number: "Montserrat", sans-serif;
	/* color */
	--color-blue-01: #25498d;
	--color-blue-02: #528dd4;
	--bg-color-blue01: #edf8ff;
	--bg-color-blue02: #e5f1ff;
	--color-green-01: #25878d;
	--bg-color-green01: #d4f4ec;
	/* px */
	--size-1px: min(1px, calc(calc(1/750) * 100vw));
	--size-2px: min(2px, calc(calc(2/750) * 100vw));
	--size-3px: min(3px, calc(calc(3/750) * 100vw));
	--size-m-1px: max(-1px, calc(-1 * (calc(1/750) * 100vw)));
	--size-m-2px: max(-2px, calc(-1 * (calc(2/750) * 100vw)));
}  

body {
	color: #444;
	font-family: var(--font-basic);
}
section {
	color: #444;
}

/* コンテンツ幅（内側） */
.cont_inner {
	padding: 0 min(60px, calc(calc(60/750) * 100vw));
	box-sizing: border-box;
}

/* 見出し */
.cont_inner h2 {
	text-align: center;
	color: var(--color-blue-01);
	font-family: var(--font-mincho);
	font-size: min(56px, calc(calc(56/750) * 100vw));
	font-weight: 500;
	line-height: 1;
	letter-spacing: min(4px, calc(calc(4/750) * 100vw));
	margin-bottom: min(60px, calc(calc(60/750) * 100vw));
	line-height: 1.286;
}
.cont_inner h2 ._subttl {
	display: block;
	font-size: min(33px, calc(calc(33/750) * 100vw));
	font-weight: 500;
	margin-bottom: min(28px, calc(calc(28/750) * 100vw));
}
.about_tms h2 {
	font-size: min(80px, calc(calc(80/750) * 100vw));
}
.about_qeeg h2 {
	color: var(--color-green-01);
	font-size: min(80px, calc(calc(80/750) * 100vw));
	line-height: 1;
	margin-top: min(95px, calc(calc(95/750) * 100vw));
}

/* 小見出し */
.cont_inner h3 {
	position: relative;
	text-align: center;
	color: var(--color-blue-01);
	font-family: var(--font-basic);
	font-size: min(46px, calc(calc(46/750) * 100vw));
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: min(5px, calc(calc(5/750) * 100vw));
	margin-bottom: min(85px, calc(calc(85/750) * 100vw));
}
.cont_inner h3::before {
	content: "";
	width: min(80px, calc(calc(80/750) * 100vw));
	height: min(2px, calc(calc(2/750) * 100vw));
	background: var(--color-blue-01);
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	bottom: max(-35px, calc(-1 * (calc(35/750) * 100vw)));
}
/* QEEG検査コンテンツの小見出し */
.c_qeeg h3 {
	color: var(--color-green-01);
}
.c_qeeg h3::before {
	background: var(--color-green-01);
}
.c_qeeg h3 ._subttl {
	display: block;
	font-family: var(--font-basic);
	font-size: min(33px, calc(calc(33/750) * 100vw));
	line-height: 1;
	margin-bottom: min(28px, calc(calc(28/750) * 100vw));
}
/* 「当院の薬物療法の考え方」の小見出し */
.thinking h3 {
	color: #444;
}
.thinking h3::before {
	background: #444;
}


/* 文章テキスト */
.cont_inner p {
	text-align: justify;
	font-family: var(--font-basic);
	font-size: min(28px, calc(calc(28/750) * 100vw));
	font-weight: 500;
	line-height: 2;
	letter-spacing: var(--size-2px);
}
.cont_inner p span {
	text-align: justify;
	color: var(--color-blue-01);
	font-family: var(--font-basic);
	font-size: min(28px, calc(calc(28/750) * 100vw));
	font-weight: 500;
	line-height: 2;
}
.cont_inner p span._bold {
	font-weight: 600;
}



/* コンテンツ切り替え */
.cont_head {
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	padding: min(55px, calc(calc(55/750) * 100vw)) 0 min(80px, calc(calc(80/750) * 100vw));
	clip-path: polygon(0% 0%, 100% 0%, 50% 100%, 0% 100%);
	clip-path: polygon(
		0% 0%,       /* 左上 */
		100% 0%,     /* 右上 */
		100% 70%,    /* 右底（平らな部分の右端。%を調整して凹み具合を決める） */
		50% 100%,    /* 中央底（V字の尖った点） */
		0% 70%       /* 左底（平らな部分の左端。） */
	);
}
.cont_head p {
	text-align: center;
	color: #fff;
	font-family: var(--font-basic);
	font-size: min(46px, calc(calc(46/750) * 100vw));
	line-height: 1.4;
	letter-spacing: var(--size-2px);
	margin-bottom: min(20px, calc(calc(20/750) * 100vw));
}

.cont_head._tms {
	background: linear-gradient(to top, #25498d 15%, #4f94d5 67%, #a8d7f8 100%);
}
.cont_head._tms {
	background: linear-gradient(to top, #25498d 15%, #4f94d5 67%, #a8d7f8 100%);
}
.cont_head._qeeg {
	background: linear-gradient(to top, #1d7e84 15%, #369ea4 67%, #77c7bf 100%);
}


/* 見出し付き角丸フレーム */
.frame_cont {
	border: var(--size-2px) solid var(--color-blue-02);
	border-radius: min(20px, calc(calc(20/750) * 100vw));
	padding: min(35px, calc(calc(35/750) * 100vw)) min(30px, calc(calc(30/750) * 100vw));
	box-sizing: border-box;
}
.frame_cont--ttl {
	text-align: center;
	color: var(--color-blue-02);
	font-family: var(--font-yu-gothic);
	font-size: min(36px, calc(calc(36/750) * 100vw));
	font-weight: 600;
	line-height: 1;
	letter-spacing: var(--size-m-1px);
	padding-bottom: min(20px, calc(calc(20/750) * 100vw));
	border-bottom: var(--size-2px) solid var(--color-blue-02);
	margin-bottom: min(20px, calc(calc(20/750) * 100vw));
}
.frame_cont--anno {
	text-align: left;
	font-family: var(--font-yu-gothic);
	font-size: min(15px, calc(calc(15/750) * 100vw));
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: var(--size-m-1px);
}

/* チェックリスト */
ul.checklist_tms {
	margin-left: 0!important;
}
ul.checklist_tms li {
	background: url(../../images/lp-insomnia1/icon_check.webp) no-repeat;
	background-position: top var(--size-3px) left 0;
	background-size: min(28px, calc(calc(28/750) * 100vw));
	font-family: var(--font-basic);
	font-size: min(28px, calc(calc(28/750) * 100vw));
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: var(--size-1px);
	padding: 0 0 0 min(45px, calc(calc(45/750) * 100vw));
}
ul.checklist_tms li:not(:last-child) {
	margin-bottom: min(30px, calc(calc(30/750) * 100vw));
}


/* ラベル付き角丸ボックス 01 */
.label_box01 {
	border: var(--size-2px) solid var(--color-blue-01);
	border-radius: min(20px, calc(calc(20/750) * 100vw));
	background: #f3f9ff;
	padding: 0 min(38px, calc(calc(38/750) * 100vw)) min(35px, calc(calc(35/750) * 100vw));
	box-sizing: border-box;
}
.c_qeeg .label_box01 {
	border: var(--size-2px) solid var(--color-green-01);
	background: #f3fffe;
}

.label_box01--ttl {
	width: min(386px, calc(calc(386/750) * 100vw));
	margin: 0 auto min(35px, calc(calc(35/750) * 100vw));
	background: var(--color-blue-01);
	border-radius: 0 0 min(20px, calc(calc(20/750) * 100vw)) min(20px, calc(calc(20/750) * 100vw));
	color: #fff;
	font-family: var(--font-basic);
	font-size: min(28px, calc(calc(28/750) * 100vw));
	font-weight: 400;
	line-height: min(50px, calc(calc(50/750) * 100vw));
	letter-spacing: var(--size-2px);
	text-align: center;
}
.c_qeeg .label_box01--ttl {
	background: var(--color-green-01);
}

.label_box01--cont {
	display: flex;
	gap: min(40px, calc(calc(40/750) * 100vw));
}
.c_qeeg .label_box01--cont {
	gap: min(10px, calc(calc(10/750) * 100vw));
}

.label_box01--cont ul:first-of-type {
	margin-left: min(40px, calc(calc(40/750) * 100vw));
}
.c_qeeg .label_box01--cont ul:first-of-type {
	margin-left: min(30px, calc(calc(30/750) * 100vw));
}

.label_box01--list li {
	font-family: var(--font-basic);
	font-size: min(28px, calc(calc(28/750) * 100vw));
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: var(--size-2px);
	margin-bottom: min(20px, calc(calc(20/750) * 100vw));
	break-inside: avoid;
	position: relative;
}
.label_box01--list li span {
	font-family: var(--font-basic);
	font-size: min(25px, calc(calc(25/750) * 100vw));	
}



/* ==============================================
	header
================================================= */
.nav_header {
	justify-content: center;
	background: #fff;
	height: min(90px, calc(calc(90/750) * 100vw));
}
.header_inner .logo {
	width: min(187px, calc(calc(187/750) * 100vw));
}
.lp_humberger {
	position: absolute;
	top: min(30px, calc(calc(30/750) * 100vw));
	left: auto;
	right: min(24px, calc(calc(24/750) * 100vw));
	width: min(50px, calc(calc(50/750) * 100vw));
	height: min(40px, calc(calc(40/750) * 100vw));
}
.lp_humberger span:nth-of-type(2) {
	top: min(19px, calc(calc(19/750) * 100vw));
}
.lp_humberger .active span:nth-of-type(1),
.lp_humberger .active span:nth-of-type(3) {
	width: min(30px, calc(calc(30/750) * 100vw));
}
.lp_humberger .active span:nth-of-type(1) {
	transform: translate(-3px, 8px) rotate(-45deg);
}
.lp_humberger .active span:nth-of-type(3) {
	transform: translate(-3px, -8px) rotate(45deg);
}
@media screen and (max-width: 750px) {
	.lp_humberger .active span:nth-of-type(1) {
		transform: translate(-0.4vw, 1.07vw) rotate(-45deg);
	}
	.lp_humberger .active span:nth-of-type(3) {
		transform: translate(-0.4vw, -1.07vw) rotate(45deg);
	}
}

.menu-trigger {
	width: min(50px, calc(calc(50/750) * 100vw));
	height: min(40px, calc(calc(40/750) * 100vw));
}
.lp_humberger span {
	height: var(--size-2px);
	background-color: #040000;
}


/* ==============================================
	ハンバーガーメニュー
================================================= */
.lp_humberger-nav.opened {
	background: #fff;
	top: min(90px, calc(calc(90/750) * 100vw));
}

nav .head__menu__list {
	background-color: white;
	min-height: 100vh;
	height: auto;
	padding: 0 min(60px, calc(60 / 750 * 100vw));
	box-sizing: border-box;
}

.lp_humberger-nav li {
	border-bottom: var(--size-1px) solid #aaa;
}
.lp_humberger-nav a:hover {
	background: #fff;
}

.head__menu-inner {
	padding-bottom: min(100px, calc(100 / 750 * 100vw));
}
header .head__menu__item a:hover p {
	color: var(--color-blue-02);
}
header .head__menu__item {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	position: relative;
	background-color: #fff;
}
header .head__menu__item:before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-left: min(6px, calc(calc(6/750) * 100vw)) solid transparent;
	border-right: min(6px, calc(calc(6/750) * 100vw)) solid transparent;
	border-bottom: calc(tan(60deg) * 6px) solid var(--color-blue-02);
	transform: rotate(90deg);
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	left: min(9px, calc(calc(9/750) * 100vw));
	right: auto;
}
@media screen and (max-width: 750px) {
	header .head__menu__item:before {
		border-bottom: calc(tan(60deg) * 0.8vw) solid var(--color-blue-02);
	}
}
header .head__menu__item a {
	display: flex;
	align-items: center;
	width: 100%;
	font-weight: 600;
	padding: min(20px, calc(calc(20 / 750) * 100vw));
	padding-left: min(28px, calc(calc(28/750) * 100vw));
}
header .head__menu__item a p {
	color: #444;
	font-family: var(--font-yu-gothic);
	font-size: min(28px, calc(calc(28/750) * 100vw));
	font-weight: 500;
}
header .head__menu__item a p ._small {
	font-size: min(22px, calc(calc(22/750) * 100vw));
}

nav li:has(.cta) {
	padding: min(50px, calc(50 / 750 * 100vw)) min(40px, calc(40 / 750 * 100vw));
	border-bottom: 0;
}
nav li:has(.cta) a {
	margin: 0 auto min(40px, calc(calc(40/750) * 100vw));
	padding: 0;
}



/* ==============================================
	CTA
================================================= */
.cta_wrap {
	padding: min(80px, calc(calc(80/750) * 100vw)) 0;
}
.cta_wrap._bg_blue {
	background: rgba(169, 236, 248, 0.42);
}

.cta_frame {
	border: var(--size-2px) solid #44b1dc;
	border-radius: min(20px, calc(calc(20/750) * 100vw));
	overflow: hidden;
	box-shadow: 11px 14px 0px #97dff6;
}
@media screen and (max-width: 750px) {
	.cta_frame {
		box-shadow: 1.47vw 1.87vw 0px #97dff6;
	}
}

.cta_head {
	position: relative;
	background: #44b1dc;
	padding: 
	min(15px, calc(calc(15/750) * 100vw)) 
	0
	min(30px, calc(calc(30/750) * 100vw));
	box-sizing: border-box;
}
.cta_head::before {
	content: "";
    width: min(20px, calc(calc(20/750) * 100vw));
    height: min(20px, calc(calc(20/750) * 100vw));
    border-left: min(20px, calc(calc(20/750) * 100vw)) solid transparent;
    border-right: min(20px, calc(calc(20/750) * 100vw)) solid transparent;
    border-top: calc(tan(55deg) * 20px) solid #44b1dc;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	bottom: max(-22px, calc(-1 * (calc(22/750) * 100vw)));
	box-sizing: border-box;
}
@media screen and (max-width: 750px) {
	.cta_head::before {
		border-top: calc(tan(55deg) * 2.67vw) solid #44b1dc;
	}
}

p.cta_head--txt {
	text-align: center;
	color: #fff;
	font-family: var(--font-basic);
	font-size: min(53px, calc(calc(53/750) * 100vw));
	font-weight: 600;
	line-height: 1.2;
	text-shadow: var(--size-3px) var(--size-3px) var(--size-1px) rgba(43, 165, 214, 1);
	letter-spacing: var(--size-3px);
}
p.cta_head--txt span {
	display: inline-block;
	color: #fff;
	font-family: var(--font-basic);
	font-size: min(37px, calc(calc(37/750) * 100vw));
	font-weight: 600;
	line-height: 1.4;
}
p.cta_head--txt span._label {
	display: inline-block;
	background: #239dcd;
	border-radius: 9999px;
	font-family: var(--font-basic);
	font-size: min(24px, calc(calc(24/750) * 100vw));
	font-weight: 500;
	line-height: min(41px, calc(calc(41/750) * 100vw));
	letter-spacing: 0;
	padding: 0 min(35px, calc(calc(35/750) * 100vw));
	margin-bottom: min(8px, calc(calc(8/750) * 100vw));
}

.cta_body {
	background: #fff;
	padding: 
	min(54px, calc(calc(54/750) * 100vw)) 
	min(38px, calc(calc(38/750) * 100vw)) 
	min(58px, calc(calc(58/750) * 100vw));
	box-sizing: border-box;
}
.cta_body--btn {
	display: inline-block;
	margin-top: min(40px, calc(calc(40/750) * 100vw));
}
.cta_body--btn img {
	filter: drop-shadow(0 10px 0 #edb8b4);
}
@media screen and (max-width: 750px) {
	.cta_body--btn img {
		filter: drop-shadow(0 1.33vw 0 #edb8b4);
	}
}
.cta_body--btn._btn02 img {
	filter: drop-shadow(0 10px 0 #b9cadf);
}
@media screen and (max-width: 750px) {
	.cta_body--btn._btn02 img {
		filter: drop-shadow(0 1.33vw 0 #b9cadf);
	}
}

/* QEEG検査CTA */
.c_qeeg .cta_head {
	background: #10b38b;
}
.c_qeeg .cta_head::before {
    border-top: calc(tan(55deg) * 20px) solid #10b38b;
}
@media screen and (max-width: 750px) {
	.c_qeeg .cta_head::before {
		border-top: calc(tan(55deg) * 2.67vw) solid #10b38b;
	}
}
.c_qeeg .cta_head--txt {
	text-align: center;
	color: #fff;
	text-shadow: var(--size-3px) var(--size-3px) var(--size-1px) rgba(10, 150, 116, 1);
	margin-bottom: 0;
}
.c_qeeg .cta_head--txt::before {
	display: none;
}
.c_qeeg .cta_frame {
	border: var(--size-2px) solid #10b38b;
	box-shadow: 11px 14px 0px #ace6d8;
}
@media screen and (max-width: 750px) {
	.c_qeeg .cta_frame {
		box-shadow: 1.47vw 1.87vw 0px #ace6d8;
	}
}
p.cta_anno {
	font-family: var(--font-basic);
	font-size: min(15px, calc(calc(15/750) * 100vw));
	line-height: 1.6;
}


/* ==============================================
	アコーディオン共通
================================================= */
.toggle_body {
	display: none;
}
.toggle_btn {
    position: absolute;
    top: 50%;
    right: min(20px, calc(calc(20/750) * 100vw));
    transform: translateY(-50%);
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    border-radius: 50%;
}
/* is-openがついているdtの次のddだけデフォルト開く */
.toggle_title.is-open + .toggle_body {
    display: block;
}

/* グラデーションのアコーディオンパネル */
.acc_grad .toggle_contents {
	border-radius: min(20px, calc(calc(20/750) * 100vw));
	margin-bottom: min(40px, calc(calc(40/750) * 100vw));
	box-sizing: border-box;
}
.acc_grad .toggle_btn {
	background: none;
	width: min(37px, calc(calc(37/750) * 100vw));
	height: min(37px, calc(calc(37/750) * 100vw));
}
.acc_grad .toggle_btn:before,
.acc_grad .toggle_btn:after {
	background: #fff;
}
.acc_grad .toggle_btn:before {
	width: var(--size-2px);
	height: 100%;
}
.acc_grad .toggle_btn:after {
	width: 100%;
	height: var(--size-2px);
}
.acc_grad .toggle_title {
	left: 0;
	color: #fff;
	font-family: var(--font-basic);
	font-size: min(37px, calc(calc(37/750) * 100vw));
	font-weight: 400;
	letter-spacing: var(--size-3px);
	padding: min(35px, calc(calc(35/750) * 100vw)) min(40px, calc(calc(40/750) * 100vw));
	border-radius: min(20px, calc(calc(20/750) * 100vw));
}
.acc_grad .toggle_title ._small {
	font-family: var(--font-basic);
	font-size: min(32px, calc(calc(32/750) * 100vw));
}
.acc_grad .toggle_title.selected {
	border-radius: min(20px, calc(calc(20/750) * 100vw)) min(20px, calc(calc(20/750) * 100vw)) 0 0;
}
.acc_grad .toggle_body {
	border-top-width: 0;
	border-radius: 0 0 min(20px, calc(calc(20/750) * 100vw)) min(20px, calc(calc(20/750) * 100vw));
	padding: min(45px, calc(calc(45/750) * 100vw)) min(38px, calc(calc(38/750) * 100vw));
	box-sizing: border-box;
}

/* ==============================================
	当院の特徴
================================================= */
.introduction {
	padding: min(100px, calc(calc(100/750) * 100vw)) 0;
	background: linear-gradient(to bottom, #e9f5ff, #f8fcff 30%);
}
.introduction__lead {
	font-family: var(--font-mincho);
	font-size: min(39px, calc(calc(39/750) * 100vw));
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: var(--size-3px);
	margin: min(100px, calc(calc(100/750) * 100vw)) 0 min(130px, calc(calc(130/750) * 100vw));
}
.introduction__lead span._mark {
	display: inline-block;
	font-family: var(--font-mincho);
	font-size: min(39px, calc(calc(39/750) * 100vw));
	text-decoration: underline;
    text-underline-offset: -0.2em;
    text-decoration-thickness: 0.4em;
    text-decoration-color: rgba(200, 218, 252, 0.9);
    text-decoration-skip-ink: none;
}


/* ==============================================
	症状チェックリスト
================================================= */
.checklist_symp {
	position: relative;
	background: linear-gradient(to bottom, #f2faff, #d3eeff 85%);
	padding: 
	min(94px, calc(calc(94/750) * 100vw)) 
	0 
	min(20px, calc(calc(20/750) * 100vw));
}
.checklist_symp--arrow {
	position: relative;
	width: 100%;
}
.checklist_symp--arrow::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	/* 三角形の底辺の幅を親要素に合わせる */
	/* 左右に「幅の半分」ずつ指定することで、中央に向かって斜めになります */
	border-left: min(375px, 50vw) solid transparent;
	border-right: min(375px, 50vw) solid transparent;
	/* 三角形の高さ（深さ） */
	border-top: min(80px, calc(calc(80/750) * 100vw)) solid #d3eeff;
}

.checklist_symp h2 {
	font-family: var(--font-basic);
}
.checklist_symp h2 span {
	display: inline-block;
	font-family: var(--font-basic);
	font-size: min(37px, calc(calc(37/750) * 100vw));
	margin-bottom: min(25px, calc(calc(25/750) * 100vw));
}
/* アコーディオンのスタイル */
.checklist_symp .toggle_contents {
	background: #fff;
	border: var(--size-2px) solid var(--color-blue-01);
	border-radius: min(20px, calc(calc(20/750) * 100vw));
	margin-bottom: min(40px, calc(calc(40/750) * 100vw));
	box-shadow: 0 10px 10px #cedee7;
	padding: 0 min(35px, calc(calc(35/750) * 100vw));
	box-sizing: border-box;
}
@media screen and (max-width: 750px) {
	.checklist_symp .toggle_contents {
		box-shadow: 0 1.33vw 1.33vw #cedee7;
	}
}
.checklist_symp .toggle_btn {
	background: none;
	width: min(37px, calc(calc(37/750) * 100vw));
	height: min(37px, calc(calc(37/750) * 100vw));
}
.checklist_symp .toggle_btn:before,
.checklist_symp .toggle_btn:after {
	background: var(--color-blue-01);
}
.checklist_symp .toggle_btn:before {
	width: var(--size-2px);
	height: 100%;
}
.checklist_symp .toggle_btn:after {
	width: 100%;
	height: var(--size-2px);
}

.checklist_symp .toggle_title {
	background: none;
	left: 0;
	color: var(--color-blue-01);
	font-family: var(--font-basic);
	font-size: min(37px, calc(calc(37/750) * 100vw));
	font-weight: 400;
	letter-spacing: var(--size-3px);
	padding: min(35px, calc(calc(35/750) * 100vw)) 0;
}
.checklist_symp .toggle_title ._small {
	display: inline-block;
	font-family: var(--font-basic);
	font-size: min(32px, calc(calc(32/750) * 100vw));
	letter-spacing: var(--size-1px);
}
.checklist_symp .toggle_title ._sub {
	display: inline-block;
	font-family: var(--font-basic);
	font-size: min(32px, calc(calc(32/750) * 100vw));
	letter-spacing: var(--size-1px);
}

.toggle_contents__wrap {
	counter-reset: section-counter;
}
.checklist_symp .toggle_title::before {
    counter-increment: section-counter;
    content: counter(section-counter, decimal-leading-zero);/* 01, 02...で表示 */
    font-family: var(--font-number);
    font-size: min(39px, calc(calc(39/750) * 100vw));
	margin-right: min(20px, calc(calc(20/750) * 100vw));
}

.checklist_symp .toggle_body {
	border-top: var(--size-2px) solid var(--color-blue-01);
	padding: min(45px, calc(calc(45/750) * 100vw)) 0;
}
.checklist_symp .toggle_body h5 {
	color: var(--color-blue-01);
	font-family: var(--font-basic);
	font-size: min(24px, calc(calc(24/750) * 100vw));
	font-weight: 500;
	letter-spacing: var(--size-3px);
	line-height: 1;
	margin-bottom: min(28px, calc(calc(28/750) * 100vw));
}
.checklist_symp .toggle_body h5:not(:first-child) {
	border-top: var(--size-2px) solid #bfbfc8;
	padding-top: min(28px, calc(calc(28/750) * 100vw));
	margin-top: min(28px, calc(calc(28/750) * 100vw));
}

p.checklist_symp--txt {
	text-align: center;
	color: var(--color-blue-01);
	font-size: min(46px, calc(calc(46/750) * 100vw));
	line-height: 1.4;
}



/* ==============================================
	TMS治療・導入部
================================================= */
.about_tms {
	padding-top: min(160px, calc(calc(160/750) * 100vw));
}



/* ==============================================
	TMS治療・アコーディオン
================================================= */
.about_tms_acc {
	padding-bottom: min(30px, calc(calc(30/750) * 100vw));
}

/* アコーディオン色変更 */
.about_tms_acc .toggle_contents {
	box-shadow: 0 10px 0 #cedee7;
}
@media screen and (max-width: 750px) {
	.about_tms_acc .toggle_contents {
		box-shadow: 0 1.33vw 0 #cedee7;
	}
}

.about_tms_acc .toggle_title {
	background: linear-gradient(to top, #25498d 15%, #4f94d5 67%, #a8d7f8 100%);
}
.about_tms_acc .toggle_body {
	border: var(--size-2px) solid var(--color-blue-01);
}
/* アコーディオンの中のテキストボックス */
.about_tms_acc--box {
	padding: min(45px, calc(calc(45/750) * 100vw));
	border-radius: min(15px, calc(calc(15/750) * 100vw));
	box-sizing: border-box;
	margin-top: min(40px, calc(calc(40/750) * 100vw));
}
.about_tms_acc--box._box01 {
	background: var(--bg-color-blue02);
}
.about_tms_acc--box._box01 h4 {
	text-align: center;
	color: var(--color-blue-01);
	font-family: var(--font-basic);
	font-size: min(37px, calc(calc(37/750) * 100vw));
	font-weight: 400;
	letter-spacing: min(5px, calc(calc(5/750) * 100vw));
	margin-bottom: min(30px, calc(calc(30/750) * 100vw));
}
.about_tms_acc--box._box01 p {
	font-size: min(25px, calc(calc(25/750) * 100vw));
}

.about_tms_acc--box._box02 {
	background: #f4f4f4;
	padding: min(35px, calc(calc(35/750) * 100vw));
}
.about_tms_acc--box._box02 p {
	font-size: min(24px, calc(calc(24/750) * 100vw));
	line-height: 1.78;
}
.about_tms_acc--box._box02 p._anno {
	font-size: min(19px, calc(calc(19/750) * 100vw));
	letter-spacing: var(--size-1px);
}



/* ==============================================
	QEEG検査の仕組み
================================================= */
.howto_qeeg {
	background: var(--bg-color-green01);
	padding: min(70px, calc(calc(70/750) * 100vw)) 0;
}
.howto_qeeg .cont_inner p {
	letter-spacing: var(--size-3px);
}


/* ==============================================
	AさんのQEEG検査結果
================================================= */
/* ラベル付き角丸ボックス 02 */
.label_box02 {
	border: var(--size-2px) solid #9b9fa5;
	border-radius: min(20px, calc(calc(20/750) * 100vw));
	background: #ddddde;
	padding: 0 min(38px, calc(calc(38/750) * 100vw)) min(48px, calc(calc(48/750) * 100vw));
	box-sizing: border-box;
}
.label_box02._after {
	border: var(--size-2px) solid var(--color-green-01);
	background: #c6e6e3;
	margin-top: min(50px, calc(calc(50/750) * 100vw));
}

.label_box02--ttl {
	width: min(360px, calc(calc(360/750) * 100vw));
	margin: 0 auto min(35px, calc(calc(35/750) * 100vw));
	background: #9b9fa5;
	border-radius: 0 0 min(20px, calc(calc(20/750) * 100vw)) min(20px, calc(calc(20/750) * 100vw));
	color: #fff;
	font-family: var(--font-basic);
	font-size: min(30px, calc(calc(30/750) * 100vw));
	font-weight: 500;
	line-height: min(50px, calc(calc(50/750) * 100vw));
	letter-spacing: var(--size-2px);
	text-align: center;
}
._after .label_box02--ttl {
	background: var(--color-green-01);
}

.label_box02--cont {
	background: #fff;
	padding: min(45px, calc(calc(45/750) * 100vw)) min(26px, calc(calc(26/750) * 100vw));
	box-sizing: border-box;
}

.label_box02--cont p {
	font-size: min(25px, calc(calc(25/750) * 100vw));
	font-weight: 400;
	line-height: 1.8;
	margin-top: min(30px, calc(calc(30/750) * 100vw));
}
.label_box02--cont p._anno {
	font-size: min(19px, calc(calc(19/750) * 100vw));
	margin-top: min(10px, calc(calc(10/750) * 100vw));
	letter-spacing: 0;
}


/* ==============================================
	客観的で正確な診断が可能（QEEG検査の流れ）
================================================= */
/* アコーディオン色変更 */
.flow_qeeg .toggle_title {
	background: linear-gradient(to top, #1d7e84 15%, #369ea4 67%, #77c7bf 100%);
}
.flow_qeeg .toggle_body {
	border: var(--size-2px) solid var(--color-green-01);
}
.flow_qeeg__acc--wrap {
	position: relative;
	margin: 0!important;
	padding-left: min(69px, calc(calc(69/750) * 100vw));
	counter-reset: section-counter;
}
.flow_qeeg__acc--wrap::before {
	content: "";
	width: var(--size-2px);
	height: 100%;
	background-image: linear-gradient(to bottom, #25878d 8px, transparent 8px);
	background-size: 2px 13px; /* 幅2px、(長さ8px + 間隔5px) = 13px */
	background-repeat: repeat-y;
	background-position: left center;
	position: absolute;
	top: 0;
	left: min(20px, calc(calc(20/750) * 100vw));
}

.flow_qeeg__acc--wrap li {
	background: none!important;
	padding: 0!important;
	margin-bottom: min(60px, calc(calc(60/750) * 100vw));
}
.flow_qeeg__acc--wrap li:last-child {
	margin-bottom: 0;
	padding-bottom: min(10px, calc(calc(10/750) * 100vw))!important;
}

.flow_qeeg__acc--wrap li h4 {
	position: relative;
	color: var(--color-green-01);
	font-family: var(--font-basic);
	font-size: min(34px, calc(calc(34/750) * 100vw));
	font-weight: 400;
	line-height: 1.47;
	letter-spacing: var(--size-3px);
	margin-bottom: min(45px, calc(calc(45/750) * 100vw));
}
.toggle_contents .flow_qeeg__acc--wrap li p {
	padding: 0!important;
	font-family: var(--font-basic)!important;
	font-size: min(25px, calc(calc(25/750) * 100vw))!important;
	line-height: 2;
	margin-top: min(45px, calc(calc(45/750) * 100vw));
}

.flow_qeeg__acc--wrap li h4::before {
    counter-increment: section-counter;
    content: counter(section-counter, decimal-leading-zero);/* 01, 02...で表示 */
    font-family: var(--font-number);
    font-size: min(37px, calc(calc(37/750) * 100vw));
	line-height: min(70px, calc(calc(70/750) * 100vw));
	letter-spacing: min(4px, calc(calc(4/750) * 100vw));
	background: #fff;
	width: min(70px, calc(calc(70/750) * 100vw));
	height: min(70px, calc(calc(70/750) * 100vw));
	position: absolute;
	left: max(-75px, calc(-1 * (calc(75/750) * 100vw)));
	top: max(-10px, calc(-1 * (calc(10/750) * 100vw)));
}


/* ==============================================
	患者様の声
================================================= */
.voice {
	padding-bottom: min(100px, calc(calc(100/750) * 100vw));
}
.voice__ttl {
	text-align: center;
	color: var(--color-blue-01);
	font-family: var(--font-basic);
	font-size: min(32px, calc(calc(32/750) * 100vw));
	font-weight: 700;
	line-height: 1.36;
	letter-spacing: var(--size-2px);
	margin-bottom: min(30px, calc(calc(30/750) * 100vw));
}

/* 患者様の声ボックス */
.voice__box {
	border: var(--size-2px) solid var(--color-blue-01);
	border-radius: min(20px, calc(calc(20/750) * 100vw));
	overflow: hidden;
}

.voice__box_head {
	background: #2b5da3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: min(26px, calc(calc(26/750) * 100vw)) min(38px, calc(calc(38/750) * 100vw));
	box-sizing: border-box;
}
.voice__box_cont {
	background: #fff;
	padding: min(38px, calc(calc(38/750) * 100vw));
	box-sizing: border-box;
}
.voice__box_cont p {
	font-size: min(28.6px, calc(calc(28.6/750) * 100vw));
}
.toggle_body .voice__box_cont p {
	font-size: min(25px, calc(calc(25/750) * 100vw));
}

.voice__box_head--icon {
	width: 23.5%;
}
.voice__box_head--label {
	width: 72%;
	color: #fff;
	letter-spacing: var(--size-2px);
}

.voice__box_head--label h5 {
	font-family: var(--font-basic);
	font-size: min(32px, calc(calc(32/750) * 100vw));
	font-weight: 500;
	line-height: 1;
	padding-bottom: min(15px, calc(calc(15/750) * 100vw));
	border-bottom: var(--size-2px) solid #fff;
}
.toggle_body .voice__box_head--label h5 {
	font-size: min(28px, calc(calc(28/750) * 100vw));
	padding-bottom: min(12px, calc(calc(12/750) * 100vw));
}
.voice__box_head--label h6 {
	font-family: var(--font-basic);
	font-size: min(25px, calc(calc(25/750) * 100vw));
	font-weight: 500;
	line-height: 1;
	padding-top: min(15px, calc(calc(15/750) * 100vw));
}
.toggle_body .voice__box_head--label h6 {
	font-size: min(22px, calc(calc(22/750) * 100vw));
	padding-top: min(12px, calc(calc(12/750) * 100vw));
}



/* ==============================================
	睡眠障害とは
================================================= */
.sleep_dis {
	background: #d6ecfa;
	padding: min(92px, calc(calc(92/750) * 100vw)) 0;
}
.sleep_dis h5 {
	text-align: center;
	color: var(--color-blue-01);
	font-family: var(--font-mincho);
	font-size: min(32px, calc(calc(32/750) * 100vw));
	font-weight: 500;
	letter-spacing: var(--size-1px);
	line-height: 1.87;
	text-decoration: underline;
    text-underline-offset: min(11px, calc(calc(11/750) * 100vw));
    text-decoration-thickness: min(2px, calc(calc(2/750) * 100vw));
    text-decoration-color: var(--color-blue-01);
    text-decoration-skip-ink: none;
	margin-bottom: min(60px, calc(calc(60/750) * 100vw));
}



/* ==============================================
	睡眠障害の原因
================================================= */
.cause {
	padding: min(95px, calc(calc(95/750) * 100vw)) 0;
}
.cause__table {
	width: 100%;
	margin: min(60px, calc(calc(60/750) * 100vw)) 0;
}
.cause__table th {
	background: var(--color-blue-01);
	color: #fff;
	text-align: center;
	font-family: var(--font-basic);
	font-size: min(22px, calc(calc(22/750) * 100vw));
	font-weight: 400;
	line-height: 1;
	padding: min(10px, calc(calc(10/750) * 100vw)) 0;
}
.cause__table th:first-child {
	border-right: var(--size-1px) solid #fff;
	border-left: var(--size-2px) solid var(--color-blue-01);
}

.cause__table td {
	background: #fff;
	font-family: var(--font-basic);
	font-size: min(25px, calc(calc(25/750) * 100vw));
	line-height: 1.28;
	border: var(--size-2px) solid #bfbfc8;
	padding: min(34px, calc(calc(34/750) * 100vw));
	padding-right: 0;
	vertical-align: middle;
}



/* ==============================================
	当院の薬物療法の考え方
================================================= */
.thinking {
	background: linear-gradient(to right, #bfdaf0, #edf7ff);
	padding: min(90px, calc(calc(90/750) * 100vw)) 0;
	box-sizing: border-box;
}
.thinking._02 {
	border-radius: min(120px, calc(calc(120/750) * 100vw)) 0  min(120px, calc(calc(120/750) * 100vw)) 0;
}
.thinking__listBox {
	background: #ddedfa;
	border-radius: min(20px, calc(calc(20/750) * 100vw));
	padding: 
	min(45px, calc(calc(45/750) * 100vw)) 
	min(66px, calc(calc(66/750) * 100vw))
	min(45px, calc(calc(45/750) * 100vw))
	min(38px, calc(calc(38/750) * 100vw));
	box-sizing: border-box;
	margin: min(45px, calc(calc(45/750) * 100vw)) 0;
}
.thinking__listBox ul li {
	font-family: var(--font-basic);
	font-size: min(25px, calc(calc(25/750) * 100vw));
	line-height: 2;
	letter-spacing: var(--size-2px);
}
.thinking__txtBox {
	font-family: var(--font-mincho);
	font-size: min(40px, calc(calc(40/750) * 100vw));
	font-weight: 500;
	line-height: 1.57;
	letter-spacing: min(5px, calc(calc(5/750) * 100vw));
	padding-left: min(35px, calc(calc(35/750) * 100vw));
	margin-top: min(60px, calc(calc(60/750) * 100vw));
}
.thinking .thinking__txt p {
	font-size: min(19px, calc(calc(19/750) * 100vw));
	letter-spacing: 0.05em;
	margin: min(40px, calc(calc(40/750) * 100vw)) 0 min(70px, calc(calc(70/750) * 100vw));
}
.thinking .cont_inner strong {
	font-family: var(--font-basic);
	font-size: min(28px, calc(calc(28/750) * 100vw));
}
.cont_inner._txt span {
	font-size: min(23px, calc(calc(23/750) * 100vw));
	color: unset;
}
/* ==============================================
	よくある質問
================================================= */
.faq_acc .toggle_contents {
	width: 100%!important;
	border-top: var(--size-2px) solid #bfbfc8;
	border-bottom: var(--size-2px) solid #bfbfc8;
	margin-bottom: min(30px, calc(calc(30/750) * 100vw));
}
.faq_acc .toggle_title {
	background: none;
	font-family: var(--font-basic);
	font-size: min(28px, calc(calc(28/750) * 100vw));
	font-weight: 600;
	padding: 
	min(28px, calc(calc(28/750) * 100vw)) 
	min(55px, calc(calc(55/750) * 100vw))
	min(28px, calc(calc(28/750) * 100vw))
	min(60px, calc(calc(60/750) * 100vw));
	box-sizing: border-box;
	left: 0;
	letter-spacing: min(1.5px, calc(calc(1.5/750) * 100vw));
}
.faq_acc .toggle_title::before {
	background: none;
	content: "Q";
	color: var(--color-blue-01);
	font-family: var(--font-number);
	font-size: min(37px, calc(calc(37/750) * 100vw));
	font-weight: 500;
	top: min(20px, calc(calc(20/750) * 100vw));
	left: min(15px, calc(calc(15/750) * 100vw));
}
.faq_acc .toggle_btn {
	background: none;
}
.faq_acc .toggle_btn::before,
.faq_acc .toggle_btn::after {
	background: var(--color-blue-01);
}
.faq_acc .toggle_btn::before {
	width: var(--size-3px);
	height: min(28px, calc(calc(28/750) * 100vw));
}
.faq_acc .toggle_btn::after {
	width: min(28px, calc(calc(28/750) * 100vw));
	height: var(--size-3px);
}
.faq_acc .toggle_body {
	background: #dfedfb;
	padding: 
	min(28px, calc(calc(28/750) * 100vw)) 
	min(20px, calc(calc(20/750) * 100vw))
	min(28px, calc(calc(28/750) * 100vw))
	min(60px, calc(calc(60/750) * 100vw));
	margin: 0;
}
.faq_acc .toggle_body::before {
	content: "A";
	color: var(--color-blue-01);
	font-family: var(--font-number);
	font-size: min(37px, calc(calc(37/750) * 100vw));
	font-weight: 500;
	top: min(25px, calc(calc(25/750) * 100vw));
	left: min(18px, calc(calc(18/750) * 100vw));
}


/* ==============================================
	アクセス
================================================= */
.access {
	padding: min(90px, calc(calc(90/750) * 100vw)) 0 0 0;
}
.access h5 {
	color: var(--color-blue-01);
	font-family: var(--font-basic);
	font-size: min(33px, calc(calc(33/750) * 100vw));
	font-weight: 400;
	line-height: 1;
	letter-spacing: var(--size-2px);
	padding-left: min(29px, calc(calc(29/750) * 100vw));
	border-left: min(5px, calc(calc(5/750) * 100vw)) solid var(--color-blue-01);
	margin-bottom: min(30px, calc(calc(30/750) * 100vw));
}
.access ul {
	margin-top: min(47px, calc(calc(47/750) * 100vw));
}
.access ul li {
	font-family: var(--font-basic);
	font-size: min(25px, calc(calc(25/750) * 100vw));
	font-weight: 400;
	line-height: 1;
	border-bottom: var(--size-2px) solid #bfbfc8;
	padding-bottom: min(27px, calc(calc(27/750) * 100vw));
	margin-bottom: min(36px, calc(calc(36/750) * 100vw));
}
.access__map iframe {
	width: 100%;
	height: min(483px, calc(calc(483/750) * 100vw));
	margin-bottom: min(70px, calc(calc(70/750) * 100vw));
}



/* ==============================================
	当院で対応しているお悩み・疾患
================================================= */
.treatments ul {
	margin-bottom: min(32px, calc(calc(32/750) * 100vw));
}
.treatments ul li {
	font-family: var(--font-basic);
	font-size: min(28px, calc(calc(28/750) * 100vw));
	font-weight: 400;
	line-height: 1;
	margin-bottom: min(26px, calc(calc(26/750) * 100vw));
}
.treatments p._anno {
	font-size: min(19px, calc(calc(19/750) * 100vw));
	letter-spacing: min(0.5px, calc(calc(0.5/750) * 100vw));
}



/* ==============================================
	lp-brainclinic.cssから
	フッター 追尾バナー用css
================================================= */

/* テンプレバナーを非表示 */
.keni-footer-panel_wrap {
	display: none !important;
}

/* フッター追尾バナー（Tel,Web,LINE） */
.footer__bnr {
	position: fixed;
	bottom: 0px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	opacity: 0;
	width: min(750px, calc(750 / 750 * 100vw));
	visibility: hidden;
	transition: opacity 0.5s ease;
	/* トランジションの設定 */
	display: flex;
	justify-content: center;
	align-items: baseline;
}

.page__top {
	opacity: 0;
	transition: opacity 0.5s ease;
	/* トランジションの設定 */
	right: 50px;
	bottom: 50px;
	width: min(90px, calc(calc(90/750) * 100vw));
}

.footer__bnr.active,
.page__top.active {
	opacity: 1;
	visibility: visible;
}

/*footer button TOPに戻る*/
@media screen and (max-width: 767px) {
	.page__top {
		right: min(40px, calc(calc(40/750) * 100vw));
		bottom: min(210px, calc(210 / 750 * 100vw));
		width: min(140px, calc(calc(140/750) * 100vw));
		height: auto;
	}
}

/* トップへ戻るボタン位置調整 */
@media screen and (max-width: 767px) {
  .page__top {
    bottom: min(340px, calc(calc(340/750) * 100vw))!important;
  }
  .page__top.btn_down {
    bottom: min(120px, calc(calc(120/750) * 100vw))!important;
    transition: all 0.3s;
  }
}


/* ==============================================
	LINE用フッターバナー
================================================= */
.footbnr_line {
  display: none;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  width: min(700px, calc(calc(700/750) * 100vw));
  z-index: 5;
  bottom: 56px;
}
@media screen and (min-width: 640px) {
  .footbnr_line {
    bottom: 115px;
  }
}

.footbnr_line img {
	filter: drop-shadow(6px 6px 10px rgba(37, 73, 141, 0.3));
}
@media screen and (max-width: 750px) {
	.footbnr_line img {
		filter: drop-shadow(0.8vw 0.8vw 1.33vw rgba(37, 73, 141, 0.3));
	}
}


/* 閉じるボタン */
.footbnr_line_close {
  position: absolute;
  width: min(60px, calc(calc(60/750) * 100vw));
  height: min(60px, calc(calc(60/750) * 100vw));
  border-radius: 9999px;
  background: rgba(0, 0, 0, 0.7);
  top: max(-76px, calc(-1 * (calc(76/750) * 100vw)));
  right: min(5px, calc(calc(5/750) * 100vw));
  border: none;
  cursor: pointer;
}
.footbnr_line_close::before,
.footbnr_line_close::after {
  content: "";
  background-color: #fff;
  width: min(2px, calc(calc(2/750) * 100vw));
  height: min(40px, calc(calc(40/750) * 100vw));
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.footbnr_line_close::before {
  transform: rotate(45deg);
}
.footbnr_line_close::after {
  transform: rotate(135deg);
}