@charset "UTF-8";

body{
	font-family: "Shippori Mincho B1", serif;
  	font-weight: 200;
}
/*section{
	overflow: hidden;
}*/
/*==========
main
==========*/
main{
	background: radial-gradient(ellipse at bottom, #1b2735 0%,#0c0b06 100%);
	margin: 0 auto;
	padding: 0;
	width: 100%;
	height: 98vh;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
main:after{
	content:"";
	background: url(../images/bg_bottom.png);
	background-size:100%;
	background-position: bottom center;
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
	position: absolute;
	bottom:0;
	left: 0;
}
main .main_inner {
	width: 100%;
	z-index: 1;
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
main .main_inner h1,
main .main_inner h2{
	color:#fff;
	font-size:25px;
	font-weight:300;
	text-align: center;
	text-shadow: #000 4px 0 7px;
	margin: 0 auto;
	width: fit-content;
}
main .main_inner h1 span{
	font-size:25px;
	font-weight:300;
}
main .main_inner h1 p{
	margin: 0 auto 3%;
}
main .main_inner h2 b{
	display: block;
	font-size: 34px;
	letter-spacing: 0.3em;
	margin: 0 0 20px;
}
main .main_inner figure{
	margin: 0 auto 15px;
    width: 105px;
	/* height: 158px; */
}
main .main_inner #roaling-text {
    font-size: 20px;
    text-transform: uppercase;
    font-weight: bold;
}
main .main_inner #roaling-text span {
    display: inline-block;
    transform-origin: center;
}
section{
	background:#0c0b06;
	margin: 0 auto;
    padding: 0;
    width: 100%;
	position: relative;
	z-index: 1;
}
section .section_wrap{
	margin: 0 auto;
	padding: 0;
	max-width: 1400px;
	width: 95%;
	position: relative;
	z-index: 1;
}
section .section_wrap h2{
	color:#fff;
	font-family: "Shippori Mincho B1", serif;
	font-size:34px;
	text-align: center;
	margin: 0 auto 8%;
	position: relative;
	z-index: 1;
	width: 90%;
}
section .section_wrap h2:before{
	content: "";
	background: #fff;
	width: 100px;
	height: 2px;
	position: absolute;
	bottom:-50px;
	left:50%;
	transform: translate(-50%,0);
}
section .section_wrap h2:after{
	font-family: "Pinyon Script", cursive;
    font-weight: 400;
    font-size: 200px;
    opacity: 0.5;
    position: absolute;
    bottom: -100%;
    left: 50%;
    z-index: 0;
    transform: translate(-50%, 0);
    color: transparent;
    background: linear-gradient(180deg, #fff 10%, transparent 70%);
    -webkit-background-clip: text;
	background-clip: text;
    width: 100%;
}
section#concept{
	margin: -2px auto 0;
	padding: 0;
	position: relative;
}
section#concept:after{
	content: "";
	background: url(../images/concept_bg.png);
	background-size:100%;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
	position: absolute;
	top:50%;
	left: 0;
	transform: translate(0,-50%);
	z-index: 0;
}
#concept .concept_inner{
    padding: 20vw 0 1vw;
}
#concept .concept_inner h2:after{
	content: "Concept";
}
#concept .concept_inner h3{
	color:#fff;
	font-size: 30px;
	font-weight:200;
	text-align: center;
	margin: 0 auto 8%;
	width: 90%;
}
#concept .concept_inner p{
	color:#fff;
	font-size: clamp(1rem, 0.833rem + 0.35vw, 1.25rem);/*16-20/769-1920*/
	font-weight: 200;
	line-height: 3.5em;
	text-align: center;
	margin: 0 auto 8%;
	width: 90%;
}
#concept .concept_inner .inline{
	font-family: "Cormorant Garamond", serif;
  	font-weight: 300;
	font-size:12px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	position: absolute;
	top:5%;
	right:5%;
}
#point{
	background: rgb(28,23,47);
	background: linear-gradient(25deg, rgba(28,23,47,1) 58%, rgba(2,68,109,1) 100%);
	z-index: 0;
}
#point .point_inner{
	display: flex;
	flex-wrap: wrap;
	padding: 30vw 0 22vw;
}
#point .point_inner h2:after{
	content: "Point";
}
#point .point_inner_list{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
#point .point_inner .pointdl{
	margin: 0 1.5% 3%;
	width: 22%;
}
#point .point_inner .pointdl dl{
	border-right:0.5px solid #fff;
	border-left:0.5px solid #fff;
	border-bottom:0.5px solid #fff;
	box-sizing: border-box;
	color: #fff;
	margin: 12% 0;
	padding: 0 20px 40px;
	position: relative;
	width: 100%;
	min-height: 83%;
}
.pointdl{
	position: relative;
}
.pointdl .point_tl{
	background: #fff;
	width: 4.5px;
	height: 4.5px;
	position: absolute;
	top:0;
	left:0;
}
.pointdl .point_tr{
	background: #fff;
	width: 4.5px;
	height: 4.5px;
	position: absolute;
	top:0;
	right:0;
}
.pointdl .point_bl{
	background: #fff;
	width: 4.5px;
	height: 4.5px;
	position: absolute;
	bottom:0;
	left:0;
}
.pointdl .point_br{
	background: #fff;
	width: 4.5px;
	height: 4.5px;
	position: absolute;
	bottom:0;
	right:0;
}
.pointdl dt{
	font-family: "Pinyon Script", cursive;
  	font-weight: 400;
	text-align: center;
	padding: 0;
	position: relative;
	width: 100%;
}
.pointdl dt:before{
	content:"";
	background:#fff;
	width: 35%;
	height: 1px;
	position:absolute;
	top:0;
	left: -20px;
}
.pointdl dt:after{
	content:"";
	background:#fff;
	width: 35%;
	height: 1px;
	position:absolute;
	top:0;
	right: -20px;
}
.pointdl dt .numberset{
	position: relative;
	top:-30px;
}
.pointdl dt span.pointnumber{
	display: block;
	font-size:42px;
	opacity: 1;
}
.pointdl dt span.pointtext{
	background: url(../images/pointtext.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    width: 42px;
    height: 25px;
    position: absolute;
    bottom: -12px;
    right: 35%;
}
.pointimg{
	margin: 0 auto 20px;
}
.pointcap{
	font-size: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);/*12-16/769-1920*/
	line-height: 1.8em;
	text-align: center;
}
#available{
	background: rgb(12,11,6);
	background: linear-gradient(180deg, rgba(12,11,6,1) 5%, rgba(107,93,70,1) 100%);
	z-index: 0;
	margin: 0 auto;
}
#available .available_inner{
	padding: 20vw 0 12vw;
}
#available .available_inner h2:after{
	content: "Available";
}
#available .availablebox{
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 5%;
	max-width: 1200px;
	width: 90%;
}
#available .availablebox figure{
	margin: 0 5% 0 0;
	width: 40%;
	position: relative;
}
#available .availablebox figure.soldout:before{
	content: "";
	background:url(../images/soldout.png);
	background-repeat: no-repeat;
	background-size:100%;
	width: 320px;
	height: 90px;
	transform: rotate(-10deg) translate(-50%,0);
	position: absolute;
	top:25%;
	left:50%;
}
#available .availablebox dl{
	display: flex;
	flex-wrap: wrap;
	color:#fff;
	line-height: 1.8em;
	width: 50%;
}
#available .availablebox dl dt{
	font-weight: 300;
	margin: 0 0 10px;
	padding: 0 0 5px;
	width: 20%;
	border-bottom: 2px solid #b5a486;
	position: relative;
}
#available .availablebox dl dd{
	border-bottom: 2px solid #939393;
	margin: 0 0 10px;
	padding: 0 0 5px;
	width: 80%;
}
#available .availablebox dl dd.price{
	color:#b5a486;
}
#available .availablebox dl dd.price b{
	font-size: 2.0em;
}
#available .availablebox dl dd.comment{
	border-bottom:none;
	width: 100%;
}
#available .availablelink a,
#available .availablelink span{
	display: block;
	border:1px solid #fff;
	color:#fff;
	font-size:clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);/*14-18/769-1920*/
	text-align: center;
	margin: 0 auto 12%;
	padding: 10px 0;
	max-width: 540px;
	width: 80%;
	transition: all ease 0.8s;
	position: relative;
}
#available .availablelink a:after{
	content:"";
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 134.455"><path fill="%23fff" d="M118.001,62.109L61.471,2.121c-2.663-2.828-6.985-2.828-9.648,0-2.665,2.827-2.665,7.411,0,10.238l44.883,47.629H6.823c-3.768,0-6.823,3.242-6.823,7.24s3.055,7.24,6.823,7.24h89.883l-44.883,47.628c-2.665,2.827-2.665,7.411-.001,10.238,1.332,1.414,3.078,2.121,4.825,2.121s3.492-.707,4.824-2.12l56.53-59.987c1.28-1.359,1.999-3.199,1.999-5.12s-.718-3.761-1.999-5.119Z" /></svg>');
	background-size: 100%;
	background-repeat: no-repeat;
	width: 12px;
	height: 12px;
	position: absolute;
	top:50%;
	right:20px;
	transform: translate(0,-50%);
}
#available .availablelink a:hover{
	background: rgba(255,255,255,0.8);
	color:#0c0b06;
}
#available .availablelink a:hover:after{
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 134.455"><path fill="%23000" d="M118.001,62.109L61.471,2.121c-2.663-2.828-6.985-2.828-9.648,0-2.665,2.827-2.665,7.411,0,10.238l44.883,47.629H6.823c-3.768,0-6.823,3.242-6.823,7.24s3.055,7.24,6.823,7.24h89.883l-44.883,47.628c-2.665,2.827-2.665,7.411-.001,10.238,1.332,1.414,3.078,2.121,4.825,2.121s3.492-.707,4.824-2.12l56.53-59.987c1.28-1.359,1.999-3.199,1.999-5.12s-.718-3.761-1.999-5.119Z" /></svg>');
}
#available .availablelink_end a{
	margin: 0 auto 0%;
}

