@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;600&family=Roboto:wght@100;300;400;700&family=Taviraj:ital,wght@1,100;1,200;1,300&display=swap');

/* CSS Document */
/* ==================================================
    BASE (RESET)FONT
================================================== */
html { font-size: 90%;}
body {
    background-color:rgba(30,30,30,1.00);
	color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
	font-size: 14px;
	font-feature-settings: "palt" 1;
	line-height: 190%;
	text-align: center;
	letter-spacing: 0.02em;
	-webkit-font-smoothing: antialiased; /* WebKitブラウザサポート */
	text-rendering: optimizeLegibility; /* Chrome、Safariサポート */
	-moz-osx-font-smoothing: grayscale; /* Firefoxサポート */
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%; /* iPhoneの文字サイズバグの回避 */
    overflow-x: hidden;
}
img {
    display: block;
    width: 100%;
}

/* ==================================================
    LINK
================================================== */
a { line-height: 1.2; text-decoration:none; }
a:link { color: #FFF; transition: .2s ease-in-out; }
a:visited { color: #FFF; }
a:hover { color: #6D6D6D;}
a:active { color: #FFF; }
a img { opacity:1.0; transition: .2s ease-in-out;}
a img:hover { opacity: .7 !important; }

/* ==================================================
    FONT
================================================== */
.font-j { 
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
}
.font-e { 
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    color: #aaa;
    font-size: 1.05em;
}
.title h1 { 
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    color: #00c;
}


/* ==================================================
    PC/SP 表示切り替え
================================================== */
.sp_only { display:inherit }
.pc_only { display:none }

/* ==================================================
    OTHERS
================================================== */
.clearfix::before,
.clearfix::after { display: table; content: ''; }
.clearfix::after { clear: both; }

/* ==================================================
    CREDIT
================================================== */
.credit {
    font-family: 'Taviraj', serif;
    font-weight: 300;
    font-style: italic;
    font-stretch: normal;
    font-optical-sizing: auto;
    font-size:12px;
    color:rgba(255,255,255,0.5);
    line-height:1.8;
}
.credit span {
    display: inline-block;
    width: 1.05em;
    height:1em;
    line-height: 1;
    position: relative;
}
.credit span.left:before {
    content: "‹";
    left:40%;
}
.credit span.right:before {
    content: "›";
    right:40%;
}
.credit span.left:before,
.credit span.right:before { 
    font-weight:100;
    font-size: 1.85em;
    display: inline-block;
    position:absolute;
    bottom:-0.275em;
}

/* ==================================================
   header
================================================== */
header {
    margin-bottom: 8em;
}
header img {
    margin-bottom: 2em;
}
header h1 img {
    margin-left: auto;
    margin-right: auto;
    width:80%;
    max-width: 400px;
}
header .read {
    width:80%;
    margin: 0 auto 3.75em;
}
header .read p {
    margin: 0 auto .75em;
}

/* ==================================================
   SECTION
================================================== */
section .common_w {
    margin-bottom: 9em;
}
section .common_w > div {
    width:88%;
    margin: 0 auto 3.75em;
}
section .common_w > div.section-title {
    width:100%;
}
#section-07 .common_w,
.staff-credit .common_w {
    margin-bottom: 5em;
}

/* section-title
-----------------------------------------------*/
.section-title img {
    margin-bottom: 1em;
}
.section-title h1 {
    font-weight: 300;
    font-size: 1.25em;
    text-align: center;
    margin-bottom: 1.5em;
    line-height: 1;
}
.section-title h1:before {
    display:inline-block;
    content: "▼ ";
    width: 1em;
    font-size: 0.85em;
    height: 1em;
    position:relative;
    top:-0.1em;
    margin-right: .5em;
}

.section-title h1 span:after {
    display:inline-block;
    content: "|";
    width: 1em;
    font-size: 0.85em;
    position:relative;
    top:-0.1em;
    margin-left: 0.45em;
    margin-right: .25em;
}
.section-title h1 div {
    display: inline-block;
    font-size: 0.9;
}

/* section-flex
-----------------------------------------------*/
.section-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.75em !important;
}
.flex-80 { width: 78% }
.flex-70 { width: 68% }
.flex-60 { width: 58% }
.flex-50 { width: 48% }
.flex-40 { width: 38% }
.flex-30 { width: 28% }
.flex-20 { width: 18% }
#section-01 .section-flex {
    align-items: center;
}
#section-03 .section-text .section-flex img {
    width: 50%;
    margin-bottom: 0;
}
#section-04 .section-flex .flex-60  {
    margin-top: 6em;
    margin-bottom: 2em
}

/* section-credit
-----------------------------------------------*/
.section-credit {
    border: 0px solid rgba(239,255,0,1.00) !important;
}
.section-credit img {
    margin-bottom: 1.75em !important;
}

/* section-text
-----------------------------------------------*/
section .common_w > div.section-text {
    margin-bottom: 2em;
}
.section-text img {
    width: 85%;
    margin: 0 auto 1.75em;
}
.section-text .text p {
    text-align: left;
    margin-bottom: 1em;
}
#section-07 div.section-text {
    width: 100%;
}
#section-07 .section-text img {
    width: 100%;
}
#section-07 .section-text .text {
    width: 88%;
    margin: 0 auto;
}
    
