@charset "utf-8";
*{
	margin: 0;
	padding: 0;
}
img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

body {
	background-color: #000;
}

html {
	font-size: 62.5%;/*16px→10px*/
	scroll-padding-top: 100px;
	scroll-behavior: smooth;
}

p {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.zen-old-mincho-medium {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  font-style: normal;
}

.zen-old-mincho-semibold {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-style: normal;
}

/*h3 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  font-style: normal;
}*/



/*--------------------------
	共通の設定 /SP 320px(縦)からの設定 /
-------------------------- */
/*ローディング*/
#loading {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  background: #000;
  text-align: center;
}

#loading_box .img_box {
	width: 50px;
	margin: 0 auto;
}

#loading_box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#loading .kvArea {
  width: 100%;
}
#loading .kvArea .img_box {
  text-align: center;
}
#loading .kvArea .img_box img {
  max-width: 100%;
  height: auto;
}
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1.2s;
  animation-delay: 1.2s;
  animation-fill-mode: forwards;
  opacity: 1;
}
@keyframes fadeUpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}
/*ローディングここまで*/

.wrapper {
	background-image: url("../img/background.jpg");
	background-attachment: fixed;
	background-size: cover;
}

section {
	background-color: #000;
	margin: 60px 0;
	padding: 4rem 0;
}

h1 {
	max-width: 100px;
}

h2, .nav-item a {
	color: #FCF8F2;
	font-size: 1.8rem;
	line-height:45px;
	text-align: center;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
	text-decoration: none;
}

h2{
	color: #FCF8F2;
	font-size: 2.8rem;
	padding: 0 0 5rem;
}

p {
	color: #FCF8F2;
	font-size: 1.6rem;
	line-height: 2;
	padding: 10px;
}

.sp {
	display: block;
}


/* ハンバーガーメニュー */
	.nav-sticky {
		position: sticky;
		top: 0;
		z-index: 9999;
	}
/* デフォルトのbuttonスタイルをリセット */
	button {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background: transparent;
		border: 0;
		border-radius: 0;
		color: inherit;
		cursor: pointer;
		font: inherit;
		margin: 0;
		outline: none;
		padding: 0;
		vertical-align: middle;
	}
  
  /* ------------------ */
	/* humberger-menu */
	/* ------------------ */
	.header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 5%;
		background-color: #1b1310;
	}
    
/* 以下、ハンバーガーボタン */
	.burger-btn {
		display: block;
		height: 39px;
		position: relative;
		width: 39px;
		z-index: 3;
    /* codepenの挙動のため */
		background-color: transparent;
		border: none;
	}
  
	.bar {
		background-color: #FCF8F2;
		display: block;
		height: 1px;
		left: 50%;
		position: absolute;
		transform: translateX(-50%);
		width: 20px;
	}
	.bar_top {
		top: 10px;
	}
	.bar_mid {
		top: 50%;
		transform: translate(-50%,-50%);
	}
	.bar_bottom {
		bottom: 10px;
	}
	.burger-btn.close .bar_top {
		transform: translate(-50%,10px) rotate(45deg);
		transition: transform .3s;
	}
	.burger-btn.close .bar_mid {
		opacity: 0;
		transition: opacity .3s;
	}
	.burger-btn.close .bar_bottom {
		transform: translate(-50%,-8px) rotate(-45deg);
		transition: transform .3s;
	}
  /* スクロール制御 */
  .noscroll{
    overflow: hidden;
  }
  
  /* 以下、ハンバーガーメニュー */
	.nav-wrapper {
    visibility: hidden;
		height: 100vh;
		left: 0;
		position: fixed;
		top: 0;
		width: 100vw;
    opacity: 0;
    transition: opacity .5s;
		z-index: 2;/*キービジュアルと.btn_triggerとの重なりの前後関係を調整*/
	}
  
  .header-nav {
		background-color: #1b1310;
		height: 100%;
		width: 100%;
		z-index: 2;
	}

	#logo-nav {
		margin: 0 auto;
		width: 50px;
	}

	.nav-list {
		display: block;
		left: 50%;
		position: absolute;
		text-align: center;
		top: 50%;
		transform: translate(-50%,-50%);
	}
	.nav-item {
		margin: 5px 0;
	}
  
  /* メニューオープン時 */
	.nav-wrapper.fade {
		opacity: 1;
		visibility: visible;
	}
/*ハンバーガーメニューここまで*/

/* ++++++++++++++++++++++++
	header
++++++++++++++++++++++++ */
header h1 {
	
}

/* ++++++++++++++++++++++++
	main
++++++++++++++++++++++++ */




/* ++++++++++++++++++++++++
	footer
++++++++++++++++++++++++ */
footer .inner {
	color: #fff;
	text-align: center;
	padding: 20px;
}



/*
--------------------------
	タブレット/TB~PC(s) /768pxから1023pxまでの設定 /
-------------------------- */

@media screen and (min-width:768px){
	/*TB用のCSSをここに記述*/
	html {
		font-size: 100%;
	}
	
	h3 {
		width: 42.647%;/*435/1020*/
		line-height: 70px;
		text-align: left;
		margin-bottom: 1rem;
	}
	
	.box {
		/*width: 87.254%;890/1020*/
		margin: 0 auto;
		display: flex;
		justify-content: space-around;
	}
	
	p {
		font-size: 1.1rem;
	}
	
	
	.nav-item a {
		font-size: 1.1rem;
	}
	
}



/*--------------------------
	PC /1024px以上の設定/
-------------------------- */
@media screen and (min-width:1024px) {
/*PC用のCSSをここに記述*/
	/*--------------------------
		ハンバーガーメニュー
	-------------------------- */
	.sp {
		display: none;
	}
	.nav-wrapper {
		visibility: visible;
		height: auto;
		position: initial;
		width: 1024px;
		margin: 0 auto;
		opacity: 1;
	}

	.header {
		position: sticky;
        background-color: #1b1310;
        border-bottom: 1px solid #fff;
        color: #fff;
        height: 74px;
	}
	#logo-nav {
		width: 50px;
		margin: 0 140px 0 0;
	}
	.nav-list {
		/* navの横並び */
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: initial;
        transform: none;
	}
	
	.nav-item {
		margin: 0;
	}
	
	.nav-item a {
		font-size: 1rem;
		transition: 0.5s;
	}
	
	.nav-item a:hover {
		color: #933335;
		transition: 0.5s;
		opacity: 0.5;
	}

	.burger-btn {
		display: none;
	}
	/*ハンバーガーメニューここまで*/

	.inner {
		width: 74.670%;/*1020/1366(モニターサイズ)	*/
		margin: 10px auto;
	}
	
	h1 {
		width: 10%;
	}
	
}
