@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:wght@300;400;500&family=Taviraj:ital,wght@1,100;1,200;1,300;1,400&display=swap');
/*clearfix///////////////////////*/
.clearfix:before,
.clearfix:after {
    content:"";
    display:table;
}
.clearfix:after {
	height:0px;
	clear:both;
	visibility:hidden;
	}
	
.clearfix {
	zoom:1;
	}
.sp_only { }
.pc_only { display: none; }

body {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 300;
    /*font-feature-settings: "palt" 1;*/
	text-align:center;
    line-height: 200%;
	letter-spacing: 0.02em;
	color:#fff;
    background:#2D1837;
}
img {
	display: block;
	width:100%;
	margin:0 auto 
}
ul,li { list-style: none;}
a {
	color: #fff;
    text-decoration: none;
    transition: .2s ease-in-out;
}
a:hover {
	color: #aaa;
	text-decoration: none;
}
a:active, a:focus {
	color: #aaa;
	text-decoration: none;
}
.jp {}
.eng { 
    font-family: 'Roboto', sans-serif;
    color: #ccc;
}
.ital {
    font-family: 'Taviraj', serif;
    font-weight:300;
    font-style: italic;
    font-stretch: normal;
    font-optical-sizing: auto;
    font-size: 10px;
	letter-spacing: 0.04em;
    color: #fff;
}

/* Loading
---------------------------------*/
#loading {
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100%;
    background:#2D1837;
}
#loading_text {
    position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding:0;
	margin:0;
	font-size:1.2rem;
	color:#fff;
    display:none;
}

/* top slider
---------------------------------*/
#slider-wrapper {
    position: relative;
}
#slider {
    width: 100%;   
    height: 100vh;
}
#slider-title {
    position: absolute;
    width:92%;
	z-index: 2;
	top: 10%;
	left: 50%;
	transform: translate(-50%, 0%);
	text-align: left;
}
#slider-title h1 img {
    width:100%;
    margin: 0 auto 0 0;
    max-width: 880px;
}
#slider-title h1 {
    margin-bottom: 2.5em;
    margin-bottom: 1em
}
#slider-title h2 {
    font-size: 1.15em;
    color: rgba(255,255,255,1.00);
    font-weight: 600;
    margin-bottom: 0em;
    letter-spacing: 0.05em;
    font-family:Helvetica, "sans-serif";
}
#slider-title h3 {
    font-size: 1em;
    color: #fff;
    font-weight: 300;
    margin-bottom: 0.15em;
    letter-spacing: 0.05em;
}
#slider-title .button {
    display: flex;
    justify-content: flex-start;
    padding-top: 2em;
    margin: 0 auto 5em;
    color: #fff;
}
#slider-title .button .tab-btn {
    width:7em;
    margin:0 1em 0 0;
    text-align: center;
    border: 0.05em solid rgba(255,255,255,1.0);
    background-color:rgba(45,24,55,0.0);
    border-radius: 1%;
    cursor: pointer;
    padding: .3em 0 .4em;
    line-height: 1;
    opacity: 1.0;
    transition: 0.3s;
    font-size: 12px;
}
#slider-title .button .tab-btn.show {
    cursor: default;
    opacity: 1.0;
    border: 0.05em solid rgba(255,255,255,1.0);
}
#slider-title .button .tab-btn:hover {
	opacity: 1.0;
    cursor: pointer;
    background-color:rgba(45,24,55,0.8)
} 
#slider .title {
    position: absolute;
	z-index:3;
    width:6em;
	bottom:2em;
	right: 4%;
}

/* contents
---------------------------------*/
.contents {
    width:92%;
    margin:0 auto; 
    padding: 2.25em 0;
    max-width: 980px;
}
/*read*/
.tab-read {
    font-size: 1em;
    font-style: italic;
    line-height:2.2;
    margin:0 auto 3.5em; 
    padding:0 0 2.75em;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    text-align: left;
}
.tab-read div {
    display: none;
}
.tab-read div.show {
    display: block;
}
/*contents*/
.tab-contents {
    text-align: left;
}
.tab-contents > div {
    display: none;
}
.tab-contents > div.show {
    display: block;
}
.tab-contents h2 {
    margin-bottom: 1.25em;
    font-size: 16px;
    font-weight: 400;
    font-feature-settings: "palt" 1;
    letter-spacing: .1em;
}
.tab-contents ul {
    margin-bottom:2em;
    }
.tab-contents ul.sentence-01 {
    margin-bottom:3.5em;
    }
.tab-contents li {
    margin-bottom:.75em;
}
/*テキスト内写真*/
.tab-contents .float-photos img {
    width: 100%;
    margin: 0 auto;
    padding: 1em 0 1em;
}
/*photos*/
.flex-photos {
    margin-bottom: 4em
}
.flex-photos .photos {
    width: 100%;
    margin: 0 auto;
    margin-bottom: 1.75em;
}
.flex-photos .photos img {
    margin-bottom: 0.5em;
}
.flex-photos .credit {
    text-align: left;
    font-size: 10px;
    line-height: 1.75;
}
/*profile*/
.profile {
    line-height:2;
    border: 1px solid rgba(255,255,255,0.3);
    font-size: 13px;
    text-align: left;
    margin: 0 auto 2em;
    padding:1.5em 2.25em 1.35em 2.25em;
}
.profile div {
    display: none;
}
.profile div.show {
    display: block;
}
/*footer-img*/
.footer-img {
    position: relative;
    max-width: 980px;
    margin: 0 auto;
}
.footer-img .ital {
    position: absolute;
    width: 17em;
    bottom:0;
    left:2em; 
    padding-bottom: .765em;
    text-align: left;
    font-size:10px
}

/* footer
---------------------------------*/
footer { padding:2em 0 2.5em; }
footer div { color:rgba(255,255,255,0.3);}

/* scroll up
---------------------------------*/    
.scroll-up {
    position: fixed;
    z-index:100;
	bottom: 4vw;
    right: 3.8vw;
    opacity: 0;
    transition: all 0.4s ease-in-out 0s;
    }
.scroll-up a {
    width:42px;
	padding:13px 10px 14px;
	line-height: 1;
	display: inline-block;
	color:#fff;
	background-color:rgba(0,0,0,1.0);
	-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:768px) {
	.sp_only {display: none;}
    .pc_only {display: block;}
    .tab-read {
        text-align: center;
    }
    .tab-contents .float-photos {
        width: 40%;
        float: right;
        padding: .5em 0em .15em 2em;
    }
    .sentence-03 .float-photos {
        float: left;
        padding-right: 2em;
        padding-left: 0;
    }
    .tab-contents .float-photos img {
        width: 100%;
        margin: 0;
        padding: 0;
    }
    
    /*flex-photos*/
    .flex-photos {
        display: flex;
        justify-content: space-between;
        margin-bottom: 3em;
    }
    .flex-photos .photos {
        width:32%;
    }
    /* top slider
    ---------------------------------*/
    #slider-title {
        top: 35%;
    }
    #slider-title h2 {
        font-size: 1.45em;
        margin-bottom: 0.15em;
    }
    #slider-title h3 {
        font-size: 1.25em;
        margin-bottom: 1em;
    }
    
    #slider-title .button .tab-btn {
        margin:0 1.5em 0 0;
        font-size: 1em;
    }
    #slider .title {
        width:9em;
        bottom:6em;
        right: 4%;
    }
}
