@charset "UTF-8";
/*=======================================
 	             SMACSS  base
 ========================================*/

/*=======================================
	         SMACSS  layout　　　　　　　       ( style.scss ) ( header.scss / main.scss / footer.scss ...) 
========================================*/
/*=======================================
 	        animation
 ========================================*/
.inview {
	-webkit-transition-duration: 1s;
	transition-duration: 1s;
	opacity: 0;
	-webkit-transform: translateY(50px);
	transform: translateY(50px);
	-webkit-transition: all 1500ms;
	transition: all 1500ms;
}

.inview.active {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}


.turn {
	opacity: 0;
}

.turn_color_right {
	overflow: hidden;
	position: relative;
}

.turn_color_right::before {
	background: #fff;
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
	opacity: 0;
}

.turn.active .turn_color_right::before {
	opacity: 1;
	-webkit-animation: turn_left 0.7s cubic-bezier(0.45, 0.19, 0.56, 0.91) forwards;
	animation: turn_left 0.7s cubic-bezier(0.45, 0.19, 0.56, 0.91) forwards;
}

.turn.active {
	opacity: 1;
}

@-webkit-keyframes turn_left {
	100% {
		-webkit-transform: translate(100%);
		transform: translate(100%);
	}
}

@keyframes turn_left {
	100% {
		-webkit-transform: translate(100%);
		transform: translate(100%);
	}
}

#firstview .fv-02 .yugothic span {
	position: relative;
	display: inline;
	z-index: 1;
	padding-bottom: 2px;
}

#firstview .fv-02 .yugothic span::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	background: #fff;
	z-index: -1;
	height: 0.8rem;
}

@media all and (-ms-high-contrast: none) {
	#firstview .fv-02 .yugothic span::before {
		bottom: 7.5px;
	}
}

#firstview .fv-02 .yugothic span.active::before {
	-webkit-animation: drawingborder 1s forwards;
	animation: drawingborder 1s forwards;
}

@-webkit-keyframes drawingborder {
	0% {
		width: 0;
	}

	100% {
		width: 100%;
	}
}

@keyframes drawingborder {
	0% {
		width: 0;
	}

	100% {
		width: 100%;
	}
}

/*=======================================
                  PC   
========================================*/
/* ===================
	　　 General
=================== */
html {
	font-size: 62.5%;
}

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#mainLP_Contents {
	/* background-image: url(../img/pc.jpg);
	background-repeat: no-repeat;
	background-size: 120rem; 
	background-position-x: center; 
	background-position-y: 1.4rem; */
	overflow: hidden;
}

#wrapper {
	width: 120rem;
	margin: 2rem auto 2rem;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#dvUserBox table {
	background-color: #fff;
}

/* ===================
	　　  common
=================== */
img {
	max-width: 100%;
	height: auto;
}

.yugothic {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;
	line-height: 2;
	letter-spacing: 0.015em;
	font-feature-settings: "palt";
	color: #4d4d4d;
	font-size: 1.4rem;
}

.Crimson_Text {
	font-family: 'Crimson Text', serif;
	letter-spacing: 0.025em;
	font-feature-settings: "palt";
}

.ShueiMin {
	font-family: dnp-shuei-mincho-pr6, sans-serif;
	letter-spacing: 0.05em;
	font-feature-settings: "palt";
	color: #000;
	font-weight: 500;
	font-style: normal;
}

.garamond {
	font-family: adobe-garamond-pro, serif;
	font-weight: 600;
	font-style: normal;
	font-size: 2.2rem;
	letter-spacing: 0.025em;
}

.price {
	font-family: 'Crimson Text', serif;
	font-size: 1.3rem;
	letter-spacing: 0.015em;
	font-feature-settings: "palt";
}

.price span {
	border-bottom: 0.1rem solid #cccccc;
	display: block;
}

.price a {
	display: inline-block;
	line-height: 1.1;
}

.ml {
	margin-left: 1.3rem;
}

#wrapper .flex {
	display: flex;
	flex-wrap: nowrap;
}

#wrapper .row-reverse {
	flex-direction: row-reverse;
	justify-content: flex-end;
}

/* ===================
	　 firstview
=================== */
#firstview {
	text-align: center;
	margin-bottom: 18.5rem;
}

#firstview a {
	display: inline-block;
}

.fv-img {
	width: 96rem;
	text-align: center;
	margin: 0 auto 7.3rem;
}

#firstview p {
	font-size: 1.4rem;
}

.intro {
	margin-bottom: 13.6rem;
}

#firstview h2 {
	font-size: 2rem;
	position: relative;
	margin-bottom: 2.5rem;
}

