@charset "UTF-8";
/* CSS Document */
body{
	margin: 0px !important;
	overscroll-behavior: none;
}
h1,h2,h3,h4,h5,h6{margin: 0;}
*{
    min-height: 0;
    min-width : 0;
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	scroll-behavior: smooth;
}
#bl{
    padding: 0;
    font-family: yu-gothic-pr6n, sans-serif;
    margin: 0 auto;
    line-height: 2.0;
    font-size: 11px;
    letter-spacing: 1px;
	width: 100%;
    box-sizing: border-box;
    color: #111;
    -webkit-text-size-adjust: 100%;
}
#bl a {
	text-decoration: none;
	color: #2b2b2b;
}
#bl p {
    margin: 0;
}
#bl　a:hover {
	opacity: 1;
}
#bl .clear{
	clear: both;
}
#bl img{
    width: 100%;
    line-height: 0;
}
#bl ul,#bl li {
	list-style: none;
	padding: 0;
	margin: 0;
}
.f-en {font-family: aktiv-grotesk, sans-serif;}
.f-ivy {
	font-family: "ivypresto-display", serif;
	font-weight: 100;
	font-style: normal;
}
@media only screen and (max-width: 768px)  {
	#bl {
		font-size: 11px;
	}
}


/**
   header
***********************************************/
#bl_header {
	margin: 0 0 10%;
}
#bl_header .ttl {
	width: 82%;
    margin: 10% auto 6%;
}
#bl_header p {
	text-align: center;
	font-size: 11px;
}
@media only screen and (min-width: 769px)  {
	#bl_header {
		width: 600px;
        margin: 3% auto 0;
        background: #fff;
        padding: 2% 0 6%;
	}
}


/**
   contents
***********************************************/
#bl #contents {

}
#bl #contents section {
	position: relative;
	margin-bottom: 20%;
	
}
#bl #contents section .pic {
	position: absolute;
	line-height: 0;
}
#bl #contents section .pic a {
	display: block;
	position: relative;
	line-height: 0;
}
#bl #contents section .pic.waku {
	border: solid 1px #111;
}
#bl #contents section .pic .more {
	position: absolute;
	width: 26px;
	bottom: 3%;
	right: 2%;
}
#bl #contents section .pic .efect {
	display: block;
	background: #ffffff80;
	border-radius: 50%;
	width: 16px;
	height: 16px;
	animation: heartbeat 1.5s ease-in 0.3s infinite;
	position: absolute;
}
@keyframes heartbeat
{
  0% { transform: scale( .75 ); animation-timing-function: ease-out; }
  40% { transform: scale( 1 ); animation-timing-function: ease-in; }
  60% { transform: scale( .75 ); animation-timing-function: ease-out; }
  70% { transform: scale( 1 ); animation-timing-function: ease-in; }
  90% { transform: scale( .75 ); animation-timing-function: ease-out; }
  100% { transform: scale( .75 ); }
}


@media only screen and (min-width: 769px)  {
	#bl #contents {
		width: 100%;
	}
}

#bl #contents .bg._01 {
   background-image: url("../img/back-1.jpg");
	filter: grayscale(1);
}
#bl #contents .bg._02 {
	background-image: url("../img/back-2.jpg");
	filter: grayscale(1);
}
#bl #contents .bg._03 {
	background-image: url("../img/back-3.jpg");
	filter: grayscale(1);
}
#bl #contents .bg._04 {
	background-image: url("../img/back-4.jpg");
	filter: grayscale(1);
}

@media only screen and (min-width: 768px)  {
	#bl #contents section {
		width: 600px;
		margin: 0 auto;
		background: #fff;
		padding-bottom: 160px;
	}
	#bl #contents .one {
		width: 100%;
		min-height: 100vh;
		
	}
	#bl #contents .one.show  {
		transition: all 0.5s ease 0s;
	}
	#bl #contents .bg {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 100%;
		background-position: center center;
		background-size: cover;
		background-repeat: no-repeat;
		opacity: 0;
		transition: all 0.5s ease 0s;
		z-index: -1;
	}
	#bl #contents .show .bg  {
		opacity: 1;
		background-color: #faebd700;
	}
}


