@charset "UTF-8";
/* ==========================================================================
 * Font face
 * ========================================================================== */
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}
/* ==========================================================================
 * Root
 * ========================================================================== */
*, ::before, ::after {
	background-repeat: no-repeat;
	box-sizing: border-box;
}
html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
	overflow-x: hidden;
}
body {
	margin: 0;
	font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", Meiryo, Osaka, sans-serif;
	font-size: 1.6em;
	font-size: 1.6rem;
	line-height: 1.5;
	background-color: #fff;
	overflow-x: hidden;
}
/* ==========================================================================
 * HTML5 display definitions
 * ========================================================================== */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}
audio, canvas, progress, video {
	display: inline-block;
	vertical-align: baseline;
}
audio:not([controls]) {
	display: none;
	height: 0;
}
/* ==========================================================================
 * Anchor
 * ========================================================================== */
a:link, a:visited {
	background-color: transparent;
	color: #4f7aac;
	text-decoration: none;
	display: block;
}
a:active, a:hover {
	outline: 0;
	text-decoration: underline;
}
/* ==========================================================================
 * Embedded
 * ========================================================================== */
img {
	border: 0;
	vertical-align: bottom;
}
svg:not(:root) {
	overflow: hidden;
}
@media screen and (max-width: 640px) {
	img {
		width: 100%;
	}
}
/* ==========================================================================
 * Grouping
 * ========================================================================== */
figure {
	margin: 0;
}
hr {
	box-sizing: content-box;
	height: 0;
	border: none;
	border-top: 1px solid #bbb;
}
dd {
	margin-left: 0;
}
/* ==========================================================================
 * Float
 * ========================================================================== */
.clear {
	clear: both;
}
.clearfix:before, .clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {
	clear: both;
}
/* ==========================================================================
 * List
 * ========================================================================== */
ul, ol {
	padding: 0;
}
ul {
	margin: 0;
	list-style: none;
}
ul.list-disc {
	margin-left: 1.55em;
	list-style: disc;
}
ul.list-annotation {
	margin-left: 1.3em;
}
ul.list-annotation li::before {
	margin-left: -1.3em;
	content: "※\0020";
}
ol {
	margin-left: 1.3em;
}
ol.list-annotation {
	margin-left: 2em;
	padding: 0;
	counter-reset: number;
	list-style: none;
}
ol.list-annotation li::before {
	margin-left: -2em;
	counter-increment: number;
	content: "※"counter(number)"\0020";
}
ul.list-disc li + li, ul.list-annotation li + li, ol li + li {
	margin-top: 8px;
}
/* ==========================================================================
 * Text
 * ========================================================================== */
