/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
* {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

.animate .fadein {
	opacity: 0;
	transform-style: preserve-3d;
	transition-property: opacity;
	transition-duration: 2000ms;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	transition-delay: 0ms;
}
.animate.show .fadein {
	opacity: 1;
}
.animate .slidein_left {
	opacity: 0;
	transform: translateX(-100px);
	transform-style: preserve-3d;
	transition-property: opacity, transform;
	transition-duration: 1000ms;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	transition-delay: 0ms;
}
.animate .slidein_right {
	opacity: 0;
	transform: translateX(100px);
	transform-style: preserve-3d;
	transition-property: opacity, transform;
	transition-duration: 1000ms;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	transition-delay: 0ms;
}
.animate.show .slidein_left, .animate.show .slidein_right {
	opacity: 1;
	transform: translateX(0);
}
.animate .slidein_top {
	opacity: 0;
	transform: translateY(-20px);
	transform-style: preserve-3d;
	transition-property: opacity, transform;
	transition-duration: 1000ms;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	transition-delay: 0ms;
}
.animate .slidein_bottom {
	opacity: 0;
	transform: translateY(20px);
	transform-style: preserve-3d;
	transition-property: opacity, transform;
	transition-duration: 1000ms;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	transition-delay: 0ms;
}
.animate.show .slidein_top, .animate.show .slidein_bottom {
	opacity: 1;
	transform: translateY(0);
}
.animate .zoomin {
	opacity: 0;
	transform: scale(1.5, 1.5);
	transform-style: preserve-3d;
	transition-property: opacity, transform;
	transition-duration: 500ms;
	transition-delay: 0ms;
}
.animate .zoomout {
	opacity: 0;
	transform: scale(0.5, 0.5);
	transform-style: preserve-3d;
	transition-property: opacity, transform;
	transition-duration: 500ms;
	transition-delay: 0ms;
}
.animate.show .zoomin, .animate.show .zoomout {
	opacity: 1;
	transform: scale(1, 1);
}
.animate .d1 {
	transition-delay: 100ms;
}
.animate .d2 {
	transition-delay: 200ms;
}
.animate .d3 {
	transition-delay: 300ms;
}
.animate .d4 {
	transition-delay: 400ms;
}
.animate .d5 {
	transition-delay: 500ms;
}
.animate .d6 {
	transition-delay: 600ms;
}
.animate .d7 {
	transition-delay: 700ms;
}
.animate .d8 {
	transition-delay: 800ms;
}
.animate .d9 {
	transition-delay: 900ms;
}
.animate .d10 {
	transition-delay: 1000ms;
}
.animate .d11 {
	transition-delay: 1100ms;
}
.animate .d12 {
	transition-delay: 1200ms;
}
.animate .d13 {
	transition-delay: 1300ms;
}
.animate .d14 {
	transition-delay: 1400ms;
}
.animate .d15 {
	transition-delay: 1500ms;
}
.animate .d16 {
	transition-delay: 1600ms;
}
.animate .d17 {
	transition-delay: 1700ms;
}
.animate .d18 {
	transition-delay: 1800ms;
}
.animate .d19 {
	transition-delay: 1900ms;
}
.animate .d20 {
	transition-delay: 2000ms;
}

:root {
	--size: 100vw;
}

.ai-hairsupporter {
	font-family: "Noto Sans JP", sans-serif;
	-webkit-text-size-adjust: 100%;
	position: relative;
}
.ai-hairsupporter a,
.ai-hairsupporter button {
	outline: none;
	color: inherit;
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.ai-hairsupporter a,
	.ai-hairsupporter button {
		opacity: 1;
		transform-style: preserve-3d;
		transition-property: opacity;
		transition-duration: 300ms;
		transition-timing-function: linear;
		transition-delay: 0ms;
		cursor: pointer;
	}
	.ai-hairsupporter a:hover,
	.ai-hairsupporter button:hover {
		opacity: 0.8;
	}
}
.ai-hairsupporter a:hover,
.ai-hairsupporter button:hover {
	text-decoration: none;
}
.ai-hairsupporter img {
	border: 0;
	outline: none;
	display: block;
	width: 100%;
	height: auto;
}
.ai-hairsupporter sup,
.ai-hairsupporter sub {
	height: 0;
	line-height: 1;
	vertical-align: baseline;
	position: relative;
	font-size: 50%;
}
.ai-hairsupporter sup {
	bottom: 1ex;
}
.ai-hairsupporter sub {
	top: 0.5ex;
}
.ai-hairsupporter input,
.ai-hairsupporter textarea,
.ai-hairsupporter select,
.ai-hairsupporter button {
	padding: 0;
	box-sizing: border-box;
	border: 0;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.ai-hairsupporter input::-ms-expand,
.ai-hairsupporter textarea::-ms-expand,
.ai-hairsupporter select::-ms-expand,
.ai-hairsupporter button::-ms-expand {
	display: none;
}
.ai-hairsupporter .word_break {
	word-wrap: break-word;
	word-break: break-all;
}
.ai-hairsupporter * {
	outline: none;
}
.ai-hairsupporter *:hover, .ai-hairsupporter *:active, .ai-hairsupporter *:focus {
	outline: none;
}
.ai-hairsupporter main {
	width: var(--size);
	margin: auto;
	background-color: #fff;
	color: #464646;
	box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.3);
	position: relative;
	left: 0;
	right: 0;
}
.ai-hairsupporter main .inner {
	width: calc(0.9146666667 * var(--size));
	margin: auto;
}
.ai-hairsupporter main .cv .cv_text {
	display: block;
	width: 100%;
}
.ai-hairsupporter main .cv .cv_links {
	display: flex;
	justify-content: space-between;
	margin-top: calc(0.0133333333 * var(--size));
}
.ai-hairsupporter main .cv .cv_links .cv_link {
	display: block;
	width: calc(0.44 * var(--size));
}
.ai-hairsupporter main .cv .cv_btn {
	width: calc(0.7866666667 * var(--size));
	height: calc(0.1026666667 * var(--size));
	border-radius: calc(0.02 * var(--size));
	border: 1px solid #464646;
	background-color: #fff;
	margin: calc(0.0666666667 * var(--size)) auto 0;
	display: grid;
	place-items: center;
	position: relative;
	box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.15);
}
.ai-hairsupporter main .cv .cv_btn .text {
	display: block;
	font-size: calc(0.0333333333 * var(--size));
	line-height: calc(0.0573333333 * var(--size));
	font-weight: 400;
	letter-spacing: 0.5em;
}
.ai-hairsupporter main .cv .cv_btn .icon {
	display: block;
	width: calc(0.0333333333 * var(--size));
	height: calc(0.0333333333 * var(--size));
	position: absolute;
	top: 0;
	bottom: 0;
	right: calc(0.04 * var(--size));
	margin: auto;
}
.ai-hairsupporter main .cv .cv_btn .icon::before, .ai-hairsupporter main .cv .cv_btn .icon::after {
	content: "";
	display: block;
	width: 2px;
	height: 100%;
	background-color: #464646;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.ai-hairsupporter main .cv .cv_btn .icon::after {
	transform: rotate(90deg);
}
.ai-hairsupporter main section.kv {
	margin-bottom: calc(0.088 * var(--size));
}
.ai-hairsupporter main section.kv h1 {
	width: 100%;
	height: auto;
}
.ai-hairsupporter main section.kv h1 img {
	width: 100%;
	height: auto;
}
.ai-hairsupporter main section.supporter {
	margin-top: calc(0.096 * var(--size));
}
.ai-hairsupporter main section.supporter .supporter_box {
	width: 100%;
	padding: calc(0.0533333333 * var(--size)) calc(0.064 * var(--size)) calc(0.0666666667 * var(--size));
	box-sizing: border-box;
	border: calc(0.0053333333 * var(--size)) solid #0BA5C1;
	border-radius: calc(0.04 * var(--size));
}
.ai-hairsupporter main section.supporter .supporter_box .supporter_detail {
	width: calc(0.8106666667 * var(--size));
	display: flex;
	justify-content: start;
	align-items: center;
	gap: calc(0.0533333333 * var(--size));
}
.ai-hairsupporter main section.supporter .supporter_box .supporter_detail .supporter_img {
	display: block;
	width: calc(0.2893333333 * var(--size));
}
.ai-hairsupporter main section.supporter .supporter_box .supporter_detail .supporter_copy {
	max-width: calc(100% - 0.2893333333 * var(--size));
}
.ai-hairsupporter main section.supporter .supporter_box .supporter_detail .supporter_copy .supporter_copy_sub {
	font-size: calc(0.044 * var(--size));
	line-height: calc(0.0733333333 * var(--size));
	font-weight: 500;
}
.ai-hairsupporter main section.supporter .supporter_box .supporter_detail .supporter_copy .supporter_copy_main {
	font-size: calc(0.0413333333 * var(--size));
	line-height: calc(0.06 * var(--size));
	font-weight: 500;
}
.ai-hairsupporter main section.supporter .supporter_box .supporter_detail .supporter_copy .supporter_copy_main span {
	font-size: calc(0.0586666667 * var(--size));
	line-height: calc(0.0853333333 * var(--size));
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #0BA5C1;
}
.ai-hairsupporter main section.supporter .supporter_box .supporter_text {
	font-size: calc(0.036 * var(--size));
	line-height: calc(0.0613333333 * var(--size));
	margin-top: calc(0.036 * var(--size));
}
.ai-hairsupporter main section.point {
	margin-top: calc(0.04 * var(--size));
	margin-bottom: calc(0.1066666667 * var(--size));
}
.ai-hairsupporter main section.point .inner {
	width: 100%;
}
.ai-hairsupporter main section.point h2 {
	display: block;
	width: calc(0.964 * var(--size));
}
.ai-hairsupporter main section.point .point_items {
	width: calc(0.9146666667 * var(--size));
	margin: calc(0.0666666667 * var(--size)) auto 0;
}
.ai-hairsupporter main section.point .point_items .point_item:nth-of-type(n+2) {
	margin-top: calc(0.1066666667 * var(--size));
}
.ai-hairsupporter main section.point .point_items .point_item:nth-of-type(3) .point_item_title {
	padding-bottom: calc(0.0746666667 * var(--size));
	align-items: start;
}
.ai-hairsupporter main section.point .point_items .point_item:nth-of-type(3) .point_item_title h3 {
	padding-top: calc(0.024 * var(--size));
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_title {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: calc(0.0373333333 * var(--size));
	padding-bottom: calc(0.0426666667 * var(--size));
	position: relative;
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_title img {
	display: block;
	width: calc(0.2 * var(--size));
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_title h3 {
	display: block;
	width: fit-content;
	max-width: calc(100% - 0.2373333333 * var(--size));
	font-size: calc(0.0506666667 * var(--size));
	line-height: calc(0.0773333333 * var(--size));
	font-weight: 700;
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_title h3 span {
	font-weight: 800;
	color: #0BA5C1;
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_title h3 small {
	display: block;
	font-size: calc(0.032 * var(--size));
	line-height: calc(0.048 * var(--size));
	font-weight: 700;
	margin-top: calc(0.016 * var(--size));
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_title::after {
	content: "";
	display: block;
	width: calc(0.112 * var(--size));
	height: calc(0.0426666667 * var(--size));
	background: #707070;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_content {
	width: 100%;
	padding: calc(0.06 * var(--size)) calc(0.0506666667 * var(--size)) calc(0.06 * var(--size)) calc(0.1426666667 * var(--size));
	box-sizing: border-box;
	border-radius: calc(0.04 * var(--size));
	background-image: linear-gradient(210deg, rgb(229, 248, 252), rgb(186, 190, 196));
	margin-top: calc(0.0533333333 * var(--size));
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set {
	width: calc(0.7066666667 * var(--size));
	position: relative;
	opacity: 0;
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set img {
	display: block;
	width: calc(0.1533333333 * var(--size));
	height: calc(0.1533333333 * var(--size));
	position: absolute;
	top: calc(-0.024 * var(--size));
	left: calc(-0.16 * var(--size));
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set .point_item_content_textbox {
	width: 100%;
	box-sizing: border-box;
	display: grid;
	place-items: center;
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set .point_item_content_textbox p {
	font-size: calc(0.036 * var(--size));
	line-height: calc(0.0546666667 * var(--size));
	font-weight: 400;
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set:nth-of-type(1) {
	margin-left: auto;
	margin-right: 0;
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set:nth-of-type(1) .point_item_content_textbox {
	height: calc(0.1666666667 * var(--size));
	background: url("/social/ai-hairsupporter/images/bg_point_item_content_textbox_1.png") no-repeat center/100% 100%;
	padding-left: calc(0.0546666667 * var(--size));
	padding-right: calc(0.044 * var(--size));
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set:nth-of-type(1) .point_item_content_textbox.bg3 {
	height: calc(0.2266666667 * var(--size));
	background-image: url("/social/ai-hairsupporter/images/bg_point_item_content_textbox_3.png");
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set:nth-of-type(2) {
	margin-left: 0;
	margin-right: auto;
	margin-top: calc(0.04 * var(--size));
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set:nth-of-type(2) .point_item_content_textbox {
	height: fit-content;
	background: url("/social/ai-hairsupporter/images/bg_point_item_content_textbox_2.png") no-repeat center/100% 100%;
	padding-left: calc(0.0626666667 * var(--size));
	padding-right: calc(0.0413333333 * var(--size));
	padding-top: calc(0.036 * var(--size));
	padding-bottom: calc(0.036 * var(--size));
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_content.show .point_item_content_set {
	animation: 0.2s ease-out forwards;
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_content.show .point_item_content_set:nth-of-type(1) {
	animation-name: bubbleInRight;
	animation-delay: 0.4s;
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_content.show .point_item_content_set:nth-of-type(2) {
	animation-name: bubbleInLeft;
	animation-delay: 0.8s;
}
@keyframes bubbleInRight {
	0% {
		opacity: 0;
		transform: translateX(10px) translateY(-8px) scale(0.97);
	}
	100% {
		opacity: 1;
		transform: translateY(0) translateY(0) scale(1);
	}
}
@keyframes bubbleInLeft {
	0% {
		opacity: 0;
		transform: translateX(-10px) translateY(-8px) scale(0.97);
	}
	100% {
		opacity: 1;
		transform: translateY(0) translateY(0) scale(1);
	}
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_24h {
	margin-top: calc(0.0426666667 * var(--size));
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_24h p {
	font-size: calc(0.06 * var(--size));
	line-height: calc(0.1 * var(--size));
	font-weight: 800;
	text-align: center;
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_24h p span {
	color: #C32923;
}
.ai-hairsupporter main section.point .point_items .point_item .point_item_24h img {
	display: block;
	width: 100%;
	margin-top: calc(0.0373333333 * var(--size));
}
.ai-hairsupporter main section.step {
	margin-top: calc(0.1826666667 * var(--size));
	margin-bottom: calc(0.112 * var(--size));
	padding-bottom: calc(0.1333333333 * var(--size));
	background-color: #F4F0E9;
}
.ai-hairsupporter main section.step .inner {
	padding-top: calc(0.5066666667 * var(--size));
	position: relative;
}
.ai-hairsupporter main section.step h2 {
	display: block;
	width: calc(0.8706666667 * var(--size));
	position: absolute;
	top: calc(-0.0906666667 * var(--size));
	left: 0;
}
.ai-hairsupporter main section.step .step_box {
	width: 100%;
	border: 4px solid #0BA5C1;
	padding: calc(0.1226666667 * var(--size)) 0 calc(0.1066666667 * var(--size));
	box-sizing: border-box;
	border-radius: calc(0.04 * var(--size));
	background-color: #fff;
	position: relative;
	margin-bottom: calc(0.144 * var(--size));
}
.ai-hairsupporter main section.step .step_box:last-of-type {
	margin-bottom: 0;
	padding-bottom: calc(0.0266666667 * var(--size));
}
.ai-hairsupporter main section.step .step_box h3 {
	display: block;
	width: calc(0.5533333333 * var(--size));
	height: fit-content;
	position: absolute;
	top: calc(-0.1413333333 * var(--size));
	left: 0;
	right: 0;
	margin: auto;
}
.ai-hairsupporter main section.step .step_box p {
	display: block;
	width: calc(0.7866666667 * var(--size));
	margin: auto;
	font-size: calc(0.0413333333 * var(--size));
	line-height: calc(0.0733333333 * var(--size));
	font-weight: 600;
}
.ai-hairsupporter main section.step .step_box p span {
	font-weight: 800;
}
.ai-hairsupporter main section.step .step_box p span.navy {
	color: #3D4788;
}
.ai-hairsupporter main section.step .step_box p span.pink {
	color: #F0587F;
}
.ai-hairsupporter main section.step .step_box p span.blue {
	color: #0BA5C1;
}
.ai-hairsupporter main section.step .step_box a {
	display: block;
	width: calc(0.7866666667 * var(--size));
	margin: calc(0.0333333333 * var(--size)) auto 0;
}
.ai-hairsupporter main section.step .step_box img {
	display: block;
	margin: auto;
}
.ai-hairsupporter main section.step .step_box img.img_step2 {
	width: calc(0.7866666667 * var(--size));
	margin-top: calc(0.052 * var(--size));
}
.ai-hairsupporter main section.step .step_box img.img_step3 {
	width: calc(0.8506666667 * var(--size));
	margin-top: calc(0.0266666667 * var(--size));
}
.ai-hairsupporter main section.step .step_box img.img_step4 {
	width: calc(0.8346666667 * var(--size));
	margin-top: calc(0.0533333333 * var(--size));
}
.ai-hairsupporter main section.step .step_box .arrow {
	display: block;
	width: calc(0.064 * var(--size));
	height: calc(0.1373333333 * var(--size));
	background: url("/social/ai-hairsupporter/images/bg_step_box_arrow.png") no-repeat center/100%;
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(-0.0666666667 * var(--size));
	margin: auto;
}
.ai-hairsupporter main section.pick {
	margin-top: calc(0.16 * var(--size));
	margin-bottom: calc(0.08 * var(--size));
}
.ai-hairsupporter main section.pick .box {
	width: calc(0.8666666667 * var(--size));
	padding: calc(0.0466666667 * var(--size)) calc(0.04 * var(--size)) calc(0.04 * var(--size));
	border-radius: calc(0.0266666667 * var(--size));
	border: calc(0.0053333333 * var(--size)) solid #0BA5C1;
	box-sizing: border-box;
	position: relative;
	margin: auto;
}
.ai-hairsupporter main section.pick h2 {
	display: block;
	width: calc(0.4133333333 * var(--size));
	background-color: #fff;
	position: absolute;
	top: calc(-0.08 * var(--size));
	left: 0;
	right: 0;
	margin: auto;
}
.ai-hairsupporter main section.pick h2 .img {
	display: block;
	width: calc(0.3173333333 * var(--size));
	margin: auto;
}
.ai-hairsupporter main section.pick p {
	display: block;
}
.ai-hairsupporter main section.pick p .blue {
	color: #0BA5C1;
}
.ai-hairsupporter main section.pick p.text1 {
	width: fit-content;
	margin: auto;
}
.ai-hairsupporter main section.pick p.text1 .sub {
	font-size: calc(0.0346666667 * var(--size));
	line-height: calc(0.0493333333 * var(--size));
	font-weight: 800;
}
.ai-hairsupporter main section.pick p.text1 .main {
	font-size: calc(0.064 * var(--size));
	line-height: calc(0.0933333333 * var(--size));
	font-weight: 800;
	margin-top: calc(-0.008 * var(--size));
}
.ai-hairsupporter main section.pick p.text2 {
	width: calc(0.7093333333 * var(--size));
	margin: calc(0.0333333333 * var(--size)) auto 0;
}
.ai-hairsupporter main section.pick p.cap {
	width: fit-content;
	margin: calc(-0.0066666667 * var(--size)) auto 0;
	font-size: calc(0.032 * var(--size));
	line-height: calc(0.0466666667 * var(--size));
	font-weight: 400;
}
.ai-hairsupporter main section.pick .arrow {
	display: block;
	width: calc(0.0613333333 * var(--size));
	height: calc(0.032 * var(--size));
	background: url("/social/ai-hairsupporter/images/bg_pick_arrow.png") no-repeat center/100%;
	margin: calc(0.0213333333 * var(--size)) auto calc(0.016 * var(--size));
}
.ai-hairsupporter main footer {
	margin-top: calc(0.1666666667 * var(--size));
	padding-bottom: calc(0.1146666667 * var(--size));
}
.ai-hairsupporter main footer .inner {
	width: calc(0.7866666667 * var(--size));
	margin: auto;
}
.ai-hairsupporter main footer .logo {
	display: block;
	width: calc(0.408 * var(--size));
	margin: auto;
}
.ai-hairsupporter main footer .links {
	margin-top: calc(0.0986666667 * var(--size));
	font-size: calc(0.0266666667 * var(--size));
	line-height: calc(0.0533333333 * var(--size));
	font-weight: 400;
	text-align: center;
}
.ai-hairsupporter main footer .copy {
	margin-top: calc(0.0586666667 * var(--size));
	font-size: calc(0.024 * var(--size));
	line-height: 1;
	font-weight: 400;
	text-align: center;
}
.ai-hairsupporter .modal {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	opacity: 0;
	z-index: -1;
}
.ai-hairsupporter .modal.open {
	opacity: 1;
	z-index: 100;
	animation: modalOpen 0.5s linear;
}
.ai-hairsupporter .modal.close {
	opacity: 0;
	z-index: -1;
	animation: modalClose 0.5s linear;
}
.ai-hairsupporter .modal .modal_bg {
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0.6;
}
.ai-hairsupporter .modal .modal_con {
	width: calc(0.8666666667 * var(--size));
	height: 80%;
	box-sizing: border-box;
	padding: calc(0.0533333333 * var(--size)) calc(0.0666666667 * var(--size));
	border-radius: calc(0.04 * var(--size));
	border: calc(0.0053333333 * var(--size)) solid #0BA5C1;
	background-color: #fff;
	color: #464646;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.ai-hairsupporter .modal .modal_con .modal_close {
	display: block;
	width: calc(0.1066666667 * var(--size));
	height: calc(0.1066666667 * var(--size));
	border-radius: 50%;
	border: calc(0.0053333333 * var(--size)) solid #0BA5C1;
	background-color: #fff;
	position: absolute;
	top: calc(-0.0533333333 * var(--size));
	right: calc(-0.0533333333 * var(--size));
}
.ai-hairsupporter .modal .modal_con .modal_close::before, .ai-hairsupporter .modal .modal_con .modal_close::after {
	content: "";
	display: block;
	width: 60%;
	height: calc(0.0053333333 * var(--size));
	background-color: #0BA5C1;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.ai-hairsupporter .modal .modal_con .modal_close::before {
	transform: rotate(45deg);
}
.ai-hairsupporter .modal .modal_con .modal_close::after {
	transform: rotate(-45deg);
}
.ai-hairsupporter .modal .modal_con .modal_frame {
	width: 100%;
	height: fit-content;
	max-height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	--sb-track-color: transparent;
	--sb-thumb-color: #0BA5C1;
	--sb-size: 6px;
}
.ai-hairsupporter .modal .modal_con .modal_frame::-webkit-scrollbar {
	width: var(--sb-size);
}
.ai-hairsupporter .modal .modal_con .modal_frame::-webkit-scrollbar-track {
	background: var(--sb-track-color);
	border-radius: 3px;
}
.ai-hairsupporter .modal .modal_con .modal_frame::-webkit-scrollbar-thumb {
	background: var(--sb-thumb-color);
	border-radius: 3px;
}
@supports not selector(::-webkit-scrollbar) {
	.ai-hairsupporter .modal .modal_con .modal_frame body {
		scrollbar-color: var(--sb-thumb-color) var(--sb-track-color);
	}
}
.ai-hairsupporter .modal .modal_con .modal_frame .title {
	font-size: calc(0.0426666667 * var(--size));
	line-height: calc(0.0746666667 * var(--size));
	font-weight: 700;
}
.ai-hairsupporter .modal .modal_con .modal_frame .text {
	font-size: calc(0.032 * var(--size));
	line-height: calc(0.0746666667 * var(--size));
	font-weight: 400;
}
@keyframes modalOpen {
	0% {
		z-index: -1;
		opacity: 0;
	}
	1% {
		z-index: 100;
		opacity: 0;
	}
	100% {
		z-index: 100;
		opacity: 1;
	}
}
@keyframes modalClose {
	0% {
		z-index: 100;
		opacity: 1;
	}
	99% {
		z-index: 100;
		opacity: 0;
	}
	100% {
		z-index: -1;
		opacity: 0;
	}
}

@media screen and (max-width: 767px) {
	.sp {
		display: block !important;
	}
	.pc {
		display: none !important;
	}
}
@media screen and (min-width: 768px) {
	:root {
		--size: 100%;
	}
	.sp {
		display: none !important;
	}
	.pc {
		display: block !important;
	}
	.ai-hairsupporter {
		min-width: 980px;
	}
	.ai-hairsupporter main {
		box-shadow: none;
	}
	.ai-hairsupporter main .inner {
		width: 900px;
	}
	.ai-hairsupporter main section.kv {
		width: 100%;
		max-width: 1440px;
		height: 1101px;
		margin: 40px auto 0;
		overflow: hidden;
		position: relative;
	}
	.ai-hairsupporter main section.kv h1 {
		display: block;
		width: auto;
		height: 100%;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	.ai-hairsupporter main section.kv h1 img {
		width: auto;
		height: 100%;
	}
	.ai-hairsupporter main section.kv .cv {
		width: 370px;
		position: absolute;
		top: 255px;
		left: calc(50% + 88px);
	}
	.ai-hairsupporter main section.kv .cv .inner {
		width: 100%;
	}
	.ai-hairsupporter main section.kv .cv .cv_links {
		margin-top: 12px;
	}
	.ai-hairsupporter main section.kv .cv .cv_links .cv_link {
		width: 178px;
	}
	.ai-hairsupporter main section.kv .cv .cv_btn {
		width: 300px;
		height: 40px;
		border-radius: 10px;
		border: 1px solid #464646;
		background-color: #fff;
		margin: 30px;
		display: grid;
		place-items: center;
		position: relative;
		box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.15);
	}
	.ai-hairsupporter main section.kv .cv .cv_btn .text {
		display: block;
		font-size: 14px;
		line-height: 21px;
		font-weight: 400;
		letter-spacing: 0.5em;
	}
	.ai-hairsupporter main section.kv .cv .cv_btn .icon {
		display: block;
		width: 14px;
		height: 14px;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 15px;
		margin: auto;
	}
	.ai-hairsupporter main section.kv .cv .cv_btn .icon::before, .ai-hairsupporter main section.kv .cv .cv_btn .icon::after {
		content: "";
		display: block;
		width: 2px;
		height: 100%;
		background-color: #464646;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
	}
	.ai-hairsupporter main section.kv .cv .cv_btn .icon::after {
		transform: rotate(90deg);
	}
	.ai-hairsupporter main section.supporter {
		margin-top: -226px;
	}
	.ai-hairsupporter main section.supporter .supporter_box {
		width: 100%;
		padding: 30px 30px 40px 220px;
		box-sizing: border-box;
		background-color: #fff;
		border: 2px solid #0BA5C1;
		border-radius: 20px;
		position: relative;
	}
	.ai-hairsupporter main section.supporter .supporter_box .supporter_detail {
		width: 100%;
	}
	.ai-hairsupporter main section.supporter .supporter_box .supporter_detail .supporter_img {
		display: block;
		width: 150px;
		position: absolute;
		top: 33px;
		left: 33px;
	}
	.ai-hairsupporter main section.supporter .supporter_box .supporter_detail .supporter_copy {
		max-width: none;
	}
	.ai-hairsupporter main section.supporter .supporter_box .supporter_detail .supporter_copy .supporter_copy_sub {
		font-size: 20px;
		line-height: 30px;
		font-weight: 500;
	}
	.ai-hairsupporter main section.supporter .supporter_box .supporter_detail .supporter_copy .supporter_copy_main {
		font-size: 24px;
		line-height: 48px;
		font-weight: 500;
	}
	.ai-hairsupporter main section.supporter .supporter_box .supporter_detail .supporter_copy .supporter_copy_main span {
		font-size: 32px;
		font-weight: 700;
		letter-spacing: 0.05em;
		color: #0BA5C1;
	}
	.ai-hairsupporter main section.supporter .supporter_box .supporter_text {
		font-size: 18px;
		line-height: 32px;
		margin-top: 0;
	}
	.ai-hairsupporter main section.point {
		margin-top: 60px;
		margin-bottom: 0;
	}
	.ai-hairsupporter main section.point .inner {
		width: 900px;
	}
	.ai-hairsupporter main section.point h2 {
		display: block;
		width: 649px;
		margin-left: auto;
		margin-right: auto;
	}
	.ai-hairsupporter main section.point .point_items {
		width: 100%;
		margin: 0;
	}
	.ai-hairsupporter main section.point .point_items .point_item:nth-of-type(n+2) {
		margin-top: 100px;
	}
	.ai-hairsupporter main section.point .point_items .point_item:nth-of-type(3) .point_item_title {
		padding-bottom: 44px;
		align-items: start;
	}
	.ai-hairsupporter main section.point .point_items .point_item:nth-of-type(3) .point_item_title h3 {
		padding-top: 30px;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_title {
		display: flex;
		justify-content: start;
		align-items: center;
		gap: 20px;
		padding-bottom: 0;
		position: relative;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_title img {
		display: block;
		width: 100px;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_title h3 {
		display: block;
		width: calc(100% - 120px);
		max-width: none;
		font-size: 28px;
		line-height: 40px;
		font-weight: 700;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_title h3 span {
		font-weight: 800;
		color: #0BA5C1;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_title h3 small {
		display: block;
		font-size: 24px;
		line-height: 36px;
		font-weight: 700;
		margin-top: 10px;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_title::after {
		display: none;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_content {
		width: 750px;
		padding: 45px 30px 45px 80px;
		box-sizing: border-box;
		border-radius: 20px;
		background-image: linear-gradient(210deg, rgb(229, 248, 252), rgb(186, 190, 196));
		margin: 10px auto 0;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set {
		width: 560px;
		position: relative;
		opacity: 0;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set img {
		display: block;
		width: 100px;
		height: 100px;
		position: absolute;
		top: -20px;
		left: -100px;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set .point_item_content_textbox {
		width: 100%;
		box-sizing: border-box;
		display: grid;
		place-items: center;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set .point_item_content_textbox p {
		font-size: 18px;
		line-height: 30px;
		font-weight: 400;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set:nth-of-type(1) {
		margin-left: auto;
		margin-right: 0;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set:nth-of-type(1) .point_item_content_textbox {
		height: 80px;
		background: url("/social/ai-hairsupporter/images/bg_point_item_content_textbox_1_pc.png") no-repeat center/100% 100%;
		padding-left: 30px;
		padding-right: 40px;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set:nth-of-type(1) .point_item_content_textbox.bg3 {
		height: 80px;
		background-image: url("/social/ai-hairsupporter/images/bg_point_item_content_textbox_1_pc.png");
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set:nth-of-type(2) {
		margin-left: 0;
		margin-right: auto;
		margin-top: 40px;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_content .point_item_content_set:nth-of-type(2) .point_item_content_textbox {
		height: fit-content;
		background: url("/social/ai-hairsupporter/images/bg_point_item_content_textbox_2_pc.png") no-repeat center/100% 100%;
		padding-left: 40px;
		padding-right: 30px;
		padding-top: 16px;
		padding-bottom: 18px;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_24h {
		margin-top: 0;
	}
	.ai-hairsupporter main section.point .point_items .point_item .point_item_24h img {
		display: block;
		width: 770px;
		margin: 0 auto;
	}
	.ai-hairsupporter main section.step {
		margin-top: 170px;
		margin-bottom: 0;
		padding-top: 215px;
		padding-bottom: 135px;
		background-color: #F4F0E9;
	}
	.ai-hairsupporter main section.step .inner {
		padding-top: 0;
		position: relative;
	}
	.ai-hairsupporter main section.step h2 {
		display: block;
		width: 886px;
		margin: auto;
		top: -303px;
		left: 0;
		right: 0;
	}
	.ai-hairsupporter main section.step .step_box {
		width: 100%;
		border: 4px solid #0BA5C1;
		box-sizing: border-box;
		border-radius: 20px;
		background-color: #fff;
		position: relative;
		margin-bottom: 70px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.ai-hairsupporter main section.step .step_box:nth-of-type(1) {
		padding: 38px 38px 41px 38px;
		display: block;
	}
	.ai-hairsupporter main section.step .step_box:nth-of-type(2) {
		padding: 28px 27px 11px 38px;
	}
	.ai-hairsupporter main section.step .step_box:nth-of-type(2) p {
		width: 267px;
	}
	.ai-hairsupporter main section.step .step_box:nth-of-type(3) {
		padding: 32px 58px 32px 38px;
	}
	.ai-hairsupporter main section.step .step_box:nth-of-type(3) p {
		width: 448px;
	}
	.ai-hairsupporter main section.step .step_box:nth-of-type(4) {
		padding: 21px 21px 21px 38px;
		margin-bottom: 0;
	}
	.ai-hairsupporter main section.step .step_box:nth-of-type(4) p {
		width: 300px;
	}
	.ai-hairsupporter main section.step .step_box h3 {
		display: block;
		width: 176px;
		height: 79px;
		position: absolute;
		top: -50px;
		left: 0;
		right: auto;
	}
	.ai-hairsupporter main section.step .step_box p {
		display: block;
		width: 100%;
		margin: auto;
		font-size: 21px;
		line-height: 32px;
		font-weight: 600;
		letter-spacing: -0.03em;
	}
	.ai-hairsupporter main section.step .step_box p span {
		font-weight: 800;
	}
	.ai-hairsupporter main section.step .step_box p span.navy {
		color: #3D4788;
	}
	.ai-hairsupporter main section.step .step_box p span.pink {
		color: #F0587F;
	}
	.ai-hairsupporter main section.step .step_box p span.blue {
		color: #0BA5C1;
	}
	.ai-hairsupporter main section.step .step_box .link_flex {
		display: flex;
		justify-content: space-between;
		margin-top: 25px;
	}
	.ai-hairsupporter main section.step .step_box a {
		display: block;
		width: 385px;
		margin: 0;
	}
	.ai-hairsupporter main section.step .step_box img {
		display: block;
		margin: auto;
	}
	.ai-hairsupporter main section.step .step_box img.img_step2 {
		width: 557px;
		margin-top: 0;
	}
	.ai-hairsupporter main section.step .step_box img.img_step3 {
		width: 320px;
		margin-top: 0;
	}
	.ai-hairsupporter main section.step .step_box img.img_step4 {
		width: 476px;
		margin-top: 0;
	}
	.ai-hairsupporter main section.step .step_box .arrow {
		display: block;
		width: 27px;
		height: 68px;
		background: url("/social/ai-hairsupporter/images/bg_step_box_arrow.png") no-repeat center/100%;
		position: absolute;
		left: 0;
		right: 0;
		bottom: -58px;
		margin: auto;
	}
	.ai-hairsupporter main section.pick {
		margin-top: 142px;
	}
	.ai-hairsupporter main section.pick .box {
		width: 100%;
		padding: 42px 0 28px;
		border-radius: 20px;
		border: 4px solid #0BA5C1;
		box-sizing: border-box;
		position: relative;
		margin: auto;
	}
	.ai-hairsupporter main section.pick h2 {
		display: block;
		width: 310px;
		background-color: #fff;
		position: absolute;
		top: -60px;
		left: 0;
		right: 0;
		margin: auto;
	}
	.ai-hairsupporter main section.pick h2 .img {
		display: block;
		width: 238px;
		margin: auto;
	}
	.ai-hairsupporter main section.pick p {
		display: block;
	}
	.ai-hairsupporter main section.pick p .blue {
		color: #0BA5C1;
	}
	.ai-hairsupporter main section.pick p.text1 {
		width: fit-content;
		margin: auto;
	}
	.ai-hairsupporter main section.pick p.text1 .sub {
		font-size: 24px;
		line-height: 35px;
		font-weight: 800;
	}
	.ai-hairsupporter main section.pick p.text1 .main {
		font-size: 42px;
		line-height: 60px;
		font-weight: 800;
		margin-top: -7px;
	}
	.ai-hairsupporter main section.pick p.text2 {
		width: 476px;
		margin: 22px auto 0;
	}
	.ai-hairsupporter main section.pick p.cap {
		width: 457px;
		margin: 0 auto;
		font-size: 15px;
		line-height: 21px;
		font-weight: 400;
	}
	.ai-hairsupporter main section.pick .arrow {
		display: block;
		width: 40px;
		height: 20px;
		background: url("/social/ai-hairsupporter/images/bg_pick_arrow.png") no-repeat center/100%;
		margin: 15px auto 12px;
	}
	.ai-hairsupporter main footer {
		margin-top: 72px;
		padding-bottom: 50px;
	}
	.ai-hairsupporter main footer .inner {
		width: 900px;
		margin: auto;
	}
	.ai-hairsupporter main footer .logo {
		display: block;
		width: 238px;
		margin: auto;
	}
	.ai-hairsupporter main footer .links {
		margin-top: 45px;
		font-size: 14px;
		line-height: 20px;
		font-weight: 400;
		text-align: center;
	}
	.ai-hairsupporter main footer .links span.pc {
		display: inline !important;
	}
	.ai-hairsupporter main footer .copy {
		margin-top: 40px;
		font-size: 12px;
		line-height: 1;
		font-weight: 400;
		text-align: center;
	}
	.ai-hairsupporter main nav {
		width: 174px;
		height: fit-content;
		position: fixed;
		right: 30px;
		bottom: 30px;
		z-index: 20;
	}
	.ai-hairsupporter main nav .nav_text {
		display: block;
		width: 174px;
	}
	.ai-hairsupporter main nav .nav_links {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-top: 5px;
	}
	.ai-hairsupporter main nav .nav_links .nav_link {
		display: grid;
		place-items: center;
		width: 80px;
		height: 80px;
		border: 3px solid #fff;
		border-radius: 50%;
		box-sizing: border-box;
		font-size: 12px;
		line-height: 14px;
		font-weight: 700;
		text-align: center;
		color: #fff;
		transition: transform 0.2s linear;
	}
	.ai-hairsupporter main nav .nav_links .nav_link:hover {
		transform: scale(1.125);
	}
	.ai-hairsupporter main nav .nav_links .nav_link:nth-of-type(1) {
		background-color: #3D4788;
	}
	.ai-hairsupporter main nav .nav_links .nav_link:nth-of-type(2) {
		background-color: #F0587F;
	}
	.ai-hairsupporter .modal .modal_con {
		width: 900px;
		height: 80%;
		padding: 40px 50px;
		border-radius: 20px;
		border: 4px solid #0BA5C1;
	}
	.ai-hairsupporter .modal .modal_con .modal_close {
		display: block;
		width: 50px;
		height: 50px;
		border-radius: 50%;
		border: 3px solid #0BA5C1;
		background-color: #fff;
		position: absolute;
		top: -25px;
		right: -25px;
	}
	.ai-hairsupporter .modal .modal_con .modal_close::before, .ai-hairsupporter .modal .modal_con .modal_close::after {
		content: "";
		display: block;
		width: 60%;
		height: 3px;
		background-color: #0BA5C1;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
	}
	.ai-hairsupporter .modal .modal_con .modal_close::before {
		transform: rotate(45deg);
	}
	.ai-hairsupporter .modal .modal_con .modal_close::after {
		transform: rotate(-45deg);
	}
	.ai-hairsupporter .modal .modal_con .modal_frame {
		width: 100%;
		height: fit-content;
		max-height: 100%;
		overflow-x: hidden;
		overflow-y: auto;
		--sb-track-color: transparent;
		--sb-thumb-color: #0BA5C1;
		--sb-size: 6px;
	}
	.ai-hairsupporter .modal .modal_con .modal_frame::-webkit-scrollbar {
		width: var(--sb-size);
	}
	.ai-hairsupporter .modal .modal_con .modal_frame::-webkit-scrollbar-track {
		background: var(--sb-track-color);
		border-radius: 3px;
	}
	.ai-hairsupporter .modal .modal_con .modal_frame::-webkit-scrollbar-thumb {
		background: var(--sb-thumb-color);
		border-radius: 3px;
	}
	@supports not selector(::-webkit-scrollbar) {
		.ai-hairsupporter .modal .modal_con .modal_frame body {
			scrollbar-color: var(--sb-thumb-color) var(--sb-track-color);
		}
	}
	.ai-hairsupporter .modal .modal_con .modal_frame .title {
		font-size: 24px;
		line-height: 32px;
		font-weight: 700;
	}
	.ai-hairsupporter .modal .modal_con .modal_frame .text {
		font-size: 16px;
		line-height: 24px;
		font-weight: 400;
	}
}