/*
  Theme Name: ATMOS
  Theme URL: テーマのサイトのURI
  Description: テーマの説明
  Author: 作者の名前
  Version: テーマのバージョン
  Tags: テーマの特徴を表すタグ（カンマ区切り/オプション）
  License: テーマのライセンス
  License URI: テーマのライセンスのURI
  */


/*==============================================
# 	base
==============================================*/
html{
    font-size: 62.5%;
}
body{
    font-size: 1.6rem;
    font-family: 'Noto Serif JP', serif;
    color: #333;
}
img{
    max-width: 100%;
    height: auto;
}
a{
    text-decoration: none;
}
ul{
    list-style: none;
}
/*==============================================
# 	セクション関連
==============================================*/
.section-title-en{
    font-size: 6rem;
}
.section-title-ja{
    font-size: 2.0rem;
    letter-spacing: 0.1em;
}
.section-wrapper{
    padding: 100px 0;
}
/* 	button
----------------------------------------------*/
   /* .contact-button{
    position: absolute;
    left: 550px;
    top: 102px;
   } */
   .news-button{
    position: absolute;
    right: 120px;
    bottom: -80px;
   }
   @media screen and (max-width: 520px){
    .news-button{
        position: static;
        display: block;
        margin: 0 auto;
        margin-top: 60px;
       }
    .contact-button{
        position: static;
        display: block;
        margin: 0 auto;
        margin-top: 20px;
    }
   }
/* From uiverse.io by @alexmaracinaru */
button {
    position: relative;
    display: inline-block;
    cursor: pointer;
    outline: none;
    border: 0;
    vertical-align: middle;
    text-decoration: none;
    background: transparent;
    padding: 0;
    font-size: inherit;
    font-family: inherit;
   }
.cta {
    border: none;
    background: none;
  }
  .cta span {
    padding-bottom: 7px;
    letter-spacing: 3px;
    font-size: 14px;
    padding-right: 15px;
    text-transform: uppercase;
  }
  .cta svg {
    transform: translateX(-8px);
    transition: all 0.4s ease;
  }
  .cta:hover svg {
    transform: translateX(0);
  }
  .cta:active svg {
    transform: scale(0.9);
  }
  .hover-underline-animation {
    position: relative;
    color: black;
    padding-bottom: 20px;
  }
  .hover-underline-animation-2{
    position: relative;
    color: #fff;
    padding-bottom: 20px;
  }
  .hover-underline-animation-2:after {
    content: "";
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 1.5px;
    bottom: 0;
    left: 0;
    background-color: #fff;
    transform-origin: bottom right;
    transition: transform 0.3s ease-out;
  }
  .cta:hover .hover-underline-animation-2:after {
    transform: scaleX(1);
    transform-origin: bottom left;
  }

  .hover-underline-animation:after {
    content: "";
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 1.5px;
    bottom: 0;
    left: 0;
    background-color: #000000;
    transform-origin: bottom right;
    transition: transform 0.3s ease-out;
  }
  
  .cta:hover .hover-underline-animation:after {
    transform: scaleX(1);
    transform-origin: bottom left;
  }
/*==============================================
# 	Loading
==============================================*/
/* Loading背景画面設定　*/

#splash {
    display: none;
}

#splash.appear {
    /*fixedで全面に固定*/
      position: fixed;
      width: 100%;
      height: 100%;
      z-index: 9999;
      background:#fff;
      text-align:center;
      color:#fff;
      display: block;
    }
    
    /* Loading画像中央配置　*/
    #splash_logo {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }
    
    /* Loading アイコンの大きさ設定　*/
    #splash_logo img {
      width:260px;
    }
    
    /* fadeUpをするアイコンの動き */
    .fadeUp{
    animation-name: fadeUpAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity: 0;
    }
    
    @keyframes fadeUpAnime{
      from {
        opacity: 0;
      transform: translateY(100px);
      }
    
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
/*========= 画面遷移のためのCSS ===============*/

/*画面遷移アニメーション*/
.splashbg{
    display: none;
}

/*bodyにappearクラスがついたら出現*/
.splashbg.appear{
    display: block;
    content: "";
    position:fixed;
	z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
	left: 0;
    transform: scaleX(0);
    background-color: #5197C6;/*伸びる背景色の設定*/
	animation-name:PageAnime;
	animation-duration:1.2s;
	animation-timing-function:ease-in-out;
	animation-fill-mode:forwards;
}

@keyframes PageAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	50% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}