/*********** section 01 **************/
#bl #contents .one:nth-of-type(1) section:nth-of-type(1) {
	height: 101vw;
}
#bl #contents .one:nth-of-type(1) section:nth-of-type(1) .pic:nth-of-type(1) {
	width: 44%;
    z-index: 2;
    bottom: 0%;
	left: 4%;
}
#bl #contents .one:nth-of-type(1) section:nth-of-type(1) .pic:nth-of-type(1) .efect {
	top: 36%;
    right: 20%;
}
#bl #contents .one:nth-of-type(1) section:nth-of-type(1) .pic:nth-of-type(2) {
	width: 58%;
	top: 0%;
	right: 0;
	z-index: 1;
}
@media only screen and (min-width: 768px)  {
	#bl #contents .one:nth-of-type(1) section:nth-of-type(1) {
		height: 610px;
	}
	#bl #contents .one:nth-of-type(1) section:nth-of-type(1) .pic:nth-of-type(1) {
		bottom: 21%;
	}
}


/**********section 02**************/
#bl #contents .one:nth-of-type(1) section:nth-of-type(2) {
	height: 90vw;
}
#bl #contents .one:nth-of-type(1) section:nth-of-type(2) .pic:nth-of-type(1) {
	width: 32%;
    bottom: 0;
    left: 0;
	z-index: 2;
}
#bl #contents .one:nth-of-type(1) section:nth-of-type(2) .pic:nth-of-type(2) .efect {
	top: 25%;
    right: auto;
    left: 11%;
}
#bl #contents .one:nth-of-type(1) section:nth-of-type(2) .pic:nth-of-type(2) {
	width: 38%;
    top: 0%;
    left: 27%;
    z-index: 1;
}
#bl #contents .one:nth-of-type(1) section:nth-of-type(2) .pic:nth-of-type(3) {
	width: 38%;
	bottom: 5%;
	right: 5%;
	z-index: 0;
}
@media only screen and (min-width: 768px)  {
	#bl #contents .one:nth-of-type(1) section:nth-of-type(2) {
		height: 550px;
	}
	#bl #contents .one:nth-of-type(1) section:nth-of-type(2) .pic:nth-of-type(1) {
		bottom: auto;
		top: 38%;
	}
	#bl #contents .one:nth-of-type(1) section:nth-of-type(2) .pic:nth-of-type(3) {
		bottom: 26%;
	}
}



/*********** section 03 **************/
#bl #contents .one:nth-of-type(2) section:nth-of-type(1) {
	height: 320vw;
	background: linear-gradient(180deg, #fff 0%, #fff 18.3%, #7d7e7a 18%, #7d7e7a 86.6%, #fff 86.6%, #fff 100%);
	overflow: hidden;
}
#bl #contents .one:nth-of-type(2) section:nth-of-type(1) .pic:nth-of-type(1) {
	width: 68%;
	top: 0;
	bottom: auto;
	right: 0;
	left: 0;
	margin: auto;
}
#bl #contents .one:nth-of-type(2) section:nth-of-type(1) .pic:nth-of-type(2) {
	width: 47%;
    top: 39%;
    left: 12%;
	z-index: 2;
}
#bl #contents .one:nth-of-type(2) section:nth-of-type(1) .pic:nth-of-type(3) {
	width: 47%;
    top: 39%;
    right: -7%;
	z-index: 2;
	
}
#bl #contents .one:nth-of-type(2) section:nth-of-type(1) .pic:nth-of-type(4) {
	width: 70%;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
#bl #contents .one:nth-of-type(2) section:nth-of-type(1) .pic:nth-of-type(4) .efect {
	top: 60%;
    right: 26%;
}


#bl #contents .one:nth-of-type(2) section:nth-of-type(1) .text{
	position: absolute;
	width: 82%;
	right: 0;
	left: 0;
	margin: auto;
}
#bl #contents .one:nth-of-type(2) section:nth-of-type(1) .text:nth-of-type(1) {
	top: 35%;
}
#bl #contents .one:nth-of-type(2) section:nth-of-type(1) .text:nth-of-type(2) {
	bottom: 36%;
}

