.p-header__logo {
    padding: 2.9rem 5rem 4rem 5rem !important;
}

.p-voice .voice-slider .slick-dots {
	display: flex;
	justify-content: center;
	margin-top: 2.6rem;
}

.p-voice .voice-slider .slick-dots li {
	margin-right: 1rem;
}

.p-voice .voice-slider .slick-dots li:last-child {
	margin-right: 0;
}

.p-voice .voice-slider .slick-dots li.slick-active button {
	background: #3c3c3c;
}

.p-voice .voice-slider .slick-dots button {
	background: #969696;
	border: 0;
	border-radius: 50%;
	font-size: 0;
	color: rgba(0,0,0,0);
	cursor: pointer;
	display: block;
	outline: none;
	padding: 0;
	height: .6rem;
	width: .6rem;
}

.p-visual {
	height: 100vh;
}

.p-visual .slick-list,
.p-visual .slick-track {
	height: 100%;
}

.p-visual__slider {
	height: calc(100vh - 8rem);
}

.p-visual__scroll {
	display: flex;
	flex-flow: column;
	justify-content: flex-end;
	height: 100%;
	padding-bottom: 11.3rem;
	padding-top: 16rem;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
}

.product-info__protein {
	margin-bottom: 4.7rem;
}

.product-info__protein2 {
	position: absolute;
	top: 17.5rem;
	right: 6.1rem;
	z-index: 10;
}

.product-info__supplement {
	position: absolute;
	top: 17.5rem;
	right: 7.9rem;
	z-index: 10;
}

.product-info__supplement2 {
	position: absolute;
	top: 15.4rem;
	right: 14rem;
	z-index: 10;
}

.product-info__drink {
	position: absolute;
	top: 23.4rem;
	right: 7.9rem;
	z-index: 10;
}

.product-info__drink2 {
	position: absolute;
	top: 25.5rem;
	right: 7.9rem;
	z-index: 10;
}

.product-ship {
	margin-top: 2rem;
}

.main-visual {
	margin-bottom: 2.2rem;
}

.p-faq {
	padding: 7.27rem 0 2.7rem;
}

.p-faq .container {
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}

.accordion-item.is-open .accordion-item__head::after {
	transform: translateY(-50%) rotate(0deg);
}

.accordion-item:first-child .accordion-item__head {
	border-top: .75px solid #3c3c3c;
}

.accordion-item__head {
	border-bottom: .75px solid #3c3c3c;
	cursor: pointer;
	padding: 1.9rem 2rem 2rem 2.5rem;
	display: flex;
	align-items: center;
	font-size: 1.4rem;
	font-weight: normal;
	position: relative;
}

.accordion-item__head .txt {
	line-height: 1.5714285714;
	letter-spacing: .03em;
}

