@charset "utf-8";
/* レイアウトのためのCSS */

body{
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	color: #fff;
	font-size:1.5rem;
	line-height:1.85;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%; 
	word-wrap: break-word;
}

ul{
	margin:0;
	padding: 0;
	list-style: none;
}

a{
	color: #fff;
	text-decoration: none;
    outline: none;
}

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

*{
    box-sizing: border-box
}

/* HEADER */
nav{
	position: relative;
	z-index:999;
	padding:5px 20px;
}

h1{
    font-size: 2.5rem;
    position: absolute;
    top:50%;
    transform: translate(-50%,-50%);
    z-index: 999;
    letter-spacing: 0.1em;
    width:15em;
    opacity: 0;/*ローディング画面では透過*/
}

#fate{
    width:100%;
    object-fit: cover;
}

/* container */

#container{
    padding:0 70px 0 130px;
}

@media screen and (max-width:960px) {
#container{
    padding:0 30px;
}
    
}

#greeting .heading01 span.en{
 left:3em;   
}

#greeting .heading01 span.jp{
 left:8em;   
}

@media screen and (max-width:768px){
 h1{
    font-size: 1.5rem;
    }
.heading01 span.en{
        font-size: 1.6rem;
    }
.heading01 span.jp{
        font-size:0.9rem;
    top:5em;
    left:4em;
    }
    #greeting .heading01 span.jp{
    left:6em;
    }
}

body.appear h1{
    opacity: 1;
}

/* area */
.sp-bottom{		
    text-align: center;
}

#left9 .sp-bottom{
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);    
}

h2{
    font-size: 3.5rem;
    letter-spacing: 0.2em;
    margin: 0 0 0 0;
}

@media screen and (max-width:550px){
 h2{
    font-size: 1.5rem;
    }
}

#left2 .sp-bottom p{
    margin:0 0 50px 0;
    font-size: 1.5rem;
    letter-spacing: 0.2em;
    white-space: nowrap;
}

#left3 .sp-bottom p{
    margin:0 0 50px 0;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

#left4 .sp-bottom h2{
    margin:-40px 0 0 0;
}

#left4 .sp-bottom p{
    margin:-20px 0 50px 0;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

#left5 .sp-bottom h2{
    margin:200px 0 0 0;
}

#left5 .sp-bottom p{
    margin:-20px 0 50px 0;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

#left7 .sp-bottom p{
    margin:0 0 50px 0;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

#right8 .sp-bottom h2{
    margin:0 100px 0 0;
}

#right8 .sp-bottom a{
    margin:0 100px 0 0;
}

#left9 .sp-bottom p{
    margin:0 0 50px 0;
    letter-spacing: 0.3em;
    white-space: nowrap;
}

#left9 .sp-bottom ul{
    display: flex;
    justify-content: center;
}

#left9 .sp-bottom ul li{
    margin: 0 10px;
}

#left9 .sp-bottom ul img{
     height:25px;   
}

#footer{
    position: fixed;
    bottom:20px;
    left: 20px;
}

@media screen and (max-width:550px){
 
#footer{
    bottom:inherit;
    left: 20px;
    top:20px;
}
}


/* greeting */

#greeting{
    margin:0 0 200px 0;
}

@media screen and (max-width:960px) {
#greeting{
    margin:0 0 100px 0;
}  
}

.greeting-area{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.greeting-area p{
    margin: 0 0 30px 0;    
}

.greeting-area .txt-r{
     text-align: right;
}

.greeting-lead{
    font-weight: bold;
    font-size: 1.2rem;
}

.greeting-img{
    width:50%;
}

.greeting-img img{
    animation: fluidrotate 30s ease 0s infinite;
}

.greeting-content{
    width:40%;
}

@media screen and (max-width:768px) {
.greeting-area{
    display: block;
    }
.greeting-img{
    width: 60%;
    margin:0 auto;
    }
.greeting-content{
    width:100%;
    padding: 0 30px 0 70px;
}
}

@media screen and (max-width:550px) {
.greeting-content{
    padding:0;
} 
.greeting-img{
    width:100%;
}
}