@media only screen and (min-width: 768px)  {
	#bl #contents .one:nth-of-type(2) section:nth-of-type(1) {
		height: 2050px;
	}
	#bl #contents .one:nth-of-type(2) section:nth-of-type(1) .pic:nth-of-type(4) {
		padding-bottom: 80px;
	}
}





/*********** section 04 **************/
#bl #contents .one:nth-of-type(2) section:nth-of-type(2) {
	height: 60.6vw;
	overflow: hidden;
}
#bl #contents .one:nth-of-type(2) section:nth-of-type(2) .pic:nth-of-type(1) {
	width: 40%;
    top: 0;
    left: -.5%;
}
#bl #contents .one:nth-of-type(2) section:nth-of-type(2) .pic:nth-of-type(2) {
	width: 66%;
    top: 14%;
    right: -11%;
}

@media only screen and (min-width: 768px)  {
	#bl #contents .one:nth-of-type(2) section:nth-of-type(2) {
		height: 360px;
	}
	#bl #contents .one:nth-of-type(2) section:nth-of-type(2) .pic:nth-of-type(1) {
		top: auto;
		bottom: 0;
	}
	#bl #contents .one:nth-of-type(2) section:nth-of-type(2) .pic:nth-of-type(2) {
		top: auto;
		bottom: 0;
	}
	
}




/*********** section 05 **************/
#bl #contents .one:nth-of-type(3) section:nth-of-type(1) {
	position: relative;
	padding-top: 16%;
}
#bl #contents .one:nth-of-type(3) section:nth-of-type(1) .sticky {
	position: sticky;
	top: 0;
	line-height: 0;
}
#bl #contents .one:nth-of-type(3) section:nth-of-type(1) .pic {
	position: relative;
}
#bl #contents .one:nth-of-type(3) section:nth-of-type(2) {
	position: relative;
}
#bl #contents .one:nth-of-type(3) section:nth-of-type(2) .pic {
	
}
#bl #contents .one:nth-of-type(3) section:nth-of-type(2) .pic:nth-of-type(1) {
	width: 63%;
	position: relative;
}
#bl #contents .one:nth-of-type(3) section:nth-of-type(2) .pic:nth-of-type(2) .efect {
	top: 52%;
    right: 27%;
}
#bl #contents .one:nth-of-type(3) section:nth-of-type(2) .pic:nth-of-type(2) {
	width: 40%;
    bottom: -8%;
    right: 0%;
}
#bl #contents .one:nth-of-type(3) section:nth-of-type(2) .pic:nth-of-type(2) a {
	position: absolute;
}
#bl #contents .one:nth-of-type(3) section:nth-of-type(2) .pic:nth-of-type(3) .efect {
	top: 32%;
    left: 29%;
}
#bl #contents .one:nth-of-type(3) section:nth-of-type(2) .pic:nth-of-type(3) {
    width: 36%;
    top: -10%;
    right: 9%;
}
#bl #contents .one:nth-of-type(3) section:nth-of-type(2) .pic:nth-of-type(3) a {
	position: absolute;
}
#bl #contents .one:nth-of-type(3) section:nth-of-type(2) .pic .more {
    right: auto;
	left: 2%;
}

@media only screen and (min-width: 768px)  {
	#bl #contents .one:nth-of-type(3) section:nth-of-type(1) {
		padding-top: 90px;
	}
	#bl #contents .one:nth-of-type(3) section:nth-of-type(2) .pic:nth-of-type(2) {
	    bottom: 13%;
	}
	#bl #contents .one:nth-of-type(3) section:nth-of-type(2) .pic:nth-of-type(3) {
		width: 37%;
		top: -7%;
	}
}


