@charset "UTF-8";
/* motion-> */
/*
	animation -- 固有名 -- 動作時間 -- ease -- 開始遅延 -- 繰り返し -- 正反
	ex) animation: anime1 2s ease 0s infinite alternate;
	*/
.wait {
  opacity: 0;
}

.play.fadeIn {
  -webkit-animation: fadeIn 0.75s ease 0s 1 normal;
  animation: fadeIn 0.75s ease 0s 1 normal;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.play.bounceIn {
  -webkit-animation: bounceIn 0.75s ease 0s 1 normal;
  animation: bounceIn 0.75s ease 0s 1 normal;
}

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0, 0);
    transform: scale(0, 0);
  }
  70% {
    opacity: 0.7;
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  80% {
    opacity: 0.8;
    -webkit-transform: scale(0.9, 0.9);
    transform: scale(0.9, 0.9);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0, 0);
    transform: scale(0, 0);
  }
  70% {
    opacity: 0.7;
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  80% {
    opacity: 0.8;
    -webkit-transform: scale(0.9, 0.9);
    transform: scale(0.9, 0.9);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}

.play.slideLeft {
  -webkit-animation: slideLeft 0.75s ease 0s 1 normal;
  animation: slideLeft 0.75s ease 0s 1 normal;
}

@-webkit-keyframes slideLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2rem);
    transform: translateX(2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2rem);
    transform: translateX(2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.play.slideRight {
  -webkit-animation: slideRight 0.75s ease 0s 1 normal;
  animation: slideRight 0.75s ease 0s 1 normal;
}

@-webkit-keyframes slideRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2rem);
    transform: translateX(-2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2rem);
    transform: translateX(-2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.play.slideUp {
  -webkit-animation: slideUp 0.75s ease 0s 1 normal;
  animation: slideUp 0.75s ease 0s 1 normal;
}

.play.slideUp2 {
  -webkit-animation: slideUp 1.5s ease 0s 1 normal;
  animation: slideUp 1.5s ease 0s 1 normal;
}

@-webkit-keyframes slideUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2rem);
    transform: translateY(2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2rem);
    transform: translateY(2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.play.slideDown {
  -webkit-animation: slideDown 0.75s ease 0s 1 normal;
  animation: slideDown 0.75s ease 0s 1 normal;
}

@-webkit-keyframes slideDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2rem);
    transform: translateY(-2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2rem);
    transform: translateY(-2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.play.slideUpRight {
  -webkit-animation: slideUpRight 0.75s ease 0s 1 normal;
  animation: slideUpRight 0.75s ease 0s 1 normal;
}

@-webkit-keyframes slideUpRight {
  0% {
    opacity: 0;
    -webkit-transform: translate(-2rem, 2rem);
    transform: translate(-2rem, 2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

@keyframes slideUpRight {
  0% {
    opacity: 0;
    -webkit-transform: translate(-2rem, 2rem);
    transform: translate(-2rem, 2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

.play.slideUpLeft {
  -webkit-animation: slideUpLeft 0.75s ease 0s 1 normal;
  animation: slideUpLeft 0.75s ease 0s 1 normal;
}

@-webkit-keyframes slideUpLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate(2rem, 2rem);
    transform: translate(2rem, 2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

@keyframes slideUpLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate(2rem, 2rem);
    transform: translate(2rem, 2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

.play.blurInc {
  -webkit-animation: blurInc 1s ease 0s 1 normal;
  animation: blurInc 1s ease 0s 1 normal;
}

@-webkit-keyframes blurInc {
  0% {
    opacity: 0;
    -webkit-filter: blur(32px);
    filter: blur(32px);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px);
  }
}

@keyframes blurInc {
  0% {
    opacity: 0;
    -webkit-filter: blur(32px);
    filter: blur(32px);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px);
  }
}

.play.blurIncLeft {
  -webkit-animation: blurIncLeft 1s ease 0s 1 normal;
  animation: blurIncLeft 1s ease 0s 1 normal;
}

@-webkit-keyframes blurIncLeft {
  0% {
    opacity: 0;
    -webkit-filter: blur(32px);
    filter: blur(32px);
    -webkit-transform: translateX(2rem);
    transform: translateX(2rem);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px);
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes blurIncLeft {
  0% {
    opacity: 0;
    -webkit-filter: blur(32px);
    filter: blur(32px);
    -webkit-transform: translateX(2rem);
    transform: translateX(2rem);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px);
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.play.blurIncRight {
  -webkit-animation: blurIncRight 1s ease 0s 1 normal;
  animation: blurIncRight 1s ease 0s 1 normal;
}

@-webkit-keyframes blurIncRight {
  0% {
    opacity: 0;
    -webkit-filter: blur(32px);
    filter: blur(32px);
    -webkit-transform: translateX(-2rem);
    transform: translateX(-2rem);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px);
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes blurIncRight {
  0% {
    opacity: 0;
    -webkit-filter: blur(32px);
    filter: blur(32px);
    -webkit-transform: translateX(-2rem);
    transform: translateX(-2rem);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px);
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.play.blurIncUp {
  -webkit-animation: blurIncUp 1s ease 0s 1 normal;
  animation: blurIncUp 1s ease 0s 1 normal;
}

@-webkit-keyframes blurIncUp {
  0% {
    opacity: 0;
    -webkit-filter: blur(32px);
    filter: blur(32px);
    -webkit-transform: translateY(2rem);
    transform: translateY(2rem);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px);
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes blurIncUp {
  0% {
    opacity: 0;
    -webkit-filter: blur(32px);
    filter: blur(32px);
    -webkit-transform: translateY(2rem);
    transform: translateY(2rem);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px);
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.play.blurIncDown {
  -webkit-animation: blurIncDown 1s ease 0s 1 normal;
  animation: blurIncDown 1s ease 0s 1 normal;
}

@-webkit-keyframes blurIncDown {
  0% {
    opacity: 0;
    -webkit-filter: blur(32px);
    filter: blur(32px);
    -webkit-transform: translateY(-2rem);
    transform: translateY(-2rem);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px);
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes blurIncDown {
  0% {
    opacity: 0;
    -webkit-filter: blur(32px);
    filter: blur(32px);
    -webkit-transform: translateY(-2rem);
    transform: translateY(-2rem);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px);
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

/* ->motion */
/* Scss Document */
body {
  color: #1A1311;
  font-family: "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" ,Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , sans-serif;
  line-height: 1;
  text-align: left;
  background: #fff;
  height: 100%;
}

a:hover img {
  opacity: 0.64;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

section::after, div::after, ul::after, dl::after, article::after, .ac::after {
  content: "";
  display: block;
  clear: both;
}

img {
  max-width: 100%;
  height: auto;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 999;
  /*

	.loader {
		width: 18rem;
		margin: auto;
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		transform: translateY(-50%);
	}

	.bar {
		width: 18rem;
		height: 0.75rem;
		border-radius: 0.375rem;
		overflow: hidden;
		border: 1px solid #707070;

		.color{
			width: 0%;
			height: 0.75rem;
			background: #707070;
			transition: 0.5s;
		}
	}

	.progress {
		width: 3rem;
		height: 3rem;
		background: url(../img/progress.png) center / cover no-repeat;
		position: absolute;
		top: -3rem;
		left: 0;
		transition: 0.5s;
		transform: translateX(-1.5rem);
	}

	*/
}

.overlay .loader {
  width: 12rem;
  height: 12rem;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.overlay .loader .loader2 {
  width: 100%;
  height: 100%;
  margin: auto;
  background: url(../img/toritori.png) center/contain no-repeat;
  -webkit-animation: loaderAnime 3s linear infinite;
  animation: loaderAnime 3s linear infinite;
}

@-webkit-keyframes loaderAnime {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes loaderAnime {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.opening {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 998;
}

.opening video {
  display: block;
  width: 100vw;
  height: auto;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

/* header */
header {
  width: 100vw;
  height: 7.75rem;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
}

header .logo {
  display: block;
}

header .logo img {
  width: auto;
  height: 4rem;
}

header .img {
  width: auto;
  height: 2.75rem;
  position: absolute;
  top: 2.375rem;
  right: 7.25rem;
}

header nav {
  position: absolute;
  top: 2.625rem;
  right: calc(10.67rem + 11rem);
}

header nav ul li {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 100%;
  line-height: 1.25;
  margin-right: 2.5em;
  position: relative;
}

header nav ul li a {
  display: block;
  text-decoration: none;
  padding: 0.625em 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

header nav ul li a:hover {
  opacity: 0.64;
}

header nav ul li:last-child {
  margin-right: 0;
}

header nav ul li:last-child a {
  padding: 0 0 0 0.5rem;
  border-left: 0.5rem solid #DD4089;
}

header nav ul li.ready {
  color: #CCCCCC;
}

header nav ul li.ready:hover {
  opacity: 1;
}

header nav ul li span {
  display: block;
  color: #fff;
  font-size: 0.75rem;
  text-align: center;
  padding: 0.5em 0;
  background: #707070;
}

footer {
  padding: 4.5rem 12.5rem calc((253 / 1080) * 100vh);
  position: relative;
}

footer address img {
  width: auto;
  height: 3rem;
  margin: 0 1.5rem 0 0;
}

footer address span {
  display: block;
  color: #707070;
  line-height: 1.75;
  padding: 0.25em 0 0;
  margin: -0.375em 0;
}

footer nav {
  margin-top: 4.5rem;
}

footer nav ul li {
  float: left;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 125%;
  line-height: 1.25;
  margin-right: 2.5em;
  position: relative;
}

footer nav ul li a {
  display: block;
  text-decoration: none;
  padding: 0.625em 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

footer nav ul li:last-child {
  margin-right: 0;
}

footer nav ul li:last-child a {
  padding: 0 0 0 0.5rem;
  border-left: 0.5rem solid #DD4089;
}

footer nav ul li.ready {
  color: #CCCCCC;
}

footer nav ul li span {
  display: block;
  color: #fff;
  font-size: 0.75rem;
  text-align: center;
  padding: 0.5em 0;
  background: #707070;
}

footer .copy {
  display: block;
  color: #707070;
}

footer .img {
  width: calc((380 / 1920) * 100vw);
  z-index: -1;
}

footer .back {
  width: 4rem;
}

.em {
  width: 1rem;
  height: 1rem;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: -1;
}

#index {
  width: 100%;
  overflow-x: hidden;
}

#index header {
  display: none;
}

#index_s01 {
  width: 100vw;
  position: relative;
  /*
	.box2{
		width: calc((926 / 1920) * 100vw);
		height: 100vh;
		overflow-y: hidden;
		position: relative;
		.img{
			width: calc((926 / 1920) * 100vw);
			height: calc(((926 / 1920) * 100vw) * (690 / 375));
			background-position: center;
			background-repeat: no-repeat;
			background-size: cover;
			background-image: url(../img/03.jpg);
		}
	}
	*/
}

#index_s01 .box {
  width: calc((887 / 1920) * 100vw);
  height: 100vh;
}

#index_s01 .box .box_inner {
  width: calc((462 / 1920) * 100vw);
  margin: auto;
}

#index_s01 .box .box_inner h1 img {
  width: 100%;
}

#index_s01 .box .box_inner .date {
  width: 100%;
  margin-top: calc((69 / 1080) * 100vh);
}

#index_s01 .box2 {
  width: calc((926 / 1920) * 100vw);
  margin-left: calc((107 / 1920) * 100vw);
  position: relative;
}

#index_s01 .box2 .img {
  width: 100%;
  height: calc(((926 / 1920) * 100vw) * (690 / 375));
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/03.jpg);
}

#index_s01 .box2 .img span {
  display: block;
  font-size: 75%;
}

#index_s02 {
  width: 100vw;
  position: relative;
}

#index_s02 .txt {
  width: calc((216 / 1920) * 100vw);
}

#index_s02 .txt img {
  width: 100%;
}

#index_s02 .box {
  width: 100vw;
  height: 100vh;
  position: relative;
}

#index_s02 .box2 {
  width: 100vw;
  height: 100vh;
  position: relative;
}

#index_s02 .box2 p {
  width: 20em;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 137.5%;
  text-align: justify;
  line-height: 2;
}

#index_s02 .img {
  width: calc((621 / 1920) * 100vw);
}

#index_s02 .img2 {
  width: calc((658 / 1920) * 100vw);
}

#index_s03 {
  width: 100vw;
  position: relative;
}

#index_s03 .box {
  width: calc((987 / 1920) * 100vw);
}

#index_s03 .box dl {
  width: calc((454 / 1920) * 100vw);
  height: calc((436 / 1080) * 100vh);
}