/*画面遷移の後現れるコンテンツ設定*/
#container{
	opacity: 0;/*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
#container.appear{
	animation-name:PageAnimeAppear;
	animation-duration:1s;
	animation-delay: 0.8s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes PageAnimeAppear{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}
/*==============================================
# 	流れるテキスト key-visual
==============================================*/
/*========= 流れるテキスト ===============*/

/*全共通*/

.slide-in {
	overflow: hidden;
    display: inline-block;
}

.slide-in_inner {
	display: inline-block;

}

/*左右のアニメーション*/
.leftAnime{
    opacity: 0;/*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
	animation-name:slideTextX100;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextX100 {
  from {
	transform: translateX(-100%); /*要素を左の枠外に移動*/
        opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
	animation-name:slideTextX-100;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
    opacity: 0;
}


@keyframes slideTextX-100 {
  from {
	transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}
/*==============================================
# 	header
==============================================*/
.header-wrapper{
    height: 100px;
    width: 100%;
    position: fixed;
    z-index: 9998;
}
.site-title{
    width: 170px;
}
.header-inner{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right:115px;
}
.header-nav{
    display: flex;
    align-items: center;
}
.nav-item a span{
    font-size: 1rem;
    position: absolute;
    top: -5px;
}
.nav-item{
    font-size: 1.5rem;
    letter-spacing: 0.1em;
}
.nav-item a{
    color: #333;
    display: block;
    position: relative;
    padding: 8px 25px;
}
.nav-line{
    display: block;
    height: 1px;
    width: 10px;
    background: #303030;
    margin: 17px 0 0 0 ;
}
.nav-list{
    display: flex;
    position: relative;
}
.nav-item a::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 18%;
    width: 65%;
    height: 1px;
    background:#333;
    transition: all .5s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: left top;/*左上基点*/
}
.nav-item a:hover::after{
    transform: scale(1, 1);/*X方向にスケール拡大*/
}
.header-sns a{
    padding: 3px 0;
    position: relative;
}
.header-sns a::after{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0%;
    width: 70%;
    height: 1px;
    background:#333;
    transition: all .5s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: left top;/*左上基点*/
}
.header-sns a:hover::after{
    transform: scale(1, 1);/*X方向にスケール拡大*/
}
.header-sns a img{
    width: 15px;
    margin-right: 5px;
}
.hamburger-menu{
    display: none;
}
/*==============================================
# 	key-visual
==============================================*/
.img-active{
    position: relative;
    top: 0;
    transition: all .5s;
}
.img-active:hover{
    top: -7px;
    color: #ffffff;
}
.kv-wrapper{
    background-image: url(./img/bg-sea-pc.png);
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.kv-content{
    position: fixed;
    left: 0;
    top: 170px;
}
.kv-main-text{
    color: #fff;
    font-size: 9.0rem;
    font-weight: 700;
    line-height: 1.2;
    margin-left: 100px;
}
.kv-sub-text{
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.8;
    width: 535px;
    margin-left: 100px;
    margin-top: 50px;
}
.top-works-list-wrapper{
    padding-top: 250px;
}
.top-works-list{
    width: 55%;
    margin: 0 10% 0 40%;
}
.works-item-text{
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.works-des{
    position: relative;
    display: block;
}
.works-des::after{
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100%;
    height: 1px;
    background:#fff;
    transition: all .5s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: left top;/*左上基点*/
}
.works-des:hover::after{
    transform: scale(1, 1);/*X方向にスケール拡大*/
}
.works-des-black{
    position: relative;
    display: block;
}
.works-des-black::after{
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100%;
    height: 1px;
    background:#333;
    transition: all .5s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: left top;/*左上基点*/
}
.works-des-black:hover::after{
    transform: scale(1, 1);/*X方向にスケール拡大*/
}
.works-item-text div{
    color: #fff;
    font-size: 1.8rem;
}
.works-item-text span{
    color:#5197C6 ;
    background: #fff;
    padding: 3px 10px;
    border-radius: 15px;
    margin-left: 15px;
    margin-right: 35px;
    font-weight: 700;
    font-size: 1.3rem;
    text-align: center;
}
.top-works-item:not(:first-child){
    margin-top: 220px;
}
.top-works-item:last-child{
    padding-bottom: 220px;
}
.section-works-all-wrapper-sp{
    position: relative;
}
.section-works-all-wrapper-sp::before{
    content: "";
    position: absolute;
    width: 30%;
    height: 2400px;
    background: #5197C6;
    z-index: 1;
    left: 0;
}
.section-works-all-wrapper-sp{
    display: none;
}
@media screen and (max-width: 520px){
    .top-works-list-wrapper{
        display: none;
    }
    .kv-wrapper{
        height: 100vh;
        background-attachment: scroll;
    }
    .kv-main-text{
        font-size: 5.0rem;
        line-height: 1.2;
        margin-left: 0;
        padding: 0 20px;
    }
    .kv-sub-text{
        font-size: 1.4rem;
        line-height: 1.8;
        width: 100%;
        margin-left: 0;
        margin-top: 50px;
        padding: 0 20px;
    }
    .kv-content{
        position: static;
        padding-top: 360px;
    }
    .section-works-all-wrapper-sp{
        display: block;
    }
    .section-works-all-wrapper-sp::before{
        content: "";
        position: absolute;
        width: 90%;
        height: 170px;
        background: #5197C6;
        z-index: 1;
        left: 0;
        top: 90px;
    }
    .works-des::after{
        background:#333;
    }
}
/*==============================================
# 	scroll
==============================================*/
/*====== 9-1-1 縦線が動いてスクロールを促す =======*/

/*スクロールダウン全体の場所*/
.scrolldown1{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	right: 50px;
	bottom:50px;
    /*全体の高さ*/
	height:50px;
}

/*Scrollテキストの描写*/
.scrolldown1 span{
    /*描画位置*/
	position: absolute;
	left:-4px;
	top: -30px;
    /*テキストの形状*/
	color: #eee;
	font-size: 1.0rem;
	letter-spacing: 0.05em;
    writing-mode: vertical-rl;
}

/* 線の描写 */
.scrolldown1::after{
	content: "";
    /*描画位置*/
	position: absolute;
	top: 0;
    /*線の形状*/
	width: 1px;
	height: 30px;
	background: #eee;
    /*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:30px;
		opacity: 1;
	}
	100%{
		height:0;
		top:50px;
		opacity: 0;
	}
}
/*==============================================
# 	section-service
==============================================*/
.section-service-wrapper{
    padding: 50px 0 0 0;
    position: relative;
}
.section-service-wrapper::before{
    content: "";
    position: absolute;
    width: 30%;
    height: 850px;
    background: #5197C6;
    z-index: 1;
}
.section-service-inner{
    padding: 200px 30px 100px 30px ;
    position: relative;
}
.section-title-service{
    writing-mode: vertical-rl;
    z-index: 3000;
    color: #fff;
    position: absolute;
    top: 60px;
    left: 100px;
}
.section-title-en-service{
    margin-bottom: 20px;
}
.service-item{
    display: flex;
    align-items: center;
    margin-left: 180px;
}
.service-item:nth-child(2){
    flex-direction: row-reverse;
    margin-right: 80px;
}
.service-item:not(:first-child){
    margin-top: 150px;
}
.service-img{
    width: 420px;
    z-index: 100;
}
.service-img-movie{
    width: 570px;
}
.service-content{
    width: 370px;
    margin-left: 50px;
}
.service-content-movie{
    max-width: 380px;
    width: 100%;
    margin-right: 50px;
}
.service-sub-title{
    font-size: 2.8rem;
    color: #5197C6;
}
.service-sub-title-en{
    font-size: 1.2rem;
    color: #5197C6;
    margin-top: 5px;
    margin-left: 3px;
}
.service-des{
    font-size: 1.5rem;
    line-height: 1.8;
    font-weight: bold;
    margin-top: 20px;
}
.service-overview{
    margin-top: 30px;
}
.service-overview span{
    padding: 5px 12px;
    background: #5197C6;
    color: #fff;
    font-size: 1.3rem; 
    margin-right: 10px;
}
.service-img-sp{
    display: none;
}
@media screen and (max-width: 520px){
    .section-service-wrapper{
        padding: 0;
    }
    .section-service-wrapper::before{
        content: "";
        position: absolute;
        width: 90%;
        height: 170px;
        background: #5197C6;
        z-index: 1;
        left: 0;
        top: 105px;
    }
    .service-list{
        margin-top: 85px;
    }
    .section-service-inner{
        padding: 100px 20px 0px 20px ;
        position: relative;
        z-index: 1000;
    }
    .section-title-service{
        writing-mode: horizontal-tb;
        z-index: 100;
        color: #fff;
        position: absolute;
        top: 120px;
        left: 20px;
    }
    .section-title-en-service{
        margin-right: 14px;
    }
    .section-title-ja{
        letter-spacing: normal;
    }
    .service-img{
        display: none;
    }
    .service-item{
        display: block;
        margin-left:0;
    }
    .service-item:nth-child(2){
        margin-right:0;
    }
    .service-item:not(:first-child){
        margin-top: 80px;
    }
    .service-img{
        width: 100%;
        z-index: 100;
    }
    .service-img-movie{
        display: none;
    }
    .service-content{
        width: 100%;
        margin-left:0;
    }
    .service-content:nth-child(2){
        width: 100%;
        margin-right:0;
    }
    .service-sub-title{
        font-size: 2.2rem;
        color: #5197C6;
        margin-top: 20px;
    }
    .service-sub-title-en{
        font-size: 1.0rem;
        color: #5197C6;
        margin-top: 5px;
        margin-left: 3px;
    }
    .service-des{
        font-size: 1.4rem;
        line-height: 1.8;
        font-weight: bold;
        margin-top: 15px;
    }
    .service-overview{
        margin-top: 15px;
    }
    .service-overview span{
        padding: 3px 10px;
        background: #5197C6;
        color: #fff;
        font-size: 1.1rem; 
        margin-right: 10px;
    }
    .service-img-sp{
        display: block;
    }
}
/*==============================================
# 	section-news
==============================================*/
.section-news-wrapper{
    padding: 100px 0 200px 0;
    position: relative;
}
.section-news-wrapper::before{
    content: "";
    position: absolute;
    width: 97%;
    height: 480px;
    background: #5197C6;
    z-index: 1;
    right: 0;
}
.section-news-inner{
    padding: 180px 30px 0 30px ; 
    position: relative;
}
.section-title-news{
    writing-mode: vertical-rl;
    z-index: 3000;
    color: #fff;
    position: absolute;
    top: 60px;
    left: 100px;
}
.section-title-en-news{
    margin-bottom: 20px;
}
.section-news-list{
    width: 80%;
    margin-left:230px;
}
.section-news-content{
    padding: 0 15px;
}
.section-news-item{
    width: 350px;
    position: relative;
    z-index: 3000;
    padding-bottom: 30px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.06);
    transition: transform 0.5s;
    background-color: #fff;
}
.section-news-item:hover{
    transform: translate(0, -20px);
}
.section-news-img,
.section-news-all-img{
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.04);
    text-align: center;
    padding: 16px;
}
.section-news-date{
    font-size: 1.3rem;
    color: #BFBFBF;
    margin-top: 20px;
}
.section-news-sub-title{
    font-size: 1.7rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-top: 5px;
    color: #333;
}
.section-news-title{
    z-index: 100;
}
.section-news-des{
    font-size: 1.2rem;
    line-height: 1.8;
    margin-top: 15px;
    font-weight: normal;
    color: #333;
}
.section-news-list{
    display: flex;
    justify-content: space-between;
}
.section-news-item:nth-child(1){
    margin-left: 80px;
}

@media screen and (max-width: 520px){
    .section-news-list{
        margin-left: 0;
        width: 100%;
        display: block;
    }
    .section-news-wrapper{
        padding:0;
        position: relative;
    }
    .section-news-wrapper::before{
        content: "";
        position: absolute;
        width: 90%;
        height: 170px;
        background: #5197C6;
        z-index: 1;
        left: 0;
        top: 90px;
    }
    .section-news-inner{
        padding: 110px 20px 0px 20px ;
        position: relative;
        z-index: 1000;
    }
    .section-news-list{
        margin-top: 60px;
    }
    .section-title-news{
        writing-mode: horizontal-tb;
        z-index: 100;
        color: #fff;
        position: absolute;
        top: 100px;
        left: 20px;
    }
    .section-title-en-news{
        margin-right: 14px;
    }
    .section-news-item{
        width: 100%;
        position: static;
    }
    .section-news-date{
        font-size: 1.0rem;
        color: #BFBFBF;
        margin-top: 15px;
    }
    .section-news-sub-title{
        font-size: 1.7rem;
        margin-top: 5px;
    }
    .section-news-title{
        z-index: 100;
    }
    .section-news-des{
        font-size: 1.0rem;
        line-height: 1.8;
        margin-top: 15px;
        font-weight: normal;
    }
    .section-news-item:nth-child(1){
        margin-left: 0;
    }
    .section-news-item:not(:first-child){
        margin-top: 70px;
    }
    .section-news-item:hover{
        transform: translate(0, -10px);
    }
}
/*==============================================
# 	section-contact
==============================================*/
.section-contact-wrapper{
    padding: 60px 0;
    position: relative;
    background: #5197C6;
    text-align: right;
}
/* .section-contact-wrapper::before{
    content: "";
    position: absolute;
    width: 95%;
    height: 360px;
    
    z-index: 1;
    left: 0;
} */
.section-contact-inner{
    /* margin:70px 0 0 43vw;
    position: relative;
    z-index: 3000; */
    color: #fff;
    text-align: left;
    display: inline-block;
    padding-right: 40px;
}
.section-contact-title{
    display: flex;
    align-items: center;
}
.section-title-ja-contact{
    margin-left:20px ;
}
.section-contact-content{
    display: flex;
    margin-top: 40px;
    gap: 40px;
}
.learn-more{
    margin-left: 50px;
}
.section-contact-des{
    font-size: 1.5rem;
    line-height: 2.0;
    font-weight: normal;
    width: 450px;
}
select{
    appearance: none;
}
.select{
    position: relative;
}
.select::before{
    content:"";
    position: absolute;
    width: 10px;
    height: 10px;
    right: 25px;
    top: 55px;
    display: block;
    background-image: url(../img/allow.svg);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 9999;
}
@media screen and (max-width: 520px){
    .select::before{
        content:"";
        position: absolute;
        width: 8px;
        height: 8px;
        right: 15px;
        top: 38px;
        display: block;
        background-image: url(../img/allow.svg);
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        z-index: 9999;
    }
}
/*==============================================
# 	footer
==============================================*/
.footer-wrapper{
    background: #FCFCFC;
    padding-top: 20px;
    position: relative;
}
.footer-inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 80px;
}
.copy-right{
    font-size: 0.9rem;
    color: #A0A0A0;
}