.fv-01 {
	position: relative;
	margin-bottom: 7.3rem;
}

.fv-01 h2::before {
	content: "";
	width: 66rem;
	height: 14.2rem;
	background: #f6f6f6;
	position: absolute;
	display: inline-block;
	z-index: -1;
	top: 1rem;
	left: 27rem;
}

.mark {
	width: 4.7rem;
	position: absolute;
	left: 48rem;
	top: -4.7rem;
}

.arrow {
	width: 11.7rem;
	position: absolute;
	left: 80.4rem;
	top: 11rem;
}

.bracket_right {
	width: 4.2rem;
	position: absolute;
	left: 92.9rem;
	top: -5.1rem;
}

.bracket_left {
	width: 4.2rem;
	position: absolute;
	left: 22.9rem;
	top: 41.1rem;
}

.fv-02 h2::before {
	content: "";
	width: 66rem;
	height: 20rem;
	background: #f2e8e2;
	position: absolute;
	display: inline-block;
	z-index: -1;
	top: 1rem;
	left: 27rem;
}

.ml01 {
	margin-left: 0.5rem;
}

/* ===================
	　　 cont1
=================== */
#cont1 {
	text-align: center;
	margin-bottom: 12rem;
}

#cont1 h2 {
	font-size: 2.4rem;
	color: #ab683d;
}

.title {
	position: relative;
	margin-bottom: 7.4rem;
}

#cont1 .txtline {
	width: 43.6rem;
	position: absolute;
	left: 0;
	right: 0;
	top: 4rem;
	margin: auto;
}

#cont1 .img01-description {
	justify-content: center;
	margin-bottom: 4.9rem;
}

.cont1-img01 {
	width: 46rem;
}

#cont1 .discription {
	text-align: left;
	margin-top: 24.1rem;
	margin-left: 6.1rem;
}

h3 {
	margin-bottom: 2.7rem;
}

#cont1 .img02-price {
	align-items: flex-end;
	margin-left: 27.3rem;
}

#cont1 .img02-price .price {
	margin-right: 3rem;
}

.cont1-img02 {
	width: 60rem;
}

/* ===================
	　　 cont2
=================== */
#cont2 {
	margin-bottom: 12rem;
	text-align: center;
}

#cont2 h2 {
	font-size: 2.4rem;
	color: #ab683d;
}

#cont2 .txtline {
	width: 44rem;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 4rem;
}

#cont2 .title {
	margin-bottom: 7.4rem;
}

.cont2-img01 {
	width: 52rem;
	margin: 0 auto 5.1rem;
}

#cont2 .price {
	margin-top: 2.6rem;
}

#cont2 h3 {
	margin-bottom: 2.5rem;
}

/* ===================
	　　 cont3
=================== */
#cont3 {
	text-align: center;
	margin-bottom: 8.6rem;
}

#cont3 h2 {
	font-size: 2.4rem;
	color: #ab683d;
}

#cont3 .txtline {
	width: 49.4rem;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 4rem;
}

#cont3 .img01-02 {
	margin-left: 13rem;
}

#cont3 .img01-description {
	margin-left: 4rem;
}

.cont3-img01 {
	width: 42rem;
	margin-bottom: 5.1rem;
}

#cont3 .discription {
	text-align: left;
}

#cont3 .price {
	text-align: left;
	margin-top: 2.5rem;
}

#cont3 .price a {
	display: inline-block;
}

.cont3-img02 {
	width: 48rem;
	margin-top: 14rem;
}

.lp-sec__credit {
	margin-top: 9rem;
	font-size: 1.3rem;
	font-family: "Crimson Text", serif;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.015em;
	line-height: 1;
	line-height: 1.6923076923;
	color: #4d4d4d;
	text-align: center;
}

/* ===================
	　　  button
=================== */
.m-btn {
	width: 60rem;
	margin: 8.7rem auto 2.1rem;
}

.m-btn a {
	width: 60rem;
	height: 6.2rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border: 0.1rem solid #000;
	background-color: #fff;
	font-family: "Crimson Text", serif;
	font-size: 1.1rem;
	line-height: 1.54;
	letter-spacing: 0.002em;
	text-align: center;
}



/*=======================================
               Responsive   
========================================*/

@media screen and (min-device-width: 768px) {
	.sp_only {
		display: none;
	}
}

