#breadcrumbs {
	padding: 1em 0;
	background: #ffffff;
	color: var(--blue-color31);
	font-size: min(10px, 2.56vw);
}

#breadcrumbs > span {
	display: block;
	margin: 0 auto;
	width: min(1176px, 90vw);
	  white-space: nowrap;
	  overflow: hidden;
	  text-overflow: ellipsis;
}

#breadcrumbs a > span {
	display: none;
}

#main_post h1 {
	flex-wrap: wrap;
	height: min(210px, 46.15vw);
	font-family: 'arial', sans-serif;
	text-align: center;
	line-height: 1.75;
	letter-spacing: .08em;
	z-index: 1;
}

#main_post h1 strong {
	display: block;
	width: 100%;
	color: var(--blue-color31);
	font-size: min(20px, 4.1vw);
	font-weight: 700;
}

#main_post h1 span {
	display: block;
	font-family: hiragino-mincho-pron, serif;
	color: var(--text-color);
	font-size: min(30px, 6.67vw);
}

/* About */

#main_post .logo01 {
	display: block;
	margin: min(120px, 20.51vw) auto 0;
	font-family: 'the-seasons', serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .2em;
	text-align: center;
}

#main_post .logo01 span {
	display: block;
	margin: 0 auto;
	width: 100%;
	font-size: 30%;
	font-weight: 400;
	letter-spacing: .24em;
}

#main_post h2.h2_about {
	margin: 1em auto .5em;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(46px, 8.72vw);
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	letter-spacing: .08em;
}

#main_post h2.h2_about span {
	color: var(--pink-color);
}

#main_post > p.lead {
	font-size: min(14px, 3.59vw);
	font-weight: 600;
	text-align: center;
}

#main_post .main_about {
	margin: 80px 0 0;
	height: min(744px, 83.59vw);
	width: calc(50% + 588px);
	background: url(../images/bg_aboutmain.webp) no-repeat 50% 50%;
	background-size: cover;
	position: relative;
}

#main_post .main_about img {
	width: min(1228px, 181.54vw);
	max-width: initial;
	position: absolute;
	bottom: 0;
	right: -116px;
}

#main_post .main_about .logo02 {
	margin: 0;
	font-size: min(40px, 6.67vw);
	position: absolute;
	left: calc((100vw - 1176px)/2);
	bottom: 40px;
}

#main_post .about_obsession {
	margin: 80px auto 0;
	padding: 80px;
	width: min(1176px, 100vw);
	background: var(--liteblue-color);
	position: relative;
}

#main_post .about_obsession::after {
	content: '';
	width: calc((100vw - 1176px)/2);
	height: 100%;
	background: var(--liteblue-color);
	position: absolute;
	top: 0;
	left: 100%;
}

#main_post .about_obsession h3,
/*#main_post :is(.voice, .faq) h2,*/
#main_post .tit_common {
	margin: 0 auto;
	width: min(1176px, 90vw);
	font-size: min(24px, 6.15vw);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .08em;
}

#main_post .about_obsession h3 small,
/*#main_post :is(.voice, .faq) h2 small,*/
#main_post .tit_common small {
	margin-left: .75em;
	color: var(--blue-color31);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(16px, 4.1vw);
}

#main_post .about_obsession ul {
	display: flex;
	flex-wrap: wrap;
	margin: 2rem auto 0;
	padding: 0 0 0 1rem;
	width: min(1016px, 90vw);
}

#main_post .about_obsession ul li {
	padding: 30px 0;
	width: 100%;
	border-bottom: 1px solid var(--blue-color31);
}

#main_post .about_obsession ul li:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

#main_post .about_obsession ul li h4 {
	color: var(--blue-color31);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(24px, 5.64vw);
	font-weight: 600;
}

#main_post .about_obsession ul li h4 span {
	margin-right: .35em;
	color: #83BCE5;
	font-size: min(32px, 7.69vw);
	position: relative;
	top: .075em;
}

#main_post .about_obsession ul li p {
	margin: .75em 0 0;
	font-size: 14px;
	font-weight: 600;
}

#main_post .about_obsession ul li p.note {
	margin: .5em 0 0;
	font-size: min(10px, 2.56vw);
}

#main_post .about_purpose {
	display: flex;
	flex-wrap: wrap;
	margin: min(163px, 15.38vw) auto 0;
	width: min(1176px, 100vw);
}

#main_post .about_purpose li:first-child {
	width: min(376px, 95vw);
	z-index: 1;
}

#main_post .about_purpose li:first-child img {
	display: block;
	box-shadow: 0 .25rem .25rem rgba(0, 0, 0, .25);
	position: relative;
	top: -52px;
}

#main_post .about_purpose li:last-child {
	padding: 20px 0 0 40px;
	width: min(800px, 100vw);
	height: 192px;
	background: var(--main-color);
	position: relative;
}

#main_post .about_purpose li:last-child p {
	font-size: min(14px, 3.59vw);
}

#main_post .about_purpose li:last-child p strong {
	font-weight: 600;
}

#main_post .about_purpose li:last-child::before,
#main_post .about_purpose li:last-child::after {
	content: '';
	width: 200px;
	height: 100%;
	background: var(--main-color);
	position: absolute;
	top: 0;
	left: -200px;
}

#main_post .about_purpose li:last-child::after {
	width: calc((100vw - 1176px)/2);
	left: 100%;
}

#main_post .about_purpose li:last-child h3 {
	padding: 0 0 0 1.25em;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(24px, 6.15vw);
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: .08em;
	position: absolute;
	top: -2em;
	left: 40px;
	z-index: 1;
}

#main_post .about_purpose li:last-child h3 span {
	color: var(--blue-color31);
}

#main_post .about_purpose li:last-child h3::before {
	content: '';
	display: block;
	width: min(66px, 16.92vw);
	height: min(66px, 16.92vw);
	border: 2px solid var(--blue-color31);
	border-radius: 50%;
	position: absolute;
	top: -1.1em;
	left: 0;
	z-index: -1;
}

#main_post .about_purpose li:last-child h3::after {
	content: '';
	width: 2em;
	height: 1.4em;
	background: #fff;
	transform: rotate(-15deg);
	position: absolute;
	top: 0;
	left: min(36px, 9.23vw);
	z-index: -1;
}

#main_post .about_purpose02 {
	margin: 103px auto 18px;
}

#main_post .about_purpose02 li:last-child::before {
	left: 100%;
}

#main_post .about_purpose02 li:last-child::after {
	left: calc(0px - (100vw - 1176px)/2);
}

#main_post .about_purpose02 li:first-child {
	order: 1;
}

#main_post .about_purpose02 li:last-child {
	padding-left: 82px;
}

#main_post .about_purpose02 li:last-child h3 {
	left: 82px;
}

/* 料金・プランのご案内 */
#main_post .campaign01 {
	margin: 60px auto;
	top: 0;
}

#main_post .normal_plan {
	padding: 80px 0;
	background: var(--main-color);
}

#main_post .normal_plan > p {
	margin: 3.5em auto;
	width: min(1176px, 90vw);
	font-size: 14px;
	text-align: center;
}

#main_post .parts {
	padding: 80px 0;
	background: var(--blue-color31);
}

#main_post .parts h2 {
	color: #ffffff;
}

#main_post .parts h2 small {
	color: var(--main-color);
}

#main_post .parts h3 {
	margin: min(100px, 12.82vw) auto 0;
	color: #ffffff;
	font-size: min(80px, 16.41vw);
	font-weight: 900;
	line-height: 1;
	text-align: center;
	position: relative;
}

#main_post .parts h3::before,
#main_post .parts h3::after {
	content: '';
	margin: 0 auto;
	width: min(830px, 76.92vw);
	height: 1.5px;
	background: #ffffff;
	position: absolute;
	bottom: .7rem;
	right: 0;
	left: 0;
}

#main_post .parts h3 span {
	font-size: 75%;
}

#main_post .parts h3 strong {
	color: var(--yellow-color);
	font-size: 200%;
	position: relative;
}

#main_post .parts h3 strong::before {
	content: '';
	margin: 0 auto;
	width: 46px;
	height: 41px;
	background: url(../images/fig_check01.svg) no-repeat 50% 50%;
	background-size: 100%;
	position: absolute;
	top: -.25em;
	right: 0;
	left: 0;
}

#main_post .parts h3 small {
	display: block;
	font-size: 65%;
	font-weight: 100;
	position: absolute;
	top: .6em;
	right: calc(50% + 2.5em);
}

#main_post .parts .parts_body_sp {
	display: none;
}
 
#main_post .parts .parts_body {
	margin: 2.5rem auto 0;
	width: 830px;
	height: 972px;
	position: relative;
}

#main_post .parts .parts_body h4 {
	color: rgba(255, 255, 255, .5);
	font-family: hiragino-mincho-pron, serif;
	font-size: 150px;
	font-weight: 600;
	line-height: 1;
  	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
  	text-orientation: upright;
  	justify-items: center;
  	position: absolute;
  	top: 24px;
  	left: 20%;
  	z-index: 0;
}

#main_post .parts .parts_body .body01 {
	display: block;
	margin: 0 auto;
	width: 445px;
	position: absolute;
	top: 18px;
	right: 0;
	left: 30px;
	z-index: 0;
}

#main_post .parts .parts_body > ul {
	display: flex;
	flex-wrap: wrap;
	width: 210px;
	position: relative;
	gap: 12px 0;
	z-index: 1;
}

#main_post .parts .parts_body > ul li {
	width: 100%;
}

#main_post .parts .parts_body > ul li span {
	display: inline-flex;
	padding: .1em .75em;
	min-width: 6em;
	background: var(--yellow-color);
	border-radius: 1.5em;
	color: var(--blue-color31);
	font-size: 20px;
	font-weight: 600;
	justify-content: center;
}

#main_post .parts .parts_body > ul li p {
	margin: 1em 0 0;
	color: #ffffff;
	font-size: 13px;
	line-height: 1.5;
}

#main_post .parts .parts_body > ul.ul_r {
	width: 300px;
	position: absolute;
	top: 0;
	right: 0;
}

#main_post .parts .parts_body > ul.ul_r li {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}

#main_post .parts .parts_body > h5 {
    display: inline-block;
    color: #ffffff;
    font-family: 'the-seasons', serif;
    font-size: 44px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .2em;
    text-align: center;
    position: absolute;
    right: 0;
}

#main_post .parts .parts_body > h5 span {
    display: block;
    margin: 0 auto;
    width: 100%;
    font-size: 30%;
    font-weight: 400;
    letter-spacing: .24em;
    text-align: center;
}

#main_post .parts .parts_body > h5 strong {
	display: block;
	font-family: hiragino-mincho-pron, serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .1em;
}

#main_post .discount_plan {
	padding: 80px 0 40px;
}

#main_post .discount_plan ul {
	display: flex;
	flex-wrap: wrap;
	margin: 60px auto;
	padding: 0 100px 40px;
	width: min(1176px, 90vw);
	border-bottom: 1px dashed var(--text-color);
	justify-content: center;
	gap: 0 20px;
}

#main_post .discount_plan ul li {
	display: flex;
	flex-wrap: wrap;
	width: 312px;
	height: 312px;
	background: var(--liteblue-color);
	border-radius: 80px 0 80px 0;
	text-align: center;
	justify-content: center;
	align-items: center;
}

#main_post .discount_plan ul li img {
	display: block;
	margin: 0 auto;
	width: 110px;
}

#main_post .discount_plan ul.ul_pay li img {
	width: 120px;
}

#main_post .discount_plan ul li h3 {
	margin: .75em auto 0;
	width: 100%;
	color: var(--blue-color31);
	font-size: 20px;
	font-weight: 600;
}

#main_post .discount_plan ul li p {
	margin: .5em auto 0;
	line-height: 1.625;
}

#main_post .discount_plan ul.ul_pay li {
	position: relative;
}

#main_post .discount_plan ul.ul_pay li p {
	margin: 0 auto;
	position: absolute;
	top: 77%;
	right: 0;
	left: 0;
}

#main_post .discount_plan ul li p strong {
	font-weight: 600;
}

/* Machine */

#main_post .machine {
	padding: 160px 0 0;
}

#main_post .machine .img_machine01 {
	margin-top: 40px;
}

#main_post .machine :is(.img_machine01, .img_machine02) {
	width: 100%;
	height: min(420px, 107.69vw);
	background: url(../images/img_machine02.webp) no-repeat 82% 25%, url(../images/bg_machine01.webp) no-repeat 50% 65%;
	background-size: 345px, cover;
	position: relative;
}

#main_post .machine :is(.img_machine01, .img_machine02)::before {
	content: '';
	width: 100%;
	height: 100%;
	background: var(--main-color);
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	left: 0;
}

#main_post .machine .img_machine02 {
	background: url(../images/bg_machine02.webp) no-repeat 50% 67%;
	background-size: cover;
}

#main_post .machine .copy_machine {
	background: var(--main-color);
	padding: 90px 0 0;
	height: 623px;
	position: relative;
}

#main_post .machine .copy_machine ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	width: min(1176px, 90vw);
}

#main_post .machine .copy_machine ul li {
	padding: 0 0 0 100px;
	width: 57%;
	position: relative;
}

#main_post .machine .copy_machine ul li:last-child {
	width: 43%;
}

#main_post .machine .copy_machine ul li h3,
#main_post :is(.machine, .campaign) :is(.wrap_points, .difference, .reason, .value) h3 {
	color: var(--blue-color31);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(34px, 7.18vw);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: .08em;
	position: relative;
	z-index: 1;
}

#main_post .machine .copy_machine ul li p {
	margin: 2em 0 0;
	font-size: min(14px, 3.59vw);
	font-weight: 600;
}

#main_post .machine .copy_machine ul li p span {
	color: var(--pink-color);
}

#main_post .machine .copy_machine ul li .logo_epix {
	display: block;
	margin: 1rem 0 0;
	width: min(185px, 34.62vw);
}

#main_post .machine .copy_machine ol {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	width: min(1176px, 90vw);
	gap: 24px;
	position: absolute;
	bottom: -226px;
	right: 0;
	left: 0;
	z-index: 1;
}

