@charset "UTF-8";
/* CSS Document */

html,
body {
	padding: 0;
	margin: 0;
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 0.4px;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}
img {
	width: 100%;
}
ul,li {
	list-style: none;
	padding: 0;
	margin: 0;
}
a {
	text-decoration: none;
	color: #000;
}

#bl {
	position: relative;
	background: #f4f4f4;
	padding: 0 0 1%
}
#bl .logo {
	display: none;
	position: fixed;
	top: 50%;
	left: 0;
	width: 32%;
	transform: translate(0,-50%);
}
#bl .logo img {
	max-width: 200px;
	margin: 0 auto;
	display: block;
}
#bl .nav {
	display: none;
	position: fixed;
	top: 50%;
	right: 0;
	width: 32%;
	transform: translate(0,-50%);
}
#bl .nav .icon {
	max-width: 80px;
	margin: 0 auto 5%;
}
#bl .nav ul li {
	text-align: center;
	font-size: 12px;
	margin: 10px auto;
}
#bl .nav ul li a {
	display: block;
	text-align: center;
	border-bottom: 1px dotted #000;
	max-width: 100px;
	margin: 0 auto;
}
#wrap {
	margin: 0 auto;
	background: #fcf4f1;
}
@media only screen and (min-width: 769px)  {
	#bl .logo {
		display: block;
	}
	#bl .nav {
		display: block;
	}
	#wrap {
	width: 36%;
	min-width: 500px;
	max-width: 550px;
	border-left: 1px solid #000;
	border-right: 1px solid #000;
	}

}



#main_visual {
	position: relative;
	padding: 10% 0 0;
}
#main_visual .title {
	width: 80%;
	margin: 0 auto;
}
#main_visual ul {
	margin: 5% auto;
	width: 90%;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
#main_visual ul li {
	line-height: 0;
	position: relative;
}
#main_visual ul li:nth-of-type(1) {
	grid-column: 1/3;
	grid-row: 1/3
}
#main_visual ul li:nth-of-type(1)::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 7px;
	height: 100%;
	background: #fcf4f1;
}
#main_visual ul li:nth-of-type(3)::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 7px;
	background: #fcf4f1;
}
#main_visual .read {
	text-align: center;
	margin: 5% auto;
	font-size: 11px;
	font-weight: 600;
}
#main_visual .thanks {
	text-align: center;
	margin: 15% auto;
	font-size: 11px;
	font-weight: 400;
	width: 80%;
	border: 1px solid #000;
	box-sizing: border-box;
	padding: 5%;
	border-radius: 20px;
	background: #FFF;
	line-height: 2;
}
#main_visual .thanks .face {
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: 80%;
	margin: 10% auto 0;
	column-gap: 5%;
	text-align: center;
	font-size: 10px;
	font-weight: 400;
}
#main_visual .thanks .tit {
	font-size: 14px;
	font-weight: 600;
}
#main_visual .thanks .face img {
	display: block;
	overflow: hidden;
	border-radius: 100px;
	margin-bottom: 5px
}
#main_visual .thanks .face a {
	text-decoration: underline;
}
@media only screen and (min-width: 769px)  {
	#main_visual .thanks .face {
		display: grid;
		grid-template-columns: 1fr 1fr;
		width: 60%;
	}
}



#main_contents {
	position: relative;
}

#main_contents .section {
	position: relative;
	margin: 0% auto;
	padding:0;
}
#main_contents .section::before {
	content: "";
	width: 1px;
	height: 50px;
	transform: rotate(45deg);
	display: block;
	background: #000;
	margin: 0 auto;
}
#main_contents .section .head {
	position: relative;
	width: 90%;
	margin: 15% auto 0;
	text-align: center;
}
#main_contents .section .head .icon {
	width: 30%;
	max-width: 100px;
	margin: 0 auto;
}
#main_contents .section .head .tit {
	font-weight: 300;

	font-size: 34px;
}
#main_contents .section .head .copy {
	font-size: 12px;
	font-weight: 500;
}


#main_contents .section .look {
	position: relative;
	margin: 5% auto
}
#main_contents .section .look .inner {
	position: relative;
	box-sizing: border-box;
	padding: 5%;
}
#main_contents .section .look .txt {
	width: 90%;
	position: relative;
	margin: 0 auto;
}
#main_contents .section .look .txt .face {
	width: 20%;
	line-height: 0;
	border-radius: 100px;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
}
#main_contents .section .look .txt .txt_in {
	width: 75%;
	margin-left: 25%;
	box-sizing: border-box;

}
@media only screen and (min-width: 769px)  {
	#main_contents .section .head {
		margin: 10% auto 0;
		text-align: center;
	}
	#main_contents .section .look {
		position: relative;
		margin: 0 auto
	}
	#main_contents .section .look .inner {
		width: 90%;
		margin: 0 auto;
		padding: 3% 5% ;
	}
	#main_contents .section .look .txt {
		width: 80%;
	}
}


