@charset "utf-8";
/* CSS Document */
body {
    line-height: 1.8;
  	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  	box-sizing: border-box;
}

h2 {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 1em;
}

h3 {
	font-size: 1.75rem;
	font-weight: bold;
	margin-bottom: 1em;
	text-align: center;
}

.backgroung-img{
	background-image: url('../img/background.jpg');
	overflow: hidden;
}

.wrapper {
  	width: 100%;
  	padding: 0 40px;
  	margin: 0 auto;
  	max-width: 1280px;
}

.respd{
	max-width: 100%;
	height: auto;
	/*width /***//*:auto;*/
}

.right{
	text-align: right;
}

.font-s{
	font-size: 0.8rem;
}

.blue{
	color: #003f98;
}

.cream{
	color: #f8f799;
}

.yellow{
	color: #ddd720;
}

.blue-container{
	background: #003f98;
	color: #fff;
	padding: 5px 10px;
}

.red-container{
	background: #c8161e;
	color: #fff;
	padding: 5px 20px;
}

span.blue-container,
span.red-container{
	border-radius: 5px;
	vertical-align: middle;
}

.sep{
	display: inline-block;
}

.fade-in {
	  opacity: 0;
	  transition-duration: 500ms;
	  transition-property: opacity, transform;
}

.fade-in-up {
	  transform: translate(0, 50px);
}

.fade-in-down {
	  transform: translate(0, -50px);
}

.fade-in-left {
	  transform: translate(-50px, 0);
}

.fade-in-right {
	  transform: translate(50px, 0);
}

.scroll-in {
	  opacity: 1;
	  transform: translate(0, 0);
}

.first-view{
	position: relative;
}

.first-view_tenpo{
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 3;
	width: 100%;
}

.first-view_person{
	position: absolute;
	bottom: 13%;
	left: 0;
	z-index: 4;
	width: 100%;
}

.first-view_car{
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 5;
	width: 100%;
}

.first-view_flower{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 8;
	width: 100%;
}

.first-view_copy{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 6;
	width: 100%;
}

.first-view_copy02{
	position: absolute;
	top: 35%;
	left: 0;
	z-index: 7;
	width: 100%;
}

.first-view_baloon{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
}

.first-view_date{
	position: absolute;
	top: 92%;
	left: 0;
	z-index: 9;
	width: 100%;
}

section {
    width: 100%;
    margin-bottom: 150px;
}

section:last-of-type{
	margin-bottom: 0;
}

.content-logo{
	text-align: center;
	margin-bottom: 30px;
}

.event-date{
	font-weight: bold;
	margin-top: 15px;
}

#sec2 .event-date .date-container{
	background: #e63178;
	color: #fff;
	padding: 5px 30px;
	border-radius: 18px;
	font-size: 1.2rem;
	display: inline-block;
}

#sec3 .event-date{
	color: #c9000c;
	font-size: 1.6rem;
}

.content-item{
	margin-top: 50px;
}

.intro-bg{
	margin: 25% auto 0;
	background-image: url('../img/intro_bg.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat; /* 画像の繰り返しを防ぐ */
	width: 100%;
	aspect-ratio: 16 / 9;
	position: relative;
}

.intro{
	position: absolute;
	text-align: center;
	top: 48%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	padding: 6% 13%;
}

.illust-container{
	position: relative;
	width: 100%;
}

.illust-item{
	position: absolute;
}

.illust01{
	bottom: 90%;
	right: 89%;
	width: 22%;
	height: 23%;
	max-width: 220px;
}

.illust02{
	bottom: 86%;
	left: 88%;
	width: 22%;
	height: 35%;
	max-width: 210px;
}

.illust03{
	bottom: 85%;
	right: 90%;
	width: 23%;
	height: 34%;
	max-width: 220px;
}

.illust04{
	bottom: 83%;
	left: 83%;
	width: 28%;
	height: 35%;
	max-width: 280px;
}

.illust05{
	top: 15%;
	left: 87%;
	width: 13%;
	height: 54%;
	max-width: 220px;
}

.illust06{
	top: 13%;
	right: 84%;
	width: 15%;
	height: 63%;
	max-width: 220px;
}

.flex-container{
	display: flex;
}

.flex-center{
	justify-content: center;
}

.flex-event{
	gap: 15px;
	align-items: center;
}

.grid-container{
	display: grid;
	gap: 15px;
}

.half{
	grid-template-columns: repeat(2, 1fr);
}

.column3{
	grid-template-columns: repeat(3, 1fr);
}

#sec2 .column3{
	position: relative;
}

