@charset "utf-8";
@import url(../../../css/common.css);
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap');

#main-contents-container {
	padding: 0 15px;
}

#main-visual {
	margin-top: 15px;
}

#rejuvenation-program {
	margin-top: 15px;
	background: url(../../../../common/img/heading-needle.png) no-repeat;
}

#rejuvenation-program .header {
	padding: 15px 0 20px;
	background: url(../../../../common/img/dotted-333.png) repeat-x bottom;
}

#rejuvenation-program h2 {
	height: 45px;
	background: url(../img/h2-rejuvenation-program.png) no-repeat;
	text-indent: -9999em;
}

#description {
	margin-top: 30px;
}

#description .container {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.intro {
	box-sizing: border-box;
	display: grid;
	height: 500px;
	padding: 10px;
	background: url(../img/intro-bg.jpg) no-repeat 0 0 / cover;
}

.intro .intro-inner {
	padding: 50px 0 0 30px;
	border: 1px solid #2673BB;
}

.intro h3 {
	font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGP明朝B", "ＭＳ Ｐ明朝", serif;
	font-weight: 600;
	font-size: 33px;
	color: #2673bb;
	font-feature-settings: "palt";
}

.intro .tagline {
	font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGP明朝B", "ＭＳ Ｐ明朝", serif;
	font-weight: 600;
	font-size: 22px;
	color: #666;
	font-feature-settings: "palt";
	margin-block: calc(25px - (1lh - 1em) / 2) calc((1lh - 1em) / 2 * -1);
	line-height: 1.5;
}

.intro ul {
	margin-top: 35px;
	display: flex;
	gap: 10px;
}

.intro li {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	gap: 6px;
	box-sizing: border-box;
	width: 135px;
	height: 135px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.5);
	border: 3px solid #2673BB;
	padding-bottom: 15px;
}

.intro li::before {
	content: "";
	display: block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.intro li:nth-child(1)::before {
	width: 87.8px;
	height: 62.5px;
	background-image: url(../img/intro-1.svg);
}

.intro li:nth-child(2)::before {
	width: 58.8px;
	height: 71.6px;
	background-image: url(../img/intro-2.svg);
}

.intro li:nth-child(3)::before {
	width: 45.1px;
	height: 71.3px;
	background-image: url(../img/intro-3.svg);
}

.intro li span {
	text-align: center;
	color: #2673BB;
	font-weight: bold;
	font-size: 12px;
	line-height: 1.2;
}

.intro p {
	width: 420px;
	margin-block: calc(25px - (1lh - 1em) / 2) calc((1lh - 1em) / 2 * -1);
	font-weight: 500;
	font-size: 14px;
	line-height: 1.7;
	color: #666;
	text-align: justify;
	font-feature-settings: "palt";
}

/* 老いない科学（AGELESS） */
.science {
	padding: 3px 40px 0;
	background: url(../img/border-line.png) no-repeat left top;
}

.science h3 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 15px;
	color: #666;
	font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGP明朝B", "ＭＳ Ｐ明朝", serif;
	font-size: 28px;
	line-height: 2;
}

.science h3::before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	background-color: #999285;
	border-radius: 8px;
}

.science .science-text {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 20px;
}

.science .science-text p {
	margin: calc((1lh - 1em) / 2 * -1) 0;
	font-family: "Yu Gothic", YuGothic, Meiryo, "M+ 1p", sans-serif;
	font-size: 14px;
	line-height: 2;
}

.science .science-rows {
	display: flex;
	flex-direction: column;
	gap: 35px;
	margin-top: 55px;
}

.science .science-rows h4 {
	font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGP明朝B", "ＭＳ Ｐ明朝", serif;
	font-weight: 500;
	font-size: 23px;
	text-align: center;
	color: #666666;
}

.science .science-row-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 20px;
}

.science .science-row:nth-child(even) .science-row-content {
	flex-direction: row-reverse;
}

.science .science-row-content p {
	width: 300px;
	font-weight: 500;
	font-size: 12px;
	line-height: 2;
	color: #666666;
}

.science .science-row-content figure {
	width: 300px;
	margin: 0;
}

.science .science-row-content figure img {
	width: 100%;
	height: auto;
}

.science .science-footer-text {
	font-weight: 500;
	font-size: 14px;
	line-height: 2;
	text-align: center;
	color: #666666;
	margin-block: calc(25px - (1lh - 1em) / 2) calc((1lh - 1em) / 2 * -1);
}

