@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Lato&family=Noto+Sans+JP&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@200&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@200;400&display=swap');

/* -----共通----- */
html{
  height: -webkit-fill-available;
}
body{
	background-color: #A2B2C4;
	color:#FFFFFF;
	font-family: 'Josefin Sans', 'Roboto Condensed','Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1;
	min-height: 100vh;
  /* mobile viewport bug fix */
  min-height: -webkit-fill-available;
}
/* Avoid Chrome to see Safari hack */
@supports (-webkit-touch-callout: none) {
  body {
    /* The hack for Safari */
    height: -webkit-fill-available;
  }
}
h1{
	font-size: 2rem;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 200;
	line-height: 1;
}
h2{
	font-size: 2rem;
	display: block;
	line-height: 1;
}
h3{
	font-size: 1.125rem;
	display: inline-block;
	line-height: 1;
}
img{
	max-width: 100%;
	/*以下、親要素に合わせて伸縮*/
	height: auto;
	width: auto;
}
/*↓スマホに出る青い線を消したい*/
a {
	outline: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	cursor: pointer;
}
*:focus {
  outline: none;
}

/*1.フェードインアニメーションの指定*/
.scrollanime {opacity: 0;} /*一瞬表示されるのを防ぐ*/
.fadeInDown {
    animation-name: fadeInDown;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}
@keyframes fadeInDown {
    0% {
        opacity: 0;         
    }
    100% {
    opacity: 1;
    transform: translate(0);
    }
} 
/*2.上下の動きを指定*/
.updown {transform: translateY(-100px);}
.downup {transform: translateY(100px);}
/*3.左右の動きを指定*/
.sect02{overflow: hidden;} /*横スクロールバーを隠す*/
.slide-right {transform: translateX(200px);}
.slide-left {transform: translateX(-200px);}






/*=============================
header
=============================*/
#toppage{
	background-image: url("../images/FH000016.jpg");
	background-size: cover;
	background-position: right bottom;
	width: 100vw;/*これがないとmenuの背景やpaddingがうまくつかない！！*/
	height: 100vh;
	max-height: 1080px;
}
#top_inner {
	margin: 0 auto;
	position: relative;
	padding-top: 56.25%;
}
.triangle{
	position: absolute;
	top: calc(540/1080*100vh);
	left: calc(960/1920*100vw);
	transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
	width: calc(588/1920*100vw);
}
.triangle img{
	height: auto;
}
#menu_work span{
	display: none;
}
.header_hr{
    display: none;
}
.nav_work{
	font-size: 1.5rem;
}
.nav_work_photo{
	position: absolute;
	top: calc(442/1080*100vh);
	left: calc(510/1920*100vw);
}
.nav_work_photo_wrap{
	display: flex;
	flex-direction: column;
}
.nav_photograph{
	font-size: 1rem;
	padding-left: 20px;
	padding-top: 5px;
}
.nav_work_shortstory{
	position: absolute;
	top: calc(257/1080*100vh);
	left: calc(1194/1920*100vw);
}
.nav_work_website{
	position: absolute;
	top: calc(687/1080*100vh);
	left: calc(1136/1920*100vw);
}
#menu_about{
	display: none;
}
#menu_contact{
	display: none;
}

h1{ 
	position: absolute;
	top: calc(950/1080*100vh);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
h1.fixed{
    position: fixed;
    top: 5vh;
    left: 50%;
	z-index: 1000;
}
/* スクロールを促す線 */
h1::after{
	content: "";
    /*描画位置*/
	position: absolute;
	top: 0;    
	left: 50%;
    /*線の形状*/
	width: 1px;
	height: 40px;
	background: #EF7474;
    /*線の動き2秒かけて動く。永遠にループ*/
	animation: pathmove 2s ease-in-out infinite;
	opacity:0;
}
/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height:0;
		top:30px;
		opacity: 0;
	}
	30%{
		height:80px;
		opacity: 1;
	}
	100%{
		height:0;
		top:100px;
		opacity: 0;
	}
}
h1.fixed::after{   /* h1が固定になったら消える */
	display: none;
}


/*-----ハンバーガーボタン-----*/
.btn-trigger {
  z-index: 2000;
  position: fixed;
  left: 3%;  
  width: 26px;
  height: 22px;
  top: 50%;
  transform: translateY(-50%);
  -webkit- transform: translateY(-50%);
  cursor: pointer;
}
.btn-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #F4757F;
  border-radius: 1px;
}
.btn-trigger, .btn-trigger span {
  display: inline-block;
  transition: all .5s;
  box-sizing: border-box;
}
.btn-trigger span:nth-of-type(1) {
  top: 0;
}
.btn-trigger span:nth-of-type(2) {
  top: 50%;
}
.btn-trigger span:nth-of-type(3) {
  bottom: 0;
}
#btn01.active span:nth-of-type(1) {
  -webkit-transform: translateY(11px) rotate(45deg);
  transform: translateY(11px) rotate(45deg);
}
#btn01.active span:nth-of-type(2) {
  opacity: 0;
}
#btn01.active span:nth-of-type(3) {
  -webkit-transform: translateY(-11px) rotate(-45deg);
  transform: translateY(-11px) rotate(-45deg);
}