#index_s03 .box dl dt {
  width: calc((51 / 1920) * 100vw);
}

#index_s03 .box dl dd {
  width: calc((288 / 1920) * 100vw);
}

#index_s03 .box2 {
  width: calc((656 / 1920) * 100vw);
  height: calc(((656 / 1920) * 100vw) * (2181 / 1101));
  margin-left: calc((987 / 1920) * 100vw);
}

#index_s03 .box2 .img {
  width: calc((656 / 1920) * 100vw);
  height: calc(((656 / 1920) * 100vw) * (2181 / 1101));
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#index_s03 .box2 .img span {
  display: block;
  font-size: 75%;
}

#index_s04 {
  width: 100vw;
  height: 100vh;
  background: #000;
  position: relative;
}

#index_s04 .box {
  width: calc((607 / 1920) * 100vw);
  height: 100vh;
}

#index_s04 .box dl {
  width: calc((194 / 1920) * 100vw);
}

#index_s04 .box dl dt {
  width: calc((28 / 1920) * 100vw);
}

#index_s04 .box dl dd {
  width: calc((111 / 1920) * 100vw);
}

#index_s04 .slide {
  width: calc((1313 / 1920) * 100vw);
  height: calc((593 / 1080) * 100vh);
  overflow: hidden;
}