/*==============================================
# 	works.html
==============================================*/
.section-works-all-wrapper{
    position: relative;
}
.section-works-all-wrapper::before{
    content: "";
    position: fixed;
    width: 30%;
    height: 2400px;
    background: #5197C6;
    z-index: 1;
    left: 0;
}
.section-works-all-inner{
    padding: 200px 80px 100px 100px;
    position: relative;
}
.section-works-all-title{
    writing-mode: vertical-rl;
    z-index: 100;
    color: #fff;
    position: fixed;
}
.section-title-en-works-all{
    margin-bottom: 20px;
}
.section-works-all-list{
    position: relative;
    z-index: 3000;
    /* padding-left:140px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center; */
}
.section-works-all-item{
    width: 600px;
    margin-left: auto;
}
.works-des{
    color: #333;
    font-weight: 700;
    font-size: 1.6rem;
}
.works-des-black{
    color: #333;
    font-weight: 700;
    font-size: 1.6rem;
}
.works-all-item-text span{
    color:#fff ;
    background: #0077C7;
    padding: 3px 12px;
    border-radius: 10px;
    margin: 0 60px 0 15px;
    font-size: 1.3rem;
}
.works-all-item-text{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.section-works-all-item:not(:nth-child(1)){
    margin-top: 100px;
}
.burger-btn{
    display: none;
}
@media screen and (max-width: 520px){
/* 	button
----------------------------------------------*/
.hamburger-menu{
    display: block;
}
.menu-btn {
    position: fixed;
    top: 15px;
    right: 20px;
    display: flex;
    height: 50px;
    width: 50px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #5197C6;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 2px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
    transition: 0.3s all;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
    transition: 0.3s all;
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
    transition: 0.3s all;
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
    transition: 0.3s all;
}
#menu-btn-check {
    display: none;
}
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #5197C6;
}
.menu-content ul {
    padding: 120px 20px 0 40px;
}
.menu-content ul li {
    list-style: none;
    margin-bottom: 40px;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 1.5rem;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
}
.menu-en{
    font-size: 3.0rem;
    font-family: 'Literata', serif;
    margin-bottom: 10px;
    letter-spacing:0.1em ;
}
.menu-ja{
    font-size: 1.5rem;
    letter-spacing: 0.1em;
}
.menu-sns-list{
    display: flex;
    align-items: center;
}
.menu-sns-item{
    display: flex;
    align-items: center;
    padding: 30px 0 0 40px;
}
.menu-sns-icon a img{
    width: 20px;
}
.menu-sns-text{
    color: #fff;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    margin-left: 10px;
}
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    transition: all 0.5s;/*アニメーション設定*/
}
#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}
/* 	header
----------------------------------------------*/
.header-nav{
    display: none;
}
.header-wrapper{
    max-width: 100%;
}
.site-title{
    width: 130px;
}
.header-inner{
    padding-right: 0px;
    max-width: 100%;
}
/* 	section-work-all
----------------------------------------------*/
.section-works-all-wrapper::before{
    content: "";
    position: absolute;
    width: 90%;
    height: 170px;
    background: #5197C6;
    z-index: 1;
    left: 0;
    top: 150px;
}
.section-works-all-inner-sp{
    padding: 100px 20px 10px 20px;
    position: relative;
}
.section-works-all-inner{
    padding: 170px 20px 40px 20px;
    position: relative;
}
.section-works-all-title{
    writing-mode: horizontal-tb;
    z-index: 100;
    color: #fff;
    position: absolute;
}
.section-title-en-works-all{
    margin-right: 14px;
}
.section-title-en{
    font-size: 3.5rem;
}
.section-title-ja{
    font-size: 1.4rem;
}
.section-works-all-list{
    padding-left:0px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.section-works-all-item{
    width: 600px;
}
.works-des{
    color: #333;
    font-weight: 700;
    font-size: 1.5rem;
}
.works-des-black{
    color: #333;
    font-weight: 700;
    font-size: 1.5rem;
}
.works-all-item-text span{
    color:#fff ;
    background: #0077C7;
    padding: 3px 12px;
    border-radius: 10px;
    margin: 0 30px 0 15px;
    font-size: 1.0rem;
}
.works-all-item-text{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 10px;
}
.section-works-all-item{
    margin-top: 70px;
}
/* 	section-contact
----------------------------------------------*/
.section-contact-wrapper{
    padding: 100px 0 50px 0;
    position: relative;
}
.section-contact-wrapper::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 370px;
    background: #5197C6;
    z-index: 1;
    left: 0;
}
.section-contact-inner{
    margin:50px 20px 70px 20px;
    position: relative;
    z-index: 3000;
    color: #fff;
}
.section-contact-title{
    display: block;
}
.section-title-ja-contact{
    margin-left:14px ;
}
.section-contact-content{
    display: block;
    margin-top: 40px;
}
.learn-more{
    margin-left: 0px;
    margin-top: 25px;
}
.section-contact-des{
    font-size: 1.3rem;
    line-height: 2.4;
    font-weight: bold;
    width: 100%;
}
/* 	footer
----------------------------------------------*/
.footer-wrapper{
    padding: 0;
    height: 70px;
}
.footer-inner h1{
    display: none;
}
.footer-inner{
    display: block;
    margin: 0;
}
.copy-right{
    font-size: 0.9rem;
    color: #A0A0A0;
    text-align: center;
    padding-top: 30px;
}
}
/*==============================================
# 	news-html
==============================================*/
.section-news-all-date{
    font-size: 1.3rem;
    color: #BFBFBF;
    margin-top: 20px;
}
.section-news-all-sub-title{
    font-size: 2.0rem;
    margin-top: 10px;
}
.section-news-all-title{
    z-index: 100;
}
.section-news-all-des{
    font-size: 1.2rem;
    line-height: 1.8;
    margin-top: 15px;
    font-weight: normal;
}
/* .section-news-all-list{
    position: relative;
    z-index: 3000;
    padding-left:450px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
} */
.section-news-all-item:not(:nth-child(1)){
    margin-top: 100px;
}
.section-news-all-item:nth-child(even){
    margin-right: 40px;
}
.section-news-all-wrapper{
    position: relative;
}
.section-news-all-wrapper::before{
    content: "";
    position: fixed;
    width: 30%;
    height: 100%;
    background: #5197C6;
    z-index: 1;
    left: 0;
}
.section-news-all-inner{
    padding: 200px 80px 100px 100px;
    position: relative;
}
.section-news-all-title{
    writing-mode: vertical-rl;
    z-index: 100;
    color: #fff;
    position: fixed;
}
.section-title-en-news-all{
    margin-bottom: 20px;
}
.section-news-all-item{
    width: 450px;
    padding-bottom: 30px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.06);
    transition: transform 0.5s;
    margin-left: auto;
    background-color: #fff;
}
.section-news-all-content{
    padding: 0 20px;
    color: #333;
}
.section-news-all-item:hover{
    transform: translate(0, -20px);
}

