﻿@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Courgette&display=swap');

body {
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 0;
	background: linear-gradient(-60deg, #f89da9,#f7caae,#f89da9) fixed;
	background-size: 200% 200%;
	animation: bggradient 120s ease infinite;
    font-family: 'Noto Sans JP', sans-serif;
    }

@keyframes bggradient{
    0% {background-position: 0% 50%;}
	50% {background-position: 100% 50%;}
	100% {background-position: 0% 50%;}
    }


img{max-width: 100%;}
a{outline:none; text-decoration: none; display: block;}
main p{font-size: 1em; line-height: 1.4em; letter-spacing: 1px; color: #FFF;}

a:hover,.instaLink:hover img{
    -webkit-transition: all 0.8s ease;
    -moz-transition: all 0.8s ease;
    -o-transition: all 0.8s ease;
    transition: all  0.8s ease;
    }


/*---------- NAVI ----------*/
.main header {height: 100%; overflow-x: hidden; position: relative;}

.overlay {
	width: 0;
	height: 0;
	content: "";
	display: block;
	background-color: rgba(132,162,211,0.5);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	opacity: 0;
	transition: opacity .5s;
	}

	.overlay.open {
		width: 100%;
		height: 100%;
		opacity: 1;
		}

.menu-trigger {
	display: inline-block;
	width: 70px;
	height: 70px;
	vertical-align: middle;
	cursor: pointer;
	position: fixed;
	top: 30px;
	left: 30px;
	z-index: 100;
	transform: translateX(0);
	transition: transform .5s;
	border-radius: 50%;
	-webkit-border-radius: 50%;
    border: solid 2px #FFF;
    background-color: rgb(132,162,211,0.6);
	}

	.menu-trigger.active {transform: translateX(250px);}

 .menu-trigger span {
	 width: 32px;
	 height: 4px;
	 display: inline-block;
	 box-sizing: border-box;
	 position: absolute;
	 left: 17px;
	 background-color: #FFF;
	 }

.menu-trigger.active span {background-color: #fff;}
	.menu-trigger span:nth-of-type(1) {top: 20px;}
	.menu-trigger.active span:nth-of-type(1) {transform: translateY(12px) rotate(-45deg);}

	.menu-trigger span:nth-of-type(2) {top: 32px;}
	.menu-trigger.active span:nth-of-type(2) {opacity: 0;}
	
	.menu-trigger span:nth-of-type(3) {top: 44px;}
	.menu-trigger.active span:nth-of-type(3) {transform: translateY(-12px) rotate(45deg);}


@media only screen and (max-width: 860px){
	.menu-trigger {width: 60px;	height: 60px; top: 15px; left: 15px;}
	.menu-trigger span {width: 24px; height: 3px; left: 16px;}
	.menu-trigger span:nth-of-type(1) {top: 17px;}
	.menu-trigger.active span:nth-of-type(1) {transform: translateY(9px) rotate(-45deg);}
	.menu-trigger span:nth-of-type(2) {top: 26px;}
	.menu-trigger span:nth-of-type(3) {top: 35px;}
	.menu-trigger.active span:nth-of-type(3) {transform: translateY(-9px) rotate(45deg);}
	}

@media only screen and (max-width: 480px){.menu-trigger {top: 10px; left: 10px;}}
@media only screen and (max-width: 380px){.menu-trigger {top: 5px; left: 5px;}}

nav {
	width: 250px;
	height: 100%;
	padding-top: 30px;
	background-color: rgb(132,162,211,0.9);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	transform: translate(-250px);
	transition: all .5s;
	}

	nav.open {transform: translateZ(0);}

	nav ul {padding: 0 1em; list-style: none;}
	nav li {text-align: center; border-bottom: dotted 3px rgba(255,255,255,0.7);}
    nav li:last-child{border-bottom: none;}
	nav a{padding: 15px 0; font-size: 1.2em; color: #FFF; font-family: 'Courgette', cursive; font-weight: 400;}
	nav a:hover{background: rgba(113,152,214,0.8);}
	header > * {box-sizing: border-box;}




/*---------- main ----------*/
main{padding: 5% 1em;}
h2,h3,h4{margin: 0; padding: 0; color: #FFF;}
h2 p,h3,.btn{font-family: 'Courgette', cursive; font-weight: 400;}


/* mainVisual */
#ABOUT{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0;
    background-image: url("../images/brooming/flower_01.png"),url("../images/brooming/flower_02.png");
    background-repeat: no-repeat;
    background-position: left center,right 5% top 30%;
    background-size: 12.5% auto,10% auto;
    }

h1{
    width: 100%;
    margin: 0 0 1em;
	height: 0;
	padding-top: 15%;
	background-repeat: no-repeat;
	background-size: contain!important;
	overflow: hidden;
	display: block;
    background-image: url("../images/brooming/logo_02.png");
	background-position: top center;
    }

    h1 + p{font-size: 1em; line-height: 2em; text-align: center;}


#ABOUT br.sp{display: none;}

@media only screen and (max-width: 860px){
    main{padding: 15% 1em 5%;}
    #ABOUT{background-position: left 10px top 35%,right 5% top 30%;}
    h1 + p{font-size: 0.8em;}
    }

@media only screen and (max-width: 480px){
    main{padding: 22.5% 1em 15%;}
    #ABOUT{padding: 0 0 6% 0; background-position: left 10px bottom,right top 17px; background-size: 14% auto,11.5% auto;}
    h1{padding-top: 20%;}
    #ABOUT br.sp{display: block;}
    }


/*carousel*/
#carousel{padding: 2em 0;}

.slider {width: 94%; margin: 0 auto;}
.slider img {width: 70vw; height: auto;}

.slider .slick-slide {
    transform: scale(0.85);
	transition: all .5s;
	opacity: 0.5;
    }

.slider .slick-slide.slick-center{transform: scale(1); opacity: 1;}


.slick-prev, .slick-next {
    position: absolute;
    top: 42%;
    cursor: pointer;
    outline: none;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    height: 15px;
    width: 15px;
    }

.slick-prev {left: -1.5%; transform: rotate(-135deg);}
.slick-next {right: -1.5%; transform: rotate(45deg);}
.slick-prev:before, .slick-next:before{color: rgba(255,255,255,0);}


.slick-dots li button::before{font-size: 8px; color: #FFF; opacity: 1;}
.slick-dots li.slick-active button::before{color: #84a2d3; opacity: 1;}



/* NEWS */
#NEWS{
    max-width: 1000px;
    margin: auto auto 3em;
    padding: 1.5em;
    border-radius: 10px;
    background: rgba(255,255,255,0.2);
    }

h3{
    padding: 0 0 1em;
    font-size: 1.4em;
    text-shadow: 2px 2px 1px #f6a7a7;
    background: url("../images/brooming/flower_03.png") repeat-x;
    background-size: auto 10px;
    background-position: left bottom;
    }

#NEWS ul{margin: 0.85em 0 0; padding: 0; list-style-type: none;}
#NEWS ul > li > a{padding: 0.5em 1em; border-radius: 10px; display: block; color: #FFF;}
#NEWS ul > li > a:hover{background: rgba(175,205,247,0.7);}



.instaLink {
    max-width: 380px;
    margin: auto;
    text-align: center;
    animation: poyopoyo 4s ease-out infinite;
    opacity: 1;
    }

    @keyframes poyopoyo {
        0%, 40%, 60%, 80% {transform: scale(1.0);}
        50%, 70% {transform: scale(0.95);}
        }

    .instaLink:hover img{opacity: 0.7;}



/*STORE*/
#STORE{max-width: 1480px; margin: auto; padding: 10% 0 5em;}


#STORE h2{margin: 0 0 2em; text-align: center;}
#STORE h2 p {
    margin: 0;
    padding: 0 90px;
    font-size: 1.6em;
    letter-spacing: 1px;
    position: relative;
    display: inline-block;
    text-shadow: 2px 2px 1px #f6a7a7;
    }

#STORE h2 span:last-child{
    font-size: 0.6em!important;
    font-weight: normal;
    letter-spacing: 3px;
    display: block;
    }

#STORE h2 > p:before, #STORE h2 > p:after {
    content: '';
    position: absolute;
    top: 80%;
    display: inline-block;
    width: 80px;
    height: 2px;
    background-color: white;
    -webkit-transform: rotate(-60deg);
    transform: rotate(-60deg);
    }

    #STORE h2 > p:before {left:0;}
    #STORE h2 > p:after {right: 0;}


/*icon*/
.iconInfo{
    margin: 0 1em;
    padding: 1em;
    border-radius: 10px;
    background: rgba(255,255,255,0.2);
    }

.iconInfo ul{margin: 0; padding: 0; list-style-type:none; color: #FFF; display: flex; flex-wrap: wrap;}
.iconInfo li{
    flex: 0 1 auto;
    margin: 0 0 0 2em;
    padding: 5px 0 7px 40px;
    font-size: 0.9em;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    }

    .iconInfo li:first-child{margin: 0 0 0 0.5em; background-image: url("../images/brooming/icon_dresser02.png");}
    .iconInfo li:nth-child(2){background-image: url("../images/brooming/icon_hairIron01.png");}
    .iconInfo li:nth-child(3){background-image: url("../images/brooming/icon_cosplay02.png");}
    .iconInfo li:nth-child(4){background-image: url("../images/brooming/icon_omikuji.png");}


/*STORE detail*/
.storeList{padding-top: 2em; display: flex; flex-wrap: wrap;}
.storeList article{
    flex: 0 1 45%;
    margin: 1em 1%;
    padding: 1.5%;
    border-radius: 10px;
    background: rgba(255,255,255,0.2);
    position: relative;
    }

.storeList h4{
    padding: 0.5em 1.5em;
    font-weight: 500;
    border-radius: 20px;
    background:linear-gradient(90deg, #8baada,#afcec2);
    }

.storeList article > div,.storeList article > ul{padding: 1em 0; display: flex;}
.storeList article > div > p{flex: 0 1 70%; margin: 0 1.5em;}

.storeList article > ul{
    margin: 1em 1em 0.5em;
    padding: 2em 0 0 0;
    border-top: solid 1px #FFF;
    list-style-type: none;
    justify-content: flex-end;
    }
    .storeList article > ul > li{flex: 0 1 8%; margin: 0 1%;}

/*OPEN*/
.soon{
    padding: 0.65em 2.25em 0.65em 1.65em;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    color: #FFF;
    font-weight: 500;
    background:linear-gradient(90deg, #f95728,#f95728,#fb8c44);
    display: block;
    left: 0;
    bottom: 1.5em;
    position: absolute;
    }


/*MAP*/
.btn,a.btn,button.btn {
    margin-top: 0.25em;
    font-size: 1em;
    font-weight: 500;
    position: relative;
    display: inline-block;
    cursor: pointer;
    user-select: none;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #84a2d3;
    border-radius: 0.5rem;
    }

a.btn-border-shadow {padding: calc(1rem - 8px) 3rem 1rem; background: #fff;}
a.btn-border-shadow:before {
    position: absolute;
    top: -6px;
    left: -6px;
    width: 100%;
    height: 100%;
    content: "";
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    border: 2px solid #84a2d3;
    border-radius: 0.5rem;
    }

    a.btn-border-shadow:hover {padding: calc(1rem - 5px) 3rem;}
    a.btn-border-shadow:hover:before {top: -1px; left: -1px;}


@media only screen and (max-width: 860px){
    #STORE{padding: 20% 0 5em;}
    .storeList{display: block;}
    .storeList article{margin: 1em 1% 2em; padding: 1.5em 1.5em 1em;}
    .iconInfo li{margin: 0 0 0 4%; padding: 5px 0 7px 35px; font-size: 0.8em;}
    .storeList article > ul > li img{max-width: 40px;}
    .soon{bottom: 20px;}
    }

@media only screen and (max-width: 480px){
    #STORE{padding: 30% 0 5em;}
    .storeList article > div{padding: 1em 0; display: block;}
    .storeList article > div > p{font-size: 0.9em; margin: 0 0.75em 1.5em 1.5em;}
    .btn-wrap {padding-right: 1em; text-align: right;}
    .iconInfo li{margin: 0.35em 0 0 0.5em; background-size: 30px;}
    .iconInfo li:first-child{margin: 0.35em 0 0 0.5em;}
    .storeList article > ul{margin: 0; padding: 1.25em 1em 0 0;}
    .soon{padding: 0.65em 1.5em 0.65em 1.5em; font-size: 0.8em; bottom: 5px;}
    }

.logo{max-width: 860px; margin: 10% auto 5%; display: flex;}
.logo p{flex: 0 1 40%; margin: 0 5%;}

@media only screen and (max-width: 860px){.logo{margin: 15% auto 5%;}}
@media only screen and (max-width: 480px){.logo{margin: 25% auto 5%;}}


/*----------FOOTER------------*/
footer{
	padding: 2em 1.5em;
	color: #FFF;
	display: block;
    position: relative;
	}

footer > div{
    max-width: 1480px;
	margin: auto;
	}

	/*タイトーリンク*/
	ul.taitoLink{margin: 1em 0 0; padding: 0 0 2em; border-bottom: solid 1px #FFF;}
	
	ul.taitoLink li{
		font-size: 1.0em;
		margin-right: 1.0em;
		display: inline-block;
		}
	
	ul.taitoLink a{color: #FFF;}
	ul.taitoLink a:hover{color: #84a2d3;}

footer p:last-child{
	margin-top: 2em;
	font-size:0.8em;
	color: #FFF;
	text-align: center;
	}

@media only screen and (max-width: 480px) {ul.taitoLink li{font-size: 0.9em;}}