#index_s04 .slide ul {
  height: 100%;
  position: absolute;
  top: 0;
  right: -1.5em;
}

#index_s04 .slide ul.transition {
  -webkit-transition: 2s;
  transition: 2s;
}

#index_s04 .slide ul li {
  height: 100%;
  float: right;
}

#index_s04 .slide ul li span {
  display: block;
  height: 100%;
  margin: 0 auto;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#index_s04 .txt {
  display: block;
  color: #fff;
  font-size: 75%;
}

#index_s05 {
  width: 100%;
  background: url(../img/15.jpg) center top/cover no-repeat;
  background-attachment: fixed;
  position: relative;
}

#index_s05 .box {
  width: 100%;
  height: calc((1296 / 1080) * 100vh);
  position: relative;
}

#index_s05 .box .box_inner {
  width: calc((308 / 1920) * 100vw);
  height: calc((792 / 1920) * 100vw);
  background: #fff;
}

#index_s05 .box .box_inner dl {
  width: calc((192 / 1920) * 100vw);
  margin: auto;
}

#index_s05 .box .box_inner dl dt {
  width: calc((28 / 1920) * 100vw);
}

#index_s05 .box .box_inner dl dd {
  width: calc((111 / 1920) * 100vw);
}

#index_s05 .filter {
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.55);
  position: relative;
}