/* 若返りとは？ */
.rejuvenation {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 105px 0px 0px 340px;
	gap: 30px;
	height: 555px;
	background: url(../img/rejuvenation-bg.jpg) no-repeat 0 0 / cover;
}

.rejuvenation h3 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.rejuvenation h3 span {
	padding-left: 10px;
	font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGP明朝B", "ＭＳ Ｐ明朝", serif;
	font-weight: 600;
	font-size: 50px;
	font-feature-settings: 'palt';
	color: #666666;
	text-shadow: 0px 0px 10px #FFFFFF;
	line-height: 1;
}

.rejuvenation h3::after {
	content: '';
	display: block;
	width: 292.3px;
	height: 37.8px;
	background: url(../img/rejuvenation-h-line.svg);
}

.rejuvenation p {
	width: 315px;
	font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGP明朝B", "ＭＳ Ｐ明朝", serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 2.1;
	font-feature-settings: 'palt';
	color: #666666;
	margin-block: calc((1lh - 1em) / 2 * -1);
}

/* 若返りプログラム */
.program {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	padding: 40px 10px 10px;
	background: url(../img/program-bg.jpg) no-repeat center top / 100% auto;
}

.program header {
	position: relative;
	display: flex;
	gap: 5px;
	height: 30px;
}

.program header h3 {
	font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGP明朝B", "ＭＳ Ｐ明朝", serif;
	font-weight: 800;
	font-size: 36px;
	line-height: 1;
	color: #2673BB;
	transform: translateY(-15px);
}

.program header small {
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translateX(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
    width: 310px;
	height: 25px;
}

.program header small i {
	position: relative;
	z-index: 1;
	font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGP明朝B", "ＭＳ Ｐ明朝", serif;
	font-style: normal;
	font-weight: 500;
	font-size: 14px;
	line-height: 1;
	color: #FFFFFF;
}

.program header small::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background-color: #0177C8;
    transform-origin: center center;
    transform: skew(-25deg);
}

.program header::before,
.program header::after {
	content: '';
	flex: 1;
	border: solid #2673BB;
}

.program header::before {
	border-width: 3px 0 0 3px;
	border-radius: 30px 0 0 0;
}

.program header::after {
	border-width: 3px 3px 0 0;
	border-radius: 0 30px 0 0;
}

.program .program-content {
	padding-block: 60px;
	border: solid #2673BB;
	border-width: 0 3px 3px 3px;
	border-radius: 0 0 30px 30px;
}

.program .program-venn-diagram {
	display: flex;
	justify-content: center;
}

.program .program-venn-diagram span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 280px;
	height: 280px;
	border-radius: 280px;
	font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGP明朝B", "ＭＳ Ｐ明朝", serif;
	font-weight: 600;
	font-size: 24px;
	line-height: 1.3;
	text-align: center;
	color: #FFFFFF;
}

.program .program-venn-diagram span:nth-child(1) {
	background: radial-gradient(50% 50% at 50% 50%, rgba(74, 231, 253, 0.8265) 0%, rgba(0, 204, 254, 0.87) 100%);
}

.program .program-venn-diagram span:nth-child(2) {
	margin-left: -60px;
	background: radial-gradient(50% 50% at 50% 50%, rgba(137, 181, 247, 0.87) 0%, rgba(1, 108, 191, 0.8265) 100%);
}

.program p {
	font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGP明朝B", "ＭＳ Ｐ明朝", serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.625;
	text-align: center;
	color: #0177C8;
	margin-block: calc(30px - (1lh - 1em) / 2) calc((1lh - 1em) / 2 * -1);
}

.program figure {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin: 40px 0 0;
}

/* Contact */
#contact {
	padding: 25px 0;
	background-image: linear-gradient(to right, #DEDAD2 0, #DEDAD2 1px, #EBE9E4 1px, #EBE9E4 2px);
	background-size: 2px 1px;
	background-repeat: repeat;
	text-align: center;
}

#contact h3 {
	font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGP明朝B", "ＭＳ Ｐ明朝", serif;
	font-size: 138.4615%;
	letter-spacing: .1em;
}

#contact .phone {
	margin-top: 12px;
	font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGP明朝B", "ＭＳ Ｐ明朝", serif;
	font-size: 138.4615%;
	letter-spacing: .1em;
}

#contact p {
	margin: calc(17px - .333em) 0 -.333em;
	text-align: center;
	line-height: 1.6667;
}

#contact a {
	display: inline-block;
	margin-top: 18px;	
}

#side-nav span.level-1,
#side-nav a.level-1,
#side-nav a.level-2,
#side-nav a.level-3 {
	background-image: url(../img/side-nav.png);
}
