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

/*
スマートフォン用CSS
*/

html, body {
	color: #ccc2be;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: .05em;
	font-feature-settings: "palt";
	overflow-x: hidden;
	font-family: "a-otf-ryumin-pr6n", serif;
	font-weight: 300;
	font-style: normal;
}

.pc{display: none!important;}


#wrap{
    background: #003934;	
}


.bg-color{
	position: relative;
	z-index: 1;	
}

.bg-color.popup{
	z-index: 999;	
}

.bg-color::after{
	opacity: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: .8s ease-out 0s;
	z-index: -1;
}

.bg-color.view::after{
	opacity: 1;
}

#color1::after{
	background-image: linear-gradient(#2f2d2c, #d0c7c0);
}

#color1 {
	background: #003934;/* prev end */
}

.up #color1.pass {
	background: #8d937c;/* next top */	
}


#color2::after{
	background-image: linear-gradient(#8d937c, #cfd0c6);
}

#color2 {
	background: #d0c7c0;/* prev end */
}

.up #color2.pass {
	background: #0b0a0b;/* next top */	
}


#color3::after{
	background-image: linear-gradient(#0b0a0b, #005348);
}

#color3 {
	background: #d0c7c0;/* prev end */
}

.up #color3.pass {
	background: #9e8e82;/* next top */	
}

#color4::after{
	background-image: linear-gradient(#9e8e82, #dbd4cf);
}

#color4 {
	background: #005348;/* prev end */
}

.up #color4.pass {
	background: #003934;/* next top */	
}


#color5::after{
	background-image: linear-gradient(#003934, #003934);
}

#color5 {
	background: #dbd4cf;/* prev end */
}

.up #color5.pass {
	background: #8d937c;/* next top */	
}

#color6::after{
	background-image: linear-gradient(#8d937c, #cfd0c6);
}

#color6 {
	background: #003934;/* prev end */
}

.up #color6.pass {
	background: #005449;/* next top */	
}

#color7::after{
	background-image: linear-gradient(#005449, #0b0b0b);
}

#color7 {
	background: #dbd4cf;/* prev end */
}

.up #color7.pass {
	background: #005449;/* next top */	
}

#color8::after{
	background-image: linear-gradient(#005449, #0b0b0b);
}

#color8 {
	background: #0b0b0b;/* prev end */
}

.up #color8.pass {
	background: #abaf9e;/* next top */	
}

#color9::after{
	background: #abaf9e;
}

#color9 {
	background: #0b0b0b;/* prev end */
}

.up #color9.pass {
	background: #003934;/* next top */	
}

#color10::after{
	background: #003934;
}

#color10 {
	background: #abaf9e;/* prev end */
}

.up #color10.pass {
	background: #003934;/* next top */	
}

#color11::after{
	background: #003934;
}

#color11 {
	background: #003934;/* prev end */
}

.up #color11.pass {
	background: #abaf9e;/* next top */	
}

#color12::after{
	background: #abaf9e;
}

#color12 {
	background: #003934;/* prev end */
}

.up #color12.pass {
	background: #0b0b0b;/* next top */	
}


.en,.num{
	font-family: "optima-lt-pro", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.fgo{
	font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 500;
	font-style: normal;	
}


header{
	position: fixed;
	top: 0;
	left: 0;
	padding: 1.5em 5%;
	z-index: 100;
	width: 100vw;
	transition: .4s ease-in , width 0s;
}

header .logo{
	width: 16vw;
	max-width: 5em;
	transition: .4s ease;
}

.fixed header{
	padding: 1em 5%;
	background: rgba(0, 57, 52, 0.6);
    backdrop-filter: blur(10px);
}

.fixed header .logo{
	width: 16vw;
	min-width: auto;
}

header.hidden {
  transform: translateY(-100%);
}

.l-title {
	text-align: center;
}

.l-title .jp{
	display: block;
	font-size: 1.3em;
	letter-spacing: .1em;
	position: relative;
	padding-bottom: .8em;
}


.lp-flame-wrap .l-title .jp{
	margin-top: 2.5em;
}

.lp-commit-wrap .l-title .jp{
	margin-top: 2em;
}



.l-title .jp::before{
	content: "";
	display: block;
	width: 100vw;
	height: .7px;
	background: #ccc2be;
	position: absolute;
	bottom: .2em;
	left: calc(50% - 50vw);
}

.l-title .jp::after{
	content: "";
	display: block;
	width: 100vw;
	height: 1px;
	background: #ccc2be;
	position: absolute;
	bottom: .2em;
	left: calc(50% - 50vw);
	transform: scale(0, 1);
	transition: transform 1s ease;
	transform-origin: right top;
}

.linein .l-title .jp::after{
	transform: scale(1, 1);
	transform-origin: left top;
}

.l-title.gr .jp::before,
.l-title.gr .jp::after{
	background: #003934;
}

.l-title .en{
	font-size: 2.2em;
	letter-spacing: 0;
}

.l-title.nl {
	display: flex;
	flex-flow: column-reverse;
	text-align: left;
	gap:1em;
	width: 90%;
	line-height: 1;
	margin: 0 auto;	
}

.l-title.nl .jp{
	display: block;
	font-size: 1.2em;
	letter-spacing: .1em;
	position: relative;
}


.l-title.nl .en{
	font-size: 2.1em;
	letter-spacing: 0em;
}

.title-read-wrap{
	width: 90%;
	text-align: center;
	padding-top: 1em;	
	margin:0 auto 3.5em;
}

.title-read-wrap .title{
	font-size: 1.35em;
	letter-spacing: .1em;
	margin-bottom: 1.5em;
}

.title-read-wrap .text{
	line-height: 2.0;
	font-size: .9em;
}

.fixed-btn{
	width: 100vw;
	position: fixed;
	bottom: 0;
	right: 0;
	display: flex;
	justify-content: space-between;
	z-index: 100;
	background: #003934;
	padding: .5em;
	opacity: 0;
	pointer-events: none;
	transition: opacity .6s ease;
}

.fixed .fixed-btn{
	opacity: 1;
	pointer-events: visible;
}

.fixed-btn a{
	width: 49%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap:.4em;
	padding: .8em;
	line-height: 1;
	color: #003934;
	background: #FFF;
	position: relative;
	white-space: nowrap;
	z-index: 2;
}

.fixed-btn a:hover{
	opacity: 1;
}

.fixed-btn a::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #eae995;
	position: absolute;
	top: 0;
	left: 0;
	transition: opacity .4s ease;
	z-index: -1;
}

.fixed-btn a:hover::before{
	opacity: .5;
}

.fixed-btn a .en{
	font-size: 4vw;
}

.fixed-btn a .jp{
	font-size: 3vw;
	letter-spacing: .1em;
}

.lp-slider{
	width: 130vw;
}



/*
lp-icatch
--------------------
*/

.lp-icatch-wrap {
	font-size: 1.6vw;
    background: url(img/icatch_630.png) no-repeat 78% calc(100% - 25em);
    background-size: 250%;
    text-align: center;
    line-height: 1;
}

.lp-icatch-wrap .inner{
	padding-top: 12em;
	margin-bottom: 72em;
	position: relative;
}

.lp-icatch-wrap .inner .text-wrap .read{
	color: #e8e797;
}

.lp-icatch-wrap .inner .text-wrap .read span:nth-of-type(1){
	display: block;
	font-size: 2.7em;
	letter-spacing: .1em;
	margin-bottom: 1.6em;
}

.lp-icatch-wrap .inner .text-wrap .read span:nth-of-type(2){
	display: block;
	font-size: 3.8em;
	letter-spacing: .3em;
	padding-bottom: .5em;
	border-bottom: .3px solid #e8e797;
	margin-bottom: .3em;
	position: relative;
}

.lp-icatch-wrap .inner .text-wrap .read span:nth-of-type(2)::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #e8e797;
	position: absolute;
	left: 0;
	bottom: -0.5px;
	transition: transform 1s ease;
	transform: scale(0, 1);
	transform-origin: right top;
}

.lp-icatch-wrap .inner.linein .text-wrap .read span:nth-of-type(2)::after{
	transform: scale(1, 1);
	transform-origin: left top;
}

.lp-icatch-wrap .inner .text-wrap .products-name span:nth-of-type(1){
	display: block;
	font-size: 9em;
	letter-spacing: .1em;
	margin-bottom: .15em;
	margin-top: .5em;
}

.lp-icatch-wrap .inner .text-wrap .products-name span:nth-of-type(2){
	display: block;
	font-size: 3em;
	letter-spacing: .1em;
	margin-bottom: 3.7em;	
}

.lp-icatch-wrap .inner .text-wrap .text{
	font-size: 3.0em;
	line-height: 1.8;
	letter-spacing: .1em;	
	position: absolute;
	bottom: -22em;
	left: 50%;
	transform: translateX(-50%);
	width: 90%;
}

.lp-icatch-wrap .count-contents-wrap{
	color: #e8e797;
}

.lp-icatch-wrap .count-contents-wrap .count-contents{
	position: relative;
	padding-bottom: 2.3em;
	margin-bottom: 3em;
	display: flex;
	justify-content: center;
}

.lp-icatch-wrap .count-contents-wrap .count-contents .count-inner{
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	gap:2em;
	letter-spacing: .1em;
}

.lp-icatch-wrap .count-contents-wrap .count-contents .count-inner::before{
	content: "";
	display: block;
	width: 8em;
	height: 2px;
	background: #e8e797;
	position: absolute;
	left: -9.5em;
	top: 50%;
	transform: translateY(-50%);
}

.lp-icatch-wrap .count-contents-wrap .count-contents .count-inner::after{
	content: "";
	display: block;
	width: 8em;
	height: 2px;
	background: #e8e797;
	position: absolute;
	right: -9.5em;
	top: 50%;
	transform: translateY(-50%);
}

.lp-icatch-wrap .count-contents-wrap .count-contents::before{
	content: "";
	display: block;
	width: 100vw;
	height: .3px;
	background: #e8e797;
	position: absolute;
	bottom: 0;
	left: calc(50% - 50vw);
}

.lp-icatch-wrap .count-contents-wrap .count-contents::after{
	content: "";
	display: block;
	width: 100vw;
	height: .3px;
	background: #e8e797;
	position: absolute;
	bottom: 4px;
	left: calc(50% - 50vw);
}

.lp-icatch-wrap .count-contents-wrap .line-wrap{
	position: relative;
}