#main_post .machine .copy_machine ol li {
	width: min(276px, 43vw);
	aspect-ratio: 1 / 1;
	background: #ccc;
	border-radius: .6rem;
}

#main_post .machine .copy_machine ul li .epix_machine01 {
	display: block;
	width: min(296px, 60.77vw);
	height: min(455px, 93.33vw);
	position: absolute;
	top: -30px;
	left: -76px;
	z-index: 1;
}

#main_post .machine .copy_machine ul li .epix_machine01::before {
	content: '';
	width: min(296px, 60.77vw);
	height: 84px;
	background: url(../images/img_epix01.webp) no-repeat 50% 100%;
	background-size: cover;
	position: absolute;
	bottom: -55px;
	left: 0;
	transform: scaleY(-1);
	opacity: .6;
	z-index: -2;
}

#main_post .machine .copy_machine ul li .epix_machine01 strong {
	font-size: min(10px, 2.56vw);
	position: absolute;
	left: -100px;
	bottom: 0;
}

#main_post .machine .copy_machine ul li .epix_girl01 {
	display: block;
	width: min(232px, 42.31vw);
	height: min(587px, 106.92vw);
	position: absolute;
	right: 45px;
	top: -50px;
}

#main_post .machine .wrap_points {
	padding: min(20px, 5vw);
	background: var(--blue-color31);
}

#main_post .machine .wrap_points .rev_points {
	margin: 0 auto;
	padding: min(80px, 10.26vw) min(100px, 5vw) min(80px, 20.51vw);
	width: min(1176px, 90vw);
	background: #ffffff;
	border-radius: .6rem;
}

#main_post :is(.machine, .campaign) :is(.wrap_points, .difference, .reason, .value) h3 {
	text-align: center;
}

#main_post .machine .wrap_points ul {
	display: flex;
	flex-wrap: wrap;
	margin: 50px 0 0;
	width: min(976px, 80vw);
	gap: min(60px, 5.13vw) 0;
}

#main_post .machine .wrap_points ul li:nth-child(2n+1) {
	display: flex;
	width: 200px;
	align-items: center;
}

#main_post .machine .wrap_points ul li:nth-child(2n) {
	display: flex;
	flex-wrap: wrap;
	width: 776px;
	align-items: center;
}

#main_post .machine .wrap_points ul li img {
	display: block;
	width: 80%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	position: relative;
	bottom: -12px;
}

#main_post .machine .wrap_points ul li h4 {
	display: flex;
	font-size: min(20px, 4.62vw);
	font-weight: 600;
	line-height: 1.5;
	align-items: center;
}

#main_post .machine .wrap_points ul li h4 strong {
	margin-right: .5em;
	padding: 0 1.25em;
	background: var(--pink-color);
	border-radius: 1em;
	color: #ffffff;
	font-size: min(16px, 4.1vw);
}

#main_post .machine .wrap_points ul li h4 span {
	color: var(--pink-color);
}

#main_post .machine .wrap_points ul li p {
	margin: 1em 0 0;
	font-size: min(14px, 3.59vw);
	font-weight: 600;
	position: relative;
}

#main_post .machine .wrap_points ul li p::after {
	content: '';
	width: min(776px, 80vw);
	height: 1px;
	background: repeating-linear-gradient(90deg, var(--text-color), var(--text-color) 2px, #ffffff 2px, #ffffff 4px);
	position: absolute;
	bottom: -2rem;
	left: 0;
}

#main_post .machine .difference {
	margin: 0 auto;
	padding: 60px 0 50px;
	width: min(1176px, 100vw);
	position: relative;
}

#main_post .machine .difference img {
	display: block;
	width: min(249px, 15.13vw);
	position: absolute;
	left: calc(50% + 285px);
	bottom: 0;
}

#main_post .machine .difference > ul {
	display: flex;
	flex-wrap: wrap;
	margin: 80px auto 0;
	width: min(976px, 100vw);
	border: 1px solid var(--text-color);
	line-height: 1.25;
}

#main_post .machine .difference > ul > li {
	width: 50%;
	position: relative;
}

#main_post .machine .difference > ul > li:nth-child(-n+2) {
	display: flex;
	padding: 20px 0 20px 60px;
	background: var(--text-color);
	color: #ffffff;
	font-size: min(16px, 3.08vw);
}

#main_post .machine .difference > ul > li:first-child span {
	display: block;
	width: 160px;
}

#main_post .machine .difference > ul > li:nth-child(3) {
	padding: 24px 0 24px 60px;
	background: linear-gradient(90deg, var(--liteblue-color), var(--liteblue-color) 180px, #ffffff 180px, #ffffff);
}

#main_post .machine .difference > ul > li > ul {
	display: flex;
	flex-wrap: wrap;
	font-size: min(16px, 3.08vw);
}

#main_post .machine .difference > ul > li > ul > li:nth-child(2n+1) {
	width: 160px;
	font-weight: 600;
}

#main_post .machine .difference > ul > li > ul > li:nth-child(2n) {
	width: 267px;
}

#main_post .machine .difference > ul > li > ul > li {
	display: flex;
	height: 3.75rem;
	border-bottom: 1px solid #BBC9C7;
	align-items: center;
}

#main_post .machine .difference > ul > li > ul > li:nth-last-child(-n+2) {
	border-bottom: none;
}

#main_post .machine .difference > ul > li > div {
	padding: 5px;
	width: min(400px, 50vw);
	background: linear-gradient(90deg, var(--pink-color), var(--blue-color31));
	position: absolute;
	top: -100px;
	left: -12px;
}

#main_post .machine .difference > ul > li > div > h4 {
	display: flex;
	height: min(95px, 19.23vw);
	color: #ffffff;
	font-size: min(54px, 7.44vw);
	font-weight: 600;
	justify-content: center;
	align-items: center;
}

#main_post .machine .difference > ul > li > div > h4 small {
	font-size: min(22px, 2.56vw);
}

#main_post .machine .difference > ul > li > div > ul.ul_epix {
	display: flex;
	flex-wrap: wrap;
	padding: 24px 60px;
	background: #ffffff;
	justify-content: center;
	align-items: center;
}

#main_post .machine .difference > ul > li > div > ul.ul_epix li {
	display: flex;
	height: 3.75rem;
	width: 100%;
	border-bottom: 1px solid;
	border-image: linear-gradient(90deg, var(--pink-color), var(--blue-color31)) 1;
	color: var(--pink-color);
	font-size: min(20px, 3.59vw);
	font-weight: 600;
	align-items: center;
}

#main_post .machine .difference > ul > li > div > ul.ul_epix li:last-child {
	border-bottom: none;
}

#main_post .machine .difference > ul > li > div > ul.ul_epix li span {
	color: var(--text-color);
	font-weight: 300;
}

#main_post :is(.machine, .campaign) :is(.reason, .value) {
	padding: 60px 0;
	background: var(--main-color);
}

#main_post :is(.machine, .campaign) .reason > ul {
	display: flex;
	flex-wrap: wrap;
	margin: min(70px, 15.38vw) auto 0;
	width: min(976px, 70.77vw);
	justify-content: space-between;
}

#main_post :is(.machine, .campaign) .reason > ul li {
	padding: 3.5rem 0 0;
	width: min(276px, 70.77vw);
	aspect-ratio: 1 / 1;
	background: #ffffff url(../images/fig_lpc.svg) no-repeat 50% 50%;
	background-size: 50%;
	border-radius: 50%;
	font-weight: 600;
	line-height: 1.75;
	text-align: center;
	position: relative;
}

#main_post :is(.machine, .campaign) .reason > ul li::before {
	counter-increment: number3 1;
	content: '0'counter(number3);
	margin: 0 auto;
	color: var(--pink-color);	
	font-size: min(50px, 12.82vw);
	font-weight: 600;
	text-align: center;
	position: absolute;
	top: -.85em;
	right: 0;
	left: 0;
	z-index: 1;
}

#main_post :is(.machine, .campaign) .reason > ul li::after {
	content: '';
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: rgba(255, 255, 255, .6);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

#main_post :is(.machine, .campaign) .reason > ul li :is(img, h4, p) {
	position: relative;
	z-index: 1;
}

#main_post :is(.machine, .campaign) .reason > ul li img {
	display: block;
	margin: 0 auto;
	width: 90px;
}

#main_post :is(.machine, .campaign) .reason > ul li h4 {
	font-size: 20px;
}

#main_post :is(.machine, .campaign) .reason > ul li h4 span,
#main_post .machine .value > p span {
	color: var(--pink-color);
}

#main_post .machine .reason > ul li p {
	font-size: 14px;
}

#main_post .machine .value {
	background: url(../images/bg_machine03.webp) no-repeat 50% 50%;
	background-size: cover;
	position: relative;
}

#main_post .machine .value::before {
	content: '';
	width: 100%;
	height: 100%;
	background: var(--main-color);
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

#main_post .machine .value > p {
	margin: 2.5em auto 0;
	width: min(776px, 90vw);
	font-size: min(14px, 3.59vw);
	font-weight: 600;
	position: relative;
	z-index: 1;
}

#main_post .machine .value > ul {
	display: flex;
	flex-wrap: wrap;
	margin: 3rem auto 0;
	width: min(1176px, 90vw);
	justify-content: space-between;
	position: relative;
	z-index: 1;
}

#main_post .machine .value > ul li {
	width: min(276px, 43vw);
	height: min(276px, 43vw);
}

#main_post .machine .value > ul li img {
	border-radius: .6rem;
}

#main_post .machine .detail {
	padding: 80px 0;
	background: var(--liteblue-color);
}

#main_post .machine .detail > img {
	display: block;
	margin: min(80px, 10.26vw) auto 0;
	width: min(300px, 48.97vw);
}

#main_post .machine .detail > ul {
	display: flex;
	flex-wrap: wrap;
	margin: min(70px, 7.69vw) auto 0;
	width: min(976px, 100vw);
	border: 1px solid;
	font-weight: 600;
}

#main_post .machine .detail > ul > li:first-child {
	padding: .75em 0 !important;
	width: 100% !important;
	background: var(--text-color) !important;
	color: #ffffff;
	font-size: min(16px, 4.1vw) !important;
	text-align: center;
	order: -1;
}

#main_post .machine .detail > ul > li:not(:first-child) {
	width: 50%;
}

#main_post .machine .detail > ul > li > ul {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	height: 100%;
	font-size: min(14px, 3.08vw);
	line-height: 1.75;
}

#main_post .machine .detail > ul > li > ul >li:nth-child(2n+1) {
	padding: 1em 0 1em 1.25em;
	width: 28%;
	background: var(--main-color);
	border-bottom: 1px solid #BBC9C7;
}

#main_post .machine .detail > ul > li > ul >li:nth-child(2n) {
	padding: 1em 1em 1em 1.25em;
	width: 72%;
	background: #ffffff;
	border-bottom: 1px solid #BBC9C7;
}

#main_post .machine .detail > ul > li:nth-last-child(-n+2) {
	border-bottom: none;
}

/* キャンペーン */
#main_post .campaign .main_camp {
	width: 100%;
	height: 1180px;
	background: url(../images/bg_campaign01.webp) no-repeat 50% 50%;
	background-size: cover;
	position: relative;
}

#main_post .campaign .main_camp::before,
#main_post .campaign .main_camp::after,
#main_post .campaign .main_camp .wrap_camp::before,
#main_post .campaign .main_camp .wrap_camp::after {
	content: 'LAPOCHE';
	color: rgba(255, 255, 255, .5);
	font-family: 'the-seasons', serif;
	font-size: min(160px, 18.46vw);
	font-weight: 700;
	line-height: 1;
	letter-spacing: .1em;
	position: absolute;
	top: -.15em;
	left: calc((100vw - 1176px)/2);
}

#main_post .campaign .main_camp::after {
	top: auto;
	bottom: -.135em;
	left: auto;
	right: calc((100vw - 1176px)/2);
}

#main_post .campaign .main_camp .wrap_camp {
	margin: 0 auto;
	padding: 150px 0 0;
	width: min(1176px, 100vw);
	height: 100%;
	position: relative;
}

#main_post .campaign .main_camp .wrap_camp::before {
	transform: rotate(90deg);
	transform-origin: 100% 0%;
	top: 5.3em;
	left: auto;
	right: -.15em;
}

#main_post .campaign .main_camp .wrap_camp::after {
	transform: rotate(-90deg);
	transform-origin: 0 0;
	top: auto;
	bottom: -1.05em;
	left: -.15em;
}

#main_post .campaign .main_camp .wrap_camp > h2 {
	margin: 0 auto;
	width: min(576px, 100vw);
	font-size: min(28px, 6.15vw);
	font-weight: 600;
}

#main_post .campaign .main_camp .wrap_camp > h2 span {
	color: var(--pink-color);
}

#main_post .campaign .main_camp .wrap_camp > h4 {
	font-size: min(22px, 3.08vw);
	font-weight: 600;
	font-feature-settings: initial;
	writing-mode: vertical-rl;
	text-orientation: upright;
	letter-spacing: .2em;
	position: absolute;
	top: 220px;
	left: calc(50% + 304px);
    z-index: 1;
}

#main_post .campaign .main_camp .wrap_camp > h4:nth-of-type(2) {
	top: 540px;
	left: auto;
	right: calc(50% + 304px);
}

#main_post .campaign .main_camp .wrap_camp .campgirl01 {
	display: block;
	width: min(346px, 61.28vw);
	position: absolute;
	bottom: 12px;
	right: 44px;
	z-index: 1;
}

#main_post .campaign .main_camp .wrap_camp .spcamp01 {
	display: block;
	width: min(243px, 41.54vw);
	position: absolute;
	bottom: 483px;
	right: -10px;
	z-index: 1;
}

#main_post .campaign .main_camp .wrap_camp .ul_epix {
	display: flex;
	width: min(467px, 100vw);
	height: 221px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}

#main_post .campaign .main_camp .wrap_camp .ul_epix li:first-child {
	display: flex;
	width: min(147px, 30.77vw);
	align-items: flex-end;
}

#main_post .campaign .main_camp .wrap_camp .ul_epix li:nth-child(2) {
	padding: 1.5rem 0 0 1.5rem;
	width: min(202px, 38.97vw);
}