.single .section-news-all-content,
.error404 .section-news-all-content{
    width: calc(100% - 30%);
    margin-left: auto;
}
.single .section-news-all-des,
.error404 .section-news-all-content{
    font-size: 1.4rem;
}
.error404 .section-news-all-content h3{
    font-size: 1.6rem;
}
.error404 .section-news-all-content p{
    font-size: 1.6rem;
}
/*==============================================
# 	news-html-sp
==============================================*/
@media screen and (max-width: 520px){
    .section-news-all-wrapper::before{
        content: "";
        position: absolute;
        width: 90%;
        height: 170px;
        background: #5197C6;
        z-index: -1;
        left: 0;
        top: 150px;
    }
    .section-news-all-inner{
        padding: 230px 20px 40px 20px;
        position: relative;
    }
    .section-news-all-title{
        writing-mode: horizontal-tb;
        z-index: 100;
        color: #fff;
        position: absolute;
        top: 170px;
    }
    .section-title-en-news-all{
        margin-right: 14px;
    }
    .section-news-all-list{
        padding-left:0px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }
    .section-news-all-date{
        font-size: 1.0rem;
        margin-top: 15px;
    }
    .section-news-all-sub-title{
        font-size: 1.7rem;
        line-height: 1.5;
        margin-top: 5px;
    }
    .section-news-all-des{
        font-size: 1.0rem;
        line-height: 1.8;
        margin-top: 15px;
    }   
    .section-news-all-item:not(:nth-child(1)){
        margin-top: 70px;
    }
    .section-news-all-item:nth-child(2n){
        margin-right:0;
    }
    .section-news-all-item:hover{
        transform: translate(0, -10px);
    }
    .section-news-all-content{
        padding: 0 15px;
        color: #333;
    }
    .single .section-news-all-content,
    .error404 .section-news-all-content{
        width: 100%;
    }
}
/*==============================================
# 	contact.html
==============================================*/
.send-button{
    /* position: absolute;
    right: 430px;
    bottom: 50px; */
    display: flex;
    align-items: center;
    margin: 40px auto 0;
   }
