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

/* リセットCSS */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
list-style: none;
}

body {
line-height:1;
font-family: 'Noto Sans JP', sans-serif;
width: 100%;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
display:block;
}

nav ul {
list-style:none;
}

blockquote, q {
quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}

a {
margin:0;
padding:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
text-decoration: none;
color: black;
}

/* change colours to suit your needs */
ins {
background-color:#ff9;
color:#000;
text-decoration:none;
}

/* change colours to suit your needs */
mark {
background-color:#ff9;
color:#000;
font-style:italic;
font-weight:bold;
}

del {
text-decoration: line-through;
}

abbr[title], dfn[title] {
border-bottom:1px dotted;
cursor:help;
}

table {
border-collapse:collapse;
border-spacing:0;
}



@media all and (min-width: 768px) {
.pc { display: block !important; }
.sp { display: none!important; }
}

@media all and (max-width: 768px) {
.pc { display: none !important; }
.sp { display: block!important; }
}


body {
	// PC用の横幅を指定
	min-width: 1150px;
}
// スマートフォンのブレイクポイント
@media screen and (max-width: 769px){
	body {
		// 初期化
		min-width: initial;
	}
}



.menu-all {
	position: fixed;
	width: 100%;
	z-index: 9999;
}

.menu-bar {
	position: relative;
	width: 100%;
	height: 85px;
	background-color: #000;
}


.menu {
	position: relative;
}


/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
	top:0;
    right: -120%;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background: #2C2C2C;
    /*動き*/
	transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}

/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
    text-align: center; 
}

#g-nav li a{
	color: #fff;
	text-decoration: none;
	padding:20px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-family: 'Bebas Neue', sans-serif;
	font-size: 30px;
	letter-spacing: 0.15em;
}



#g-nav li a span{
	font-size: 15px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}



/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
	top:17.5px;
	right: 17.5px;
	cursor: pointer;
    width: 50px;
    height:50px;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 0px;
    height: 1px;
	background-color: #fff;
  	width: 100%;
  }

.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:25px;
}


.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 0px;
    transform: translateY(6px) rotate(-45deg);
    width: 100%;
}


.openbtn.active span:nth-of-type(2){
    top: 30px;
    left: 0px;
    transform: translateY(-6px) rotate(45deg);
    width: 100%;
}




.og-logo {
	position: absolute;
    top: 50%;
    left: 40px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}


.menu-typo {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	width: 235px;
}


.menu {
	background-color: #2C2C2C;
	width: 85px;
	height: 85px;
	position: absolute;
	right: 0;
}



.top {
	padding-top: 85px;
	position: relative;
}


.haikei {
	background-color: #262626;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -9999;
}


.top-img {
	width: 100%;
	position: relative;
	text-align: center;
}

.top-img img {
	width: 100%;
	display: inline-block;
	max-width: 2000px;
}


.top-haikei {
	position: absolute;
	top: 0;
	z-index: -1;
	width: 100%;
}


.slant-bg {
    width: 100%;
    padding-bottom: 50%;
    position: relative;
    overflow: hidden;
}

.slant-bg::before {
    content: '';
    position: absolute;
	width: 100%;
	height: 100%;
	top: -50%;
    left: 0;
    right: 0;
    background-color: #414141;
    transform: skewY(-7deg) translateY(-90px);
    z-index: -1;
}



.top-typo {
	width: 100%;
}

.top-typo img {
	width: 100%;
}


@media all and (max-width: 768px) {
	.top-img img {padding-top: 30px;}
	.slant-bg {padding-bottom: 80vh;}
	.slant-bg::before {transform: skewY(-12deg) translateY(-120px);}
}


/*コンセプト*/

.concept {
	width: 100%;
	text-align: center;
	position: relative;
}


.concept-2 {
	display: inline-block;
	width: 90%;
	max-width: 1500px;
}

.concept-2 ul {
	display: flex;
	text-align: left;
	justify-content: space-between;
	align-items: center;
	padding-top: 10%;
	padding-bottom: 10%;
}


.concept-p {
	width: 35%;
}


.concept-p h2 {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(25px, 3.5vw, 60px);
	font-weight: 900;
	margin-bottom: 3.5%;
	line-height: 1.2em;
	color: #fff;
}


.concept-p p {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: clamp(14px, 1.5vw, 21px);
	line-height: 2em;
	white-space: nowrap;
	color: #CBCBCB;
	font-feature-settings: "palt";
}