#main_post .campaign .main_camp .wrap_camp .ul_epix li:nth-child(2) h5 {
	font-family: hiragino-mincho-pron, serif;
	font-size: min(33px, 8.46vw);
	line-height: 1.5;
	letter-spacing: .06em;
}

#main_post .campaign .main_camp .wrap_camp .ul_epix li:nth-child(2) h5 ruby rt {
	font-size: min(8px, 2.05vw);
	text-align: center;
}

#main_post .campaign .main_camp .wrap_camp .ul_epix li:nth-child(2) h5 small {
	display: block;
	font-size: min(14px, 3.59vw);
}

#main_post .campaign .main_camp .wrap_camp .ul_epix li:nth-child(2) p {
	margin: 0;
	font-size: min(8px, 2.05vw);
}

#main_post .campaign .main_camp .wrap_camp .ul_epix li:last-child {
	width: 118px;
	position: relative;
}

#main_post .campaign .main_camp .wrap_camp .ul_epix li:last-child p {
	font-size: min(7px, 1.79vw);
	position: absolute;
	left: -85px;
	bottom: 40px;
}

#main_post .campaign .main_camp .wrap_camp .cont_camp {
	margin: 1rem auto 0;
	padding: 40px 50px;
	width: min(576px, 100vw);
	height: 710px;
	background: rgba(255, 255, 255, .8);
	border-radius: .6rem;
	position: relative;
}

#main_post .campaign .main_camp .wrap_camp .cont_camp > strong {
	padding: .5em 1.25em;
	background: linear-gradient(90deg, var(--pink-color), var(--blue-color31));
	border-radius: 1em;
	color: #ffffff;
	font-size: min(22px, 3.85vw);
	font-weight: 600;
}

#main_post .campaign .main_camp .wrap_camp .cont_camp > h3 {
	margin: .25em 0 0;
	font-size: min(60px, 9.74vw);
	font-weight: 600;
	line-height: 1;
}

#main_post .campaign .main_camp .wrap_camp .cont_camp > h3 span {
	color: var(--pink-color);
}

#main_post .campaign .main_camp .wrap_camp .cont_camp > h3 > span > span {
	font-size: 125%;
	position: relative;
	bottom: -.04em;
}

#main_post .campaign .main_camp .wrap_camp .cont_camp > h3 > strong {
	color: var(--pink-color);
	font-size: min(216px, 33.85vw);
	position: relative;
}

#main_post .campaign .main_camp .wrap_camp .cont_camp > h3 > strong > small {
	color: var(--text-color);
	font-size: min(70px, 12.82vw);
	-webkit-text-stroke: 6px #ffffff;
  	text-stroke: 6px #ffffff;
  	paint-order: stroke;
  	position: absolute;
  	bottom: -.3em;
  	right: -.15em;
}

#main_post .campaign .main_camp .wrap_camp .cont_camp > h3 > b {
	display: block;
	margin: 0;
	font-size: min(25px, 4.36vw);
	font-weight: 600;
}

#main_post .campaign .main_camp .wrap_camp .cont_camp > p {
	margin: 1.5em 0 0;
	font-size: min(12px, 2.56vw);
	line-height: 1.5;
}

.notfound > button,
#main_post .link_reserve a,
#main_post .campaign .main_camp .wrap_camp .cont_camp > a,
#main_post .campaign .apply_camp01 > a,
#main_post .apply_counseling > a {
	display: block;
	margin: .75em 0 0;
	padding: 1.25em 0;
	border-radius: 3em;
	color: #ffffff;
	font-size: min(20px, 4.1vw);
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: .1em;
	text-align: center;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.notfound > button,
#main_post .link_reserve a {
	margin: 3rem auto 0;
	padding: 1em 0;
	width: min(476px, 90vw);
	font-size: min(16px, 3.85vw);
}

#main_post .salon-item > .link_reserve a {
	margin: 2em 0 0;
	padding: .75em 0;
	width: 100% !important;
}

.notfound > button::before,
#main_post .link_reserve a::before,
#main_post .campaign .main_camp .wrap_camp .cont_camp > a::before,
#main_post .campaign .apply_camp01 > a::before,
#main_post .apply_counseling > a::before {
	content: '';
	margin: auto;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, var(--blue-color31), var(--pink-color));
	transition: .5s;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
}

#main_post .link_reserve a::after,
#main_post .campaign .main_camp .wrap_camp .cont_camp > a::after,
#main_post .campaign .apply_camp01 > a::after,
#main_post .apply_counseling > a::after {
	content: '';
	margin: auto 0;
	width: .6em;
	height: .6em;
	border-top: 3px solid #ffffff;
	border-right: 3px solid #ffffff;
	transform: rotate(45deg);
	transition: .5s;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 2em;
}

#main_post .link_reserve a small,
#main_post .campaign .main_camp .wrap_camp .cont_camp > a > small,
#main_post .campaign .apply_camp01 > a > small,
#main_post .apply_counseling > a > small {
	display: block;
	font-size: min(14px, 2.56vw);
}

#main_post .campaign .main_camp .wrap_camp .cont_camp > p.note {
	font-size: min(10px, 1.79vw);
}

#main_post .campaign .main_camp .wrap_camp .cont_camp .onecoin02 {
	display: block;
	width: min(280px, 50vw);
	transform: rotate(42deg);
	position: absolute;
	top: 65px;
	right: -20px;
}

#main_post .campaign .main_camp .wrap_camp .cont_camp .stars01 {
	display: block;
	width: min(56px, 11.79vw);
	position: absolute;
	top: 452px;
	right: 13px;
}

#main_post .campaign .main_camp .wrap_camp .cont_camp .present01 {
	width: min(166px, 26.92vw);/*105px換算*/
	height: min(196px, 31.79vw);/*124px換算*/
	background: url(../images/fig_present01.svg) no-repeat 50% 50%;
	background-size: 100%;
	transform: rotate(-20deg);
	position: absolute;
	top: -38px;
	right: -2px;
}

#main_post .campaign .main_camp .wrap_camp .cont_camp .present01 {
	padding: 5em 0 1em .5em;
	color: #ffffff;
	font-size: min(20px, 3.08vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.25;
}

#main_post .campaign .main_camp .wrap_camp .cont_camp .present01 span {
	display: block;
	color: #FFF100;
	font-size: min(17px, 2.69vw);
}

#main_post .campaign .main_camp .wrap_camp .cont_camp .present01 span strong {
	display: block;
	font-size: min(27px, 4.23vw);
}

#main_post .campaign .camp_detail {
	padding: 60px 0;
}
/*
.campaign .camp_detail h2 {
	margin: 0 auto;
	width: min(1176px, 100vw);
}
*/
.campaign .camp_detail > ul {
	display: flex;
	flex-wrap: wrap;
	margin: 2rem auto 0;
	padding: 40px;
	width: min(976px, 90vw);
	background: var(--liteblue-color);
	border-radius: .6rem;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: .1em;
	gap: 1.25em 0;
}

.campaign .camp_detail > ul li:nth-child(2n+1) {
	width: 25%;
	color: var(--blue-color31);
}

.campaign .camp_detail > ul li:nth-child(2n) {
	width: 75%;
}

.campaign .compare {
	padding: 40px 0;
	background: var(--liteblue-color);
	position: relative;
}

.campaign .compare h3 {
	font-size: min(16px, 4.1vw);
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	letter-spacing: .08em;
	white-space: nowrap;
	position: absolute;
	top: 130px;
	right: calc(50% + 510px);
}

.campaign .compare h3::before,
.campaign .compare h3::after {
	content: '';
	width: 190px;
	height: 1px;
	background: #000000;
	transform: rotate(9deg);
	position: absolute;
	top: -1.75em;
	right: 1em;
}

.campaign .compare h3::after {
	transform: rotate(-9deg);
	top: auto;
	bottom: -1.75em;
}

.campaign .compare h3 span {
	display: block;
	color: var(--pink-color);
}

.campaign .compare .wrap_compare {
	width: 100%;
	overflow: hidden;
}

.campaign .compare .wrap_compare table {
	margin: 0 auto;
	width: min(976px, 225vw);
	background: #ffffff;
	line-height: 1.35;
	position: relative;
}

.campaign .compare .wrap_compare table tr :is(th, td) {
	padding: 1.75em 0;
	width: 20%;
	font-size: min(14px, 3.59vw);
	text-align: center;
	vertical-align: middle;
	position: relative;
}

.campaign .compare .wrap_compare table tr:not(:last-child) td {
	border-bottom: 1px solid var(--main-color);
}

.campaign .compare .wrap_compare table tr th {
	background: var(--blue-color31);
	color: #ffffff;
	font-size: min(16px, 4.1vw);
	font-weight: 600;
	text-align: center;
}

.campaign .compare .wrap_compare table tr td:first-child {
	padding-left: 3em;
	background: var(--main-color);
	font-size: min(16px, 4.1vw);
	font-weight: 600;
	text-align: left;
}

.campaign .compare .wrap_compare table tr:nth-child(2) td {
	color: var(--pink-color) !important;
	font-size: min(16px, 4.1vw);
	font-weight: 600 !important;
}

.campaign .compare .wrap_compare table tr:nth-child(2) td:first-child::before {
	content: '';
	width: calc(500% + 6px);
	height: calc(100% + 6px);
	border: 6px solid var(--pink-color);
	border-radius: .6rem;
	position: absolute;
	top: -3px;
	left: -3px;
	z-index: 1;
}

.campaign .compare .wrap_compare table tr th:first-child {
	border-radius: .6rem 0 0 0;
}

.campaign .compare .wrap_compare table tr th:last-child {
	border-radius: 0 .6rem 0 0;
}

.campaign .compare .wrap_compare table tr:last-child td:first-child {
	border-radius: 0 0 0 .6rem;
}

.campaign .compare .wrap_compare table tr:last-child td:last-child {
	border-radius: 0 0 .6rem 0;
}

#main_post .campaign .apply_camp01 {
	padding: 40px 0;
}

#main_post .campaign .apply_camp00 {
	padding: 0 0 80px;
}

#main_post .campaign .apply_camp01 > a,
#main_post .apply_counseling > a {
	margin: 0 auto;
	width: min(476px, 90vw);
}

#main_post .campaign .voice {
    padding: 80px 0 60px;
    background: repeating-linear-gradient(90deg, #f5faff, #f5faff 20px, #ffffff 20px, #ffffff 40px);
}

#main_post .p_voice ul,
#main_post .campaign .voice ul {
	display: flex;
	flex-wrap: wrap;
	margin: 60px auto 0;
	width: min(976px, 95vw);
	gap: 0 38px;
}

#main_post .p_voice ul {
	width: min(976px, 90vw);
}

#main_post .p_voice ul li div,
#main_post .campaign .voice ul li div {
	padding: 2rem 2rem 0;
	width: min(300px, 76.92vw);
	height: min(360px, 92.31vw);
	background: #ffffff;
	border: 2px solid var(--blue-color31);
	border-radius: .6rem;
	box-shadow: 0 .25rem .25rem var(--main-color);
	position: relative;
}

#main_post .p_voice ul li h4,
#main_post .campaign .voice ul li h4 {
	color: var(--pink-color);
	font-size: min(16px, 4.1vw);
}

#main_post .p_voice ul li span,
#main_post .campaign .voice ul li span {
	display: block;
	border-bottom: 1px solid var(--blue-color6c);
	color: #FFC300;
	font-size: min(14px, 3.59vw);
	line-height: 2.5;
}

#main_post .p_voice ul li p,
#main_post .campaign .voice ul li p {
	margin: 3em 0 0;
	font-size: min(14px, 3.59vw);
	line-height: 1.75;
}

#main_post .p_voice ul li img,
#main_post .campaign .voice ul li img {
	display: block;
	width: 92px;
	height: 92px;
	position: absolute;
	top: 18px;
	right: 18px;
}

#main_post .campaign .faq {
	padding: 80px 0;
}

#main_post .campaign .faq dl,
#main_post .p_faq .wrap_faq dl {
	margin: 3rem auto 0;
	width: min(1176px, 90vw);
	line-height: 1.5;
}

#main_post .campaign .faq dl + dl,
#main_post .p_faq .wrap_faq dl + dl {
	margin-top: 2rem;
}

#main_post .campaign .faq dl dt,
#main_post .p_faq .wrap_faq dl dt {
	padding: .6rem 0 .6rem 148px;
	border-bottom: 1px solid;
	color: var(--blue-color31);
	font-size: 18px;
	font-weight: 600;
	position: relative;
}

#main_post .campaign .faq dl dd,
#main_post .p_faq .wrap_faq dl dd {
	margin: .6rem 0 0;
	padding: 2rem 1rem 2rem 148px;
	background: #CEEAFF;
	border-radius: .6rem;
	font-size: 14px;
	font-weight: 600;
	position: relative;
}

#main_post .campaign .faq dl :is(dt, dd)::before,
#main_post .p_faq .wrap_faq dl :is(dt, dd)::before {
	content: 'Q';
	font-family: hiragino-mincho-pron, serif;
	font-size: 32px;
	font-weight: 300;
	position: absolute;
	top: -0.05em;
	left: 98px;
}

#main_post .campaign .faq dl dd::before,
#main_post .p_faq .wrap_faq dl dd::before {
	content: 'A';
	top: .6em;
}

/* 学割 */

#main_post .benefits .tit_benefits {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	height: min(460px, 88.97vw);
	background: var(--main-color) url(../images/img_benefit_girl01.webp) no-repeat 100% 25%;
	background-size: 786px;
	justify-content: center;
	align-items: center;
}

#main_post .benefits .tit_benefits h2 {
	margin: 0 auto;
	width: min(1024px, 90vw);
	font-size: min(40px, 6.67vw);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: .1em;
	position: relative;
}

#main_post .benefits .tit_benefits h2 small {
	display: block;
	margin: 0 0 1em;
	color: var(--blue-color31);
	font-size: min(24px, 4.1vw);
	letter-spacing: .06em;
}

#main_post .benefits .tit_benefits h2 strong {
	display: inline-block;
	margin: .75em 0 0;
	padding: .25em 1.5em;
	background: var(--blue-color31);
	color: #ffffff;
	font-size: min(24px, 3.85vw);
}

#main_post .benefits .tit_benefits h2 img {
	display: block;
	width: min(110px, 13.33vw);
	position: absolute;
	top: -58px;
	left: 210px;
}

