@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* -------------------------------------
pukupuku
------------------------------------- */
#pukupuku {
	font-family: "Noto Sans JP", sans-serif;
	overflow: hidden;
}


.mv {
	max-width: 1400px;
	margin: 0 auto 11px auto;
}
.mv .pc {
	padding-top: 35.7%;
	position: relative;
}
.mv .pc li {
	width: 100%;
	height: 100%;
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.mv .pc li:first-child {
	display: block;
}
.mv .sp {
	display: none;
}
@media screen and (max-width:640px) {
	.mv .pc {
		display: none;
	}
	.mv .sp {
		display: block;
	}
}



#pukupuku .center-block{
	margin-left: auto;
	margin-right: auto;
}

#pukupuku .pc-none{display: none;}


#pukupuku img{
	display: block;
	width: 100%;
	height: auto;
}

#pukupuku .flex{
	display: flex;
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1〜6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /*IE10*/
	-webkit-flex-wrap: wrap; /* Safari6.1以降 */
}

#pukupuku .reverse {
  flex-direction: row-reverse;
}

#pukupuku .flex-center{justify-content: flex-end;}

.bg-seigaiha{
	background: url(../imgs/pukupuku/bg-seigaiha.png) no-repeat 50% 140px;
	background-size: contain;
	padding: 0 20px 0;
	max-width: 1075px;
	margin:auto;
}

#pukupuku h1 {
	max-width:720px;
	margin:0 auto 20px auto;
}
#pukupuku h1 img {
	width:68.3%;
	height:auto;
}

#pukupuku .info{
	max-width: 720px;
	margin: auto;
	border-top: 1px solid #083968;
	margin-bottom:30px;
}

#pukupuku .time{
	text-align: center;
	border-bottom: 1px solid #083968;
	padding: 22px 0;
}

#pukupuku .time img{display: inline;}

#pukupuku .t-1{max-width: 112px;}
#pukupuku .t-2{
	max-width: 27px;
	padding: 0 10px 0 5px;
}
#pukupuku .t-3{max-width: 212px;}

#pukupuku .pay-box{
	border-bottom: 1px solid #083968;
	padding: 30px 0;
	margin-bottom:30px;
}

#pukupuku .pay{
	margin: auto;
	max-width: 102px;
	padding-bottom: 22px;
}

#pukupuku .pay-ul{
	max-width: 634px;
	margin: auto;
}

#pukupuku .pay-ul li{
	flex: 1;
	padding-left: 5px;
	padding-right: 5px;
}

#pukupuku .pay-ul li img{
	max-width: 189px;
	margin: auto;
}
#pukupuku #passport {
	max-width:1046px;
	margin:0 auto 85px auto;
}
#pukupuku #passport dt {
	width:67.9%;
	margin:0 auto 20px auto;
}
#pukupuku #passport dt img,
#pukupuku #passport dd img {
	width:100%;
	height:auto;
	display:block;
}


@media screen and (max-width:640px) {
	.sp_inner {
		padding: 0 15px;
	}
}
@media screen and (max-width:375px) {
	.sp_inner {
		padding: 0;
	}
}

#pukupuku .lead_text {
	font-size: 15px;
	line-height: 2.2;
	max-width:900px;
	margin:0 auto 50px auto;
}
@media screen and (max-width:1135px) {
	#pukupuku .lead_text {
		margin:0 auto 45px auto;
	}
}
@media screen and (max-width:980px) {
	#pukupuku .lead_text {
		margin:0 auto 40px auto;
	}
}
@media screen and (max-width:768px) {
	#pukupuku .lead_text {
		margin:0 auto 35px auto;
	}
}
@media screen and (max-width:640px) {
	#pukupuku .lead_text {
		margin:0 auto 25px auto;
	}
}