.lp-icatch-wrap .count-contents-wrap .line-wrap::before{
	content: "";
	display: block;
	width: 100vw;
	height: 1px;
	background: #e8e797;
	position: absolute;
	bottom: -0.5px;
	left: calc(50% - 50vw);
	transform: scale(0, 1);
	transition: transform 1s ease;
	transform-origin: right top;
}

.lp-icatch-wrap .count-contents-wrap .line-wrap::after{
	content: "";
	display: block;
	width: 100vw;
	height: 1px;
	background: #e8e797;
	position: absolute;
	bottom: 3.5px;
	left: calc(50% - 50vw);
	transform: scale(0, 1);
	transition: transform 1s ease;
	transform-origin: right top;
}

.lp-icatch-wrap .count-contents-wrap.linein .line-wrap::before,
.lp-icatch-wrap .count-contents-wrap.linein .line-wrap::after{
	transform: scale(1, 1);
	transform-origin: left top;
}

.lp-icatch-wrap .count-contents-wrap .count-contents span:nth-of-type(1){
	font-size: 2.3em;
	line-height: 1.5;
}

.lp-icatch-wrap .count-contents-wrap .count-contents span:nth-of-type(2){
	font-size: 9.8em;
	position: relative;
	padding-right: .2em;
}

.lp-icatch-wrap .count-contents-wrap .count-contents span:nth-of-type(2)::after{
	content: "cases";
	font-size: .29em;
	position: absolute;
	width: 0;
	right: 0;
	top: 0;
	transform: rotate(90deg);
}


.lp-icatch-wrap .count-contents-wrap .count-contents span:nth-of-type(3){
	font-size: 4em;
}

.lp-icatch-wrap .count-contents-wrap .count-read{
	width: 100%;
	display: flex;
	flex-flow: column;
	gap:1.6em;
	margin: 0 auto;
	margin-bottom: 13em;
}

.lp-icatch-wrap .count-contents-wrap .count-read span{
	display: block;
	font-size: 2.2em;
	color: #223c37;
	background: #e8e797;
	padding: .3em;
	line-height: 1.7em;
}



/*
lp-read
--------------------
*/


.lp-read-wrap{
	font-size: 1.6vw;
	text-align: center;
	color: #ccc2be;
}

.lp-read-wrap .sub{
	color: #eae999;
	font-size: 3.8em;
	line-height: 1;
	margin-bottom: .7em;
	letter-spacing: .15em;
}

.lp-read-wrap .sub .is-small{
  font-size: 0.55em; 
}

.lp-read-wrap .read-title{
	font-size: 3.8em;
	line-height: 1;
	letter-spacing: .1em;
	position: relative;
	display: table;
	padding:0 .2em .8em;
}

.lp-read-wrap .read-title::before{
	content: "";
	display: block;
	width: 100%;;
	height: 1px;
	background: #e8e797;
	position: absolute;
	bottom: 0;
	left: 0;
}

.lp-read-wrap .read-title::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #e8e797;
	position: absolute;
	bottom: 4px;
	left: 0;
}

.lp-read-wrap .line-wrap{
	position: relative;
	display: table;
	margin: 0 auto 3.5em;
}

.lp-read-wrap .line-wrap::before{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #e8e797;
	position: absolute;
	bottom: -0.5px;
	left: 0;
	transform: scale(0, 1);
	transition: transform 1s ease;
	transform-origin: right top;
}

.lp-read-wrap .line-wrap::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #e8e797;
	position: absolute;
	bottom: 3.5px;
	left: 0;
	transform: scale(0, 1);
	transition: transform 1s ease;
	transform-origin: right top;
}

.lp-read-wrap .linein .line-wrap::before,
.lp-read-wrap .linein .line-wrap::after{
	transform: scale(1, 1);
	transform-origin: left top;
}

.lp-read-wrap .read-title span{
	color: #eae999;
	font-size: 1.0em;
}

.lp-read-wrap .read{
	font-size: 2.1em;
	line-height: 1.8;
	margin-bottom: 3em;
}

.lp-read-wrap .parts-contents-wrap .parts-nav{
	width: 90%;
	max-width: 1880px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	padding-bottom: 18em;
	margin: 0 auto;
}

.lp-read-wrap .parts-contents-wrap .parts-nav::before{
	content: "";
	display: block;
    width: 9.2em;
    height: 14.4em;
	background: url(img/arrow_by2.svg) no-repeat;
	background-size: contain;
	position: absolute;
	bottom: -1.5em;
	left: 50%;
	transform: translateX(-50%);
}

.lp-read-wrap .parts-contents-wrap .parts-nav::after{
	content: "";
	display: block;
	width: 29%;
}

.lp-read-wrap .parts-contents-wrap .parts-nav .parts{
	width: 29%;
	background: #eae995;
	position: relative;
	margin-bottom: 3em;
}

.lp-read-wrap .parts-contents-wrap .parts-nav .parts:nth-child(n+4) { /* 4番目以降の要素 */
  transform: translateX(75%);
}

.lp-read-wrap .parts-contents-wrap .parts-nav .parts::after{
	content: "";
	display: block;
	width: 2em;
	height: 2em;
	background: url(img/icon_plus.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(calc(100% + .9em) , -50%);
}

.lp-read-wrap .parts-contents-wrap .parts-nav .parts:nth-of-type(3)::after,
.lp-read-wrap .parts-contents-wrap .parts-nav .parts:last-of-type::after{
	display: none;
}

.lp-read-wrap .parts-contents-wrap .parts-nav .parts .thumb-wrap{
	padding: 2px;
}

.lp-read-wrap .parts-contents-wrap .parts-nav .parts .text-wrap{
	color: #003934;
	padding: 1em .4em 1.2em;
	letter-spacing: 0;
}

.lp-read-wrap .parts-contents-wrap .parts-nav .parts .text-wrap .title{
	font-size: 2em;
	line-height: 1.3;
	margin-bottom: .3em;
}

.lp-read-wrap .parts-contents-wrap .parts-nav .parts .text-wrap span{
	font-size: 1.2em;
}


.lp-read-wrap .parts-contents-wrap .parts-thumb-wrap{
	width: 100%;
	height: 50em;
	background: url(img/allinone_630.png) no-repeat center center;
	background-size: 190%;
}

.lp-read-wrap .parts-contents-wrap .parts-price-wrap{
	width: 90%;
	max-width: 1480px;
	text-align: left;
	padding: 4em 0 2em;
	margin: 0 auto;	
}

.lp-read-wrap .parts-contents-wrap .parts-price-wrap .text-wrap{
}

.lp-read-wrap .parts-contents-wrap .parts-price-wrap .text-wrap .title{
	font-size: 2.2em;
	line-height: 2;
	margin-bottom: 2.3em;
	position: relative;
	text-align: center;
	letter-spacing: .1em;
}

.lp-read-wrap .parts-contents-wrap .parts-price-wrap .text-wrap .title.no-line{
  color:#d9d39a;        
  font-size:3.3em;     
  letter-spacing:.08em;
  margin-bottom: .5em;
}


.lp-read-wrap .parts-contents-wrap .parts-price-wrap .text-wrap .text{
	font-size: 2.3em;
	line-height: 1.8;
	padding: 1em 1.5em;
	border: 1px solid #ccc2be;
	border-radius: 1em;
	margin-bottom: 3em;
}

/*.lp-read-wrap .parts-contents-wrap .parts-price-wrap .price-wrap{
	width: 100vw;
	position: relative;
	border-top: 4px solid #eae995;
    left: calc(50% - 50vw);
    font-size: 2vw;
}

.lp-price{
	white-space: nowrap;
	display: flex;
	align-items: center;
	gap: 0em;
	letter-spacing: .1em;
}

.lp-price span:nth-of-type(1){
	font-size: 1.9em;
	background: #e8e797;
	color: #223c37;
	padding: .3em 1.0em;
	line-height: 1.2em;
	margin-right: .5em;
}

.lp-price span:nth-of-type(2){
	font-size: 7.1em;
	color: #e8e797;
}

.lp-price span:nth-of-type(3){
	font-size: 1.6em;
	color: #e8e797;
	writing-mode: vertical-rl;
}*/


.lp-read-wrap .parts-contents-wrap .parts-price-wrap .price-wrap{
  width: 100%;
  max-width: 1100px; 
  margin: 0 auto;
  padding: 1em 2.95em 2.5em 2.95em; 

  border: 1px solid #eae995; 
  border-radius: 16px;   
}


.lp-price{
	white-space: nowrap;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	letter-spacing: .1em;
}

.lp-price span:nth-of-type(1){
	font-size: 1.9em;
	background: #e8e797;
	color: #223c37;
	padding: .3em 1.0em;
	line-height: 1.2em;
	margin-right: .5em;
}

.parts-price-wrap .lp-price span:nth-of-type(1){
	font-size: 2.1em;
}

.lp-price span:nth-of-type(2){
	font-size: 7.2em;
	color: #e8e797;
}

.lp-price span:nth-of-type(3){
	font-size: 2.5em;
	color: #e8e797;
	writing-mode: vertical-rl;
}

.lp-read-wrap .parts-contents-wrap .parts-price-wrap .price-wrap .title{
	text-align: center;
	font-size: 2.0em;
	background: #e8e797;
	color: #223c37;
	margin-top: -.3em;
	margin-bottom: 1.0em;
	padding: .35em;
}

.lp-read-wrap .parts-contents-wrap .parts-price-wrap .price-wrap .text{
	font-size: 1.6em;
	line-height: 1.9;
	text-align: center;
}


/*
lp-case
--------------------
*/

.lp-case-wrap{
	padding: 1em 0 6em;
}

.lp-case-wrap .case-contents-wrap{
	padding-top: 2em;
	padding-bottom: 2em;
}

.lp-case-wrap .case-contents-wrap .case-contents{
	text-align: center;
	padding: 0 1.5em;
}

.lp-case-wrap .case-contents-wrap .case-contents .title{
	font-size: 1.0em;
	line-height: 2;
	padding-top: 1.5em;
}


.lp-case-wrap .count-read span{
	display: block;
	font-size: 1.05em;
	color: #223c37;
	background: #e8e797;
	padding: .6em;
	line-height: 1.7em;
	text-align: center;
}


/*
lp-media
--------------------
*/

.lp-media-wrap{
	padding: 4em 0;
}

.lp-media-wrap .media-slider-wrap {
    background: #FFF;
    padding: 3em 0;
    margin: 3em 0 2em;
    display: flex;
    flex-flow: column;
    gap: 2em;
}

.lp-media-wrap .media-slider-wrap .media-slider-1{
	width: 100%;
    height: auto;
    aspect-ratio: 5072/531;
    background: url(img/media_list01.webp) repeat-x 0 0;
    background-size: auto 100%;
    animation: media-slider 80s linear infinite;
}

.lp-media-wrap .media-slider-wrap .media-slider-2{
    width: 100%;
    height: auto;
    aspect-ratio: 5072/520;
    background: url(img/media_list02.webp) repeat-x 0 0;
    background-size: auto 100%;
    animation: media-slider 75s linear infinite;
}

@keyframes media-slider {

	0% {
	    background-position: 0 0;
	}
	
	100% {
	    background-position: -5072px 0;
	}
}


/*
lp-movie
--------------------
*/

.lp-read-movie-wrap{
	width: 100%;
	background: #000;
	position: relative;
}

.lp-read-movie-wrap img,
.lp-read-movie-wrap video{
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}


/*
lp-free
--------------------
*/

.lp-free-wrap{
	padding: 2em 5vw 10em; 
	position: relative;
	z-index: 1;
	border-top: 2px solid #FFF;
}

.lp-free-wrap .thumb-wrap,
.lp-free-wrap .thumb-wrap img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
	width: 100%;
	height: 100%;
	z-index: -1;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.lp-free-wrap .text-wrap .title{
	margin-bottom: 4em;
}

.lp-free-wrap .text-wrap .read{
	font-size: 1.7em;
	line-height: 2.3;
	letter-spacing: .1em;
	margin-bottom: 3em;
}

.lp-free-wrap .text-wrap .text{
	line-height: 2.2;
}


/*
lp-alo
--------------------
*/


.lp-alo-wrap{
	padding: 2em 0 6em;
}

.products-detail-wrap{
	 min-height: 130vh;
 }

.lp-alo-wrap .products-detail-wrap::before {
    content: "";
    display: block;
    width: 100%;
    height: 48em;
    background: url(img/products_01_630.png) no-repeat 82% top;
    background-size: 230%;
}

.detail-list-wrap{
	padding-top:2em;
}

.detail-list-wrap .detail-list{
	width: 90%;
	margin: 0 auto 2em;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 2.5em;
}

.detail-list-wrap .detail-list:nth-of-type(even){
	flex-flow: row-reverse;
}

.detail-list-wrap .thumb-wrap{
	width: 45%;
	height: 0;
	padding-top: 63%;
	position: relative;
}

.detail-list-wrap .thumb-wrap img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.detail-list-wrap .text-wrap{
	display: flex;
	flex-flow: column;
	align-items: flex-end;
	gap:4em;
	width: 48%;
	position: relative;
}

.detail-list-wrap .detail-list:nth-of-type(even) .text-wrap,
.detail-list-wrap .detail-list:nth-of-type(even) .text-wrap .title{
	align-items: flex-start;
}

.detail-list-wrap .text-wrap .title-wrap{
	gap:1em;
	line-height: 1;
	position: relative;
	width: 150%;
	top: 2em;
	right: 0;
	white-space: nowrap;
	border-top: .3px solid #ccc2be;
	padding-top: 0.6em;
}

.detail-list-wrap .text-wrap .title-wrap::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	top: -0.5px;
	left: 0;
	background: #ccc2be;
	transition: transform 1s ease;
	transform: scale(0, 1);
	transform-origin: right top;
}