#main_post .benefits .b_lead {
	padding: 56px 0 87px;
	background: var(--liteblue-color);
	font-size: min(16px, 3.59vw);
	text-align: center;
	line-height: 1.75;
	letter-spacing: .2em;
}

#main_post .benefits .b_lead img {
	display: block;
	margin: 0 auto 40px;
	width: min(114px, 29.23vw);
}

#main_post .benefits .cont_benefits {
	padding: 90px 0 0;
}

#main_post .benefits .cont_benefits ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	width: min(1024px, 100vw);
	justify-content: center;
}

#main_post .benefits .cont_benefits ul li:first-child {
	width: min(184px, 28.72vw);
	height: min(160px, 25.13vw);
}

#main_post .benefits .cont_benefits ul li:nth-child(2) {
	display: flex;
	flex-wrap: wrap;
	padding: 0 0 0 40px;
	width: min(840px, 71.28vw);
	font-size: min(16px, 3.08vw);
	align-items: center;
	position: relative;
}

#main_post .benefits .cont_benefits ul li:last-child {
	margin: 20px 0 0;
	padding: 32px 60px;
	width: 100%;
	background: var(--liteblue-color);
	font-weight: 600;
	position: relative;
}

#main_post .benefits .cont_benefits ul li h3 {
	display: flex;
	flex-wrap: wrap;
	width: min(184px, 28.72vw);
	height: min(160px, 25.13vw);
	background: linear-gradient(0deg, var(--pink-color), var(--blue-color31));
	color: #ffffff;
	font-size: min(55px, 8.72vw);
	font-weight: 600;
	line-height: 1;
	justify-content: center;
	align-items: center;
}

#main_post .benefits .cont_benefits ul li h3 small {
	font-size: min(40px, 8.72vw);
}

#main_post .benefits .cont_benefits ul li h3:has(span) {
	font-size: min(72px, 12.05vw);
}

#main_post .benefits .cont_benefits ul li h3 span {
	font-size: min(36px, 6.15vw);
}

#main_post .benefits .cont_benefits ul li strong {
	display: flex;
	flex-wrap: wrap;
	padding: .15em;
	border: 2px dashed;
	font-family: "impact", sans-serif;
	font-size: min(74px, 9.23vw);
	font-weight: 400;
	font-style: normal;
	line-height: .9;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	right: 0;
}

#main_post .benefits .cont_benefits ul li strong::before {
	content: '';
	width: min(30px, 4.05vw);
	height: min(38px, 5.13vw);
	background: url(../images/fig_scissors.svg) no-repeat 50% 50%;
	background-size: 100%;
	position: absolute;
	bottom: -14px;
	left: -16px;
}

#main_post .benefits .cont_benefits ul li:last-child h4 {
	color: var(--blue-color31);
	font-size: min(18px, 4.1vw);
}

#main_post .benefits .cont_benefits ul li:last-child p {
	margin: 1em 0 0;
	font-size: min(16px, 3.59vw);
	line-height: 2.25;
}

#main_post .benefits .cont_benefits ul li:last-child .studentid {
	display: block;
	width: min(180px, 35.9vw);
	transform: rotate(-13deg);
	position: absolute;
	top: -38px;
	left: 477px;
}

#main_post .benefits .cont_benefits ul li:last-child .b_girl02 {
	display: block;
	width: min(133px, 32.56vw);
	position: absolute;
	top: -109px;
	right: 176px;
}

#main_post .benefits .cont_benefits ul li:last-child .b_girl03 {
	display: block;
	width: min(274px, 59.74vw);
	position: absolute;
	bottom: 0;
	right: 148px;
}

#main_post .benefits .cont_benefits ul li:last-child .b_girl04 {
	display: block;
	width: min(137px, 32.82vw);
	position: absolute;
	bottom: 0;
	right: 163px;
}

#main_post .benefits .cont_benefits .note + ul {
	margin-top: 70px;
}

#main_post .benefits .cont_benefits .note {
	display: flex;
	margin: 2em auto 0;
	width: min(1024px, 90vw);
	font-size: min(10px, 2.56vw);
	line-height: 1.5;
	letter-spacing: .08em;
	align-items: center;
}

#main_post .benefits .cont_benefits .note span {
	margin: 0 1em 0 0;
	padding: .25em 1em;
	border: 1px solid;
	font-size: min(12px, 3.08vw);
	white-space: nowrap;
}

#main_post .benefits .cont_benefits ol {
	display: flex;
	flex-wrap: wrap;
	margin: 70px auto 0;
	width: min(1176px, 100vw);
	justify-content: center;
}

#main_post .benefits .cont_benefits ol li {
	display: flex;
	flex-wrap: wrap;
	line-height: 1.75;
	letter-spacing: .15em;
	align-items: center;
}

#main_post .benefits .cont_benefits ol li:last-child {
	padding: 0 0 0 20px;
}

#main_post .benefits .cont_benefits ol li strong {
	display: block;
	color: var(--blue-color31);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(45px, 10.26vw);
	font-weight: 600;
	letter-spacing: .2em;
}

#main_post .benefits .cont_benefits ol li img {
	width: min(540px, 100vw);
}

#main_post .apply_counseling {
	padding: min(60px, 10.26vw) 0;
	background: var(--main-color);
}

/* サロン一覧 */
#main_post .salons {
	padding: 160px 0 120px;
	background: var(--liteblue-color);
}

#main_post .salons > ul {
	display: flex;
	flex-wrap: wrap;
/*	margin: 2.5rem auto 0; h2がある場合*/
	margin: 0 auto;
	width: min(976px, 90vw);
	gap: 2rem 3.89%;
}

#main_post .salons > ul li {
	width: 30.74%;
}

#main_post .salons > ul li img {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: .6rem;
	object-fit: cover;
}

#main_post .salons > ul li h3 {
	margin: .75em auto 0;
	color: var(--blue-color31);
	font-size: min(24px, 6.15vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.75;
	letter-spacing: .1em;
}

#main_post .salons > ul li h3 small {
	display: block;
	font-size: 60%;
	letter-spacing: .06em;
}

#main_post .salons > ul li p,
#main_post .salons .wrap_salon p {
	padding: 1rem 0 1rem 100px;
	border-bottom: 1px solid var(--blue-color31);
	font-size: 12px;
	line-height: 1.75;
	position: relative;
}

#main_post .salons .wrap_salon p:first-of-type br:not(:first-of-type) {
	display: none !important;
}

#main_post .salons > ul li p:last-child,
#main_post .salons .wrap_salon p:last-of-type {
	padding-bottom: 0;
	border-bottom: none;
}

#main_post .salons > ul li p span,
#main_post .salons .wrap_salon p span {
	display: inline-flex;
	width: 5rem;
	background: var(--blue-color31);
	color: #ffffff;
	font-size: min(14px, 3.59vw);
	justify-content: center;
	align-items: center;
	position: absolute;
	top: .875rem;
	left: 0;
}

#main_post .link_salon a {
	display: block;
	margin: 2em 0 0;
	padding: .75em 0;
	width: 100%;
	background: #ffffff;
	border: 1px solid var(--blue-color31);
	border-radius: 3em;
	color: var(--blue-color31);
	font-size: min(16px, 3.85vw);
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: .1em;
	text-align: center;
	transition: .3s;
	position: relative;
	z-index: 1;
}

#main_post .link_salon a::after {
	content: '';
	margin: auto 0;
	width: .6em;
	height: .6em;
	border-top: 3px solid var(--blue-color31);
	border-right: 3px solid var(--blue-color31);
	transform: rotate(45deg);
	transition: .3s;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 2em;
}

/* サロン詳細 */
#main_post .salons .wrap_salon {
	margin: 2.5rem auto 0;
	width: min(976px, 90vw);
}

#main_post .salons .wrap_salon .img_main {
	display: block;
	width: 100%;
	height: min(286px, 68.72vw);
	border-radius: .6rem;
	object-fit: cover;
}

#main_post .salons .wrap_salon h3 {
	margin: 1.5em auto 1em;
	color: var(--blue-color31);
	font-size: min(24px, 6.15vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.75;
	letter-spacing: .1em;
}

#main_post .salons .wrap_salon h3 small {
	display: block;
	font-size: 60%;
	letter-spacing: .06em;
}

#main_post .salons .wrap_salon ul {
	display: flex;
	flex-wrap: wrap;
	margin: 3.75rem 0 0;
	width: 100%;
	justify-content: space-between;
}

#main_post .salons .wrap_salon ul li {
	width: 23.57%;
	aspect-ratio: 1 / 1;
	border-radius: .6rem;
	overflow: hidden;
}

#main_post .salons .wrap_salon ul li img {
	object-fit: cover;
	object-position: 50% 50%;
}

#main_post .salons .wrap_salon + h2 {
	margin-top: 2em;
	padding-top: 1.5em;
	border-top: 1px dashed;
}

#main_post .salons .wrap_salon iframe {
	margin: 0 0 3.5rem;
	width: 100%;
	height: min(286px, 68.72vw);
}


/* お知らせ一覧 */
#main_post .archive_news {
	padding: min(160px, 20.51vw) 0 min(120px,15.38vw);
	background: var(--liteblue-color);
}

#main_post .archive_news > ul {
	display: flex;
	flex-wrap: wrap;
	margin: 2.5rem auto 0;
	width: min(976px, 90vw);
	gap: 0 40px;
}

#main_post .archive_news > ul.no_h2 {
	margin-top: 0;
}

#main_post .archive_news > ul > li:first-child {
	width: min(736px, 90vw);
	font-weight: 600;
	line-height: 1.35;
}

#main_post .archive_news > ul > li:first-child > ul > li {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 min(30px, 7.69vw);
	padding: 0 0 min(30px, 7.69vw);
	border-bottom: 1px dashed var(--text-color);
	align-items: top;
}

#main_post .archive_news > ul > li:first-child a:has(img) {
	width: 200px;
	aspect-ratio: 16 / 9;
	border-radius: .6rem;
	object-fit: cover;
	overflow: hidden;
}

#main_post .archive_news > ul > li:first-child div {
	padding: 0 0 0 40px;
	width: min(536px, 90vw);
}

#main_post .archive_news > ul > li:first-child h3 {
	margin: 0 0 .75em;
	font-weight: 600;
	line-height: 1.35;
}

#main_post .archive_news > ul > li:last-child {
	width: 200px;
}


/* お知らせページ */
#main_post:has(.wrap_news) {
	padding-bottom: min(60px, 15.38vw);
	background: var(--liteblue-color);
}

#main_post .wrap_news {
	margin: 0 auto;
	padding: min(160px, 20.51vw) 0 0;
	width: min(976px, 90vw);
}

#main_post .wrap_news h2 {
	margin: 0 0 .25em;
	font-size: min(24px, 4.1vw);
	font-weight: 600;
	line-height: 1.35;
}

#main_post .archive_news > ul > li:first-child :is(time, .news-cats),
#main_post .wrap_news > :is(time, .news-cats, .news-tags) {
	font-family: 'arial', sans-serif;
	font-size: 12px;
	font-weight: 600;
}

#main_post .archive_news > ul > li:first-child .news-cats,
#main_post .archive_news > ul > li:first-child .news-cats a + a,
#main_post .wrap_news > .news-cats,
#main_post .wrap_news > .news-cats a + a {
	margin-left: 1em;
}



#main_post .wrap_news > .news-tags {
	display: flex;
	color: var(--blue-color31);
	gap: 0 1em;
}

#main_post .wrap_news > .news-tags a {
	position: relative;
}

#main_post .wrap_news > .news-tags a::before {
	content: '#';
}

#main_post .wrap_news > ul {
	display: flex;
	flex-wrap: wrap;
	margin: min(60px, 10.26vw) 0 0;
	padding: 0 0 min(50px, 25.64vw);
	width: 100%;
	border-bottom: 1px dashed var(--text-color);
	gap: 10.26vw 52px;
}

#main_post .wrap_news > ul > li:first-child {
	width: min(724px, 90vw);
}

#main_post .wrap_news > ul > li:first-child img {
	display: block;
	aspect-ratio: 16 / 9;
	border-radius: .6rem;
	object-fit: cover;
}

#main_post .wrap_news > ul > li:first-child img.camp {
	aspect-ratio: 75 / 82;
}

#main_post .wrap_news > ul > li:first-child p {
	margin: 3em 0 0;
	font-size: min(14px, 3.59vw);
}

#main_post :is(.archive_news, .wrap_news) > ul > li:last-child {
	padding: 40px 20px;
	width: 200px;
	background: var(--main-color);
	border-radius: .6rem;
}

#main_post :is(.archive_news, .wrap_news) > ul > li:last-child h3 {
	margin: 0 0 .75em;
	padding: 0 0 .75em;
	border-bottom: 1px solid var(--blue-color6c);
	font-size: min(16px, 4.1vw);
	font-weight: 600;
}

#main_post :is(.archive_news, .wrap_news) > ul > li:last-child h3 span {
	margin-left: 1em;
	color: var(--blue-color31);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(10px, 2.56vw);
}

#main_post :is(.archive_news, .wrap_news) > ul > li:last-child ul + h3 {
	margin-top: min(100px, 15.38vw);
}

#main_post :is(.archive_news, .wrap_news) > ul > li:last-child :is(.news-cat-list, .news-tag-list) {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	font-size: min(12px, 3.08vw);
	font-weight: 600;
}

#main_post :is(.archive_news, .wrap_news) > ul > li:last-child .news-cat-list li {
	width: 100%;
	position: relative;
}

#main_post :is(.archive_news, .wrap_news) > ul > li:last-child .news-cat-list li a::before {
	content: '・ ';
}

#main_post .archive_news > ul > li:first-child .news-tags,
#main_post :is(.archive_news, .wrap_news) > ul > li:last-child .news-tag-list {
	display: flex;
	margin: .75rem 0 0;
	color: #ffffff;
	font-size: min(8px, 2.05vw);
	gap: 1em .75em;
}

#main_post .archive_news > ul > li:first-child .news-tags a,
#main_post :is(.archive_news, .wrap_news) > ul > li:last-child .news-tag-list li {
	padding: .35em 1.5em .35em 3.25em;
	background: var(--blue-color31);
	border-radius: 3em;
	position: relative;
}