#index_s05 .filter .box2 {
  width: calc((406 / 1920) * 100vw);
  padding-bottom: calc((22 / 1080) * 100vh);
  background: #fff;
}

#index_s05 .filter .box2 img {
  width: calc((268 / 1920) * 100vw);
  margin: calc((50 / 1080) * 100vh) auto 0;
}

#index_s05 .filter .box2 a {
  display: block;
  width: calc((268 / 1920) * 100vw);
  max-width: 20rem;
  color: #9f9f9f;
  text-align: center;
  text-decoration: none;
  padding: 0.5em 0;
  margin: calc((50 / 1080) * 100vh) auto 0;
  border: 1px solid #9f9f9f;
  border-radius: 1.5em;
}

#index_s05 .filter .box2 span {
  display: block;
  width: calc((268 / 1920) * 100vw);
  max-width: 19rem;
  color: #fff;
  text-align: center;
  padding: 0.5em 0;
  margin: 0.5em auto 0;
  background: #707070;
}

#index_s05 .txt {
  display: block;
  font-size: 75%;
}

#index_s06 {
  width: 100%;
  padding-top: calc((150 / 1080) * 100vh);
}

#index_s06 h2 {
  color: #E25E9C;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 265%;
  letter-spacing: 0.1em;
  text-align: center;
  text-indent: 0.1em;
}