#main_contents .section .point {
	margin: 20% auto;
}
#main_contents .section .point .icon {
	width: 40%;
	max-width: 160px;
	margin: 0 auto 5%;
}
/*#main_contents .section .point .txt {
	width: 80%;
	box-sizing: border-box;
	padding: 5% 0 0;
	position: relative;
	margin: 2% auto;
}
#main_contents .section .point .txt .inner {
	box-sizing: border-box;
	padding: 5%;
	position: relative;
	border: 1px solid #000;
}
#main_contents .section .point .txt::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 28px;
	background: #000;
	transform: rotate(30deg)
}*/
#main_contents .section .point .txt {
	width: 90%;
	position: relative;
	margin: 5% auto 0;
}
#main_contents .section .point .txt .face {
	width: 20%;
	line-height: 0;
	border-radius: 100px;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
}
#main_contents .section .point .txt .txt_in {
	width: 75%;
	margin-left: 25%;
	box-sizing: border-box;

}
#main_contents .section .items {
	margin: 20% auto;
}
#main_contents .section .items .icon {
	width: 40%;
	max-width: 160px;
	margin: 0 auto 5%;
}
#main_contents .section .items ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	position: relative;
	border-bottom: 1px solid #000;
	border-top: 1px solid #000;
}
#main_contents .section .items ul .img {
	box-sizing: border-box;
	padding: 0 10px;
} 
#main_contents .section .items ul.x1 {
	display: block;
}
#main_contents .section .items ul.x1 .img {
	width: 50%;
	margin: 0 auto;
}
#main_contents .section .items ul li {
	position: relative;
	text-align: center;
	padding: 5% 0 10%;
	border-right:1px solid #000;
}
#main_contents .section .items ul li:nth-last-of-type(1) {
	border: none;
}
#main_contents .section .items ul li .data {
	font-size: 10px;
}
#main_contents .section .items ul li .btn a {
	text-align: center;
	display: inline-block;
	border: 1px solid #000;
	background: #000;
	color: #FFF;
	border-radius: 40px;
	padding: 0 25px;
	margin: 5% auto 0;
}
@media only screen and (min-width: 769px)  {
	#main_contents .section .items {
		margin: 20% auto 10%;
	}
	#main_contents .section .items ul li {
		padding: 0 0 5%;
		border-right:1px solid #000;
	}
	#main_contents .section .point .txt {
		width: 80%;
	}
/*	#main_contents .section .point .txt::before {
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		width: 1px;
		height: 40px;
	}*/
}

#main_contents .section .items .list {
	font-size: 10px;
	width: 100%;
	margin: 5% auto;
	padding-bottom:2%;
	border-bottom: 1px solid #000
}
#main_contents .section .items .list a,#main_contents .section .items .list p {
	display: block;
	width: 80%;
	position: relative;
	margin: 4% auto;
}
#main_contents .section .items .list a::before {
	content: "BUY";
	position: absolute;
	top: 50%;
	right: 0;
	box-sizing: border-box;
	border: 1px solid #000;
	border-radius: 40px;
	padding: 0 25px;
	text-align: center;
	transform: translate(0,-50%);	
	background: #000;
	color: #FFF;
}

#main_contents .prof {
	margin: 20% auto 10%;
	padding-bottom: 10%;
	width: 100%;
	border-bottom: 1px solid #000
}
#main_contents .prof li {
	position: relative;
	margin: 10% auto;
	width: 90%;
}
#main_contents .prof li .face {
	width: 30%;
	position: absolute;
	top: 0;
	left: 0
}
#main_contents .prof li .txt {
	width: 65%;
	margin-left: 35%;
	font-size: 10px;
}
#main_contents .prof li .txt span {
	font-size: 12px;
	font-weight: 600;
	display: block;
}
#main_contents .prof li .txt a {
	text-decoration: underline;
}