/*-----ハンバーガーボタン押したら出てくるmenu-----*/
#toppage.menu{
	position: fixed;
	z-index: 2000;
}
#top_inner.menu{
	z-index: 2000;
	background-color: #9EB2C6;
	height: 100vh;
	padding-top: 0;
}
.triangle.menu{
	display: none;
}
h1.menu{
	z-index: 200;
	top: calc(260/1080*100%);
}
h1.menu::after{
	display: none;
}
#nav_area.menu{
	position: absolute;
	display: flex;
	flex-direction: column;
    left: 47%;
	top: calc(350/1080*100%);
}
.menu_index.menu{
	display: block;
	font-size: 1.5rem;
	z-index: 200;
	margin-top: 18px;
}
#work_wrap.menu{
	padding-left: 35px;
	padding-top: 18px;
}
.nav_work.menu{
	width: 100%;
	font-size:1.3rem;
	z-index: 200;
	margin-bottom: 15px;
}
.nav_work_photo.menu{
	position: static;
	top: 0;
	left: 0;
}
.nav_photograph.menu{
	line-height: 1.4rem;
	display: flex;
	flex-direction: row;
	align-items: center;
    padding-right: 5px;
	padding-top: 3px;
	padding-left: 10px;
}
.nav_work_shortstory.menu{
	position: static;
	top: 0;
	left: 0;
}
.nav_work_website.menu{
	position: static;
	top: 0;
	left: 0;
}
.header_hr.menu{
	display: block;
	width: 15px;
	height: 1px;
	z-index: 200;
	margin-left: 10px;
}
.nav_work_photo_wrap.menu{
	padding-top: 3px;
}
#menu_work.menu span{
	display: block;
}
#menu_about.menu{
	display: block;
}
#menu_contact.menu{
	display: block;
}



/*=============================
body
=============================*/
#common_top{
	background-color: #293C53;
}

/*=============================
header
=============================*/
#header_common{
	width: 100%;/*これがないとmenuの背景やpaddingがうまくつかない！！*/
	height: calc(180/1080*100vh);
	background-color: #293C53;
	position: fixed;
	top: 0;
	z-index: 1500;
}
#header_common .triangle{
	position: fixed;
	top: 8%;
	left: 53vw;
	z-index: 1000;
}
#header_common img{
	height: calc(100/1080*100vh);
}
#common_top h1{
	position: fixed;
    top: calc(60/1080*100vh);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 1000;	
}
#header_common h1::after{
	display: none;
}
#common_top_inner{
	width: 100%;
	margin: 0 auto;
	position: relative;
/*	padding-top: calc(180/1080*100vh);  /*高さ、幅の要素がなければmenuにでない。*/
}
#common_nav_area{
	display: none;
}

/*-----menu-----*/
#header_common.menu{
	position: fixed;
	z-index: 2000;
}
#common_top_inner.menu{
	z-index: 2000;
	background-color: #9EB2C6;	
	height: 100vh;
}
#header_common.triangle.menu{
	display: none;
}
#header_common h1.menu{
	z-index: 2500;
	top: calc(260/1080*100vh);
}
#header_common h1.menu::after{
	display: none;
}
#common_nav_area.menu{
	position: absolute;
	display: flex;
	flex-direction: column;
	padding-left: 47%;
	top: calc(350/1080*100%);
}





/*----- タブレット -----*/
@media only screen and (max-width : 1024px) {
    #btn01{
	top: 8%;
	left: 3%;
    }
	#nav_area.menu{
    left: 45%;
    }
	#common_nav_area.menu{
	padding-left: 45%;
    }
	main h2{
	font-size: 1.5rem;
	}
}

/*----- スマホ -----*/
@media only screen and (max-width : 599px) {
.triangle{
	top: calc(540/1080*100vh);
	left: 50vw;
	width: 70vw;
}
	/**/
	.nav_work_photo{
	position: absolute;
	top: 40vh;
	left: 12vw;
	}
	.nav_work_shortstory{
	top: 20vh;
	left: 56vw;	
	}
	.nav_work_website{
	position: absolute;
	top: 73vh;
	left: 60vw;
	}
	/*以下、menu*/
	h1.menu{
	top: 20vh;
	transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
	}
	#nav_area.menu{
    left: 60%;
	top: 52vh;
	transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
	}
	#work_wrap.menu {
	padding-left: 30px;
	}
	#common_nav_area.menu{
	padding-left: 37%;
    }
 /**/
	main h2{
	font-size: 1.3rem;
	}
}