@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_right 0.7s cubic-bezier(0.45, 0.19, 0.56, 0.91) forwards;
	animation: turn_right 0.7s cubic-bezier(0.45, 0.19, 0.56, 0.91) forwards;
}

.turn.active {
	opacity: 1;
}

@-webkit-keyframes turn_right {
	100% {
		-webkit-transform: translate(100%);
		transform: translate(100%);
	}
}

@keyframes turn_right {
	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: 10px;
}

@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 1.5s forwards;
	animation: drawingborder 1.5s 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: 5.4rem; */
	overflow: hidden;
}

#wrapper {
	width: 120rem;
	margin: 6rem auto 2rem;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* ===================
	　　  common
=================== */
img {
	max-width: 100%;
	height: auto;
}

.sp_only {
	display: none;
}

.yugothic {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;
	line-height: 2;
	letter-spacing: 0.01em;
	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";
	margin-top: 3rem;
}

.price span {
	border-bottom: 0.1rem solid #cccccc;
}

.pt {
	padding-top: 1.3rem;
	display: inline-block;
}

.ml {
	margin-left: 1.5rem;
}

/* ===================
	　 firstview
=================== */
#firstview {
	text-align: center;
	margin-bottom: 18.3rem;
}

.fv-img {
	width: 100rem;
	text-align: center;
	margin: 0 auto 8.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: 14rem;
	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: 23rem;
	top: 41rem;
}

.fv-02 h2::before {
	content: "";
	width: 66rem;
	height: 20rem;
	background: #e0dad1;
	position: absolute;
	display: inline-block;
	z-index: -1;
	top: 1rem;
	left: 27rem;
}

/* ===================
	　　 cont
=================== */
#cont1 h2,
#cont2 h2,
#cont3 h2 {
	font-size: 2.4rem;
	text-align: center;
	color: #5c2212;
	padding-bottom: 7.5rem;
}


#cont1 {
	position: relative;
	margin-bottom: 12rem;
}

#cont1 .txtline {
	width: 41.6rem;
	position: absolute;
	left: 39.4rem;
	top: 4rem;
}

#cont1 .flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 94rem;
	margin: 0 auto;
}

#cont1 .discription {
	text-align: right;
	margin-top: 12rem;
}

#cont1 .discription .yugothic {
	margin-top: 3rem;
}

.cont1-img01 {
	width: 50rem;
}

.cont1-img02 {
	width: 38rem;
	margin-top: 5.5rem;
}


#cont2 {
	position: relative;
	margin-bottom: 12rem;
	text-align: center;
}

#cont2 .txtline {
	width: 41.6rem;
	position: absolute;
	left: 39rem;
	top: 4rem;
}

#cont2 .flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 95rem;
	margin: 0 auto;
}

#cont2 .discription {
	margin-top: 6rem;
}

#cont2 .discription .yugothic {
	margin-top: 2.8rem;
}

#cont2 .price {
	margin-top: 2.5rem;
}

.cont2-img01 {
	width: 52rem;
}

.cont2-img02 {
	width: 38rem;
	margin-top: 26rem;
}


#cont3 {
	position: relative;
	margin-bottom: 8.5rem;
}

#cont3 .txtline {
	width: 47.2rem;
	position: absolute;
	left: 36.5rem;
	top: 4rem;
}

#cont3 .flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 96rem;
	margin: 0 auto;
}

#cont3 .discription {
	margin-top: 5rem;
	margin-left: 6rem;
}

#cont3 .discription .yugothic {
	margin-top: 2.8rem;
}

#cont3 .price {
	margin-top: 2.2rem;
	margin-left: 6rem;
}

.cont3-img01 {
	width: 42rem;
	margin-top: 28rem;
}

.cont3-img02 {
	width: 48rem;
}