b, strong {
	font-weight: bold;
}
mark {
	background: #ff0;
	color: #000;
}
small, .txt-small {
	font-size: 80%;
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
address {
	font-style: normal;
}
h1, .h1 {
	font-size: 3.2rem;
	line-height: 1.2;
	margin: 0;
}
h2, .h2 {
	font-size: 2.4rem;
	line-height: 1.2;
	margin: 0;
}
h3, .h3 {
	font-size: 1.8rem;
	line-height: 1.2;
	margin: 0;
}
h4, .h4 {
	font-size: 1.6rem;
	line-height: 1.2;
	margin: 0;
}
p {
	margin: 0;
}
p + p {
	margin-top: .5em;
	margin-bottom: 0;
}
.txt-left {
	text-align: left;
}
.txt-center {
	text-align: center;
}
.txt-right {
	text-align: right;
}
.txt-unbold {
	font-weight: normal;
}
.txt-bold {
	font-weight: bold;
}
.txt-emphasis {
	color: #e74c3c;
}
.txt-notes {
	color: #7f8c8d;
}
/* ==========================================================================
 * Table
 * ========================================================================== */
table {
	border-collapse: collapse;
	border-spacing: 0;
}
td, th {
	padding: 0;
}
/* ==========================================================================
 * Spacing
 * ========================================================================== */
.margin-none {
	margin: 0px !important;
}
.padding-none {
	padding: 0px !important;
}
.margin-T0 {
	margin-top: 0px !important;
}
.margin-T5 {
	margin-top: 5px !important;
}
.margin-T10 {
	margin-top: 10px !important;
}
.margin-T15 {
	margin-top: 15px !important;
}
.margin-T20 {
	margin-top: 20px !important;
}
.margin-T25 {
	margin-top: 25px !important;
}
.margin-T30 {
	margin-top: 30px !important;
}
.margin-T35 {
	margin-top: 35px !important;
}
.margin-T40 {
	margin-top: 40px !important;
}
.margin-T45 {
	margin-top: 45px !important;
}
.margin-T50 {
	margin-top: 50px !important;
}
.margin-T60 {
	margin-top: 60px !important;
}
.margin-T70 {
	margin-top: 70px !important;
}
.margin-T80 {
	margin-top: 80px !important;
}
.margin-T90 {
	margin-top: 90px !important;
}
.margin-T100 {
	margin-top: 100px !important;
}
.margin-R0 {
	margin-right: 0px !important;
}
.margin-R5 {
	margin-right: 5px !important;
}
.margin-R10 {
	margin-right: 10px !important;
}
.margin-R15 {
	margin-right: 15px !important;
}
.margin-R20 {
	margin-right: 20px !important;
}
.margin-B0 {
	margin-bottom: 0px !important;
}
.margin-B5 {
	margin-bottom: 5px !important;
}
.margin-B10 {
	margin-bottom: 10px !important;
}
.margin-B15 {
	margin-bottom: 15px !important;
}
.margin-B20 {
	margin-bottom: 20px !important;
}
.margin-L0 {
	margin-left: 0px !important;
}
.margin-L5 {
	margin-left: 5px !important;
}
.margin-L10 {
	margin-left: 10px !important;
}
.margin-L15 {
	margin-left: 15px !important;
}
.margin-L20 {
	margin-left: 20px !important;
}
.padding-T0 {
	padding-top: 0px !important;
}
.padding-T5 {
	padding-top: 5px !important;
}
.padding-T10 {
	padding-top: 10px !important;
}
.padding-T15 {
	padding-top: 15px !important;
}
.padding-T20 {
	padding-top: 20px !important;
}
.padding-T25 {
	padding-top: 25px !important;
}
.padding-T30 {
	padding-top: 30px !important;
}
.padding-T35 {
	padding-top: 35px !important;
}
.padding-T40 {
	padding-top: 40px !important;
}
.padding-T45 {
	padding-top: 45px !important;
}
.padding-T50 {
	padding-top: 50px !important;
}
.padding-T60 {
	padding-top: 60px !important;
}
.padding-T70 {
	padding-top: 70px !important;
}
.padding-T80 {
	padding-top: 80px !important;
}
.padding-T90 {
	padding-top: 90px !important;
}
.padding-T100 {
	padding-top: 100px !important;
}
.padding-R0 {
	padding-right: 0px !important;
}
.padding-R5 {
	padding-right: 5px !important;
}
.padding-R10 {
	padding-right: 10px !important;
}
.padding-R15 {
	padding-right: 15px !important;
}
.padding-R20 {
	padding-right: 20px !important;
}
.padding-B0 {
	padding-bottom: 0px !important;
}
.padding-B5 {
	padding-bottom: 5px !important;
}
.padding-B10 {
	padding-bottom: 10px !important;
}
.padding-B15 {
	padding-bottom: 15px !important;
}
.padding-B20 {
	padding-bottom: 20px !important;
}
.padding-L0 {
	padding-left: 0px !important;
}
.padding-L5 {
	padding-left: 5px !important;
}
.padding-L10 {
	padding-left: 10px !important;
}
.padding-L15 {
	padding-left: 15px !important;
}
.padding-L20 {
	padding-left: 20px !important;
}
/* ==========================================================================
 * slick
 * ========================================================================== */
@media screen and (max-width: 640px) {
	.slider-2 .slick-slide {
		width: 283px;
		height: 100%;
		margin: 0 10px;
		position: relative;
		overflow: hidden;
	}
	.slider-2 .slick-slide img {
		display: block;
	}
	.slider-2 .slick-arrow {
		width: 30px;
		height: 30px;
		border-radius: 50%;
		background-color: #a5833c;
		cursor: pointer;
		border: none;
		outline: none;
		font-size: 0;
		position: absolute;
		top: 35%;
		transform: translateY(-50%);
		z-index: 1;
		filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
	}
	.slider-2 .slick-arrow::before {
		content: '';
		display: block;
		width: 12px;
		height: 12px;
		border: 1px solid #fff;
		border-width: 3px 3px 0 0;
		position: absolute;
		top: 10px;
		transform: rotate(45deg);
	}
	.slider-2 .slick-next {
		right: -15px;
	}
	.slider-2 .slick-next::before {
		left: 7px;
	}
	.slider-2 .slick-prev {
		left: -15px;
	}
	.slider-2 .slick-prev::before {
		border-width: 0 0 3px 3px;
		right: 7px;
	}
	.dots-2 .slick-dots {
		text-align: center;
		margin-top: 10px;
	}
	.dots-2 .slick-dots li {
		display: inline-block;
	}
	.dots-2 .slick-dots button {
		display: block;
		width: 10px;
		height: 10px;
		margin: 0px 15px;
		font-size: 0;
		padding: 0;
		border: 0;
		outline: none;
		cursor: pointer;
		background: #bcbcbc;
		border-radius: 50%;
	}
	.dots-2 .slick-dots .slick-active button {
		background: #a5833c;
	}
	.slick-dots li {
		border: none;
	}
}

/* ==========================================================================
 * Common
 * ========================================================================== */
#page-container {
	max-width: 2000px;
	margin: 0 auto;
}
.inner-width {
	width: 920px;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (min-width: 641px) {
	.visible-sp {
		display: none !important;
	}
}
@media screen and (max-width: 640px) {
	.visible-pc {
		display: none !important;
	}
	.inner-width {
		width: 92%;
		margin-right: auto;
		margin-left: auto;
	}
}
/*-------------------- Back to Top --------------------*/
a.backtotop {
	position: fixed;
	bottom: 30px;
	right: 5%;
	width: 40px;
	height: 40px;
	padding: 38px 0 0;
	background-color: #ccc;
	color: #fff;
	text-align: center;
	font-size: 14px;
	cursor: pointer;
	opacity: .5;
	border-radius: 50%;
}
a.backtotop::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 17.3px 10px;
	border-color: transparent transparent #ffffff transparent;
}
.sec__ttl {
	text-align: center;
	font-family: "Noto Serif JP";
	font-weight: 500;
}
.annotation {
	font-size: 1.4rem;
	margin-top: 10px;
}
.sec__subTtl {
	text-align: center;
	font-family: "Noto Serif JP";
}
/* ==========================================================================
 * Header
 * ========================================================================== */