#main_post .archive_news > ul > li:first-child .news-tags {
	flex-wrap: wrap;
}

#main_post .archive_news > ul > li:first-child .news-tags a {
	padding: .75em 1.5em .75em 3.25em;
	line-height: 1.25;
	white-space: nowrap;
}

#main_post .archive_news > ul > li:first-child .news-tags a::before,
#main_post :is(.archive_news, .wrap_news) > ul > li:last-child .news-tag-list li::before {
	content: '';
	margin: auto 0;
	width: 1.25em;
	height: 1.25em;
	background: url(../images/fig_tag.svg) no-repeat 50% 50%;
	background-size: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 1.25em;
}

/* コラムページ（お知らせページを拝借） */
#main_post .cnt_column li:first-child h2 {
	padding: 40px 0;
	border-bottom: 1px dashed;
	font-size: min(22px, 4.62vw);
	text-align: center;
	line-height: 1.5;
}

#main_post .cnt_column li:first-child h3 {
	margin: 2em 0 1em;
	color: var(--blue-color31);
	font-size: min(24px, 5.13vw);
	font-weight: 600;
	line-height: 1.5;
}

#main_post .cnt_column li:first-child h4 {
	margin: 2em 0 1em 1.5rem;
	padding: 0 0 .75em;
	border-bottom: 1px dashed;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.5;
}

#main_post .cnt_column li:first-child p {
	margin: 0 !important;
	padding: 0 0 0 1.5rem;
	font-size: min(12px, 3.08vw);
}

#main_post .cnt_column li:first-child p.lead {
	margin: 2em 0 0 !important;
	font-weight: 600;
}

#main_post .cnt_column li:first-child p a {
	display: block;
	margin: 3rem auto;
	padding: 1.25em 0;
	width: min(400px, 90vw);
	background: var(--blue-color31);
	border: 1px solid var(--blue-color31);
	border-radius: 3em;
	color: #ffffff;
	font-size: min(14px, 3.59vw);
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	transition: .3s;
	position: relative;
}

#main_post .cnt_column li:first-child p a::after {
	content: '';
	margin: auto 0;
	width: .6em;
	height: .6em;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	transform: rotate(45deg);
	transition: .3s;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.75em;
}

.blue31,
#main_post .cnt_column li:first-child p.lead strong {
	color: var(--blue-color31);
}

#main_post .cnt_column li:first-child p + img {
	margin: 6rem 0 3rem;
}

#main_post .cnt_column li:first-child strong {
	font-weight: 600;
}

#main_post .cnt_column li:first-child .box00 {
	font-size: min(12px, 3.08vw) !important;
}

#main_post .cnt_column li:first-child :is(.box00, .box01) {
	margin: 2em 0 3em 1.5rem;
	padding: min(30px, 5.13vw) min(40px, 7.69vw);
	background: var(--main-color);
	font-size: min(14px, 3.59vw);
}

#main_post .cnt_column li:first-child :is(.box00, .box01) b {
	color: #ff0000;
	font-size: 150%;
	font-weight: 600;
	line-height: 1;
}

#main_post .cnt_column li:first-child :is(.box00, .box01) + p {
	margin-top: -1.17em !important;
}

#main_post .cnt_column li:first-child :is(.box00, .box01) + :is(.box00, .box01) {
	margin-top: -1em;
}

#main_post .cnt_column li:first-child h5 {
	margin-left: 1.5rem;
	font-size: 16px;
	font-weight: 600;
}

#main_post .cnt_column li:first-child > h5 {
	margin-top: 1.5em !important;
}

#main_post .cnt_column li:first-child > h5 + h5 {
	margin-top: 0 !important;
}

#main_post .cnt_column li:first-child .box01 h5 {
	margin: 0;
	padding-left: 1em;
	text-indent: -1em;
}

#main_post .cnt_column li:first-child :is(.box00, .box01) p + h5 {
	margin-top: .5em !important;
}

#main_post .cnt_column li:first-child .box01 p {
	margin: 0;
	font-size: min(14px, 3.59vw);
}

#main_post .cnt_column li:last-child {
	max-height: 600px;
}

#main_post .cnt_column h5 + .wrap_table {
	margin-top: -1.5rem;
}

#main_post .cnt_column h5 + table {
	margin-top: .5rem;
}


#main_post .cnt_column table {
	width: calc(100% - 1.5rem);
	margin: 2rem 0 2rem 1.5rem;
	border: 1px solid var(--text-color);
    font-size: min(14px, 3.59vw);
	line-height: 1.5;
}

#main_post .cnt_column table tr :is(th, td) {
	padding: 1em 1em;
	vertical-align: middle;
}

#main_post .cnt_column table tr th {
	background: var(--text-color);
	border: 1px solid #BBC9C7;
	color: #ffffff;
	text-align: center;
}

#main_post .cnt_column table tr td {
	background: #ffffff;
	border: 1px solid #BBC9C7;
}

#main_post .cnt_column table tr td:first-child {
	background: var(--main-color);
	font-weight: 600;
	white-space: nowrap;
}



/* ページネーション */
.nav-links {
	display: flex;
	margin: 2.5em auto 0;
	font-weight: 600;
	justify-content: center;
	align-items: center;
	gap: 0 1.25em;
}

.nav-links :is(span, a) {
	display: flex;
	width: 2em;
	height: 2em;
	background: #ffffff;
	justify-content: center;
}

.nav-links span {
	background: var(--main-color);
}




/* 背景薄青色 */
#main_post:has(.liteblue) {
	background: var(--liteblue-color);
}


/* 未成年の方へ */
#main_post .minor > h3 {
	margin: 3em auto 0;
	padding: 0 0 1em;
	width: min(976px, 90vw);
	border-bottom: 1px dashed;
	font-size: min(16px, 3.59vw);
	font-weight: 600;
}

#main_post .minor > p {
	margin: 3em auto 0;
	width: min(976px, 90vw);
	font-size: min(12px, 3.08vw);
}

#main_post .minor > p strong {
	font-weight: 600;
}

#main_post .minor > a {
	display: block;
	margin: 3em auto 0;
	padding: 1em 0;
	width: min(344px, 90vw);
	background: #ffffff;
	border: 1px solid var(--blue-color31);
	border-radius: 2em;
	color: var(--blue-color31);
	font-size: min(18px, 4.62vw);
	font-weight: 600;
	text-align: center;
	letter-spacing: .1em;
	transition: .3s;
	position: relative;
}

#main_post .minor > a::after {
	content: '';
	margin: auto 0;
	width: .5em;
	height: .5em;
	border-top: 2px solid var(--blue-color31);
	border-right: 2px solid var(--blue-color31);
	transform: rotate(45deg);
	transition: .3s;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.75em;
}


/* よくある質問 */
#main_post :is(.p_faq, .p_voice, .minor, .tradelaw) {
	padding: 160px 0 120px;
}

#main_post .p_faq .wrap_faq {
	margin: 0 auto;
	width: min(1176px, 90vw);
}

#main_post .p_voice > p.lead,
#main_post .p_faq .wrap_faq > p.lead {
/*	margin: 3em 0 4em; h2がある場合*/
	margin: 0 auto 4em;
	font-size: 12px;
	font-weight: 300;
	text-align: center;
}

#main_post .p_faq .wrap_faq h3 {
	padding: 1em 0 1em 100px;
	background: var(--blue-color31);
	border-radius: .6rem;
	color: #ffffff;
	font-size: min(22px, 5.64vw);
	font-weight: 600;
}

#main_post .p_faq .wrap_faq h3 + dl {
	margin-top: 2em;
}

#main_post .p_faq .wrap_faq dl + h3 {
	margin-top: 4em;
}

#main_post .p_faq .wrap_faq dl dt {
	cursor: pointer;
}

#main_post .p_faq .wrap_faq dl dd {
	display: none;
}

.toggle_btn {
  position: absolute;
  top: 40%;
  right: 110px;
}

.toggle_btn::before {
  content: '';
  margin: auto;
  width: .75rem;
  height: .75rem;
  border-bottom: 3px solid var(--blue-color31);
  border-right: 3px solid var(--blue-color31);
  transform: rotate(45deg);
  transition: .3s;
  position: absolute;
  top: 50%;
  left: 50%;
}

#main_post .p_faq .wrap_faq dl dt.selected .toggle_btn::before {
    transform: rotate(-45deg) scaleY(-1);
    transform-origin: 50% 75%;
}

/* 会社概要 */
#main_post .company {
	padding: 160px 0 120px;
	background: var(--liteblue-color);
}

#main_post .company > ul {
	display: flex;
	flex-wrap: wrap;
/*	margin: 2.5rem auto 0; h2がある時*/
	margin: 0 auto;
	width: min(976px, 100vw);
	justify-content: space-between;
}

#main_post .company > ul li:first-child {
	width: min(460px, 100vw);
}

#main_post .company > ul li:first-child img {
	display: block;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	background: gray;
}

#main_post .company > ul li:last-child {
	width: min(476px, 100vw);
}

#main_post .company > ul li:last-child p {
	display: flex;
	flex-wrap: wrap;
	padding: 0 0 1.5em;
	margin: 0 0 1.5em;
	width: 100%;
	border-bottom: 1px solid var(--blue-color31);
	font-size: min(12px, 3.08vw);
	line-height: 1.75;
	align-items: flex-start;
}

#main_post .company > ul li:last-child p:last-child {
	padding: 0;
	border-bottom: none;
}

#main_post .tradelaw > ul li span,
#main_post .company > ul li:last-child p span {
	display: inline-flex;
	margin: 0 1em 0 0;
	width: 6rem;
	height: 2em;
	background: var(--blue-color31);
	color: #ffffff;
	font-size: 14px;
	font-weight: 600;
	justify-content: center;
	align-items: center;
}

#main_post .company > ul li:last-child p i {
	display: flex;
	flex-wrap: wrap;
	width: calc(100% - 110px);
	min-height: 28px;
	font-style: normal;
	align-items: center;
}

/* 特商法 */
#main_post .tradelaw > ul {
	display: flex;
	flex-wrap: wrap;
/*	margin: 40px auto 0; h2がある時*/
	margin: 0 auto;
	width: min(976px, 90vw);
	font-size: 12px;
	line-height: 1.75;
}

#main_post .tradelaw > ul li {
	display: flex;
	flex-wrap: wrap;
	padding: 0 0 1.5em;
	margin: 0 0 1.5em;
	border-bottom: 1px solid var(--blue-color31);
	align-items: flex-start;
}

#main_post .tradelaw > ul li:nth-last-child(-n+2) {
	border-bottom: none;
}

#main_post .tradelaw > ul li span {
	margin: 0 3em 0 0;
	width: 100%;
}

#main_post .tradelaw > ul li:nth-child(2n+1) {
	width: 200px;
}

#main_post .tradelaw > ul li:nth-child(2n) {
	width: 776px;
	align-items: center;
}




/* フッター上メニュー */
#f_menu01 {
	padding: min(40px, 7.69vw) 0;
	background: var(--main-color);
}

#f_menu01 > ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	width: min(976px, 90vw);
	justify-content: space-between;
}

#f_menu01 > ul li {
	width: 30.74%;
	position: relative;
	overflow: hidden;
}

#f_menu01 > ul li img {
	width: 100%;
	height: 110px;
	object-fit: cover;
	transition: .5s;
}

#f_menu01 > ul li:last-child img {
	object-position: 50% 40%;
}

#f_menu01 > ul li p {
	padding: 0 0 0 1.5em;
	width: 100%;
	background: var(--blue-color31);
	color: #ffffff;
	font-size: min(14px, 3.59vw);
	font-weight: 600;
	line-height: min(34px, 8.72vw);
	pointer-events: none;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}

#f_menu01 > ul li p::before {
	content: '';
	margin: auto 0;
	width: 1em;
	height: 1em;
	background: #ffffff;
	border-radius: 50%;
	position: absolute;
	top: 0;
	bottom: 0;
	right: .75em;
}

#f_menu01 > ul li p::after {
	content: '';
	margin: auto 0;
	width: .25em;
	height: .25em;
	border-top: 1px solid var(--blue-color31);
	border-right: 1px solid var(--blue-color31);
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.125em;
}


/* プライバシーポリシー */
#main_post .privacy {
	padding: min(160px, 20.51vw) 0 min(120px, 20.51vw);
}

#main_post .privacy .wrap_privacy {
/*	margin: min(40px, 10.26vw) auto 0; h2がある時*/
	margin: 0 auto;
	width: min(976px, 90vw);
}

#main_post .privacy .wrap_privacy h3 {
	margin: 1.5em 0 1em;
	font-size: min(18px, 4.1vw);
	font-weight: 600;
	line-height: 1.5;
}

#main_post .privacy .wrap_privacy :is(p, ul, ol) {
	margin: 1em 0 0;
	font-size: min(12px, 3.08vw);
}

#main_post .privacy .wrap_privacy p.lead,
#main_post .privacy .wrap_privacy .info strong {
	font-weight: 600;
}

#main_post .privacy .wrap_privacy ul {
	padding-left: 1em;
}

#main_post .privacy .wrap_privacy ol {
	padding-left: 2.5em;
	list-style-type: decimal;
}

#main_post .privacy .wrap_privacy :is(ul, ol) li {
	padding: 0;
	position: relative;
}

#main_post .privacy .wrap_privacy ul li::before {
	content: '・ ';
}

#main_post .privacy .wrap_privacy .info {
	margin: 3em 0 0;
	padding: 1em 1.5em;
	background: rgba(255, 255, 255, .75);
	border: 1px solid;
	font-size: min(14px, 3.59vw);
}

/* CONTACT */
#main_post .contact {
	padding: min(160px, 20.51vw) 0 min(120px, 20.51vw);
}

#main_post .contact .wrap_contact {
	margin: 0 auto;
	width: min(976px, 90vw);
}

#main_post .contact .wrap_contact h2 {
	margin: 0 0 .5em;
	color: var(--blue-color31);
	font-size: min(18px, 4.1vw);
	font-weight: 600;
}

#main_post .contact .wrap_contact p {
	font-size: min(14px, 3.08vw);
}

