@charset "utf-8";
html { 	
    scroll-behavior: smooth;
    margin: 0;
    padding: 0;
    overflow-x: hidden;/*横幅はみ出し分を隠す*/
}

body{
  background-color: #ffffff;
  width: auto;
  font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-size: 16px;
  color: #00000;
  line-height: 3.7vw;
  margin-top: 0;
  padding: 0;
  overflow-x: hidden;
}

h1, h2, h2, h3, h5, h6  {
  font-size: 100%;
}

img {
  border: none;
  display: block; 
}

a{
  text-decoration: none;
}

#loading.loaded {
	opacity: 0;
	pointer-events: none;
}

#loading{
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: opacity 1.5s ease;
	opacity: 1;
}

#loading img {
	width: 300px;
	height: 240px;
	animation: sway 2s ease-in-out infinite;
}

/* ローディングアニメーション */
@keyframes sway {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(3deg); }
}

/* ふんわり表示 */
.fade-in {
  opacity: 0;
  transition: opacity 2s ease-in-out;
}
.fade-in.show {
  opacity: 1;
}
.top_wrapper{
	width: 100%;
	height: 58vw;
	overflow: hidden;
}
.top_bg{
	position: relative;
	width: 100%;
}

.topbg_img{
	position: absolute;
	width: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	z-index: 0;
}

	
.topbg_img_ph2{
	display: none;
	}

.top_title{
	width:40vw;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 1;
	animation: poyoyon2 1s ease-in-out 2;
}
 
