@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;
	}
}




.back {
	background:linear-gradient(#082B5A, #04162F);
}




.buy-link {
	position: relative;
	width: 100%;
	height: 100%;
}



.buy-link img {
	position: fixed;
	z-index: 9999;
	right: 0px;
	bottom: 10%;
	width: 60px;
}




@media screen and (max-width: 769px){
	.buy-link img {width: 50px; bottom: 15%;}
}





.top {
	width: 100%;
	position: relative;
}


.topimg {
	width: 100%;
}

.topimg img {
	width: 100%;
}


.og-logo {
	position: absolute;
	top: 20px;
	left: 30px;
	width: 180px;
}


.title {
	position: absolute;
	width: 70vw;
	right: 4vw;
	top: 4vh;
}




@media screen and (max-width: 769px){
	.og-logo {width: 160px;}
	.title {width: 80vw; left: 30px; top:90px;}
}





/*コンセプト*/

.concept {
	position: relative;
	overflow: hidden;
	margin-top: -10px;
	text-align: center;
}


.og-sign {
	position: absolute;
	z-index: -1;
	top: -10px;
	left: -65px;
	opacity: 0.05;
}


.concept-2 {
	width: 85%;
	max-width: 1500px;
	display: inline-block;
	text-align: left;
	margin-top: 130px;
	margin-bottom: 15%;
	position: relative;
	z-index: 100;
}


.concept-2 h2 {
	color: white;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 43px;
	font-weight: 800;
	line-height: 1.5em;
}

.concept-2 p {
	color: #B1BED0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 17px;
	line-height: 2.2em;
	letter-spacing: 0.1em;
	font-weight: 400;
	margin-top: 40px;
}


.concept-img {
	position: absolute;
	top: 230px;
	right: 0;
	width: 75%;
	max-width: 1600px;
	min-width: 650px;
}

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



@media screen and (max-width: 769px){
	.og-sign {width: 100vw; left: -40px; top: 0;}
	.concept-2 {margin-top: 80px; margin-bottom: 70vw;}
	.concept-2 h2 {font-size: clamp(25px, 7vw, 150px);}
	.concept-2 p {font-size: 16px; width: 100%; line-height: 1.8em; margin-top: 20px;}
	.concept-img {width: 85%; top: 400px;; min-width: inherit;}
}




.movie {
	width: 100%;
	background-color: #000;
	position: relative;
	overflow: hidden;
}


.movie video {
	width: 100%;
	opacity: 0.7;
}


.movie img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}




/*ラインナップ*/

.lineup {
	text-align: center;
}

.lineup-t {
	width: 85%;
	display: inline-block;
	margin-top: 130px;
	margin-bottom: 140px;
	max-width: 1300px;
	min-width: 650px;
}

.lineup-t img {
	width: 100%;
	border-radius: 15px;
}



.lineup-t-2 p {
	font-size: 32px;
	color: #082B5A;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
	padding: 15px 60px;
	background-color: white;
	display: inline-block;
	border-radius: 50px;
	margin-bottom: 70px;
}



@media screen and (max-width: 769px){
	.lineup-t {min-width: inherit; width: 100%; margin-top: 80px; margin-bottom: 80px;}
	.lineup-t img {border-radius: 0;}
	.lineup-t-2 {margin-bottom: 50px;}
	.lineup-t-2 p {font-size: 23px; padding: 15px 50px; white-space: nowrap;}
}




.lineup-2 ul {
	display: flex;
	justify-content: center;
}



.lineup-3 {
	margin-bottom: 4%;
	width: 40%;
	max-width: 500px;
	min-width: 300px;
}

.lineup-4 {
	margin-bottom: 4%;
	width: 40%;
	max-width: 500px;
	min-width: 300px;
}


.kuukan {
	width: 5%;
	max-width: 50px;
	height: inherit;
}


.lineup-2 ul img {
	width: 100%;
	border-radius: 15px;
}


.lineup-2 p {
	text-align: left;
	font-family: 'Noto Sans JP', sans-serif;
	color: white;
	font-weight: 500;
	font-size: 22px;
	line-height: 1.2em;
	margin-top: 10px;
	border-bottom: solid 2px rgba(255,255,255,0.10);
	padding-bottom: 10px;
}

.lineup-2 p span {
	font-size: 16px;
	font-weight: 400;
	margin-left: 5px;
}



@media screen and (max-width: 769px){
	.lineup-2 { width: 85%; display: inline-block;}
	.lineup-2 ul {display:block;}
	.lineup-3 {width: 100%; margin-bottom: 50px; min-width: inherit; max-width: inherit;}
	.lineup-4 {width: 100%; margin-bottom: 50px; min-width: inherit; max-width: inherit;}
}





.cap {
	text-align: center;
	margin-bottom: 180px;
}


.cap2 {
	width: 85%;
	display: inline-block;
	background-color: #ABB5C1;
	border-radius: 15px;
	max-width: 1050px;
	margin-top: 50px;
}


.cap ul {
	display: flex;
	justify-content: center;
	padding: 30px 20px;
	align-items: center;
}


.cap ul li {
	width: 30%;
	min-width: 200px;
	margin-left: 2%;
}