#sec2 .column3::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 45%;
	width: 33%;
	height: 35%;
	background-image: url("../img/illust07.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.event-num{
	display: inline-block;
	font-size: 2rem;
	font-weight: 800;
	color: #fff;
	padding: 8px 12px;
	border-radius: 10px;
	line-height: 1;
}

#event03{
	background: #03bfef;
}

.release-date{
	font-size: 1.8rem;
	font-weight: bold;
}

.event-img{
	width: 100%;
	max-width: 975px;
	margin: 25px auto 0;
}

.map {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9のアスペクト比 */
    height: 0;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.shop-info{
	margin-top: 50px;
	display: grid;
	gap: 5px;
	font-size: 1.4rem;
	font-weight: bold;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(5, auto);
}

.shop-logo{
	grid-area: 1 / 1 / 4 / 2;
	align-self: center;
}

.shop-logo img{
	width: 100%;
	max-width: 580px;
}

.shop-tel{
	grid-area: 1 / 2 / 3 / 3;
}

.shop-addres{
	grid-area: 3 / 2 / 4 / 3;
}

.shop-attention{
	grid-area: 4 / 1 / 5 / 3;
}

.shop-open{
	grid-area: 5 / 1 / 6 / 3;
}

.open-hours{
	background: #d3edfb;
	padding: 5px 10px;
}

#content_footer{
	position: relative;
	width: 100%;
	height: 50px;
	padding-top: calc(20% + 50px);
}

.footer_wave {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}
.parallax > use {
    animation: move-forever 3s linear infinite;
}
.parallax > use:nth-child(1) {
    animation-delay: -2s;
}
.parallax > use:nth-child(2) {
    animation-delay: -2s;
    animation-duration: 5s;
}

.link-line{
	width: 40px;
	margin-bottom: 20px;
}

footer{
	background: #3c3c3c;
	padding-top: 40px;
}

.footer-nav{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 620px;
	justify-content: space-between;
}

.footer-nav a{
	text-decoration: none;
	font-weight: bold;
	color: #fff;
}

.copy-write{
	text-align: right;
	color: #818181;
}
@keyframes move-forever {
    0% {
        transform: translate(-90px, 0%);
    }
    100% {
        transform: translate(85px, 0%);
    }
}
.editorial {
    display: block;
    width: 100%;
    height: 3em;
    max-height: 100vh;
    margin: 0;
	bottom: 0px;
	opacity:0.7;
}

.pc{
	display: block;
}

.sp{
	display: none;
}

@media (max-width: 768px) {
	.shop-info{
		grid-template-columns: 1fr;
		grid-template-rows: repeat(6, auto);
	}

	.shop-logo{
		grid-area: 1 / 1 / 2 / 2;
	}

	.shop-tel{
		grid-area: 2 / 1 / 4 / 2;
	}

	.shop-addres{
		grid-area: 4 / 1 / 5 / 2;
	}

	.shop-attention{
		grid-area: 5 / 1 / 6 / 2;
	}

	.shop-open{
		grid-area: 6 / 1 / 7 / 2;
	}
}

@media (max-width: 428px) {
	.wrapper{
		padding: 0 20px;
	}
	.pc{
		display: none;
	}

	.sp{
		display: block;
	}

	.right{
		text-align: left;
	}

	.first-view_copy02{
		top: 43%;
	}

	.first-view_person{
		bottom: 0;
	}

	.first-view_date{
		top: 90%;
	}

	.intro-bg{
		background-image: url('../img/intro_bg_sp.png');
		aspect-ratio: 1 / 1;
	}

	section{
		margin-bottom: 95px;
	}

	#sec2 .column3,
	#sec2 .column3::after{
		position: static;
	}

	#sec2 .event-date .date-container{
		padding: 5px 15px;
	}

	#sec2 .column3::after{
		width: 100%;
		height: 120px;
	}

	.illust01{
		bottom: 81%;
		right: 83%;
	}

	.illust02{
		bottom: 76%;
		left: 83%;
	}

	.illust03{
		bottom: 95%;
		right: 88%;
		width: 18%;
	}

	.illust04{
		left: 68%;
		width: 40%;
	}

	.link-line{
		margin: 0 auto 20px;
	}

	.shop-info{
		font-size: 1rem;
	}

	.footer-nav{
		text-align: center;
	}

	.footer-nav li{
		width: 100%;
	}

	.half,.column3{
		grid-template-columns: 1fr;
	}
}
