@charset "UTF-8";

#choose-store-modal{
	display: none;
}

.modal-video {
    background-color: rgba(0,0,0,0.8);
 }


.video-section .video-wrap, .photo-section .photo-wrap {
    padding: 1.8rem 0 1.65rem;
    background: #000;
    background: radial-gradient(circle at top,#2d323e 0,#000 30%);
}

.video-section ul, .photo-section ul {
	width: 1000px;
	margin: 0 auto;
	margin-top: 1.87rem;
	margin-bottom: 1.0rem;
	font-size: 0;
}

.photo-section ul {
	margin-bottom: 0;
}


.video-section li {
	display: inline-block;
	vertical-align: top;
	width: 300px;
	margin-left: 50px;
	cursor: pointer;
}

.video-section li:first-child {
	margin-left: 0;
}

.video-section li figure {
	position: relative;
	margin-bottom: 15px;
}


.video-section li figure figcaption {
	position: absolute;
	font-size: 12px;
	background-color: rgba(0,0,0,.8);
	color: #FFF;
	bottom: 0;
	left: 0;
	padding: 2px 4px;
}

.video-section li p {
	font-size: 14px;
	color: hsla(0,0%,100%,.8);
	color: #000;
}

.video-section a.btn {
	display: block;
	font-size: 16px;
	color: #31c32c;
	border: solid 1px #31c32c;
	width: 335px;
	padding: 20px 0;
	margin: 0 auto;
	text-align: center;
	border-radius: 6px;
}

.video-section a.btn:hover {
	color: #000;
	background-color: #31c32c;
	width: 335px;
	padding: 20px 0;
	margin: 0 auto;
	text-align: center;
	border-radius: 6px;
}

.photo-section li {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 200px;
	height: 200px;
	cursor: pointer;
	border: solid 1px #999;
	border-left: none;
	padding-top: 17px;
}

.photo-section li img{
	transition: all 0.3s ease-out;
}



.photo-section li:hover img {
	transform:scale(1.1);
}

.photo-section li:first-child {
	border-left: solid 1px #999;
}

.photo-section li:after {
	content: '';
	position: absolute;
	background-image: url('../img/icon_plus.svg');
	background-size: cover;
	width: 20px;
	height: 20px;
	right: 0;
	bottom: 0;
}


.photo-section li img {
	height: 165px;
	width: auto;
	vertical-align: middle;
}


#lean_overlay {
    position: fixed;
    z-index:100;
    top: 0px;
    left: 0px;
    height:100%;
    width:100%;
    background: #000;
    display: none;
}


.img_modal{
    position: fixed;
    z-index:100000;
    top: 0px;
    left: 0px;
    height:100%;
    width:100%;
    background-color: rgba(0,0,0,0.8);

    display: flex;
	justify-content: center;
	align-items: center;

	display: none;
	opacity: 0;
}

.img_modal.show{
	display: flex;
	opacity: 1;

	animation-duration: 0.5s;
	animation-name: fade-in;
}

.img_modal.hide{
	top: -100%;
	animation-duration: 0.5s;
	animation-name: fade-out;
}


.img_modal .close_container{
	position:absolute;
	width: 100%;
	height: 100%;
}
.img_modal .modal-video-close-btn {
    position: absolute;
    z-index: 2;
    top: 20%;
    right: 38%;
}

.img_modal .btn_next {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 5%;
    width: 19px;
    height: 35px;
    cursor: pointer;
}

.img_modal .btn_prev {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 5%;
    width: 19px;
    height: 35px;
    transform: rotate(180deg);
    cursor: pointer;
}

.header-sns {
    top: 142px;
 }

nav.anchor{
	background-color: #000;
	position: relative;
}

nav.anchor ul{
	text-align: center;
	padding: 0.1rem;
	background: #222;
	position: fixed;
	z-index: 1000;
	width: 100%;
}

nav.anchor li{
	display: inline-block;
    line-height: 1;
    font-size: 14px;
    text-transform: uppercase;
    background: linear-gradient(90deg,#FFF,#FFF 49%,#FFF);
    color: #04e4e7;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-left: 0.4rem;
}

nav.anchor li a{
    background: linear-gradient(90deg,#FFF,#FFF);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

nav.anchor li:first-child{
}

nav.anchor li:before {
    display: inline-block;
    content: "";
    width: 6px;
    height: 6px;
    border-bottom: solid 2px #FFF;
    border-right: solid 2px #FFF;
    transform: rotate(45deg) translateY(-4px);
    margin-right: 20px;
}

#media .inner {
	width: 900px;
	margin: 0 auto;
    margin-top: 1.87rem;
    margin-top: 0;
	border-top: solid 1px #666;
}

#media a {
	display: block;
    color: hsla(0,0%,100%,.8);
	font-size: 14px;
	padding: .1rem;
	border-bottom: solid 1px #666;
}

#media a:hover {
	opacity: 1;
	text-decoration: underline;
}