#available .cv_flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	grid-gap: 1rem 5%;
	margin: 0 auto 12%;
}
#available .cv_flex .availablelink{
	width: 42.5%;
}
#available .cv_flex .availablelink a,
#available .cv_flex .availablelink span{
	margin: 0 auto;
	width: 100%;
}
#available .detailbutton{
	width: 42.5%;
}
#available .detailbutton a,
#available .detailbutton span{
	display: block;
	border:1px solid #fff;
	color:#fff;
	font-size:clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);/*14-18/769-1920*/
	text-align: center;
	padding: 10px 0;
	max-width: 540px;
	transition: all ease 0.8s;
	margin: 0 auto;
	background: linear-gradient(25deg, rgba(28, 23, 47, 1) 58%, rgba(2, 68, 109, 1) 100%);
	position: relative;
}
#available .detailbutton a::after,
#available .detailbutton span::after{
	content: "";
	display: inline-block;
	width: clamp(1rem, 0.852rem + 0.45vw, 1.25rem);
	aspect-ratio: 1/1;
	background: url(../images/icon_blank.png) center/100% no-repeat;
	position: absolute;
	top: 50%;
	right: .75rem;
	transform: translateY(-50%);
}
#available .detailbutton a:hover{
	background: #fff;
	color: #000;
}
#available .detailbutton a:hover::after{
	background: url(../images/icon_blank_b.png) center/100% no-repeat;
}

