@charset "utf-8";

ul {
    list-style: none;
}
a {
    transition: .3s;
    display: block;
}
a:hover {
    opacity: .7;
}
img {
    vertical-align: bottom;
}

/*　Anime
-----------------------------*/
.fade-in {
	opacity: 0;
	transition: all 1s;
}
.fade-in.view {
	opacity: 1;
}

.down-to-top {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s;
    transition-delay: .3s;
}
.down-to-top.view {
	opacity: 1;
	transform: translate(0);
}

.left-to-right {
	opacity: 0;
	transform: translateX(-20px);
	transition: all 1s;
    transition-delay: .3s;
}
.left-to-right.view {
	opacity: 1;
	transform: translate(0);
}

.right-to-left {
	opacity: 0;
	transform: translateX(20px);
	transition: all 1s;
    transition-delay: .3s;
}
.right-to-left.view {
	opacity: 1;
	transform: translate(0);
}

.down-to-top_parent > .down-to-top_child {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s;
    transition-delay: .3s;
}
.down-to-top_parent.view > .down-to-top_child {
	opacity: 1;
	transform: translate(0);
}
.down-to-top_parent > .down-to-top_child:nth-child(2) {
    transition-delay: .4s;
}
.down-to-top_parent > .down-to-top_child:nth-child(3) {
    transition-delay: .5s;
}
.down-to-top_parent > .down-to-top_child:nth-child(4) {
    transition-delay: .6s;
}
.down-to-top_parent > .down-to-top_child:nth-child(5) {
    transition-delay: .7s;
}
.down-to-top_parent > .down-to-top_child:nth-child(6) {
    transition-delay: .8s;
}
.down-to-top_parent > .down-to-top_child:nth-child(7) {
    transition-delay: .9s;
}
.down-to-top_parent > .down-to-top_child:nth-child(8) {
    transition-delay: 1s;
}

/*　Anime Delay
-----------------------------*/
.delay_time02 {
    transition-delay: 0.2s;
}
.delay_time04 {
    transition-delay: 0.4s;
}
.delay_time06 {
    transition-delay: 0.6s;
}
.delay_time08 {
    transition-delay: 0.8s;
}
.delay_time10 {
    transition-delay: 1s;
}
.delay_time12 {
    transition-delay: 1.2s;
}
.delay_time14 {
    transition-delay: 1.4s;
}
.delay_time17 {
    transition-delay: 1.7s;
}
.delay_time19 {
    transition-delay: 1.9s;
}
.delay_time21 {
    transition-delay: 2.1s;
}


body{
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "M PLUS 1", sans-serif;
    letter-spacing: .1em;
/*    padding-bottom: 100px;*/
    color: #2d2d2d;
    line-height: 2.1;	
}

p{
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "M PLUS 1", sans-serif;
    letter-spacing: .1em;
    color: #2d2d2d;
    line-height: 2.1;
	font-size: 1.5rem;
}

.fs-l-main {
	margin: 0 auto;
	padding: 0;
	max-width: 1100px;
}
.fs-l-page {
	margin-top: 90px;
}

#lp_wrap {
    width: 100%;
    margin: 0 auto;
	padding-top: 0px;
	position: relative;
}

.lp_wrap_inner {
    max-width: 560px;
    width: 100%;
    margin: 0 auto 120px;
/*	background-color: #ddd;*/
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}


/*　FV前のローディング画面
-----------------------------------------*/
.load_container{
	height: 777px;
/*	background: #82B1BD;*/
	display: flex;
	align-items: center;
	position: absolute;
	z-index: -1;
	left: 50%;
	transform: translate(-50%, 0);
}

.container{
  height: 403.3px;
  width: 287.3px;
  position: relative;
	margin: 0 auto;
}

.image {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  background-size: contain;
/*  background-position: center center;*/
  
  animation: image-switch-animation 7s infinite;
}