.section-contact-page-wrapper{
    position: relative;
}
.section-contact-page-wrapper::before{
    content: "";
    position: fixed;
    width: 40%;
    height: 1165px;
    background: #5197C6;
    z-index: 1;
    left: 0;
}
.section-contact-page-inner{
    padding: 160px 80px 120px 100px;
    position: relative;
    z-index: 100;
}
.section-contact-page-title{
    writing-mode: vertical-rl;
    z-index: 100;
    color: #fff;
    position: fixed;
}
.section-title-en-contact-page{
    margin-bottom: 20px;
}
.section-contact-page-content{
    display: flex;
    padding-left: 170px;
}
.section-contact-page-des{
    width: 320px;
    color: #fff;
    font-size: 1.5rem;
    line-height: 2.0;
    font-weight: normal;
}
form{
    padding-left: 170px;
}
.must{
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #0077C7;
    margin-left: 10px;
}
label{
    font-size: 1.6rem;
    font-family: 'Noto Serif JP', serif;
    color: #333;
    font-weight: 700;
    display: flex;
    align-items: center;
}
select,textarea,input{
    width: 750px;
    font-size: 1.6rem;
    font-family: 'Noto Serif JP', serif;
    line-height: 1.5;
    border: 2px solid #BFBFBF;
    margin-top: 20px;
}
input{
    height: 2.5em;
    padding: 1.5em;
}
select{
    padding: 1.5em;
    width: 100%;
    color: #333;
}
textarea{
    height: 7em;
    padding:1.0em 1.5em;
}
.input-item:not(:first-child){
    margin-top: 40px;
}
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color: #c9c9c9;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
 color: #c9c9c9;
}
::placeholder{ /* Others */
 color: #c9c9c9;
}