#index_s06 p {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 162.5%;
  letter-spacing: 0.1em;
  text-align: center;
  text-indent: 0.1em;
  margin-top: 3rem;
}

#index_s06 .youtube {
  width: calc((1558 / 1920) * 100vw);
  margin: 3rem auto 0;
  border: 1px solid #eee;
}

#index_s06 .youtube div {
  width: 100%;
  padding: 56.25% 0 0;
  position: relative;
}

#index_s06 .youtube div iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

#index_s06 .txt {
  display: block;
  font-size: 75%;
}

#outline_s01 {
  width: 100vw;
  height: calc(100vh - 10.75rem);
  margin-top: 10.75rem;
  position: relative;
}

#outline_s01 .box {
  width: calc((714 / 1920) * 100vw);
  height: 100%;
}

#outline_s01 .box .box_inner {
  width: calc((346 / 1920) * 100vw);
}

#outline_s01 .box .box_inner h2 img {
  width: 100%;
}

#outline_s01 .box .box_inner .date {
  width: 100%;
  margin-top: calc((52 / 1080) * 100vh);
}

#outline_s01 .box2 {
  width: calc((1206 / 1920) * 100vw);
  height: 100%;
}

#outline_s01 .box2 p {
  width: 20em;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 162.5%;
  text-align: justify;
  line-height: 2;
}

#outline_s01 .img {
  width: calc((505 / 1920) * 100vw);
}

#outline_s01 .img2 {
  width: calc((138 / 1920) * 100vw);
}

#outline_s02 {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative;
}

#outline_s02 .box {
  width: calc((1206 / 1920) * 100vw);
  height: 100%;
}

#outline_s02 .box p {
  width: 20em;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 162.5%;
  text-align: justify;
  line-height: 2;
}

#outline_s02 .img {
  width: calc((422 / 1920) * 100vw);
}

#outline_s02 .img2 {
  width: calc((833 / 1920) * 100vw);
}

#outline_s03 {
  width: 100vw;
  height: 100vh;
  position: relative;
  background: #E3E3E3;
}

#outline_s03 dl {
  width: calc((1478 / 1920) * 100vw);
}

#outline_s03 dl dt {
  width: calc((115 / 1920) * 100vw);
}

#outline_s03 dl dd {
  width: 30em;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 162.5%;
  text-align: justify;
  line-height: 2;
  margin: -0.5em auto;
}

#outline_s03 dl dd span {
  display: block;
}

#outline_s03 .img {
  width: calc((411 / 1920) * 100vw);
}

#outline_s04 {
  width: 100vw;
  height: 100vh;
  overflow-y: hidden;
  position: relative;
  background: #E3E3E3;
}

#outline_s04 .box {
  width: calc((1398 / 1920) * 100vw);
  height: 100%;
}

#outline_s04 .box p {
  width: 26em;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 162.5%;
  text-align: justify;
  line-height: 2;
}

#outline_s04 .box p span {
  display: block;
}

#outline_s04 .img {
  width: calc((80 / 1920) * 100vw);
}

#outline_s04 .img2 {
  width: calc((79 / 1920) * 100vw);
}

#outline_s04 .img3 {
  width: calc((122 / 1920) * 100vw);
}

#outline_s04 .img4 {
  width: calc((279 / 1920) * 100vw);
}

#outline_s04 .img5 {
  width: calc((226 / 1920) * 100vw);
}

