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

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

body{
    margin: 0;
    padding: 0;
    background: #FFF;
    font-family: 'Noto Sans JP', sans-serif;
    }

nav, h2, h3, .LinkButton{font-family: 'Yusei Magic', sans-serif;}
img{max-width: 100%;}
a{outline:none; text-decoration: none; display: block;}
main p, main li{font-size: 1em; line-height: 1.4em; color: #59493f;}

nav :hover, #NEWS:hover, .Follow a:hover{
    -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(51,98,159,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;
	right: 30px;
	z-index: 100;
	transform: translateX(0);
	transition: transform .5s;
	border-radius: 50%;
	-webkit-border-radius: 50%;
    border: solid 2px #FFF;
    background-color: rgb(51,98,159,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; right: 20px;}
	.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; right: 10px;}}
@media only screen and (max-width: 380px){.menu-trigger {top: 5px; right: 5px;}}

nav {
	width: 250px;
	height: 100%;
	padding-top: 30px;
	background-color: rgb(51,98,159,0.7);
	position: fixed;
	top: 0;
	right: 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 a{padding: 15px 0; font-size: 1.2em; color: #FFF;}
	nav a:hover{background: rgba(51,98,159,0.8);}
	header > * {box-sizing: border-box;}


/*----------MAIN----------*/

/*Title*/
h1{
    width: 100%;
    margin: 0;
	height: 0;
	padding-top: 25%;
	background-repeat: no-repeat;
	background-size: contain!important;
	overflow: hidden;
	display: block;
    background-image: url("../images/gachaste/logo.png");
	background-position: top center;
    }

    @media only screen and (max-width: 860px){h1{padding-top: 40%;}}

h3 {
    max-width: 460px;
    margin: auto auto 1.5em;
    position: relative;
    text-align: center;
    border: 3px solid #59493f;
    background: #fff;
    color: #59493f;
    font-size: 2em;
    }

    h3:before, h3:after {position: absolute; content: '';}

    h3:before {
        top: -40px;
        left: calc(50% - 40px);
        width: 80px;
        height: 80px;
        border: 3px solid #59493f;
        border-radius: 50%;
        background: #fff;
        }

    h3:after {
        top: 4px;
        left: 4px;
        width: calc(100% - 8px);
        height: calc(100% - 8px);
        border: 3px dashed #59493f;
        background: #fff;
        }

h3 i {
    line-height: 60px;
    position: absolute;
    z-index: 2;
    top: -45px;
    left: calc(50% - 45px);
    width: 90px;
    height: 72px;
    text-align: center;
    background-image: url("../images/gachaste/h3_point.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 26px auto;
    }

h3 span {
    position: relative;
    z-index: 1;
    display: block;
    padding: 1rem;
    }

    h3 span:before,h3 span:after {position: absolute; content: '';}

    h3 span:before {
        top: -34px;
        left: calc(50% - 34px);
        width: 68px;
        height: 42px;
        border: 3px dashed #59493f;
        border-radius: 50vw 50vw 0 0;
        }

    h3 span:after {
        position: absolute;
        top: 4px;
        left: calc(50% - 32px);
        width: 64px;
        height: 10px;
        background: #fff;
        }

h4{
    margin: 0;
    padding: 0.35em 1em;
    font-size: 1em;
    line-height: 1.6em;
    background: #59493f;
    color: #FFF;
    border-radius: 10px;
    }

h5{
    margin: 0;
    padding: 0 0 1em;
    color: #59493f;
    font-size: 0.9em;
    border-bottom: solid 2px #bdb6b2;
    }


/*----------main visual----------*/
.Art{
    padding: 5% 0 15%;
    background-image:
        url("../images/gachaste/main_shima.png"),
        url("../images/gachaste/main_kumo01.png"),
        url("../images/gachaste/main_kumo02.png"),
        url("../images/gachaste/main_kujira.png"),
        url("../images/gachaste/main_bg.jpg");
    background-position: bottom right, top 7% left 5%, top 15% right 12%, bottom left 10px, top left;
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat-x;
    background-size: 84% auto, 18% auto, 16% auto, 35% auto, auto;
    }

.concept{
    margin-top: -1.75em;
    background-image: url("../images/gachaste/main_leadbg.png");
    background-repeat: repeat-x;
    }

    .concept article{
        max-width: 860px;
        margin: auto;
        padding: 5% 0 4%;
        text-align: center;
        color: #FFF;
        }

    .concept h2{
        margin: 0;
        padding: 0;
        font-size: 2em;
        color: #FFF;
        }

    .concept p{color: #FFF; line-height: 2.5em;}


@media only screen and (max-width: 860px){
    .Art{padding: 15% 0 25%;}
    .concept{margin-top: -1.15em; background-size: 10%;}
    .concept article{padding: 10% 0 9%;}
    }

@media only screen and (max-width: 520px){
    .Art{padding: 20% 0 40%;}
    .Art{
        background-image:
            url("../images/gachaste/main_kujira.png"),
            url("../images/gachaste/main_shima.png"),
            url("../images/gachaste/main_kumo01.png"),
            url("../images/gachaste/main_kumo02.png"),
            url("../images/gachaste/main_bg.jpg");
        background-position: bottom left 5px, bottom right -50px, top 7% left 10%, top 15% right 14%, top left;
        background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat-x;
        background-size: 68% auto, 170% auto, 22% auto, 17% auto, auto;
        }
    
    .concept{margin-top: -0.75em;}
    .concept article{padding: 10% 1em 9%;}
    .concept h2{font-size: 1.8em;}
    .concept p{font-size: 0.9em; line-height: 2em;}
    
    }


/*----------Contents----------*/
#mainContents{
    max-width: 1480px;
    margin: auto;
    padding: 5% 1em 10%;
    }

    #Twitter, #STORE{padding-bottom: 10%;}

@media only screen and (max-width: 860px){#mainContents{padding: 5% 1em 20%;} #Twitter, #STORE{padding-bottom: 20%;}}
@media only screen and (max-width: 520px){#mainContents{padding: 15% 1em 30%;} #Twitter, #STORE{padding-bottom: 30%;}}


/*NEWS*/
#NEWS {
    max-width: 1000px;
    margin: 0 auto 10%;
    padding: 0 0 0 160px;
    position: relative;
    overflow: hidden;
    border: 2px solid #59493f;
    }

#NEWS:before {
    position: absolute;
    top: -150%;
    left: -100px;
    width: 236px;
    height: 300%;
    content: '';
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
    background: #59493f;
    }

    #NEWS span {
        font-size: 1.4em;
        position: absolute;
        z-index: 1;
        top: 7px;
        left: 0;
        display: block;
        padding-top: 8px;
        padding-left: 16px;
        color: #fff;
        font-family: 'Yusei Magic', sans-serif;
        }

    #NEWS p{margin: 0; padding: 0;}
    #NEWS p:first-child{padding-bottom: 0.25em;}
    #NEWS a{padding: 0.65em;}
    #NEWS:hover{background-color: rgb(235,218,191,0.3);}


@media only screen and (max-width: 860px){#NEWS {margin: 0 auto 18%;}}
@media only screen and (max-width: 520px){
    #NEWS {margin: 0 auto 30%; padding: 0;}
    #NEWS:before {position: relative;}
    #NEWS span {
        text-align: center;
        padding-top: 0.15em;
        padding-bottom: 0.25em;
        padding-left: 0;
        top: 0;
        position: relative;
        background: #59493f;
        }
    }
    
    
/*Twitter*/
#Twitter{max-width: 860px; margin: auto;}

#Twitter h3 + div{height: 450px; overflow-y: scroll;}

.Follow a{
    padding: 0.35em;
    border: solid 2px #205294;
    color: #205294;
    border-radius: 20px;
    font-size: 1.4em;
    text-align: center;
    font-family: 'Yusei Magic', sans-serif;
    }

    .Follow a:hover{color: #FFF; background: #205294;}

@media only screen and (max-width: 860px){#Twitter{width: 96%;}}

/*search*/
.LinkButton{
	width: 100%;
	max-width: 680px;
	margin: 0 auto;
    padding: 1.5em 0.5em;
	text-align: center;
	text-decoration: none;
	background-color: #33629f;
    background-image: url("../images/gachaste/gachaste_search_point.png");
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: contain;
	border-bottom: solid 8px #133159;
	border-radius: 10px;
	}

.LinkButton a{font-size: 2.5em; color: #FFF; display: block;}
.LinkButton:active{-webkit-transform: translateY(8px); transform: translateY(8px); border-bottom: none;}

@media only screen and (max-width: 480px){.LinkButton a{font-size: 1.8em; padding: 0.35em 0.5em 0.35em 2.25em;}}


.strList{display: flex; flex-wrap: wrap; margin-bottom: 3.5%;}
.strList article{flex: 0 1 46%; margin: 0 2% 3em;}
.strList p{font-size: 0.9em; margin: 1em;}

.map {
    width: 100%;
    margin: 1em auto 0 !important;
    padding-bottom: 46.25%;
    position: relative;
    }

    .map iframe {
        width: 100%;
        height: 100%;
        top: 0;
        right: 0;
        position: absolute;
        }

#INFO{
    max-width: 680px;
    margin: auto auto 2em;
    padding: 1.5em 1.5em 1em;
    border: solid 2px #59493f;
    }

#INFO p{font-size: 0.9em;}

#COPR{max-width: 480px; margin: auto; display: flex;}
#COPR p{flex: 0 1 33%; margin: auto; text-align: center;}

@media only screen and (max-width: 520px){
    #COPR{max-width: 320px;}
    #COPR p{flex: 0 1 26%;}
    .strList{display: block;}
    .strList article{margin: 1em 0 3em;}
    }


/*----------SNS----------*/
#shareBox {
	width: 100%;
    margin: 0;
	text-align: center;
	position: relative;
	}

	.shareButtons {
		position: absolute;
        top: 0;
		bottom: 0;
		left: calc(45% - 90px);
		display: flex;
		justify-content: space-between;
		width: 340px;
		height: auto;
		margin: 0px auto;
		padding: 0 0 35px;
		clear: none;
		z-index: 888;
		}

	.shareButtons > div> a {
		display: block;
		width: 45px;
		height: 45px;
        margin: 0 1em;
		background-size: contain;
		background-repeat: no-repeat;
        background-position: center;
		}

	.shareButtons>div.fbBtn a {background-image: url("../images/sns_ico_01_fb.svg");}
	.shareButtons>div.tweetBtn a {background-image: url("../images/sns_ico_02_tw.svg");}
	.shareButtons>div.lineBtn a {background-image: url("../images/sns_ico_03_line.svg");}
	.shareButtons>div.tiktokBtn a {background-image: url("../images/sns_ico_04_tiktok.svg");}

@media only screen and (max-width: 860px) {.mainVisual #shareBox{display: none;} .shareButtons {left: calc(45% - 130px);}}
@media only screen and (max-width: 480px) {.shareButtons {left: calc(45% - 150px);}}



/*----------FOOTER------------*/
footer{
    margin-top: 20%;
	padding: 2em 0;
	color: #FFF;
	display: block;
    position: relative;
    background: #59493f;
	}

.point_01{position: absolute; top: -93px; left: 10px;}
.point_02{position: absolute; top: -105px; right: 10px;}

footer > div{
	width: 100%;
	max-width: 1480px;
	margin: auto;
	padding: 0 1em 1em;
	}

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

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


@media only screen and (max-width: 860px) {footer{margin-top: 40%;}}

@media only screen and (max-width: 520px) {
    footer{margin-top: 50%; padding: 20% 0 10%;}
    ul.taitoLink li{font-size: 0.9em;}
    }