input[type="submit"]{
    background: none;
    border: none;
    width: auto;
    margin: 0;
}

/*==============================================
# 	contact-html-sp
==============================================*/
@media screen and (max-width: 520px){
    .section-contact-page-wrapper::before{
        content: "";
        position: absolute;
        width: 100%;
        height: 230px;
        background: #5197C6;
        z-index: 1;
        left: 0;
        top: 150px;
    }
    .section-contact-page-inner{
        padding: 230px 20px 50px 20px;
        position: relative;
    }
    .section-contact-page-title{
        writing-mode: horizontal-tb;
        z-index: 100;
        color: #fff;
        position: absolute;
        top: 170px;
    }
    .section-title-en-contact-page{
        margin-right: 14px;
    }
    .section-contact-page-content{
        display: block;
        padding-left: 0;
    }
    .section-contact-page-des{
        width: 100%;
        color: #fff;
        font-size: 1.3rem;
        line-height: 2.0;
        font-weight: normal;
    }
    form{
        padding: 0;
    }
    .must{
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #0077C7;
        margin-left: 8px;
    }
    label{
        font-size: 1.4rem;
        font-family: 'Noto Serif JP', serif;
        color: #333;
        font-weight: 700;
        display: flex;
        align-items: center;
    }
    select,textarea,input{
        width: 100%;
        font-size: 1.3rem;
        line-height: 1.5;
        border: 2px solid #BFBFBF;
        margin-top: 15px;
        box-sizing: border-box;
    }
    .input-item:first-child{
        margin-top: 80px;
    }
    input{
        height: 2.5em;
        padding: 2.0em 1.5em;
    }
    select{
        padding: 1.0em 1.5em;
    }
    textarea{
        height: 300px;
        padding:1.0em 1.5em;
    }
    .contact-button{
        position: absolute;
        left: 80px;
        bottom: -180px;
    }
    .send-button{
        display: block;
        position: static;
        margin: 0 auto;
        margin-top: 50px;
    }
}