#pukupuku .about {
	margin-bottom: 100px;
}
#pukupuku .about li {
	width: 47.2%;
	margin-bottom: 105px;
	position: relative;
}
#pukupuku .about li:nth-child(even) {
	margin-left: auto;
}
#pukupuku .about li:nth-child(1),
#pukupuku .about li:nth-child(2) {
	padding-top: 10.1%;
}
#pukupuku .about li:nth-child(3),
#pukupuku .about li:nth-child(4) {
	margin-bottom: 0;
}
#pukupuku .about figure {
	margin-bottom: 15px;
}
#pukupuku .about p {
	font-size: 15px;
	line-height: 1.5;
}
#pukupuku .about .sen {
	position: absolute;
	z-index: 1;
}
#pukupuku .about li:nth-child(1) .sen {
	width: 51.8%;
	top: 1.5%;
	left: 3%;
}
#pukupuku .about li:nth-child(2) .sen {
	width: 53.6%;
	top: 0;
	right: 5%;
}
@media screen and (max-width:1135px) {
	#pukupuku .about {
		margin-bottom: 100px;
	}
	#pukupuku .about li {
		margin-bottom: 90px;
	}
}
@media screen and (max-width:980px) {
	#pukupuku .about {
		margin-bottom: 90px;
	}
	#pukupuku .about li {
		margin-bottom: 80px;
	}
}
@media screen and (max-width:768px) {
	#pukupuku .about {
		margin-bottom: 80px;
	}
	#pukupuku .about li {
		margin-bottom: 65px;
	}
}
@media screen and (max-width:640px) {
	#pukupuku .about {
		margin-bottom: 30%;
	}
	#pukupuku .about li {
		width: 100%;
		margin-bottom: 50px;
	}
	#pukupuku .about li:nth-child(1),
	#pukupuku .about li:nth-child(2) {
		padding-top: 24.2%;
	}
	#pukupuku .about li:nth-child(3) {
		margin-bottom: 50px;
	}
	#pukupuku .about li:nth-child(1) .sen {
		width: 58.8%;
		top: 2%;
		left: -2.5%;
	}
	#pukupuku .about li:nth-child(2) .sen {
		width: 61.3%;
		top: 0;
		right: 5%;
	}
}


