@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;
	padding-left: 2px;
	padding-right: 2px;
	margin-right: -0.3rem;
  }
  
  #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;
}
@media all and (-ms-high-contrast: none) {
			.ShueiMin{
				font-family: 'Noto Serif JP', serif;
				letter-spacing: 0.02em;
			}
		}

.garamond{
	font-family: adobe-garamond-pro, serif;
	font-weight: 600;
	font-style: normal;
	font-size: 2.2rem;
	letter-spacing: 0.025em;
}
@media all and (-ms-high-contrast: none) {
	.garamond{
		font-family: 'EB Garamond', serif;
	}
}

.price{
	font-family: 'Crimson Text', serif;
	font-size: 1.3rem;
	letter-spacing: 0.015em;
	font-feature-settings: "palt";
	margin-top: 2.6rem;
}
.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.6rem;
}
#firstview a{
	display: inline-block;
}

.fv-img{
	width: 96rem;
	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.4rem;
}
.fv-02 h2{
	margin-bottom: 2.5rem!important;
}
.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: #ecdcde;
	position: absolute;
	display: inline-block;
	z-index: -1;
	top: 1.1rem;
	left: 27rem;
}
.ml01{
	margin-left: 0.5rem;
}

/* ===================
	　　 cont1
=================== */
#cont1{
	text-align: center;
	margin-bottom: 6.5rem;
}
#cont1 h2{
	font-size: 2.4rem;
	color: #a14f5c;
}
.title{
	position: relative;
	margin-bottom: 7.4rem;
}
#cont1 .txtline{
	width: 47.6rem;
	position: absolute;
	left: 0;
	right: 0;
	top: 3.9rem;
	margin: auto;
}
#cont1 .flex{
	width: 92rem;
	margin: 0 auto;
	justify-content: space-between!important;
}
#cont1 .right{
	
}
.cont1-img01{
	width: 48rem;
	margin-left: auto;
	margin-right: auto;
}
#cont1 .discription{
	text-align: center;
	margin-top: 6rem;
	margin-bottom: 5.5rem;
}
h3{
	margin-bottom: 2.6rem;
}
.cont1-img02{
	width: 40rem;
	margin-top: 29.9rem;
}
.cont1-img02 .price{
	text-align: left;
}
.cont1-img02 .price a{
	margin-bottom: 1.5rem;
}

/* ===================
	　　 cont2
=================== */
#cont2{
	margin-bottom: 11.9rem;
	text-align: center;
}
#cont2 h2{
	font-size: 2.4rem;
	color: #a14f5c;
}
#cont2 .txtline{
	width: 47.6rem;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 3.9rem;
}
#cont2 .title{
	margin-bottom: 7.4rem;
}
#cont2 .img02-description{
	text-align: left;
	margin-left: 25.6rem;
}
#cont2 .description{
	margin-top: 15.1rem;
	z-index: 2;
}
.cont2-img01{
	width: 52rem;
	margin: 0 auto 4rem;
}
.cont2-img02{
	width: 36rem;
	margin-left: -5.8rem;
}
#cont2 .price{
	margin-top: 2.5rem;
}

/* ===================
	　　 cont3
=================== */
#cont3{
	text-align: center;
	position: relative;
	margin-bottom: 12.1rem;
}
#cont3 h2{
	font-size: 2.4rem;
	color: #a14f5c;
}
#cont3 .txtline{
	width: 48rem;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 3.9rem;
}
#cont3 .title{
	margin-bottom: 7.4rem;
}
#cont3 .img01-02{
	width: 96rem;
	justify-content: space-between;
	margin: 0 auto;
}
.cont3-img01{
	width: 48rem;
	margin-bottom: 6.1rem;
}
.cont3-img02{
	width: 44rem;
	margin-top: 24rem;
}
#cont3 .description{
	text-align: left;
	margin-left: 4.1rem;
}

/* ===================
	　　 cont4
=================== */
#cont4{
	text-align: center
}
#cont4 h2{
	font-family: adobe-garamond-pro, serif;
	font-weight: 600;
	font-style: normal;
	font-size: 2rem;
	letter-spacing: 0.025em;
	margin-bottom: 3.3rem;
}
@media all and (-ms-high-contrast: none) {
	#cont4 h2{
		font-family: 'EB Garamond', serif;
	}
}
#cont4 .movie{
	margin-bottom: 8.5rem;
}
.youtube_box iframe{
	width: 83.4rem;
	height: 46.9rem;
	background-color: #fff;
}

