@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
html {
	font-size: 62.5%;
	height: 100%;
}
body {
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-image: url("../images/bg.jpg");
	background-position: center top;
	background-repeat: repeat;
  background-size: cover;
	z-index: -1;
}
img[width="1"] {
	position: fixed;
	top: 0;
	left: 0;
}
img {
  max-width: 100%;
}
#contentsWrapper .dispWide {
	display: block;
}
#contentsWrapper .dispNarrow {
	display: none;
}
#contentsWrapper .cover {
	width: 100%;
	height: auto;
}
#contentsWrapper .smallimg {
	width: 90%;
	height: auto;
}
#includeFooter {
	position: relative;
	z-index: 50;
}

#contentsWrapper .kv img {
  width: 100%;
}
#contentsWrapper {
	position: relative;
	width: 100%;
}
#contentsWrapper .bgLoop {
  /*padding-top: 10em;*/
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
	font-family: "Noto Sans JP", sans-serif;
	letter-spacing: 0.05em;
	color: #845630;
	background: url("../images/bg.png");
	/*background-color: rgba(255,255,255,0.5);*/
  text-align: center;
}
#contentsWrapper .widthWrapper {
	position: relative;
	width: 100%;
	padding: 2.0em 0;
	box-sizing: border-box;
	overflow: hidden;
}
#contentsWrapper .widthWrapperBanner {
	position: relative;
	width: 100%;
	padding: 0 3%;
	box-sizing: border-box;
	overflow: hidden;
}
#contentsWrapper .widthWrapperBanner p {
  margin-top: 3.0em;
  border: solid 6px #277bf8;
  border-radius: 8px;
}
#contentsWrapper .widthWrapperNarrow {
	position: relative;
	width: 100%;
	padding: 6.0em 12.5%;
	box-sizing: border-box;
	overflow: hidden;
  background-color: #fffab5;
}
#contentsWrapper .flexBlock {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
	flex-direction: row;
	flex-shrink: 0;
	list-style: none;
}
#contentsWrapper a {
	color: #845630;
/*	padding-left: 0.25em;
	padding-right: 0.25em;*/
	background-color: transparent;
	text-decoration: none!important;
	-webkit-transition: all 0.15s ease;
	transition: all 0.15s ease;
}
#contentsWrapper .flexBetween {
	justify-content: space-between;
}
#contentsWrapper .flexAlignCenter {
	align-items: center;
}
#contentsWrapper .flexList2 > li {
	width: 50%;
}
#contentsWrapper .flexList4 > li {
	width: 25%;
}
#contentsWrapper .alignCenter {
	text-align: center;
}
#contentsWrapper .alignRight {
	text-align: right;
}
#contentsWrapper .alignLeft {
	text-align: left;
}
#contentsWrapper .fontBold {
	font-weight: 700;
}
#contentsWrapper .text34 {
	font-size: 34px;
}
#contentsWrapper .text16 {
	font-size: 16px;
}
#contentsWrapper .text12 {
	font-size: 12px;
}
#contentsWrapper .text0 {
	font-size: 0;
}
#contentsWrapper .lineHeight130 {
	line-height: 130%;
}
#contentsWrapper .lineHeight200 {
	line-height: 200%;
}
#contentsWrapper .marginTopHarf {
	margin-top: 0.5em!important;
}
#contentsWrapper .marginTop1em {
	margin-top: 1em!important;
}
#contentsWrapper .marginTop2em {
	margin-top: 2em!important;
}
#contentsWrapper .marginTop3em {
	margin-top: 3em!important;
}
#contentsWrapper .marginTop4em {
	margin-top: 4em!important;
}
#contentsWrapper .marginTopAuto {
	margin-top: auto!important;
}
#contentsWrapper .marginRightHarf {
	margin-right: 0.5em!important;
}
#contentsWrapper .textWhite {
	color: #fff;
}
#contentsWrapper .textBlack {
	color: #121212;
}
#contentsWrapper .textRed {
	color: #f00;
}
/*   nav   */
#contentsWrapper nav {
  margin: 5em 0 1em;
}
#contentsWrapper nav ul li {
  position: relative;
	width: 50%;
	max-width: 461px;