.src1 {
  background-image: url("../img/load1.jpg");
}
.src2 {
  background-image: url("../img/load2.jpg");
}
.src3 {
  background-image: url("../img/load3.jpg");
}
.src4 {
  background-image: url("../img/load4.jpg");
}

.image:nth-of-type(1) {
  animation-delay: 0s;
}
.image:nth-of-type(2) {
  animation-delay: 0.4s;
}
.image:nth-of-type(3) {
  animation-delay: 0.9s;
}
.image:nth-of-type(4) {
  animation-delay: 1.4s;
	transition-duration: 4s;
}

@keyframes image-switch-animation {
  0%{ opacity: 0;}
  5%{ opacity: 1;}
  25%{ opacity: 1;}
  30%{ opacity: 0;}
  100%{ opacity: 0;}
}

/*　FV
--------------------------------------------*/
.fv_image {
    margin-bottom: 40px;
	position: relative;
}

.fv_image_text{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
}

.fv_text {
    text-align: center;
    width: 80%;
    margin: 0 auto;
}

.fv_text_isnta {
	text-align: right;
    width: 150px;
	background: url(../img/icon_insta.png) no-repeat;
	background-size: 20px;
	background-position: left center;
	margin: 0 auto 30px;
}


.markdown{
	margin-top: 18%;
}


/*　目次　*/
.index_list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
	padding-top: 30px;
}
.index_list li {
    width: 32%;
    margin-bottom: 2%;
}


/* 各アイテム共通部分
--------------------------------------------------*/

.item_wrap {
    margin-bottom: 100px;
}
.item_title {
    margin: 0 auto 3%;
	width: 90%;
}