@keyframes fade-in {
	0% {
	display: none;
	opacity: 0;
	}

	1% {
	display: block;
	opacity: 0;
	}

	100% {
	display: block;
	opacity: 1;
	}
}

@keyframes fade-out {
	0% {
	display: block;
	opacity: 1;
	top: 0;
	}

	99% {
	display: block;
	top: 0;
	opacity: 0;
	}

	100% {
	display: none;
	top: 0;
	opacity: 0;
	}
}



.img_modal figure{
	position: absolute;
	height: 50%;
	opacity: 0;
	transition: all 0.3s ease-out;
}

.img_modal figure.show{
	opacity: 1;
}

.img_modal img{
	height: 100%;
	width: auto;
}





.floating {
    background-color: #000;
    bottom: 0;
}

.floating .floating__txt p {
    color: #000;
}





.floating a.btn {
    background: #00d900;
    color: #FFF;
    display: inline-block;
    width: 400px;
    height: 78px;
    padding: 18px 0 0;
    font-size: 18px;
    vertical-align: top;
 }

.floating a.btn:nth-of-type(2) {
    padding: 28px 0;
    margin-left: 20px;
    background: #ffcc00;
    color: #000;
 }

.floating a.btn span {
    font-size: 14px;
 }


.floating .floating__img {
    position: absolute;
    float: left;
    width: 13.4%;
    width: 162px;
    max-width: 162.0px;
    top: -24px;
    display: none;
}

.floating {
    padding: 20px 0;
    display: none;
}

.floating .floating__txt p {
    margin-top: 0.4em;
}

.floating .floating__txt p .notes{
}


.floating .floating__txt {
    float: left;
    margin-left: 11.5em;
    margin-top: .2em;
    display:none;
}


#js-banner-screen .btn-radius {
	position: absolute;
	right: 6%;
	bottom: 12%;
    width: 100%;
    max-width: 280px;
    cursor: pointer;
    border: none;
    text-align: center;
    font-family: alternate-gothic-no-2-d, sans-serif;
    font-size: 110.0%;
    line-height: 1;
    border-radius: 50px;
    transition: background 0.3s ease;
    transition: color 0.2s ease;
    padding: 0.8em 0.5em 0.6em;
    box-sizing: border-box;
    color: #000;
    border-color: #000;
    background-color: #fff;
    font-weight: bold;
}

#js-banner-screen .btn-radius.compensation {
	bottom: 20%;
}

#js-banner-screen .btn-radius:hover {
	background-color: #44d23c;
	color: #000;

}

.pc{
	display: block;
}
.sp{
	display: none;
}

#header .nav .dropdown__wrap {
    top: 122px;
}

.empty-section {
    display: block;
    height: 0;
    width: 100%;
    padding-bottom: 0;
}

#about {
	position: relative;
	padding: 100px 0;
	background: linear-gradient(#04e4e7, #ccc);
}

#about .inner {
	width: 1000px;
	margin: 0 auto;
}

#about h2.title{
	text-align: center;
	font-size: 50px;
	color: #FFF;
}

#about figure{
	margin-top: 50px;
}

#design{
	padding-bottom: 100px;
}

.page-blackshark {
    overflow: visible;
    background: #EEE;
}

figure{font-size: 0;}

figure.page_img{
	margin-bottom: 100px;
}

h2.sec_title{
	color: #000;
	font-size: 50px;
	text-align: center;
	margin-bottom: 75px;
}

h3.sec_body{
	color: #000;
	font-size: 25px;
	text-align: center;
	line-height: 1.8;
	font-weight: normal;
	margin-bottom: 100px;
}

.video-section ul, .photo-section ul {
    margin-top: 0;
    margin-bottom: 100px;
    font-size: 0;
}

.info_box{
    display: flex; /* 子要素をflexboxで揃える */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */	
    margin-bottom: 100px;
}

.info_box:nth-child(even){
	flex-flow: row-reverse;
}

.info_box figure{
	display: inline-block;
	width: 50%;
}

.info_box .text{
	display: inline-block;
	width: 50%;
	color: #000;
	padding-left: 8%;
}


.info_box .text .text_box{
	width: 70.5%;
	line-height: 1.8;
}

.info_box .text h2{
	font-size: 25px;
	margin-bottom: 40px;
}

.info_box .text h2 .small{
	font-size: 14px;
}

.info_box .text p{
	font-size: 14px;
}

.mv_container{
    padding-bottom: 8%;
    background-color: #04e4e7;
}

.mv_container .cover{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .8);
    display: flex;
    align-items: center;
    justify-content: center;
    display: none;
}

.mv_container .cover .sold{
    width: 38%;
    margin-top: -18%;
}



.banner_bbs{
    position: absolute;
    width: 36%;
    bottom: 8%;
    margin: auto;
    left: 0;
    right: 0;
    max-width: 580px;
}