#pukupuku .intro h2 {
	background: url(../imgs/pukupuku/bg-seigaiha2.png) no-repeat 50%;
	margin-bottom: 85px;
}
#pukupuku .intro h2 img {
	max-width: 403px;
}
#pukupuku .intro {
	margin-bottom: 180px;
}
#pukupuku .intro_blk {
	padding: 0 30px;
	position: relative;
}
#pukupuku .intro_blk:not(:last-child) {
	margin-bottom: 120px;
}
#pukupuku .intro_blk .flex {
	align-items: center;
}
#pukupuku .intro_blk .text {
	width: 42%;
	position: relative;
	z-index: 2;
}
#pukupuku .intro_blk figure {
	width: 44.3%;
	position: relative;
	z-index: 1;
}
#pukupuku .intro_blk:nth-child(odd) .text {
	order: 1;
	margin-left: auto;
}
#pukupuku .intro_blk:nth-child(odd) figure {
	margin-left: 4%;
}
#pukupuku .intro_blk:nth-child(even) figure {
	margin-left: auto;
	margin-right: 7.5%;
}
#pukupuku .intro_blk .text h3 {
	margin-bottom: 35px;
}
#pukupuku .intro_blk .text p {
	font-size: 15px;
	line-height: 2.2;
}
#pukupuku .intro_blk .text .caps {
	margin-top: 15px;
}
#pukupuku .intro_blk .text .caps li {
	font-size: 14px;
	line-height: 1.5;
}
#pukupuku .intro_blk .text .caps li:not(:last-child) {
	margin-bottom: 2px;
}
#pukupuku .intro_blk .bg {
	position: absolute;
	z-index: 0;
	transform: translateY(-50%);
}
#pukupuku .intro_blk .bg .sp {
	display: none;
}
#pukupuku .intro_blk.intro1 .text {
	padding-top: 7%;
}
#pukupuku .intro_blk.intro1 .bg {
	width: 67.5%;
	top: 50%;
	right: 3%;
}
#pukupuku .intro_blk.intro2 .text {
	padding-top: 3%;
}
#pukupuku .intro_blk.intro2 .bg {
	width: 57.6%;
	top: 50%;
	left: -3%;
}
#pukupuku .intro_blk.intro3 .text {
	padding-top: 4%;
}
#pukupuku .intro_blk.intro3 .bg {
	width: 83%;
	top: 50%;
	right: -6.5%;
}
#pukupuku .intro_blk.intro4 .bg {
	width: 61.9%;
	top: 47%;
	left: -6%;
}
#pukupuku .intro_blk.intro5 .text {
	padding-top: 10%;
}
#pukupuku .intro_blk.intro5 .bg {
	width: 67.2%;
	top: 50%;
	right: 2.5%;
}
#pukupuku .intro_blk.intro6 .text {
	padding-top: 2%;
}
#pukupuku .intro_blk.intro6 .bg {
	width: 57.6%;
	top: 47.5%;
	left: -3%;
}
@media screen and (max-width:1135px) {
	#pukupuku .intro {
		margin-bottom: 165px;
	}
	#pukupuku .intro h2 {
		margin-bottom: 80px;
	}
	#pukupuku .intro_blk {
		padding: 0 20px;
	}
	#pukupuku .intro_blk:not(:last-child) {
		margin-bottom: 110px;
	}
}
@media screen and (max-width:980px) {
	#pukupuku .intro {
		margin-bottom: 150px;
	}
	#pukupuku .intro h2 {
		margin-bottom: 75px;
	}
	#pukupuku .intro_blk {
		padding: 0 10px;
	}
	#pukupuku .intro_blk:not(:last-child) {
		margin-bottom: 100px;
	}
}
@media screen and (max-width:768px) {
	#pukupuku .intro {
		margin-bottom: 135px;
	}
	#pukupuku .intro h2 {
		margin-bottom: 70px;
	}
	#pukupuku .intro_blk {
		padding: 0;
	}
	#pukupuku .intro_blk:not(:last-child) {
		margin-bottom: 85px;
	}
	#pukupuku .intro_blk .text h3 {
		margin-bottom: 30px;
	}
}
@media screen and (max-width:640px) {
	#pukupuku .intro {
		margin-bottom: 40%;
	}
	#pukupuku .intro h2 {
		margin-bottom: 16.2%;
	}
	#pukupuku .intro_blk {
		padding: 0;
	}
	#pukupuku .intro_blk:not(:last-child) {
		margin-bottom: 18.8%;
	}
	#pukupuku .intro_blk .text h3 {
		margin-bottom: 7.5%;
	}
	#pukupuku .intro_blk .text {
		width: 100%;
		order: 1;
	}
	#pukupuku .intro_blk figure {
		width: 90%;
		margin: 0 auto 13.5% auto!important;
	}
	#pukupuku .intro_blk:nth-child(odd) figure {
		margin-left: 0;
	}
	#pukupuku .intro_blk:nth-child(even) figure {
		margin-right: 0;
	}

	#pukupuku .intro_blk .bg {
		transform: translateY(0);
	}
	#pukupuku .intro_blk .bg .pc {
		display: none;
	}
	#pukupuku .intro_blk .bg .sp {
		display: block;
	}
	#pukupuku .intro_blk.intro1 .text {
		padding-top: 0;
	}
	#pukupuku .intro_blk.intro1 .bg {
		width: 109.5%;
		top: -3%;
		right: -3%;
	}
	#pukupuku .intro_blk.intro2 .text {
		padding-top: 0;
	}
	#pukupuku .intro_blk.intro2 .bg {
		width: 104%;
		top: 0;
		left: -4%;
	}
	#pukupuku .intro_blk.intro3 .text {
		padding-top: 0;
	}
	#pukupuku .intro_blk.intro3 .bg {
		width: 109.5%;
		top: -5%;
		right: -5%;
	}
	#pukupuku .intro_blk.intro4 .bg {
		width: 107.7%;
		top: -4%;
		left: -3.8%;
	}
	#pukupuku .intro_blk.intro5 .text {
		padding-top: 0;
	}
	#pukupuku .intro_blk.intro5 .bg {
		width: 102.5%;
		top: -2%;
		right: -2.5%;
	}
	#pukupuku .intro_blk.intro6 .text {
		padding-top: 0;
	}
	#pukupuku .intro_blk.intro6 .bg {
		width: 101.7%;
		top: -3%;
		left: -6%;
	}
}