/*　スライダー　*/
.slick-prev {
    left: 0% !important;
}
.slick-next {
    right: 0% !important;
}
.slick-prev:before {
    content: '';
    display: inline-block;
    width: 13px !important;
    background: url(../img/prev_arrow.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
	float: none;
}
.slick-next:before {
	content: '';
    display: inline-block;
    width: 13px !important;
    background: url(../img/next_arrow.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
	float: none;
}

.coordinate_image_slider {
    width: 90%;
    margin: 0 auto;
}

/*
.coordinate_image_sub {
    width: 94%;
    margin: 0 auto 30px;
}
.coordinate_image_sub img {
    margin: 0 2px;
}
*/

.item_comment{
	width: 80%;
	margin: 40px auto;
}

.item_comment_title{
	font-family: "miller-banner", serif;
	font-weight: 400;
	font-style: normal;
	font-size: 2.25rem;
    letter-spacing: .05em;
	line-height: 1;
	margin-bottom: 1em;
}

.coordinate_image_conainter{
	position: relative;
}


/*　カラー下のライン　*/
svg {
	width: 4em;
	display: block;
	margin: 0 auto;
	overflow: visible;
}

.handwriting_mask_line {
	fill: none;
	stroke: #F4E89B; /* 線の色 */
	stroke-width: 6; /* 線の太さ */
	stroke-linecap: round;
	stroke-linejoin: round;

	stroke-dasharray: 500; /* 線の長さ（適宜調整） */
	stroke-dashoffset: 500; /* 初期状態では線を隠す */
	/*      animation: draw 5s linear forwards;*/
	transition: stroke-dashoffset 2.5s linear;
}	

/* @keyframes draw {
  0% {
	stroke-dashoffset: 500;
  }
  100% {
	stroke-dashoffset: 0;
  }
}*/

.animate {
  stroke-dashoffset: 0;
}


/*　カラー名の調整　*/
.color{
	display: flex;
	justify-content: center;
	position: absolute;
	bottom:1.5em;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
}

.color li{
	font-family: "miller-banner","Libre Bodoni", serif;
	font-weight: 400;
	font-style: normal;
    letter-spacing: .08em;
	font-size: 2.25rem;
	color: #fff;
}

.color li:not(:last-of-type)::after {
	content: "・";
	margin: 0 10px;
}

.active_color span{
	font-size: 2.25rem;
	position: relative;
}

.active_color svg{
	display: block;
	position: absolute;
	left: 50%;
	top:0.7em;
	z-index: -1;
	transform: translateX(-48%);
}





/*　「itsuki's comment」の横ライン　*/
h1{
	position: relative;
}

h1::after{
	content: "";
	position: absolute;
	bottom: -0.55em;
	left: -1%;
	display: block;
	width: 102%;
	height: 1px;
	background-color: #2d2d2d;
    }


/*　クレジット部分　*/
/*.libre_bodoni {

    font-family: "Libre Bodoni", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;

	font-family: "miller-banner","Libre Bodoni", serif;
	font-weight: 400;
	font-style: normal;
    letter-spacing: .05em;
  }*/

.coordinate_item_link{
/*	width: 70%;*/
	width: 390px;
    margin: 30px auto;
	vertical-align: middle;
}

.line {
	position: relative;
	height: 3em;
}

.line::before {
	content: "";
	display: block;
	width: 63%;
	position: absolute;
	margin-top: 1.5em;
	border-top: 1.5px dotted #4F4F4F/*silver*/;
}

.line .item {
	position: absolute;
	background-color: white;
}
.line .price {
	right: 0;
	position: absolute;
	padding-left: 1ex;
/*	background-color: white;*/
}

.item {
	font-family: "miller-banner","Libre Bodoni", serif;
	font-weight: 400;
	font-style: normal;
    letter-spacing: .08em;
	font-size: 2rem;
	padding-right: 1ex;
}

.price{
    font-family: "Libre Bodoni", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
	font-size: 2rem;
	display: inline-block;
	background: url("../img/buy.png") no-repeat;
	background-position: right 0 top 40%;
	background-size: auto 2rem;
	padding-right: 55px;
}


/*
.coordinate_item_link {
    width: 80%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}
.coordinate_item_link a {
    width: 80%;
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.coordinate_item_link a span {
    padding: 1px 10px 0px;
    border: 1px solid #000;
}

.coordinate_item_link a small {
    letter-spacing: 0.05em;
}
*/


/*　item01
------------------------------------------*/
.item01_img1{
	width: 60%;
}

.item01_img2{
	width: 43%;
	float: right;
	margin-top: -180px;
}

.item01_text{
	width: 100%;
	padding: 50px 15%;
}

.item01_flexbox{
	display: flex;
    justify-content: space-around;
	padding: 0 4%;
}

.item01_flexbox img{
	width: 48%;
}


/*item02
-------------------------------------------*/
.item02_img1{
	width: 88%;
}

.item02_text{
	width: 20%;
	padding: 3% 0;
}

.item02_img3{
	width: 70%;
}

.item02_flexbox{
	display: flex;
	justify-content: space-around;
	width: 90%;
	margin: 50px auto;
}


/*item03
-------------------------------------------*/
.item03_container{
	height: 600px;
	background: url("../img/03_1.jpg") no-repeat;
/*	background-position: right bottom;*/
	background-size: 52%;
	text-align: right;
	margin: 0 4%;
}

#item03 .item_comment{
	margin-bottom: 0px;
}

#item03 .coordinate_item_link{
	margin-bottom: 40px;
}

.item03_img2{
	width: 52%;
	margin-top: 240px;
}


/*item04
-------------------------------------------*/
.item04_container1{
	height: 520px;
	background: url("../img/04_2.jpg") no-repeat;
	background-position: center;
	background-size: cover;
	display: flex;
	align-items: center;
}

.item04_img3{
	width: 52%;
}

/*
.item04_img4{
	width: 52%;
	float: right;
	margin-top: -150px;
}
*/

.item04_container2{
	height: 500px;
	padding: 0 7%;
/*
	background: url("../img/04_2.jpg") no-repeat;
	background-position: top;
	background-size: 100%;
*/
}


.item04_container3{
	height: 500px;
	background: url("../img/04_4.jpg") no-repeat;
	background-position: right bottom;
	background-size: 52%;
	margin: 0 7%;
}