.header {
	background: #0f0d20;
	padding: 12px 0;
}
.header__wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media screen and (max-width: 640px) {
	.header {
		height: 70px;
        padding: 13px 0;
	}
	.header__wrap {
		justify-content: flex-start;
	}
	.header__logo {
		width: 50%;
	}
	.header__tel {
		display: none;
	}
	/* hamburger menu */
	.menu__btn {
		align-items: center;
		display: flex;
		height: 30px;
		justify-content: center;
		position: fixed;
		top: 1.5%;
		right: 10px;
		padding: 20px;
		z-index: 90;
		width: 30px;
		background: #fff;
		cursor: pointer;
	}
	.menu__btn span, .menu__btn span::before, .menu__btn span::after {
		content: '';
		background: #0f0d20;
		display: block;
		height: 2px;
		position: absolute;
		width: 26px;
		transition: all 0.3s;
	}
	.menu__btn span::before {
		bottom: 8px;
	}
	.menu__btn span::after {
		top: 8px;
	}
	#menu__btn--check:checked ~ .menu__btn span {
		background-color: transparent;
	}
	#menu__btn--check:checked ~ .menu__btn span::before {
		bottom: 0;
		transform: rotate(45deg);
	}
	#menu__btn--check:checked ~ .menu__btn span::after {
		top: 0;
		transform: rotate(-45deg);
	}
	#menu__btn--check {
		display: none;
	}
	.gnavi__hamburger-menu {
		background: #f2f2f2;
		height: 100%;
		position: fixed;
		top: 0;
		left: 100%;
		z-index: 80;
		transition: all 0.5s;
		width: 100%;
	}
	#menu__btn--check:checked ~ .gnavi__hamburger-menu {
		left: 0;
	}
	.gnavi__hamburger-menu ul {
		padding: 20% 10px 20%;
	}
	.gnavi__hamburger-menu ul li {
		border-bottom: 1px dotted #1d1e1e;
		list-style: none;
		width: 100%;
	}
	.gnavi__hamburger-menu ul li a {
		box-sizing: border-box;
		color: #1d1e1e;
		display: block;
		padding: 14px 15px 13px 3%;
		position: relative;
		text-decoration: none;
		width: 100%;
		transition: color 0.3s;
	}
	.gnavi__hamburger-menu ul li a:hover {
		color: #1d1e1e;
	}
	.gnavi__hamburger-menu ul li a::before {
		border-top: 2px solid #1d1e1e;
		border-right: 2px solid #1d1e1e;
		content: "";
		height: 7px;
		transform: rotate(45deg);
		position: absolute;
		right: 11px;
		top: 26px;
		width: 7px;
	}
	.gnavi__hamburger-menu ul li a.active::before {
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}
	.nav__cta {
		width: 90%;
		margin: 0 auto;
		filter: drop-shadow(0px 3px 3px rgba(74, 54, 12, 0.3));
	}
	.nav__cta img {
		width: 100%;
	}
}
/* ==========================================================================
 * FV
 * ========================================================================== */
.cp__cont {
	padding: 70px 0 0;
	position: relative;
	z-index: 3;
}
@media screen and (min-width: 641px) {
	.fv {
		position: relative;
		min-height: 649px;
		overflow: hidden;
	}

	.fv::before,
	.fv::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-size: cover;
		background-position: top center;
		background-repeat: no-repeat;
	}
	.fv::before {
		background-image: url("../images/pc/fv_bg01.png");
		z-index: 1;
	}
	.fv::after {
		background-image: url("../images/pc/fv_bg02.png");
		opacity: 0;
		z-index: 2;
		transition: opacity 1s ease-in-out;
	}
	.fv.show-second::after {
		opacity: 1;
	}
}
@media screen and (max-width: 640px) {
	.fv .inner-width {
		padding: 0;
		width: 100%;
	}
	.cp__cont {
		overflow: hidden;
		padding: 0;
		position: relative;
	}
	.fv_sp-slide1 img {
		width: 100%;
		height: auto;
		display: block;
	}
	.fv_sp-slide2 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		opacity: 0;
		transition: opacity 1s ease-in-out;
		z-index: 2;
	}
	.cp__cont.show-second .fv_sp-slide2 {
		opacity: 1;
	}
}
/* ==========================================================================
 * Nav_area
 * ========================================================================== */