#main_post .contact .wrap_contact p a {
	margin: 0 .25em;
	padding-bottom: 2px;
	border-bottom: 1px solid var(--blue-color6c);
	color: var(--blue-color31);
	font-weight: 600;
}

#main_post .contact .wrap_contact p + h2 {
	margin-top: 2rem;
}

/* SITEMAP */
#main_post .sitemap {
	padding: min(160px, 20.51vw) 0 min(120px, 20.51vw);
}

#main_post .sitemap > ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
/*	margin: min(80px, 15.38vw) auto 0; h2があるとき*/
	width: min(1176px, 90vw);
}

#main_post .sitemap > ul > li {
	width: 100%;
	border-bottom: 1px solid;
	font-size: min(14px, 3.59vw);
	font-weight: 600;
}

#main_post .sitemap > ul > li small {
	display: block;
	color: var(--blue-color31);
	font-size: min(12px, 3.08vw);
}

#main_post .sitemap > ul > li > a {
	display: block;
	padding: 1.5rem 0;
	width: 100%;
	height: 100%;
	transition: .5s;
}

#main_post .sitemap > ul > li + li.sec_layer {
	margin-top: -1px;
	border-top: 1px solid #cccccc;
}

#main_post .sitemap > ul > li.sec_layer a {
	padding-left: 6rem;
	position: relative;
}

#main_post .sitemap > ul > li.sec_layer a::before {
	content: '';
	width: 4rem;
	height: 1px;
	background: #cccccc;
	transition: .3s;
	position: absolute;
	top: 2.25rem;
	left: 0;
}


/* 404 */
#main_post .notfound {
	padding: min(160px, 20.51vw) 0 min(120px, 20.51vw);
}

#main_post .notfound h2 {
	margin: 0 auto;
	width: min(976px, 90vw);
	font-size: min(18, 4.1vw);
	font-weight: 600;
}




@media (any-hover: hover) {

	#main_post .link_reserve a:hover::before,
	#main_post .campaign .main_camp .wrap_camp .cont_camp > a:hover::before,
	#main_post .campaign .apply_camp01 > a:hover::before,
	#main_post .apply_counseling > a:hover::before  {
		height: 4800%;
		transform: rotate(180deg);
		filter: brightness(125%);
	}

	#main_post .link_reserve a:hover::after,
	#main_post .campaign .main_camp .wrap_camp .cont_camp > a:hover::after,
	#main_post .campaign .apply_camp01 > a:hover::after,
	#main_post .apply_counseling > a:hover::after {
		right: 1.5em;
	}

	#f_menu01 > ul li img:hover {
		transform: scale(1.2);
	}

	#main_post .link_salon a:hover {
		background: var(--blue-color31);
		color: #ffffff;
	}

	#main_post .link_salon a:hover::after {
		border-color: #ffffff;
		right: 1.5em;
	}


	#main_post .minor > a:hover {
		background: var(--blue-color31);
		border: 1px solid var(--blue-color31);
		color: #ffffff;
	}

	#main_post .minor > a:hover::after {
		border-color: #ffffff;
		right: 1.25em;
	}

	#main_post .sitemap > ul > li > a:hover {
		padding-left: 1rem;
		background: rgba(108, 183, 241, .5);
	}

	#main_post .sitemap > ul > li.sec_layer > a:hover {
		padding-left: 7rem !important;
	}

	#main_post .sitemap > ul > li.sec_layer a:hover::before {
		background: #ffffff;
		left: 1rem;
	}

	#main_post .cnt_column li:first-child p a:hover {
		background: #ffffff;
		color: var(--blue-color31);
	}

	#main_post .cnt_column li:first-child p a:hover::after {
		border-color: var(--blue-color31);
		right: 1.25em;
	}


}


@media (1024px <= width <= 1175px) {

	#main_post .campaign .main_camp .wrap_camp .campgirl01 {
		transform: scale(1.0) !important;
	}

	#main_post .machine .copy_machine ul li .epix_machine01 {
		transform: scale(1.0) !important;
	    top: -3vw !important;
	    left: -12vw !important;
	}

	#main_post .campaign .main_camp .wrap_camp .spcamp01 {
		transform: scale(1.0) !important;
	}

	#main_post .machine .copy_machine ul li .epix_girl01 {
		transform: scale(1.0) !important;
		top: auto !important;
		bottom: -10vw !important;
		right: -2vw !important;
	}
}

@media (768px <= width <= 1175px) {


	/* About TB */
	#main_post .logo01 {
		margin-top: 60px;
	}

	#main_post .main_about {
		width: 100vw;
		background: url(../images/bg_aboutmain.webp) no-repeat 100% 50%;
    	background-size: cover;
	}

	#main_post .main_about img {
		right: -400px;
	}

	#main_post .main_about .logo02 {
		left: 40px;
	}

	#main_post .about_obsession ul {
		padding: 0;
		width: 100%;
	}

	#main_post .about_purpose02 li:last-child h3 {
		top: -3.25em;
		left: 30px;
	}

	#main_post .about_purpose li:last-child {
		padding: 20px 30px 0 30px;
		width: calc(100vw - 376px);
		height: auto;
	}

	#main_post .about_purpose li:last-child br {
		display: initial;
	}

	/* Menu TB */
	#main_post :is(.plan, .machine) h2 {
		width: 90vw;
	}

	#main_post .parts h3 {
		transform: scale(.8);
		transform-origin: left top;
		width: 125%;
	}

	#main_post .parts .parts_body {
		transform: scale(.8);
		transform-origin: center top;
		width: 100%;
		height: auto;
	}

	#main_post .parts h3::before, #main_post .parts h3::after {
		width: 830px;
	}

	#main_post .discount_plan ul {
		padding: 0 0 40px;
		gap: 2%;
	}

	#main_post .discount_plan ul li {
		width: 32%;
		height: auto;
		aspect-ratio: 1 / 1 !important;
	}

	#main_post .discount_plan ul li div {
		margin-top: -.5rem;
	}

	#main_post .discount_plan ul li :is(h3, p) {
		margin-top: 0;
	}

	#main_post .discount_plan ul.ul_pay li p {
		top: 80%;
	}

	/* キャンペーン TB */
	#main_post .campaign .main_camp .wrap_camp .spcamp01 {
		transform: scale(.75);
		bottom: 50vw;
	}

	#main_post .campaign .main_camp .wrap_camp .campgirl01 {
		transform: scale(.75);
		transform-origin: right bottom;
		right: 0;
	}

	#main_post .campaign .compare {
        padding: 130px 0 40px;
    }

	#main_post .campaign .compare h3 {
	        margin: 0 auto;
	        top: 40px;
	        right: 0;
	        left: 0;
	}

	#main_post .campaign .compare h3::before, .campaign .compare h3::after {
		margin: auto 0;
	    width: 1px;
	    height: 80px;
	    transform: rotate(30deg);
	    top: 0;
	    bottom: 0;
	    right: calc(50% - 160px);
	}

	#main_post .campaign .compare h3::before, .campaign .compare h3::before {
		right: auto;
		left: calc(50% - 160px);
	    transform: rotate(-30deg);
	}

	#main_post .campaign .compare .wrap_compare table tr :is(th, td):first-child {
		position: sticky;
		top: 0;
		left: 0;
		z-index: 1;
	}

	#main_post .campaign .compare .wrap_compare table {
		width: 90vw;
	}

	#main_post .campaign .compare .wrap_compare table tr td:first-child {
		padding-left: 1.5em;
	}


	/* 学割 TB */
	#main_post .benefits .tit_benefits {
		background: var(--main-color) url(../images/img_benefit_girl01.webp) no-repeat 60vw 25%;
	    background-size: 60vw;
	}

	#main_post .benefits .cont_benefits ul li strong {
		font-size: 48px;
	}

	#main_post .benefits .cont_benefits ul li:last-child .studentid {
		top: -10px;
		left: auto;
		right: 24.39vw;
	}

	#main_post .benefits .cont_benefits ul li:last-child .b_girl02 {
		height: 320px;
		object-fit: cover;
		object-position: 50% 0;
		top: auto;
		bottom: 0;
		right: 4.88vw;
	}

	#main_post .benefits .cont_benefits ul li:last-child .b_girl03 {
		height: 320px;
		object-fit: cover;
		object-position: 50% 0;
		right: 9.76vw;
	}

	#main_post .benefits .cont_benefits ul li:last-child .b_girl04 {
		right: 6vw;
	}

	#main_post .benefits .cont_benefits ol li img {
		width: 40vw;
	}

	#main_post .benefits .cont_benefits ol li:last-child {
		padding: 0;
	}


	/* Machine TB */
	#main_post .machine .copy_machine {
		padding: 90px 0;
		height: auto;
	}

	#main_post .machine .copy_machine ul li:first-child {
		padding: 0;
		width: 60%;
	}

	#main_post .machine .copy_machine ul li:last-child {
		padding: 0;
		width: 40%;
	}

	#main_post .machine .copy_machine ul li .epix_machine01 {
		transform: scale(.8);
	    top: -10vw;
	    left: -9.5vw;
	}

	#main_post .machine .copy_machine ul li .epix_girl01 {
		transform: scale(.7);
		top: auto;
		bottom: -24vw;
		right: -8vw;
	}

	#main_post .machine .difference > ul > li:nth-child(-n+2) {
		padding: 20px 0 20px 30px;
	}

	#main_post .machine .wrap_points ul li:nth-child(2n+1) {
		width: 30%;
	}

	#main_post .machine .wrap_points ul li img {
		width: 85%;
	}

	#main_post .machine .wrap_points ul li:nth-child(2n) {
		width: 70%;
	}

	#main_post .machine .difference > ul > li:nth-child(3) {
	    padding: 12px 0 12px 30px;
	    background: linear-gradient(90deg, var(--liteblue-color), var(--liteblue-color) 35%, #ffffff 35%, #ffffff);
	}

	#main_post .machine .difference > ul > li > ul > li:nth-child(2n+1),
	#main_post .machine .difference > ul > li:first-child span:first-child {
		width: 35%;
	}

	#main_post .machine .difference > ul > li > ul > li:nth-child(2n),
	#main_post .machine .difference > ul > li:first-child span:last-child {
		width: 65%;

	}

	#main_post .machine .difference > ul > li > div > ul.ul_epix {
		padding: 12px 30px;
	}

	#main_post .machine .difference img {
		width: 25vw;
		left: 80vw;
	}

	#main_post :is(.machine, .campaign) .reason > ul {
		width: 90vw;
	}

	#main_post :is(.machine, .campaign) .reason > ul li {
		width: 32%;
	}

	#main_post .machine .value > ul li {
		width: 23.5%;
		height: auto;
	}

	#main_post .machine .detail > ul {
		width: 90vw;
	}



	/* お客様の声 TB */
	#main_post .campaign .voice ul,
	#main_post .p_voice ul {
		width: 90%;
		justify-content: space-between;
		gap: 0;
	}

	#main_post .campaign .voice ul li div,
	#main_post .p_voice ul li div {
		padding: 1.25em 1em;
		width: 29vw;
	}

	#main_post .campaign .voice ul li img,
	#main_post .p_voice ul li img {
		right: 5px;
	}


	/* よくある質問 TB */
	#main_post .p_faq .wrap_faq h3 {
   		padding: 1em 0 1em 1.5em;
	}

	#main_post .campaign .faq dl dt,
	#main_post .p_faq .wrap_faq dl dt,
	#main_post .campaign .faq dl dd,
	#main_post .p_faq .wrap_faq dl dd {
	    padding-left: 4rem;
	}

	#main_post .campaign .faq dl :is(dt, dd)::before,
	#main_post .p_faq .wrap_faq dl :is(dt, dd)::before,
	#main_post .campaign .faq dl :is(dt, dd)::before,
	#main_post .p_faq .wrap_faq dl :is(dt, dd)::before {
		left: 1.25rem;
	}

	.toggle_btn {
		right: 3rem;
	}

	/* ニュース TB */
	#main_post .archive_news > ul > li:first-child a:has(img) {
		width: 30%;
	}

	#main_post .archive_news > ul > li:first-child div {
		padding-left: 30px;
		width: 70%;
	}


	/* 会社概要 TB */
	#main_post .company > ul {
		width: 90vw !important;
	}

	#main_post .company > ul li:first-child {
		width: 42% !important;
	}

	#main_post .company > ul li:last-child {
		width: 54% !important;
	}

	#main_post .company > ul li br {
		display: initial !important;
	}


	/* 特商法 TB */

	#main_post .tradelaw > ul li:nth-child(2n+1) {
		width: 28%;
	}

	#main_post .tradelaw > ul li:nth-child(2n) {
		width: 72%;
	}

}


@media (width <= 1175px) {

	/* 全カテゴリ、タグ表示削除 */
	#main_post :is(.archive_news, .wrap_news) > ul > li:last-child {
		display: none;
	}

}


@media (width <= 767px) {

	/* About SP */
	#main_post .logo01 {
		font-size: 6.67vw;
	}

	#main_post .main_about {
		margin: 41.03vw 0 0;
		width: 100vw;
		background: url(../images/bg_aboutmain.webp) no-repeat 80% 50%;
    	background-size: cover;
	}

	#main_post .main_about img {
		right: auto;
		left: 0;
	}

	#main_post .main_about .logo02 {
		left: 5vw;
		bottom: 8.97vw;
	}

	#main_post .about_obsession {
		margin: 15.38vw 0 0;
		padding: 20.51vw 5vw;
	}

	#main_post .about_obsession h3,