@media only screen and (max-width: 768px) {

.pc{
	display: none;
}

.sp{
	display: block;
}

main .banner-section {
    padding-bottom: 170.0%;
}

#js-banner-screen .btn-radius {
	position: static;
	display: block;
	right: 6%;
	bottom: 25%;
    width: 100%;
    max-width: 280px;
    cursor: pointer;
    border: none;
    text-align: center;
    font-family: alternate-gothic-no-2-d, sans-serif;
    font-size: 90.0%;
    line-height: 1;
    border-radius: 50px;
    transition: background 0.3s ease;
    transition: color 0.2s ease;
    padding: 0.8em 0.5em 0.6em;
    box-sizing: border-box;
    color: #000;
    border-color: #000;
    background-color: #fff;
    font-weight: bold;
    margin: 0 auto;
}

#js-banner-screen .btn-radius.compensation {
	margin-bottom: 20px;
}


	.blackshark2-banner-wrap {
		bottom: 24%;
	}
	.blackshark2-banner-wrap .inner {
		width: 50%;
	}

	.video-section .video-wrap, .photo-section .photo-wrap {
	    padding: .5rem 0 .5rem;
	}

.video-section ul, .photo-section ul  {
    width: 100%;
    margin-top: .5rem;
    margin-bottom: .5rem;
}

.video-section li {
    display: block;
    width: 83.3%;
    margin: 0 auto;
    margin-bottom: .25rem;
}

.video-section li:first-child {
    margin-left: auto;
}

.video-section li p {
}

.video-section a.btn {
    font-size: 14px;
    border: solid 1px #31c32c;
    width: 83.3%;
    padding: 20px 0;
}

.photo-section ul {
    border-top: solid 1px #333;
}

.photo-section li {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 50%;
    height: auto;
    cursor: pointer;
    border: solid 1px #999;
    border-left: none;
    border-top: none;
    padding: .2rem 0;
}

.photo-section li:nth-child(even) {
    border-right: none;
}

.photo-section li img {
    height: 1.5rem;
}

.img_modal .modal-video-close-btn {
    position: absolute;
    z-index: 2;
    top: 15%;
    right: 28%;
}

nav.anchor li {
	display: block;
	line-height: .6rem;
	font-size: .2rem;
	margin-left: 0rem;
}

nav.anchor li:before {
    width: 12px;
    height: 12px;
    border-bottom: solid 3px #8ecd1c;
    border-right: solid 3px #8ecd1c;
    margin-right: 18px;
	transform: rotate(45deg) translateY(-6px);
}

nav.anchor ul {
   padding: 0.4rem;
}

#media .inner {
	width: 83.3%;
    margin-top: .5rem;
    margin-top: 0;
}

#media a {
	font-size: 12px;
	padding: .1rem;
	border-bottom: solid 1px #666;
}

#media a:hover {
	opacity: 1;
	text-decoration: underline;
}


.floating .floating__img {
    position: absolute;
    display: inline-block;
    float: none;
    width: 30%;
    max-width: 104px;
    top: -7%;
    left: 2%;
    display: none;
}
.floating .floating__txt {
    float: left;
    margin-left: 0;
    width: 100%;
    padding-left: 110px;
}

.sp_elm{
	display: none;
}

.floating {
    padding: 8px 0;
}

.floating .floating__txt p {
    margin-top: 0;
}

nav.anchor {
	display: none;
}

#about .inner {
    width: 100%;
    margin: 0 auto;
}

#about h2.title{
	font-size: 28px;
}

#about {
    padding: 50px 0;
}

figure.page_img {
    margin-bottom: 50px;
}

h2.sec_title {
    font-size: 30px;
    margin-bottom: 30px;
}

h3.sec_body {
    font-size: 16px;
	width: 90%;
	margin: 0 auto;
    margin-bottom: 50px;
}

.info_box {
    display: block;
    width: 90%;
    margin: 0 auto;
    margin-bottom: 50px;
}

.info_box figure {
    width: 100%;
    margin-bottom: 20px;
}

.info_box .text .text_box {
    width: 100%;
}

.info_box .text {
    display: block;
    width: 100%;
    padding-left: 0;
}

.info_box .text h2 {
    font-size: 18px;
    margin-bottom: 20px;
}

#design {
    padding-bottom: 0;
}

.floating a.btn {
    width: auto;
    padding: 10px;
    font-size: 14px;
    margin-top: 0;
 }
.floating a.btn span {
    font-size: 12px;
}
#header .nav .dropdown__wrap {
    top: 0;
}

.banner_bbs {
    position: relative;
    width: 100%;
    bottom: 0;
}

.mv_container {
    padding-bottom: 0;
}

.floating a.btn {
    background: #00d900;
    color: #FFF;
    display: block;
    width: 100%;
    height: auto;
    padding: 14px 0;
    font-size: 12px;
    vertical-align: top;
}

.inline_block{
    display: inline-block;
}

.floating a.btn:nth-of-type(2) {
    padding: 14px 0;
    margin-left: 0;
    margin-top: 8px;
}

.mv_container .cover .sold {
    width: 70%;
    margin-top: -22%;
}


}