@media screen and (min-width: 641px) {
	.nav__area {
		background: #f2f2f2;
		padding: 8px 0;
		z-index: 1000;
	}
	.fixed {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 998;
		width: 100%;
		
	}
	.nav {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.nav__list {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.nav__list__item {
		margin: 0 auto;
		border-left: solid 1px;
	}
	.nav__list__item:last-child {
		border-right: solid 1px;
	}
	.nav__list__item a {
		color: #191f2b;
		font-weight: bold;
		font-size: 1.4rem;
		display: block;
		text-align: center;
		text-decoration: none;
		padding: 0 20px;
	}
	.nav__list__item a::after {
		content: "";
		width: 10px;
		height: 10px;
		border: 1px solid;
		border-color: #191f2b #191f2b transparent transparent;
		transform: rotate(135deg);
		display: block;
		margin: 0 auto;
	}
	.nav__area__cta {
		filter: drop-shadow(0px 3px 3px rgba(74, 54, 12, 0.3));
	}
	.nav__area__cta a {
		display: block;
	}
}
@media screen and (max-width: 640px) {
	.nav__area {
		background: #f2f2f2;
		padding: 8px 0;
		z-index: 20;
	}
	.nav {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.nav__list {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.nav__list__item {
		margin: 0 auto;
	}
	.nav__list__item a {
		color: #191f2b;
		font-weight: bold;
		font-size: 1.4rem;
		display: block;
		text-align: left;
		text-decoration: none;
	}
}

/* ==========================================================================
 * CTA
 * ========================================================================== */
.cta {
	background: #f2f2f2;
}
.cta__campaign {
	position: relative;
}
.cta__campaign::before {
	position: absolute;
}
.cta .annotation {
	text-align: right;
}
@media screen and (min-width: 641px) {
	.cta {
		padding: 80px 0;
	}
	.cta__btn {
		display: flex;
		justify-content: center;
		margin: 30px 0 60px 0;
		filter: drop-shadow(0px 3px 3px rgba(74, 54, 12, 0.3));
	}
	.cta__campaign::before {
		top: 10%;
		left: -2.1%;
		content: url("../images/pc/campaign_flag.png")
	}
	.cta__campaign::after {
		content: url("../images/pc/campaign_treat.png");
		position: absolute;
		top: 10%;
		left: 79%;
	}
}
@media screen and (max-width: 640px) {
	.cta {
		padding: 30px 0;
	}
	.cta__btn {
		display: flex;
		justify-content: center;
		margin: 20px 0 40px 0;
		filter: none;
	}
	.cta__btn a {
		position: relative;
		z-index: 2;
	}
	.cta__campaign::before {
		top: -3%;
        left: -3%;
        content: "";
        display: inline-block;
        width: 106%;
        height: 50px;
		background: url("../images/sp/campaign_flag@2x.png") no-repeat 100% 100% / contain;
	}
}
/* ==========================================================================
 * problem
 * ========================================================================== */
.problem {
	position: relative;
}
.problem::after {
	position: absolute;
}
.problem__ttl {
	color: #fff;
}
@media screen and (min-width: 641px) {
	.problem {
		padding: 100px 0;
		background: url("../images/pc/problem_bg.jpg") no-repeat 100% 100% / cover;
	}
	.problem::after {
		content: url("../images/pc/solution_arrow.png");
		left: 50%;
		bottom: -9%;
	}
	.problem__ttl {
		margin-bottom: 60px;
		color: #fff;
		font-size: 4rem;
	}
	.problem__ttl span {
		font-size: 3.2rem;
	}
	.problem__list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 13px 0;
	}
}
@media screen and (max-width: 640px) {
	.problem {
		padding: 40px 0;
		background: url("../images/sp/problem_bg@2x.jpg") no-repeat 70% 0% / cover;
	}
	.problem::after {
		content: url("../images/sp/solution_arrow@2x.png");
		left: 50%;
		bottom: -18%;
	}
	.problem__ttl {
		font-size: 3.2rem;
		text-align: left;
		margin-bottom: 40px;
	}
	.problem__ttl span {
		font-size: 2.4rem;
	}
	.problem__list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 10px 0;
	}
	.problem__list__item {
		width: 48%;
	}
}
/* ==========================================================================
 * solution
 * ========================================================================== */
.solution {
	position: relative;
}
.solution__sub__ttl {
	text-align: center;
}
.solution__cont {
	filter: drop-shadow(0px 0px 3px rgba(16, 16, 16, 0.3));
	position: absolute;
}
@media screen and (min-width: 641px) {
	.solution {
		padding: 72px 0;
		height: 1700px;
	}
	.solution__sub__ttl {
		margin-bottom: 80px;
	}
	.solution__cont {
		top: 28%;
	}
}
@media screen and (max-width: 640px) {
	.solution {
		padding: 50px 0;
	}
	.solution__cont {
		position: static;
	}
	.solution__sub__ttl {
		margin: 0 0 50px;
	}
	.solution__ttl {
		margin: 0 0 50px;
	}
	.solution__cont {
		margin: 0 0 -100px;
	}
}
/* ==========================================================================
 * featured-treatments
 * ========================================================================== */
.featured-treatments {
	background: #191f2b;
}
.featured-treatments__ttl {
	display: flex;
	justify-content: center;
	margin-bottom: 60px;
}
.featured-treatments__list {
	display: flex;
	justify-content: space-around;
	align-items: center;
}
@media screen and (min-width: 641px) {
	.featured-treatments {
		padding: 243px 0 100px 0;
	}
}
@media screen and (max-width: 640px) {
	.featured-treatments {
		padding: 90px 0 40px 0;
	}
}
/* ==========================================================================
 * nmn-drip
 * ========================================================================== */
.nmn-drip__ttl {
	text-align: left;
}
.nmn-drip__ttl img {
	display: block;
	filter: drop-shadow(0px 0px 3px rgba(250, 250, 250, 1));
}
.nmn-drip__voice {
	position: relative;
}
.nmn-drip__voice__img {
	filter: drop-shadow(0px 0px 3px rgba(16, 16, 16, 0.1));
}
@media screen and (min-width: 641px) {
	.nmn-drip {
		padding: 100px 0 130px 0;
		background: url("../images/pc/nmn-drip_bg.jpg") no-repeat 100% 100% / cover;
	}
	.nmn-drip__ttl {
		margin-bottom: 60px;
	}
	.nmn-drip__voice {
		padding: 130px 0;
	}
	.nmn-drip__voice__img {
		position: absolute;
		bottom: 36%;
	}
}
@media screen and (max-width: 640px) {
	.nmn-drip {
		padding: 50px 0 140px 0;
		background: url("../images/sp/nmn-drip_bg@2x.jpg")  no-repeat 70% 0% / cover;
	}
	.nmn-drip__ttl {
		margin-bottom: 40px;
	}
	.nmn-drip__cont{
		width: 58%;
	}
	.nmn-drip__voice {
		padding: 70% 0;
	}
	.nmn-drip__voice__img {
		position: absolute;
		top: -18%;
		width: 93%;
	}
}
/* ==========================================================================
 * mens-only
 * ========================================================================== */
.mens-only {
	background: url("../images/pc/mens-only_bg.jpg") no-repeat top center;
	min-width: 920px;
}
@media screen and (min-width: 641px) {
	.mens-only {
		padding: 115px 0;
	}
	.mens-only__ttl {
		text-align: right;
		margin-right: 40px;
	}
}
@media screen and (max-width: 640px) {
	.mens-only {
		background: url("../images/sp/mens-only_bg@2x.jpg");
		min-width: auto;
		position: relative;
		padding: 50px 0;
	}
	.mens-only__ttl {
		position: relative;
		z-index: 10;
	}
	.mens-only__img {
		position: absolute;
		top: 3.9%;
		left: -7%;
		width: 58%;
		z-index: 5;
	}
}
/* ==========================================================================
 * reason
 * ========================================================================== */
.reason {
	background: #191f2b;
}
.reason__ttl {
	color: #fff;
}
.reason .annotation {
	text-align: center;
	color: #fff;
}
.reason__first__txt, .reason__second__txt, .reason__third__txt {
	position: relative;
}
@media screen and (min-width: 641px) {
	.reason {
		padding: 100px 0;
	}
	.reason__ttl {
		font-size: 4rem;
		margin-bottom: 70px;
	}
	.emphasis {
		font-size: 6rem;
	}
}
@media screen and (max-width: 640px) {
	.reason {
		padding: 40px 0;
	}
	.reason__ttl {
		font-size: 2.4rem;
		margin-bottom: 40px;
	}
	.reason__ttl {
		font-size: 1.92rem;
	}
	.emphasis {
		font-size: 3.2rem;
	}
}
/* 理由① */
@media screen and (min-width: 641px) {
	.reason__first {
		background: url("../images/pc/reason01_bg.png") no-repeat top center;
        min-height: 320px;
		min-width: 920px;
        padding: 21px 0;
	}
	.reason__first__txt {
		text-align: right;
	}
	.reason__first__cont {
		margin: 80px 0;
		display: flex;
		justify-content: center;
	}
}
@media screen and (max-width: 640px) {
	.reason__first {
		background: url("../images/sp/reason01_bg@2x.png") no-repeat 0 0 / contain;
		margin: 0 calc(50% - 50vw);
		width: 100vw;
		height: 150px;
        padding: 75px 0;
	}
	.reason__first__txt {
		width: 90%;
		margin: 0 auto;
	}
	.reason__first__txt::after {
		content: "";
		background: url("../images/sp/reason01_icon@2x.png") no-repeat 0 0 / contain;
		position: absolute;
        top: -76%;
        left: 75%;
        width: 70%;
        height: 70%;
	}
	.reason__first__cont {
		margin: 80px auto 40px auto;
		width: 90%;
	}
}
/* 理由② */
.nmn_detail {
	border-radius: 10px;
	background: #fff;
}
@media screen and (min-width: 641px) {
	.reason__second {
		background: url("../images/pc/reason02_bg.png") no-repeat top center;
        min-height: 320px;
		min-width: 920px;
        padding: 21px 0;
	}
	.reason__second__subCopy {
		padding: 90px 0 40px 0;
	}
	.flow__wrapper {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 80px;
	}
	.nmn_detail {
		padding: 30px 40px;
		margin-bottom: 80px;
		position: relative;
	}
	.nmn__detail__ttl {
		margin-bottom: 24px;
	}
	.nmn__detail__txt {
		text-align: center;
		font-size: 1.8rem;
		margin-bottom: 30px;
	}
	.nmn__flow__txt {
		margin-top: 20px;
		text-align: center
	}
	.nmn_detail__img {
		display: flex;
		justify-content: space-between;
	}
	.nmn__flow02::before, .nmn__flow02::after {
		content: url("../images/pc/nmn_detail_arrow.png");
		position: absolute
	}
	.nmn__flow02::before {
		top: 47%;
		right: 33%;
	}
	.nmn__flow02::after {
		top: 47%;
		left: 33.2%;
	}
	.nmn__flow__subTtl {
		font-size: 3rem;
		color: #191f2b;
	}
	.nmn__flow__subTtl span {
		font-size: 2.2rem;
	}
	.nmn__flow__subTtl .large-color-txt {
		font-size: 3rem;
		display: block;
		color: #a5833c;
	}
	.nmn__detail__access {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.nmn__detail__access__txtBox h4 {
		text-align: center;
		font-family: "Noto Serif JP";
		font-size: 3rem;
		color: #fff;
		margin-bottom: 30px;
	}
	.nmn__detail__access__txtBox h4 span {
		font-size: 4rem;
		color: #eddab6;
	}
	.nmn__detail__access__txtBox p {
		color: #fff;
		font-size: 1.8rem;
		text-align: center;
	}
}
@media screen and (max-width: 640px) {
	.reason__second {
		background: url("../images/sp/reason02_bg@2x.png") no-repeat 100% 0 / contain;
		margin: 0 calc(50% - 50vw);
		width: 100vw;
		height: 150px;
        padding: 75px 0;
	}
	.reason__second__txt {
		width: 90%;
		margin: 0 auto;
	}
	.reason__second__txt::after {
		content: "";
		background: url("../images/sp/reason02_icon@2x.png") no-repeat 0 0 / contain;
		position: absolute;
		bottom: 118%;
		right: 0;
		width: 100%;
		height: 100%;
	}
	.reason__second__subCopy {
		margin-bottom: 30px;
	}
	.reason__second__cont {
		margin: 50px auto 0px auto;
		width: 90%;
	}
	.flow__wrapper {
		margin-bottom: 40px;
	}
	.hope_for_treatment {
		width: 50%;
		margin: 20px auto;
	}
	.nmn_detail {
		padding: 30px 20px;
		margin-bottom: 40px;
	}
	.nmn__detail__ttl {
		width: 100%;
		margin-bottom: 20px;
	}
	.nmn__detail__txt {
		margin-bottom: 20px;
	}
	.nmn__flow__txt {
		margin-top: 10px;
		text-align: center
	}
	.nmn__flow__subTtl {
		font-size: 1.92rem;
		color: #191f2b;
		margin-top: 30px;
	}
	.nmn__flow__subTtl span {
		font-size: 1.6rem;
	}
	.nmn__flow__subTtl .large-color-txt {
		font-size: 1.92rem;
		display: block;
		color: #a5833c;
	}
	.nmn__detail__access__txtBox {
		margin-bottom: 30px;
	}
	.nmn__detail__access__txtBox h4 {
		text-align: center;
		font-family: "Noto Serif JP";
		font-size: 2.4rem;
		color: #fff;
		margin-bottom: 30px;
	}
	.nmn__detail__access__txtBox h4 span {
		font-size: 3rem;
		color: #eddab6;
	}
	.nmn__detail__access__txtBox p {
		color: #fff;
		font-size: 1.8rem;
		text-align: center;
	}
}
/* 理由③ */
@media screen and (min-width: 641px) {
	.reason__third{
		background: url("../images/pc/reason03_bg.png") no-repeat top center;
        min-height: 320px;
		min-width: 920px;
        padding: 21px 0;
	}
	.reason__third__cont {
		margin: 80px 0;
		display: flex;
		justify-content: center;
	}
	.reason__third__txt {
		text-align: right;
	}
}
@media screen and (max-width: 640px) {
	.reason__third {
		background: url("../images/sp/reason03_bg@2x.png") no-repeat 0 0 / contain;
		margin: 0 calc(50% - 50vw);
		width: 100vw;
		height: 150px;
        padding: 75px 0;
	}
	.reason__third__txt {
		width: 90%;
		margin: 0 auto;
	}
	.reason__third__txt::after {
		content: "";
		background: url("../images/sp/reason03_icon@2x.png") no-repeat 0 0 / contain;
		position: absolute;
		top: -63%;
		left: 70%;
		width: 70%;
		height: 70%;
	}
	.reason__third__cont {
		margin: 120px auto 40px auto;
		width: 90%;
	}
}
/* ==========================================================================
 * omakase
 * ========================================================================== */
@media screen and (min-width: 641px) {
	.omakase {
		padding: 80px 0;
	}
	.omakase__ttl {
		font-size: 3rem;
		margin-bottom: 40px;
	}
	.omakase__list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 25px 0;
	}
}
@media screen and (max-width: 640px) {
	.omakase {
		padding: 40px 0;
	}
	.omakase__ttl {
		font-size: 2.4rem;
		margin-bottom: 30px;
	}
	.omakase__ttl span {
		font-size: 1.8rem;
	}
	.omakase__list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 10px 0;
	}
	.omakase__list__item {
		width: 48%;
	}
}
/* ==========================================================================
 * comparison-table
 * ========================================================================== */
@media screen and (min-width: 641px) {
	.comparison-table {
		padding: 100px 0;
		background: url("../images/pc/sec_table_bg.jpg");
	}
	.comparison-table__ttl {
		font-size: 4rem;
		margin-bottom: 60px;
		text-align: right;
		position: relative;
	}
	.comparison-table__ttl::before {
		content: "";
		border-top: solid 1px #191f2b;
		height: 1px;
		width: 32%;
		display: block;
		position: absolute;
		top: 60%;
	}
}
@media screen and (max-width: 640px) {
	.comparison-table {
		padding: 40px 0;
		background: url("../images/pc/sec_table_bg.jpg");
	}
	.comparison-table__ttl {
		font-size: 2.4rem;
		margin-bottom: 40px;
	}
	.comparison-table__ttl span {
		font-size: 3.2rem;
	}
	.table {
		overflow-x: scroll;		
		width: 100%;
		padding-bottom: 3vw;
		margin: 5% 0 0;
	}
	.table picture {
    width: 200%;
    display: block;
}
}
/* ==========================================================================
 * doctor__introduction
 * ========================================================================== */
.doctor__introduction {
	background: #f2f2f2;
	position: relative;
}
.doctor__img {
	position: absolute;
}
@media screen and (min-width: 641px) {
	.doctor__introduction {
		padding: 80px 0;
		min-width: 920px;
	}
	.doctor__introduction .inner-width {
		position: relative;
	}
	.doctor__img {
		top: -48px;
		right: 0;
	}
}
@media screen and (max-width: 640px) {
	.doctor__introduction {
		padding: 30px 0;
	}
	.doctor__img {
		bottom: 0;
    	right: -5px;
		width: 44%;
	}
}
/* ==========================================================================
 * recommend
 * ========================================================================== */
@media screen and (min-width: 641px) {
	.recommend {
		padding: 100px 0;
	}
	.recommend__ttl {
		margin-bottom: 90px;
		font-size: 4rem;
	}
	.recommend__ttl span {
		font-size: 3.2rem;
	}
	.recommend__ttl .large-color-txt {
		font-size: 4rem;
		display: inline-block;
		color: #a5833c;
	}
	.recommend__cont {
		position: relative;
		filter: drop-shadow(0px 0px 3px rgba(16, 16, 16, 0.1));
		margin-bottom: 80px;
	}
	.recommend__cont::before {
		content: url("../images/pc/arrow_icon.png");
		position: absolute;
		top: -15%;
		left: 50%;
	}
	.recommend__point__first {
		margin-bottom: 60px;
	}
}
@media screen and (max-width: 640px) {
	.recommend {
		padding: 40px 0;
	}
	.recommend__ttl {
		margin-bottom: 50px;
		font-size: 3.2rem;
	}
	.recommend__ttl span {
		font-size: 2.4rem;
	}
	.recommend__ttl .large-color-txt {
		font-size: 3.2rem;
		display: inline-block;
		color: #a5833c;
	}
	.recommend__cont {
		position: relative;
		filter: drop-shadow(0px 0px 3px rgba(16, 16, 16, 0.3));
		margin-bottom: 40px;
	}
	.recommend__cont::before {
		content: "";
		background: url("../images/sp/arrow_icon@2x.png") no-repeat 0 0 / contain;
		position: absolute;
		top: -9%;
		left: 50%;
		width: 20%;
		height: 15%;
	}
	.recommend__point__first {
		margin-bottom: 60px;
	}
}
/* ==========================================================================
 * user-voice
 * ========================================================================== */
.user-voice__ttl {
	color: #191f2b;
}
.user-voice__ttl div {
	color: #a5833c;
}
@media screen and (min-width: 641px) {
	.user-voice {
		padding: 100px 0;
	}
	.user-voice__ttl {
		font-size: 4rem;
		margin-bottom: 60px;
	}
	.user-voice__ttl span {
		font-size: 3.2rem;
	}
	.user-voice__ttl .large-color-txt {
		font-size: 6rem;
		color: #a5833c;
		display: block;
	}
	.user-voice__ttl .large-color-txt span {
		font-size: 4.8rem;
	}
	.user-voice__list__item {
		filter: drop-shadow(0px 0px 3px rgba(16, 16, 16, 0.1));
		margin-bottom: 40px;
		position: relative;
	}
	.user-voice__list__item:last-child {
		margin-bottom: 20px;
	}
	.user-voice .annotation {
		text-align: right;
	}
	.voice01::before {
		content: url("../images/pc/voice01_treat.png");
		position: absolute;
		top: -5%;
		left: -2%;
	}
	.voice02::before {
		content: url("../images/pc/voice02_treat.png");
		position: absolute;
		top: -5%;
		right: -2%;
	}
	.voice03::before {
		content: url("../images/pc/voice03_treat.png");
		position: absolute;
		top: -5%;
		left: -2%;
	}
	.voice04::before {
		content: url("../images/pc/voice04_treat.png");
		position: absolute;
		top: -5%;
		right: -2%;
	}
}
@media screen and (max-width: 640px) {
	.user-voice {
		padding: 40px 0;
	}
	.user-voice__ttl {
		font-size: 3.2rem;
		margin-bottom: 40px;
	}
	.user-voice__ttl span {
		font-size: 2.4rem;
	}
	.user-voice__ttl .large-color-txt {
		font-size: 3.2rem;
		color: #a5833c;
		display: block;
	}
	.user-voice__list__item {
		filter: drop-shadow(0px 0px 3px rgba(16, 16, 16, 0.3));
		margin-bottom: 40px;
		position: relative;
	}
}
/* ==========================================================================
 * price
 * ========================================================================== */
.price {
	background: #191f2b;
}
.price__ttl {
	color: #fff;
}
.price__inner__topImg .annotation {
	text-align: right;
	color: #fff;
}
@media screen and (min-width: 641px) {
	.price {
		padding: 80px 0;
	}
	.price__inner__top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 80px;
	}
	.price__ttlBox {
		width: 50%;
		margin: 0 auto;
	}
	.price__ttl {
		text-align: center;
		font-size: 4rem;
	}
	.price__ttl span {
		display: block;
		font-size: 6rem;
	}
	.price__inner__topImg .annotation {
		text-align: right;
	}
}
@media screen and (max-width: 640px) {
	.price {
		padding: 40px 0;
	}
	.price__inner__top {
		display: block;
	}
	.price__ttlBox {
		margin-bottom: 40px;
	}
	.price__ttl {
		text-align: center;
		font-size: 2.4rem;
	}
	.price__ttl span {
		margin-bottom: 40px;
		font-size: 3.2rem;
		display: block;
	}
	.price__inner__topImg {
		margin-bottom: 40px;
	}
	.price__inner__topImg .annotation {
		text-align: left;
		font-size: 1.2rem;
	}
}
/* ==========================================================================
 * access
 * ========================================================================== */
