@charset "utf-8";
body {
		background: #F9F4E9;
		color: #333;
}
@media (max-width: 767px) {
		.second_hdr {
				height: 140px;
		}
}
.page_title {
		color: #867055;
}
.lead {
		text-align: center;
		font-size: 20px;
		font-weight: 500;
		line-height: 2.0;
		margin: 0 0 60px;
}
.lead.extra {
		margin-bottom: 15px;
}
.patent.extra {
		text-align: center;
		margin: 0 0 60px;
		font-weight: 500;
		line-height: 1.6;
		font-size: 90%;
}
.hdr_gallery {
		position: relative;
		margin-bottom: 70px;
}
.hdr_gallery img {
		width: 100%;
		height: auto
}
.about_line_gr {
		background-repeat: repeat-x;
		background-position: left top;
		background-size: 8px;
		background-image: url("../images/line_dot_brwn.png");
}
.about_line {
		display: flex;
		padding: 35px 30px 35px;
		background-repeat: repeat-x;
		background-position: left bottom;
		background-size: 8px;
		background-image: url("../images/line_dot_brwn.png");
}
.about_line.last {
		background: none;
		padding-bottom: 60px;
}
.about_line_caption {
		flex: 1
}
.about_line_caption p {
		line-height: 1.8;
}
.about_sb {
		font-size: 120%;
		font-weight: 600;
		line-height: 1.6;
		margin: 0 0 10px;
		color: #867055;
}
.about_line_caption p.patent {
		font-size: 14px;
		font-weight: 400;
		margin-top: 1em;
}
span.sup {
		font-size: 11px;
		position: relative;
		display: inline-block;
		top: -0.5em
}
.about_line_figure {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 318px;
		margin-left: 30px;
}
.about_line_figure.single {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-left: 0;
		margin-right: 80px;
		width: 145px;
}
.about_line_figure_item {
		width: 145px;
}
.about_line_figure.wide {
		width: 270px;
}
.about_line_figure.wide .about_line_figure_item.w175 {
		width: 175px;
		margin-left: 30px;
}
@media(max-width: 767px) {
		.about_line_figure.wide .about_line_figure_item.w175 {
				width: 150px;
				margin-left: 0;
		}
		.about_line_figure.wide {
				width: 240px;
		}
}
.about_line_figure.wide .about_line_figure_item {
		width: auto;
}
.about_line_figure_item img {
		width: 100%;
		height: auto;
		border-radius: 50%;
}
.about_line_figure_item img.none {
		border-radius: 0;
}
.dot_hd.wht {}
.section_col {
		background: #efdcd4;
		min-height: 150px;
		margin: 0 0 55px;
		border-radius: 30px;
		padding: 40px 50px;
}
.section_col.wide {
		padding-right: 10px;
		padding-left: 40px;
}
.section_col.body {
		background: rgba(226, 186, 180, 0.4);
}
.section_col.back {
		background: rgba(200, 174, 178, 0.4);
}
.section_col.armleg {
		background: rgba(235, 198, 180, 0.4);
}
.section_col.waki {
		background: rgba(239, 202, 165, 0.4);
}
.section_col.vio {
		background: rgba(222, 190, 184, 0.4);
}
.section_col.bihada {
		background: rgba(237, 223, 212, 0.4);
}
.section_col.mayuL {
		background: rgba(235, 198, 190, 0.4);
}
.section_col.mayuT {
		background: rgba(200, 174, 178, 0.4);
}
dl.spec {
		display: flex;
		padding-bottom: 22px;
		margin-bottom: 20px;
		background-repeat: repeat-x;
		background-position: left bottom;
		background-size: 8px;
		background-image: url("../images/line_dot_wht2.png");
}
dl.spec.last {
		background: none;
		padding-bottom: 0;
		margin-bottom: 0;
}
dl.spec > dt {
		width: 150px;
		line-height: 1.8;
		color: #867055;
		position: relative;
		font-weight: 700;
}
dl.spec dt::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: -7px;
		width: 32px;
		height: 32px;
		background: #F9F4E9;
		border-radius: 50%;
}
dl.spec dl dt::before {
		display: none
}
dl.spec dt span {
		position: relative;
		z-index: 1
}
dl.spec dd {
		flex: 1;
		line-height: 1.8;
}
dl.spec dl {
		margin-bottom: 5px;
}
dl.spec dd {
		line-height: 1.6;
}
dl.spec ul {
		list-style: none
}
dl.spec ul.dot {
		margin-left: 1em;
}
dl.spec ul.dot li {
		position: relative;
		line-height: 1.6;
		margin: 0 0 8px;
}
dl.spec ul.dot li::before {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
dl.spec ul.plus {
		font-size: 85%;
}
.section_hd {
		text-align: center;
		font-size: 20px;
		font-weight: 700;
		color: #867055;
		margin: 0 0 20px;
}
@media(min-width: 768px) {
		.section_hd.howto_hdD {
				margin-bottom: -30px;
		}
		.section_hd.howto_hd {
				margin-bottom: -20px;
		}
		.section_hd.howto_hd2 {
				margin-bottom: -10px;
		}
		.section_hd.howto_hd3 {
				margin-bottom: 0px;
		}
}
.section_hd span {
		position: relative;
		display: inline-block;
}
.section_hd span::before, .section_hd span::after {
		content: '';
		display: block;
		position: absolute;
		width: 2px;
		height: 24px;
		background: #867055;
		top: 5px;
}
.section_hd span::before {
		left: -6px;
		transform: rotate(-20deg)
}
.section_hd span::after {
		right: -6px;
		transform: rotate(20deg)
}
.howto_flex {
		display: flex;
		align-items: center
}
.howto_flex p {
		line-height: 1.8;
		flex: 1
}
.howto_figure {
		width: 300px;
		margin-left: 10px;
}
.howto_figure.w250 {
		width: 250px;
		position: relative;
		margin-left: 0;
}
.howto_figure.w200 {
		width: 200px;
		position: relative;
		margin-left: 0;
}
.howto_figure.w150 {
		width: 150px;
		position: relative;
		margin-left: 0;
}
.howto_figure.mid {
		width: 250px;
}
.howto_figure.mid2 {
		width: 220px;
}
.howto_figure.mid3 {
		width: 180px;
}
.howto_figure.half {
		width: 150px;
}
.figure140 {
		width: 140px;
}
.figure125 {
		width: 125px;
}
.figure150 {
		width: 150px;
}
.howto_figure img {
		width: 100%;
		height: auto;
		mix-blend-mode: multiply
}
.movie_flex {
		display: flex;
		align-items: center;
		margin: 0 0 30px;
}
.movie_flex_gr {
		padding-top: 20px;
}
.movie_thumb {
		width: 380px;
		margin-right: 50px;
		position: relative;
}
.movie_thumb img {
		width: 100%;
		height: auto;
		border-radius: 16px;
}
@media(max-width: 767px) {
		.movie_thumb img {
				border-radius: 12px;
		}
}
.movie_thumb::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 25px);
		left: calc(50% - 20px);
		width: 0;
		height: 0;
		border-style: solid;
		border-top: 25px solid transparent;
		border-bottom: 25px solid transparent;
		border-left: 40px solid #b96e63;
		border-right: 0;
		transition: opacity 0.4s;
		pointer-events: none;
}
@media (hover: hover) {
		.movie_thumb:hover::after {
				opacity: 0.4
		}
}
.ec_btn_gr {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		margin: 0 auto 120px;
		max-width: 840px;
}
.ec_btn {
		width: 380px;
		margin: 0 10px 15px;
		font-size: 18px;
		font-weight: 500;
		position: relative;
}
@media(max-width: 767px) {
		.ec_btn {
				width: auto;
				font-size: 16px;
		}
}
.ec_btn::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 12.5px);
		left: 26px;
		width: 30px;
		height: 25px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		background-image: url("../images/icon_ec_rose.png");
		pointer-events: none;
		z-index: 2
}
.ec_btn.single {
		margin: 0 auto 15px;
}
.ec_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 64px;
		text-decoration: none;
		color: #B96E63;
		border: 2px solid #B96E63;
		background: #fff;
		box-sizing: border-box;
		transition: background 0.3s;
		border-radius: 60px;
		position: relative;
}
.ec_btn a span {
		position: relative;
		transform: translateY(-1px)
}
.ec_btn a::before, .ec_btn a::after {
		content: '';
		display: block;
		position: absolute;
		box-sizing: border-box;
		transition: background 0.3s;
}
.ec_btn a::before {
		width: 20px;
		height: 20px;
		border-radius: 50%;
		border: 2px solid #B96E63;
		right: 28px;
		top: 20px;
}
.ec_btn a::after {
		width: 8px;
		height: 8px;
		border-top: 2px solid #B96E63;
		border-right: 2px solid #B96E63;
		transform: rotate(45deg);
		right: 35px;
		top: 26px;
}
@media (hover: hover) {
		.ec_btn:hover::before {
				background-image: url("../images/icon_ec_wht.png");
		}
		.ec_btn a:hover {
				background: #B96E63;
				color: #fff;
		}
		.ec_btn a:hover::before {
				background: #fff;
		}
}
.lineup_section {
		padding-left: 30px;
		padding-right: 30px;
}
@media(max-width: 960px) {
		.about_line {
				padding-left: 0;
				padding-right: 0;
		}
		.about_line_figure {
				width: 42%;
				margin-left: 10px;
		}
		.section_col {
				padding: 40px;
		}
		.howto_figure, .howto_figure.half {
				width: 42%;
				margin-left: 10px;
		}
		.movie_thumb {
				width: 50%;
				margin-right: 20px;
		}
		.ec_btn_gr {
				display: block;
				margin: 0 auto 120px;
				width: 380px;
		}
		.ec_btn_gr .ec_btn {
				margin-left: 0;
				margin-right: 0;
		}
}
@media(max-width: 767px) {
		.lead {
				font-size: 15px;
				line-height: 1.8;
				margin: 0 0 30px;
		}
		.patent.extra {
				margin: 0 0 30px;
				font-size: 13px;
		}
		.about_line {
				display: block;
		}
		.about_line_caption {
				margin-bottom: 20px;
		}
		.about_line_figure {
				width: 100%;
				margin: 0 auto;
				display: flex;
				justify-content: center;
				align-items: center;
		}
		.about_line_figure.single {
				margin-left: auto;
				margin-right: auto;
		}
		.about_line_figure_item {
				width: 110px;
				margin: 0 8px;
		}
		.section_col {
				padding: 40px 25px;
		}
		.section_col.wide {
				padding: 40px 25px;
		}
		dl.spec {
				display: block;
				padding-bottom: 17px;
				margin-bottom: 15px;
				background-size: 8px;
				background-image: url(../images/line_dot_wht2.png);
		}
		dl.spec > dt {
				width: auto;
				margin: 0 0 20px;
		}
		dl.spec dl dt {
				position: relative;
				left: -0.5em
		}
		.howto_flex {
				display: flex;
				flex-direction: column-reverse;
		}
		.howto_figure, .howto_figure.half {
				width: 100%;
				margin: 0 0 10px
		}
		.figure140 {
				width: 45%;
				margin: 0 auto;
		}
		.figure125 {
				width: 45%;
				margin: 0 auto;
		}
		.sp140 {
				width: 140px;
				margin: 0 auto
		}
		.movie_flex {
				display: block;
				margin: 0 0 30px;
		}
		.movie_flex_gr {
				padding-top: 10px;
		}
		.movie_thumb {
				width: auto;
				margin: 0 0 10px;
		}
		.movie_thumb::after {
				content: '';
				display: block;
				position: absolute;
				top: calc(50% - 15px);
				left: calc(50% - 7px);
				width: 0;
				height: 0;
				border-style: solid;
				border-top: 18px solid transparent;
				border-bottom: 18px solid transparent;
				border-left: 30px solid #b96e63;
				border-right: 0;
				transition: opacity 0.4s;
		}
		.ec_btn_gr, .ec_btn {
				width: auto;
		}
		.ec_btn::before {
				left: 15px
		}
		.ec_btn a::before {
				right: 18px;
		}
		.ec_btn a::after {
				right: 25px;
		}
}
/* =============== */
.limited_col {
		background: #fff;
		padding: 100px 40px;
		border-radius: 30px;
		margin-bottom: 80px;
}
.limited_col .ec_btn_gr {
		margin-bottom: 0;
}
.limited_hd {
		text-align: center;
		line-height: 1.6;
		font-size: 36px;
		font-weight: 700;
		margin: 0 0 60px;
		color: #867055;
}
.limited_figure {
		max-width: 640px;
		margin: 0 auto 60px;
}
.limited_caption {
		line-height: 1.8;
		text-align: center;
		margin: 0 0 40px;
}
.limited_figure img {
		width: 100%;
		height: auto
}
@media(max-width: 960px) {
		.limited_col .ec_btn_gr {
				width: auto;
		}
		.limited_col .ec_btn {
				width: 100% !important;
				box-sizing: border-box
		}
}
@media(max-width: 840px) {
		.limited_caption {
				text-align: left;
		}
		.limited_caption .pcbr {
				display: none
		}
}
@media(max-width: 767px) {
		.limited_col {
				padding: 40px 20px;
				border-radius: 20px;
				margin-bottom: 60px;
		}
		.limited_hd {
				font-size: 22px;
				margin: 0 0 40px;
		}
}
.limited_notes {
		text-align: center;
		margin: 0 0 25px
}
@media(max-width: 767px) {
		.limited_notes {
				position: relative;
				margin-left: 1em;
				line-height: 1.6;
				text-align: left;
				font-size: 14px;
		}
		.limited_notes span {
				display: block;
				position: absolute;
				top: 0;
				left: -1em;
		}
}