@charset "UTF-8";
/*
Theme Name: 428 Genic Records
Theme URL: https://428genic.jp/
*/

body {
	background:#000;
	color:#fff;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight:100;
}
body *{
	margin:0;
	padding:0;
}
a{
	color:#fff;
	text-decoration:none;
}

@media only screen and (min-width: 768px) {
	.sp{
		display:none !important;
	}
}
@media only screen and (max-width: 767px) {
.pc{
	display:none !important;
}
}
h1,h2,
h3,h4,h5{
	font-weight:100;
}
h2::first-letter,
h2 span,
h3 span{
	font-size:120%;
}
@media only screen and (max-width: 767px) {
h2 ,
h3 {
	font-size:20px;
}
h2::first-letter,
h2 span,
h3 span{
	font-size:120%;
}
}
.btn1{
  position: relative;
    display: inline-block;
	padding: 0 20px;
    color: #fff;
    text-decoration: none;
    outline: none;
}
/*矢印と下線の形状*/
.btn1::before{
    content: '';
    /*絶対配置で下線の位置を決める*/
  position: absolute;
    bottom:-8px;
    left:15%;
    /*下線の形状*/    
    width: 85%;
    height: 1px;
  background:#fff;
    /*アニメーションの指定*/
    transition: all .3s;
}

.btn1::after{
    content: '';
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    bottom:-3px;
    right:0;
    /*矢印の形状*/    
    width: 15px;
    height:1px;
  background:#fff;
    transform: rotate(35deg);
    /*アニメーションの指定*/
    transition: all .3s;
}

/*hoverした際の移動*/
.btn1:hover::before{
    left:20%;
}

.btn1:hover::after{
    right:-5%;
}

.max1000{
	max-width:1000px;
	margin:0 auto;
}


header{
	display:flex;
	justify-content:space-around;
  position: sticky;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  padding: 20px 0;
	background:#000;
}
header h1 img{
	width:320px;
}
.head-nav{
	display:flex;
}
.head-nav li{
	list-style-type:none;
	padding:0 10px;
	display:flex;
	align-items:center;
}
.head-nav li a {
  padding-bottom: 5px;
  position: relative;
}
.head-nav li a::before {
  background: #fff;
  content: '';
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
.head-nav li a:hover::before {
  transform-origin: center top;
  transform: scale(1, 1);
}
@media only screen and (max-width: 767px) {
	header{
		justify-content:space-between;
	}
header h1 img{
	width:230px;
}
}
/*　ハンバーガーメニューボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 20px;
  top   : 33px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #BBBBBB;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :#fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

/* メニュー背景　*/
nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #fff;
  background: rgba( 00,00,00,0.9 );
  text-align: center;
  width: 100%;
  opacity: 0;
  display: none;
  transition: opacity .6s ease, visibility .6s ease;
}

nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 10px;
  width: 100%;
  transition: .4s all;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 1em 0;
  text-decoration :none;
}

/* クリックでjQueryで追加・削除 */
nav.globalMenuSp.active {
  opacity: 100;
  display: block;
}

.footer_sns{
	margin-top:100px;
}
.footer_sns h3{
	text-align:center;
}
.footer_sns ul {
	display:flex;
	flex-wrap:wrap;
	margin-bottom:60px
}
.footer_sns ul li{
	list-style-type:none;
	width: 25%;
	text-align:center;
	margin:60px 0;
}
.footer_sns ul li span{
	padding-top:20px;
	display:inline-block;
}
.footer_sns ul li i{
	font-size:46px;
}
footer .copy{
	font-size:10px;
	text-align:center;
}

.contetn_top{
	display:flex;
	justify-content:space-around;
	align-items:baseline;
	margin-bottom:30px;
	margin-top:100px;
}
@media only screen and (max-width: 767px) {
	.footer_sns ul li{
		margin:20px 0;
	}
	.contetn_top{
		justify-content:space-between;
		padding:0 10px;
		margin-top:50px;
	}
}