/* section-address
-----------------------------------------------*/
.section-address {
    margin-top: 1em !important;
    color: #fff;
    font-size: 0.9em;
    padding-top: 1.5em;
    border-top: 1px solid rgba(255,255,255,0.10) !important
}
.section-address span {
    /*display: block;*/
    /*color: #6D6D6D;*/
}
.section-address span:before {
    display:inline-block;
    content: "|";
    font-size: 0.85em;
    height: 1em;
    position:relative;
    top:-0.1em;
    margin-right: 1em;
    margin-left: 1em;
}
.section-address a:link { color: #6D6D6D; transition: .2s ease-in-out; }
.section-address a:visited { color: #6D6D6D; }
.section-address a:hover { color: #fff;}
.section-address a:active { color: #6D6D6D; }
#section-04 .section-address {
    margin-bottom: 8em
}

/* section-landscape
-----------------------------------------------*/
.section-landscape img {
    margin: 0 auto;
    width: 70%;
}
#section-03 .section-landscape {
    margin-top:8em;
}



/* ==================================================
   section - staff-credit
================================================== */
.staff-credit {
    margin:0 auto 6em;
    line-height: 2.2;
    font-size: 0.9em;
}

/* ==================================================
   footer - store_address
================================================== */
.store_address {
    margin: 4em auto 4em;
	padding-top: 3em;
}
.store_address,
.store_address h4,
.store_address h5 {
    text-align: center;
}
.store_address a {
    color:#6D6D6D;
}
.store_address h4 {
    font-size:1em;
    font-weight: 300;
}
.store_address h5 {
    font-size:1em;
    font-weight: 300;
    margin-bottom: .15em
}
.store_address > div {
    font-size:0.9em;
    margin-bottom: 1.75em;
    line-height: 1.75;
}
.store_address > div.excerpt {
    border-bottom: 1px solid #333;
	width: 90%;
    font-size:0.75em;
    padding-bottom:1.5em;
    margin: 0 auto 2em;
}
footer h6.copyright {
    text-align: center;
    font-size: 1em;
    padding-top: 3em;
    padding-bottom: 3em;
    font-weight: 300;
    width: 90%;
    border-top: 1px solid #333;
    margin: 0 auto;
}
footer h6.copyright span {
	font-size:1.125em;
	}

/* ==================================================
    SCROLL UP
================================================== */
.scroll-up {
    position: fixed;
    z-index:100;
	right: 1.25em; 
	top:  1.25em;
    opacity: 0;
    transition: all 0.4s ease-in-out 0s;
    }
.scroll-up a {
    width:30px;
	padding: 8px;
	line-height: 1;
	display: inline-block;
	color:#fff;
	background-color:rgba(0,0,0,0.2);
	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;     
    }
.scroll-up a:hover{
	background-color:rgba(0,0,0,0.5);
    }

@media screen and (min-width:1024px){
    .sp_only { display:none }
    .pc_only { display:block }
    
    /* ==================================================
       SECTION
    ================================================== */
    header h1 {
        width: 90%;
        max-width:465px;
        margin: 5em auto 0;
    }
    header h1 img {
        margin-left: auto;
        margin-right: auto;
        width:100%;
        max-width:none;
    }
    header .read-text{
        width: 90%;
        max-width:500px;
        margin: 0 auto 10em;
    }
    header .read-text p {
        margin-bottom: 1.5em
    }
    .common_w,
    .store_address > div.excerpt,
    footer h6.copyright {
        width:90%;
        margin-left: auto;
        margin-right: auto;
        max-width: 1280px;
    }
    section .common_w {
        margin-bottom: 12em;
    }
    section .common_w > div {
        width:80%;
        margin: 0 auto 6em;
    }
    .section-flex {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 6em !important;
    }
    .section-title h1 {
        font-size: 1.7em;
    }
    .section-text img {
        width: 100%;
        margin: 0 auto 1.75em;
    }
    .section-address {
        font-size: 1em;
    }
    
    
    
    #section-01 .section-title,
    #section-02 .section-title {
        position: relative;
    }
    #section-01 .section-title h1,
    #section-02 .section-title h1 {
        position: absolute;
        left: 5%;
        top: 40%;
        width: 40%;
        text-align: center;
    }
    #section-01 .section-title img,
    #section-02 .section-title img {
        width: 55%;
        margin-right:0; 
        margin-bottom: 0;
        margin-left:auto;
    }
    #section-01 .section-flex .flex-40 img {
        margin-bottom: 1.75em;
    }
    #section-02 .section-credit {
        width: 55%;
    }
    #section-02 .credit {
        text-align: left;
    }
    #section-03 .section-credit {
        width: 65%;
    }
    #section-03 .credit {
        text-align: left;
    }
    #section-03 .section-flex {
        display: block;
        width: 48%;
        margin-bottom: 0em !important;
    }
    #section-03 .text {
        width: 46%
    }
    #section-03 .section-text .section-flex img {
        width: 100%;
        }
    #section-03 .section-text .section-flex img:first-child {
        margin-bottom: 2.5em
    }
    #section-03 .section-text {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
    }
    #section-03 .section-address {
        text-align: left;
    }
    #section-03 .section-flex-02 {
        display: flex;
    }
    #section-04 .section-landscape:last-child {
        width: 48%;
    }
    #section-05 .credit {
        text-align: right;
    }
    #section-05 .section-text img {
        width: 66%;
    }
    #section-06 .section-flex {
        align-items: flex-end;
    }
    #section-06 .credit {
        margin-top: 2em;
        margin-bottom: 4em;
        text-align: left;
    }
    .staff-credit .common_w {
        margin: 10em auto;
    }
}