@media screen and (min-width: 641px) {
	.access {
		padding: 100px 0;
	}
	.access__ttl {
		font-size: 6rem;
		margin-bottom: 60px;
	}
	.access__inner {
		display: flex;
		justify-content: space-between;
	}
	.map, .access__detail {
		width: 48%;
	}
	.map iframe {
		width: 100%;
		height: 100%;
	}
	.access__detail p {
		margin-bottom: 30px;
		font-size: 1.8rem;
		letter-spacing: 0.5px;
	}
	.access__detail p span {
		color: #a5833c;
	}
	.access__detail picture {
		filter: drop-shadow(0px 0px 3px rgba(16, 16, 16, 0.1));
	}
}
@media screen and (max-width: 640px) {
	.access {
		padding: 40px 0;
	}
	.access__ttl {
		font-size: 3.2rem;
		margin-bottom: 40px;
	}
	.map, .access__detail {
		width: 100%;
	}
	.map iframe {
		width: 100%;
		height: 230px;
	}
	.access__detail p {
		margin-bottom: 30px;
		font-size: 1.8rem;
		letter-spacing: 0.5px;
	}
	.access__detail p span {
		color: #a5833c;
	}
	.access__detail picture {
		filter: drop-shadow(0px 0px 3px rgba(16, 16, 16, 0.3));
	}
}
/* ==========================================================================
 * support
 * ========================================================================== */
