@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Frank+Ruhl+Libre:400&display=swap');

body{
    color: #eee;font-weight: 500;
    font-family: 'Shippori Mincho', serif;
    font-size: 1rem;
    line-height: 1.9;
    word-wrap: break-word;
    overflow-y: scroll;
    overflow-x: hidden;
}

@media screen and (max-width:992px) {
body{
	font-size:0.8rem;
	}
}

ul{
	margin:0;
	padding: 0;
	list-style: none;
}

a{
	color: #ccc;
    outline: none;
}

a:hover,
a:active{
	text-decoration: none;
}


/*数字カウント*/

.progressbar-text{
    font-size:2rem;
}

.progressbar-text span{
    font-size:1rem;
}


@media only screen and (max-width:992px) {
.progressbar-text{
    font-size:2rem;
}
.progressbar-text span{
    font-size:1rem;
}

}

main {
    width: 100%;
}
.main-area::before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("../../img/bg.jpg");
    background-size: cover;
}





.title-logo{
    width: 100%;
    max-width: 640px;
    margin: 60px auto 0;

}



/*
---------------------------------------------
h2
---------------------------------------------
*/
.title-area {
    margin: auto;
    width: 80px;
    background-image: url("../../svg/h2-icon.svg");
    background-size: 90%;
    background-position: center top;
    background-repeat: no-repeat;
}
h2 {
    padding-top: 60px;
    width: 58px;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 700;
    -ms-writing-mode: tb-rl;
    text-orientation: upright;
    writing-mode: vertical-rl;
    align-items: center;
    margin-bottom: 30px;
    text-shadow: 2px 2px 6px #000;
}
h2 span {
    font-weight: 400;
    display: block;
    font-size: 0.7rem;
    letter-spacing: 0.1rem;
    padding-top: 15px;
    text-orientation: mixed;
}


.head-home{position: fixed;
  width: 100px;height:100px;
top:1%;
    right:1%;z-index: 999;
}
.image-container {
  width: 100%;
  height: 100%;
  top:0;
  left:0;
  position: relative;
}

.image-container img {
  width:600px;
  min-height: 300px;
  position: absolute;
  top: 30px;
  left: 50%;
    margin-left: -300px;  animation: slide-and-scale 3s ease-in-out forwards;
  /*animation: shrink 5s linear 1;*/
}




@keyframes slide-and-scale {
  0% {translate: 0 120%;
  scale: 3;
  }
    70% {translate: 0 120%;
  scale: 3;

  }
  100% {translate: 0 0;
  scale: 1;
 
  }
}



/*横幅が992px以下になった際の指定*/
@media only screen and (max-width:992px) {
.image-container img {
  width:60%;
  min-height: 300px;
  position: absolute;
  top: 20px;
  left: 50%;
    margin-left: -30%; animation: slide-and-scale 2.5s ease-in-out forwards;
}

    
.head-home{position: fixed;
  width: 70px;height:70px;
top:1%;
    right:1%;z-index: 999;
}
 
    
}/**/


/*横幅が992px以下になった際の指定*/
@media only screen and (max-width:768px) {

.image-container img {
  width:60%;
  min-height:200px;
  position: absolute;
  top: 0;
  left: 50%;
    margin-left: -30%; animation: slide-and-scale 2.5s ease-in-out forwards;
}
}/**/

/* sns icon */
#sns-icon img{
    width: 20px;
}

#sns-icon{
    position: absolute;
    right:20px;
    top:45%;
}

#sns-icon li{
     margin:0 0 15px 0;   
}

/* copyright */

small{
    position: absolute;
    left:20px;
    top:40%;
    color: #fff;
    letter-spacing: 0.1em;
    line-height: 1;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}



/*
---------------------------------------------
stage
--------------------------------------------- 
*/


#stage { margin: auto;width: 100%;padding: 60px 0;text-align: center;}

#stage a img{max-width: 400px;will-change: transform;text-align: center;}

#stage a:hover img,.head-home a:hover img{
 transform: scale(0.9);transition: .5s;opacity: 0.8;
}

@media screen and (max-width:992px) {
#stage a img{max-width: 60%;}
} /*end*/
/*



/* =============================================== */
/* nav - メインナビゲーション */
/* ----------------------------------------------- */
/* ナビ全体枠 */
nav{
  clear: both;
  width: 1150px;
  margin: 0 auto;
  padding: 0;
  line-height: 1;
}