.lp-sec__credit {
  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;
}
@media all and (-ms-high-contrast: none) {
	h4.style-archive__ttl{
		font-family: 'EB Garamond', serif!important;
	}
}
/* ===================
	　　  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(-1* (100vw / 750));
	height: calc(16* (100vw / 750));
  }
	
  /* ===================
  　　  common
  =================== */
	#firstview .fv-02 .yugothic span {
		padding-bottom: calc(3* (100vw / 750));
    padding-left: calc(5* (100vw / 750));
    padding-right: calc(8* (100vw / 750));
    margin-right: calc(-11* (100vw / 750));
    margin-left: calc(-2* (100vw / 750));
		}
		
		#firstview .fv-02 .yugothic span::before {
		height: calc(17* (100vw / 750));
		}
	


	#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));
	margin-top: calc(46* (100vw / 750));
}
.price span{
	border-bottom: calc(2* (100vw / 750)) solid #cccccc;
}
.price a{
	margin-bottom: calc(22* (100vw / 750));
	line-height: 1.3;
}
.ml{
	margin-left: calc(20* (100vw / 750));
}
#wrapper .flex{
	flex-wrap: wrap;
}
h3{
	margin-bottom: calc(30* (100vw / 750));
}
  /* ===================
  　　　 firstview
  =================== */
	#firstview{
		text-align: center;
		margin-bottom: calc(318* (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(128* (100vw / 750));
	}
	.fv-01 h2::before{
		content: "";
		width: calc(652* (100vw / 750));
		height: calc(320* (100vw / 750));
		background: #f6f6f6;
		position: absolute;
		display: inline-block;
		z-index: -1;
		top: calc(32* (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(302* (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(1046* (100vw / 750));
	}
	.fv-02 h2::before{
		content: "";
		width: calc(650* (100vw / 750));
		height: calc(544* (100vw / 750));
		top: calc(31* (100vw / 750));
		left: calc(50* (100vw / 750));
	}
	.c-marker {
    padding-bottom: 0.5rem;
}
	.fv-02 h2{
		margin-bottom: calc(25* (100vw / 750))!important;
	}
/* ===================
  　　    cont1
  =================== */
	#cont1{
		margin-bottom: calc(158* (100vw / 750));
	}
	#cont1 h2{
		font-size: calc(42* (100vw / 750));
	}
	.title{
		margin-bottom: calc(94* (100vw / 750));
	}
	#cont1 .txtline{
		width: calc(641* (100vw / 750));
		left: 0;
		right: 0;
		top: calc(153* (100vw / 750));
		margin: auto;
	}
	#cont1 .flex{
		width: 100%;
		margin: 0 auto;
		justify-content: center!important;
	}
	.cont1-img01{
		width: calc(580* (100vw / 750));
	}
	#cont1 .discription{
		margin-top: calc(82* (100vw / 750));
		margin-bottom: calc(70* (100vw / 750));
	}
	.cont1-img02{
		width: calc(520* (100vw / 750));
		margin-top: 0;
	}
	.cont1-img02 .price{
		text-align: center;
	}
	
	/* ===================
	　　 cont2
=================== */
#cont2{
	margin-bottom: calc(165* (100vw / 750));
}
#cont2 h2{
	font-size: calc(42* (100vw / 750));
}
#cont2 .txtline{
	width: calc(641* (100vw / 750));
	left: 0;
	right: 0;
	margin: auto;
	top: calc(152* (100vw / 750));
}
#cont2 .title{
	margin-bottom: calc(94* (100vw / 750));
}
#cont2 .img02-description{
	margin-left: auto;
	margin-right: auto;
	width: calc(619* (100vw / 750));
	text-align: justify;
}
#cont2 .description{
	margin-top: 0;
	margin-bottom: calc(68* (100vw / 750));
}
.cont2-img01{
	width: calc(620* (100vw / 750));
	margin: 0 auto calc(83* (100vw / 750));
}
.cont2-img02{
	width: calc(520* (100vw / 750));
	margin-left: calc(100* (100vw / 750));
}
#cont2 .price{
	margin-top: calc(46* (100vw / 750));
}
	
/* ===================
	　　 cont3
=================== */
#cont3{
	text-align: center;
	margin-bottom: calc(178* (100vw / 750));
}
#cont3 h2{
	font-size: calc(42* (100vw / 750));
}
#cont3 .txtline{
	width: calc(641* (100vw / 750));
	top: calc(153* (100vw / 750));
}
#cont3 .title{
	margin-bottom: calc(94* (100vw / 750));
}
#cont3 .img01-02{
	width: 100%;
	justify-content: space-between;
	margin-left: calc(55* (100vw / 750));
}
.cont3-img01{
	width: calc(580* (100vw / 750));
	margin-bottom: calc(82* (100vw / 750));
}
.cont3-img02{
	width: calc(540* (100vw / 750));
	margin-top: calc(65* (100vw / 750));
	margin-left: calc(100* (100vw / 750));
}
.cont3-img02 .price{
	text-align: left;
}
#cont3 .description{
	width: calc(639* (100vw / 750));
	text-align: justify;
	margin-left: 0;
}

/* ===================
	　　 cont4
=================== */
#cont4 h2{
	font-size: calc(36* (100vw / 750));
	margin-bottom: calc(45* (100vw / 750));
	letter-spacing: 0.025em;
}
#cont4 .movie{
	margin-bottom: calc(130* (100vw / 750));
}
.youtube_box iframe{
	width: 100%;
	height: calc(422* (100vw / 750));
}
#cont4 h2 span{
	letter-spacing: 0.07em;
    padding-left: calc(6* (100vw / 750));
    margin-right: calc(-6* (100vw / 750));
}
	
	.lp-sec__credit {
		font-size: calc(23* (100vw / 750));
		line-height: 1.74;
	}
  /* ===================
  　　  button
  =================== */
	.m-btn {
    width: calc(618 *(100vw / 750));
	margin: calc(136 *(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;
}

}


/*# sourceMappingURL=style.css.map */