.detail-list-wrap .linein .text-wrap .title-wrap::after{
	transform: scale(1, 1);
	transform-origin: left top;
}

.detail-list-wrap .text-wrap .title-wrap::before{
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background: #ccc2be;
	border-radius: 100%;
	position: absolute;
	left: 0;
	top: 0;
	transform: translateY(-50%);
}

.detail-list-wrap .detail-list:nth-of-type(even) .text-wrap .title-wrap::before{
	left: auto;
	right: 0;
}

.detail-list-wrap .detail-list:nth-of-type(even) .text-wrap .title-wrap{
	right: auto;
	left: 0;
}

.detail-list-wrap .text-wrap .title-wrap .num{
	display: inline-block;
	font-size: 2.3em;
	margin-right: .2em;
}

.detail-list-wrap .text-wrap .title-wrap .title{
	display: flex;
	flex-flow: column;
	align-items: flex-end;
	gap:1em;
}

.detail-list-wrap .text-wrap .title-wrap .title .jp{
	display: block;
	font-size: 1.3em;
}

.detail-list-wrap .text-wrap .title-wrap .title .en{
	font-size: 1.3em;
	letter-spacing: .1em;
}

.detail-list-wrap .text-wrap .text{
	font-size: .80em;
	line-height: 1.8;
}


/*
lp-ex
--------------------
*/


.lp-ex-wrap{
	padding: 0 0 3em;
	color: #003934;
}

.lp-ex-wrap .l-title{
	color: #003934;
	/*background: #2a2a2a;
	padding: .6em;*/
	margin-bottom: 1em;
}


.lp-alo-wrap .l-title{
	color: #ccc2be;
	/*background: #2a2a2a;
	padding: .6em;*/
	margin-bottom: 4em;
}



.lp-ex-wrap .products-detail-wrap::before {
    content: "";
    display: block;
    width: 100%;
    height: 43em;
    background: url(img/products_02.png) no-repeat 13% top;
    background-size: 230%;
}

.lp-ex-wrap .detail-list-wrap .text-wrap .title-wrap{
	border-top-color: #003934;
}

.lp-ex-wrap .detail-list-wrap .text-wrap .title-wrap::before,
.lp-ex-wrap .detail-list-wrap .text-wrap .title-wrap::after{
	background: #003934;
}



/*
lp-two
--------------------
*/

.lp-two-wrap{
	color: #003934;
	padding: 5em 0;
}

.lp-two-wrap .l-title .jp::before,
.lp-two-wrap .l-title .jp::after{
	background: #003934;
}

.view .lp-two-wrap .l-title .jp::before,
.view .lp-two-wrap .l-title .jp::after{
	background: #ccc2be;
}

.lp-two-wrap .title-read-wrap{
    padding-top: 1em;
    margin-bottom: 4em;
}

.two-products-wrap{
	width: 94%;
	max-width: 1880px;
	margin: 0 auto;
	text-align: center;
}

.two-products-wrap .icatch-wrap{
	display: flex;
	justify-content: space-between;
	margin-bottom: 3em;
}

.two-products-wrap .icatch-wrap .icatch{
	position: relative;
	width: 48%;
}

.two-products-wrap .icatch-wrap .icatch .title{
	font-size: 1.2em;
	margin-bottom: 1em;
	color: #d0c2be;
	border: 1px solid #FFF;
	border-radius: .5em;
}

.two-products-wrap .icatch-wrap .icatch span{
	letter-spacing: 0;
	display: block;
	white-space: nowrap;
	margin-bottom: 1.5em;
}

.two-products-wrap .icatch-wrap .icatch:nth-of-type(1) .title{
	background: #003934;
}

.two-products-wrap .icatch-wrap .icatch:nth-of-type(2) .title{
	background: #003934;
}


.two-products-detail-contents{
	padding: 2em 0;	
	position: relative;
}

.two-products-detail-contents::before{
	content: "";
	display: block;
	width: 100vw;
	height: .3px;
	background: #003934;
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
	transition: transform 1s ease;
	transform-origin: right top;
}

.two-products-detail-contents::after{
	content: "";
	display: block;
	width: 100vw;
	height: 1px;
	background: #003934;
	position: absolute;
	top: -0.5px;
	left: calc(50% - 50vw);
	transition: transform 1s ease;
	transform: scale(0, 1);
	transform-origin: right top;
}

.two-products-detail-contents.linein::after{
	transform: scale(1, 1);
	transform-origin: left top;
}

.two-products-detail-contents .title{
	font-size: 1.4em;
	letter-spacing: .18em;
	background: #003934;
	color: #d0c2be;
	border-radius: .5em;
	padding: .2em 1.6em;
	min-width: 244px;
	display: table;
	margin: 0 auto 2em;
}

.two-products-detail-contents .inner{
	display: flex;
	justify-content: space-between;
	margin-bottom: 1.5em;
	position: relative;
}

/*
.two-products-detail-contents .inner::after{
	content: "";
	display: block;
	width: 1px;
	height: 100%;
	background: #003934;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
*/

.two-products-detail-contents .contents{
	width: 48%;
}

.two-products-detail-contents .contents p{
	font-size: 1.2em;
}

.two-products-detail-contents .contents .icatch-contents{
	margin-bottom: 4em;
}

.two-products-detail-contents .contents .icatch-contents .stitle{
	font-size: 1.4em;
	line-height: 1;
	margin: 1.5em 0;
}

.two-products-detail-contents .contents .icatch-contents .stitle .num{
	display: block;
	font-size: 3.9em;
	letter-spacing: 0;
}

.two-products-detail-contents .contents .icatch-contents p{
	line-height: 1.8;
}


.two-products-detail-contents .contents .thumb-contents{
	margin-bottom: 1.5em;
}

.two-products-detail-contents .contents .thumb-contents:last-of-type{
	margin-bottom: 0;
}

.two-products-detail-contents .contents .thumb-contents .stitle{
	font-size: 1.1em;
	line-height: 2;
	margin-top: .6em;
}

.two-products-common-wrap{
	position: relative;
	padding: 2em 2vw 0;
	z-index: 1;
}

.two-products-common-wrap:before{
	content: "";
	display: block;
	width: 100vw;
	height: 100%;
	background: #cbccc1;
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
	z-index: -1;
}

.two-products-common-wrap .ctitle{
	font-size: 1.8em;
	letter-spacing: .1em;
	padding-bottom: .6em;
	margin-bottom: 1em;
	position: relative;
}

.two-products-common-wrap .ctitle::after{
	content: "";
	display: block;
	width: 100vw;
	height: .3px;
	background: #003934;
	position: absolute;
	bottom: 0;
	left: calc(50% - 50vw);
}

.two-products-common-wrap .ctitle::before{
	content: "";
	display: block;
	width: 100vw;
	height: 1px;
	background: #003934;
	position: absolute;
	bottom: -0.5px;
	left: calc(50% - 50vw);
	transition: transform 1s ease;
	transform: scale(0, 1);
	transform-origin: right top;
}