/*********** section 06 **************/
#bl #contents .one:nth-of-type(4) {
	
}
#bl #contents .one:nth-of-type(4) section:nth-of-type(1)  {
	overflow: hidden;
	background: #7d7e7a;
	margin-bottom: 0;
}
#bl #contents .one:nth-of-type(4) section:nth-of-type(1) .pic {
	position: relative;
	width: 118%;
	display: flex;
	justify-content: space-between;
	margin: 12% 0 0 -10%;
}
#bl #contents .one:nth-of-type(4) section:nth-of-type(1) .pic img {
	width: 24%;
	border-radius: 20px;
}

@media only screen and (min-width: 768px)  {
	#bl #contents .one:nth-of-type(4) section:nth-of-type(1) {
		padding-bottom: 0;
	}
}


/*********** section 07 **************/
#bl #contents .one:nth-of-type(4) section:nth-of-type(2) {
	background: linear-gradient(180deg, #7d7e7a 0%, #7d7e7a 50%, #fff 50%, #fff 100%);
	padding-top: 23%;
}
#bl #contents .one:nth-of-type(4) section:nth-of-type(2) .pic {
	position: relative;
    width: 60%;
    margin: auto;
}
@media only screen and (min-width: 768px)  {
	#bl #contents .one:nth-of-type(4) section:nth-of-type(2) {
		padding-top: 80px;
		 padding-bottom: 100px;
	}
}


/*********** section 08 **************/
#bl #contents .one:nth-of-type(4) section:nth-of-type(3) {
	padding-bottom: 10%;
	overflow: hidden;
	background: #7d7e7a;
	padding-top: 14%;
}
#bl #contents .one:nth-of-type(4) section:nth-of-type(3) .pic {
    position: relative;
	display: flex;
	justify-content: space-between;
}
#bl #contents .one:nth-of-type(4) section:nth-of-type(3) .pic:nth-of-type(1) {
	width: 127%;
    margin: 0 0 0 -10%;
}
#bl #contents .one:nth-of-type(4) section:nth-of-type(3) .pic:nth-of-type(1) img {
    width: 23%;
}

#bl #contents .one:nth-of-type(4) section:nth-of-type(3) .pic:nth-of-type(2) {
    position: relative;
	display: flex;
	justify-content: space-evenly;
}
#bl #contents .one:nth-of-type(4) section:nth-of-type(3) .pic:nth-of-type(2) {
	width: 100%;
    margin: 3% 0 0%;
}
#bl #contents .one:nth-of-type(4) section:nth-of-type(3) .pic:nth-of-type(2) img {
    width: 29%;
}
#bl #contents .one:nth-of-type(4) section:nth-of-type(3) .text {
	display: block;
	margin: 10% 0 0;
}
@media only screen and (min-width: 768px)  {
	#bl #contents .one:nth-of-type(4) section:nth-of-type(3) {
		padding-top: 8%;
		padding-bottom: 7%;
	}
}
/*********** section 09 ストール **************/
#bl #howto {
	padding: 14% 0 24%;
	background: #fff;
}
#bl #howto .inner {
	width: 92%;
    margin: 0 auto;
	border: solid 1px #111;
	border-radius: 14px;
	position: relative;
	padding: 8% 0 0;
}
#bl #howto h3 {
	display: block;
	background: linear-gradient(90deg, #ffffff00 0%, #ffffff00 17%, #fff 17%, #fff 80%, #ffffff00 80%, #ffffff00 100%);
	text-align: center;
	position: absolute;
	top: -7.5%;
	right: 0;
	left: 0;
	margin: auto;
	font-size: 24px;
    line-height: 1.8;
	width: fit-content;
}
#bl #howto h3 span {
	display: block;
	font-size: 48%;
}
#bl #howto .box .child {
	position: relative;
}
#bl #howto .box .child:nth-of-type(1) {
	margin-bottom: 6%;
}
#bl #howto .box .child .c-carousel {
  position: relative;
  width: 98%;
  margin: 0 auto;
}

#bl #howto .box .child .c-carousel__activator-main {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
#bl #howto .box .child .c-carousel__main {
  overflow: hidden;
  position: relative;
}
#bl #howto .box .child .c-carousel__main-track {
  display: flex;
  /*white-space: nowrap;*/
  transition: transform 0.3s ease-out;
}
#bl #howto .box .child .c-carousel__main-item {
  flex-shrink: 0;
  width: 100%;
}
#bl #howto .box .child .c-carousel__main-image {
  display: block;
  width: 100%;
}