#outline_s05 {
  width: 100vw;
  padding: calc((187 / 1080) * 100vh) 0 calc((66 / 1080) * 100vh);
  position: relative;
}

#outline_s05 h1 {
  width: calc(100% - 14.5rem);
  font-size: 162.5%;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: normal;
  letter-spacing: 0.2em;
  max-width: 1280px;
  margin: 0 auto;
}

#outline_s05 .box {
  width: calc(100% - 14.5rem);
  max-width: 1280px;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  margin: 4rem auto 0;
}

#outline_s05 .box .right a {
  display: block;
  font-size: 125%;
  line-height: 2;
  text-align: center;
  text-decoration: none;
  padding: calc(2.125rem - 0.5em) 0;
  margin-top: 3em;
  border: 1px solid #707070;
}

#outline_s05 .box .right a span {
  display: block;
  color: #EB69A7;
  margin-top: calc(1rem - 0.5em);
}

#outline_s05 .box dl {
  margin: calc(3rem - 0.5em) 0 -0.5em;
}

#outline_s05 .box dl:first-child {
  margin-top: -0.5em;
}

#outline_s05 .box dl dt {
  letter-spacing: 0.125em;
  line-height: 2;
}

#outline_s05 .box dl dd {
  letter-spacing: 0.125em;
  line-height: 2;
}

#outline_s05 .box dl dd .blank {
  display: inline-block;
  width: 3.75rem;
}

#outline_s05 .box dl dd .txt {
  display: block;
  font-size: 75%;
  line-height: 1.5;
  margin: calc(1rem - 0.25em) 0 -0.25em;
}

#outline_s05 .img {
  width: calc((415 / 1920) * 100vw);
}

#contact_s01 {
  width: 100vw;
  padding: calc((108 / 1080) * 100vh) 0;
  background: #000;
  position: relative;
}

#contact_s01 .box {
  color: #fff;
  max-width: calc((1142 / 1920) * 100vw);
}

#contact_s01 .box .img {
  width: 100%;
}

#contact_s01 .box ul li a {
  display: block;
  color: #707070;
  font-size: 150%;
  text-align: center;
  text-decoration: none;
  padding: 1.5em 0;
  background: #fff;
  border: 1px solid #707070;
}

#contact_s01 .box ul li a span {
  display: inline-block;
  padding-left: 1.25em;
}

#contact_s01 .box ul li a.tel span {
  background: url(../img/tel.png) left top/auto calc(1em - 3px) no-repeat;
}

#contact_s01 .box ul li a.email span {
  background: url(../img/email.png) left top/auto calc(1em - 3px) no-repeat;
}

#contact_s01 .box ul li a.access span {
  background: url(../img/access.png) left top/auto calc(1em - 3px) no-repeat;
}

#contact_s01 .box ul li a:hover {
  opacity: 0.64;
}

#contact_s01 .img2 {
  width: calc((299 / 1920) * 100vw);
}

#contact_s02 {
  width: 100%;
  max-width: calc((1142 / 1920) * 100vw);
  font-size: 75%;
  line-height: 2;
  margin: calc(3rem - 0.5em) auto -0.5em;
}

#collection .subNav {
  margin: auto;
  position: fixed;
  top: 50%;
  right: 4rem;
  z-index: 10;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

#collection .subNav ul li {
  cursor: pointer;
  width: 3rem;
  height: 6rem;
  position: relative;
}

#collection .subNav ul li a {
  display: block;
  width: 3rem;
  height: 6rem;
}

#collection .subNav ul li a img {
  width: 1.25rem;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

#collection .subNav ul li a span {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  border: 1px solid #1A1311;
  border-radius: 50%;
  margin: auto;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

#collection .subNav ul li.on span {
  background-color: #ff56d1;
}

#collection .subNav ul li:hover span {
  background-color: #ff56d1;
}

#collection .scroll {
  width: 6rem;
  position: fixed;
  bottom: 3rem;
  right: 4rem;
  z-index: 10;
  animation: fluffy 2.5s ease infinite;
}

@keyframes fluffy {
  0% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(1em);
  }
  80% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}