/* 第一階層 */
#main-menu{
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}
#main-menu::after{
  display: block;
  clear: both;
  content: '';
}
#main-menu li{
  position: relative;
  float: left;
  font-size: 1em;
  text-align: center;
  white-space: nowrap;
}
#main-menu li a{
  display: inline-block;
  color: #fff;
  padding: 0;
}
#main-menu li a:link{text-decoration: none;}
#main-menu li a:visited{text-decoration: none;}
#main-menu li a:active{text-decoration: none;}
#main-menu li a:hover{text-decoration: none;}


/* 中央部分 */
#footer-copyright{
  max-width: 120px;
  margin: 0 auto;
  padding: 10px 0;
	text-align: center;
}



/* 
==================================================
  ハンバーガーメニュー
==================================================
*/
/*メニュー部分*/
@media only screen and (max-width:992px) {
    

    #ham-menu{
  background-color:#000; /*メニュー背景色*/
  box-sizing:border-box;
  height:100%;
  padding:10px 20px; /*メニュー内左右上下余白*/
  position:fixed;
  right:-320px; /*メニュー横幅 width と合わせる*/
  top:0;
  transition:transform 0.2s linear 0s; /*0.3s はアニメーションにかかる時間*/
  width:320px; /*メニュー横幅*/
  z-index:1000;
  text-align: center;
}
#ham-menu li{
  font-size: 1.3em;
  list-style: none;
  margin:0;
  padding:5px 0;
  border-bottom:1px #aaa solid;
}
#ham-menu li a{  font-family: 'Frank Ruhl Libre', "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  text-decoration:none;
  color:#fff;
  padding:5px 0;
  display:block;
}
#ham-menu li a:hover{
  text-decoration:none;
}

/*メニューの後ろ側（黒い半透明）*/
#menu-background{
  background-color:#000;
  display:block;
  height:100%;
  opacity:0;
  position:fixed;
  left:0;
  top:0;
  transition:all 0.2s linear 0s; /*0.3s はアニメーションにかかる時間*/
  width:100%;
  z-index:-1;
}

/*アイコン部分*/
#menu-icon{
  background-color:#000; /*アイコン部分背景色*/
  border-radius:0 0 0 25%; /*角丸*/
  color:#fff; /*アイコン（フォント）色*/
  cursor:pointer;
  display:block;
  font-size:60px; /*アイコン（フォント）サイズ*/
  width:70px; /*アイコン横幅*/
  height:65px; /*アイコン縦高さ*/
  line-height:60px; /*縦位置中央化*/
  letter-spacing: -0.1em;/*横位置中央化*/
  position:fixed;
  right:0;
  text-align:center;
  top:0;
  transition:all 0.3s linear 0s; /*0.3s はアニメーションにかかる時間*/
  z-index:1000;
}
.menuTxt{font-size:15px; font-weight:bold; line-height:35px;}

#menu-cb{
  display:none; /*チェックボックス本体は消しておく*/
}

#menu-cb:checked ~ #ham-menu,#menu-cb:checked ~ #menu-icon{
  transform:translate(-320px); /*メニュー本体横幅 width と合わせる*/
}

#menu-cb:checked ~ #menu-background{
  opacity:0.5;
  z-index:999;
}
    
    }/*end*/


.mt-1, .pt-1 {
  padding-top: 0.5rem;
}
.mt-2, .pt-2 {
  padding-top: 1rem;
}
.mt-3, .pt-3 {
  padding-top: 1.5rem;
}
.mt-4, .pt-4 {
  padding-top: 2rem;
}
.mt-5, .pt-5 {
  padding-top: 2.5rem;
}
.mb-1, .pb-1 {
  padding-bottom: 0.5rem;
}
.mb-2, .pb-2 {
  padding-bottom: 1rem;
}
.mb-3, .pb-3 {
  padding-bottom: 1.5rem;
}
.mb-4, .pb-4 {
  padding-bottom: 2rem;
}
.mb-5, .pb-5 {
  padding-bottom: 2.5rem;
}
/* ------------------------------------------------------------------- 
 * e.t.c
/*-------------------------------------------------------------------*/
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}
/* ------------------------------------------------------------------- 
 * responsive:
 *  e.t.c
 * ------------------------------------------------------------------- */
@media screen and (max-width: 992px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
} /*end*/