#bl #howto .box .child .c-carousel__main-control-item {
  display: none;
}

#bl #howto .box .child .c-carousel__btn-prev-main, .c-carousel__btn-next-main {
	position: absolute;
    top: 50%;
    right: 1.5%;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4%;
    transform: translateY(-50%);
    cursor: pointer;
}
#bl #howto .box .child .c-carousel__btn-prev-main {
  right: auto;
  left: 1.5%;
}
/* 1枚目 */
#bl #howto .box .child .c-carousel__activator-main:nth-child(1):checked ~ .c-carousel__main .c-carousel__main-control-item:nth-child(1) {
  display: block;
}
#bl #howto .box .child .c-carousel__activator-main:nth-child(1):checked ~ .c-carousel__main .c-carousel__main-track {
  transform: translateX(calc(-100% * 0));
}
/* 2枚目 */
#bl #howto .box .child .c-carousel__activator-main:nth-child(2):checked ~ .c-carousel__main .c-carousel__main-control-item:nth-child(2) {
  display: block;
}
#bl #howto .box .child .c-carousel__activator-main:nth-child(2):checked ~ .c-carousel__main .c-carousel__main-track {
  transform: translateX(calc(-100% * 1));
}
/* 3枚目 */
#bl #howto .box .child .c-carousel__activator-main:nth-child(3):checked ~ .c-carousel__main .c-carousel__main-control-item:nth-child(3) {
  display: block;
}
#bl #howto .box .child .c-carousel__activator-main:nth-child(3):checked ~ .c-carousel__main .c-carousel__main-track {
  transform: translateX(calc(-100% * 2));
}

/* 4枚目 */
#bl #howto .box .child .c-carousel__activator-main:nth-child(4):checked ~ .c-carousel__main .c-carousel__main-control-item:nth-child(4) {
	display: block;
}
#bl #howto .box .child .c-carousel__activator-main:nth-child(4):checked ~ .c-carousel__main .c-carousel__main-track {
	transform: translateX(calc(-100% * 3));
}

/* 5枚目 */
#bl #howto .box .child .c-carousel__activator-main:nth-child(5):checked ~ .c-carousel__main .c-carousel__main-control-item:nth-child(5) {
	display: block;
}
#bl #howto .box .child .c-carousel__activator-main:nth-child(5):checked ~ .c-carousel__main .c-carousel__main-track {
	transform: translateX(calc(-100% * 4));
}

/* 6枚目 */
#bl #howto .box .child .c-carousel__activator-main:nth-child(6):checked ~ .c-carousel__main .c-carousel__main-control-item:nth-child(6) {
	display: block;
}
#bl #howto .box .child .c-carousel__activator-main:nth-child(6):checked ~ .c-carousel__main .c-carousel__main-track {
	transform: translateX(calc(-100% * 5));
}
/* ------------------------------------------- */
/* 5枚スライド用 CSS (c-carousel-sm) */
/* ------------------------------------------- */

/* 5枚スライド用の詳細度の高い基本スタイル */
#bl #howto .box .child .c-carousel-sm {
	position: relative;
	width: 98%; /* 6枚用と同じでOK */
	margin: 0 auto;
}

/* 1枚目 */
#bl #howto .box .child .c-carousel-sm .c-carousel__activator-main:nth-child(1):checked ~ .c-carousel__main .c-carousel__main-control-item:nth-child(1) {
	display: block;
}
#bl #howto .box .child .c-carousel-sm .c-carousel__activator-main:nth-child(1):checked ~ .c-carousel__main .c-carousel__main-track {
	transform: translateX(calc(-100% * 0));
}

/* 2枚目 */
#bl #howto .box .child .c-carousel-sm .c-carousel__activator-main:nth-child(2):checked ~ .c-carousel__main .c-carousel__main-control-item:nth-child(2) {
	display: block;
}
#bl #howto .box .child .c-carousel-sm .c-carousel__activator-main:nth-child(2):checked ~ .c-carousel__main .c-carousel__main-track {
	transform: translateX(calc(-100% * 1));
}