/*item5
-------------------------------------------*/
.item05_slider{
	width: 60%;
}

.item05_slider .slick-prev:before,
.item05_slider .slick-next:before{
    content: '';
    display: none;
}

.item05_img4{
	width: 30%;
}

.item05_flexbox{
	display: flex;
	justify-content: space-between;
	gap: 8px;
}


/* item6
-------------------------------------------*/
.item06_flexbox{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 5%;
}

/*ページ下部リンク
------------------------------------------*/
.bottom {
    margin: 0 auto;
}

.bottom_link {
	width: 55%;
	display: block;
/*	margin: 0 auto 50px;*/
	margin: 0 auto 12%;
	padding: 30px 0;
	border: 1px solid #4b4b4b;
	text-align: center;
}


/*
.bottom_title {
    text-align: center;
    letter-spacing: 0;
}
.bottom_bn {
    margin-bottom: 50px;
}
*/










	
/***************▼タブレット▼*****************/
@media screen and (max-width: 768px) {

	.fs-l-main {
		margin: 0 auto;
		padding: 0;
		width: 100%;
	}
	.fs-l-page {
		margin-top: 80px;
	}

    #lp_wrap {
        padding-top: 0px;
    }
    .lp_wrap_content {
        width: 100%;
        margin: 0 auto;
    }
    .lp_wrap_inner {
        margin: 0 auto 100px;
    }
    
    .index_list {
        width: 96%;
        margin: 0 auto;
    }

    .coordinate_image_slider {
        width: 90%;
        margin: 0 auto 30px;
    }
    
 	.item05_slider{
	width: 60%;
	}
	
    .bottom_bn {
        margin-bottom: 30px;
    }
    
}




/***************▼スマホ大▼*****************/
@media screen and (max-width: 640px) {
	.markdown{
	margin-top: 15%;
	}
}




/***************▼スマホ小▼*****************/
@media screen and (max-width: 479px) {
	.markdown{
	margin-top: 20%;
	}
	
	.load_container{
	height: 600px;
	}
	
	.container{
	height: 268.8px;
	width: 191.5px;
	position: relative;
	margin: 0 auto;
	}
	
	.fv_image {
    margin-bottom: 20px;
	}
	
	.fv_text_isnta {
	text-align: right;
    width: 140px;
	background-size: 18px;
	margin: 0 auto 15px;
	}
	
/*
	.fv_text, .fv_text_isnta a {
    font-size: 1.25rem;
	}
*/
	
	p{
    letter-spacing: .125em;
    line-height: 2.1;
	font-size: 1.25rem;
	}
	
	.slick-prev:before, .slick-next:before {
    width: 10px !important;
	}
	
	.item01_img2{
		margin-top: -120px;
	}	
	
	
	.color li:not(:last-of-type)::after {
	margin: 0 8px;
	}
	
	svg {
	width: 3em;
	}

	.active_color svg {
    transform: translateX(-48%) translateY(10px); /* Y方向に10px下げる */
	}
	
	.item_title {
		margin: 0 auto 12px;
		width: 80%;
	}
	
	.item_comment_title{
		font-size: 2rem;
		margin-bottom: 1.2em;
	}
	
	.item{
		font-size: 1.7rem;
		line-height: 1.8;
	}
	
	.price{
		font-size: 1.5rem;
		background-size: auto 1.8rem;
		padding-right: 48px;
	}
	
	.coordinate_item_link{
/*		width: 75%;*/
		width: 270px;
	}
	
	.line::before {
        margin-top: 1.1em;
        width: 57%;
	}
	
	.item03_container {
		height: 400px;
	}
	
	.item03_img2 {
    	margin-top: 155px;
	}
	
	.item04_img4 {
		margin-top: -70px;
	}
	
	.item04_container1 {
    	height: 360px;
	}
		
	.item04_container3 {
		height: 360px;
	}
	
	.bottom_link {
		width: 60%;
		padding: 20px 0;
	}
	
	

	
}
