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

		@import url('https://fonts.googleapis.com/css2?family=Lusitana:wght@400;700&family=Noto+Serif+JP:wght@200..900&display=swap');

		html,
		body {
			padding: 0;
			margin: 0;
		}
*{
    min-height: 0;
    min-width : 0;
}
		.noto-serif-jp-<uniquifier> {
		  font-family: "Noto Serif JP", serif;
		  font-optical-sizing: auto;
		  font-style: normal;
		}
		.lusitana-regular {
		  font-family: "Lusitana", serif;
		  font-weight: 400;
		  font-style: normal;
		}

		/*.lusitana-bold {
		  font-family: "Lusitana", serif;
		  font-weight: 700;
		  font-style: normal;
		}*/


		#by {
			font-family: "Noto Serif JP", serif;
			font-size: 12px;
			line-height: 1.6;
		}
		#by img,#by video,#by svg {
			width: 100%;
			border: none;
		}
		#by ul,#by li {
			list-style: none;
			padding: 0;
			margin: 0;
		}
		#by a {
			text-decoration: none;
			color:#000;
		}
		#by .img {
			line-height: 0;
		}
		#by .en {
			font-family: "Lusitana", serif;
		}
		#by .spview {
			display: none;
		}
		@media only screen and (max-width: 768px)  {
			#by {
				font-size: 10px;
				overflow: clip;
			}
			#by .spview {
				display: block;
			}
			#by .pcview {
				display: none;
			}

		}
		#main_visual {
			position: relative;
			width: 100%;
		}
		#main_visual .inner {
			
			margin: 0 auto;
			position: relative;
		}
		#main_visual .title {
			position: absolute;
			top: 16%;
			right: 15%;
			width: 18%;
			line-height: 0;
		}


		@media only screen and (max-width: 768px)  {
			#main_visual .title {
				width: 41%;
				top: 7%;
				right: 6%;
				line-height: 0;
			}

		}
		
		
		#main_read {
			margin: 5% auto;
			width: 80%;
			text-align: center;
			font-size: 16px;
			font-weight: 600;
			line-height: 2;
		}
		@media only screen and (max-width: 768px)  {
			#main_read {
				margin: 15% auto;
				width: 100%;
				font-size: 13px;
			}
			
		}
		
		
		#main_contents {
			margin: 5% auto;
		}
		#main_contents .section {
			position: relative;
			margin: 10% auto;
		}
		#main_contents .stick {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}
		#main_contents .no {
		  align-items: flex-start;
		  color: #000;
		  display: flex;
		  width: 100%;
			height: 50vh;
		  white-space:nowrap;
		  z-index: 1;
			position: sticky;
			top: 0;
			padding: 100px 0;
		}
		#main_contents .no ul {
		  animation: flowing 70s linear infinite;
		  font-size: 40px;
			font-weight: 500;
		  transform:translateX(100%);
		  margin: 0;
		  padding: 0;
		}
		#main_contents .no ul li{
		  display: inline-block;
		  padding-right: 50px;
		}
		#main_contents .section .box {
			position: relative;
			max-width: 1200px;
			margin: 0 auto;
			padding-bottom: 5%;
			position: sticky;
			z-index: 10;
		}
		#main_contents .section .box .img {
			width: 50%;
			
			padding: 1%;
			line-height: 0;
			position: relative;
		}
		#main_contents .section:nth-of-type(3) .box .img::before {
			content: "@Disney";
			position: absolute;
			bottom: 5%;
			left: 5%;
			font-size: 9px;
			color:#fff;
		}	
		#main_contents .section:nth-of-type(3) .box .img:nth-of-type(2) {
			position: relative;
		}	
		#main_contents .section:nth-of-type(3) .box .img:nth-of-type(2)::before {
			content: "@Disney";
			position: absolute;
			bottom: 5%;
			left: 5%;
			font-size: 9px;
			color:#fff;
			z-index: 999;
		}
		#main_contents .section .box .img img {
			
			border-radius: 15px;
			overflow: hidden;
			width: 100%;
		}
		#main_contents .section .box .img:nth-of-type(1) {
		}
		#main_contents .section .box .img:nth-of-type(2) {
			margin-left: 50%;
			margin-top: -35%;
			width: 45%;
		}
		#main_contents .section .box .img:nth-of-type(3) {
			padding: 0;
			margin-top: -18%;
			margin-left: 3%;
			width: 45%;
		}
		/*#main_contents .section .box .img:nth-of-type(3) img {
			border-radius: 1000px;
		}*/
		#main_contents .section:nth-of-type(even) .box .img:nth-of-type(1) {
			margin-left: 50%;
		}
		#main_contents .section:nth-of-type(even) .box .img:nth-of-type(2) {
			margin-left: 5%;
		}
		#main_contents .section:nth-of-type(even) .box .img:nth-of-type(3) {
			margin-left: 53%;
		}
		
		@media only screen and (max-width: 768px)  {
			#main_contents .no {
				padding: 50px 0;
			}
			#main_contents .no ul {
			  animation: flowing 70s linear infinite;
			  font-size: 28px;
				
			}
			#main_contents .section .box {
				padding-top: 100px;
				position: sticky;
			}
			#main_contents .section .box .img {
				width: 75%;
				/* padding: 4%; */
				
			}
			#main_contents .section .box .img img {
				
				border-radius: 10px;
				overflow: hidden;
			}
			#main_contents .section .box .img:nth-of-type(1) {
        width: 90%;
        margin: 0 auto;
    }
			#main_contents .section .box .img:nth-of-type(2) {
				width: 75%;
				margin-top: 5%;
				margin-left: 0;
			}
			#main_contents .section .box .img:nth-of-type(3) {
        padding: 0;
        margin-top: -15%;
        margin-left: 45%;
        width: 55%;
        z-index: 999;
        position: relative;
    }
			#main_contents .section:nth-of-type(even) .box .img:nth-of-type(1) {
        margin-left: auto;
    }
			#main_contents .section:nth-of-type(even) .box .img:nth-of-type(2) {
				margin-left: 0%;
			}
			#main_contents .section:nth-of-type(even) .box .img:nth-of-type(3) {
        margin-left: 45%;
    }			
		}
		
		
		
		
		
		#main_contents .section .data {
			position: relative;
			width: 40%;
			left: 53%;
			bottom: 0;
			box-sizing: border-box;
			padding: 2% 5%;
			background: #FFF;
			margin-top: -33%;
		}
		#main_contents .section:nth-of-type(even) .data {
			left: 8%;
		}
		#main_contents .section .data .name {
			font-weight: 400;
			font-size: 14px;
			text-align: center;line-height: 1.4;
		}
		#main_contents .section .data .name span {
			display: block;
			font-size: 26px;
			margin: 10px 0;
		}
		#main_contents .section .data .name span.jp {
			font-family: "Noto Serif JP", serif;
			font-weight: 400;
			font-size: 10px;
			margin-bottom: 5px;
		}
		#main_contents .section .data .txt {
			margin:3% auto;
			font-size: 12px;
			line-height: 2;
			width: 100%;
		}
		#main_contents .section .data .btn a {
			display: block;
			padding: 5px 0;
			border: 1px solid #000;
			box-sizing: border-box;
			text-align: center;
			width: 100%;
			margin: 5% auto;
			border-radius: 30px;
			font-size: 16px;
			position: relative;
			background: #222;
			font-weight: 500;
			color: #fff;
		}
		#main_contents .section .data .btn a::before {
			position: absolute;
			top: 50%;
			right: 5%;
			content: "→";
			transform: translate(0,-50%);
		}
		@media only screen and (max-width: 768px)  {
			#main_contents .section .data,#main_contents .section:nth-of-type(even) .data {
				position: relative;
				width: 80%;
				left: auto;
				bottom: auto;
				margin: 5% auto;
			}
		}
		#main_contents .more {
			text-align: center;
			font-size: 30px;
			font-weight: 500;
			margin: 10% auto 5%; 
		}
		@media only screen and (max-width: 768px)  {
			#main_contents .more {
				text-align: center;
				font-size: 20px;
				font-weight: 500;
			}	
		}
		
		
		@keyframes flowing {
		  0% { transform:translateX(0); }
		  100% { transform:translateX(-100%); }
		}
		
		#main_visual .title {
			opacity: 0;
			transition: 1.4s all 1s ease;
		}
		#main_visual.ac li,#main_visual.ac .title {
			opacity: 1;
		}
		.anim {
			opacity: 0;
			transition: 1s all 0s ease;
		}
		.anim.ac {
			opacity: 1;
		}