/* 3枚目 */
#bl #howto .box .child .c-carousel-sm .c-carousel__activator-main:nth-child(3):checked ~ .c-carousel__main .c-carousel__main-control-item:nth-child(3) {
	display: block;
}
#bl #howto .box .child .c-carousel-sm .c-carousel__activator-main:nth-child(3):checked ~ .c-carousel__main .c-carousel__main-track {
	transform: translateX(calc(-100% * 2));
}

/* 4枚目 */
#bl #howto .box .child .c-carousel-sm .c-carousel__activator-main:nth-child(4):checked ~ .c-carousel__main .c-carousel__main-control-item:nth-child(4) {
	display: block;
}
#bl #howto .box .child .c-carousel-sm .c-carousel__activator-main:nth-child(4):checked ~ .c-carousel__main .c-carousel__main-track {
	transform: translateX(calc(-100% * 3));
}

/* 5枚目 */
#bl #howto .box .child .c-carousel-sm .c-carousel__activator-main:nth-child(5):checked ~ .c-carousel__main .c-carousel__main-control-item:nth-child(5) {
	display: block;
}
#bl #howto .box .child .c-carousel-sm .c-carousel__activator-main:nth-child(5):checked ~ .c-carousel__main .c-carousel__main-track {
	transform: translateX(calc(-100% * 4)); /* 5枚目なので、移動は4ステップ */
}



#bl #howto h4 {
	text-align: center;
	font-size: 12px;
}
#bl #howto h4 a {
	display: block;
	text-decoration: underline;
	font-size: 88%;
}
#bl #howto .item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 3% 7% 7%;
}
#bl #howto .item div:nth-of-type(1) {
	width: 48%
}	
#bl #howto .item div:nth-of-type(2) {
	width: 46%;
	font-size: 10px;
	line-height: 1.8;
}	
#bl #howto .item div:nth-of-type(2) .no {
	font-size: 22px;
	line-height: 1;
	display: block;
	margin-bottom: 8%;
}
	
@media only screen and (min-width: 768px)  {
	#bl #howto {
		padding: 140px 0 100px;
	}
	#bl #howto .inner {
		width: 80%;
        max-width: 940px;
        padding: 4% 2% 2%;
	}
	#bl #howto h3 {
		font-size: 32px;
		top: -60px;
	}
	#bl #howto .box {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	#bl #howto .box .child {
		width: 47%;
	}
	#bl #howto .box .child:nth-of-type(1) {
		margin-bottom: 0;
	}
	#bl #howto h4 {
		
	}
}
	
	
/**
   footer
***********************************************/
#bl #bl_footer {
	padding: 5% 0 1%;
	background: #7d7e7a;
	color: #fff;
	text-align: center;
}
#bl #bl_footer .logo {
	 display: block;
     margin: 10% auto 12%;
     width: 40%;
}
#bl .copy {
	text-align: center;
	font-size: 8px;
	line-height: 2.5;
	letter-spacing: .8px;
}
@media only screen and (min-width: 769px)  {
	#bl #bl_footer {
		padding: 60px 0 10px;
	}
	#bl #bl_footer .logo {
		margin: 30px auto 90px;
		width: 32%;
		max-width: 240px;
	}
	#bl .copy {
		
	}
}
/**************************************************
                js
**************************************************/
#bl .anim {
	opacity: 0;
	transition: 1.5s all 0s;
}
#bl .anim.ac {
	opacity: 1;
	transform: translate(0);
}
#bl .filter {
	filter: grayscale(1);
	transition: 2s all 0s ease;
}
#bl .filter.act {
	filter: grayscale(0);
}
/****************************************
                view
****************************************/
.spview {
	display: block;
}
.pcview {
	display: none;
}
@media only screen and (min-width: 768px)  {
     .spview {
		display: none;
	}	
	.pcview {
		display: block;
	}
}