/*	#main_post :is(.voice, .faq) h2,*/
	#main_post .tit_common {
		text-align: center;
	}

	#main_post .about_obsession ul {
		margin: 1.5rem 0 0;
		padding: 0;
	}

	#main_post .about_obsession ul li {
		padding: 7.69vw 0 10.26vw;
	}

	#main_post .about_obsession ul li p {
		margin: .5em 0 0;
		font-size: 3.59vw;
	}

	#main_post .about_purpose {
		gap: 31.28vw 0;
	}

	#main_post .about_purpose li:first-child img {
		top: 0;
	}

	#main_post .about_purpose li:last-child {
		padding: 5vw;
		height: auto;
	}

	#main_post .about_purpose li:last-child h3 {
		top: -2.35em;
		left: 5vw;
	}

	#main_post .about_purpose02 {
		margin: 10.26vw 0 0;
		gap: 37.18vw 0;
	}

	#main_post .about_purpose02 li:first-child {
		order: 0;
	}

	#main_post .about_purpose02 li:last-child h3 {
		top: -3.35em;
	}

	#main_post .normal_plan {
	    padding: 20.51vw 0;
	}

	#main_post .normal_plan > p {
		font-size: 3.59vw;
		text-align: left;
	}

	#main_post .discount_plan {
	    padding: 20.51vw 0 10.26vw;
	}

	#main_post .discount_plan ul {
		margin: 15.38vw auto 20.51vw;
		padding: 0 0 20.51vw;
		gap: 5.13vw 0;
	}

	#main_post .discount_plan ul li img {
		width: 28.21vw;
	}

	#main_post .discount_plan ul.ul_pay li img {
		width: 30.77vw;
	}

	#main_post .discount_plan ul li h3 {
		font-size: 5.13vw;
	}

	/* Menu SP */
	#main_post .parts h3 {
		line-height: 1.5;
	}

	#main_post .parts h3::before {
		bottom: 3.25em;
	}

	#main_post .parts h3::after {
		bottom: .65em;
	}

	#main_post .parts h3 small {
	    font-size: 50%;
	    top: .1em;
	    right: auto;
	    left: 10vw;
	}

	#main_post .parts h3 span {
		font-size: 55%;
		position: relative;
		top: .1em;

	}

	#main_post .parts h3 strong::before {
		width: 9.49vw;
		height: 8.72vw;
	}

	#main_post .parts .parts_body {
		display: none;
	}

	#main_post .parts .parts_body_sp {
		display: block;
		margin: 0;
		padding: 0 5vw;
	}

	#main_post .parts .parts_body_sp figure {
		position: relative;
	}

	#main_post .parts .parts_body_sp figure span {
		padding: 0 .5em;
		background: #000000;
		color: var(--yellow-color);
		font-size: 9.23vw;
		font-weight: 600;
		line-height: 1.5;
		position: absolute;
		bottom: .5em;
		right: .5em;
	}

	#main_post .parts .parts_body_sp figure:nth-of-type(2) span {
		right: auto;
		left: .5em;
	}

	#main_post .parts .parts_body_sp figure :is(.back, .front) {
		display: block;
		height: 91.54vw;
		position: absolute;
		right: 4.1vw;
		bottom: -33.33vw;
	}

	#main_post .parts .parts_body_sp figure .front {
		bottom: -35.9vw;
		right: auto;
		left: 2vw;
	}

	#main_post .parts .parts_body_sp > ul {
		display: flex;
		flex-wrap: wrap;
		margin: 1.5em 0 0;
		justify-content: space-between;
		gap: 2.56vw 0;
	}

	#main_post .parts .parts_body_sp > ul li {
		min-width: 44vw;
	}

	#main_post .parts .parts_body_sp > ul li span {
		display: inline-block;
		padding: .1em 0;
		width: 100%;
		background: var(--yellow-color);
		border-radius: 1.5em;
		color: var(--blue-color31);
		font-size: 6.15vw;
		font-weight: 600;
		text-align: center;
	}

	#main_post .parts .parts_body_sp > ul.ul_face li:nth-last-child(-n+2),
	#main_post .parts .parts_body_sp > ul.ul_upper li:nth-last-child(-n+4) {
		width: 100%;
	}

	#main_post .parts .parts_body_sp > ul.ul_lower li {
		width: 100%;
	}

	#main_post .parts .parts_body_sp > ul.ul_lower li:first-child {
		min-width: initial;
		width: 40%;
	}

	#main_post .parts .parts_body_sp > ul.ul_lower li:nth-child(2) {
		width: 60%;
	}

	#main_post .parts .parts_body_sp > ul.ul_lower li:nth-child(2) p {
		margin-top: .75em;
	}

	#main_post .parts .parts_body_sp > ul.ul_lower li:nth-child(5) {
		width: 44vw;
	}
	#main_post .parts .parts_body_sp > ul.ul_lower li:nth-child(6) {
		width: 44vw;
	}

	#main_post .parts .parts_body_sp > ul li:has(p) {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	#main_post .parts .parts_body_sp > ul li p {
		color: #ffffff;
		font-size: 3.33vw;
		line-height: 1.5;
	}

	#main_post .parts .parts_body_sp > ul + figure {
		margin-top: 4em
	}

	#main_post .parts .parts_body_sp > ul + figure::before {
		content: '';
		width: 100%;
		height: 1px;
		background: #ffffff;
		position: absolute;
		top: -2em;
		left: 0;
	}

	#main_post .parts .parts_body_sp > h5 {
		margin: 10.26vw 0 0;
	    color: #ffffff;
	    font-family: 'the-seasons', serif;
	    font-size: 10.26vw;
	    font-weight: 700;
	    line-height: 1.5;
	    letter-spacing: .2em;
	    text-align: center;
	}

	#main_post .parts .parts_body_sp > h5 span {
	    display: block;
	    margin: 0 auto;
	    width: 100%;
	    font-size: 30%;
	    font-weight: 400;
	    letter-spacing: .24em;
	    text-align: center;
	}

	#main_post .parts .parts_body_sp > h5 strong {
		display: block;
		font-family: hiragino-mincho-pron, serif;
		font-size: 4.62vw;
		font-weight: 600;
		line-height: 1;
		letter-spacing: .1em;
	}


	/* Machine SP */
	#main_post .machine {
		padding: 20.51vw 0 0;
	}

	#main_post .machine .img_machine01 {
		margin-top: 10.26vw;
	}

	#main_post .machine .img_machine01 {
		background: url(../images/img_machine02.webp) no-repeat 103% -90%, url(../images/bg_machine01.webp) no-repeat 71% 60%;
	    background-size:  51.79vw, 318.7vw;
	}

	#main_post .machine .copy_machine {
		padding: 15.38vw 5vw 0;
		height: auto;
		z-index: 0;
	}

	#main_post .machine .copy_machine ul li {
	    padding: 0;
	    width: 100% !important;
	}

	#main_post .machine .copy_machine ul li .logo_epix {
		margin: 0 auto;
		position: absolute;
		top: 78vw;
		right: 0;
		left: 0;
	}

	#main_post .machine .copy_machine ul li:last-child {
		/*height: 165.38vw; 4つの画像が入った時*/
		height: 151.38vw;
	}

	#main_post .machine .copy_machine ul li .epix_machine01 {
		top: auto;
		/*bottom: 30.26vw; 4つの画像が入った時*/
		bottom: 16.26vw;
		left: -4vw;
	}

	#main_post .machine .copy_machine ul li .epix_machine01::before {
		bottom: -17.95vw;
	}

	#main_post .machine .copy_machine ul li .epix_machine01 strong {
		margin: 0 auto;
		text-align: center;
		bottom: -13.5vw;
		right: 0;
		left: 0;
	}

	#main_post .machine .copy_machine ul li .epix_girl01 {
		top: auto;
		/*bottom: 14vw; 4つの画像が入った時*/
		bottom: 0;
		right: 0;
	}

	#main_post .machine .copy_machine ol {
		bottom: -75.64vw;
		gap: 4vw;
	}

	#main_post .machine .img_machine02 {
	    background: url(../images/bg_machine02.webp) no-repeat 48% 36%;
	    background-size: 182.56vw;
	}

	#main_post .machine .wrap_points ul {
		margin: 15.38vw 0 0;
	}

	#main_post .machine .wrap_points ul li {
		width: 100% !important;
	}

	#main_post .machine .wrap_points ul li:nth-child(2n+3) {
		padding: 15.38vw 0 0;
	}

	#main_post .machine .wrap_points ul li img {
		margin: 0 auto;
		width: 41.03vw;
		height: 41.03vw;
		bottom: 0;
	}

	#main_post .machine .difference {
		padding: 15.38vw 0 12.82vw;
	}

	#main_post .machine .difference > ul {
		margin: 12.82vw 0 0;
	}

	#main_post .machine .difference > ul > li:first-child span {
		width: 45%;
	}

	#main_post .machine .difference > ul > li:nth-child(-n+2) {
	    padding: 0 0 0 5.13vw;
	    height: 15.38vw;
	    align-items: center;
	}

	#main_post .machine .difference > ul > li:nth-child(3) {
	    padding: 2.56vw 0 2.56vw 5.13vw;
	    background: linear-gradient(90deg, var(--liteblue-color), var(--liteblue-color) 22.05vw, #ffffff 22.05vw, #ffffff);
	}

	#main_post .machine .difference > ul > li > ul > li:nth-child(2n+1) {
		width: 45% !important;
	}

	#main_post .machine .difference > ul > li > ul > li:nth-child(2n) {
		width: 55% !important;
	}

	#main_post .machine .difference > ul > li > div {
		padding: 1.28vw;
	    top: -20.51vw;
	    left: 0;
	}

	#main_post .machine .difference > ul > li > div > h4 {
		flex-wrap: wrap;
		padding: .15em 2em 0 0;
		line-height: 1 !important;
		position: relative;
	}

	#main_post .machine .difference > ul > li > div > h4 img {
	    left: auto;
	    right: 0;
	    bottom: 0;
	}

	#main_post .machine .difference > ul > li > div > h4 small {
		display: block;
		margin: -2em 0 0;
	}

	#main_post .machine .difference > ul > li > div > ul.ul_epix {
		padding: 2.56vw 3.85vw;
	}

	#main_post .machine .difference > ul > li > div > ul.ul_epix li span {
		font-size: 80%;
	}

	#main_post :is(.machine, .campaign) :is(.reason, .value) {
		padding: 15.38vw 0;
	}

	#main_post :is(.machine, .campaign) .reason > ul {
		gap: 15.38vw;
	}

	#main_post :is(.machine, .campaign) .reason > ul li::before {
		top: -.7em;
	}

	#main_post :is(.machine, .campaign) .reason > ul li img {
		width: 23.08vw;
	}

	#main_post :is(.machine, .campaign) .reason > ul li h4 {
		font-size: 5.13vw;
	}

	#main_post :is(.machine, .campaign) .reason > ul li p {
		font-size: 3.59vw;
	}

	#main_post .machine .value {
	    background: url(../images/bg_machine03.webp) no-repeat 86% 50%;
	    background-size: 396.4vw;
	}

	#main_post .machine .value > ul {
		margin: 48.72vw auto 0;
	}

	#main_post .machine .detail > ul > li:not(:first-child) {
		padding: 0;
	}

	#main_post .machine .detail > ul > li {
		width: 100% !important;
	}

	.purpose { order: 0;}
	.spot { order: 1;}
	.filter { order: 2;}
	.filter_d { order: 3;}
	.pulse { order: 4;}
	.pulse_w { order: 5;}
	.shot { order: 6;}
	.irradiation { order: 7;}
	.output { order: 8;}
	.screen { order: 9;}
	.surveillance { order: 10;}
	.cooling { order: 11;}
	.handpiece { order: 12;}
	.light { order: 13;}
	.lamp { order: 14;}
	.head_cool { order: 15;}
	.head_temp { order: 16;}
	.volt { order: 17;}
	.watt { order: 18;}
	.size { order: 19;}
	.weight { order: 20;}
	.country { order: 21;}



	/* キャンペーン SP */
	#main_post .campaign .main_camp {
		height: 302.56vw;
	    background: url(../images/bg_campaign01.webp) no-repeat 50% 50%;
	    background-size: cover;
	}

	#main_post .campaign .main_camp::before,
	#main_post .campaign .main_camp::after {
		margin: 0 auto;
		text-align: center;
		letter-spacing: .14em;
		right: 0;
		left: 0;
	}

	#main_post .campaign .main_camp .wrap_camp {
	    padding: 12vw 0 0;
	}

	#main_post .main_camp .wrap_camp::before,
	#main_post .main_camp .wrap_camp::after {
		content: none !important;
	}

	#main_post .campaign .main_camp .wrap_camp > h2 {
		text-align: center;
		letter-spacing: .08em;
	}

	#main_post .campaign .main_camp .wrap_camp > h4 {
		letter-spacing: .3em;
	    top: auto;
	    bottom: 63.59vw;
	    left: auto;
	    right: 5vw;
	}

	#main_post .campaign .main_camp .wrap_camp > h4:nth-of-type(2) {
	    top: auto;
	    bottom: 71.28vw;
	    left: 5vw;
	    right: auto;
	}

	#main_post .campaign .main_camp .wrap_camp .cont_camp {
	    margin: .5rem auto 0;
	    padding: 8.97vw 5vw;
	    height: auto;
	    border-radius: 0;
	}

	#main_post .campaign .main_camp .wrap_camp .cont_camp .onecoin02 {
		top: 13vw;
		right: -4vw;
	}

	#main_post .campaign .main_camp .wrap_camp .cont_camp > strong {
		margin: 0 0 0 7.5vw;
	}

	#main_post .campaign .main_camp .wrap_camp .cont_camp > h3 > strong > small {
		right: -.45em;
	}

	#main_post .campaign .main_camp .wrap_camp .cont_camp > h3 {
		padding: 0 7.5vw;
	}

	#main_post .campaign .main_camp .wrap_camp .cont_camp > p:not(.note) {
	    margin: 2em 7.5vw 0;
	}

	#main_post .campaign .main_camp .wrap_camp .cont_camp .stars01 {
		transform: scaleX(-1.0);
		top: 71.79vw;
		right: 5vw;
	}

	#main_post .campaign .main_camp .wrap_camp .cont_camp > p.note {
		text-align: center;
	}

	#main_post .campaign .main_camp .wrap_camp .spcamp01 {
		bottom: 118.21vw;
		right: 8.97vw;
	}

	#main_post .campaign .main_camp .wrap_camp .campgirl01 {
		bottom: 47.95vw;
		right: auto;
		left: 8.21vw;
	}

	#main_post .campaign .main_camp .wrap_camp .ul_epix {
	    height: 56.67vw;
	}

	#main_post .campaign .main_camp .wrap_camp .ul_epix li:nth-child(2) {
	    padding: 2.5rem 0 0 0;
	}

	#main_post .campaign .main_camp .wrap_camp .ul_epix li:nth-child(2) h5 {
		letter-spacing: .04em;
	}

	#main_post .campaign .main_camp .wrap_camp .ul_epix li:last-child {
	    width: 30.26vw;
	    position: relative;
	}

	#main_post .campaign .main_camp .wrap_camp .ul_epix li:last-child p {
	    left: 0;
	    bottom: 2em;
	}

	#main_post .campaign .camp_detail {
		padding: 20.51vw 0;
	}

	.campaign .camp_detail > ul {
		padding: 10.26vw 5vw;
		font-size: 3.59vw;
		gap: 1em 0;
	}

	.campaign .camp_detail > ul li {
		width: 100% !important;
	}

	.campaign .camp_detail > ul li:nth-child(2n):not(:last-child) {
		margin-bottom: 1em;
	}

	.campaign .compare {
		padding: 38.46vw 0 15.38vw;
	}

	.campaign .compare .wrap_compare {
		padding: 0 5vw 5vw;
		width: 100vw;
		overflow-x: scroll;
	}

	.campaign .compare .wrap_compare::-webkit-scrollbar {
		height: 2.56vw;
		border-radius: 1.28vw;
	}

	.campaign .compare .wrap_compare::-webkit-scrollbar-track {
		background-color: var(--main-color);
	}

	.campaign .compare .wrap_compare::-webkit-scrollbar-thumb {
		background-color: var(--blue-color31);
		border-radius: 1.28vw;
	}

	#main_post .campaign .apply_camp01 {
		padding: 10.26vw 0;
	}

	#main_post .campaign .voice {
		padding: 20.51vw 0;
	}

	#main_post .campaign .voice .top_link_center {
		margin: 5em 0 0;
	}

	#main_post .campaign .faq {
		padding: 20.51vw 0 0;
	}

	#main_post .campaign .faq dl,
	#main_post .p_faq .wrap_faq dl {
		margin: 2rem auto 0;
	}

	#main_post .campaign .faq dl + dl,
	#main_post .p_faq .wrap_faq dl + dl {
		margin-top: 1rem;
	}

	#main_post .campaign .faq dl dt,
	#main_post .p_faq .wrap_faq dl dt {
		padding: .6rem 0 .6rem 15.38vw;
		font-size: 4.62vw;
	}

	#main_post .campaign .compare h3 {
		margin: 0 auto;
	    top: 15.38vw;
	    right: 0;
	    left: 0;
	}

	#main_post .campaign .compare h3::before, .campaign .compare h3::after {
		margin: auto 0;
	    width: 1px;
	    height: 20.51vw;
	    transform: rotate(30deg);
	    top: 0;
	    bottom: 0;
	    right: 10vw;
	}

	#main_post .campaign .compare h3::before, .campaign .compare h3::before {
		right: auto;
		left: 10vw;
	    transform: rotate(-30deg);
	}

	#main_post .campaign .compare .wrap_compare table tr :is(th, td):first-child {
		position: sticky;
		top: 0;
		left: 0;
		z-index: 1;
	}

	#main_post .campaign .compare .wrap_compare table tr :is(th, td) {
		padding: 1.5em 0;
	}
	
	#main_post .campaign .compare .wrap_compare table tr td:first-child {
		padding-left: 2em;
	}

	#main_post .campaign .compare .wrap_compare table tr:nth-child(2) td:first-child {
		z-index: 2;
	}

	#main_post .campaign .compare .wrap_compare table tr:nth-child(2) td:first-child::before {
		border-right: none;
		border-radius: .6rem 0 0 .6rem;
		width: 90vw;
	}

	#main_post .campaign .compare .wrap_compare table tr:nth-child(2) td:last-child::before {
		content: '';
		width: calc(500% + 6px);
		height: calc(100% + 6px);
		border: 6px solid var(--pink-color);
		border-radius: .6rem;
		position: absolute;
		top: -3px;
		right: -3px;
		z-index: 1;
	}

	#main_post .campaign .compare .wrap_compare table tr:nth-child(2) td:first-child::after {
		content: '';
		width: 5vw;
		height: 550%;
		background: var(--liteblue-color);
		position: absolute;
		top: -20vw;
		left: -5vw;
		z-index: 0;
	}

	#main_post .campaign .voice ul {
		margin: 10.26vw 0 0 5vw;
	}

	#main_post .p_voice ul {
		margin: 10.26vw 0 0 10vw;
		gap: 10.26vw 0;
	}

	#main_post .campaign .voice ul li {
		padding: 0 5vw 2.56vw 0;
	}

	#main_post .p_voice ul li {
		padding: 0 0 2.56vw;
	}

	#main_post .p_voice ul li img,
	#main_post .campaign .voice ul li img {
		width: 23.59vw;
		height: 23.59vw;
		top: 4.62vw;
		right: 4.62vw;
	}

	#main_post .campaign .voice :is(.slick-prev, .slick-next) {
	    font-size: 0;
	    line-height: 0;
	    position: absolute;
	    top: 42%;
	    display: block;
	    width: 3.25rem;
	    height: 3.25rem;
	    padding: 0;
	    cursor: pointer;
	    border: 2px solid var(--main-color);
	    border-radius: 50%;
	    outline: none;
	    background: rgba(255, 255, 255, .8);
	    z-index: 1;
	}

	#main_post .campaign .voice .slick-next {
		top: 112%;
		left: auto;
		right: 5vw;
		}

	#main_post .campaign .voice .slick-prev {
		top: 112%;
		left: auto;
		right: 20.5vw;
		}

	#main_post .campaign .voice :is(.slick-prev, .slick-next)::before {
	    content: '';
	    margin: auto;
	    width: .65rem;
	    height: .65rem;
	    border-top: 2px solid #3190D6;
	    border-right: 2px solid #3190D6;
	    transform: rotate(45deg);
	    position: absolute;
	    top: 2%;
	    right: 0;
	    bottom: 0;
	    left: -10%;
	}

	#main_post .campaign .voice .slick-prev::before {
	    transform: rotate(-135deg);
	    left: 10%;
	}

	/* 学割 SP */
	#main_post .benefits .tit_benefits {
		padding: 4.5em 0 0;
		background: var(--main-color) url(../images/img_benefit_girl01.webp) no-repeat 42.82vw 29%;
		background-size: 95.64vw;
	}

	#main_post .benefits .tit_benefits h2 strong {
		display: block;
		margin: 1em 0 0;
		padding: .75em 0;
		text-align: center;
	}

	#main_post .benefits .tit_benefits h2 img {
		top: -6vw;
		left: 34.5vw;
	}

	#main_post .benefits .b_lead {
		padding: 15.38vw 0;
	}

	#main_post .benefits .b_lead img {
		margin: 0 auto 10.26vw;
	}

	#main_post .benefits .cont_benefits {
		padding: 20.51vw 0 0;
	}

	#main_post .benefits .cont_benefits ul li:nth-child(2) {
		padding: 0 0 0 3.08vw;
		line-height: 1.75;
	}

	#main_post .benefits .cont_benefits ul li strong {
		border: 2px dotted;
		top: calc(100% + 2.56vw);
		right: 5vw;
	}

	#main_post .benefits .cont_benefits ul li strong::before {
		bottom: -2vw;
		left: -2vw;
	}

	#main_post .benefits .cont_benefits ul li:last-child {
		margin: 53.59vw 0 0;
		padding: 7.69vw 5vw;
	}

	#main_post .benefits .cont_benefits ul li:last-child p {
		margin: .5em 0 0;
	}

	#main_post .benefits .cont_benefits ul li:last-child .studentid {
		top: -34vw;
		left: 5.5vw;
	}

	#main_post .benefits .cont_benefits ul li:last-child .b_girl02 {
		height: 50.77vw;
		top: -50.77vw;
		right: 23.85vw;
		object-fit: cover;
		object-position: 50% 0;
	}

	#main_post .benefits .cont_benefits ul li:last-child .b_girl03 {
		height: 54.1vw;
		top: -54.1vw;
		right: 22.31vw;
		object-fit: cover;
		object-position: 50% 0;
	}

	#main_post .benefits .cont_benefits ul li:last-child .b_girl04 {
		height: 57.441vw;
		top: -57.44vw;
		right: 26vw;
		object-fit: cover;
		object-position: 50% 0;
	}

	#main_post .benefits .cont_benefits .note + ul {
		margin-top: 20.51vw;
	}

	#main_post .benefits .cont_benefits ol {
		margin: 20.51vw 0 0;
	}

	#main_post .benefits .cont_benefits ol li:last-child {
		padding: 0;
		line-height: 1.5;
		order: -1;
	}

	#main_post .benefits .cont_benefits ol li strong {
		margin: 0 0 1rem;
	}

	/* お客様の声 SP */
	#main_post .p_voice {

	}

	/* よくある質問 SP */
	#main_post :is(.p_faq, .p_voice, .minor, .tradelaw) {
		padding: 20.51vw 0;
	}

	#main_post .p_faq .wrap_faq > p.lead {
		margin: 3.5em 0 2.5em;
		font-size: 3.08vw;
	}

	#main_post .p_faq .wrap_faq h3 {
		padding: 1em 0 1em 1em
	}

	#main_post .p_faq .wrap_faq dl dt {
		padding-right: 1.5em;
	}

	#main_post .campaign .faq dl dd,
	#main_post .p_faq .wrap_faq dl dd {
		padding: 1.5rem 1rem 1.25rem 15.38vw;
		font-size: 3.59vw;
	}

	#main_post .campaign .faq dl :is(dt, dd)::before,
	#main_post .p_faq .wrap_faq dl :is(dt, dd)::before {
		font-size: 8.21vw;
		left: 5.13vw;
	}

	#main_post .campaign .faq dl dd::before,
	#main_post .p_faq .wrap_faq dl dd::before {
		top: .3em;
	}

	.toggle_btn {
		top: 1.1em;
	  	right: 5vw;
	}


	/* サロン一覧 SP */
	#main_post .salons {
		padding: 20.51vw 0;
	}

	#main_post .salons > ul {
		display: flex;
		flex-wrap: wrap;