.cap ul li img {
	width: 100%;
	border-radius: 15px;
}


.cap-copy {
	text-align: left;
	color: #082B5A;
	white-space: nowrap;
}


.cap-copy h4 {
	font-size: 23px;
	margin-bottom: 20px;
}


.cap-copy p {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.8em;
}



@media screen and (max-width: 769px){
	.cap {margin-bottom: 120px;}
	.cap ul {display: block; padding: 20px;}
	.cap ul li {width: 100%; margin-bottom: 30px; margin-left: 0;}
	.cap-copy h4 {font-size: 20px; margin-bottom: 10px; margin-top: 20px;}
	.cap-copy p {font-size: 16px;}
}



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


.tekigou-2 {
	display: inline-block;
	width: 85%;
	max-width: 1350px;
}



.t-all {
	display: flex;
}


.t-photo {
	width: 50%;
}

.t-photo img {
	width: 100%;
}


.t-hyou {
	width: 45%;
	margin-left: 30px;;
}


.table {
	text-align: center;
	margin-bottom: 150px;
}


.table-t h4 {
	font-family: 'Noto Sans JP', sans-serif;
	color: #fff;
	font-weight: 400;
	margin-bottom: 30px;
	font-size: 17px;
	padding-left: 15px;
	border-left: 3px solid #fff;
}


.table-2 {
	display: inline-block;
	text-align: left;
	line-height: 1.5em;
}


.table-3 {
	display: flex;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: solid 1px #313F53;
	font-family: 'Noto Sans JP', sans-serif;
	color: #fff;
	font-size: 15px;
}


.t-1 {
	width: 120px;
}


.t-chuuki {
	font-size: 13px;
	font-weight: 300;
	line-height: 1.7em;
	color: #B4B4B4;
	text-align: left;
	width: 85%;
	display: inline-block;
	max-width: 1280px;
}



@media screen and (max-width: 769px){
	.t-all {display: block;}
	.table {margin-bottom: 70px;}
	.t-photo {width: 100%; margin-bottom: 35px;}
	.t-hyou {width: 100%; margin-left: 0;}
	.table-3 {display: block;}
	.t-1 {margin-bottom: 7px;}
	.t-2 {line-height: 1.4em;}
}




.buy {
	text-align: center;
	margin-top: 180px;
	padding-bottom: 250px;
	position: relative;
	width: 100%;
	overflow: hidden;
}



.buy-2 {
	display: flex;
	justify-content: center;
	margin-right: -30px;
}


.buy-2 li {
	margin-right: 30px;
}


.buy h3 {
	color: #fff;
	font-size: 36px;
	font-weight: 700;
	margin-bottom: 40px;
	width: 85%;
	display: inline-block;
	line-height: 1.4em;
}



.buy-btn p {
	font-size: 20px;
	color: #04214A;
	padding: 20px 100px;
	background-color: #fff;
	display: inline-block;
	border-radius: 40px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
	display: inline-block;
	white-space: nowrap;
}



.buy img {
	position: absolute;
	width: 100%;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	opacity: 0.1;
}




@media screen and (max-width: 769px){
	.buy {margin-top: 80px; padding-bottom: 100px;}
	.buy-2 {display: block; margin-right: 0;}
	.buy-2 li {margin-right: 0; margin-bottom: 30px;}
	.buy h3 {font-size: clamp(22px, 7vw, 150px)}
	.buy-btn p {width: 80%; display: inline-block; line-height: 1.4em; padding: 10px 10px; font-size: 20px;}
}




.link {
	text-align: center;
}


.link ul {
	display: flex;
}


.link ul li {
	width: 50%;
}


.link-2 img {
	width: 25px;
	padding-bottom: 45px;
}


.link-2 h4 {
	font-size: 24px;
	color: #fff;
	font-weight: 500;
	padding-top: 65px;
	padding-bottom: 20px;
}


.link-3 {
	background-color: #616B7B;
}


.link-4 {
	background-color: #4C5666;
}



@media screen and (max-width: 769px){
	.link ul {display: block;}
	.link ul li {width: 100%;}
	.link-2 h4 {font-size: clamp(20px, 7vw, 32px)}
}




.footer {
	text-align: center;
	background-color: #000;
}


.chuuki {
	width: 85%;
	color: #fff;
	font-size: 14px;
	display: inline-block;
	text-align: left;
	line-height: 1.8em;
	font-weight: 300;
	padding-top: 70px;
	padding-bottom: 50px;
}


.copylight {
	font-size: 13px;
	font-weight: 300;
	color: #fff;
	padding-bottom: 30px;
}



.youtube {
	text-align: center;
	padding-top: 200px;
}


.youtube h4 {
	font-size: 24px;
	margin-bottom: 30px;
	color: #fff;
	padding: 20px 50px;
	border-radius: 40px;
	border: solid 1px #fff;
	display: inline-block;
}

.youtube iframe {
	width: 700px;
	height: 395px;
}



@media screen and (max-width: 769px){
	.youtube {padding-top: 130px;}
	.youtube iframe {width: 85%; height: 48vw;}
	.youtube h4 {width: 80%; display: inline-block; line-height: 1.4em; padding: 10px 10px; font-size: 20px;}
}