/*	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
  margin: auto;*/
  margin: 0 6.0em;
}
#contentsWrapper nav ul li:nth-child(1) a:hover {
  display: block;
  background-image: url("../images/btnPrecuteOn.png");
  background-repeat: no-repeat;
  background-size: contain;
  transition-duration: 0.3s;
}
#contentsWrapper nav ul li:nth-child(2) a:hover {
  display: block;
  background-image: url("../images/btnPapercraftOn.png?0703");
  background-repeat: no-repeat;
  background-size: contain;
  transition-duration: 0.3s;
}
#contentsWrapper nav ul li.nav03::before {
  content: "";
  position: absolute;
  width: 169px;
  height: 106px;
  background-image: url("../images/btnPapercraftInfo.png");
  background-repeat: no-repeat;
  bottom: 0;
  right: -88px;
}
#contentsWrapper nav ul li a:hover img {
  opacity: 0;
  transition-duration: 0.3s;
}
/*   mainVisual   */
#contentsWrapper #mainVisual {
  margin-top: 2.4em;
}

/*   papercraft   */
#contentsWrapper #papercraft {
  background-color: #fff6c2;
  padding: 3.6em 0 2.0em;
}
#contentsWrapper #papercraft ul {
  width: 90%;
  margin: 3.0em auto;
}
#contentsWrapper #papercraft a img {
  transition: all 0.3s ease 0s;
}
#contentsWrapper #papercraft a:hover img {
  opacity: 0.75;
}
/* lineup */
#precute .flexBlock {
  width: 90%;
  margin: 4em auto 7em;
  justify-content: center;
}
ul.lineup li {
  width: 29.5%;
  margin-right: 2.0em;
  margin-bottom: 7%;
  position: relative;
}
ul.lineup li:nth-child(2n) {
  margin-right: 0;
	width: 50%;
}
ul.lineup li a img {
  max-width: 100%;
}
ul.lineup li a p {
  font-size: 1.6rem;
  text-align: center;
  line-height: 1.6;
  width: 85%;
  margin: auto;
}
ul.lineup li a p:first-of-type {
  margin-bottom: 1.0em;
  width: 100%;
}
ul.lineup li a p:nth-child(3) {
  position: absolute;
  bottom: -1.6em;
  right: 0;
  left: 0;
  font-size: 2rem;
  line-height: 1;
}
ul.lineup li a p:nth-child(3) span {
	font-size: .75em;
}
ul.lineup li a p:last-child {
  width: 100%;
  margin: 0.5em auto 0;
  color: #007be4;
  font-family: 'Fjalla One', sans-serif;
  font-weight: bold;
  line-height: 42px;
  text-align: center;
  border: 2px solid #007be4;
  border-radius: 30px;
  box-sizing: border-box;
  position: absolute;
  bottom: -5.2em;
  right: 0;
  left: 0;
  transition: all 0.3s ease 0s;
}
ul.lineup li a:hover p:last-child {
  background-color: #007be4;
  color: #fff;
}
ul.lineup li p:first-of-type {
  margin-bottom: 2.0em;
}
#papercraft p:nth-of-type(2) {
  margin-top: 5.0em;
}
/*footer*/
#specialFooter {
	position: relative;
	padding: 1em 0;
  background-color: #0089f2;
	color: #ffffff;
}
/* sns */
#contentsWrapper .snsBlock {
	position: relative;
	width: 100%;
	height: 20px;
	margin: 0 auto;
	padding: 8px 0;
	overflow: visible;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	flex-shrink: 0;
}
#contentsWrapper .snsBlock .snsBtn {
	height: 20px;
	margin: 0 4px 0 0;
	line-height: 100%;
	display: block;
}
/*movie*/
#contentsWrapper .movieWrapper {
	position: relative;
	width: 100%;
	height: 0;
	margin: 0 auto;
	padding-top: 56.25%;
	overflow: hidden;
}
#contentsWrapper .movieWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 801px) and (max-width: 1280px) {
	#contentsWrapper .bgLoop {
		background-size: contain;
	}
	#contentsWrapper .text34 {
		font-size: 2.65625vw;
	}
	#contentsWrapper .text16 {
		font-size: 1.25vw;
	}
	#contentsWrapper .text12 {
		font-size: 0.9375vw;
	}
  #contentsWrapper .flexBlock {
    flex-wrap: nowrap;
  }
  #contentsWrapper nav ul li.nav01 {
    margin: 0 2em 0 10em;
  }
  #contentsWrapper nav ul li.nav03 {
    margin: 0 10em 0 2em;
  }
  #contentsWrapper nav ul li.nav03::before {
    background-size: 100%;
    bottom: 0;
    right: -10em;
  }
}
@media screen and (min-width: 801px) and (max-width: 960px) {
  #contentsWrapper nav ul li.nav03::before {
    background-size: 90%;
    bottom: -2.0em;
    right: -11.4em;
  }
}
@media screen and (max-width: 800px) {
	#contentsWrapper .dispWide {
		display: none;
	}
	#contentsWrapper .dispNarrow {
		display: block;
	}
  #contentsWrapper .widthWrapper {
    padding: 1.4vw 0 0;
  }
  #contentsWrapper .widthWrapperBanner p {
    margin-top: 2.6vw;
    border: solid 0.8vw #277bf8;
    border-radius: 1.0vw;
  }
	#contentsWrapper .widthWrapperNarrow {
    background-color: #fffab5;
		padding: 8.0vw 10%;
	}
	#contentsWrapper .kv {
		border-bottom-width: 1vw;
	}
	#contentsWrapper .bgLoop {
		background-size: 100% auto, 150% auto;
	}
	#contentsWrapper .flexList2 > li {
		width: 100%;
	}
	#contentsWrapper .flexList4 > li {
		width: 50%;
	}
	#contentsWrapper .text34 {
		font-size: 4vw;
	}
	#contentsWrapper .text16 {
		font-size: 3vw;
	}
	#contentsWrapper .text12 {
		font-size: 2.4vw;
	}
  #contentsWrapper .smallimg {
    width: 100%;
    height: auto;
  }
  /*   nav   */
  #contentsWrapper nav {
    margin:  2.4vw 0 0 1.0vw;
  }
  #contentsWrapper nav ul li {
    margin: 0;
  }
	#contentsWrapper nav ul li a {
		border: none;
	}
  #contentsWrapper nav ul li.nav01 {
    margin: 0 2vw 0 10vw;
  }
  #contentsWrapper nav ul li.nav03 {
    margin: 0 10vw 0 2vw;
  }
  #contentsWrapper nav ul li.nav03::before {
    background-size: 70%;
    bottom: -3.6em;
    right: -12em;
  }
  /*   mainVisual   */
  #contentsWrapper #mainVisual {
    margin-top: 4.6vw;
  }
  /*   precute   */
  /*   papercraft   */
  #contentsWrapper #precute, 
  #contentsWrapper #papercraft {
    padding-top: 1.4vw;
  }
  #contentsWrapper #papercraft {
    padding-bottom: 3.8vw;
  }
  #contentsWrapper #papercraft ul {
    width: 90%;
    margin: 2.0vw auto 0;
  }
  #contentsWrapper #papercraft li {
    padding-bottom: 2.0vw;
  }
  #contentsWrapper #papercraft p:first-child {
    padding-top: 1.4vw;
  }
  #contentsWrapper #papercraft p:first-child img {
    width: 98%;
  }
  #precute .flexBlock {
    margin: 5vw auto 1vw;
		flex-wrap: wrap;
  }
  ul.lineup li {
    width: 49%;
    margin-bottom: 18%;
  }
	ul.lineup li:nth-child(2n) {
		width: 100%;
	}
  ul.lineup li:nth-child(2n - 1) {
    margin-right: 1%;
  }
  ul.lineup li a p {
    font-size: 3.0vw;
  }
  ul.lineup li a p:nth-child(3) {
    bottom: -5.2vw;
  font-size:4vw;
  }
  ul.lineup li a p:last-child {
    height: 6.4vw;
    line-height: 6.4vw;
    bottom: -12.2vw;
  }
	#contentsWrapper .snsBlock {
		margin-top: 1em;
	}
  #papercraft p:nth-of-type(2) {
    margin-top: 1.0vw;
  }
}
@media screen and (max-width: 640px) {
  #contentsWrapper nav ul li.nav03::before {
    background-image: none;
  }
}