/*
Theme Name: harmonia-kobe-theme
Theme URI: テーマのURLを記入します
Author: ifx
Author URI: テーマの作者のURLを記入します
Description: ハルモニアKOBEのテーマです。
Version: 1.0
*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
@charset "utf-8";

/* Normalize
--------------------------------------------- */

*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}

ul,li{
	margin: 0;
	padding: 0;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #2B2B2B;
	font-family: 'Noto Sans JP','Source Sans Pro',-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: #2B2B2B;
	font-family: 'Source Sans Pro','Noto Sans JP',-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	clear: both;
	font-weight: 600;
}

b{
	font-weight: 500;
}

p {
	font-size: 15px;
	font-weight: 300;
	color: #2B2B2B;
	margin: 0;
	line-height: 1.8;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}


@media screen and (max-width: 768px) {
	p {
		font-size: 13px;
		line-height: 22px;
		font-weight: 300;
		color: #2B2B2B;
		margin-bottom: 0.5em;
	}
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #000;
}

a:visited {
	/* color: #000; */
}

a:hover,
a:focus,
a:active {
	/* color: #333; */
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/* PC スマホ切り替え用
--------------------------------------------- */
.disp-pc{
	display: block;
}

.disp-sp{
	display: none;
}

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

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/* ボタンのデフォルト
--------------------------------------------- */
.button-style{
	display: inline-block;
	font-size: 20px;
	line-height: 36px;
	padding: 5px 50px;
	font-weight: 300;
	text-decoration: none;
	border-radius: 30px;
	color: #fff;
	background-color: #CBA2CE;
	transition: all 0.4s ease;
}

.button-style:hover{
	background-color: #717591;
}

.button-style-2{
	font-size: 12px;
	color: #717591;
	position: relative;
	display: inline-block;
	padding-left: 12px;
}

.button-style-2::before{
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 8px;
	border-color: transparent transparent transparent #333;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -5px;
}

.button-style-3{ 
	text-align: center;
	display: inline-block;
	font-size: 15px;
	line-height: 30px;
	padding: 0px 30px;
	font-weight: 400;
	text-decoration: none;
	border-radius: 3px;
	color: #fff;
	background-color: #CBA2CE;
	transition: all 0.4s ease;
}

.button-style-3:hover{
	background-color: #717591;
}

.language-button{
	display: block;
	padding: 5px 10px;
	font-size: 13px;
	text-decoration: none;
	color: #fff;
}

.language-button:hover{
	color: #fff;
}

.language-button.active{
	background-color: rgba(255, 255, 255, .40);
}

.language-button.black{
	padding: 5px 10px;
	color: #505050;
}

.language-button.black.active{
	background-color: rgba(106,106,106, .35);
}

.page-section{
	width: 1000px;
	margin: 0 auto;
	padding-top: 50px;
	padding-bottom: 100px;
}

.txt-center{
	text-align: center;
	margin: 30px 0;
}

@media screen and (max-width: 1100px) {
	.language-button{
		font-size: 1.5vw;
	}
}

@media screen and (max-width: 1080px) {
	.page-section{
		width: 90%;
		padding-top: 40px;
		padding-bottom: 70px;
	}
}

@media screen and (max-width: 768px) {
	.page-section{
		width: 80%;
	}

	.language-button{
		font-size: 18px;
	}

	.button-style{
		font-size: 22px;
		line-height: 36px;
		padding: 10px 70px;
	}
}



/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Top-block
--------------------------------------------- */
.contents-block{
	width: 100%;
	max-width: 1000px;
	margin: 100px auto 0;
	padding-bottom: 40px;
	/* border-bottom: 1px solid #6C6C6C; */
}

.block-title{
	text-align: center;
	margin-bottom: 85px;
}

.block-title h3{
	display: inline-block;
	border-bottom: 1px solid #A8A8A8;
	font-weight: 300;
	font-size: 40px;
}

.biography-div{
	width: 100%;
	margin: 0 auto;
}

.biography-div p{
    overflow: hidden;
}

.biography-div a{
	text-decoration-color: #999;
}

@media screen and (max-width: 1080px) {
	.contents-block{
		width: 90%;
	}
}

@media screen and (max-width: 768px) {
	.contents-block{
		width: 80%;
		margin: 50px auto 0;
        padding-bottom: 20px;
	}
	.block-title{
		margin-bottom: 40px;
	}
	.block-title h3{
		font-size: 30px;
	}

    .biography-div p{
        max-height: 120px;
    }
}


/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
/* Top-フロントページ-slide
--------------------------------------------- */
.top-slick-slide-wrap{
	position: relative;
}

.top-slick-slide{
	margin: 0;
	padding: 0;
}

.top-slick-slide li{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 100vh;
	margin: 0;
}

.top-slick-slide li a{
	display: block;
    width: 100%;
    height: 100%;
}

.top-slick-slide li.img01{
	background-image: url('../img/top-mainslide-1-pc.jpg');
}

.top-slick-slide-logo{
	/* background-color: rgba(255, 255, 255, .57); */
	z-index: 5;
	display: flex;
	justify-content: center;
	align-items: center;
    position: absolute;
    top: 8.333vw;
    left: 15.104vw;
}

.top-slick-slide-logo h1 img{
    width:26.042vw;
}

.top-slick-slide .slick-slide{
	height: 100vh;
}

.top-slick-slide .slick-list{
	z-index: 1;
}

.top-slick-slide .slick-arrow{
	width: 44px;
	height: 77px;
}

.top-slick-slide .slick-prev{
	z-index: 10;
	left: 70px;
}

.slick-prev, .slick-next {
	top: unset;
	bottom: 100px;
}

.top-slick-slide .slick-next{
	z-index: 10;
	right: 70px;
}

.top-slick-slide .slick-arrow:before{
	content:""!important;
	width: 100%!important;
	height: 100%!important;
	position: absolute;
	top: 0;
	left: 0;
	width: 44px;
	height: 77px;
}

.top-slick-slide .slick-next:before{
	background: url('../img/slide-arrow-right.png')!important;
	background-size: contain!important;
}

.top-slick-slide .slick-prev:before{
	background: url('../img/slide-arrow-left.png')!important;
	background-size: contain!important;
}

@media screen and (max-width: 768px) {
	.top-slick-slide li.img01{
		background-image: url('../img/top-mainslide-1-sp.jpg');
	}
	.top-slick-slide-logo{
        top: 13.333vw;
        left: 18.667vw;
	}

    .top-slick-slide-logo h1 img{
        width:72vw;
    }

	.top-slick-slide .slick-slide{
		height: 100vh;
	}

	
	.top-slick-slide li{
		width: 100%;
		height: 100vh;
	}
}




/*---------------------------------------------
/* TOP-フロントページ-Navigation
--------------------------------------------- */
.top-nav{
	width: 100%;
	height: 85px;
	background: rgba(112, 117, 145, .4);
	position: absolute;
    z-index: 100;
    bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top-nav ul{
	width: 100%;
	max-width: 1056px;
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.top-nav-list-last{
	display: none;
}

.top-nav ul li > a{
	font-size: 15px;
	padding: 2px 20px;
	font-weight: 300;
	color: #fff;
	text-decoration: none;
}

.top-nav ul li a:hover{
	color: #6A6A6A;
	background-color: rgba(255, 255, 255, .40);
}

.top-nav ul li a ion-icon{
	display: none;
}

.top-nav-language{
	z-index: 110;
	position: absolute;
	bottom: 17px;
	right: 35px;
	display: flex;
	justify-content: space-between;
}

.sp-header{
	display: none;
}

.sp-header-space{
	display: none;
}

@media screen and (max-width: 1300px) {
	.top-nav ul li > a{
		font-size: 1.3vw;
	}
}

@media screen and (max-width: 1080px) {
	.top-nav{
		justify-content: flex-start;
	}
}

@media screen and (max-width: 768px) {
	.sp-header-space{
		display: block;
		width: 100%;
		height: 90px;
	}

	.sp-header{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100px;
		position: fixed;
		/* background: linear-gradient(rgb(255 255 255 / 90%),rgb(255 255 255)); */
		/* background-color: rgba(255, 255, 255, .9); */
		z-index: 9999;
		transition: background-color 1s;
	}

	.sp-header.active{
		background: transparent;
		border-bottom: 1px solid #E8E8E8;
	}

	.sp-header h1{
		display: block;
		width: 175px;
	}

	.top-nav{
		position:fixed;
		z-index: 999;
	  	top:-120%;
		left:0;
	  	width:100%;
		height: 100vh;
	  	background:rgba(255, 255, 255, .85);
	  	transition: all 0.6s;
        align-items: flex-start;
	}
	
    .top-nav.panelactive{
		top: 0;
	}
	
	/*ナビゲーションの縦スクロール*/
    /*ナビの数が増えた場合縦スクロール*/
	.top-nav.panelactive .top-nav-list{
		position: fixed;
		z-index: 999; 
		width: 100%;
		height: 100vh;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

	.top-nav ul {
		margin-top: 110px;
		z-index: 999;
		width: 100%;
        flex-wrap: wrap;	
	}
	
	.top-nav ul li{
		width: 100%;
	  	list-style: none;
		text-align: center; 
		border-bottom: 1px solid #E8E8E8;
	}
	
	.top-nav ul li > a{
	  color: #6A6A6A;
	  text-decoration: none;
	  font-size: 18px;
	  padding:15px 5%;
	  display: flex;
	  justify-content: space-between;
	  
	}

	.top-nav-list-last{
		padding: 30px 5%;
		display:flex;
		justify-content: space-between;
		align-items: center;
		border-bottom: none!important;
	}

	.top-nav-list-last div{
		display:flex;
		justify-content: space-between;
		align-items: center;
	}

	.top-nav-list-last .sp-menu-sns a{
		margin-right: 20px;
	}

	.top-nav-list-last .sp-menu-sns a:last-child{
		margin-right: 0;
	}

	.top-nav ul li a ion-icon{
		display: inline-block;
	}
	
	.openbtn{
	 	position:fixed;
		z-index: 9999;
	  	top:25px;
	  	left: 20px;
	  	cursor: pointer;
		width: 50px;
		height:50px;
	}

	.openbtn span{
		display: inline-block;
		transition: all .4s;
		position: absolute;
		left: 14px;
		height: 3px;
		border-radius: 2px;
	  	background-color: #fff;
		width: 45%;
        transition: all 1s 0s ease-in-out;
	}

    .openbtn.invert span{
        background-color: #000;
    }
	
	.openbtn span:nth-of-type(1) {
	  top:15px; 
	}
	
	.openbtn span:nth-of-type(2) {
	  top:23px;
	}
	
	.openbtn span:nth-of-type(3) {
	  top:31px;
	}
	
	.openbtn.active span:nth-of-type(1) {
		top: 18px;
		left: 18px;
		transform: translateY(6px) rotate(-45deg);
		width: 30%;
        background-color: #000;
	}
	
	.openbtn.active span:nth-of-type(2) {
	  opacity: 0;
      background-color: #000;
	}
	
	.openbtn.active span:nth-of-type(3){
		top: 30px;
		left: 18px;
		transform: translateY(-6px) rotate(45deg);
		width: 30%;
        background-color: #000;
	}

	.top-nav-language{
		display: none;
	}
}

/* 0225追加 */

.move-top-btn {
    display: inline-block;
    position: fixed;
    z-index: 9;
    width: 65px;
    height: 65px;
    right: 30px;
    bottom: 50px;
    background-color: rgba(255, 255, 255, 0.5);
}

.move-top-btn a {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.move-top-btn a::after {
    content: '';
    width: 21px;
    height: 21px;
    border-top: solid 1px #000622;
    border-right: solid 1px #000622;
    position: absolute;
    top: calc(50% + 10px);
    left: 50%;
    transform: translateY(-50%) translateX(-50%) rotate(-45deg);
    -webkit-transform: translateY(-50%) translateX(-50%) rotate(-45deg);
    margin: auto;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
footer{
	width: 100%;
	background-color: #3C2408;
	padding: 50px 0 100px;
}

.footer-bar{
	width: 100%;
	max-width: 1440px;
	height: 20px;
	background-color: #fff;
	margin: 0px auto 50px;
}

.footer-inner{
	width: 95%;
	max-width: 1280px;
	margin: 0 auto;
}

.footer-nav{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer-nav img{
	width: 250px;
}

.footer-nav ul{
	width: 80%;
	max-width: 850px;
	display: flex;
	justify-content: space-between;
	padding: 0;
	margin: 0;
	list-style: none;
}

.footer-nav ul li a{
	font-size: 15px;
	font-weight: 300;
	color: #fff;
	text-decoration: none;
}

.footer-address{
	width: 100%;
	margin-top: 50px;
	margin-bottom: 50px;
	display: flex;
	justify-content: space-between;
}

.footer-address-text p{
	color: #fff;
	font-size: 13px;
	font-weight: 200;
}

.footer-nav-language{
	width: 90px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.footer-sns{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer-sns-list{
	width: 210px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer-sns-list img{
	width: 37px;
}

.footer-copyright{
	display: block;
	color: #fff;
	font-size: 13px;
	font-weight: 200;
	margin-bottom: 0;
}

@media screen and (max-width: 1300px) {
	.footer-nav img{
		width: 12.626vw;
	}
	.footer-nav ul li a{
		font-size: 1.3vw;
	}

	.footer-address-text p{
		font-size: 0.8vw;
	}

	.footer-sns-list{
		width: 8.586vw;
	}

	.footer-sns-list img{
		width: 1.869vw;
	}

	.footer-copyright{
		font-size: 0.8vw;
	}
}

@media screen and (max-width: 768px) {
	footer{
		padding: 0;
	}

	.footer-inner{
		/* min-width: 286px; */
		width: 100%;
	}
	.footer-nav ul{
		display: none;
	}

	.footer-nav{
		justify-content: center;
		background-color: #776653;
		padding: 40px 0 30px;
	}


	.footer-nav-home-logo{
		width: 50%;
		min-width: 280px;
	}


	.footer-nav img{
		width: 100%;
	}

	.footer-address{
		justify-content: center;
		margin-top: 40px;
		margin-bottom: 50px;
	}

	.footer-address-text p{
		font-size: 13px;
	}

	.footer-nav-language{
		display: none;
	}

	.footer-sns{
		flex-wrap: wrap;
		justify-content: center;
	}

	.footer-sns-list{
		width: 40%;
		min-width: 200px;
		margin-bottom: 50px;
	}

	.footer-sns-list img{
		width: 30px;
	}

	.footer-copyright{
		width: 100%;
		text-align: center;
		font-size: 11px;
		padding-bottom: 40px;
	}
}


/* Gallery
--------------------------------------------- */
.gallery-block{
    width: 100%;
	max-width: 1000px;
	margin: 100px auto 50px;
	display: flex;
	justify-content: space-between;
    flex-wrap: wrap;
}

.gallery-block div{
    width: 22%;
    margin-bottom: 40px;
}


@media screen and (max-width: 768px) {
    .gallery-block div{
        width: 46%;
        margin-bottom: 30px;
    }
}


/* Discography
--------------------------------------------- */

.top-link-block{
	width: 100%;
	max-width: 1000px;
	margin: 100px auto 50px;
	display: flex;
	justify-content: space-between;
}

.top-link-block-item{
	width: 28%;
	text-decoration: none;
}

.top-link-block-item img{
    width: 100%;
	margin-bottom: 20px;
}

.top-link-block-item p{
	font-size: 13px;
}

.top-link-block-item span{
	display: inline-block;
    font-size: 15px;
    font-weight: 300;
    color: #2B2B2B;
    margin: 0 0 15px;
    line-height: 1.8;
}

a.opnbtn {
    display: block;
    width: 100%;
    clear: both;
    margin-bottom: 60px;
    padding-top: 40px !important;
    z-index: 15000;
}
 
a.clsbtn {
    display: block;
    width: 100%;
    clear: both;
    margin-bottom: 60px;
    padding-top: -40px !important;
    z-index: 15000;
}

@media screen and (max-width: 1080px) {
	.top-link-block{
		width: 90%;
	}
}

@media screen and (max-width: 768px) {
	.top-link-block{
		width: 100%;
		margin:100px auto 50px;
		flex-wrap: wrap;
	}
	.top-link-block-item{
		width: 47%;
	}

	.top-link-block-item img{
		margin-bottom: 15px;
	}

	.top-link-block-item p{
		margin-bottom: 25px;
	}
}