.sp_foot {
	margin:0 auto;
	width: 50%;
	text-align: center;
	font-size: 10px;
	padding-bottom: 10%
}
.sp_foot .copyright {
	margin-top: 10%;
}
.staff {
	text-align: center;
	margin: 10% auto 15%;
	font-size: 10px;
}
@media only screen and (min-width: 769px)  {
	#main_contents .prof {
		margin: 0% auto 10%;
		padding-bottom: 10%;
	}
	#main_contents .prof li {
		position: relative;
		margin: 10% auto;
		width: 75%;
	}
	#main_contents .prof li .face {
		width: 25%;
		position: absolute;
		top: 0;
		left: 0
	}
	#main_contents .prof li .txt {
		width: 70%;
		margin-left: 30%;
		font-size: 10px;
	}
	.sp_foot {
		display: none;
	}	
	.staff {
		text-align: center;
		margin: 2% auto;
		font-size: 10px;
	}
	
}

		/* ハンバーガーボタンのデザイン */
		.drawer__button {
		  position: fixed;
		  width: 25px;
		  height: 25px;
			top: 2%;
			right: 2%;
		  background-color: transparent;
		  border: none;
		  cursor: pointer;
		  z-index: 1001; /* メニューを開いている時もクリックできるよう設定 */
		}
		.drawer__button > span {
		  display: block;
		  position: absolute;
		  top: 50%;
		  left: 50%;
		  width: 25px;
		  height: 1px;
		  background-color: #000;
		  transform: translateX(-50%);
		}
		.drawer__button > span:first-child {
		  transform: translate(-50%, calc(-50% - 12.5px));
		  transition: transform 0.3s ease;
		}
		.drawer__button > span:nth-child(2) {
		  transform: translate(-50%, -50%);
		  transition: opacity 0.3s ease;
		}
		.drawer__button > span:last-child {
		  transform: translate(-50%, calc(-50% + 12.5px));
		  transition: transform 0.3s ease;
		}
		.drawer__button.active > span:first-child {
		  transform: translate(-50%, -50%) rotate(-45deg);
		}
		.drawer__button.active > span:nth-child(2) {
		  opacity: 0;
		}
		.drawer__button.active > span:last-child {
		  transform: translate(-50%, -50%) rotate(45deg);
		}
		.drawer__nav {
		  position: fixed; /* 追従ヘッダーなどでも表示できるよう設定しておく */
		  top: 0;
		  left: 0;
		  width: 100%;
		  height: 100%;
		  background-color: rgba(0, 0, 0, 0);
		  transition: 0.6s all 0s ease;
		  opacity: 1;
		  visibility: hidden;
			z-index: 1000;
		}
		.drawer__nav.active {
		  opacity: 1;
		  visibility: visible;
		}
		.drawer__nav__inner {
		  overflow: scroll;
		  transform: translateX(100%);
		  transition: transform 0.3s ease;
			background: #fff;
			width: 100%;
			height: 100%;
			position: relative;
		}
		.drawer__nav__inner .inner {
			position: absolute;
			top: 50%;
			left: 0%;
			width: 100%;
			transform: translate(0,-50%);
		}
		.drawer__nav.active .drawer__nav__inner {
		  transform: translateX(0);
		}
		.drawer__nav__inner .title {
			width: 70%;
			padding: 0% 0 5%;
			margin: 0 auto;
		}
		.drawer__nav__menu {
			display: grid;
			grid-template-columns: 1fr 1fr 1fr 1fr;
		}
		.drawer__nav__menu.x3 {
			width: 75%;
			margin: 0 auto;
			display: grid;
			grid-template-columns: 1fr 1fr 1fr;
		}
@media only screen and (min-width: 769px)  {
			.drawer__nav__inner .title {
				width: 30%;
				padding: 4% 0;
				margin: 0 auto;
			}
			.drawer__nav__menu {
				width: 55%;
				margin: 0 auto;
				grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
			}
		}
		
		.drawer__nav__menu li {
			box-sizing: border-box;
			padding: 10%;
			text-align: center;
			font-weight: 600;
		}
		.drawer__nav .title,.drawer__nav li {
			opacity: 0;
			transition: 1s all 0.5s ease;
			
		}
		.drawer__nav li:nth-of-type(1) {
			transition-delay: 0.6s;
		}
		.drawer__nav li:nth-of-type(2) {
			transition-delay: 0.7s;
		}
		.drawer__nav li:nth-of-type(3) {
			transition-delay: 0.8s;
		}
		.drawer__nav li:nth-of-type(4) {
			transition-delay: 0.9s;
		}
		.drawer__nav li:nth-of-type(5) {
			transition-delay: 1s;
		}
		.drawer__nav li:nth-of-type(6) {
			transition-delay: 1.1s;
		}
		.drawer__nav li:nth-of-type(7) {
			transition-delay: 1.2s;
		}
		.drawer__nav li:nth-of-type(8) {
			transition-delay: 1.3s;
		}
		.drawer__nav li:nth-of-type(9) {
			transition-delay: 1.4s;
		}
		.drawer__nav li:nth-of-type(10) {
			transition-delay: 1.5s;
		}
		.drawer__nav li:nth-of-type(11) {
			transition-delay: 1.6s;
		}
		.drawer__nav li:nth-of-type(12) {
			transition-delay: 1.7s;
		}
		.drawer__nav.active .title,.drawer__nav.active li {
			opacity: 1;
			
		}
		/* ハンバーガーメニュー展開時、背景を固定 */
		body.active {
		  height: 100%;
		  overflow: hidden;
		}
@media only screen and (min-width: 769px)  {
		.drawer__button {
			display: none;
	}
	
}


.anim {
	opacity: 0;
	transition: 1.8s all 0s ease;
}
.anim.ac {
	opacity: 1;
}