/*		margin: 2.5rem auto 0; h2がある場合*/
		width: min(976px, 90vw);
		justify-content: space-between;
	}

	#main_post .salons > ul li {
		width: 100%;
	}

	#main_post .salons > ul li p,
	#main_post .salons .wrap_salon p {
		padding-left: 25.64vw;
		font-size: 3.08vw;
	}


	/* サロン詳細 SP */
	#main_post .salons .wrap_salon {
		margin-top: 2rem;
	}

	#main_post .salons .wrap_salon h3 {
	margin: 1.5em auto .5em;
	}

	#main_post .salons .wrap_salon ul {
		gap: 2.56vw 0;
	}

	#main_post .salons .wrap_salon ul li {
		width: 48.57%;
	}

	#main_post .salons .wrap_salon + h2 {
		margin-top: 2em;
		padding-top: 2.5em;
		border-top: 1px dashed;
	}

	#main_post .salons .wrap_salon iframe {
		margin: 0 0 2rem;
	}

	#main_post .salons .wrap_salon p:first-of-type br:not(:first-of-type) {
		display: initial !important;
	}

	/* お知らせ一覧 */
	#main_post .archive_news > ul > li:first-child div {
		padding: 5.13vw 0 0;
	}

	#main_post .archive_news > ul > li:first-child a:has(img) {
		width: 100%;
	}

	#main_post .archive_news > ul > li:first-child :is(time, .news-cats),
	#main_post .wrap_news > :is(time, .news-cats, .news-tags) {
		font-size: 3.08vw;
	}

	/* お知らせページ SP */
	#main_post :is(.archive_news, .wrap_news) > ul > li:last-child {
		padding: 10.26vw 5vw;
		width: 90vw;
	}


	/* コラムページ（お知らせページを拝借） SP */
	#main_post .cnt_column li:first-child h2 {
		padding: 10.26vw 0;
	}

	#main_post .cnt_column li:first-child p {
		padding-left: 0;
	}

	#main_post .cnt_column li:first-child :is(h4, h5, .box00, .box01) {
		margin-left: 0;
	}

	#main_post .cnt_column li:first-child h4 {
		font-size: 4.62vw;
	}

	#main_post .cnt_column li:first-child > h5 {
		font-size: 4.1vw !important;
	}

	#main_post .cnt_column li:first-child div h5 {
		font-size: 3.59vw !important;
	}

	#main_post .cnt_column li:first-child p + img {
		margin: 4rem 0 3rem;
	}

	#main_post .cnt_column h5 + .wrap_table {
		margin-top: .5rem;
	}

	#main_post .cnt_column .wrap_table {
		margin: 2rem 0 1.5rem;
		padding: 0 0 .5rem;
		width: 90vw;
		overflow-x: scroll;
	}

	#main_post .cnt_column table {
		margin-left: 0;
		width: 100%;
	}

	#main_post .cnt_column .wrap_table > table.tb01 {
		margin: 0 !important;
		width: 200vw;
	}


	/* お客様の声 SP */

	#main_post .p_voice > p.lead {
		margin: 3em auto 4em;
		width: 90vw;
	}

	/* 会社概要 SP */
	#main_post .company {
		padding: 20.51vw 0;
	}

	#main_post .company > ul li:last-child {
		padding: 10.26vw 5vw 0;
	}

	#main_post .tradelaw > ul li span,
	#main_post .company > ul li:last-child p span {
		font-size: 3.59vw;
	}

	#main_post .company > ul li:last-child p i {
		width: 61.54vw;
		min-height: 7.18vw;
	}

	/* 特商法 SP */
	#main_post .tradelaw > ul {
/*		margin: 15.38vw auto 0; h2がある時*/
		font-size: 3.08vw;
	}

	#main_post .tradelaw > ul li {
		width: 100% !important;
	}

	#main_post .tradelaw > ul li span {
		width: auto;
		margin: 0 1em 0 0;
		padding: 0 2em;
		font-size: 3.59vw;
	}

	#main_post .tradelaw > ul li:nth-child(2n+1),
	#main_post .tradelaw > ul li:last-child {
		padding-bottom: 0;
		border-bottom: none;
	}

	/* フッター上メニュー SP */
	#f_menu01 > ul {
		gap: 5vw 0;
	}

	#f_menu01 > ul li {
		width: 90vw;
		height: 28.21vw;
	}











}