.two-products-common-wrap.linein .ctitle::before{
	transform: scale(1, 1);
	transform-origin: left top;
}

.two-products-common-contents-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.two-products-common-contents-wrap .two-products-common-contents{
	width: 48%;
	margin-bottom: 2em;
}

.two-products-common-contents-wrap .two-products-common-contents .text{
	font-size: 1em;
	line-height: 2;
	margin-top: .6em;
}

/*
lp-system
--------------------
*/

.lp-system-wrap{
	padding: 4em 0;
	color: #003934;
	transition: color .3s ease;
}

.lp-system-wrap .l-title .jp::before,
.lp-system-wrap .l-title .jp::after{
	background: #003934;
}

.view .lp-system-wrap{
	color: #ccc2be;
}

.view .lp-system-wrap .l-title .jp::before,
.view .lp-system-wrap .l-title .jp::after{
	background: #ccc2be;
}

.duo-movie-wrap{
	margin-bottom: 2em;
}

.duo-movie-wrap .text{
	font-size: .9em;
}


.duo-movie-wrap video{
	width: 100%;
	margin-bottom: 1em;
}

.products-2clm-contents-wrap{
	width: 170vw;
}

.products-2clm-contents-wrap .products-2clm-contents{
	padding: 0 14vw;
	position: relative;
	transform: translateX(8%);
}

.products-2clm-contents-wrap .products-2clm-contents .thumb-wrap{
	margin-bottom: 2em;
}

.products-2clm-contents-wrap .products-2clm-contents .text-wrap .num{
	font-size: 6em;
	line-height: 1;
	position: absolute;
	top: 0;
	left: -0.1em;
}


.products-2clm-contents-wrap .products-2clm-contents .text-wrap .text .title{
	font-size: 1.4em;
	letter-spacing: .1em;
	position: absolute;
	top: 6em;
	left: .3em;
	writing-mode: vertical-rl;
}

.products-2clm-contents-wrap .products-2clm-contents .text-wrap .text p{
	font-size: 0.9em;
	line-height: 2;
	text-align: center;
}


/*
lp-commit
--------------------
*/

.lp-commit-wrap{
	padding:4em 0 3em;
	color: #ccc2be;
	transition: color .3s ease;
}

.lp-commit-wrap .l-title .jp::before,
.lp-commit-wrap .l-title .jp::after{
	background: #ccc2be;
}

.view .lp-commit-wrap{
	color: #003934;
}

.view .lp-commit-wrap .l-title .jp::before,
.view .lp-commit-wrap .l-title .jp::after{
	background: #003934;
}

.commit-contents-wrap{
	width: 90%;
	max-width: 1880px;
	margin: 0 auto;
	padding-top: 4em;
}

.commit-contents{
	margin-bottom: 4em;
}

.commit-contents .text-wrap{
	text-align: center;
}

.commit-contents .text-wrap .num{
	display: none;
}

.commit-contents .text-wrap .title{
	font-size: 1.6em;
	letter-spacing: .1em;
	margin-bottom: 1em;
	padding: 1.5em 0;
	position: relative;
}

.commit-contents .text-wrap .title::before{
	content: "";
	display: block;
	width: 100vw;
	height: .3px;
	background: #003934;
	position: absolute;
	bottom: 0;
	left: calc(50% - 50vw);
}

.commit-contents .text-wrap .title::after{
	content: "";
	display: block;
	width: 100vw;
	height: 1px;
	background: #003934;
	position: absolute;
	left: calc(50% - 50vw);
	bottom: -0.5px;
	transition: transform 1s ease;
	transform: scale(0, 1);
	transform-origin: right top;
}

.commit-contents.linein .text-wrap .title::after{
	transform: scale(1, 1);
	transform-origin: left top;
}


.commit-contents .text-wrap .text{
	font-size: 0.9em;
	line-height: 1.9;
}

.commit-contents .thumb-wrap{
	width: 100vw;
	position: relative;
	left: calc(50% - 50vw);
}


/*
lp-training
--------------------
*/


.lp-training-wrap{
	padding: 3em 0 4em;
	color: #003934;
	transition: color .3s ease;
}

.lp-training-wrap .l-title .jp::before,
.lp-training-wrap .l-title .jp::after{
	background: #003934;
}

.view .lp-training-wrap{
	color: #ccc2be;
}

.view .lp-training-wrap .l-title .jp::before,
.view .lp-training-wrap .l-title .jp::after{
	background: #ccc2be;
}

.lp-training-wrap .title-read-wrap{
    padding-top: 2em;
    margin-bottom: 8.5em;
}

.training-contents-wrap{
	background: #141414;
	width: 90%;
	max-width: 1900px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	padding: 3em 5vw;
}

.training-contents-wrap .training-title{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50% , -75%);
	text-align: center;
	display: flex;
	gap:1.3em;
	flex-flow: column-reverse;
	line-height: 1;
}

.training-contents-wrap .training-title .en{
	font-size: 16vw;
	display: block;
	white-space: nowrap;
}

.training-contents-wrap .training-title .jp{
	font-size: 1.38em;
}

.training-contents-wrap .training-contents{
	width: 48%;
	margin-bottom: 1.5em;
}

.training-contents-wrap .training-contents .title{
	font-size: 1.0em;
	margin-top: 0.6em;
}


/*
lp-products-movie
--------------------
*/


.lp-products-movie-wrap{
	padding: 4em 0 3em;
}

.lp-products-movie-wrap .movie-contents-wrap{
	padding-top: 3em;
	width: 100%;
	margin: 0 auto;
}
.lp-products-movie-wrap .movie-contents-wrap video{
	width: 100%;
}

.lp-products-movie-wrap .movie-contents-wrap .note{
	text-align: center;
	font-size: 1.2em;
	letter-spacing: .1em;
	margin-top: 1.4em;
	padding: 0 5vw;
}

.lp-products-movie-wrap.movie1 .l-title .jp{
	color: #eae995;
}

.lp-products-movie-wrap.movie1 .l-title .jp::before,
.lp-products-movie-wrap.movie1 .l-title .jp::after{
	background: #eae995;
}

.lp-products-movie-wrap.movie1 .l-title .en font:nth-of-type(1){
	font-size: 1.5em;
	line-height: 1;
	letter-spacing: .1em;
	display: block;
	margin-bottom: .2em;
	margin-top: .3em;
}

.lp-products-movie-wrap.movie1 .l-title .en font:nth-of-type(2){
	font-size: .5em;
	letter-spacing: .1em;
	display: block;
}

.lp-products-movie-wrap.movie1 .sub-title{
	text-align: center;
	font-size: 1.46em;
	letter-spacing: .1em;
	margin-top: .5em;
}

.lp-movie-wrap .movie-wrap{
	width: 100vw;
	height: 100dvh;
	position: fixed;
	top: 0;
	left: 0;
	padding: 30dvh 6vw;
	display: none;
	z-index: 999;
}

.lp-movie-wrap .movie-wrap .movie-bg{
	top: 0;
	left: 0;
	width: 100vw;
	height: 100dvh;
	position: fixed;
	background: rgba(128,128,128,1);
}

.lp-movie-wrap .movie-wrap #ytmovie-wrap,
.lp-movie-wrap .movie-wrap iframe{
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 2;
}

.lp-movie-thumb-wrap{
	position: relative;
	overflow: hidden;
	line-height: 0;
	background: #000;
}

.lp-movie-thumb-wrap img{
	width: 100%;
}

.lp-movie-thumb-wrap img.bghover{
	transition:transform 3s cubic-bezier(.22,1,.36,1),opacity .7s cubic-bezier(.22,1,.36,1);
	display: block;
}

.lp-movie-thumb-wrap:hover img.bghover{
	transform: scale(1.05);
	opacity: .7;
}

.lp-movie-thumb-wrap::after{
	display: block;
	content: "";
	width: 5em;
	height: 5.7em;
	background: url(img/icon_play.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
}

.lp-movie-thumb-wrap::before{
	content: "View";
	font-family: "optima-lt-pro", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #d0c2be;
	font-size: 1.4em;
	letter-spacing: .1em;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , 2.8em);
}

.movie1 .lp-movie-thumb-wrap::before{
	display: none;
}

.lp-movie-thumb-wrap .circle{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
}

.lp-movie-thumb-wrap .circle span{
	display: block;
	animation:3s ease-in-out infinite rotation;
}

@keyframes rotation{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}

.lp-movie-thumb-wrap .circle span svg{
	width: 11em;
}

svg .svg-elem-1 {
  fill: none;
  stroke: #d0c2be;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;

  /* 線と空白の長さを同じに */
  stroke-dasharray: 707.13 707.13;
  stroke-dashoffset: 1414.26; /* 最初は最後までずらしておく */

  animation: draw-and-erase-reverse 2s linear infinite;
}

@keyframes draw-and-erase-reverse {
  0% {
    stroke-dashoffset: 1414.26; /* 右端スタート */
  }
  50% {
    stroke-dashoffset: 707.13;  /* 線を描く */
  }
  100% {
    stroke-dashoffset: 0;       /* 線を逆方向に消す */
  }
}


/*
lp-warranty
--------------------
*/


.lp-warranty-wrap{
	padding: 4em 0;
	color: #ccc2be;
	transition: color .3s ease;
}

.lp-warranty-wrap .l-title .jp::before,
.lp-warranty-wrap .l-title .jp::after{
	background: #ccc2be;
}

.view .lp-warranty-wrap{
	color: #003934;
}

.view .lp-warranty-wrap .l-title .jp::before,
.view .lp-warranty-wrap .l-title .jp::after{
	background: #003934;
}

.warranty-read-wrap{
	padding-top: 6em;
	margin-bottom: 4em;
}

.warranty-read-wrap .thumb-wrap{
}

.warranty-read-wrap .text-wrap{
	text-align: center;
}

.warranty-read-wrap .text-wrap .title{
	display: table;
	line-height: 1;
    padding: 0.1em 5em 3.8em;
	margin:0 auto 3em;
	background: url(img/3year.png) no-repeat;
	background-size: contain;
	font-size: 2.6vw;
}

.warranty-read-wrap .text-wrap .title .jp {
	display: flex;
	flex-flow: column;
	justify-content: center;	
}

.warranty-read-wrap .text-wrap .title .jp span:nth-of-type(1){
	font-size: 2.7em;
	letter-spacing: .1em;
	margin-bottom: 1.2em;
}

