@charset "UTF-8";
/* ===================================================================
CSS Document
file name  :top.css <- top.scss
style info : TOP PAGE Style
=================================================================== */
/*---------------------------------------------
Browser Default Initialization
---------------------------------------------*/
html {
	overflow-y: scroll;
}
body, div, dl, dt, dd {
	margin: 0;
	padding: 0;
	line-height: 1.7;
}
ul {
	margin: 0;
	padding: 0;
	line-height: 1.7;
}
ul li {
	margin: 0;
	padding: 0;
	line-height: 1.7;
	list-style: none;
}
h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, section, nav, article, aside, hgroup, header, address, figure, figcaption {
	margin: 0;
	padding: 0;
	line-height: 1.7;
}
address, caption, cite, code, dfn, em, strong, th, var {
	font-style: normal;
	font-weight: normal;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th {
	text-align: left;
}
q:before, q:after {
	content: '';
}
object, embed {
	vertical-align: top;
}
hr, legend {
	display: none;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}
img, abbr, acronym, fieldset {
	border: 0;
}
img {
	vertical-align: top;
	-ms-interpolation-mode: bicubic;
}
ul li {
	list-style-type: none;
}
a, button, input, textarea {
	outline: none;
}
img {
	box-shadow: #000 0 0 0;
}
 x:-moz-any-link, x:default {
 box-shadow: #000 0 0 0;
}
a {
	color: #171F6C;
	text-decoration: none;
	transition: opacity .6s ease;
}
a:hover {
	text-decoration: none;
	opacity: .7;
}
/*---------------------------------------------
FontSize Initialization
---------------------------------------------*/
html {
	font: 62.5%/1.231 Noto Sans Japanese, メイリオ, Meiryo, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
body {
	font-size: 1.0rem;
	letter-spacing: -0.001em;
	-webkit-text-size-adjust: 100%;
}
select, input, button, textarea, table {
	font: 1.0rem Noto Sans Japanese, メイリオ, Meiryo, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
pre, code, kbd, samp, tt {
	font-family: Noto Sans Japanese, メイリオ, Meiryo, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
/*---------------------------------------------
Utility
---------------------------------------------*/
/* Clearfix */
.cf:after, .sec:after, .section:after {
	visibility: hidden;
	display: block;
	content: " ";
	clear: both;
	height: 0;
}
#wrap * {
	box-sizing: border-box;
}
@media all and (max-width: 480px) {
	img {
		max-width: 100%;
		height: auto;
	}
	input[type="button"], input[type="submit"] {
		-webkit-appearance: none;
		border-radius: 0;
	}
	/*--------------------------
		  COMMON
	---------------------------*/
	#wrap {
		font-size: 1.4rem;
		color: #59493f;
		width: 100%;
		overflow: hidden;
	}
	.sec .inner {
		padding: 0 4%;
	}
	.sec h2 {
		position: relative;
	}
	h2 img {
		width: 76%;
	}
	section {
		background: url(../img/bg.jpg) repeat right;
	}
	/*--------------------------
	Header
	---------------------------*/
	header {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 100;
	}
	header ul {
		text-align: right;
	}
	header li {
		display: inline-block;
		vertical-align: top;
		margin: 10px 5px 0 0px;
		width: 18%;
	}
	header li:nth-of-type(1) {
		margin: 0 10px 0 0px;
		width: 50px;
	}
	/*--------------------------
	Footer
	---------------------------*/
	footer {
		margin: 0 auto;
		background: #7d7d7d;
		padding: 20px 0 10px;
		color: #FFF;
	}
	footer ul {
		margin: 0 0 30px;
		text-align: center;
		padding: 0 3%;
	}
	footer ul li {
		display: inline-block;
		vertical-align: top;
		margin: 0px 17px 0 0;
		font-size: 1rem;
	}
	footer ul li:last-of-type {
		margin-right: 0;
	}
	footer ul li a {
		color: #FFF;

	}
	footer .copy {
		text-align: right;
		margin: 0 7px 0 0;
	}
	footer .logo {
		padding:  0 4%;
		float:  left;
		width:  130px;
	}
	/*--------------------------
		  Section01
	  ---------------------------*/
	.sec01 {
		background: url(../img/sec01_bg.png) no-repeat -243px -1px /cover;
		padding: 0px 0 200px;
		text-align:  center;
		position:  relative;
	}
	.sec01 .txt {
		position: relative;
		text-align:  left;
	}
	.sec01 .inner .anm {
		position: relative;
		width: 100%;
	}
	.sec01 h1 {
		opacity: 0;
		transform: translate(0, 5px);
	} 
	.sec01 h1 img {
		width: 90%;
		margin: 0 0 0 -5%;
	}
	.sec01 h1.anime {
		opacity: 1;
		transform: translate(0,0);
		transition: opacity 2.5s 3.5s ease,transform 2.5s 3.5s ease;
		padding: 40px 0 0px;
	}
	.sec01 p {
		font-size: 1.1rem;
		text-shadow: 2px 0 0px #fff, 2px 0 0px #fff, -2px 0 0px #fff, 0px -2px 0px #fff;
		line-height:  2;
		position:  absolute;
		bottom: -250px;
		left:  0;
	}
	.sec01 .inner div li {
		display: inline-block;
		position: relative;
		width: 25%;
		opacity: 0;
		transform: translate(0, 10px);
	}
	.sec01 .inner div li:nth-of-type(1) {
		top: 50px;
		left: -12%;
	}
	.sec01 .inner div li:nth-of-type(2) {
		top: 20px;
		left: -22%;
	}
	.sec01 .inner div li:nth-of-type(3) {
		top: -15px;
		left: -32%;
	}
	.sec01 .inner div li:nth-of-type(4) {
		top: -70px;
		left: 40%;
	}
	.sec01 .inner div li:nth-of-type(5) {
		top: -40px;
		right: -27%;
	}
	.sec01 .inner div li:nth-of-type(6) {
		top: 5px;
		right: -14%;
	}
	.sec01 .inner div li.anime {
		opacity: 1;
		transform: translate(0, 0);
		transition: all 1s 1s ease;
	}
	.sec01 .inner div li.anime:nth-of-type(1) {
		transition-delay: 2.5s;
	}
	.sec01 .inner div li.anime:nth-of-type(2) {
		transition-delay: .5s;
	}
	.sec01 .inner div li.anime:nth-of-type(3) {
		transition-delay: 1.5s;
	}
	.sec01 .inner div li.anime:nth-of-type(4) {
		transition-delay: 3s;
	}
	.sec01 .inner div li.anime:nth-of-type(5) {
		transition-delay: 1s;
	}
	.sec01 .inner div li.anime:nth-of-type(6) {
		transition-delay: 2s;
	}
	/*--------------------------
		  Section02
	---------------------------*/
	.sec02 {
		margin: 70px 0 50px;
		position: relative;
	}
	.sec02::before {
		content: url(../img/orn01.png);
		position: absolute;
		top: 170px;
		right: calc(50% - 490px);
	}
	.sec02.anime::before {
		opacity: 1;
	}
	.sec02 p {
		margin: 0px 0 0;
		line-height: 1.9;
		letter-spacing: .01em;
		opacity: 0;
	}
	 .sec02 p.anime {
		transition: opacity 1.5s 1s ease;
		}
	.sec02 h2 {
		transition: all 1s ease;
		opacity: 0;
	}
	.sec04 h2.anime {
		opacity: 1;
	}
	.sec02 h2.anime, .sec02 p.anime {
		opacity: 1;
		transform: translate(0, 0);
		transition: opacity 1s .5s ease;
	}
	.sec02 h2:before {
		content: '';
		width: 160px;
		height: 62px;
		background: url(../img/sec02_ttl_img.png) no-repeat 0 0 /98%;
		position: absolute;
		top: -75px;
		left: 0;
	}
	.sec02 ul.anime::before {
		opacity: 1;
		transition: all 1s 2.5s ease;
	}
	.sec02 ul {
		margin: 40px 0 110px;
	}
	.sec02 li {
		display: inline-block;
		vertical-align: text-bottom;
		margin: 0 7px 0 0;
		width: 31%;
		position: relative;
		transform: translate(0, 15px);
		opacity: 0;
	}
	.sec02 ul.anime li {
		opacity: 1;
		transform: translate(0, 0);
	}
	.sec02 li:nth-of-type(1) {
		top: -30px;
	}
	.sec02 li:nth-of-type(2) {
		position: relative;
		top: 0px;
	}
	.sec02 li:nth-of-type(3) {
		position: relative;
		top: -50px;
		margin-right: 0;
	}
	.sec02 ul.anime li:nth-of-type(1) {
		transition: all 1s 1s ease;
	}
	.sec02 ul.anime li:nth-of-type(2) {
		transition: all 1s 1.5s ease;
	}
	.sec02 ul.anime li:nth-of-type(3) {
		transition: all 1s 2s ease;
	}
	/*--------------------------
		  Section03
	---------------------------*/
	.sec03 h2 {
		margin: 110px 0 10px;
		opacity: 0;
	}
		.sec03 h2.anime {
		opacity: 1;
		transition: all 1s 0.5s ease;
	}
	.sec03 h2:before {
		content: '';
		width: 130px;
		height: 100px;
		background: url(../img/sec03_ttl_img.png) no-repeat 0 0 /90%;
		position: absolute;
		top: -100px;
		left: 20px;
	}
	.sec03 .intro {
		opacity: 0;
	}
	.sec03 .intro.anime {
		opacity: 1;
		transition: all 1.5s 1s ease;
	}
	.sec03 .col {
		display: inline-block;
		margin: 0 8px 20px 0;
		vertical-align: top;
		width: 48%;
	}
	.sec03 .col:nth-of-type(even) {
		margin-right: 0;
	}
	.sec03 .col p {
		text-align: center;
	}
	.sec03 .col dl {
		letter-spacing: 0.2em;
	}
	.sec03 .col dt img {
		width: 38%;
	}
	.sec03 .col dd {
		letter-spacing: .03em;
		font-size: 1.2rem;
	}
	/*--------------------------
		  Section04
	---------------------------*/
	.sec04 {
		margin: 60px 0 0;
	}
	.sec04 h2:before {
		content: '';
		background: url(../img/sec04_ttl_img.png) no-repeat 0 0 /98%;
		position: absolute;
		width: 100px;
		height: 70px;
		top: -60px;
		left: 30px;
	}
	.sec04 h2 {
		transition: all 1s ease;
		opacity: 0;
	}
	.sec04 h2.anime {
		opacity: 1;
	}
	.sec04 .gallery01 {
		letter-spacing: -.4em;
		margin: 10px 0 0;
		position: relative;
		opacity: 0;
	}
	.sec04 .gallery01.anime {
		opacity: 1;
		transition: all 2s 1s ease;
	}
	.sec04 .gallery01:after {
		content: '';
		background: url(../img/orn02.png) no-repeat 0 0/50%;
		width:  100px;
		height:  50px;
		position: absolute;
		right: -65px;
		bottom: -15px;
		opacity: 0;
	}
	.sec04 .gallery01 .box {
		display: inline-block;
		width: 50%;
		vertical-align: top;
		letter-spacing: -.4em;
	}
	.sec04 .gallery01 .box li {
		cursor: pointer;
	}
	/*--------------------------
		  Section05
	---------------------------*/
	.sec05 {
		margin: 50px 0;
		background: #FFF;
		padding: 60px 0;
	}
	.sec05 h2 {
		text-align: center;
		background: url(../img/sec05_ttl_bg.png) repeat-x center;
		padding: 0px 0;
	}
	.sec05 .link-use {
		margin: 30px 0;
		text-align: center;
		font-size: 1.6rem;
	}
	.sec05 .inner > div {
		position: relative;
		margin: 0 0 120px;
		text-align: center;
	}
	.sec05 .inner > div:after {
		content: url(../img/sec05_line.png);
		position: absolute;
		bottom: -80px;
		left: -75px;
	}
	.sec05 .inner > div:nth-child(2n):after {
		transform: scale(-1, 1);
	}
	.sec05 .inner > div:nth-of-type(5) {
		margin: 0 0 0px;
	}
	.sec05 .inner > div:nth-of-type(5) h3 img {
		margin: 0 0 0 8px;
		width: 260px;
	}
	.sec05 .inner > div:nth-of-type(5):after {
		content: '';
	}
	.sec05 .link-use a {
		color: #e60012;
		border-bottom: solid 1px #f3a3a6;
	}
	.sec05 .gallery02 {
		display: inline-block;
		margin: 0 auto 20px;
		width: 264px;
		text-align: center;
	}
	.sec05 .gallery02 li {
		width: 31%;
		display: inline-block;
		vertical-align: top;
		margin: 6px 6px 0 0;
		cursor: pointer;
	}
	.sec05 .gallery02 li:nth-of-type(3) {
		margin-right: 0;
	}
	.sec05 .gallery02 li img {
		width: 100%;
	}
	.sec05 .buy {
		vertical-align: top;
		text-align: right;
		display:  inline-block;
		width: 286px;
	}
	.sec05 .buy ul {
		margin: 0 0 15px;
	}
	.sec05 .buy li {
		font-size: 2rem;
		position: relative;
	}
	.sec05 .buy li span {
		font-size: 1.3rem;
		background: #59493f;
		color: #FFF;
		padding: 0px 7px 1px;
		margin: 0px 8px 0px;
		position: relative;
		top: -4px;
	}
	.sec05 .buy li span:nth-of-type(2) {
		background: none;
		color: inherit;
		margin: 0;
		top: 0;
	}
	.sec05 .buy li small {
		font-size: 10px;
		position: absolute;
		top: -3px;
		right: 0px;
	}
	.sec05 .buy input[type="submit"] {
		background: url(../img/sec05_icon.png) no-repeat right 12px top 50%/14%, #59493f;
		color: #FFF;
		border: none;
		font-size: 1.6rem;
		padding: 7px 48px 7px 15px;
		margin: 12px 0 20px;
		cursor: pointer;
		transition: opacity .6s ease;
	}
	.sec05 .buy input[type="submit"]:hover {
		opacity: 0.7;
	}
	.sec05 .buy select {
		-webkit-appearance: none;
		background: url(../img/sec05_img01.png) no-repeat right 8px top 50%/16%;
		border: solid 2px #59493f;
		padding: 1px 10px 2px;
		font-size: 1.6rem;
		width: 106px;
		margin: 0 0 6px 7px;
		border-radius:  0;
	}
	.sec05 .buy h3 {
		text-align: left;
	}
	.sec05 .buy h3 img {
		width: 70px;
		margin: 0 0 10px 13px;
	}
	.sec05 .buy h3 span {
		font-size: 1.5rem;
	}
	.sec05 .details {
		font-size: 1.2rem;
	}
	.sec05 .details p span {
		margin: 0 5.5px 0 0px;
	}
	.sec05 #use-outer {
		padding: 50px 0 0;
	}
	.sec05 #use {
		margin: 0px 4% 0;
		border: solid 1px #362e2b;
		padding: 0px 3% 20px;
	}
	.sec05 #use h3 {
		color: #FFF;
		background: #59493f;
		width: 130px;
		text-align: center;
		margin: 20px 0 7px;
		font-size: 1.4rem;
	}
	.sec05 #use p {
		margin: 0 30px 0 0;
	}
	.sec05 #use p,  .sec05 #use ul:nth-of-type(1) {
		display: inline-block;
		vertical-align: top;
		font-size: 1.3rem;
		margin: 0 0 15px;
	}
	.sec05 #use li {
		text-indent: -1em;
		padding: 0 0 0 1em;
		font-size: 1.2rem;
	}
  .sec05 .purchase {
   padding: 0 4%;
   margin: 60px 0 0;
  }
  .sec05 .purchase-ttl {
    text-align: center;
    background: url(../img/sec05_line.png) no-repeat center;
    font-size: 2rem;
    margin: 0 0 40px;
  }
  .sec05 .purchase-ttl span {
    background: #FFF;
    padding: 5px 15px;
    letter-spacing: 0.1em;
  }
  .sec05 .purchase-btn {
    margin: 0 auto 20px;
    max-width: 260px;
  }
	/*--------------------------
	  Contact
	---------------------------*/
	.contact {
		text-align: center;
		padding: 0px 4% 20px;
		font-size: 1.3rem;
	}
	.contact a {
		background: #FFF url(../img/contact_icon.png) no-repeat left 26px top 48%;
		color: #59493f;
		display: inline-block;
		padding: 10px 40px 10px 70px;
		box-shadow: 2px 2px 6px #e7e3e0;
		margin: 30px 0 40px;
	}
	/*--------------------------
		  ライトボックス
	---------------------------*/
		#lbox {
			display: none;
			width: 100%;
			height: 100vh;
			position: fixed;
			top: 0;
			left: 0;
			z-index: 100;
			background: rgba(0, 0, 0, 0.85);
			justify-content: center;
		}
		#lbox .lbox-inr {
			display: flex;
			vertical-align: middle;
			position: relative;
			z-index: 101;
			align-items: center;
		}
		#lbox .lbox-inr [id^="box"] {
			display: none;
			width: 85%;
			text-align: left;
			position: relative;
			z-index: 110;
			margin: 0 auto;
		}
		#lbox .lbox-inr #box07 {
			width: 75%;
		}
		#lbox .lbox-inr02 {
			position: relative;
			top: -4vh;
			margin: 0 auto;
		}
		 #lbox #box02::-webkit-scrollbar {
		 width: 10px;
		}
		 #lbox #box02::-webkit-scrollbar-track {
		 border-radius: 0px;
		 background: #eee;
		}
		 #lbox #box02::-webkit-scrollbar-thumb {
		 border-radius: 0px;
		 background: #999;
		}
		#lbox #close {
			position: absolute;
			top: -43px;
			right: 10px;
			width: 34px;
			height: 34px;
			text-indent: 100%;
			white-space: nowrap;
			overflow: hidden;
		}
		#lbox #close:before,  #lbox #close:after {
			content: '';
			display: block;
			width: 1px;
			height: 100%;
			background: #fff;
			position: absolute;
			top: 0;
			left: 50%;
		}
		#lbox #close:before {
			transform: rotate(45deg);
			-webkit-transform: rotate(45deg);
		}
		#lbox #close:after {
			transform: rotate(-45deg);
			-webkit-transform: rotate(-45deg);
		}
		#lbox .pager .btn-next {
		  right: 0px;
		}
		#lbox .pager .btn-prev {
		  left: 0px;
		}
		#lbox .pager li{
			text-indent: 100%;
			white-space: nowrap;
			overflow: hidden;
			position: absolute;
			top: calc(50% - 6px);
			transform: translateY(-50%);
			display: inline-block;
			width: 42px;
			height: 46px;
			z-index:  120;
		}
	 #lbox .pager li:after {
			 content: '';
			 display: block;
			 width: 18px;
			 height: 18px;
			 border-top: #fff 1px solid;
			 border-left: #fff 1px solid;
			 position: absolute;
			 top: calc(50% - 11px);
			 left: 3px;
			 cursor: pointer;
	}
	#lbox .pager .btn-prev:after {
			transform: rotate(-45deg);
			left: 8px;
	}
	#lbox .pager .btn-next:after {
			transform: rotate(135deg);
			left: 15px;
	}
	#clickable {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		width: 100%;
		height: 100%;
		opacity: .3;
	}
}