#case{
	background: #0c0b06 url(../images/case_bg.png);
	background-size: cover;
	z-index: 0;
}
#case .case_inner{
	padding: 20vw 0 12vw;
}
#case .case_inner h2:after{
	content: "Customer Cases";
}
#case .casebox{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 0 10%;
	width: 100%;
}
#case .casebox figure{
	border:0.5px solid #fff;
	box-sizing: border-box;
	width:47%;
}
#case .casebox dl{
	color:#fff;
	padding: 0 0 0 5%;
	width:50%;
}
#case .casebox2 figure{
	order:2;
}
#case .casebox2 dl{
	order:1;
	padding: 0 5% 0 0;
}
#case .casebox dl dt{
	font-weight: 300;
	font-size: clamp(1rem, 0.833rem + 0.35vw, 1.25rem);/*16-20/769-1920*/
	letter-spacing: 0.2em;
	margin: 0 0 20px;
}
#case .casebox dl dd{
	line-height: 2.1em;
	margin: 0 0 20px;
}
#case .casebox dl dd.name{
	font-size: clamp(1rem, 0.833rem + 0.35vw, 1.25rem);/*16-20/769-1920*/
	letter-spacing: 0.2em;
}
#case .casebox dl dd.catch{
	color:#b5a486;
	font-size: clamp(1rem, 0.833rem + 0.35vw, 1.25rem);/*16-20/769-1920*/
	position: relative;
}
#case .casebox dl dd.comment{
	font-size:16px;
}
@media print,screen and (min-width: 769px) and (max-width: 1240px) {
.pointcap br{
	display: none;
}
}
@media print,screen and (min-width: 769px) and (max-width: 1070px) {
.pointcap {
	min-height: 70px;
}
}
@media print,screen and (min-width: 769px) {
@media screen and (min-height:840px) and (max-height:1199px){
main .main_inner {
	top:35%;
}
}
@media screen and (min-height:1200px){
main .main_inner {
	top:30%;
}
}
@media screen and (max-height:839px) {
main:before{
	content: "";
	background: rgb(0,0,0);
	background: linear-gradient(180deg, rgba(0,0,0,0) 0, rgba(0,0,0,0.6) 50%);
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}
}
}
@media print,screen and (max-width: 768px) {
section:not(#first-wave,#second-wave){
	overflow: hidden;
}
main {
	height: 84vh;
    margin: 0 auto 0;
    padding: 36vw 0 0;
}
main .main_inner{
	position: relative;
	top:unset;
	left:unset;
	transform: unset;
	margin: -25% 0 0;
}
main .main_inner h1, main .main_inner h2{
	font-size: clamp(0.813rem, 0.679rem + 0.67vw, 1rem);/*13-16/320-768*/
}
main .main_inner #roaling-text{
	font-size: clamp(0.813rem, 0.679rem + 0.67vw, 1rem);/*13-16/320-768*/
}
main .main_inner h2 b{
	font-size:24px;
	letter-spacing: 0.2em;
}
main:after{
background-size:50vh;
}
section .section_wrap h2{
	font-size:27px;
	margin:0 auto 25vw;
}
section .section_wrap h2::before{
	bottom: -8vw;
}
section .section_wrap h2::after{
	font-size: 118px;
	left:47%;	
}
#concept .concept_inner{
	padding: 20vw 0 0;
}
#concept .concept_inner h3{
	font-size:24px;
	line-height: 1.8em;
}
#concept .concept_inner p{
	font-size: clamp(0.813rem, 0.679rem + 0.67vw, 1rem);/*13-16/320-768*/
	line-height: 2.0em;
	margin: 0 auto 0;
}
#point{
	padding: 40vw 0 70vw;
}
#point .point_inner{
	padding: 30vw 0 0;
}
#point .point_inner_list{
	flex-wrap: nowrap;
	overflow-x:scroll ;
}
#point .point_inner .pointdl{
	min-width: 280px;
}
#available .available_inner{
	padding: 20vw 0 12vw;
}
#available .available_inner h2::after{
	bottom: -30%;
}
#available .availablebox figure{
	margin:0 auto 10%;
	width: 100%;
}
#available .availablebox dl{
	font-size: clamp(0.813rem, 0.679rem + 0.67vw, 1rem);/*13-16/320-768*/
	width: 100%;
}
#available .availablebox dl dt{
	margin: 0 0 18px;
	padding: 0 0 12px;
	width: 25%;
}
#available .availablebox dl dt.long{
	border-bottom: none;
	margin: 0 0 5px;
	padding: 0;
	width: 100%;
}
#available .availablebox dl dd{
	margin: 0 0 18px;
	padding: 0 0 12px;
	width: 75%;
}
#available .availablebox dl dd.price{
	width: 100%;
}
#available .availablebox dl dd.comment br{
	display: none;
}
#available .availablelink a,
#available .availablelink span{
	padding: 4% 0;
	width: 90%;
}
#available .availablelink{
	margin: 0 auto 10%;
}
#available .cv_flex .availablelink{
	width: 100%;
	margin: 0;
}
#available .cv_flex .availablelink a,
#available .cv_flex .availablelink span{
	padding: 4% 0;
	width: 90%;
}
#available .detailbutton{
	width: 100%;
	margin: 0;
}
#available .detailbutton a,
#available .detailbutton span{
	padding: 4% 0;
	width: 90%;
}

#case .casebox{
	margin:0 auto;
	width: 90%;
}
#case .casebox figure{
	margin:0 auto 5%;
	width: 100%;
}
#case .casebox dl{
	margin:0 auto 5%;
	padding: 0;
	width: 100%;
}
#case .casebox2 figure{
	order:1;
}
#case .casebox2 dl{
	order:1;
}
#case .case_inner h2::after {
	content: "Customer";
	font-size: 110px;
}
#case .casebox dl dt,
#case .casebox dl dd.name,
#case .casebox dl dd.catch{
	font-size: 18px;
}
#case .casebox dl dd.comment{
	font-size: 14px;
}
}