.warranty-read-wrap .text-wrap .title .jp span:nth-of-type(2){
	font-size: 4.6em;
	letter-spacing: .1em;
	margin-bottom: .3em;
}

.warranty-read-wrap .text-wrap .title .jp span:nth-of-type(3){
	font-size: 1.3em;
	letter-spacing: .1em;
	margin-bottom: 2.3em;
}

.warranty-read-wrap .text-wrap .title .en{
	font-size: 2em;
	letter-spacing: 0;
}

.warranty-read-wrap .text-wrap .read{
	font-size: 1.6em;
	letter-spacing: .1em;
	display: table;
	margin: 2.5em auto 1.5em;
}

.warranty-read-wrap .text-wrap .text{
	width: 90%;
	margin: 0 auto;
	font-size: 1.1em;
	line-height: 2;
}

.detail-data-wrap{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}

.detail-data-wrap dl{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.detail-data-wrap dl dt{
	width: 22%;
	font-size: 1.0em;
	letter-spacing: .1em;
	border-top: 1px solid #003934;
	padding-top: 1.4rem;
	padding-bottom: 3rem;
	position: relative;
}

.detail-data-wrap dl dt:after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #003934;
	position: absolute;
	left: 0;
	top: -0.5px;
	transition: transform 1s ease;
	transform: scale(0, 1);
	transform-origin: right top;
}

.detail-data-wrap dl dd{
	width: 76%;
	font-size: 1.0em;
	border-top: 1px solid #003934;
	padding-top: 1.4rem;
	padding-bottom: 3rem;
	position: relative;
}

.detail-data-wrap dl dd:after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #003934;
	position: absolute;
	left: 0;
	top: -0.5px;
	transition: transform 1s ease;
	transform: scale(0, 1);
	transform-origin: right top;
}

.detail-data-wrap dl.linein dt:after,
.detail-data-wrap dl.linein dd:after{
	transform: scale(1, 1);
	transform-origin: left top;
}



/*
lp-spec
--------------------
*/


.lp-spec-wrap{
	padding: 7em 0 3em;
	color: #003934;
}

.lp-spec-wrap .detail-data-wrap{
	padding-top: 4em;
}

.lp-spec-wrap .icatch-wrap{
	width: 100vw;
	position: relative;
	left: calc(50% - 50vw);
	display: flex;
	flex-flow: column;
	gap:0em;
	margin-top: 2em;
}

.lp-spec-wrap .icatch-wrap img{
  display:block;
  width:100%;
}

.lp-spec-wrap .dl-btn{
	text-align: center;
	display: block;
	font-size: 1.1em;
	letter-spacing: .1em;
	background: #003934;
	color: #ccc2be;
	padding: 1em;
	margin-top: 1em;
}



/*
lp-setup
--------------------
*/


.lp-setup-wrap{
	padding: 4em 0;
	color: #003934;
}

.lp-setup-wrap .icatch-wrap{
	width: 90%;
	max-width: 1880px;
	margin: 4em auto 0;
	display: flex;
	flex-flow: column;
	background: #FFF;
	padding-top: 0em;
}

.lp-setup-wrap .icatch-wrap .icatch:nth-of-type(1){
	width: 100%;
	margin: 0 auto;
}

.lp-setup-wrap .icatch-wrap .icatch:nth-of-type(1) img{
	display: block;
}

.lp-setup-wrap .icatch-wrap .icatch:nth-of-type(2){
	overflow: hidden;
}

.lp-setup-wrap .icatch-wrap .icatch:nth-of-type(2) img{
	transform: scale(1.2);
}




/*
lp-package
--------------------
*/

.lp-package-wrap{
	padding: 4em 0;
	color: #003934;
	transition: color .3s ease;
}

.lp-package-wrap .l-title .jp::before,
.lp-package-wrap .l-title .jp::after{
	background: #003934;
}

.view .lp-package-wrap{
	color: #ccc2be;
}

.view .lp-package-wrap .l-title .jp::before,
.view .lp-package-wrap .l-title .jp::after{
	background: #ccc2be;
}

.package-contents-wrap{
	margin: 0 auto;
	padding-top: 3em;
	font-size: 1.6vw;
}

.package-contents-wrap .ptitle{
	width: 90%;
	margin: 0 auto;
	text-align: center;
	max-width: 1880px;
	font-size: 5.7em;
	line-height: 1;
	color: #eae995;
	position: relative;
}

.package-contents-wrap .read-wrap{
	line-height: 1;
	margin:0 auto 7em;
}

.package-contents-wrap .read-wrap .name-wrap{
	width: 90%;
	margin: 0 auto 1em;
	color: #eae995;
	display: flex;
	align-items: center;
	justify-content: center;
	gap:2em;
}

.package-contents-wrap .read-wrap .name-wrap .num{
	font-size: 8em;
}

.package-contents-wrap .read-wrap .name-wrap .en{
	font-size: 6em;
}

.package-contents-wrap .read-wrap .subtitle{
	font-size: 5em;
	letter-spacing: .1em;
	position: relative;
	text-align: center;
	display: block;
	color: #eae995;
	padding: .6em 0;
	line-height: 1em;
}

.package-contents-wrap .read-wrap .subtitle .package{
	font-size: 0.8em;
	letter-spacing: .05em;
}

.package-contents-wrap .read-wrap .subtitle::before{
	content: "";
	display: block;
	width: 8.0rem;
	height: 1.5px;
	background: #e8e797;
	position: absolute;
	left: 0em;
	top: 68%;
	transform: translateY(-50%);
}

.package-contents-wrap .read-wrap .subtitle::after{
	content: "";
	display: block;
	width: 8.0rem;
	height: 1.5px;
	background: #e8e797;
	position: absolute;
	right: 0em;
	top: 68%;
	transform: translateY(-50%);
}

.package-contents-wrap .read-wrap .list-wrap{
	display: flex;
	flex-flow: column;
	gap:1em;
	width: 100%;
	position: relative;
	padding-top: 0em;
}

/*.package-contents-wrap .read-wrap .list-wrap::before{
	content: "";
	display: block;
	width: 100vw;
	height: .3px;
	background: #e8e797;
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
}

.package-contents-wrap .read-wrap .list-wrap::after{
	content: "";
	display: block;
	width: 100vw;
	height: .3px;
	background: #e8e797;
	position: absolute;
	top: 4px;
	left: calc(50% - 50vw);
}*/

.package-contents-wrap .read-wrap .line-wrap{
	position: relative;
}

/*.package-contents-wrap .read-wrap .line-wrap::before{
	content: "";
	display: block;
	width: 100vw;
	height: 1px;
	background: #e8e797;
	position: absolute;
	top: -0.5px;
	left: calc(50% - 50vw);
	transform: scale(0, 1);
	transition: transform 1s ease;
	transform-origin: right top;
}*/

.package-contents-wrap .read-wrap .line-wrap::after{
	content: "";
	display: block;
	width: 100vw;
	height: 1px;
	background: #e8e797;
	position: absolute;
	top: 3.5px;
	left: calc(50% - 50vw);
	transform: scale(0, 1);
	transition: transform 1s ease;
	transform-origin: right top;
}

.package-contents-wrap .read-wrap.linein .line-wrap::before,
.package-contents-wrap .read-wrap.linein .line-wrap::after{
	transform: scale(1, 1);
	transform-origin: left top;
}

.package-contents-wrap .read-wrap .list-wrap .list{
	font-size: 2.6em;
	letter-spacing: .1em;
	text-align: center;
	background: #eae995;
	color: #003934;
	padding: .6em;
	display: block;
	line-height: 1.7em;
}

.package-contents-wrap .icatch-wrap{
	position: relative;
	margin-bottom: 3em;
}