.releases ul,
.artists ul{
	display:flex;
	flex-wrap:wrap;
	width:100%;
}
.releases li,
.artists li{
	overflow: hidden;
	list-style-type:none;
	max-width:25%;
	height:auto;
}
.releases li img,
.artists li img{
  transition:0.3s;
	width:100%;
	height:100%;
	object-fit:cover;
	vertical-align:bottom;
}
.releases li:hover img,
.artists li:hover img{
    opacity:0.8;
}
.archive .releases ul li a{
	font-size:24px;
	line-height:1;
	display:block;
	position:relative;
}
.archive .releases ul li a p{
	position:absolute;
	bottom:20px;
	z-index:10;
	width:100%;
	text-align:center;
}
.archive .releases ul li a span{
	font-size:14px;
	line-height:1;
}

.sns-1{
	display:flex;
	justify-content:space-around;
}
@media only screen and (max-width: 767px) {
.releases li,
.artists li{
	max-width:100%;
	}

.sns-1{
	display:inherit;
}
}
/*Bookingページ*/
.wrap-booking{
	display:flex;
	justify-content:space-around;
}
.wrap-booking form p{
	margin-top:20px;
}
.wrap-booking form .submit input{
	display: block;
	width: 200px;
	border: 2px solid #fff;
	color: #fff;
	background-color:transparent;
	transition: 0.5s;
	padding:10px;
	margin:0 auto;
	box-sizing:border-box;
}
.wrap-booking form .submit input:hover {
	color: #000;
	background: #fff;
}
.wrap-booking form input,
.wrap-booking form textarea{
	font-size: 16px;
	color:#fff;
    background-color: rgba(102,102,102,0.15);
    border: 2px solid rgb(255,255,255);
    width: 100%;
    margin: 3px 0;
    height: 40px;
    padding: 0 10px;
	box-sizing:border-box;
}
.wrap-booking form textarea{
	height:250px;
}
.wrap-booking form input[type="checkbox"]{
	height:auto;
	width:auto;
}
@media only screen and (max-width: 767px) {
	.wrap-booking{
		display:inherit;
		margin:0 10px;
	}
	.wrap-booking textarea,
	.wrap-booking input{
		width:100%;
	}
}

/*ページネーション*/
.wp-pagenavi{
	display:flex;
	justify-content:center;
	margin-top:50px;
}
.wp-pagenavi a, .wp-pagenavi span {
	color: #fff;
	padding: 8px 15px;
	margin: 0 2px;
	white-space: nowrap;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	text-decoration: none;
	border: thin dotted #fff;
}
.wp-pagenavi a:hover{
	color: #000;
	background-color: #fff;
    }
.wp-pagenavi span.current{
	color: #000;
	background-color: #fff;
    }

/*投稿ページ　アイキャッチ画像を背景に*/
.page-KV{
	position:relative;
	height:100vh;
	margin-bottom:60px;
}
.news_img{
	height:100vh;
	background-attachment:fixed;
	background-size: cover;
   background-position: center;
}
.page-KV_title h2{
	position:absolute;
	top:50%;
	left:50%;
	font-size:40px;
	transform: translate(-50%,-50%);
}
@media only screen and (max-width: 767px) {
.page-KV{
	height:300px;
	}
.news_img{
	height:100%;
	background-attachment:inherit;
	}
}

/*投稿 アーティストページ　*/
.releases_wrap,
.artists_wrap{
	display:flex;
	justify-content:center;
}
.releases_wrap-content,
.artists_wrap-icon{
	flex-grow: 1;
	margin:0 30px;
}
.releases_wrap-text,
.artists_wrap-tab{
	flex-grow: 1;
	margin:0 30px;
	width:100%;
}
.artists_wrap-icon h3{
	text-align:center;
}
.artists_wrap-icon ul{
	display:flex;
	justify-content:center;
	margin-top:20px;
}
.artists_wrap-icon ul li{
	list-style-type:none;
	margin:0 10px;
}
.artists_wrap-icon ul li i{
	font-size:30px;
}
.artists_wrap-icon p{
	display:flex;
	justify-content:center;
}
.releases_wrap-content p a,
.artists_wrap-icon p a{
	 display: block;
	box-sizing:border-box;
    width: 150px;
    border: 2px solid #fff;
    color: #fff;
    background-color: transparent;
    transition: 0.5s;
    padding: 10px;
	text-align:center;
	margin-top:20px;
}
.releases_wrap-content p a:hover,
.artists_wrap-icon p a:hover {
	color: #000;
	background: #fff;
}
@media only screen and (max-width: 767px) {
.releases_wrap{
	display:inherit;
}
	.artists_wrap{
		flex-wrap:wrap;
	}

.releases_wrap-content,
.artists_wrap-icon{
	margin:0 10px;
}
.releases_wrap-text,
.artists_wrap-tab{
	margin:0;
	text-align:center;
	width:100%;
}
.releases_wrap-content{
	  border-top: 1px dashed #fff;
    padding: 5px;
    margin-top: 25px;
	}
	.artists_wrap-icon{
		order:2;
		margin-top:50px;
	}
}