/* for SP */
@media only screen and (max-width: 767px) {


	/*=======================================
                    SP    
  ========================================*/

	/* ===================
	　　 General
=================== */
	.main-inner {
		/* background-image: url(../img/sp.jpg);
	background-repeat: no-repeat;
	background-size: calc(750* (100vw / 750)); 
	background-position-x: center; 
	background-position-y: calc(-16* (100vw / 750)); */
		overflow: hidden;
	}

	.main-area .main-inner {
		width: 100%;
	}

	#wrapper {
		width: calc(750* (100vw / 750));
		margin: 0 auto;
		-webkit-font-feature-settings: "palt";
		font-feature-settings: "palt";
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

	#breadcrumb .cateList {
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden;
	}

	#firstview .fv-02 .yugothic span::before {
		bottom: calc(-2* (100vw / 750));
		height: calc(16* (100vw / 750));
	}

	/* ===================
  　　  common
  =================== */
	#wrapper .sp_only {
		display: block !important;
	}

	.pc_only {
		display: none;
	}

	.yugothic {
		font-size: calc(28* (100vw / 750));
	}

	.garamond {
		font-size: calc(40* (100vw / 750));
	}

	.ShueiMin {
		line-height: 1.65;
	}

	.price {
		font-size: calc(23* (100vw / 750));
	}

	.price span {
		border-bottom: calc(2* (100vw / 750)) solid #cccccc;
	}

	.price a {
		margin-bottom: calc(30* (100vw / 750));
		line-height: 1.3;
	}

	.ml {
		margin-left: calc(20* (100vw / 750));
	}

	#wrapper .flex {
		flex-wrap: wrap;
	}

	#wrapper .row-reverse {
		flex-direction: column;
	}

	/* ===================
  　　　 firstview
  =================== */
	#firstview {
		text-align: center;
		margin-bottom: calc(320* (100vw / 750));
	}

	.fv-img {
		width: 100%;
		text-align: center;
		margin: 0 auto calc(126* (100vw / 750));
	}

	#firstview p {
		font-size: calc(28* (100vw / 750));
	}

	.intro {
		margin-bottom: calc(219* (100vw / 750));
	}

	#firstview h2 {
		font-size: calc(38* (100vw / 750));
		margin-bottom: calc(27* (100vw / 750));
	}

	.fv-01 {
		margin-bottom: calc(127* (100vw / 750));
	}

	.fv-01 h2::before {
		content: "";
		width: calc(652* (100vw / 750));
		height: calc(267* (100vw / 750));
		background: #f6f6f6;
		position: absolute;
		display: inline-block;
		z-index: -1;
		top: calc(30* (100vw / 750));
		left: calc(50* (100vw / 750));
	}

	.mark {
		width: calc(74* (100vw / 750));
		position: absolute;
		left: calc(160* (100vw / 750));
		top: calc(-85* (100vw / 750));
	}

	.arrow {
		width: calc(111* (100vw / 750));
		left: calc(619* (100vw / 750));
		top: calc(246* (100vw / 750));
	}

	.bracket_right {
		width: calc(62* (100vw / 750));
		left: calc(668* (100vw / 750));
		top: calc(-90* (100vw / 750));
	}

	.bracket_left {
		width: calc(62* (100vw / 750));
		left: calc(20* (100vw / 750));
		top: calc(935* (100vw / 750));
	}

	.fv-02 h2::before {
		content: "";
		width: calc(650* (100vw / 750));
		height: calc(490* (100vw / 750));
		top: calc(35* (100vw / 750));
		left: calc(50* (100vw / 750));
	}

	.c-marker {
		padding-bottom: 0.5rem;
	}

	.ml01 {
		margin-left: calc(11* (100vw / 750));
	}

	.ml02 {
		margin-left: calc(-10* (100vw / 750));
	}

	/* ===================
  　　    cont1
  =================== */
	#cont1 {
		height: auto;
		text-align: center;
		margin-bottom: calc(158* (100vw / 750));
	}

	#cont1 h2 {
		font-size: calc(42* (100vw / 750));
		margin-bottom: calc(98* (100vw / 750));
	}

	#cont1 .txtline {
		width: calc(681* (100vw / 750));
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		top: calc(157* (100vw / 750));
	}

	.cont1-img01 {
		width: calc(580* (100vw / 750));
		margin: 0 auto calc(82* (100vw / 750));
	}

	#cont1 .discription {
		margin: 0 auto;
	}

	#cont1 .discription p {
		width: calc(578* (100vw / 750));
		text-align: justify;
	}

	h3 {
		margin-bottom: calc(30* (100vw / 750));
	}

	#cont1 .img01-description {
		margin-bottom: calc(66* (100vw / 750));
	}

	#cont1 .img02-price {
		margin-left: 0;
	}

	.cont1-img02 {
		width: 100%;
	}

	#cont1 .img02-price .price {
		text-align: left;
		margin-top: calc(48* (100vw / 750));
		margin-right: calc(512* (100vw / 750));
	}

	.title {
		margin-bottom: 0;
	}

	#cont1 .title .ShueiMin {
		line-height: 1.7;
	}

	#cont2 {
		margin-bottom: calc(159* (100vw / 750));
		text-align: center;
	}

	#cont2 h2 {
		font-size: calc(42* (100vw / 750));
	}

	#cont2 .txtline {
		width: calc(681* (100vw / 750));
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		top: calc(157* (100vw / 750));
	}

	#cont2 .title {
		margin-bottom: calc(99* (100vw / 750));
	}

	.cont2-img01 {
		width: calc(620* (100vw / 750));
		margin: 0 auto calc(84* (100vw / 750));
	}

	#cont2 h3 {
		margin-bottom: calc(30* (100vw / 750));
	}

	#cont2 .price {
		margin-top: calc(35* (100vw / 750));
	}

	#cont3 {
		margin-bottom: calc(100* (100vw / 750));
	}

	#cont3 h2 {
		font-size: calc(42* (100vw / 750));
		margin-bottom: calc(99* (100vw / 750));
	}

	#cont3 .txtline {
		width: calc(681* (100vw / 750));
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		top: calc(157* (100vw / 750));
	}

	.cont3-img01 {
		width: calc(580* (100vw / 750));
		margin-bottom: calc(82* (100vw / 750));
	}

	#cont3 .discription p {
		width: calc(579* (100vw / 750));
		text-align: justify;
	}

	#cont3 .img01-description {
		margin-left: calc(85* (100vw / 750));
		margin-bottom: calc(65* (100vw / 750));
	}

	#cont3 .img01-02 {
		margin-left: 0;
	}

	.cont3-img02 {
		width: calc(580* (100vw / 750));
		margin-top: 0;
		margin-left: auto;
		margin-right: auto;
	}

	#cont3 .price {
		margin-top: calc(47* (100vw / 750));
		margin-left: 0;
	}

	#cont3 .price a {
		margin-bottom: calc(30* (100vw / 750));
	}

	.lp-sec__credit {
		margin-top: calc(140* (100vw / 750));
		font-size: calc(23* (100vw / 750));
		line-height: 1.74;
	}

	/* ===================
  　　  button
  =================== */
	.m-btn {
		width: calc(618 *(100vw / 750));
		margin: calc(135 *(100vw / 750)) auto calc(40* (100vw / 750));
	}

	.m-btn a {
		width: calc(618 *(100vw / 750));
		height: calc(124 *(100vw / 750));
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		border: 1px solid #000;
		background-color: #fff;
		font-family: "Crimson Text", serif;
		font-size: calc(22 *(100vw / 750));
		line-height: 1.54;
		letter-spacing: 0.002em;
		text-align: center;
	}

}