#souvenir {
	max-width:978px;
	padding:42px 42px 42px 0;
	margin:0 auto 73px auto;
	border-radius:20px;
	background-color:#f6a900;
	box-sizing:border-box;
}
#souvenir .left {
	width:53.1%;
	float:left;
	padding:0 9.7% 0 7.5%;
	box-sizing:border-box;
	position:relative;
}
#souvenir .left h2 {
	padding:0;
	margin-bottom:-55px;
	background:none;
	position:relative;
	top:-68px;
	z-index:1;
}
#souvenir .left p {
	font-size: 15px;
	line-height:2.2;
}
#souvenir .left p img {
	width:86.5%;
	height:auto;
	display:block;
	position:absolute;
	bottom:-115%;
}
#souvenir .right {
	width:44.8%;
	height:auto;
	float:right;
	display:block;
	border-radius:18px;
}
@media screen and (max-width:1135px) {
	#souvenir {
		padding:42px 42px 42px 0;
		margin:0 auto 73px auto;
	}
	#souvenir .left {
		padding: 0 8.2% 0 6.5%;
	}
}
@media screen and (max-width:980px) {
	#souvenir {
		padding:35px 35px 35px 0;
		margin:0 auto 63px auto;
	}
	#souvenir .left {
		padding: 0 6.7% 0 6.5%;
	}
	#souvenir .left h2 {
		margin-bottom:-55px;
		top:-60px;
	}
}
@media screen and (max-width:850px) {
	#souvenir .left p img {
		bottom: auto;
		top: 85%;
	}
}
@media screen and (max-width:768px) {
	#souvenir {
		padding:30px 30px 30px 0;
		margin:0 auto 53px auto;
	}
	#souvenir .left {
		padding: 0 5% 0 5%;
	}
}
@media screen and (max-width:640px) {
	#souvenir {
		padding: 6.5%;
		margin:0 auto 43px auto;
	}
	#souvenir .left {
		width: 100%;
		float: none;
		padding: 0;
		margin-bottom: 5px;
	}
	#souvenir .left h2 {
		margin-bottom:15px;
		top: 0;
		transform: translateY(-50%);
	}
	#souvenir .left p {
		margin-top: -15%;
	}
	#souvenir .left p img {
		width: 100%;
		max-width: 429px;
		margin: 0 auto;
		position: static;
	}
	#souvenir .right {
		width: 100%;
		float: none;
		border-radius: 12px;
	}
}


#pukupuku .waiting {
	margin-bottom: 30px;
}
#pukupuku .waiting img {
	margin: 0 auto
}
#pukupuku .waiting .pc {
	width: 72.2%;
	max-width: 776px;
}
#pukupuku .waiting .sp {
	display: none;
}
@media screen and (max-width:640px) {
	#pukupuku .waiting {
		margin-bottom: 57px;
	}
	#pukupuku .waiting .pc {
		display: none;
	}
	#pukupuku .waiting .sp {
		display: block;
	}
}


#pukupuku .map .sen {
	width: 24.6%;
	max-width: 264px;
	margin: 0 6% -0.5% auto;
	position: relative;
	z-index: 1;
}
#pukupuku .map .bg_blue {
	padding: 33px 20px 58px 20px;
	border-radius: 25px;
	background-color: #DAF0F9;
	position: relative;
}
#pukupuku .map h2 {
	width: 25.5%;
	max-width: 274px;
	position: absolute;
	top: 33px;
	left: -16px;
}
#pukupuku .map .map_img {
	width: 74.1%;
	max-width: 768px;
	margin-left: 17%;
}
#pukupuku .map .map_img .sp {
	display: none;
}
@media screen and (max-width:640px) {
	#pukupuku .map .sen {
		width: 57.7%;
		max-width: 231px;
		margin: 0 6% -1.2% auto;
	}
	#pukupuku .map .bg_blue {
		padding: 23.7% 7.5% 9.5% 7.5%;
	}
	#pukupuku .map h2 {
		width: 67.5%;
		top: 5.3%;
		left: -10px;
	}
	#pukupuku .map .map_img {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
	}
	#pukupuku .map .map_img .pc {
		display: none;
	}
	#pukupuku .map .map_img .sp {
		display: block;
	}
}


@media screen and (max-width:1440px) {
}

@media screen and (max-width:1280px) {
}

@media screen and (max-width:1135px) {
	
}

@media screen and (max-width:980px) {
	#pukupuku #passport {
		margin:0 auto 55px auto;
	}
	
	
}

@media screen and (max-width:768px) {
	#pukupuku #passport {
		margin:0 auto 50px auto;
	}

	
}

@media screen and (max-width:640px) {
	#pukupuku #passport {
		margin:0 auto 45px auto;
	}

	
}

@media screen and (max-width:480px) {
	#pukupuku #passport {
		margin:0 auto 40px auto;
	}
	#pukupuku #passport dt {
		width:100%;
		margin:0 auto 15px auto;
	}
	#pukupuku .time img {
		display: block;
		margin: auto;
	}

	#pukupuku .time img.t-1{padding-bottom: 20px;}

	#pukupuku .time img.t-2{display: none;}

	#pukupuku .pay-ul{display: block;}

	#pukupuku .pay-ul li{margin-bottom: 20px;}

	#pukupuku .pay-ul li:last-child{margin-bottom: 0;}

	#pukupuku .sp-none{display: none;}

	#pukupuku .pc-none{
		display: block;
		max-width: 261px;
	}

}

@media screen and (max-width:320px) {

}

@media screen and (min-width:769px) {
}