.support__img {
  filter: drop-shadow(0px 0px 3px rgba(250, 250, 250, 10));
}
@media screen and (min-width: 641px) {
	.support {
		background: url("../images/pc/support_bg.jpg") no-repeat 100% 100% / cover;
		padding: 100px 0;
	}
}
@media screen and (max-width: 640px) {
	.support {
		background: url("../images/sp/support_bg@2x.jpg") no-repeat 100% 100% / cover;
		padding: 185px 0 40px 0;
	}
}
/* ==========================================================================
 * faq
 * ========================================================================== */
.faq__ttl span {
	color: #a5833c;
}
.faq__qaList {
	background: #fff;
	border: solid 1px #191f2b;
	border-radius: 10px;
}
@media screen and (min-width: 641px) {
	.faq {
		padding: 100px 0;
	}
	.faq__ttl {
		font-size: 6rem;
	}
	.faq__qaList {
		margin: 40px 0 0 0;
		padding: 10px 0 10px 0;
	}
	.faq__qaList dt {
		background: url("../images/pc/q_icon.png") left top no-repeat;
		background-position: 20px 50%;
		padding: 20px 90px 20px 57px;
		font-size: 2.2rem;
		color: #191f2b;
		font-weight: bold;
		position: relative;
		cursor: pointer;
	}
	.faq__qaList dd {
		background: url("../images/pc/a_icon.png") left top no-repeat;
		font-size: 1.8rem;
		color: #191f2b;
		padding: 20px 90px 0px 57px;
		display: none;
	}
	.faq__qaList:nth-child(1) dd {
		background-position: 20px 50%;
	}
	.faq__qaList:nth-child(2) dd,
	.faq__qaList:nth-child(3) dd {
		background-position: 20px 83%;
	}
	.line-break {
		margin-top: 30px;
		padding: 20px 0 0 0;
	}
	.faq__qaList dt.open::before {
		content: "";
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 15%;
		right: 1.5em;
		width: 20px;
		height: 20px;
		border-top: 3px solid #101010;
		border-right: 3px solid #101010;
		transform: rotate(135deg);
	}
	.faq__qaList dt.close::after {
		content: "";
		margin: auto;
		position: absolute;
		top: 0;
		bottom: -10%;
		right: 1.5em;
		width: 20px;
		height: 20px;
		border-top: 3px solid #101010;
		border-right: 3px solid #101010;
		transform: rotate(-45deg);
	}
	.faq__qaList dd a {
		border-bottom: solid 1px #0069d4;
		color: #0069d4;
	}
}
@media screen and (max-width: 640px) {
	.faq {
		padding: 40px 0;
	}
	.faq__ttl {
		font-size: 3.2rem;
	}
	.faq__qaList {
		background: #fff;
		border: solid 1px #191f2b;
		border-radius: 10px;
		margin: 40px 0 0 0;
		padding: 10px 0 10px 0;
	}
	.faq__qaList dt {
		background: url("../images/sp/q_icon@2x.png") left top no-repeat;
		background-position: 20px 13%;
		background-size: 6%;
		padding: 0px 48px 0px 46px;
		font-size: 1.8rem;
		color: #191f2b;
		font-weight: bold;
		position: relative;
		cursor: pointer;
	}
	.faq__qaList dd {
		background: url("../images/sp/a_icon@2x.png") left top no-repeat;
		background-position: 20px 30%;
		background-size: 6%;
		font-size: 1.8rem;
		color: #191f2b;
		padding: 20px 20px 0px 46px;
		display: none;
	}
	.faq__qaList:nth-child(1) dd {
		background-position: 20px 45%;
	}
	.faq__qaList:nth-child(2) dd,
	.faq__qaList:nth-child(3) dd {
		background-position: 20px 50%;
	}
	.line-break {
		margin-top: 30px;
		padding: 20px 0 0 0;
	}
	.faq__qaList dt.open::before {
		content: "";
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 15%;
		right: 1.5em;
		width: 15px;
		height: 15px;
		border-top: 3px solid #101010;
		border-right: 3px solid #101010;
		transform: rotate(135deg);
	}
	.faq__qaList dt.close::after {
		content: "";
		margin: auto;
		position: absolute;
		top: 0;
		bottom: -10%;
		right: 1.5em;
		width: 15px;
		height: 15px;
		border-top: 3px solid #101010;
		border-right: 3px solid #101010;
		transform: rotate(-45deg);
	}
	.faq__qaList dd a {
		border-bottom: solid 1px #0069d4;
		color: #0069d4;
	}
}
/* ==========================================================================
 * company
 * ========================================================================== */