#collection .bg0 {
  width: 100vw;
  height: 100vh;
  background-image: url(../img/collection/02.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 8;
  -webkit-transition: 1s;
  transition: 1s;
}

#collection .bg0 span {
  color: #fff;
  font-size: 75%;
  position: absolute;
  bottom: 3rem;
  left: 3em;
}

#collection .bg {
  width: calc((980 / 1715) * 100vh);
  height: 100vh;
  background: url(../img/collection/04.jpg) center top 20%/cover no-repeat;
  margin: auto;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 7;
  -webkit-transition: 1s;
  transition: 1s;
}

#collection .bg span {
  font-size: 75%;
  position: absolute;
  bottom: 3rem;
  right: -13.5em;
}

#collection .bg3 {
  z-index: 6;
  width: calc((980 / 2229) * 100vh);
  background-image: url(../img/collection/08.jpg);
  background-position: center top 78%;
}

#collection .bg3 span {
  left: -18em;
  right: auto;
}

#collection .bg4 {
  z-index: 5;
  width: calc((980 / 1557) * 100vh);
  background-image: url(../img/collection/11.jpg);
  background-position: center top 65%;
}

#collection .bg4 span {
  right: -10.5em;
}

#collection .bg5 {
  z-index: 4;
  width: calc((980 / 2734) * 100vh);
  background-image: url(../img/collection/10.jpg);
  background-position: center top 90%;
}

#collection .bg5 span {
  left: -13em;
  right: auto;
}

#collection .bg6 {
  z-index: 3;
  width: calc((207 / 380) * 100vh);
  background-image: url(../img/collection/09.jpg);
  background-position: center top 95%;
}

#collection .bg6 span {
  right: -22em;
}

#collection #collection_s01 {
  width: 100vw;
  height: 150vh;
  position: relative;
  background: transparent;
  -webkit-transition: 1s;
  transition: 1s;
}

#collection #collection_s01 .box {
  width: calc((223 / 1920) * 100vw);
  height: calc(((223 / 1920) * 100vw) * (544 / 223));
  background: #fff;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  z-index: 10;
}

#collection #collection_s01 .box .txt {
  width: calc((146 / 1920) * 100vw);
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

#collection #collection_s02,
#collection #collection_s03,
#collection #collection_s04,
#collection #collection_s05,
#collection #collection_s06 {
  width: 100vw;
  height: 300vh;
  overflow: hidden;
  position: relative;
  background: transparent;
  -webkit-transition: 1s;
  transition: 1s;
}

#collection #collection_s02 .box,
#collection #collection_s03 .box,
#collection #collection_s04 .box,
#collection #collection_s05 .box,
#collection #collection_s06 .box {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative;
}

#collection #collection_s02 .box .txt,
#collection #collection_s03 .box .txt,
#collection #collection_s04 .box .txt,
#collection #collection_s05 .box .txt,
#collection #collection_s06 .box .txt {
  width: calc((320 / 1920) * 100vw);
  position: absolute;
  top: 50%;
  left: calc((216 / 1920) * 100vw);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

#collection #collection_s03 .box .txt {
  left: auto;
  right: calc((216 / 1920) * 100vw);
}

#collection #collection_s05 .box .txt {
  left: auto;
  right: calc((216 / 1920) * 100vw);
}

#collection #collection_s07 {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative;
}

#collection #collection_s07 .box {
  width: calc((369 / 1920) * 100vw);
  margin: auto;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

#collection #collection_s07 .box .txt {
  width: 50%;
  margin: 0 auto;
}

#collection #collection_s07 .box .date {
  width: 100%;
  margin-top: calc((30 / 380) * 100vh);
}

#collection #collection_s07 .img {
  width: calc((34 / 1920) * 100vw);
  position: absolute;
  top: calc((436 / 1080) * 100vh);
  left: calc((669 / 1920) * 100vw);
}

#constitution .zoom {
  display: none;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
}

#constitution .zoom .bg {
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.88);
}

#constitution .zoom dl {
  width: calc(100vw - 6rem);
  height: calc(100vh - 6rem);
  margin: auto;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

