html,body{
	overflow-x: hidden;
}
h1,
h2,
h3,
h4,
h5,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
	margin: 0;
}
#doctorkeller {
	max-width: 750px;
	font-feature-settings: "palt";
	margin: auto;
/* text */
	.f_goth {
		font-family: '游ゴシック Medium', '游ゴシック体','ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'Yu Gothic Medium', YuGothic, 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	}
	.f_min {
		font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", 游明朝,'Yu Mincho',YuMincho, 'Hiragino Mincho ProN','Hiragino Mincho Pro',"Times New Roman", HGS明朝E,メイリオ,Meiryo,serif;
	}
	h1 {
		font-weight: 600;
		text-align: center ;
		margin-bottom: 0;
	}
	h2 {
		font-weight: 600;
		text-align: center ;
		margin-bottom: 0;
	}
	h3 {
		font-weight: 600;
		margin-bottom: 0;
	}
	.fs_50 { font-size: 50%; }
	.fs_70 { font-size: 70%; }
	.fs_80 { font-size: 80%; }
	.fs_85 { font-size: 85%; }
	.fs_105 { font-size: 105%; }
	.fs_115 { font-size: 115%; }
	.fw_600 { font-weight: 600; }
	.c_red { color: #ba0020; }
	.text_marker { background: linear-gradient(transparent 65%, #f8e5e8 65%); }
	.text_line_black {
		padding-bottom: 2px;
		background: linear-gradient(transparent 96%, #000 96%);
	}
	.text_line_red {
		padding-bottom: 2px;
		background: linear-gradient(transparent 96%, #ba0020 96%);
	}
	.text_glow { text-shadow: 0 0 8px #fff, 0 0 16px #fff, 0 0 18px #fff, 0 0 40px #fff; }
	.text_shadow { text-shadow: 0 0 16px rgba(0,0,0,.35), 0 0 18px rgba(0,0,0,.35), 0 0 40px rgba(0,0,0,.35); }
	@media (min-width: 750px) {
		box-shadow: 0px 0px 15px -5px #777777;
	}
/*img*/
	img {
		max-width: 100%;
		height: auto;
		display: block;
		aspect-ratio: attr(width) / attr(height);
	}
/*animation*/
	.js-fadeIn {
		opacity: 0;
		transition: opacity 3s ease, transform 3s ease;
		will-change: opacity, transform;
		&.is-inview {
			opacity: 1;
		}
	}
	.js-fadeInUp,
	.js-fadeInDown,
	.js-fadeInLeft,
	.js-fadeInRight {
		opacity: 0;
		will-change: transform, opacity;
	}
	/* フェードイン */
	.js-fadeInUp {
		transform: translateY(20px);
		transition: transform 3s ease, opacity 3s ease;
		&.is-inview {
			opacity: 1;
			transform: translateY(0);
		}
	}
	
	.js-fadeInDown {
		transform: translateY(-20px);
		transition: transform 1.25s ease, opacity 1s ease;
		&.is-inview {
			opacity: 1;
			transform: translateY(0);
		}
	}
	
	.js-fadeInLeft {
		transform: translateX(-20px);
		transition: transform 3s ease, opacity 3s ease;
		&.is-inview {
			transform: translateX(0);
			opacity: 1;
		}
	}
	
	.js-fadeInRight {
		transform: translateX(20px);
		transition: transform 3s ease, opacity 3s ease;
		&.is-inview {
			transform: translateX(0);
			opacity: 1;
		}
	}
	.delay_01 { transition-delay: .1s; }
	.delay_02 { transition-delay: .2s; }
	.delay_03 { transition-delay: .3s; }
	.delay_04 { transition-delay: .4s; }
	.delay_05 { transition-delay: .5s; }
	.delay_06 { transition-delay: .6s; }
	.delay_08 { transition-delay: .8s; }
	.delay_10 { transition-delay: 1.0s; }
	.delay_20 { transition-delay: 2.0s; }
/*youtube*/
iframe[src*="youtube.com"],
iframe[src*="youtube-nocookie.com"] {
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
}
/* kv */
.kv{
	padding-top: clamp(90px, 24vw, 180px);
	background: #878991;
	position: relative;
	z-index: 3;
	&.kv_A {
		.kv_title {
			width: 90.4%;
			left: 0;
		}
	}
	&.kv_B {
		.kv_title {
			width: 73.467%;
			left: 50%;
			transform: translateX(-50%);
		}
	}
	.kv_title {
		position: absolute;
		top: 30px;
		z-index: 2;
	}
	.kv_catch {
		width: 43%;
		position: absolute;
		bottom: -8%;
		left: 0;
		z-index: 2;
	}
	.kv_video {
		width: 100%;
		margin: 0;
		display: block;
		mask-image: linear-gradient(to bottom, transparent 0%, black 10%);
		position: relative;
		z-index: 1;
		overflow: hidden;
		video {
			width: 100%;
			height: 100%;
			aspect-ratio: 108 / 115;
			display: block;
			object-fit: cover;
			position: relative;
			z-index: 1;
		}
	}
	.kv_kome {
		width: 100%;
		font-size: clamp(8px, 2.1vw, 16px);
		color: #fff;
		text-align: right;
		padding-right: 5.3%;
		position: absolute;
		bottom: 2.5%;
		left: 0;
		z-index: 2;
	}
}

/*evolution*/
.evolution {
	padding: clamp(30px, 8vw, 60px) 0;
	background: url('/template/default/img/sp/drk/cp2605/evol_bg.jpg') center top/ auto no-repeat;
	position: relative;
	z-index: 2;
	.evolution_subtitle {
		font-size:	clamp(23px, 6.1vw, 46px);
		font-style: italic;
		color: #000;
		text-align: center;
		span {
			font-weight: 700;
			text-decoration: underline;
		}
	}
	.evolution_title {
		font-size: clamp(28px, 7.5vw, 56px);
		color: #ba0020;
	}
	.evolution_point {
		width: 89.3%;
		margin: auto;
		padding: 20px 0;
		display: flex;
		flex-direction: column;
		gap: 20px;
		div {
			flex: 1;
			img { width: 100%; }
		}
	}
}
/*request*/
.request {
		padding-bottom: clamp(50px, 13.3vw, 100px);
		background: #f4f4f4 url('/template/default/img/sp/drk/cp2605/request_bg.jpg') center bottom/ 100% no-repeat;
		clip-path: polygon(0 0, 100% 0%, 100% calc(100% - clamp(50px, 13.3vw, 100px)), 50% 100%, 0 calc(100% - clamp(50px, 13.3vw, 100px)));
	position: relative;
	z-index: 2;
	.request_title {
		font-size: clamp(24px, 6.4vw, 48px);
		font-weight: 600;
		color: #000;
		text-align: center;
		line-height: 1.5;
		margin: 0;
		padding: clamp(30px, 8vw, 60px) 0 clamp(10px, 2.7vw, 20px);
		background: #f0f0f0;
	}
	.request_body {
		width: 100%;
		position: relative;
		.body_balloon {
			position: relative;
			z-index: 2;
			&.bln_1 {
				width: 70%;
				margin-left: 10%;
				.bln_speech {
					width: 74.67%;
				}
			}
			&.bln_2 {
				width: 61%;
				margin-top: -2%;
				margin-left: 35%;
				.bln_speech {
					width: 72.7%;
				}
			}
			&.bln_3 {
				width: 55.467%;
				margin-top: -4%;
				margin-left: 6%;
				.bln_speech {
					width: 79%;
				}
			}
			.bln_speech {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				z-index: 2;
			}
			.bln_cloud {
				width: 100%;
			}
		}
	}
}
/*enp*/
.enp {
	margin-top: clamp(-104px, -13.9vw, -52px);
	padding: clamp(67px, 17.9vw, 134px) 0 clamp(30px, 8vw, 60px);
	background-image: linear-gradient(to bottom,#eff9ff,#ddf4ff);
	position: relative;
	z-index: 1;
	.enp_title {
		font-size: clamp(24px, 6.4vw, 48px);
		color: #000;
		line-height: 1.5;
		margin-bottom: clamp(10px, 2.7vw, 20px);
	}
	.enp_model {
		width: 100%;
		position: relative;
		.model_badge {
			width: 20%;
			position: absolute;
			top: 4%;
			right: 6%;
			z-index: 2;
		}
		.model_photo {
			width: 53.7%;
			margin: auto;
			display: block;
		}
	}
	.enp_table {
		width: 89.3%;
		margin: auto;
		display: block;
	}
}
/*change*/
.change {
	padding: clamp(30px, 8vw, 60px) 0 0;
	position: relative;
	z-index: 2;
	.change_title {
		font-size: clamp(24px, 6.4vw, 48px);
		color: #000;
		margin-bottom: clamp(30px, 8vw, 60px);
	}
	.change_ba {
		width: 89.3%;
		margin: 0 auto;
		display: flex;
		flex-direction: column;
		gap: clamp(40px, 10.7vw, 80px);
		position: relative;
		z-index: 2;
		.ba_box {
			width: 100%;
			padding: clamp(55px, 14.7vw, 110px) 4% clamp(10px, 2.7vw, 20px);
			background: #ba0020;
			border-radius: clamp(10px, 2.7vw, 20px);
			position: relative;
			.ba_label {
				width: 100%;
				text-align: center;
				line-height: 1;
				position: absolute;
				top: clamp(-22px, -2.9vw, -11px);
				left: 0;
				z-index: 2;
				.label_text {
					min-width: 35%;
					font-size: clamp(13px, 3.5vw, 26px);
					font-weight: 700;
					color: #ba0020;
					line-height: 1;
					padding: 8px 24px;
					background: #fff;
					border: 2px solid #ba0020;
					border-radius: 100px;
					display: inline-block;
				}
			}
			.ba_speech {
				width: 42%;
				position: absolute;
				top: 10%;
				right: 2%;
				transform: rotate(5deg);
				z-index: 2;
				img { width: 100%; }
			}
			.ba_video {
				width: 100%;
				margin: 0 auto 16px;
				display: block;
				position: relative;
				z-index: 1;
				overflow: hidden;
				video {
					width: 100%;
					height: 100%;
					aspect-ratio: 16 / 9;
					display: block;
					object-fit: cover;
					position: relative;
					z-index: 1;
				}
			}
			.ba_usr {
				width: 100%;
				margin-bottom: 16px;
				display: flex;
				flex-direction: column;
				gap: 30px;
				div {
					flex: 1;
					img { width: 100%; }
				}
			}
			.ba_kome {
				font-size: clamp(8px, 2.1vw, 16px);
				color: #fff;
				text-align: left;
				padding-right: 5.3%;
			}
		}
	}
	.change_voice {
		width: 100%;
		margin-top: clamp(-160px, -21.3vw, -80px);
		padding-bottom: clamp(20px, 5.3vw, 40px);
		background-color: #fff;
		clip-path: polygon(0 0, 100% 0%, 100% calc(100% - clamp(40px, 10.7vw, 80px)), 50% 100%, 0 calc(100% - clamp(40px, 10.7vw, 80px)));
		position: relative;
		.voice_text {
			position: absolute;
			&.text1 {
				width: 46.8%;
				top: 23%;
				right: 10%;
			}
			&.text2 {
				width: 42.3%;
				top: 32%;
				left: 9%;
			}
			&.text3 {
				width: 48.4%;
				top: 58%;
				right: 6%;
			}
			&.text4 {
				width: 33.9%;
				top: 65%;
				left: 12%;
			}
		}
		.voice_message {
			width: 100%;
			font-size: clamp(26px, 6.9vw, 52px);
			text-align: center;
			position: absolute;
			bottom: 8%;
			left: 0;
			z-index: 2;
		}
	}
	.change_clip {
		width: 100%;
		padding: clamp(20px, 5.3vw, 40px) 0 clamp(60px, 16vw, 120px);
		background-color: #fff;
		clip-path: polygon(0 0, 100% 0%, 100% calc(100% - clamp(40px, 10.7vw, 80px)), 50% 100%, 0 calc(100% - clamp(40px, 10.7vw, 80px)));
		position: relative;
		.clip_message {
			width: 100%;
			font-size: clamp(26px, 6.9vw, 52px);
			text-align: center;
		}
	}
}
/*trouble*/
.trouble {
	padding: clamp(30px, 8vw, 60px) 0 0;
	background: url('/template/default/img/sp/drk/cp2605/trouble_bg.jpg') center top/ auto no-repeat;
	position: relative;
	overflow: hidden;
	.trouble_title {
		font-size: clamp(26px, 6.9vw, 52px);
		font-weight: 600;
		color: #fff;
		text-align: center;
		line-height: 1.5;
		margin: 0;
		padding: 0;
	}
	.trouble_img {
		width: 94.67%;
		&.img_left {
			margin: clamp(25px, 6.7vw, 50px) 0 clamp(25px, 6.7vw, 50px) -1px;
			img {
				width: 100%;
				border-radius: 0 clamp(12.5px, 3.3vw, 25px) clamp(12.5px, 3.3vw, 25px) 0;
			}
		}
		&.img_right {
			margin: clamp(25px, 6.7vw, 50px) -1px clamp(25px, 6.7vw, 50px) auto;
			img {
				width: 100%;
				border-radius: clamp(12.5px, 3.3vw, 25px) 0 0 clamp(12.5px, 3.3vw, 25px);
			}
		}
	}
	.trouble_model {
		width: 96%;
		margin: clamp(25px, 6.7vw, 50px) auto 0;
		display: block;
	}
}
/*doctor*/
.doctor {
	padding: 0 0 clamp(30px, 8vw, 60px);
	background: url('/template/default/img/sp/drk/cp2605/doctor_bg.png') center top/ auto repeat-y;
	position: relative;
	.doctor_model {
		width: 100%;
		position: relative;
		z-index: 1;
	}
	.doctor_content {
		width: 94.67%;
		padding: 5.3%;
		background: #fff;
		position: relative;
		z-index: 2;
		&.cnt_left {
			margin: -48% 0 clamp(25px, 6.7vw, 50px);
			border-radius: 0 clamp(12.5px, 3.3vw, 25px) clamp(12.5px, 3.3vw, 25px) 0;
		}
		&.cnt_right {
			margin: 0 0 0 auto;
			border-radius: clamp(12.5px, 3.3vw, 25px) 0 0 clamp(12.5px, 3.3vw, 25px);
		}
		.doctor_title {
			font-size: clamp(25px, 6.7vw, 50px);
			line-height: 1.5;
			margin-bottom: clamp(15px, 4vw, 30px);
		}
		.doctor_text {
			font-size: clamp(15px, 4vw, 30px);
			margin-bottom: clamp(30px, 8vw, 60px);
		}
	}
}
/*product*/
.product {
	overflow: hidden;
	position: relative;
	.product_head {
		padding: clamp(20px, 5.3vw, 40px) 0;
		background-image: linear-gradient(to right,#980010,#dd0030 50%,#980010 100%);
		.head_title {
			font-size: clamp(26px, 6.9vw, 52px);
			color: #fff;
			line-height: 1.5;
		}
	}
	.product_device {
		position: relative;
		z-index: 2;
		.device_lllt {
			width: 89.3%;
			padding: clamp(20px, 5.3vw, 40px);
			background: #f3efeb;
			position: relative;
			&.lllt_A {
				margin: -15% auto -55%;
				&::before {
					width: 115%;
					height: 118%;
					clip-path: polygon(0 0, 100% 0, 100% 100%, 0 48%);
				}
			}
			&.lllt_B {
				margin: -15% auto clamp(30px, 8vw, 60px);
				&::before {
					width: 115%;
					height: calc(100% + clamp(30px, 8vw, 60px));
				}
			}
			&::before {
				content: "";
				background: #000;
				position: absolute;
				top: 0;
				left: 50%;
				transform: translateX(-50%);
				z-index: -1;
			}
			.lllt_title {
				font-size: clamp(21px, 5.6vw, 42px);
				font-weight: 500;
				text-align: center;
				line-height: 1.5;
				margin-bottom: clamp(15px, 4vw, 30px);
			}
			.lllt_text {
				font-size: clamp(15px, 4vw, 30px);
				margin-top: clamp(15px, 4vw, 30px);
			}
		}
	}
	.product_essence {
		position: relative;
		z-index: 1;
	}
}
/*interview*/
.interview {
	padding: clamp(40px, 10.7vw, 80px) 0;
	background: #f9f9f9;
	position: relative;
	.interview_label {
		font-size: clamp(12px, 3.2vw, 24px);
		font-family: Didot, serif;
		color: #ba0020;
		text-align: center;
		margin-bottom: clamp(16px, 4.3vw, 32px);
	}
	.interview_title {
		font-size: clamp(26px, 6.9vw, 52px);
		text-align: center;
		line-height: 1.5;
		margin-bottom: clamp(25px, 6.7vw, 50px);
	}
	.interview_misato {
		width: clamp(342.5px, 91.3vw, 685px);
		margin-bottom: clamp(15px, 4vw, 30px);
		position: relative;
		&::before {
			content: "";
			width: 105%;
			height: 90%;
			background: #ba0020;
			position: absolute;
			bottom: 0;
			left: 0;
			z-index: 1;
		}
		.misato_photo {
			width: 100%;
			position: relative;
			z-index: 2;
		}
		.misato_name {
			font-size: clamp(13px, 3.5vw, 26px);
			color: #fff;
			padding: clamp(5px, 1.3vw, 10px) 0 clamp(5px, 1.3vw, 10px) 5.3%;
			position: relative;
			z-index: 2;
		}
	}
	.interview_text {
		font-size: clamp(18px, 4.8vw, 36px);
		line-height: 1.8;
		margin-bottom: clamp(15px, 4vw, 30px);
		padding: 0 5.3%;
	}
	.interview_profile {
		width: 89.3%;
		font-size: clamp(12px, 3.2vw, 24px);
		margin: auto;
		padding: clamp(14px, 3.7vw, 28px);
		background: #fff;
		border: 2px solid #aaa;
	}
}
/*faq*/
.faq {
	padding: clamp(40px, 10.7vw, 80px) 5.33%;
	background: #fff;
	.faq_title {
		font-size: clamp(26px, 6.9vw, 52px);
		text-align: center;
		margin-bottom: clamp(25px, 6.7vw, 50px);
	}
	.faq_body {
		display: flex;
		flex-direction: column;
		gap: clamp(10px, 2.7vw, 20px) 0;
		.faq_accordion {
			width: 100%;
			margin: auto;
			.acd_head {
				width: 100%;
				padding: clamp(12px, 3.2vw, 24px) clamp(9px, 2.4vw, 18px);
				background: #f2ece5;
				border: none;
				border-radius: clamp(12.5px, 3.3vw, 25px);
				display: block;
				cursor: pointer;
				-webkit-tap-highlight-color: transparent;
				position: relative;
				p {
					font-size: clamp(14px, 3.7vw, 28px);
					font-weight: 600;
					color: #000;
					text-align: left;
					letter-spacing: 0;
					padding-left: clamp(21px, 5.6vw, 42px);
					padding-right: clamp(34px, 9.1vw, 68px);
					position: relative;
					&::before {
						content: "Q.";
						font-size: clamp(14px, 3.7vw, 28px);
						font-weight: 600;
						color: #000;
						line-height: 1;
						position: absolute;
						top: clamp(3px, 0.8vw, 6px);
						left: 0;
					}
				}
				.bar {
					width: clamp(24px, 6.4vw, 48px);
					height: clamp(24px, 6.4vw, 48px);
					background: #fff;
					border-radius: 50%;
					position: absolute;
					top: 50%;
					right: clamp(10px, 2.7vw, 20px);
					transform: translateY(-50%);
					z-index: 2;
					&::before {
						content: '';
						width: 70%;
						height: 2px;
						background-color: #f2ece5;
						display: inline-block;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%, -50%);
						z-index: 2;
						transition: 0.2s;
					}
					&::after {
						content: '';
						width: 70%;
						height: 2px;
						background-color: #f2ece5;
						display: inline-block;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%, -50%) rotate(90deg);
						z-index: 2;
						transition: 0.2s;
					}
				}
			}
			.acd_body {
				overflow: hidden;
				height: 0;
				opacity: 0;
				transition: height 0.3s ease, opacity 0.3s ease;
				position: relative;
				p {
					font-size: clamp(14px, 3.7vw, 28px);
					margin: clamp(6px, 1.6vw, 12px) 0 clamp(14px, 3.7vw, 28px);
					padding-left: clamp(30px, 8vw, 60px);
					&::before {
						content: "A.";
						font-size: clamp(14px, 3.7vw, 28px);
						font-weight: 600;
						color: #ba0020;
						line-height: 1;
						position: absolute;
						top: clamp(10px, 2.7vw, 20px);
						left: clamp(10px, 2.7vw, 20px);
					}
				}
			}
			&.accordion.open {
				.acd_head {
					.bar {
						&::before { transform: translate(-50%, -50%) rotate(360deg); }
						&::after { transform: translate(-50%, -50%) rotate(180deg); }
					}
				}
				.acd_body { opacity: 1; }
			}
		}
	}
}
/*howtouse*/
.howtouse {
	padding: clamp(40px, 10.7vw, 80px) 5.33%;
	background: url('/template/default/img/sp/drk/cp2605/doctor_bg.png') center top/ auto repeat-y;
	.howtouse_title {
		font-size: clamp(26px, 6.9vw, 52px);
		text-align: center;
		margin-bottom: clamp(20px, 5.3vw, 40px);
	}
	.howtouse_label {
		font-size: clamp(13px, 3.5vw, 26px);
		font-weight: 600;
		text-align: center;
		&.label_A {
			margin-bottom: clamp(16px, 4.3vw, 32px);
		}
		.label_text {
			min-width: clamp(210px, 56vw, 420px);
			line-height: 1;
			padding: clamp(4px, 1.1vw, 8px) clamp(6px, 1.6vw, 12px);
			background: #fff;
			border: 2px solid #3e3e3e;
			border-radius: 50px;
			display: inline-block;
		}
	}
	.howtouse_body {
		width: 100%;
		margin-bottom: clamp(24px, 6.4vw, 48px);
		padding: clamp(25px, 6.7vw, 50px) clamp(20px, 5.3vw, 40px);
		background: #fff;
		border-radius: clamp(12.5px, 3.3vw, 25px);
		.body_title {
			font-size: clamp(16px, 4.3vw, 32px);
			font-weight: 600;
			text-align: center;
			margin-bottom: clamp(16px, 4.3vw, 32px);
		}
		.body_video {
			width: 100%;
			margin: 0 auto clamp(16px, 4.3vw, 32px);
		}
		.body_accordion {
			width: 100%;
			margin: auto;
			.acd_head {
				width: 100%;
				padding: clamp(6px, 1.6vw, 12px) clamp(9px, 2.4vw, 18px);
				background: #f2ece6;
				border: none;
				display: block;
				cursor: pointer;
				-webkit-tap-highlight-color: transparent;
				position: relative;
				p {
					font-size: clamp(14px, 3.7vw, 28px);
					font-weight: 600;
					color: #000;
					text-align: center;
					position: relative;
				}
				.bar {
					width: clamp(10px, 2.7vw, 20px);
					height: clamp(10px, 2.7vw, 20px);
					margin-left: clamp(20px, 5.3vw, 40px);
					display: inline-block;
					position: relative;
					z-index: 2;
					&::before {
						content: '';
						width: 100%;
						height: 2px;
						background-color: #000;
						display: inline-block;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%, -50%);
						z-index: 2;
						transition: 0.2s;
					}
					&::after {
						content: '';
						width: 100%;
						height: 2px;
						background-color: #000;
						display: inline-block;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%, -50%) rotate(90deg);
						z-index: 2;
						transition: 0.2s;
					}
				}
			}
			.acd_body {
				overflow: hidden;
				height: 0;
				opacity: 0;
				transition: height 0.3s ease, opacity 0.3s ease;
				position: relative;
				.acd_title {
					font-size: clamp(14px, 3.7vw, 28px);
					font-weight: 600;
					margin: clamp(15px, 4vw, 30px) 0 clamp(8px, 2.1vw, 16px);
					padding: clamp(2px, 0.5vw, 4px);
					border-bottom: 1px solid #000;
				}
				.acd_text {
					font-size: clamp(14px, 3.7vw, 28px);
					font-weight: 300;
					line-height: 1.5;
					margin-bottom: 0;
				}
				.acd_kome {
					font-size: clamp(6px, 1.6vw, 12px);
					font-weight: 300;
					line-height: 1.5;
					margin-top: clamp(5px, 1.3vw, 10px);
					margin-bottom: 0;
				}
				.acd_flex {
					width: 100%;
					display: flex;
					flex-direction: column;
					gap: clamp(10px, 2.7vw, 20px);
					margin: clamp(12.5px, 3.3vw, 25px) 0;
					.flex_block {
						display: flex;
						gap: clamp(10px, 2.7vw, 20px);
					}
					.flex3 { width: 30%; }
					.flex4 { width: 40%; }
					.flex6 { width: calc(60% - clamp(10px, 2.7vw, 20px)); }
					.flex7 { width: calc(70% - clamp(10px, 2.7vw, 20px)); }
					.flex10 { width: 100%; }
					.img_border {
						width: 100%;
						border: 1px solid #ccc;
					}
					.flex_title {
						font-size: clamp(12px, 3.2vw, 24px);
						font-weight: 600;
						margin-bottom: clamp(3px, 0.8vw, 6px);
					}
					.flex_text {
						font-size: clamp(12px, 3.2vw, 24px);
						font-weight: 300;
						line-height: 1.5;
						margin-bottom: 0;
					}
					.step_text {
						font-size: clamp(11px, 2.9vw, 22px);
						font-weight: 300;
						line-height: 1.5;
						margin-bottom: 0;
						@media ($mobile) {
							font-size: clamp(6px, 1.6vw, 12px);
						}
					}
				}
				.acd_list {
					width: 100%;
					list-style: none;
					margin: clamp(6px, 1.6vw, 12px) auto;
					&.list_notice {
						li { font-size: clamp(7px, 1.9vw, 14px); }
					}
					li {
						font-size: clamp(14px, 3.7vw, 28px);
						font-weight: 300;
						padding-left: clamp(14px, 3.7vw, 28px);
						margin-bottom: clamp(5px, 1.3vw, 10px);
						position: relative;
						&:last-child {
							margin-bottom: 0;
						}
						&::before {
							content: "";
							width: clamp(4px, 1.1vw, 8px);
							height: clamp(4px, 1.1vw, 8px);
							background: #000;
							border-radius: 50%;
							position: absolute;
							top: clamp(9px, 2.4vw, 18px);
							left: clamp(4px, 1.1vw, 8px);
							z-index: 2;
						}
					}
				}
				.acd_num {
					width: 100%;
					list-style: none;
					margin: clamp(7px, 1.9vw, 14px) auto;
					li {
						font-size: clamp(14px, 3.7vw, 28px);
						font-weight: 300;
						padding-left: clamp(19px, 5.1vw, 38px);
						margin-bottom: clamp(7px, 1.9vw, 14px);
						position: relative;
						&:last-child {
							margin-bottom: 0;
						}
						&:before {
							font-size: clamp(14px, 3.7vw, 28px);
							color: #000;
							position: absolute;
							top: 0;
							left: 0;
							z-index: 2;
						}
						&.num1::before {
							content: "1.";
						}
						&.num2::before {
							content: "2.";
						}
						&.num3::before {
							content: "3.";
						}
					}
				}
			}
			&.accordion.open {
				.acd_head {
					.bar {
						&::before { transform: translate(-50%, -50%) rotate(360deg); }
						&::after { transform: translate(-50%, -50%) rotate(180deg); }
					}
				}
				.acd_body { opacity: 1; }
			}
		}
	}
}
/* cta */
.cta {
	position: relative;
	z-index: 1;
	&.cta_A {
		.item_badge {
			right: 6%;
		}
		.bory_price {
			margin: clamp(-50px, -6.7vw, -25px) auto clamp(15px, 4vw, 30px);
		}
		&.cta_1 {
			.item_badge {
				top: 8%;
			}
			.name_device {
				top: 78%;
			}
			.name_essence {
				top: 78%;
			}
		}
		&.cta_2 {
			.item_badge {
				top: 30%;
			}
			.name_device {
				top: 85%;
			}
			.name_essence {
				top: 85%;
			}
			.title_main {
				line-height: 1.5;
			}
		}
	}
	&.cta_B {
		.item_badge {
			left: 18%;
		}
		.bory_price {
			margin: 0 auto clamp(15px, 4vw, 30px);
		}
		.item_name {
			left: 50%;
			transform: translateX(-50%);
			.name_label {
				.label_text {
					font-weight: 600;
					color: #fff;
					margin-bottom: clamp(3px, 0.8vw, 6px);
					padding: clamp(2px, 0.5vw, 4px) clamp(12px, 3.2vw, 24px);
					background: #505050;
					border-radius: 50px;
					display: inline-block;
				}
			}
			.name_text {
				font-size: clamp(14px, 3.7vw, 28px);
				font-weight: 600;
			}
		}
		&.cta_1 {
			.item_badge {
				top: 12%;
			}
			.item_name {
				top: 80%;
			}
		}
		&.cta_2 {
			.item_badge {
				top: 36%;
			}
			.item_name {
				top: 86%;
			}
			.title_main {
				line-height: 1.25;
			}
		}
	}
	&.cta_1 {
		.cta_head {
			margin-top: clamp(-84px, -11.2vw, -42px);
			padding: clamp(65px, 17.3vw, 130px) 0 clamp(20px, 5.3vw, 40px);
		}
	}
	&.cta_2 {
		.cta_head {
			padding: clamp(30px, 8vw, 60px) 0;
		}
	}
	.cta_head {
		background-image: linear-gradient(to right,#980010,#dd0030 50%,#980010 100%);
		.head_sub {
			text-align: center;
			line-height: 1;
			margin-bottom: clamp(10px, 2.7vw, 20px);
			.sub_text {
				font-size: clamp(16px, 4.3vw, 32px);
				font-weight: 600;
				color: #000;
				padding: clamp(3px, 0.8vw, 6px) clamp(8px, 2.1vw, 16px);
				background: #fff;
			}
		}
		.head_title {
			font-size: clamp(26px, 6.9vw, 52px);
			color: #fff;
			line-height: 1.5;
		}
	}
	.cta_body {
		padding-bottom: clamp(40px, 10.7vw, 80px);
		background: #f3f5f9;
		.body_item {
			position: relative;
			.item_title {
				width: 100%;
				text-align: center;
				position: absolute;
				top: 8%;
				left: 0;
				z-index: 2;
				.title_sub {
					line-height: 1;
					margin-bottom: clamp(10px, 2.7vw, 20px);
					.sub_text {
						font-size: clamp(16px, 4.3vw, 32px);
						font-weight: 600;
						color: #000;
						padding: clamp(3px, 0.8vw, 6px) clamp(8px, 2.1vw, 16px);
						background: #fff;
						border: 1px solid #000;
					}
				}
				.title_main {
					font-size: clamp(26px, 6.9vw, 52px);
					font-weight: 600;
					color: #000;
				}
			}
			.item_badge {
				width: 20%;
				position: absolute;
				z-index: 2;
			}
			.item_name {
				font-size: clamp(10px, 2.7vw, 20px);
				text-align: center;
				line-height: 1.35;
				position: absolute;
				z-index: 2;
				&.name_device {
					left: 18%;
				}
				&.name_essence {
					right: 15%;
				}
			}
		}
		.bory_price {
			width: 89.3%;
			display: block;
			position: relative;
			z-index: 2;
		}
		.body_cheers {
			font-size: clamp(15px, 4vw, 30px);
			font-weight: 600;
			text-align: center;
			margin-bottom: clamp(6px, 1.6vw, 12px);
			.cheers_text {
				padding: 0 clamp(12px, 3.2vw, 24px);
				position: relative;
				&::before {
					content: "";
					width: 2px;
					height: 100%;
					background: #000;
					position: absolute;
					bottom: 0;
					left: 0;
					transform: rotate(-35deg);
				}
				&::after {
					content: "";
					width: 2px;
					height: 100%;
					background: #000;
					position: absolute;
					bottom: 0;
					right: 0;
					transform: rotate(35deg);
				}
			}
		}
		.body_btn {
			width: 89.3%;
			margin: 0 auto clamp(30px, 8vw, 60px);
			background: linear-gradient(to bottom,
				color-mix(in oklab, #c80026 98%, white),
				color-mix(in oklab, #ad001a 98%, white) 100%
			);
			border-radius: clamp(5px, 1.3vw, 10px);
			position: relative;
			&::before {
				content: "";
				position: absolute;
				inset: 0;
				background: linear-gradient(to bottom,
					color-mix(in oklab, #c80026 85%, black),
					color-mix(in oklab, #ad001a 85%, black) 100%
				);
				border-radius: clamp(5px, 1.3vw, 10px);
				opacity: 0;
				transition: opacity 0.5s ease;
				pointer-events: none;
				z-index: 1;
			}
			&:hover::before {
				opacity: 1;
			}
			a {
				font-size: clamp(20px, 5.3vw, 40px);
				font-weight: 600;
				color: #fff;
				text-align: center;
				text-decoration: none;
				line-height: 1;
				padding: clamp(20px, 5.3vw, 40px) clamp(23px, 6.1vw, 46px);
				display: block;
				position: relative;
				z-index: 3;
				&::after{
					content: "";
					width: clamp(8px, 2.1vw, 16px);
					height: clamp(12px, 3.2vw, 24px);
					background: #fff;
					clip-path: polygon(0 0, clamp(2px, 0.5vw, 4px) 0, 100% 50%, clamp(2px, 0.5vw, 4px) 100%, 0 100%, calc(100% - clamp(2px, 0.5vw, 4px)) 50%);
					position: absolute;
					top: 50%;
					right: clamp(12px, 3.2vw, 24px);
					transform: translateY(-50%);
					z-index: 2;
				}
			}
		}
		.body_single {
			width: 89.3%;
			margin: 0 auto;
			padding: clamp(10px, 2.7vw, 20px);
			background: #fff;
			border: 2px solid #d9dee8;
			display: flex;
			justify-content: space-between;
			align-items: center;
			gap: clamp(10px, 2.7vw, 20px);
			.single_item {
				width: 15%;
				img {
					width: clamp(20px, 5.3vw, 40px);
					margin: auto;
					display: block;
				}
			}
			.single_price {
				flex: 1;
				.price_name {
					font-size: clamp(11px, 2.9vw, 22px);
					font-weight: 600;
				}
				.price_value {
					font-size: clamp(27px, 7.2vw, 54px);
					font-weight: 600;
					color: #ba0020;
					line-height: 1.25;
				}
			}
			.single_cv {
				width: 30%;
				display: flex;
				align-items: center;
				.cv_btn {
					width: 100%;
					background: linear-gradient(to bottom,
						color-mix(in oklab, #686868 98%, white),
						color-mix(in oklab, #121212 98%, white) 100%
					);
					border-radius: clamp(5px, 1.3vw, 10px);
					position: relative;
					&::before {
						content: "";
						position: absolute;
						inset: 0;
						background: linear-gradient(to bottom,
							color-mix(in oklab, #686868 85%, black),
							color-mix(in oklab, #121212 85%, black) 100%
						);
						border-radius: clamp(5px, 1.3vw, 10px);
						opacity: 0;
						transition: opacity 0.5s ease;
						pointer-events: none;
						z-index: 1;
					}
					&:hover::before {
						opacity: 1;
					}
					a {
						font-size: clamp(13px, 3.5vw, 26px);
						font-weight: 600;
						color: #fff;
						text-align: center;
						text-decoration: none;
						line-height: 1;
						padding: clamp(10px, 2.7vw, 20px) 0;
						display: block;
						position: relative;
						z-index: 3;
						&::after{
							content: "";
							width: clamp(8px, 2.1vw, 16px);
							height: clamp(12px, 3.2vw, 24px);
							background: #fff;
							clip-path: polygon(0 0, clamp(2px, 0.5vw, 4px) 0, 100% 50%, clamp(2px, 0.5vw, 4px) 100%, 0 100%, calc(100% - clamp(2px, 0.5vw, 4px)) 50%);
							position: absolute;
							top: 50%;
							right: clamp(12px, 3.2vw, 24px);
							transform: translateY(-50%);
							z-index: 2;
						}
					}
				}
			}
		}
		.body_notice {
			width: 89.3%;
			margin: auto;
			padding: clamp(20px, 5.3vw, 40px);
			background: #fff;
			border: 2px solid #d9dee8;
			.notice_title {
				font-size: clamp(15px, 4vw, 30px);
				font-weight: 600;
				color: #ba0020;
				text-align: center;
				margin-bottom: clamp(14px, 3.7vw, 28px);
			}
			.notice_list {
				width: 95%;
				margin-left: 5%;
				list-style-type: disc;
				display: flex;
				flex-direction: column;
				gap: clamp(10px, 2.7vw, 20px);
				li {
					font-size: clamp(12px, 3.2vw, 24px);
					font-weight: 600;
					color: #000;
					line-height: 1.25;
				}
			}
		}
	}
}

/*floatingbnr*/
.floatingbnr {
	position: fixed;
	width: 100%;
	max-width: 750px;
	text-align: center;
	line-height: 0;
	margin: 0 auto;
	bottom: 0;
	z-index: 999;
	opacity: 0;
	transform: translateY(120%);
	pointer-events: none; 
	& a {
		display:block;
		cursor: pointer;
		& img {
			width: 100%;
			max-width: 500px;
			margin: 0 auto;
		}
	}
	&.In{
		pointer-events: auto;
		animation: floatingInAnime 1.5s forwards;
	}
	&.Out{
		animation: floatingOutAnime 0.35s forwards;
	}
}

}/*doctorkeller*/


@keyframes floatingInAnime{
	from {
		opacity: 0;
		transform: translateY(120%);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes floatingOutAnime{
	from {
		opacity: 1;
		transform: translateY(0);
	}
	to {
		opacity: 0;
		transform: translateY(120%);
	}
}