.concept-img {
	width: 60%;
	height: 30%;
	overflow: hidden;
}


.concept-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	min-width: 550px;
}


.kasure-1 {
	position: absolute;
	z-index: -1;
	width: 40%;
	top: -5%;
	left: 30%;
	opacity: 0.1;
}


.kasure-1 img {
	width: 100%;
}


.kasure-2 {
	position: absolute;
	z-index: -1;
	bottom: 0;
	right: 0;
	width: 40%;
	opacity: 0.1;
}

.kasure-2 img {
	width: 100%;
}



@media all and (max-width: 768px) {
	.concept-2 {width: 85%;}
	.concept-2 ul {display: block; padding-top: 60px; padding-bottom: 70px;}
	.concept-p {width: 100%;}
	.concept-p h2 {font-size: 10vw;}
	.concept-p p {font-size: 3.7vw; margin-bottom: 30px;}
	.concept-img {width: 100%;}
	.concept-img img {min-width: inherit;}
	.kasure-1 {width: 70%;}
	.kasure-2 {width: 80%;}
}



.tokucho {
	width: 100%;
	text-align: center;
}

.tokucho-3 {
	display: flex;
	justify-content: space-between;
	background-color: #1F1F1F;
	border-top: solid 1px #A3A3A3;
	border-bottom: solid 1px #A3A3A3;
}

.tokucho-3 li {
	width: 33.33%;
	text-align: center;
}


.box-line {
	border-left: solid 1px #A3A3A3;
	border-right: solid 1px #A3A3A3;
}


.tokucho-3 img {
	width: 100%;
}


.tokucho-3 h5 {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #fff;
	padding-top: 10%;
	margin-bottom: 5%;
	border-bottom: solid 1px #A3A3A3;
	display: inline-block;
	padding-bottom: 8px;
}

.tokucho-3 h4 {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 32px;
	color: #fff;
	margin-bottom: 3%;
}

.tokucho-3 p {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	font-size: 15px;
	color: #A3A3A3;
	line-height: 1.8em;
	width: 85%;
	text-align: left;
	display: inline-block;
	padding-bottom: 10%;
}



@media all and (max-width: 768px) {
	.tokucho-3 {display: block;}
	.tokucho-3 li {width: 100%;}
	.box-line {border: none;}
}




/*ベース*/

.base {
	width: 100%;
	text-align: center;
	padding-top: 7%;
	padding-bottom: 7%;
	background-color: #1F1F1F;
}


.base-t {
	display: flex;
	align-items: center;
	color: #fff;
	margin-bottom: 3%;
}

.base-t h4 {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 90px;
	margin-right: 20px;
}


.base-t h5 {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 25px;
}


.base-2 {
	display: inline-block;
	width: 90%;
	max-width: 1500px;
}

.base-3 {
	display: flex;
	box-sizing: border-box;
}

.base-4 {
	width: 50%;
	text-align: left;
}


.base-4 p {
	border-bottom: solid 1px #707070;
	padding-bottom: 2vh;
	padding-top: 2vh;
	line-height: 1.6em;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 15px;
	color: #fff;
}


.h-top {
	border-top: solid 1px #707070;
}


.base-img {
	width: 45%;
	display: inline-block;
	margin-left: 5%;
}

.base-img img {
	width: 100%;
}


@media all and (max-width: 1050px) {
	.base-4 {width: 35%;}
	.base-img {width: 60%;}
}



@media all and (max-width: 768px) {
	.base {padding-top: 18%; padding-bottom: 18%;}
	.base-2 {width: 85%;}
	.base-3 {display: block;}
	.base-4 {width: 100%;}
	.base-img {width: 100%; margin-left: 0; margin-top: 10%;}
	.base-t {display: block; margin-bottom: 8%;}
	.base-t h4 {font-size: 65px;}
	.base-t h5 {font-size: 20px;}
}




/*装備*/

.soubi-all {
	width: 100%;
	text-align: center;
	background-color: #000;
}


.soubi-t {
	display: flex;
	align-items: center;
	color: #fff;
}

.soubi-t h4 {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 90px;
	margin-right: 20px;
}


.soubi-t h5 {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 25px;
}



.soubi {
	display: flex;
	justify-content: space-between;
	margin-top: 8%;
}


.soubi li {
	width: 32.6%;
}


.soubi img {
	width: 100%;
}


@media all and (max-width: 768px) {
	.soubi {display: block;}
	.soubi li {width: 100%; margin-bottom: 12%;}
	.soubi-t {display: block; margin-bottom: 8%;}
	.soubi-t h4 {font-size: 65px;}
	.soubi-t h5 {font-size: 20px;}
}