@media screen and (min-width: 641px) {
	.company {
		padding: 100px 0 60px 0;
	}
	.company__logo {
		display: flex;
		justify-content: center;
		margin-bottom: 60px;
	}
	.company table {
		width: 920px;
		text-align: left;
		margin-bottom: 65px;
	}
	.company tr {
		border-bottom: solid 1px #a5833c;
		display: flex;
		align-items: flex-start;
	}
	.company th {
		font-size: 1.8rem;
		color: #a5833c;
		width: 20%;
		padding: 20px 20px 20px 0;
	}
	.company td {
		font-size: 1.8rem;
		padding: 20px 20px 20px 0;
		width: auto;
	}
	.privacy-policy {
		text-align: center;
		font-size: 1.4rem;
		text-decoration: underline;
	}
	.privacy-policy a {
		color: #191f2b;
	}
}
@media screen and (max-width: 640px) {
	.company {
		padding: 30px 0 40px 0;
	}
	.company__logo {
		display: flex;
		justify-content: center;
		margin-bottom: 30px;
	}
	.company table {
		width: 92%;
		text-align: left;
		margin: 0 auto 30px auto;
	}
	.company tr {
		border-bottom: solid 1px #a5833c;
		display: flex;
		flex-direction: column;
	}
	.company th {
		font-size: 1.8rem;
		color: #a5833c;
		padding: 20px 20px 0px 0;
	}
	.company td {
		font-size: 1.8rem;
		padding-bottom: 20px;
	}
	.privacy-policy {
		text-align: center;
		font-size: 1.4rem;
		text-decoration: underline;
	}
	.privacy-policy a {
		color: #191f2b;
	}
}
/* ==========================================================================
 * footer
 * ========================================================================== */
.footer {
	background: #191f2b;
	padding: 20px 0;
}
.copyright {
	text-align: center;
	color: #fff;
	font-size: 1.4rem;
}