.slider3 {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 752px;
	margin: auto;
}
 
 /*=== 画像の設定 ======================================= */
.slider3 img {
  display: block;
  position: absolute;
  width: inherit;
  height: inherit;
	opacity: 0;
  animation: slideAnime3 9s ease infinite;
}
 
 /*=== スライドのアニメーションを段差で開始する ========= */
.slider3 img:nth-of-type(1) { animation-delay: 0s }
.slider3 img:nth-of-type(2) { animation-delay: 3s }
.slider3 img:nth-of-type(3) { animation-delay: 6s }
 
 /*=== スライドのアニメーション ========================= */
@keyframes slideAnime3{
   0% { opacity: 0 }
   8% { opacity: 1 }
  33% { opacity: 1 }
  41% { opacity: 0 }
 100% { opacity: 0 }
}
	
.slider2 {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 50.2vw;
  margin: auto;
}
 
 /*=== 画像の設定 ======================================= */
.slider2 img {
  display: block;
  position: absolute;
  width: inherit;
  height: inherit;
	opacity: 0;
  animation: slideAnime2 10s ease infinite;
}
 
 /*=== スライドのアニメーションを段差で開始する ========= */
.slider2 img:nth-of-type(1) { animation-delay: 0s }
.slider2 img:nth-of-type(2) { animation-delay: 5s }
 
 /*=== スライドのアニメーション ========================= */
@keyframes slideAnime2 {
   0% { opacity: 0 }
   12% { opacity: 1 }
  50% { opacity: 1 }
  62% { opacity: 0 }
 100% { opacity: 0 }
}
@media only screen and (max-width: 768px)  {
	.slider2 {
		height: 92.2vw;
	}
	.slider3 {
        height: 110vw;
	}
}