.inside {
	position: relative;
}


.in-img {
	position: absolute;
	width: 100%;
}


.in-img img {
	width: 100%;
	opacity: 0.3;
}


.inside-2 {
	padding-top: 15%;
	position: relative;
	width: 90%;
	display: inline-block;
	text-align: left;
	max-width: 1500px;
}



.bed {
	display: flex;
	justify-content: space-between;
	margin-top: 3%;
}


.bed-2 {
	width: 49.5%;
}


.bed img {
	width: 100%;
}


.soubi-name {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	color: #E5E5E5;
	font-size: 17px;
	margin-top: 15px;
	margin-bottom: 10px;
}


.setsumei {
	font-size: 14px;
	color: #A2A2A2;
	font-weight: 300;
	line-height: 1.5em;
}


.nedan {
	margin-top: 10px;
	color: #A2A2A2;
	font-size: 18px;
}



.kome {
	text-align: left;
	width: 90%;
	display: inline-block;
	max-width: 1500px;
	margin-top: 30px;
}


.kome p {
	font-size: 14px;
	color: #A2A2A2;
	font-weight: 300;
	line-height: 1.8em;
}



@media all and (max-width: 768px) {
	.bed {display: block;}
	.bed-2 {width: 100%;}
	.bed-p {margin-top: 5%; margin-bottom: 12%;}
	.inside-2 {width: 85%; padding-top: 30%;}
	.in-img {top: 0;}
	.kome {width: 85%; margin-top: 0;}
}



.sozai {
	width: 90%;
	display: inline-block;
	max-width: 1500px;
	margin-top: 5%;
	margin-bottom: 7%;
}


.sozai-2 ul {
	display: flex;
	padding: 4%;
	border: solid 1px #CCCCCC;
	border-radius: 10px;
	justify-content: space-between;
	text-align: left;
	color: #ccc;
}


.sozai-img {
	width: 30%;
}

.sozai-p {
	width: 65%;
	margin-left: 3%;
}


.sozai-2 img {
	width: 100%;
}

.sozai-2 h4 {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 25px;
	padding-bottom: 3%;
	border-bottom: solid 1px #ccc;
	margin-bottom: 4%;
}


.sozai-2 h4 span{
	font-family: 'Bebas Neue', sans-serif;
	font-size: 22px;
	margin-left: 15px;
}


.sozai-2 p {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	font-size: 14px;
	line-height: 2em;
}



@media all and (max-width: 768px) {
	.sozai {width: 100%; text-align: center; margin-bottom: 15%; margin-top: 10%;}
	.sozai-2 {width: 85%; display: inline-block;}
	.sozai-2 ul {display: block; padding: 8%;}
	.sozai-2 li {margin-bottom: 8%;}
	.sozai-2 h4 {font-size: 20px;}
	.sozai-2 h4 span {font-size: 17px; margin-left: 0;}
	.sozai-img {width: 100%;}
	.sozai-p {width: 100%; margin-left: 0;}
}


/*フッター*/

.footer {
	background-color: #1F1F1F;
	width: 100%;
	text-align: center;
}

.footer-2 {
	width: 90%;
	display: inline-block;
	max-width: 1500px;
}


.netstore {
	width: 100%;
	border: 1px solid #fff;
	margin-bottom: 2%;
	margin-top: 5%;
}


.netstore img {
	width: 50%;
	min-width: 600px;
	padding-top: 2%;
	padding-bottom: 2%;
}


.footer-3 {
	display: flex;
	background-color: #ccc;
	justify-content: center;
	align-items: center;
	padding-top: 25px;
	padding-bottom: 25px;
}


.footer-3 h5 {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 28px;
	margin-left: 20px;
}


.chuuki {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	font-weight: 300;
	color: #ccc;
	text-align: left;
	line-height: 1.8em;
	margin-top: 20px;
}


.copy {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	font-weight: 300;
	color: #ccc;
	margin-top: 50px;
	margin-bottom: 50px;
}


@media all and (max-width: 768px) {
	.footer-2 {width: 85%; margin-top: 10%;}
	.footer-2 img {width: 80%;}
	.footer-2 h5 {font-size: 5vw;}
	.netstore {margin-top: 0; margin-bottom: 3%;}
	.netstore img {width: 90%; min-width: inherit; padding-top: 4%; padding-bottom: 4%;}
}