@keyframes poyoyon2 {
  0%  {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  15% {
    transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    transform: scale(1.02, 1.0) translate(0, 8px);
  }
  50% {transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    transform: scale(1.0, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  0%, 100% {
    opacity: 1;
  }
}

.disneylogo{
	width:6vw;
	margin-left: auto;
	margin-right: auto;
	padding-top: 60px;
}

.topbg_img_ph{
	display: none;
}

.top_title{
	width: 100vw;
	margin-left: auto;
	margin-right: auto;
}

.top_title p{
	font-family: "chaloops", sans-serif;
	font-weight: 700;
	font-style: normal;
	text-align: center;
}

.name1{
	color: #ff3d3d;
	-webkit-text-stroke: 5px black;
    text-stroke: 5px black;
    paint-order: stroke;
	font-size: 4vw;
}

.name2{
	color: #ff3b8e;
	-webkit-text-stroke: 5px #01b4e2;
    text-stroke: 5px #01b4e2;
    paint-order: stroke;
	font-size:4vw;
}
.middle_br{
	display: none;
}

.ph_br{
	display: none;
}

.title_symbol{
	color: #000000;
	font-size: 3vw;
}

.title_wrapper{
}

.top_title h1{
	font-family: sichandich, sans-serif;
	font-style: normal;
	font-weight: 400;
	color: #000000;
	-webkit-text-stroke: 10px #fabe0d;
    text-stroke: 10px #fabe0d;
    paint-order: stroke;
	font-size: 3vw;
	letter-spacing: -6px;
	text-align: center;
	padding-top: 20px;
}

.title_desin1{
	font-size: 7vw;
}

.top_chara_wrapper{
	position: relative;
}

.top_chara{
	display: flex;
}

.top_mickey{
	position: absolute;
	left: 14vw;
	top: -7vw;
	width: 15vw;
	z-index: 4;
	 animation: flip 4s ease-in-out infinite;
}

@keyframes flip {
  from { 
    transform: rotateY(0);
  }
  to { 
    transform: rotateY(360deg);
  }
}

.top_minnie{
	position: absolute;
	top:-7vw;
	left: 70vw;
	width:14.5vw;
	z-index: 4;
	 animation: flip 4s ease-in-out infinite;
}

@keyframes flip {
  from { 
    transform: rotateY(0);
  }
  to { 
    transform: rotateY(360deg);
  }
}

.fade-in {
  opacity: 0;
  transition: opacity 2s ease-in-out;
}
.fade-in.show {
  opacity: 1;
}

.top_chara_sd{
	display: flex;
	width: 100%;
	position: relative;
}

.top_mickey_sd{
	width: 17vw;
	height: auto;
	position: relative;
	left: 14vw;
	top:14vw;
	z-index: 3;

}

.top_minnie_sd{
	width: 17vw;
	height: auto;
	position: relative;
	z-index: 3;
	top:14vw;
	left:51.5vw;
}

.top_medal{
	position: relative;
	display: flex;
	height: auto;
}

.top_mickey_pd{
	position: absolute;
	width: 11vw;
	height: auto;
	left:35.5vw;
	top:-2vw;
	transform: rotate(-8deg);
	z-index: 5;
}

.top_minnie_pd{
	position: absolute;
	width: 9vw;
	height: auto;
	left:52vw;
	transform: rotate(8deg);
	z-index: 5;
}

.top_medal_sd{
	position: relative;
	z-index: 4;
}

.top_mickeypd_sd{
	position: absolute;
	width: 9vw;
	left: 36.5vw;
	top:10.5vw;
}

.top_minniepd_sd{
	position: absolute;
	width: 7vw;
	left:53vw;
	top:10.5vw;
}

.title_text_wrapper p{
	text-align: center;
	color: #000000;
	font-family: "ab-tsubaki", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 2vw;
	letter-spacing: -2px;
}

.title_text_wrapper img{
	width: 18vw;
	margin-left: auto;
	margin-right: auto;
	padding-top: 20px;
}

.bunner_section img{
	display: block;
    margin: 0 auto;
    padding: 8vw;
    width: 40vw;
}

.checkpoint_title{
	width: 30vw;
	margin-left: auto;
	margin-right: auto;
	padding: 150px 0 0 0 ;
}

.checkpoint_outer{
	width: 100%;
}

	.checkpoint_bg_ph{
		display: none;
	}

.checkpoint_bg_1{
	width: 100vw;
	margin-left: auto;
	margin-right: auto;
	position: static;
	z-index: 0;
}

.checkpoint_medle1{
  position: relative;
	transform: rotate(8deg);
	z-index: 5;
}

.check_minnie_pd {
	width: 16vw;
	position: absolute;
	left: 54vw;
	top:-55vw;
	 animation: bounce 2s ease-in-out infinite;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% { 
    transform: translateY(0);
  }
  40% { 
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}

.checkpoint_medle2{
  position: relative;
		transform: rotate(-8deg);
		z-index: 5;
}

.check_mickey_pd{
	width: 16vw;
	position: absolute;
	left:35vw;
	top:-34vw;
	transform: rotate(-8deg);
	 animation: bounce 2s ease-in-out infinite;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% { 
    transform: translateY(0);
  }
  40% { 
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}

.check_pd_sd_wrapper{
	position: relative;
}

.check_minnie_pd_sd{
	width: 13vw;
	position: absolute;
	z-index: 4;
	left: 61vw;
	top:-34.5vw;
}

.check_mickey_pd_sd{
	width: 13vw;
	position: absolute;
	z-index: 4;
	left: 33.8vw;
	top:-14.6vw;;
}

.check_text1_outer{
	position: relative;
	height: auto;
	width: 100vw;
}

.check_text1{
	width: auto;
	font-family: "vdl-penletter", sans-serif;
	font-weight: 500;
	font-style: normal;
	color: black;
	text-decoration:underline;
	font-size: 2vw;
	position: absolute;
	z-index: 5;
	transform: rotate(-8deg);
	top:-42vw;
	left:31vw;
	line-height: 3vw;
	
}

.check_text2_outer{
	position: relative;
	height: auto;
	width: 100vw;
}

.check_text2{
	font-family: "vdl-penletter", sans-serif;
	font-weight: 500;
	font-style: normal;
	color: black;
	text-decoration:underline;
	font-size: 2vw;
	line-height: 3vw;
	transform: rotate(8deg);
	position: absolute;
	top:-29vw;
	left:5vw;
	z-index: 5;
	
}

.check_text3{
	font-family: "vdl-penletter", sans-serif;
	font-weight: 500;
	font-style: normal;
	color: black;
	text-decoration:underline;
	font-size: 2vw;
	position: absolute;
	transform: rotate(8deg);
	z-index: 5;
	top:-22vw;
	left: 60vw;
	line-height: 3vw;
}

.pake_section{
	background-image: url(../img/package_bg.png);
	background-repeat: no-repeat;
	background-size: cover;
	margin-top: 200px;
	width: 100%;
	height: 80vw;
}

.pake_title{
	width: 22vw;
	margin-left: auto;
	margin-right: auto;
	padding-top: 13vw;
}

.pake_wrapper{
	background-color: #FFFFFF;
	width: 65vw;
	height: 32vw;
	margin-left: auto;
	margin-right: auto;
	border-radius: 4vw;
}

.pake_text{
	text-align: center;
	font-family: "vdl-penletter", sans-serif;
	font-weight: 500;
	font-style: normal;
	color: black;
	text-decoration:underline;
	font-size: 1.7vw;
	line-height: 3vw;
	padding-top: 3vw;	
}

.pake_img_wrapper{
	display: flex;
	justify-content: center;
	column-gap: 10vw;
}

.pake_img1{
	width: 15vw;
}

.pake_img2{
	width: 22vw;
}

.pake_text_wrapper{
	position:relative;
}

.credit{
	position: absolute;
	left: 57vw;
	top:28vw;
	color: #000000;
	font-size: 1vw;
}

.sub_text{
	text-align: center;
	font-family: "vdl-penletter", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 1.7vw;
	line-height: 3vw;
	padding-top: 3vw;
	
}

.product_text_wrapper{
	background-image: url("../img/text_bg.png");
	background-size:70vw;
	background-repeat: no-repeat;
	height: 88vw;
	background-position: 15vw 8vw;
	font-family: "ab-chalk", sans-serif;
	font-weight: 400;
	font-style: normal;
	position: relative;
}

.product_text_wrapper h2{
	text-align: center;
	color: #ffffff;
	font-size: 2vw;
	line-height: 3vw;
	position: absolute;
	left: 32.3vw;
	top:22vw;
}

.product_text_wrapper p{
	font-size: 2vw;
	color: #ffffff;
	position: absolute;
	top:31vw;
	left: 49vw;
}

.pc_table{
	position: absolute;
	top:39vw;
	left:33vw;
	color:#ffffff;
	font-size: 1.8vw;
	line-height: 2vw;
}

.product_text_wrapper th{
	padding-right: 2vw;
}

.ph_table{
	display: none;
}

.table1{
	padding-top: 4.5vw;
}

.table2{
	padding-top: 3vw;
}

.buy_button{
	width: 18vw;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 7vw;
}

.button{
	width: 20vw;
	margin-left: auto;
	margin-right: auto;
}

.sns{
	background-color: #ADCDFF;
	height: 17vw;
}

.sns h2{
	font-family: sichandich, sans-serif;
	font-style: normal;
	font-weight: 400;
	text-align: center;
	font-size: 2.6vw;
	padding-top: 2vw;
}

.sns__list{
	display: flex;
	justify-content: center;
	gap: 5vw;
	padding-top: 1vw;
}

.sns__list dd{
	margin-left: 0;
}

.sns__list dd img{
	width: 5vw;
}

.footer {
    margin-top: 6px;
    padding: 16px 0;
    background-color: #ffffff; 
    text-align: center;
}

.footer-logo {
    width: 200px;
    height: auto;
    margin:0 auto;
	padding-top: 5px;
	justify-content: center;
}

.footer-nav {
    margin-top: 16px; 
}

.footer-nav a {
    margin: 0 8px;
    font-size: 1.5vw;
    color: #5d8ca6; 
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-nav a:hover {
    color: #ECA642; 
}

footer p {
    margin-top: 16px;
    font-size: 1vw;
    color: #777;
}

/* CSS Document */