.accordion-item__head::before {
	content: "Q.";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

.accordion-item__head::after {
	content: "";
	background: url(../images/common/icon_arrow_up02.svg) no-repeat center center/cover;
	width: 1.143rem;
	height: .576rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(180deg);
	right: 1.5rem;
	transition: all .4s ease;
}

.accordion-item__content {
	display: none;
}

.accordion-item__wrap {
	background-color: #ebebeb;
	padding: 1.5rem;
	border-bottom: .75px solid #3c3c3c;
}

.accordion-item__wrap p {
	font-size: 1.2rem;
	line-height: 1.8333333333;
}

.accordion-note {
	font-size: 1rem;
	letter-spacing: -0.02em;
	margin-top: 2.44rem;
}

.accordion-note a {
	text-decoration: underline;
}

.p-voice {
	padding-top: 5.3rem;
}

.p-voice__ttl {
	color: #000;
	font-size: 2.5rem;
	font-family: "Montserrat",sans-serif;
	font-weight: normal;
	line-height: 2;
	letter-spacing: .05em;
	text-align: center;
}

.p-voice__ttl span {
	color: #a21432;
	font-size: 1.35rem;
	font-family: "Noto Sans JP",sans-serif;
	font-weight: 500;
	display: block;
	line-height: 1.6296296296;
	letter-spacing: 0;
}

.p-voice .voice-slider {
	margin: 3rem -0.8rem 0;
	padding: 0 4.6rem;
}

.p-voice .voice-slider .slick-list {
	overflow: visible;
}

.p-voice .voice-slider .slick-track {
	display: flex;
}

.p-voice .voice-slider .slick-prev {
	left: 3.5rem;
}

.p-voice .voice-slider .slick-next {
	right: 3.5rem;
}

.p-voice .voice-item {
	height: auto;
	padding: 0 1rem;
}

.p-voice .voice-item__box {
	background-color: #f7f8f8;
	border-radius: .5rem;
	height: 100%;
	position: relative;
}

.p-voice .voice-item__img {
	border-radius: .5rem .5rem 0 0;
	overflow: hidden;
}

.p-voice .voice-item__content {
	padding: 2.3rem 1.5rem 4.5rem;
}

.p-voice .voice-item__name {
	display: flex;
	align-items: center;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1.6923076923;
	margin-bottom: 1rem;
}

.p-voice .voice-item__name img {
	width: 1.7rem;
	height: 1.7rem;
	margin-right: .5rem;
}

.p-voice .voice-item__sub {
	font-size: 1rem;
	font-family: "Noto Sans JP",sans-serif;
	line-height: 1.5;
}

.p-voice .voice-item__date {
	font-size: 1rem;
	font-family: "Noto Sans JP",sans-serif;
	text-align: right;
}

.p-voice .voice-item__footer {
	font-size: 1rem;
	margin-left: -0.5rem;
	position: absolute;
	left: 1.5rem;
	bottom: 1.1rem;
}

.p-description__ttl {
	margin-bottom: 1rem;
}

.p-description__ttl.p-description__ttl--white {
	color: #fff;
}

.p-description__ttl .jp {
	font-size: 1.2rem;
	font-family: "Noto Sans JP",sans-serif;
	letter-spacing: .04em;
}

.p-description__ttl .en {
	font-size: 2.3rem;
	font-family: "Montserrat",sans-serif;
	font-weight: 600;
	letter-spacing: .02em;
}

.p-description__sub {
	color: #a21432;
	font-size: 1.6rem;
	font-weight: 500;
	margin-bottom: 1.3rem;
	margin-left: -1rem;
}

.p-description__sub sup {
	margin-right: -1rem;
	margin-left: -0.5rem;
}

.p-description__list {
	margin-bottom: 1.5rem;
}

.p-description__list li {
	font-size: 1.3rem;
	font-family: "Noto Sans JP",sans-serif;
	line-height: 1.7692307692;
	letter-spacing: .05em;
}

.p-description__label {
	border: 1px solid #a21432;
	border-radius: 1.2rem;
	color: #a21432;
	font-size: 1.2rem;
	line-height: 1.25;
	letter-spacing: -0.065em;
	display: inline-flex;
	align-items: center;
	height: 2.4rem;
	margin-right: 1.1rem;
	padding: 0 1.5rem .1rem;
}

.p-description__label:last-child {
	margin-right: 0;
}

.p-course {
	padding: 3.5rem 0 3.87rem;
}

.p-course__ttl {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.4666666667;
	text-align: center;
	margin-bottom: 2.4rem;
}

.p-course__ttl::before,
.p-course__ttl::after {
	content: "";
	background-color: #000;
	height: 1.9rem;
	width: 1px;
	position: relative;
	bottom: -0.8rem;
}

.p-course__ttl::before {
	margin-right: 1.5rem;
	transform: rotate(-23deg);
}

.p-course__ttl::after {
	margin-left: 1.5rem;
	transform: rotate(23deg);
}

.p-course__wrap {
	border: 1px solid #000;
	padding: .75rem 1rem;
}

.p-course__list {
	display: flex;
	align-items: center;
	margin: 0 -1rem;
}

.p-course__list img {
	margin: 0 auto;
}

.p-course__list li {
	flex: 1;
	padding: 0 .3rem;
	text-align: center;
	position: relative;
}

.p-course__list li:not(:last-child)::after {
	background-color: #000;
	content: "";
	width: 1px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
}

.p-course__list li em {
	font-style: normal;
}

.p-course__list__txt {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.05em;
	margin-bottom: .3rem;
}

.p-course__list__txt.p-course__list__txt--small {
	font-size: .9rem;
}

.p-course__list__txt span,
.p-course__list__txt strong {
	color: #a21432;
	font-size: 1.2rem;
}

.p-course__list__txt small {
	font-size: .6rem;
	position: relative;
	top: -0.3rem;
	margin-left: .3rem;
}

.p-course__note {
	font-size: .8rem;
	text-align: right;
	letter-spacing: -0.016em;
	margin-top: .6rem;
}

.p-course__capacity {
	font-size: 1.2rem;
	line-height: 2;
	margin-top: 2.5rem;
}

.p-course__price {
	display: flex;
	justify-content: space-between;
	margin: 1.35rem 0 0;
}

.p-course__price li.line {
	position: relative;
	padding: 0 .2rem;
}

.p-course__price li.line::after {
	content: "";
	background-color: #000;
	width: 1px;
	height: 4.5rem;
	transform: rotate(25deg);
	position: absolute;
	top: 0;
	right: .3rem;
}

.p-course__price li p {
	font-weight: 500;
	position: relative;
}

.p-course__price li p:first-child {
	font-size: .9rem;
	line-height: 1.2;
}

.p-course__price li p:last-child {
	font-family: "DM Sans",sans-serif;
	font-size: 2.8rem;
	letter-spacing: .05em;
	white-space: nowrap;
}

.p-course__price li p:last-child span {
	font-family: "Noto Sans JP",sans-serif;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0;
}

.p-course__price li img {
	position: absolute;
	top: -6rem;
	right: 0;
}

.p-course__price li em {
	font-style: normal;
}

.p-course__btn {
	margin-top: 1.2rem;
}

.p-social {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2.2rem;
}

.p-social strong {
	font-size: 1.2rem;
	font-weight: 600;
	font-family: "Montserrat",sans-serif;
	line-height: 1;
	letter-spacing: .05em;
	margin-right: 2rem;
	padding-top: .2rem;
}

.p-social a {
	line-height: 1;
}

.p-social a:not(:last-child) {
	margin-right: 1.2rem;
}

.p-topic {
	padding: 4.86rem 0 3.5rem;
}

.p-topic__wrap {
	background-color: #ebebeb;
	border-radius: .5rem;
	padding: 4.5rem 4.5rem 4.5rem 2.5rem;
	max-width: 37rem;
	margin-right: -2.5rem;
	margin-left: auto;
}

.p-topic__ttl {
	color: #a21432;
	font-size: 1.95rem;
	font-weight: 600;
	line-height: 1.6;
	margin-bottom: 3.1rem;
}

.p-topic__media {
	max-width: 25.5rem;
	margin-left: 1rem;
}

.p-topic__content {
	margin-top: 2.4rem;
}

.p-topic__content ul {
	margin-top: 1.8rem;
	margin-bottom: 1.4rem;
}

.p-topic__content ul li {
	font-size: 1.35rem;
}

.p-topic__txt {
	font-size: 1.45rem;
	line-height: 1.724137931;
}

.p-topic__label {
	margin-top: .8rem;
}

.p-topic__label span {
	background-color: #a21432;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.3;
	padding: .3rem .5rem;
	display: inline-block;
	white-space: nowrap;
}

.p-topic__label span:not(:last-child) {
	margin-bottom: .5rem;
}

.p-problems {
	padding: 3.5rem 0 9rem;
	position: relative;
}

.p-problems::after {
	content: "";
	background: url(../images/common/icon_arrow_down03.svg) no-repeat;
	background-size: 100% 100%;
	width: 4.667rem;
	height: 2.333rem;
	position: absolute;
	right: 0;
	bottom: 3.5rem;
	left: 0;
	margin: 0 auto;
}

.p-problems__ttl {
	color: #a21432;
	font-size: 2.1rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 3rem;
}

.p-problems__head {
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: -0.031em;
	position: relative;
	padding: 2rem 3rem 2rem 4rem;
}

.p-problems__head.p-problems__head--supplement {
	letter-spacing: 0;
	padding-left: 2.6rem;
	padding-right: 2.6rem;
}

.p-problems__head.p-problems__head--center {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 12rem;
}

.p-problems__head.p-problems__head--center .img {
	order: 2;
	margin-left: 1.7rem;
}

.p-problems__head::before,
.p-problems__head::after {
	content: "";
	position: absolute;
	width: 2.267rem;
	height: 2.267rem;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

.p-problems__head::before {
	background-image: url(../images/common/icn_path01.svg);
	top: 0;
	left: 0;
}

.p-problems__head::after {
	background-image: url(../images/common/icn_path02.svg);
	right: 0;
	bottom: 0;
}

.p-problems__head .img {
	float: right;
	shape-outside: polygon(0.7rem 0, 12.5rem 0, 5.3rem 6.2rem);
	margin-top: -1.2rem;
}

.p-problems__list {
	margin-top: 2rem;
}

.p-problems__list.p-problems__list--small li {
	font-size: 1.35rem;
	letter-spacing: 0;
}

.p-problems__list li {
	background: url(../images/common/icn_union.svg) no-repeat;
	background-position: top center;
	background-size: 100% 100%;
	display: flex;
	align-items: center;
	padding: 3rem 2.5rem;
	position: relative;
	font-size: 1.35rem;
	letter-spacing: -0.08em;
	margin-right: -0.9rem;
}

.p-problems__list li strong {
	font-size: 1.55rem;
	font-weight: 600;
	border-bottom: 1px solid #a21432;
}

.p-problems__list li img {
	margin-right: 2rem;
}

.p-use {
	background-color: #e8deda;
	padding: 4rem 0 3rem;
}

.p-use__head {
	margin-bottom: 2.6rem;
}

.p-use__head p {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: -0.01em;
	text-align: center;
	margin-bottom: 1.1rem;
}

.p-use__head p sup {
	font-size: 1rem;
}

.p-use__head h2 {
	color: #a21432;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: -0.06em;
	text-align: center;
}

.p-use__media {
	max-width: 36.5rem;
}

.p-use__media p {
	font-size: .9rem;
	letter-spacing: -0.02em;
	padding: .8rem 0 0 1.7rem;
}

.p-know {
	background-color: #fff;
	border: 1px solid #000;
	padding: 2.44rem 6.5rem 3rem 2.26rem;
	margin-top: 3.4rem;
	right: -5.2rem;
	position: relative;
	z-index: 2;
}

.p-know::after {
	content: "";
	background: url(../images/common/icn_triangle.svg) no-repeat;
	background-size: 100% 100%;
	width: 1.3rem;
	height: 1.9rem;
	position: absolute;
	bottom: -1.9rem;
	left: 8.1rem;
}

.p-know__ttl {
	font-size: 1.5rem;
	line-height: 1.6666666667;
	letter-spacing: .09em;
	max-width: 28.3rem;
}

.p-know__media {
	max-width: 23.19rem;
	margin: 1.5rem auto 0;
}

.p-know__media img {
	width: 22.3rem;
}

.p-doctor {
	position: relative;
	left: -3rem;
	margin-top: -5.7rem;
	padding-bottom: 7.76rem;
}

.p-doctor::after {
	content: "";
	background: url(../images/common/icon_arrow_down03.svg) no-repeat;
	background-size: 100% 100%;
	width: 4.667rem;
	height: 2.333rem;
	position: absolute;
	right: -4rem;
	bottom: 2.7135rem;
	left: 4rem;
	margin: 0 auto;
}

.p-doctor__wrap {
	border: 1px solid #000;
	padding: 5rem 2.5rem 3.3rem 6rem;
}

.p-doctor .doctor-head {
	display: flex;
	align-items: center;
}

.p-doctor .doctor-media {
	flex: 0 0 11.8rem;
	max-width: 11.8rem;
}

.p-doctor .doctor-name {
	margin-left: 2rem;
}

.p-doctor .doctor-name .pos {
	color: #a21432;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: .075em;
	line-height: 2.3076923077;
}

.p-doctor .doctor-name h2 {
	font-size: 3.5rem;
	font-weight: 300;
	letter-spacing: .035em;
}

.p-doctor .doctor-name .sub {
	font-size: 1.1rem;
	font-weight: 300;
	display: block;
	padding-left: .9rem;
}

.p-doctor .doctor-name .sub span:not(:last-child) {
	margin-right: 1.8rem;
}

.p-doctor .doctor-name .comp {
	color: #a21432;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: .075em;
}

.p-doctor .doctor-name .name {
	color: #a21432;
	font-size: 2.7rem;
	font-weight: 500;
	letter-spacing: .075em;
}

.p-doctor .doctor-name .comm {
	color: #a21432;
	font-size: 1.7rem;
	font-weight: 500;
	letter-spacing: .075em;
}

.p-doctor .doctor-content {
	margin-top: 1.3rem;
	font-size: 1.1rem;
}

.p-doctor .doctor-content p:not(:last-child) {
	margin-bottom: 1.1rem;
}

.p-doctor__content {
	border-top: 1px dashed #000;
	padding-top: 3.1rem;
	margin-top: 2.55rem;
}

.p-doctor__content p {
	font-size: 1.45rem;
	line-height: 1.724137931;
}

.p-doctor__content .text-underline {
	text-underline-offset: .2em;
}

.p-doctor--supplement .point-accordion__content {
	margin-left: -3.1rem;
}

.p-doctor--supplement .p-topic__wrap {
	margin: 0;
	padding: 4.31rem 2.07rem 4.27rem 3rem;
}

.p-doctor--supplement .p-topic__media {
	margin-left: 0;
}

.p-feeling__wrap {
	background-color: #e8deda;
	padding: 4.1rem 0 8.7rem;
}

.p-feeling__ttl {
	color: #a21432;
	font-size: 2rem;
	letter-spacing: -0.05em;
	line-height: 1.6;
	text-align: center;
}

.p-feeling__ttl span {
	color: #000;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: .08em;
	line-height: 1.8;
	display: block;
	margin-top: 1.9rem;
}

.p-feeling__sub {
	color: #a21432;
	font-size: 2.4rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.7083333333;
	margin-top: 1.9rem;
}

.p-feeling__sub span {
	position: relative;
}

.p-feeling__sub span::after {
	content: "";
	background: #a21432;
	height: 1px;
	position: absolute;
	right: 0;
	bottom: -0.3rem;
	left: 0;
}

.p-feeling__sub span.underline-w-quote::after {
	left: 1.4rem;
	right: 1.4rem;
}

.p-feeling__sub span.underline-w-dot::after {
	right: 1.4rem;
}

.p-feeling__sub small {
	font-size: 15px;
	position: relative;
	top: -1rem;
}

.p-feeling__txt {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6875;
	margin-top: 2rem;
	text-align: center;
}

.p-feeling__txt small {
	font-size: 1.6rem;
	position: relative;
	top: -0.7rem;
}

.p-feeling__txt2 {
	font-size: .9rem;
	letter-spacing: -0.02em;
	padding: 0 1.63rem;
	text-align: right;
	margin-top: 1.3rem;
}

.p-feeling__media {
	margin-top: 1.3rem;
}

.p-feeling__media p {
	font-size: .9rem;
	letter-spacing: -0.02em;
	margin-bottom: 1.33rem;
	text-align: right;
	padding: 0 1.63rem;
}

.p-feeling--supplement .p-feeling__media {
	margin-top: 3.19rem;
}

.p-point .point-item {
	position: relative;
}

.p-point .point-item:nth-child(odd) {
	right: -2.5rem;
	margin-top: -4.8rem;
}

.p-point .point-item:nth-child(odd) .point-box {
	padding: 7.5rem 6rem 4rem 3rem;
}

.p-point .point-item:nth-child(even) {
	left: -2.5rem;
	margin-top: -4.8rem;
}

.p-point .point-item:nth-child(even) .point-box {
	padding: 8.16rem 2.6rem 4rem 5.5rem;
}

.p-point .point-item:nth-child(1) {
	z-index: 5;
}

.p-point .point-item:nth-child(1) .point-box {
	padding-top: 3.55rem;
}

.p-point .point-item:nth-child(2) {
	z-index: 4;
}

.p-point .point-item:nth-child(3) {
	z-index: 3;
}

.p-point .point-item:nth-child(4) {
	z-index: 2;
}

.p-point .point-item:nth-child(5) {
	z-index: 1;
}

.p-point .point-box {
	background-color: #fff;
	border: 1px solid #000;
}

.p-point .point-num {
	text-align: right;
}

.p-point .point-num p {
	display: inline-block;
	border-bottom: 1px solid #000;
	font-size: 1.067rem;
	font-family: "Montserrat",sans-serif;
	font-weight: 600;
	letter-spacing: .05em;
	padding-bottom: .3rem;
	line-height: 1;
}

.p-point .point-num span {
	font-size: 2.619rem;
}

.p-point .point-ttl {
	color: #a21432;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .03em;
	line-height: 1.6;
	margin-top: 3.1rem;
}

.p-point .point-sub {
	font-size: 1.45rem;
	line-height: 1.724137931;
	margin-top: 2.5rem;
	width: 26.3rem;
}

.p-point .point-sub.point-sub--2 {
	width: 28rem;
}

.p-point .point-sub sup {
	font-size: .5em;
}

.p-point .point-media {
	margin-top: 1.4rem;
}

.p-point .point-media__cap {
	font-size: .8rem;
	letter-spacing: -0.04em;
	line-height: 1.5;
	margin-top: .5rem;
}

.p-point .point-accordion {
	margin-top: 1.8rem;
}

.p-point .point-accordion__link span {
	color: #555355;
	cursor: pointer;
	font-size: 1rem;
	letter-spacing: -0.031em;
	line-height: 2.4;
	text-decoration: underline;
	text-underline-offset: .3rem;
	position: relative;
}

.p-point .point-accordion__link span::after {
	content: "";
	background-image: url(../images/common/icon_arrow_down02.svg);
	background-size: 100% 100%;
	width: 1.031rem;
	height: .515rem;
	position: absolute;
	top: 50%;
	right: -1.5rem;
	transition: all .4s ease;
	transform: translateY(-50%);
	margin-top: .2rem;
}

.p-point .point-accordion__link.is-show span::after {
	transform: rotate(180deg);
}

.p-point .point-accordion__content {
	display: none;
}

.p-point .point-accordion__content.full-right {
	margin-right: -4rem;
}

.p-point .point-accordion__content.full-right .point-accordion__media {
	max-width: 100%;
}

.p-point .point-accordion__content.full-right .point-accordion__box {
	padding-right: 6.8rem;
}

.p-point .point-accordion__content.full-left {
	margin-left: -4rem;
}

.p-point .point-accordion__box {
	background-color: #ebebeb;
	border-radius: .5rem;
	padding: 2.3rem 2.8rem 3.6rem;
	margin-top: 2.26rem;
}

.p-point .point-accordion__box.no-bg {
	background: rgba(0,0,0,0);
	margin-top: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 5rem;
}

.p-point .point-accordion__ttl {
	color: #a21432;
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
	border-bottom: 1px solid #a21432;
	padding-bottom: 1.6rem;
	margin-bottom: 1.7rem;
}

.p-point .point-accordion__media {
	max-width: 27.95rem;
}

.p-point .point-accordion__media-cap {
	font-size: .8rem;
	letter-spacing: -0.04em;
	margin-bottom: .33rem;
	text-align: right;
}

.p-point .point-accordion--protein .point-accordion__ttl {
	margin-bottom: .83rem;
}

.p-point.point--protein .point-item:nth-child(1) .point-media {
	width: 29.514rem;
}

.p-point.point--protein .point-item:nth-child(2) .point-media {
	width: 25.514rem;
}

.p-point.point--protein .point-item:nth-child(3) .point-media {
	max-width: 31.5rem;
}

.p-point.point--protein .point-item:nth-child(3) .point-accordion__media {
	max-width: 19.58rem;
	margin: 0 auto;
}

.p-point.point--protein .point-item:nth-child(4) .point-media {
	max-width: 22.735rem;
}

.p-point.point--protein .point-item:nth-child(5) .point-media {
	max-width: 30.284rem;
}

.p-point.point--supplement .point-item:nth-child(1) .point-media {
	width: 25.225rem;
}

.p-point.point--supplement .point-item:nth-child(2) .point-media {
	width: 22.735rem;
}

.p-point.point--supplement .point-item:nth-child(3) .point-media {
	max-width: 22.703rem;
}

.p-point.point--drink .point-item:nth-child(1) .point-media {
	width: 25.896rem;
}

.p-point.point--drink .point-item:nth-child(2) .point-media {
	width: 26.613rem;
}

.p-point.point--drink .point-item:nth-child(3) .point-media {
	max-width: 22.819rem;
}

.p-point.point--drink .point-item:nth-child(4) .point-media {
	max-width: 22.735rem;
}

.ingredients-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1rem;
}

.ingredients-item {
	flex: 0 0 50%;
	max-width: 50%;
	padding: 0 1rem;
	margin-bottom: 1.1rem;
}

.ingredients-item--full {
	flex: 0 0 100%;
	max-width: 100%;
}

.ingredients-media {
	max-width: 8.2rem;
	margin: 0 auto;
}

.ingredients-ttl {
	color: #a21432;
	font-size: 1.45rem;
	font-weight: 500;
	text-align: center;
}

.ingredients-ttl span.num {
	font-size: 1.25rem;
}

.ingredients-ttl span.txt {
	color: #555355;
	display: block;
	font-size: 1.1rem;
}

.ingredients-value {
	background-color: #a21432;
	border-radius: .5rem;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 500;
	width: 7.6rem;
	height: 1.924rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: .64rem auto 0;
}

.ingredients-txt {
	color: #555355;
	font-size: 1.1rem;
	line-height: 1.3636363636;
	letter-spacing: -0.04em;
	text-align: center;
	max-width: 12.7rem;
	margin: 1.05rem auto 0;
}

.nmn-list {
	display: flex;
	align-items: center;
	margin: 2rem 0;
}

.nmn-list__item {
	flex: 0 0 33.33%;
	max-width: 33.33%;
	text-align: center;
}

.nmn-list__item img {
	width: 8.2rem;
}

.nmn-list__ttl {
	color: #a21432;
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: .075em;
	text-align: center;
	margin-top: .72rem;
}

.nmn-list__value {
	background-color: #a21432;
	border-radius: .5rem;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 500;
	width: 7.6rem;
	height: 1.924rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: .72rem auto 0;
}

.p-set {
	background-color: #e8deda;
	margin-top: 3.33rem;
}

.p-set__content {
	padding: 2.6rem 2.5rem 3.2rem;
}

.p-set__ttl {
	color: #a21432;
	font-size: 2rem;
	line-height: 1.5;
	margin-bottom: 1.27rem;
	letter-spacing: .075em;
	position: relative;
}

.p-set__ttl span {
	position: absolute;
	top: -1rem;
	right: -0.5rem;
	max-width: 7.94rem;
}

.p-set__txt {
	font-size: 1.45rem;
	line-height: 1.724137931;
	letter-spacing: .03em;
	margin-top: .9rem;
}

.p-set__media-cap {
	display: block;
	font-size: .8rem;
	letter-spacing: -0.04em;
	margin-top: 1.11rem;
	text-align: right;
}

.p-set .price {
	margin-top: 4rem;
}

.p-set .price-list {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.p-set .price-list li {
	flex: 1 1 auto;
}

.p-set .price-list li.price-icn {
	flex: 0 0 3.658rem;
	max-width: 3.658rem;
}

.p-set .price-small .txt {
	font-size: 1rem;
	font-weight: 500;
}

.p-set .price-small .prc {
	font-family: "DM Sans",sans-serif;
	font-size: 2rem;
	font-weight: 500;
	white-space: nowrap;
	line-height: 1;
	letter-spacing: .01em;
}

.p-set .price-small .prc span {
	font-family: "Noto Sans JP",sans-serif;
	font-size: .9rem;
	font-weight: 500;
	letter-spacing: -0.031em;
	margin-left: -0.3rem;
}

.p-set .price-icn {
	margin-top: 2rem;
}

.p-set .price-big {
	display: flex;
	justify-content: flex-end;
	position: relative;
	top: .3rem;
	padding-right: 1rem;
}

.p-set .price-big .lbl {
	background-size: cover;
	background-repeat: no-repeat;
	position: absolute;
	width: 12.3rem;
	height: 6rem;
	top: -4.5rem;
}

.p-set .price-big .lbl.pri {
	right: 6rem;
}

.p-set .price-big .lbl.per {
	right: 0;
}

.p-set .price-big .txt {
	color: #a21432;
	font-size: 1.1rem;
	font-weight: 500;
	letter-spacing: -0.05em;
}

.p-set .price-big .prc {
	color: #a21432;
	font-family: "DM Sans",sans-serif;
	font-size: 3.7rem;
	font-weight: 500;
	letter-spacing: .01em;
	white-space: nowrap;
	line-height: 1;
	margin-top: .3rem;
}

.p-set .price-big .prc span {
	font-family: "Noto Sans JP",sans-serif;
	font-size: 1.1rem;
	font-weight: 500;
	letter-spacing: -0.031em;
	margin-left: -0.5rem;
	margin-right: -0.5rem;
}

.p-set .price-btn {
	margin-top: 1.5rem;
}

.p-blog {
	margin-bottom: 6.5rem;
	padding: 0 2.5rem;
}

.p-blog__table {
	background-color: #ebebeb;
	border-radius: .5rem;
	padding: .7rem .67rem .54rem .7rem;
}

.p-blog__ttl {
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.6923076923;
	letter-spacing: .05em;
	text-align: center;
	margin-top: 1.84rem;
}

.p-blog__ttl span {
	color: #a21432;
	font-size: 2rem;
	line-height: 2.05;
}

.p-blog__list {
	margin-top: 1.35rem;
}

.p-blog__list .ttl {
	font-size: 1rem;
	font-weight: 500;
	margin-bottom: .52rem;
}

.p-blog__list .list {
	display: flex;
	gap: 1.02rem;
}

.p-blog__list .list li {
	background-color: #ebebeb;
	border-radius: .5rem;
	padding: .57rem .58rem .72rem;
	width: 33.33%;
	text-align: center;
}

.p-blog__list .list li:nth-child(1) h3 {
	font-size: .9rem;
	line-height: 1.5555555556;
}

.p-blog__list .list li:nth-child(2) h3 {
	font-size: .7rem;
	line-height: 1.375;
}

.p-blog__list .list li:nth-child(3) h3 {
	font-size: 1rem;
	line-height: 1.5;
}

.p-blog__list .list li h3 {
	background-color: #fff;
	border-radius: .5rem;
	font-weight: 500;
	letter-spacing: -0.024em;
	min-height: 5.785rem;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	margin-bottom: 2.09rem;
	position: relative;
}

.p-blog__list .list li h3::after {
	content: "";
	background: url("../images/protein/icon_polygon.svg") no-repeat center/contain;
	width: 1.4rem;
	height: 1.2rem;
	position: absolute;
	right: 0;
	bottom: -1rem;
	left: 0;
	margin: 0 auto;
}

.p-blog .text-note {
	font-size: .8rem;
	line-height: 1.5;
	margin-top: .72rem;
	display: flex;
}

.p-blog .text-cm {
	font-size: .8rem;
	font-weight: 500;
	letter-spacing: -0.024em;
}

.p-table {
	width: 100%;
}

.p-table tr {
	border-bottom: 2px solid #fff;
}

.p-table tr td:nth-child(1) {
	width: 8.8rem;
}

.p-table__ttl {
	font-size: .9rem;
	font-weight: 700;
	line-height: 1.2222222222;
	letter-spacing: -0.024em;
	display: flex;
	align-items: center;
	text-align: center;
}

.p-table__text {
	color: #a21432;
	font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: -0.024em;
	text-align: center;
}

.p-table .text-tl {
	min-height: 2.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.p-bnr {
	text-align: center;
	margin-top: 3.41rem;
}

.c-producIntro {
	margin: -1.7rem 0 0;
	padding: 0;
}

.c-producIntro__logo {
	margin-bottom: 5.6rem;
	text-align: center;
}

.c-producIntro__logo img {
	width: 25.5rem;
}

.c-producIntro__media img {
	width: 100%;
}

.p-odaichi__hasarrow {
	position: relative;
	z-index: 2;
}

.p-odaichi__hasarrow.--mb75 {
	margin-bottom: -7.5rem;
}

.p-odaichi__02 {
	position: relative;
}

.p-odaichi__02 .btn {
	position: absolute;
	bottom: 3.5rem;
	left: 2.5rem;
	right: 2.5rem;
	width: auto;
}

.p-odaichi__04 {
	z-index: 4;
}

.p-odaichi__05 {
	margin-bottom: -2.1rem;
	position: relative;
	z-index: 3;
}

.p-odaichi__12 {
	position: relative;
}

.p-odaichi__12 .btn {
	position: absolute;
	bottom: 3rem;
	left: 2.5rem;
	right: 2.5rem;
	width: auto;
}

.p-odaichi__15 {
	position: relative;
}

.p-odaichi__15 .btn {
	position: absolute;
	bottom: 3.2rem;
	left: 2.5rem;
	right: 2.5rem;
	width: auto;
}

.p-odaichi__16 {
	position: relative;
}

.p-odaichi__16 .p-odaichi__buy {
	position: absolute;
	left: 2.5rem;
	right: 2.5rem;
}

.p-odaichi__16 .p-odaichi__buy--01 {
	top: 46.8rem;
}

.p-odaichi__16 .p-odaichi__buy--02 {
	top: 92rem;
}

.p-odaichi__16 .p-odaichi__buy--03 {
	top: 138.4rem;
}

.p-odaichi__blog {
	margin: 3.4rem 0 1.9rem;
	padding: 0 2.5rem;
}

@media (min-width: 768px) {

.p-visual__bg {
	height: 100% !important;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

.product-info {
	margin-left: 1.5rem;
	position: relative;
	overflow: auto;
	z-index: 10;
}

.product-info.product-info--first {
	max-width: 32.1rem;
	padding-right: 1.5rem;
}

.product-info::-webkit-scrollbar {
	width: .5rem;
}

.product-info::-webkit-scrollbar-track {
	background: #f1f1f1;
}

.product-info::-webkit-scrollbar-thumb {
	background: #888;
}

.p-description__ttl {
	margin-bottom: .9rem;
}

.product-info--first .p-description__ttl .jp {
	font-size: 1.1rem;
}

.p-description__ttl .en {
	letter-spacing: .032em;
}

.product-info--first .p-description__ttl .en {
	font-size: 2.7rem;
	line-height: 1.148;
	letter-spacing: .025em;
}

.p-description__sub {
	font-size: 1.5rem;
}

.product-info--first .p-description__sub {
	font-size: 1.7rem;
}

.p-description__list {
	margin-bottom: 1.1rem;
}

.p-description__label {
	font-size: 1.1rem;
}

.p-course__ttl {
	font-size: 1.3rem;
	line-height: 1.3846153846;
	margin-bottom: 2rem;
}

.p-course__ttl::before,
.p-course__ttl::after {
	bottom: 0;
	height: 2.3rem;
}

.p-course__list__txt {
	font-size: 1.1rem;
	letter-spacing: 0;
}

.p-course__list__txt span,
.p-course__list__txt strong {
	font-size: 1.3rem;
	letter-spacing: .05em;
}

.p-course__note {
	text-align: left;
}

.p-course__capacity {
	font-size: 1.1rem;
	margin-bottom: 1.8rem;
}

.p-course__price li.line::after {
	top: 0;
}

.p-course__price li p:first-child {
	line-height: 1;
}

.p-course__btn {
	margin-top: 2rem;
}

.p-course__btn .btn {
	max-width: 30rem;
}

.c-producIntro {
	margin-top: 1.5rem;
}

}

@media (min-width: 768px)and (max-height: 670px) {

.p-visual__scroll {
	padding-top: 12rem;
	padding-bottom: 8rem;
}

}

@media (min-width: 992px) {

.p-visual__slider {
	height: calc(100vh - 4.7rem);
}

.product-info {
	margin-left: 6.7rem;
}

.product-info__supplement {
	top: 4.2rem;
}

.product-info__drink {
	left: 29.4rem;
	right: initial;
}

.product-info__drink2 {
	left: 19.6rem;
	right: initial;
}

.product-ship {
	margin-top: 0;
	width: 13rem;
	position: absolute;
	right: 4.7rem;
	bottom: 8.9rem;
	z-index: 10;
}

.p-course__wrap {
	display: block;
	margin: 0 0 .6rem;
	padding: 2rem .8rem;
}

.p-course__list {
	display: block;
	margin: 0;
	text-align: center;
}

.p-course__list li {
	padding: 0;
}

.p-course__list li:not(:last-child) {
	padding-bottom: 2.4rem;
	margin-bottom: 2.4rem;
}

.p-course__list li:not(:last-child)::after {
	width: 100%;
	height: 1px;
	left: 0;
	top: initial;
}

.p-course__list li:last-child p {
	font-size: 1rem;
}

.p-course__list li:last-child p span {
	font-size: 1.2rem;
}

}

/* メンズコンディショニングラボ_アコーディオンメニュー */

.caution_accordion {
	background: #9f8063;
}

details {
  /* --------アコーディオンの中身のスタイル-------- */
  &::details-content {
    transition:
      height 0.4s,
      opacity 0.4s,
      content-visibility 0.4s allow-discrete;
    height: 0;
    opacity: 0;
    overflow: clip;
    background-color: #9f8063;
  }

  /* --------アコーディオンの中身のスタイル（開いている時）-------- */
  &[open]::details-content {
    opacity: 1;
  }

  /* アコーディオンが開いた時のスタイル */
  &[open] .caution_icon {
    transform: rotate(180deg);
  }
}



.caution_accordion summary {
	list-style-type: none;
	display: grid; /* 初期値の display: list-item 以外を指定したので、デフォルトの三角形アイコンは非表示になる */
	grid-template-columns: 1fr 15rem;
	/* gap: 6px; */
	align-items: center;
	padding: 2rem 3.15rem;
	font-size: 1.7rem;
	color: #fff;
}



@supports (interpolate-size: allow-keywords) {
  :root {
    interpolate-size: allow-keywords; /* height:0（数値型） → auto（文字型） のアニメーションを可能にするための指定 */
  }
  details[open]::details-content {
    height: auto;
	padding: 2rem 3.15rem;
	line-height: 2.5rem;
	/* text-align-last: justify; */
  }
}

/* height:0→autoへのアニメーションが対応していない場合は、固定値にアニメーションさせる */
@supports not (interpolate-size: allow-keywords) {
  details[open]::details-content {
    height: 150px;
    overflow-y: scroll;
  }
}

details[open] .caution_icon {
  transform: rotate(180deg);
}



.caution_details summary::-webkit-details-marker {
    display: none;
}

.caution_details summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform .3s;
}

.caution_details[open] summary::after {
    transform: rotate(225deg);
}

.caution_details p {
    transform: translateY(-10px);
    margin: 0;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-008[open] p {
    transform: none;
    opacity: 1;
}

.main-visual__bg {
	height: 73.5vh !important;
}

.main-visual .slick-dots {
	position: relative;
	top:-4.5rem;
}

.map-container {
	margin: 0 auto;
    padding: 2.35em;
    width: 100%;
    height: 21.5vw;
    background: #000;
    border: none;
}

.map-container iframe {
	width: 100%;
    height: 37.5vh;
    border: 0;
}

.conditioning-img {
	width: 65% !important;
}

.reserve-button-wrap {
	display: none;
}

@media screen and (max-width:767px) {
    
    .p-header__logo {
        flex:0 0 27.2rem !important;
        height: 11.2rem !important;
    }
    
    .p-header__logo .logo-default img {
        width: 19.7rem !important;
    }
    
	.main-visual {
		margin-bottom: 0 !important;
	}

	.main-visual__bg {
/*	height: 67.6rem !important;*/
    height: 64.6rem !important;
}

    .map-container {
    height: 100vw;
}
	.reserve-button-wrap {
		width: 100%;
		height: auto;
		background: linear-gradient(transparent, #00000096);
		display: flex;
		justify-content: center;
		z-index: 999;
		position: fixed;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s ease-in-out;
		padding: 1rem 0;
	}

	.reserve-button-wrap.show {
		opacity: 1;
		pointer-events: auto;
	}

	.button-reserve {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 92%;
		padding: 1em 3em;
		border: none;
		border-radius: 50rem;
		box-shadow: 0 2px 3px rgb(0 0 0 / 25%), 0 2px 3px -2px rgb(0 0 0 / 15%);
		background: #a31432;
		color: #fff;
		font-weight: 400;
		font-size: 1.3em;
		letter-spacing: 0.12em;
		font-family: ヒラギノ角ゴシック, "Hiragino Kaku Gothic ProN" !important;
	}

	.button-reserve:hover {
    background: #a21432;
	}
}