.package-contents-wrap .icatch-wrap::after{
	content: "";
	display: block;
	width: 5em;
	height: 5em;
	background: url(img/icon_plus.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 78em;
	left: 50%;
	transform: translateX(-50%);
}

.package-contents-wrap .icatch-wrap::before{
	content: "";
	display: block;
	width: 100%;
	height: 73vh;
}

.package1 .package-contents-wrap .icatch-wrap::before{
  content:"";
  display:block;
  width:100%;
  height: 64em;        
  background: url(img/package_icatch_01_630_sp-2.png) no-repeat 15% top;
  background-size:250%;
}

.machine-caption{
  text-align:center;
  margin: .8em 0 0;     
  color:#ccc2be;
  line-height:1em;
  letter-spacing:.14em;
  white-space:nowrap;
}

.machine-caption .en{ font-size:9vw; margin-right:.45em; }
.machine-caption .jp{
  font-size:2.5em;
  letter-spacing:.1em;
  line-height: 1.5em;
}

.package2 .package-contents-wrap .icatch-wrap::before {
    background: url(img/package_icatch_01_630.png) no-repeat 15%;
    background-size: 250%;
}

.package-contents-wrap .icatch-wrap .thumb-contents-wrap{
	padding-top: 8em;
	width: 90%;
	max-width: 1880px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 13px;
}

.package-contents-wrap .icatch-wrap .thumb-contents-wrap .thumb-contents{
	width: 48%;
	margin-bottom: 2em;
	text-align: center;
}

.package-contents-wrap .icatch-wrap .thumb-contents-wrap .thumb-contents .title{
	line-height: 2;
	padding-top: .5em;
	font-size: .9em;
}

.package-contents-wrap .add-contents-wrap{
	width: 90%;
	max-width: 1880px;
	display: flex;
	flex-flow: column;
	gap:3em;
	margin: 0 auto 10em;
	padding-top: 12em;
	position: relative;	
}

.package-contents-wrap .add-contents-wrap::before{
	content: "";
	display: block;
	width: 5em;
	height: 5em;
	background: url(img/icon_plus.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.package-contents-wrap .add-contents-wrap .add-contents{
	text-align: center;
}

.package-contents-wrap .add-contents-wrap .add-contents .title{
	font-size: 2.15em;
	line-height: 2;
	letter-spacing: .1em;
	padding-top: 1em;
}

.package-contents-wrap .price-b-wrap{
	display: flex;
	justify-content: center;
	width: 90%;
	max-width: 1880px;
	position: relative;
	padding-bottom: 5em;
	margin: 0 auto 0em;
}

.package-contents-wrap .price-b-wrap::after{
	content: "";
	display: block;
	width: 6.0em;
	height: 5em;
	background: url(img/arrow_by2.svg) no-repeat;
	background-size: contain;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}


.package-contents-wrap .price-b-wrap  .lp-price span:nth-of-type(1) {
    background: #ccc2be;
    color: #003934;
}

.package-contents-wrap .price-b-wrap .lp-price span:nth-of-type(2),
.package-contents-wrap .price-b-wrap .lp-price span:nth-of-type(3){
	color: #ccc2be;
}

.package-contents-wrap .lp-price span:nth-of-type(2){
	font-size: 7.0em;
}

.package-contents-wrap .lp-price span:nth-of-type(3){
	font-size: 2.3em;
}


.package-contents-wrap .price-a-wrap{
	display: flex;
	justify-content: center;
	width: 90%;
	max-width: 1880px;
	margin: 0 auto;
}

.package-contents-wrap .price-a-wrap .atitle{
	text-align: center;
	font-size: 7em;
	letter-spacing: 0;
	color: #eae995;
	border-bottom: 7px solid #eae995;
	padding: 0 .3em;
}

.package-contents-wrap .price-a-wrap .read{
	display: flex;
	align-items: center;
	justify-content: center;
	gap:1.5em;
	color: #003934;
	background: #eae995;
	padding: 1em;
	line-height: 1;
	margin-bottom: 2.0em;
	margin-top: -.7em;
}


.package-contents-wrap .price-a-wrap .read .en{
	font-size: 6.5em;
	letter-spacing: .1em;
}

.package-contents-wrap .price-a-wrap .read .jp{
	font-size: 2.3em;
	letter-spacing: .1em;
}

.package-contents-wrap .price-a-wrap .note{
	font-size: 1.7em;
	line-height: 1.6;
	text-align: center;
}

.lp-package-wrap.package2{
	padding: 9em 0;
	color: #ccc2be;
}

.lp-package-wrap.package2 .l-title .jp::before,
.lp-package-wrap.package2 .l-title .jp::after{
	background: #ccc2be;
}


/*
lp-option
--------------------
*/


.lp-option-wrap{
	padding: 4em 0;
	color: #ccc2be;
	transition: color .3s ease;
}

.lp-option-wrap .l-title .jp::before,
.lp-option-wrap .l-title .jp::after{
	background: #ccc2be;
}

.view .lp-option-wrap{
	color: #003934;
}

.view .lp-option-wrap .l-title .jp::before,
.view .lp-option-wrap .l-title .jp::after{
	background: #003934;
}

.lp-option-wrap .l-title{
	margin-bottom: 3em;
}

.option-title{
	font-size: 1.15em;
	line-height: 1.7;
	letter-spacing: .1em;
	width: 95%;
	margin: 0 auto;
}

.option-title.bl{
	text-align: center;
	padding: 0 1em 1em;
	border-bottom: .3px solid #003934;
	margin: 0 auto 1.6em;
	position: relative;
}

.option-title.bl::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #003934;
	position: absolute;
	left: 0;
	bottom: -0.5px;
	transition: transform 1s ease;
	transform: scale(0, 1);
	transform-origin: right top;
}

.inner.linein .option-title.bl::after{
	transform: scale(1, 1);
	transform-origin: left top;
}

.option-slider-wrap{
	margin-bottom: 1.5em;
}

.option-slider-wrap .slide{
	padding: 0 .75em;
}

.option-read-wrap{
	text-align: center;
	margin-bottom: 6em;
}

.option-read-wrap .text{
	font-size: .9em;
	line-height: 1.9;
	margin-top: 1.6em;
}

.option-tab-contents-wrap .tab-contents-wrap{
	margin-bottom: 5em;
	position: relative;
}

.option-tab-contents-wrap .tab-title{
	display: flex;
	flex-flow: column-reverse;
	margin-bottom: 2em;
}

.option-tab-contents-wrap .tab-contents{
	display: flex;
	justify-content: space-between;
	flex-flow: column;
	gap:2em;
}

.option-tab-contents-wrap .tab-title .tab-nav{
	padding: 0 6vw;
	display: flex;
	justify-content: space-between;
}

.option-tab-contents-wrap .tab-title .tab-nav li{
	width: 48%;
	font-size: 1.2em;
	letter-spacing: .1em;
	text-align: center;
	position: relative;
	border: 1px solid #003934;
	border-radius: .5em;
	transition: .4s ease;
}

.option-tab-contents-wrap .tab-title .tab-nav li.current{
	background: #003934;
	color: #abaf9e;
}

.option-tab-contents-wrap .tab-title .title{
	text-align: center;
	font-size: 1.55em;
	padding: 0 6vw;
	padding-bottom: 1.4rem;
	margin-bottom: 1.7rem;
	letter-spacing: .1em;
	border-bottom: .3px solid #003934;
	position: relative;
}

.option-tab-contents-wrap .tab-title .title::before{
	content: "";
	display: block;
	width: 100vw;
	height: 1px;
	background: #003934;
	position: absolute;
	bottom: -0.5px;
	left: calc(50% - 50vw);
	transition: transform 1s ease;
	transform: scale(0, 1);
	transform-origin: right top;
}

.option-tab-contents-wrap.linein .tab-title .title::before{
	transform: scale(1, 1);
	transform-origin: left top;
}

.option-tab-contents-wrap .tab-contents .tab-thumb-wrap{
	width: 100%;
	height: auto;
}

.option-tab-contents-wrap .tab-contents .tab-thumb{
	display: none;
	height: 100%;
}

.option-tab-contents-wrap .tab-contents .tab-thumb.current{
	display: block;
}

.option-tab-contents-wrap .tab-contents .tab-thumb img{
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.option-tab-contents-wrap .tab-contents .text-wrap{
	width: 90%;
	margin: 0 auto;
	padding-bottom: 2em;
}

.option-tab-contents-wrap .tab-contents .text-wrap .title{
	font-size: 13vw;
	letter-spacing: .1em;
	padding: 2em 0;
	white-space: nowrap;
	position: relative;
}

.option-tab-contents-wrap .tab-contents .text-wrap .title span{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.option-tab-contents-wrap .tab-contents .text-wrap .text{
	font-size: 1.1em;
	line-height: 1.8;
	text-align: justify;
}

.tab-contents-wrap.no-nav .tab-title{
	margin-bottom: 1em;
}

.tab-contents-wrap.no-nav .tab-contents{
	flex-flow: column;
	padding-right: 0;
}

.tab-contents-wrap.no-nav .tab-contents .tab-thumb-wrap{
	width: 100%;
}

.tab-contents-wrap.no-nav .tab-contents .text-wrap{
	width: 100%;
	padding: 2em 6vw 0;
}


.option-thumb-wrap{
	width: 100%;
	max-width: 1278px;
	margin: 6em auto 2em;
}

.option-thumb-wrap .thumb-wrap{
}

.option-thumb-wrap .text-wrap{
	width: 80%;
	margin: 0 auto;
	text-align: center;
	padding-top: 2em;
}

.option-thumb-wrap .text-wrap .text{
	font-size: .9em;
	line-height: 1.9;
	margin: 1.6em 0 3em;
}

.option-thumb-wrap .text-wrap .btn{
	display: block;
	text-align: center;
	font-size: 1.05em;
	letter-spacing: .1em;
	background: #eae999;
	color: #003934;
	border-radius: .75em;
	padding: .8em;
	padding-left: 1.5em;
	position: relative;
}

.option-thumb-wrap .text-wrap .btn::before{
	content: "";
	display: block;
	width: 1em;
	height: 1.15em;
	background: url(img/arrow_gr.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 1.2em;
	transform: translateY(-50%);
}


/*
lp-commit commit2
--------------------
*/


.lp-commit-wrap.commit2{
	padding: 4em 0 2em;
	color: #003934;
	transition: color .3s ease;
}

.lp-commit-wrap.commit2 .l-title .jp::before,
.lp-commit-wrap.commit2 .l-title .jp::after{
	background: #003934;
}

.view .lp-commit-wrap.commit2{
	color: #ccc2be;
}

.view .lp-commit-wrap.commit2 .l-title .jp::before,
.view .lp-commit-wrap.commit2 .l-title .jp::after{
	background: #ccc2be;
}

.lp-commit-wrap.commit2 .commit-contents-wrap{
	padding-top: 2em;
}

.lp-commit-wrap.commit2 .commit-contents{
	flex-flow: inherit;
}

.lp-commit-wrap.commit2 .commit-contents .thumb-wrap{
}

.lp-commit-wrap.commit2 .commit-contents .text-wrap .title{
	font-size: 2.6em;
	padding: 0;
	margin-bottom: .3em;
	margin-top: -0.8em;
}

.lp-commit-wrap.commit2 .commit-contents .text-wrap .title::before,
.lp-commit-wrap.commit2 .commit-contents .text-wrap .title::after{
	display: none;
}

.lp-commit-wrap.commit2 .commit-contents .text-wrap .text{
	text-align: left;
}

.lp-commit-wrap.commit2 .commit-contents .text-wrap .sub-title{
	text-align: center;
	font-size: 1.3em;
	line-height: 1.8;
	letter-spacing: 0.16em;
	margin-top: 1em;
	padding-bottom: 1.2em;
	margin-bottom: 1.4em;
	position: relative;
}

.lp-commit-wrap.commit2 .commit-contents .text-wrap .sub-title::before {
    content: "";
    display: block;
    width: 100%;
    height: 0.3px;
    background: #003934;
    position: absolute;
    bottom: 0;
    left: 0;
}

.lp-commit-wrap.commit2 .commit-contents .text-wrap .sub-title::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #003934;
    position: absolute;
    left: 0;
    bottom: -0.5px;
    transition: transform 1s ease;
    transform: scale(0, 1);
    transform-origin: right top;
}


.view .lp-commit-wrap.commit2 .commit-contents .text-wrap .sub-title::before,
.view .lp-commit-wrap.commit2 .commit-contents .text-wrap .sub-title::after{
	background: #ccc2be;
}

.lp-commit-wrap.commit2 .commit-contents.linein .text-wrap .sub-title::after {
    transform: scale(1, 1);
    transform-origin: left top;
}


/*
lp-movie voice
--------------------
*/


.lp-products-movie-wrap.voice{
	padding: 6em 0;
}

.lp-products-movie-wrap.voice .movie-contents-wrap{
	max-width: 1420px;
	padding-top: 4em;
}

.lp-products-movie-wrap.voice .movie-contents-wrap .cap{
	display: flex;
	flex-flow: column;
	align-items: center;
	gap:.6em;
	font-size: 1.1em;
	padding-top: 1.5em;
}


/*
lp-difference
--------------------
*/


.lp-difference-wrap{
	padding: 4em 5vw;
	width: 100%;
	margin: 0 auto;
	background: #005348;
}

.difference-inner{
	max-width: 1800px;
	margin: 0 auto;
}

.lp-difference-wrap .l-title .jp::before{
	width: 100%;
	left: 0;
	transform: none;
}

.difference-contents-wrap{
	padding-top: 8em;
	text-align: center;
}

.difference-contents-wrap .title-wrap{
	display: flex;
	justify-content: space-between;
	margin-bottom: 3em;
}

.difference-contents-wrap .title-wrap span{
	width: 32%;
	font-size: 1em;
	letter-spacing: .1em;
	border: 1px solid #ccc2be;
	color: #FFF;
	border-radius: .3em;
	padding: .2em;
}

.difference-contents-wrap .title-wrap span:nth-of-type(1){
	background: #eae995;
	border-color: #eae995;
	color: #003934;
	position: relative;
}

.difference-contents-wrap .title-wrap span:nth-of-type(1)::before{
	content: "";
	display: block;
	width: 5.5rem;
	height: 3.3rem;
	background: url(img/logo_m.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50% , -150%);
}

.difference-contents{
	margin-bottom: 3em;
}

.difference-contents:last-of-type{
	margin-bottom: 0;
}

.difference-contents .title{
	font-size: 1.1em;
	letter-spacing: .1em;
	background: #ccc2be;
	color: #003934;
	border-radius: .3em;
	padding: .2em 4em;
	display: table;
	margin:0 auto 2em;
}

.difference-contents .inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.difference-contents .inner span{
	width: calc(100% / 3);
	font-size: 1.1em;
	border-right: 1px solid #ccc2be;
}

.difference-contents .inner span:last-of-type{
	border: none;
}

.difference-contents .inner span:nth-of-type(1){
	font-size: 1.2em;
	color: #eae995;
}

.difference-contents.price .inner span{
	font-size: 1.4em;
}

.difference-contents.price .inner span:nth-of-type(1){
	font-size: 1.4em;
	color: #eae995;
}


/*
lp-faq
--------------------
*/


.lp-faq-wrap{
	padding: 4em 0 6em;
}

.faq-contents-wrap{
	padding-top: 3em;
	width: 90%;
	max-width: 1880px;
	margin: 0 auto;
}

.faq-contents-wrap .faq-contents{
	border-bottom: .3px solid #ccc2be;
	position: relative;
}

.faq-contents-wrap .faq-contents::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #ccc2be;
	position: absolute;
	left: 0;
	bottom: -0.5px;
	transition: transform 1s ease;
	transform: scale(0, 1);
	transform-origin: right top;
}

.faq-contents-wrap .faq-contents.linein::after{
	transform: scale(1, 1);
	transform-origin: left top;
}

.faq-contents-wrap .faq-contents dt{
	font-size: 1.1em;
	line-height: 2;
	letter-spacing: .1em;
	padding: 1.5em 4em;
	position: relative;
	cursor: pointer;
}

.faq-contents-wrap .faq-contents dt span{
	display: block;
	width: 2.8rem;
	height: 2.8rem;
	border: 1px solid #ccc2be;
	border-radius: .4em;
	position: absolute;
	right: 0;
	top: 1.8rem;
}

.faq-contents-wrap .faq-contents dt span::before{
	content: "";
	display: block;
	width: 60%;
	height: 2px;
	background: #ccc2be;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
}

.faq-contents-wrap .faq-contents dt span::after{
	content: "";
	display: block;
	width: 2px;
	height: 60%;
	background: #ccc2be;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
	transition: .3s ease;
}

.faq-contents-wrap .faq-contents.active dt span::after{
	height: 0;
}

.faq-contents-wrap .faq-contents dt::before{
	content: "Q";
	font-family: "optima-lt-pro", sans-serif;
	font-weight: 400;
	font-style: normal;
	position: absolute;
	left: 0;
	top: 1.2rem;
	font-size: 3rem;
	line-height: 1;
}

.faq-contents-wrap .faq-contents dd{
	font-size: 1.0em;
	line-height: 2;
	letter-spacing: .1em;
	padding: 0 4em 4em;
	position: relative;
	display: none;
}

.faq-contents-wrap .faq-contents dd::before{
	content: "A";
	font-family: "optima-lt-pro", sans-serif;
	font-weight: 400;
	font-style: normal;
	position: absolute;
	left: 0;
	font-size: 3rem;
	line-height: 1;
}

.faq-contents-wrap .faq-contents.active dd{
	top: 1.2rem;
}


/*
lp-showroom
--------------------
*/


.lp-showroom-wrap{
	padding: 4em 0 2em;
	color: #ccc2be;
	transition: color .3s ease;
}

.lp-showroom-wrap .l-title .jp::before,
.lp-showroom-wrap .l-title .jp::after{
	background: #ccc2be;
}

.view .lp-showroom-wrap{
	color: #003934;
}

.view .lp-showroom-wrap .l-title .jp::before,
.view .lp-showroom-wrap .l-title .jp::after{
	background: #003934;
}

.showroom-contents-wrap{
	width: 90%;
	max-width: 1880px;
	margin: 0 auto;
}

.showroom-contents-wrap .showroom-contents{
	padding: 2em 0;
	/*position: relative;*/
}

.showroom-contents-wrap .showroom-contents:last-of-type::after{
	display: none;
}

.showroom-contents-wrap .showroom-contents .showroom-slider{
	width: 180vw;
	transform: translateX(-5vw);
}

.showroom-contents-wrap .showroom-contents .showroom-slider-wrap .slider-nav {
	margin: 3px -3px 0;
}

.showroom-contents-wrap .showroom-contents .showroom-slider-wrap .slider-nav .slide{
	padding: 0 3px;
}

.slider-nav .slick-track {
	margin: 0;
}

.slide-count{
	display: table;
	font-size: 1.3em;
	letter-spacing: .1em;
	margin: .6em auto 0;
	padding-bottom: .2em;
	border-bottom: 1px solid #003934;
}

.showroom-contents-wrap .showroom-contents .title{
	display: flex;
	align-items: baseline;
	gap: 1.0em;
	margin-bottom: .5em;
}

.showroom-contents-wrap .showroom-contents .text-wrap{
	padding-top: 1.2em;
	margin-top: 1.5em;
	border-top: 0.3px solid #003934;
	position: relative;
}

.showroom-contents-wrap .showroom-contents .text-wrap::before{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #003934;
	position: absolute;
	left: 0;
	top: -0.5px;
	transition: transform 1s ease;
	transform: scale(0, 1);
	transform-origin: right top;
}

.showroom-contents-wrap .showroom-contents.linein .text-wrap::before{
	transform: scale(1, 1);
	transform-origin: left top;
}

.showroom-contents-wrap .showroom-contents .text-wrap .atitle{
	font-size: 1.6em;
	letter-spacing: .1em;
	margin-bottom: .5em;
}

.showroom-contents-wrap .showroom-contents .title span:nth-of-type(1){
	font-size: 11.5vw;
	letter-spacing: .05em;
}

.showroom-contents-wrap .showroom-contents .title span:nth-of-type(2){
	font-size: 4.5vw;
	letter-spacing: .05em;
}

.showroom-contents-wrap .showroom-contents .text-wrap .address{
	margin-bottom: 1em;
}

.showroom-contents-wrap .showroom-contents .text-wrap .address .jp{
	font-size: 1.0em;
	line-height: 1.5;
	letter-spacing: .1em;
}

.showroom-contents-wrap .showroom-contents .text-wrap .address .en{
	font-size: 1.1em;
	line-height: 2;
	letter-spacing: 0;
}

.showroom-contents-wrap .showroom-contents .text-wrap .tel{
	font-size: 1.2em;
	letter-spacing: .1em;
	margin-bottom: 0em;
}

.showroom-contents-wrap .showroom-contents .text-wrap .time{
	font-size: 1.2em;
	letter-spacing: .1em;

}

.showroom-contents-wrap .showroom-contents .text-wrap .text{
	font-size: 1.1em;
	line-height: 2;
	letter-spacing: 0;
	padding-top: 1.2em;
	margin-top: 1.2em;
	border-top: 0.5px solid #003934;
	position: relative;
}

.showroom-contents-wrap .showroom-contents .text-wrap .text::before{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #003934;
	position: absolute;
	left: 0;
	top: -0.5px;
	transition: transform 1s ease;
	transform: scale(0, 1);
	transform-origin: right top;
}

.showroom-contents-wrap .showroom-contents.linein .text-wrap .text::before{
	transform: scale(1, 1);
	transform-origin: left top;
}

footer{
	padding: 1em 0 10em;
}

footer .foot-btn-wrap{
	width: 90%;
	max-width: 1418px;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
	gap:3em;
	font-size: 1.3vw;
}

footer .foot-btn-wrap .btn{
	display: flex;
	flex-flow: column;
	gap:1em;
	line-height: 1;
	background: #e8e797;
	color: #003934;
	border-radius: 1em;
	padding: 3em;
	text-align: center;
	position: relative;
}

footer .foot-btn-wrap .btn::after{
	content: "";
	display: block;
	width: 6.9em;
	height: 6.9em;
	background: url(img/icon_arrow.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 3em;
	transform: translateY(-50%);
}

footer .foot-btn-wrap .btn::before{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 3em;
	transform: translateY(-50%);
}

footer .foot-btn-wrap .btn.product::before{
	width: 10em;
	height: 6.5em;
	background: url(img/icon_logo.svg) no-repeat;
	background-size: contain;
}

footer .foot-btn-wrap .btn.line::before{
	width: 8.3em;
	height: 8em;
	background: url(img/icon_line.svg) no-repeat;
	background-size: contain;
}

footer .foot-btn-wrap .btn.instagram::before{
	width: 7em;
	height: 7em;
	left: 3.5em;
	background: url(img/icon_in.svg) no-repeat;
	background-size: contain;
}

footer .foot-btn-wrap .btn.youtube::before{
	width: 8.7em;
	height: 6em;
	left: 3em;
	background: url(img/icon_yt.svg) no-repeat;
	background-size: contain;
}


footer .foot-btn-wrap .btn .en{
	font-size: 4.0em;
}

footer .foot-btn-wrap .btn .jp{
	font-size: 2.6em;
	letter-spacing: .1em;
}




/*
OPEN MENU
--------------------
*/


.open-menu::after{
	content: "";
	display: block;
	width: 100vw;
	height: 100dvh;
	background: rgba(0,0,0,0.5);
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
	pointer-events: none;
    transition: .6s ease 0s;
}

.open-menu.open::after{
	opacity: 1;
}

.open-menu-btn-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 3.6em;
    height: .8em;
    top: 50%;
    right: 5%;
    cursor: pointer;
    z-index: 1000;
    transform: translateY(-50%);
    transition: 1s ease 0s;
}

.open-menu-btn {
	display: block;
	border: none;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}

.open-menu-btn .toggle {
	width: 100%;
	height: 2px;
	display: block;
	position: absolute;
	left: 0;
}

.open-menu-btn .toggle::after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: #ccc2be;
	position: absolute;
	top: 0;
	left: 0;
}

.open-menu-btn .toggle:nth-child(1) {
	top: 0;
	transition: 0s ease .3s;
}

.open-menu-btn .toggle:nth-child(2) {
	bottom: 0;
	transition: 0s ease .5s;
}

.open .open-menu-btn .toggle:nth-child(1){
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}

.open .open-menu-btn .toggle:nth-child(2){
	bottom: 50%;
	transform: translateY(50%) rotate(-45deg);
}

.open-menu-btn.replay .toggle:nth-child(1)::after {
  animation: twidth 1s ease forwards 0s;
}

.open-menu-btn.replay .toggle:nth-child(2)::after {
    animation: twidth2 1s ease forwards .2s;
}


@keyframes twidth {


0% {
	width: 100%;
}

10% {
	width: 0%;
}

50% {
	width: 0%;
}

90% {
	width: 100%;
}

100% {
	width: 100%;
}

}

@keyframes twidth2 {


0% {
	width: 100%;
}

10% {
	width: 0%;
}

50% {
	width: 0%;
}

90% {
	width: 100%;
}
100% {
	width: 100%;
}

}

.open-menu-bg {
	position: fixed;
    top: 0;
    right: 0;
    left: auto;
    width: 0%;
    height: 0%;
    pointer-events: none;
    opacity: 0;
    transform: translateX(100%);
    z-index: 998;
    background: #003934;
    transition: .6s ease 0s;
}

.open .open-menu-bg {
	width: 100vw;
	height: 100dvh;
	opacity: 1;
    transform: translateX(0);
    transition: transform .6s ease 0s , width 0s ease;
}

.open-menu-wrap {
	width: 0;
	height: 100dvh;
	position: fixed;
	top: 0;
	right: 0;
	padding: 10em 5vw;
	overflow-y: scroll;
	overflow-x: hidden;
	color: #ccc2be;
	z-index: 998;
	-ms-overflow-style: none;
	scrollbar-width: none;
	pointer-events: none;
	opacity: 0;
    transform: translateX(100%);
    transition: transform .6s ease 0s , width 0s ease;
}

.open .open-menu-wrap {
	width: 100vw;
	opacity: 1;
    transform: translateX(0);
	pointer-events: visible;
}

.open-nav{
	margin-bottom: 9em;
}

.open-nav li{
	font-size: 1.6em;
	letter-spacing: .1em;
	margin-bottom: .7em;
	cursor: pointer;
	display: block;
}

.open-nav li p{
	position: relative;
	border-bottom: 1.5px solid #ccc2be;
	padding-bottom: .4rem;
}

.open-nav .open-contact{
	position: relative;
	border-bottom: 1.5px solid #ccc2be;
	padding-bottom: .4rem;
}

.open-nav li.parent span.icon{
	width: .6em;
	height: .6em;
	cursor: pointer;
	position: absolute;
	right: 0;
	top: calc(50% - .5rem);
	transform: translateY(-50%);
}

.open-nav li.parent span.icon::before{
	content: "";
	display: block;
	width: 2px;
	height: 100%;
	background: #ccc2be;
	position: absolute;
	top: 0;
	right: 50%;
	transform: translateX(50%);
	transition: .4s ease-in-out;
}

.open-nav li.parent.active span.icon::before{
	opacity: 0;
	transform: rotate(180deg);
}

.open-nav li.parent span.icon::after{
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: #ccc2be;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	transition: .4s ease-in-out;
}

.open-nav li.parent.active span.icon::after{
	transform: rotate(180deg);
}

.open-nav li .child{
	padding: 1em 0 2em;
	display: none;
}

.open-nav li .child li.products{
	font-size: .86em;
	display: flex;
	align-items: center;
	letter-spacing: .1em;
	margin-bottom: 1.15rem;
}

.open-nav li .child li.mt{
	margin-top: 2.3rem;
}

.open-nav li .child li.products .name {
	white-space: nowrap;
}

.open-nav li .child li.products .spec{
	font-size: .65em;
	position: relative;
	padding-left: 6em;
}

.open-nav li .child li.products .spec::after{
	content: "";
	display: block;
	width: 3.7em;
	height: 1px;
	background: #ccc2be;
	position: absolute;
	top: 50%;
	left: .8em;
	transform: translateY(-50%);
}

.open-nav li .child li.line{
	font-size: .86em;
	letter-spacing: .1em;
	margin-bottom: .6em;
}

.open-nav li .child li.line span{
	border-bottom: .25px solid #ccc2be;
}

.open-nav li .parent-sub{
	position: relative;
	padding-right: 1.2em;
}

.open-nav li .parent-sub font.icon{
	width: .6em;
	height: .6em;
	cursor: pointer;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-60%);
}

.open-nav li .parent-sub font.icon::before{
	content: "";
	display: block;
	width: 2px;
	height: 100%;
	background: #ccc2be;
	position: absolute;
	top: 0;
	right: 50%;
	transform: translateX(50%);
	transition: .4s ease-in-out;
}

.open-nav li .parent-sub.active font.icon::before{
	opacity: 0;
	transform: rotate(180deg);
}

.open-nav li .parent-sub font.icon::after{
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: #ccc2be;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	transition: .4s ease-in-out;
}

.open-nav li .parent-sub.active font.icon::after{
	transform: rotate(180deg);
}

.open-nav li .child-sub{
	padding: 1em 0;
	display: none;
}

.open-menu .sns-nav{
	padding-bottom: 1em;
	border-top: 0px solid #ccc2be;
	border-bottom: 1.5px solid #ccc2be;
}

.open-menu .sns-nav li{
	font-size: 1.35em;
	margin-bottom: .4em;
}

.open-menu .copyright-wrap{
	display: flex;
	align-items: center;
	gap:2.2em;
	letter-spacing: .1em;
	font-size: .9em;
	padding-top: 1.2em;
}



/*.l-title .jp::before,
.l-title .jp::after{
	display: none;
}

.lp-system-wrap .l-title .jp::before,
.lp-system-wrap .l-title .jp::after{
	display: none;
}

.lp-products-movie-wrap .l-title .jp::before,
.lp-products-movie-wrap .l-title .jp::after{
	display: none;
}*/

/*.lp-alo-wrap .l-title .jp::before,
.lp-alo-wrap .l-title .jp::after{
	display: none;
}


.lp-alo-wrap .l-title .jp{
  padding-bottom:.0em; 
}


.lp-ex-wrap .l-title .jp{
	padding-bottom: 0;
}


.lp-ex-wrap .l-title .jp::before,
.lp-ex-wrap .l-title .jp::after{
	display: none;
}*/

.l-title.nl .jp::before,
.l-title.nl .jp::after{
	display: none;
}



.lp-read-wrap .parts-contents-wrap .parts-price-wrap .text-wrap .title.no-line::before,
.lp-read-wrap .parts-contents-wrap .parts-price-wrap .text-wrap .title.no-line::after,
.lp-read-wrap .parts-contents-wrap .parts-price-wrap .text-wrap .title.no-line span::before,
.lp-read-wrap .parts-contents-wrap .parts-price-wrap .text-wrap .title.no-line span::after{
  content: none !important;
  display: none !important;
}





/* 製品仕様（JP）＋横線 → イエロー */
.lp-spec-wrap .l-title .jp{
  color: #eae995;
}

.lp-spec-wrap .l-title .jp::before,
.lp-spec-wrap .l-title .jp::after{
  background: #eae995;
}

/* SPEC（EN） → ベージュ */
.lp-spec-wrap .l-title .en{
  color: #ccc2be;
}






/* 6カラムで組む */
.lp-read-wrap .parts-contents-wrap .parts-nav{
  --gap: 2.8em;              /* ←ここで余白調整 */
  --plus: 1.5em;             /* ←＋のサイズ */
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  column-gap: var(--gap);
  row-gap: 3em;
  justify-items: stretch;
}

/* ダミーafterは不要なので無効化（gridだと邪魔） */
.lp-read-wrap .parts-contents-wrap .parts-nav::after{
  display: none;
}

/* transformハックは完全に無効化 */
.lp-read-wrap .parts-contents-wrap .parts-nav .parts:nth-child(n+4){
  transform: none !important;
}

/* 1〜3は2カラムずつ */
.lp-read-wrap .parts-contents-wrap .parts-nav .parts{
  width: 100%;
  grid-column: span 2;
  position: relative;
  overflow: visible;         /* 念のため */
}

/* 4,5を中央寄せ配置 */
.lp-read-wrap .parts-contents-wrap .parts-nav .parts:nth-child(4){
  grid-column: 2 / span 2;
}
.lp-read-wrap .parts-contents-wrap .parts-nav .parts:nth-child(5){
  grid-column: 4 / span 2;
}

/* ＋マーク：gapの“中央”に固定（←ここが肝） */
.lp-read-wrap .parts-contents-wrap .parts-nav .parts::after{
  content: "";
  display: block;
  width: var(--plus);
  height: var(--plus);
  background: url(img/icon_plus.svg) no-repeat center;
  background-size: contain;

  position: absolute;
  top: 50%;
  left: calc(100% + (var(--gap) / 2));  /* gapの真ん中 */
  transform: translate(-50%, -50%);     /* 自分の中心を合わせる */
}

/* 3番目と5番目は＋不要 */
.lp-read-wrap .parts-contents-wrap .parts-nav .parts:nth-child(3)::after,
.lp-read-wrap .parts-contents-wrap .parts-nav .parts:nth-child(5)::after{
  display: none;
}