.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   
========================================*/
/* 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(-15* (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 {
		padding-bottom: 0.66667vw;
	}

	#firstview .fv-02 .yugothic span::before {
		height: 2.66667vw;
	}


	/* ===================
  　　  common
  =================== */
	.sp_only {
		display: block;
	}

	.pc_only {
		display: none;
	}

	.yugothic {
		font-size: calc(28* (100vw / 750));
	}

	.garamond {
		font-size: calc(40* (100vw / 750));
	}

	.ShueiMin {
		line-height: 1.66;
	}

	.price {
		font-size: calc(23* (100vw / 750));
		margin-top: calc(30* (100vw / 750));
	}

	.price span {
		border-bottom: calc(2* (100vw / 750)) solid #cccccc;
	}

	.pt {
		padding-top: calc(30* (100vw / 750));
	}

	.ml {
		margin-left: 0;
		padding-top: calc(30* (100vw / 750));
		display: inline-block;
	}

	/* ===================
  　　　 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));
	}

	.intro {
		margin-bottom: calc(219* (100vw / 750));
	}

	#firstview h2 {
		font-size: calc(38* (100vw / 750));
		margin-bottom: calc(28* (100vw / 750));
	}

	.fv-01 {
		margin-bottom: calc(125* (100vw / 750));
	}

	.fv-01 h2::before {
		content: "";
		width: calc(650* (100vw / 750));
		height: calc(270* (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(620* (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(30* (100vw / 750));
		left: calc(50* (100vw / 750));
	}

	/* ===================
	　　    cont
	=================== */
	#cont1 h2,
	#cont2 h2,
	#cont3 h2 {
		font-size: calc(42* (100vw / 750));
		padding-bottom: calc(100* (100vw / 750));
	}


	#cont1 {
		text-align: center;
		margin-bottom: calc(190* (100vw / 750));
	}

	#cont1 .txtline {
		width: calc(680* (100vw / 750));
		position: absolute;
		left: calc(35* (100vw / 750));
		top: calc(87* (100vw / 750));
	}

	#cont1 .discription {
		width: calc(640* (100vw / 750));
		margin: calc(85* (100vw / 750)) auto 0;
		text-align: justify;
	}

	#cont1 .discription .yugothic {
		margin-top: calc(30* (100vw / 750));
		letter-spacing: 0.02em;
	}

	#cont1 .price {
		margin-top: calc(48* (100vw / 750));
		margin-left: calc(-255* (100vw / 750));
	}

	.cont1-img01 {
		width: calc(640* (100vw / 750));
		margin: 0 auto;
	}

	.cont1-img02 {
		width: calc(520* (100vw / 750));
		margin-top: calc(70* (100vw / 750));
		margin-left: calc(175* (100vw / 750));
	}



	#cont2 {
		margin-bottom: calc(195* (100vw / 750));
		text-align: center;
	}

	#cont2 h2 {
		font-size: calc(42* (100vw / 750));
		padding-bottom: calc(100* (100vw / 750));
	}

	#cont2 .txtline {
		width: calc(680* (100vw / 750));
		position: absolute;
		left: calc(35* (100vw / 750));
		top: calc(88* (100vw / 750));
	}

	#cont2 .discription {
		/* width: calc(680* (100vw / 750)); */
		margin: calc(80* (100vw / 750)) auto 0;
	}

	#cont2 .discription .yugothic {
		margin-top: calc(30* (100vw / 750));
	}

	#cont2 .price {
		margin-top: calc(48* (100vw / 750));
		text-align: center;
	}

	.cont2-img01 {
		width: calc(600* (100vw / 750));
		margin: 0 auto;
	}

	.cont2-img02 {
		width: calc(520* (100vw / 750));
		margin: calc(65* (100vw / 750)) auto 0;
	}


	#cont3 {
		margin-bottom: calc(130* (100vw / 750));
	}

	#cont3 h2 {
		font-size: calc(42* (100vw / 750));
		padding-bottom: calc(100* (100vw / 750));
	}

	#cont3 .txtline {
		width: calc(680* (100vw / 750));
		position: absolute;
		left: calc(35* (100vw / 750));
		top: calc(157* (100vw / 750));
	}

	#cont3 .discription {
		margin: calc(80* (100vw / 750)) auto 0;
		text-align: center;
	}

	#cont3 .discription .yugothic {
		margin-top: calc(35* (100vw / 750));
	}

	#cont3 .price {
		margin: calc(45* (100vw / 750)) auto 0;
		text-align: center;
	}

	.cont3-img01 {
		width: calc(560* (100vw / 750));
		margin: 0 auto;
	}

	.cont3-img02 {
		width: calc(620* (100vw / 750));
		margin: calc(70* (100vw / 750)) auto 0;
	}


	.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 */