/* for Tablet */
@media screen and (min-width: 768px) and (max-width: 1200px) {

	/*=======================================
                    Tablet    
  ========================================*/
	/* ===================
	　　 General
=================== */
	html {
		font-size: calc(10* (100vw / 1200)) !important;
	}

	* {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

	#mainLP_Contents {
		background-repeat: no-repeat;
		background-size: calc(1200 *(100vw / 1200));
		background-position-x: calc(0 *(100vw / 1200));
		background-position-y: calc(-6 *(100vw / 1200));
		overflow: hidden;
	}

	#wrapper {
		width: calc(1200 *(100vw / 1200));
		margin: calc(0 *(100vw / 1200));
		-webkit-font-feature-settings: "palt";
		font-feature-settings: "palt";
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
}

/*===================== youtube */

.youtube__wrapper {
	text-align: center;
}

.youtube__heading p {
	font-family: adobe-garamond-pro, serif;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 0.025em;
	line-height: 1;
}

.youtube__element {
	position: relative;
	margin: auto;
	background: #fff;
}

.youtube__element iframe {
	width: 100%;
	height: 100%;
	background: #fff;
}

.youtube__element .html5-video-container {
	background: #fff;
}

/* for desktop */
@media only screen and (min-width: 768px) {

	.youtube__wrapper {
		margin-top: 12rem;
	}

	.youtube__heading p {
		font-size: 2rem;
	}

	.youtube__element {
		width: 83.6rem;
		height: 47rem;
		margin-top: 3rem;
	}
}

/* for mobile */
@media only screen and (max-width: 767px) {

	.youtube__wrapper {
		margin-top: calc(200* (100vw / 750));
	}

	.youtube__heading p {
		font-size: calc(36* (100vw / 750));
	}

	.youtube__element {
		width: 100%;
		height: calc(422* (100vw / 750));
		margin-top: calc(60* (100vw / 750));
	}
}


/*# sourceMappingURL=style.css.map */