@media (min-width: 481px) {
	/*--------------------------
		  COMMON
	  ---------------------------*/
	#wrap {
		font-size: 1.5rem;

		color: #59493f;
		width: 100%;
		min-width: 800px;
		margin: 0 auto;
		overflow: hidden;
	}
	.sec .inner {
		width: 800px;
		margin: 0 auto 0px;
	}
	.sec h2 {
		position: relative;
	}
	section {
		background: url(../img/bg.jpg) repeat left;
	}
	/*--------------------------
	Header
	---------------------------*/
	header {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 100;
	}
	header li {
		display: inline-block;
		vertical-align: top;
		margin: 10px 10px 0 0px;
	}
	header li:nth-of-type(1) {
		margin: 0 20px 0 0px;
	}
	/*--------------------------
	Footer
	---------------------------*/
	footer {
		margin: 0 auto;
		background: #7d7d7d;
		padding: 30px 0 5px;
		color: #FFF;
	}
	footer ul {
		width: 800px;
		margin: 0 auto 60px;
	}
	footer ul li {
		display: inline-block;
		vertical-align: top;
		margin: 0px 200px 0 0;
	}
	footer ul li:last-of-type {
		margin-right: 0;
	}
	footer ul li a {
		color: #FFF;
	}
	footer .copy {
		text-align: right;
		margin: 0 40px 0 0;
	}
	footer .logo {
	margin: 0 0 0 40px;
	}
	/*--------------------------
		  Section01
	  ---------------------------*/
	.sec01 {
		background: url(../img/sec01_bg.png) no-repeat center;
		padding: 110px 0 90px;
	}
	.sec01 h1 {
		opacity: 0;
		transform: translate(0, 5px);
		position:  relative;
		left: -49px;
	}
	.sec01 h1.anime {
		opacity: 1;
		transform: translate(0,0);
		transition: opacity 2.5s 3.5s ease,transform 2.5s 3.5s ease;
	}
	.sec01 p {
		opacity: 0;
	}
	.sec01 p{
		font-size: 1.8rem;
		text-shadow: 2px 0 0px #fff, 2px 0 0px #fff, -2px 0 0px #fff, 0px -2px 0px #fff;
		transform: translate(0, 5px);
	}
	.sec01 p.anime {
		opacity: 1;
		transform: translate(0, 0);
		transition: opacity 2.5s 3.5s ease,transform 2.5s 3.5s ease;
	}
	.sec01 .inner {
		position: relative;
	}
	.sec01 .inner .anm {
		position: absolute;
		top: 110px;
		right: 80px;
	}
	.sec01 .inner div li {
		display: inline-block;
		position: relative;
		opacity: 0;
		transform: translate(0, 10px);
	}
	.sec01 .inner div li:nth-of-type(1) {
		top: 20px;
		left: -22px;
	}
	.sec01 .inner div li:nth-of-type(2) {
		top: 10px;
		right: -6px;
	}
	.sec01 .inner div li:nth-of-type(3) {
		top: -25px;
		left: 38px;
	}
	.sec01 .inner div li:nth-of-type(4) {
		top: -40px;
		left: 70px;
	}
	.sec01 .inner div li:nth-of-type(5) {
		top: -6px;
		right: -68px;
	}
	.sec01 .inner div li:nth-of-type(6) {
		top: 36px;
		right: -62px;
	}
	.sec01 .inner div li.anime {
		opacity: 1;
		transform: translate(0, 0);
		transition: all 1s 1s ease;
	}
	.sec01 .inner div li.anime:nth-of-type(1) {
		transition-delay: 2.5s;
	}
	.sec01 .inner div li.anime:nth-of-type(2) {
		transition-delay: .5s;
	}
	.sec01 .inner div li.anime:nth-of-type(3) {
		transition-delay: 1.5s;
	}
	.sec01 .inner div li.anime:nth-of-type(4) {
		transition-delay: 3s;
	}
	.sec01 .inner div li.anime:nth-of-type(5) {
		transition-delay: 1s;
	}
	.sec01 .inner div li.anime:nth-of-type(6) {
		transition-delay: 2s;
	}
	/*--------------------------
		  Section02
		---------------------------*/
	.sec02 h2, .sec02 p {
		opacity: 0;
	}
	.sec02 h2.anime, .sec02 p.anime {
		opacity: 1;
		transform: translate(0, 0);
		transition: opacity 1s .5s ease;
	}
	 .sec02 p.anime {
		transition: opacity 1.5s 1s ease;
		}
	.sec02 {
		margin: 90px 0 160px;
		position: relative;
	}
	.sec02 ul::before {
		content: url(../img/orn01.png);
		position: absolute;
		top: -90px;
		right: calc(50% - 490px);
		opacity: 0;
	}
	.sec02 ul.anime::before {
		opacity: 1;
		transition: all 1s 2.5s ease;
	}
	.sec02 p {
		font-size: 1.7rem;
		margin: 15px 0 0;
		line-height: 1.9;
		letter-spacing: .01em;
	}
	.sec02 h2:before {
		content: url(../img/sec02_ttl_img.png);
		position: absolute;
		top: -100px;
		left: 0;
	}
	.sec02 ul {
		margin: 40px 0 160px;
		position: relative;
	}
	.sec02 li {
		display: inline-block;
		vertical-align: text-bottom;
		margin: 0 7px 0 0;
		transform: translate(0, 15px);
		opacity: 0;
	}
	.sec02 ul.anime li {
		opacity: 1;
		transform: translate(0, 0);
	}
	.sec02 li:nth-of-type(2) {
		position: relative;
		top: 50px;
	}
	.sec02 li:nth-of-type(3) {
		position: relative;
		top: -50px;
		margin-right: 0;
	}
	.sec02 ul.anime li:nth-of-type(1) {
		transition: all 1s 1s ease;
	}
	.sec02 ul.anime li:nth-of-type(2) {
		transition: all 1s 1.5s ease;
	}
	.sec02 ul.anime li:nth-of-type(3) {
		transition: all 1s 2s ease;
	}
	/*--------------------------
		  Section03
	---------------------------*/
	.sec03 h2 {
		opacity: 0;
		margin: 0 0 40px;
	}
	.sec03 h2.anime {
		opacity: 1;
		transition: all 1s 0.5s ease;
	}
	.sec03 .intro {
		opacity: 0;
	}
	.sec03 .intro.anime {
		opacity: 1;
		transition: all 1.5s 1s ease;
	}
	.sec03 h2:before {
		content: url(../img/sec03_ttl_img.png);
		position: absolute;
		top: -100px;
		left: 245px;
	}
	.sec03 .col {
		width: 360px;
		display: inline-block;
		margin: 0 75px 50px 0;
		vertical-align: top;
	}
	.sec03 .col:nth-of-type(even) {
		margin-right: 0;
	}
	.sec03 .col p {
		text-align: center;
		height: 280px;
	}
	.sec03 .col dl {
		letter-spacing: 0.2em;
		margin: -20px 0 0;
	}
	.sec03 .col p {
		height: 292px;
	}
	.sec03 .col dd {
		font-size: 1.7rem;
		letter-spacing: .06em;
		margin: 5px 0 0;
		line-height: 1.4;
	}
	/*--------------------------
		  Section04
	---------------------------*/
	.sec04 {
		padding: 50px 0 30px;
	}
	.sec04 h2:before {
		content: url(../img/sec04_ttl_img.png);
		position: absolute;
		top: -85px;
		left: 35px;
	}
	.sec04 h2 {
		transition: all 1s ease;
		opacity: 0;
	}
	.sec04 h2.anime {
		opacity: 1;
	}
	.sec04 .gallery01 {
		letter-spacing: -.4em;
		margin: 10px 0 0;
		position: relative;
		opacity: 0;
		transition: all 2s 0.5s ease;
	}
	.sec04 .gallery01.anime {
		opacity: 1;
	}
	.sec04 .gallery01:before {
		content: url(../img/orn01.png);
		position: absolute;
		right: -85px;
		top: -75px;
		transition: all 3s 3s ease;
	}
	.sec04 .gallery01.anime:before {
		opacity: 1;
	}
	.sec04 .gallery01:after {
		content: url(../img/orn02.png);
		position: absolute;
		right: -70px;
		bottom: -75px;
	}
	.sec04 .gallery01 .box {
		display: inline-block;
		vertical-align: top;
		letter-spacing: -.4em;
	}
	.sec04 .gallery01 .box li {
		cursor: pointer;
	}
	/*--------------------------
		  Section05
	---------------------------*/
	.sec05 {
		margin: 50px 0;
		background: #FFF;
		padding: 50px 0 110px;
	}
	.sec05 h2 {
		text-align: center;
		background: url(../img/sec05_ttl_bg.png) repeat-x center;
		padding: 0px 0;
	}
	.sec05 .link-use {
		margin: 60px 0;
		text-align: center;
		font-size: 1.8rem;
	}
	.sec05 .inner > div {
		position: relative;
		margin: 0px 0 170px;
	}
	.sec05 .inner > div:after {
		content: url(../img/sec05_line.png);
		position: absolute;
		bottom: -110px;
		left: 0;
	}
	.sec05 .inner > div:nth-of-type(5) h3 {
		font-size: 3.2rem;
		margin: 0 0 0 78px;
	}
	.sec05 .inner > div:nth-child(odd):after {
		transform: scale(-1, 1);
	}
	.sec05 .inner > div:nth-of-type(5):after {
		content: '';

	}
	.sec05 .inner > div:nth-of-type(5) {margin: 0px 0 50px;}
	.sec05 .link-use a {
		color: #e60012;
		border-bottom: solid 1px #f3a3a6;
		font-weight: 500;
	}
	.sec05 .link-use a:hover {
		border:none;
	}
	.sec05 .gallery02 {
		width: 352px;
		display: inline-block;
	}
	.sec05 .gallery02 li {
		width: 110px;
		display: inline-block;
		vertical-align: top;
		margin: 7px 7px 0 0;
		cursor: pointer;
	}
	.sec05 .gallery02 li:nth-of-type(3) {
		margin-right: 0;
	}
	.sec05 .gallery02 li img {
		width: 100%;
	}
	.sec05 .buy {
		display: inline-block;
		vertical-align: top;
		text-align: right;
		width: 440px;
		font-size: 2.2rem;
		margin: 20px 0 0;
	}
	.sec05 .buy ul {
		margin: 0 0 40px;
	}
	.sec05 .buy li {
		font-size: 2.6rem;

		position: relative;
		font-weight: 500;
		letter-spacing: .1em;
	}
	.sec05 .buy li span {
		font-size: 1.5rem;
		background: #59493f;
		color: #FFF;
		padding: 0px 7px 1px;
		margin: 0px 8px 0px;
		position: relative;
		top: -4px;
		letter-spacing: .05em;
	}
	.sec05 .buy li span:nth-of-type(2) {
		background: none;
		color: inherit;
		margin: 0;
		top: 0;
	}
	.sec05 .buy li small {
		font-size: 10px;
		position: absolute;
		top: 4px;
		right: 0px;
		letter-spacing: normal;
	}
	.sec05 .buy input[type="submit"] {
		background: url(../img/sec05_icon.png) no-repeat right 12px top 50%, #59493f;
		color: #FFF;
		border: none;
		font-size: 2.2rem;
		padding: 8px 48px 8px 15px;
		margin: 12px 0 20px;
		cursor: pointer;
		transition: opacity .6s ease;
	}
	.sec05 .buy input[type="submit"]:hover {
		opacity: 0.7;
	}
	.sec05 .buy select {
		-webkit-appearance: none;
		-moz-appearance: none;
		-ms-appearance: none;
		border: solid 2px #59493f;
		background: url(../img/sec05_img01.png) no-repeat right 8px top 50%;
		padding: 2px 10px;
		font-size: 1.5rem;
		width: 106px;
		margin: 7px 0 14px 7px;
	}
	 .sec05 .buy select::-ms-expand {
  		display: none;
	}
	.sec05 .buy h3 {
		font-size: 4.7rem;
		text-align: left;
		margin: 0 0 0 100px;
	}
	.sec05 .buy h3 span {
		font-size: 2rem;
	}
	.sec05 .details {
		font-size: 1.5rem;
	}
	.sec05 .details p{
		white-space:  pre;
	}
	.sec05 .details p span {
		margin: 0 7.6px 0 0px;
	}
	.sec05 #use-outer {
		padding: 90px 0 0px;
	}
	.sec05 #use {
		width: 840px;
		margin: -50px auto 0;
		border: solid 1px #362e2b;
		padding: 0px 20px 30px 30px;
	}
	.sec05 #use h3 {
		color: #FFF;
		background: #59493f;
		width: 170px;
		text-align: center;
		margin: 30px 0 15px;
		font-size: 1.5rem;
		line-height: 1.4;
	}
	.sec05 #use p {
		margin: 0 30px 0 0;
	}
	.sec05 #use p,  .sec05 #use ul:nth-of-type(1) {
		display: inline-block;
		vertical-align: top;
	}
	.sec05 #use li {
		text-indent: -1em;
		padding: 0 0 0 1em;
	}
  .sec05 .purchase {
    width: 800px;
    margin: 90px auto 80px;
  }
  .sec05 .purchase-ttl {
    text-align: center;
    background: url(../img/sec05_line.png) no-repeat center;
    font-size: 2.5rem;
    margin: 0 0 40px;
  }
  .sec05 .purchase-ttl span {
    background: #FFF;
    padding: 5px 15px;
    letter-spacing: 0.1em;
  }
  .sec05 .purchase-row {
    display: flex;
    justify-content: center;
    align-items: flex-end;
  }
  .sec05 .purchase-btn {
    padding: 0 20px;
  }
	/*--------------------------
	  Contact
	---------------------------*/
	.contact {
		text-align: center;
		padding: 30px 0 50px;
		font-weight: 500;
		letter-spacing:  .03em;
	}
	.contact a {
		background: #FFF url(../img/contact_icon.png) no-repeat left 26px top 50%;
		color: #59493f;
		display: inline-block;
		padding: 12px 45px 12px 75px;
		box-shadow: 2px 2px 6px #e7e3e0;
		margin: 30px 0 40px;
		font-size: 1.9rem;
	}
	/*--------------------------
		ライトボックス
	---------------------------*/
	#lbox {
		display: none;
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		background: rgba(0, 0, 0, 0.85);
		justify-content: center;
	}
	#lbox .lbox-inr {
		display: flex;
		vertical-align: middle;
		position: relative;
		z-index: 101;
		align-items: center;
	}
	#lbox .lbox-inr [id^="box"] {
		display: none;
		/* padding: 5px; */
		text-align: center;
		position: absolute;
		margin: 0 auto;
		z-index: 110;
	}
	#lbox .lbox-inr [id^="box"] img {
		/* width: 100%; */
		/* max-width: 671px; */
	}
	#lbox .lbox-inr02 {
		position: relative;
		margin: 0 auto;
		height: 600px;
		width: 900px;
		position:  relative;
	}
	#lbox #close {
		position: absolute;
		top: -40px;
		right: 0;
		width: 34px;
		height: 34px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		z-index: 101;
	}
	#box07 {position: relative;left: calc(50% - 230px);}
	#lbox #close:hover {
		cursor: pointer;
	}
	#lbox #close:before,  #lbox #close:after {
		content: '';
		display: block;
		width: 1px;
		height: 100%;
		background: #fff;
		position: absolute;
		top: 0;
		left: 50%;
	}
	
	#lbox #close:before {
		transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
	}
	#lbox #close:after {
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}
	#lbox .pager .btn-next {
    right: -45px;
}
	#lbox .pager .btn-prev {
    left: -49px;
}
/* 	#lbox .b-img {
	width: 910px;
	height: 680px;
	} */
	#lbox .pager li{
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	position: absolute;
	top: calc(50% - 15px);
	transform: translateY(-50%);
	display: inline-block;
	width: 40px;
	height: 40px;
	z-index:  120;
	}
 #lbox .pager li:after {
     content: '';
    display: block;
    width: 22px;
    height: 22px;
    border-top: #fff 1px solid;
    border-left: #fff 1px solid;
    position: absolute;
    top: calc(50% - 12px);
    left: 20px;
    cursor: pointer;
}
#lbox .pager .btn-prev:after {
    transform: rotate(-45deg);
}
#lbox .pager .btn-next:after {
    transform: rotate(135deg);
    left: 0;
}
	#clickable {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		width: 100%;
		height: 100%;
		opacity: .3;
	}
}

@media (min-width: 481px) and (max-width:1150px){
	#lbox .lbox-inr02 {
    max-width: 680px;
}
	#lbox .lbox-inr [id^="box"] img {
		max-width: 680px;
	}
}