#constitution .zoom dl dt {
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

#constitution .zoom dl dd {
  display: none;
  color: #fff;
  font-size: 1rem;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  position: absolute;
  bottom: -2rem;
  left: 0;
}

#constitution .zoom .close {
  width: 3rem;
  height: 3rem;
  cursor: pointer;
  text-align: center;
  background: url(../img/const/close.png) center/contain no-repeat;
  position: absolute;
  top: 3rem;
  right: 3rem;
}

#constitution .zoom .close:hover {
  opacity: 0.64;
}

#constitution #constitution_s01 {
  width: 100vw;
  padding-top: calc((242 / 1080) * 100vh);
}

#constitution #constitution_s01 ul {
  width: 44em;
  margin: 0 auto;
}

#constitution #constitution_s01 ul li {
  width: calc((100% - 11.25rem - 1px) / 4);
  float: left;
  margin: 0 3.75rem 0 0;
}

#constitution #constitution_s01 ul li:last-child {
  margin-right: 0;
}

#constitution #constitution_s01 ul li a {
  display: block;
  width: 100%;
  padding-top: 100%;
  border: 1px solid #707070;
  position: relative;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

#constitution #constitution_s01 ul li a:hover {
  opacity: 0.64;
}

#constitution #constitution_s01 ul li a img {
  width: 75%;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 1;
}

#constitution .constitution_s02 {
  width: 100vw;
  padding-top: calc((242 / 1080) * 100vh);
  padding-bottom: calc((183 / 1080) * 100vh);
}

#constitution .constitution_s02 .inner {
  width: 44em;
  margin: 0 auto;
  position: relative;
}

#constitution .constitution_s02 .inner h2 {
  width: 3.5em;
  position: absolute;
  top: 0.5em;
  left: 0;
}

#constitution .constitution_s02 .inner h2 img {
  width: 100%;
}

#constitution .constitution_s02 .inner p {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  line-height: 2;
  text-align: justify;
  margin: -0.5em 0 -0.5em 12em;
}

#constitution .constitution_s02.gray {
  background: #E3E3E3;
}

#constitution .constitution_s02 .gallery {
  width: 100%;
  height: calc(((661 / 1080) * 100vh) - 2rem);
  overflow: hidden;
  margin-top: calc((125 / 1080) * 100vh);
  position: relative;
}

#constitution .constitution_s02 .gallery ul {
  height: calc(100% - 2rem);
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 1s;
  transition: 1s;
}

#constitution .constitution_s02 .gallery ul li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  float: left;
  text-align: center;
  position: relative;
}

#constitution .constitution_s02 .gallery ul li .img {
  position: relative;
}

#constitution .constitution_s02 .gallery ul li .img img {
  width: auto;
  height: auto;
  max-width: calc(44em - 12rem);
  max-height: calc(((661 / 1080) * 100vh) - 4rem);
}

#constitution .constitution_s02 .gallery ul li .img .txt {
  display: block;
  font-size: 1rem;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  position: absolute;
  bottom: -2rem;
  left: 0;
}

#constitution .constitution_s02 .gallery .controlls {
  width: 4rem;
  height: 6rem;
  cursor: pointer;
  text-align: center;
  background: url(../img/const/prev.png) center bottom/auto calc(100% - 1.75rem) no-repeat;
  position: absolute;
  top: calc(50% - 3rem);
  left: calc(50% - 22em);
  z-index: 3;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

#constitution .constitution_s02 .gallery .controlls span {
  display: block;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 1rem;
  line-height: 1;
}

#constitution .constitution_s02 .gallery .controlls:hover {
  opacity: 0.64;
}

#constitution .constitution_s02 .gallery .controlls.hide {
  cursor: default;
  opacity: 0;
}

#constitution .constitution_s02 .gallery .controlls.hide:hover {
  opacity: 0;
}

#constitution .constitution_s02 .gallery .controlls.next {
  background-image: url(../img/const/next.png);
  left: auto;
  right: calc(50% - 22em);
}