/*投稿アーティストページ　SNSタブ切り替え*/
.tabs {
  display: flex;
  flex-wrap: wrap;
}

.tab_label {
  color: #fff;
  font-weight: bold;
  border: solid 2px #fff;
  position: relative;
  z-index: 1;
  cursor: pointer;
  flex: 1;
  padding: 5px 0;
  margin: 0 5px; 
	text-align:center;
	vertical-align:middle;
	height:100%;
}

.tab_label:hover {
  opacity: 0.75;
}

.tab_content {
  flex: 100%;
  display: none;
  overflow: hidden;
}

input[name="tab_switch"] {
  display: none;
}

.tabs input:checked + .tab_label {
  color: #000;
	background-color: #fff;
}


#tab01:checked ~ #tab01_content,
#tab02:checked ~ #tab02_content,
#tab03:checked ~ #tab03_content,
#tab04:checked ~ #tab04_content {
  display: block;
	margin-top:20px;
}

.tab_content{
  position: relative;
  animation: fadeIn 1s ease;
}
@media only screen and (max-width: 767px) {
	.tabs{
		display:inherit;
	}
	.tab_label{
		display:block;
		width:100%;
		margin:5px auto;
		padding:10px 0;
		box-sizing:border-box;
	}
	.tab_content{
		text-align:center;
	}

}
/*footer sns hover*/

.swing2:hover {
   animation-name: swing2;
   animation-duration: 1s;
   animation-delay: .3s;
}
@-webkit-keyframes swing2 {
   10% { -webkit-transform: rotate(-10deg); }
   20% { -webkit-transform: rotate(8deg); }
   30% { -webkit-transform: rotate(-5deg); }
   40% { -webkit-transform: rotate(4deg); }
   50% { -webkit-transform: rotate(-3deg); }
   60% { -webkit-transform: rotate(2deg); }
   70% { -webkit-transform: rotate(-1deg); }
   80% { -webkit-transform: rotate(1deg); }
   90% { -webkit-transform: rotate(-1deg); }
   100% { -webkit-transform: rotate(0deg); }
}

/*swiper 投稿スライダー*/
.swiper-wrapper {
  /* wrapperのサイズを調整 */
  width: 100%;
  height: auto;
}
.swiper-slide {
  /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
  color: #ffffff;
  width: 100%;
  height: 100%;
  text-align: center;

}
.swiper-pagination{
	bottom:0;
}
.slider2 .swiper-slide,
.slider3 .swiper-slide{
	height:auto;
}
.slider2 .swiper-slide__inner,
.slider3 .swiper-slide__inner{
	height:100%;
}
.slider2 .swiper-slide__inner--item,
.slider3 .swiper-slide__inner--item{
	height:100%;
}
.slider2 .post__thumb--img,
.slider3 .post__thumb--img{
	height:100%;
}
.post__thumb--img img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.text-block{
	position:absolute;
	bottom:10%;
	left:50%;
	line-height:1;
	transform: translate(-50%,-50%);
}
.text-block a{
	text-shadow:1px 1px 0 #fff, 2px 2px 0 #000;
}
.text-block h3{
	font-size:30px;
}

/*instagram埋め込み*/
.insta iframe{
	display:flex;
	justify-content:center;
	margin:0 auto;
}
/*scroll_up ｜下から上へ出現*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
	-webkit-transform: translateY(30px);
	-ms-transform: translateY(30px);
	-moz-transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	-moz-transform: translateY(0);
  opacity: 1.0;
}
/*KV*/
.slider1 img{
	width:100%;
}

@media only screen and (max-width: 767px) {
	.slider1 img{
	height:360px;
		object-fit:cover;
}
}

li.not-post{
	width:100%;
	margin:0 auto;
	text-align:center;
}