@charset "utf-8";

/*　PC/SP　switch
-------------------------------*/
/* sp */
@media screen and (max-width: 767px) {
  .pc-on {
    display: none;
  }
  .tab-on {
    display: none;
  }
  .sp-on {
    display: block;
  }
  .text-left-sp {
    text-align: left;
  }
}

/*pc・tab*/
@media screen and (min-width: 768px) {
  .pc-on {
    display: block;
  }
  .tab-on {
    display: none;
  }
  .sp-on {
    display: none;
  }

  .text-center-pc {
    text-align: center;
  }
}

/* only tab */
@media screen and (min-width: 768px) and (max-width: 991px) {
  .tab-on {
    display: block;
  }
}


/*　common  (mobile first)
-------------------------------*/
article {
  font-family:"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  overflow: hidden;
}

article p{
	font-size: 14px;
}

img {
  max-width: 100%;
  height: auto;
}

article a{
	font-size: 14px;
}

article a:hover{
	text-decoration: none;
	opacity: 0.8;
}

#section-breadcrumb a{
	font-size: 12px;
}

.font-small{
	font-size: 12px;
}

.red-text{
	color: #D90000;
	font-weight: bold;
}


/*リストの「・」*/
.list-dot{
	position: relative;
	padding-left: 15px;
}
.list-dot:before{
	content: "・";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 10px;
	height: 10px;
}

/*ボタン*/
.link-btn {
    position: relative;
    z-index: 3;
    border-radius: 10px;
    text-align: center;
    font-weight: bold;
    font-size: 16px;
    color: #fff;
    background: #F7A414;
    width: 100%;
    padding: 15px 50px 15px 30px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.link-btn:hover{
	color: #fff;
}

.link-btn:before {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    right: 1em;
    font-weight: bold;
    z-index: 2;
    color: #fff;
    width: 20px;
    transform: scale(1);
}

.link-btn.green-btn{
	background: #fff;
	font-size: 12px;
    padding: 15px 16px 15px 11px;
	margin: 15px auto;
	flex-wrap: wrap;
	max-width: 95%;
	border: solid 3px #1F7F0C;
	color: #212529;
}
.link-btn.green-btn .btn-pricetext{
	padding-left: 3px;
	color: #D90000;
}
.link-btn.green-btn small{
	font-weight: bold;
	color: #D90000;
}
.link-btn.green-btn:before {
    right: 0;
	color: #1F7F0C;
}

/*料金*/
.min,
.max{
	font-weight: bold;
	color: #D90000;
    text-align: center;
	font-size: 18px;
}
.plan-price small{
	font-weight: bold;
	font-size: 80%;
	color: #D90000;
}

@media (min-width: 576px) and (max-width: 768px){
    .wrap-allsection .container {
        max-width: 100%;
    }
}

/*PC時*/
@media (min-width: 768px) {
    article p{
		font-size: 16px;
	}
	article a{
		font-size: 16px;
	}
	
	/*ボタン*/
	.link-btn {
		max-width: 474px;
	    padding: 28px 50px 28px 30px;
		font-size: 18px;
	}
	
	.link-btn.green-btn{
		font-size: 14px;
		padding: 15px 50px 15px 30px;
		max-width: 474px;
		margin: 30px auto;
	}
	.link-btn.green-btn .btn-pricetext{
		font-size: 18px;
		padding-left: 7px;
	}
	.link-btn.green-btn:before {
		right: 1em;
	}
	
/*	料金*/
	.min,
	.max{
		font-size: 24px;
	}
}

@media (min-width: 1200px) {
    .wrap-allsection .container {
        max-width: 980px;
    }
}



/*　section 
-------------------------------*/
section {
  padding: 50px 0 0;
  position: relative;
}

/*PC時*/
@media (min-width: 768px) {
  section {
    padding: 80px 0 0;
  }
}

/*見出し共通*/
.heading-img{
	margin-bottom: 20px;
}

/*　h2 
-------------------------------*/
.heading {
	text-align: center;
	margin: 0 auto ;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
}

.heading span {
	display: inline;/*横並び*/
}


/*PC時*/
@media (min-width: 768px) {
	.heading {
		margin: 0 auto;
		font-size: 22px;
	}
}

/*　h3
-------------------------------*/
.heading-h3 {
	text-align: center;
	margin: 0 auto 15px;
    position: relative;
    color: #1A2975;
    font-weight: bold;
	font-size: 16px;
}

.heading-h3 span {
	display: block;/*縦並び*/
}

/*PC時*/
@media (min-width: 768px) {
	.heading-h3 {
		margin: 0 auto;
		font-size: 18px;
	}
	.heading-h3 span {
		display: inline-block;/*横並び*/
	}
}

/*　h4
-------------------------------*/
.heading-h4 {
    text-align: center;
    font-weight: bold;
    font-size: 14px;
}


/*　section hero (MV)
-------------------------------*/
#hero{
	padding-top: 0;
}

/*mv img*/
h1.mv-area {
  width: 100%;
  text-align: center;
}

	
/*　section About-merit
-------------------------------*/
#About-merit{
	background: url(/static/img/tour/campaign/usj/feature/tokyo/bg-sp.jpg?20241124) center bottom /cover;
	padding: 60px 0 35px;
}

#About-merit .inner-wrap{
	background: rgba(255,255,255,0.9);
	border: solid 4px #1A2975;
	border-radius: 17px;
	padding: 0 0 40px;
}

#About-merit .heading{
	background: url(/static/img/tour/campaign/usj/feature/tokyo/title-3merit-bg-sp.svg) no-repeat center top/100%;
    width: fit-content;
    padding:5vw 9vw 12vw 21vw;
    max-width: 322px;
    padding: 5vw 5vw 12vw 21vw;
	margin: -7vw auto 0;
	font-size: 16px;
	text-align: left;
}

#About-merit .heading-h3 .heading-img{
	max-width: 144px;
    margin: 0 auto 20px;
}

#About-merit .heading-h4 {
    color: #fff;
    background: #1A2975;
    border-radius: 50px;
    width: fit-content;
	min-width: 154px;
    padding: 10px 30px;
    margin: 0 auto 30px;
}


/*メリット1*/
.merit01{
	margin-top: 15px;
	text-align: center;
}
.img-merit01{
	max-width: 90%;
	margin-top: 18px;
}

/*メリット2*/
.merit02{
	margin-top: 50px;
}

.example-item-wrap{
    position: relative;
    left: -14px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: column;
}
.example-item-wrap img{
	margin: 10px 0;
}

/*メリット3*/
.merit03{
	margin-top: 50px;
	text-align: center;
}

.wrap-price-example{
	padding: 0 10px;
}

.wrap-price-example .attention-text{
/*	font-weight: bold;*/
	text-align: right;
    margin: auto;
    max-width: 660px;
	font-size: 10px;
}

/*sp調整*/
@media screen and (max-width: 320px) {
	.example-item-wrap{
		left: 0;
	}
}
@media screen and (max-width: 400px) {
	#About-merit .heading{
		padding: 5vw 5vw 12vw 21vw;
		font-size: 4vw;
	}
}
@media screen and (min-width: 431px) and (max-width: 767px){
	#About-merit .heading{
		padding: 4vw 4vw 12vw 20vw;
		max-width: 400px;
	}
}
	
/*pc*/
@media screen and (min-width: 768px) {
	#About-merit{
		background: url(/static/img/tour/campaign/usj/feature/tokyo/bg-pc.jpg) center top /cover;
		padding: 95px 0 85px;
	}
	
	#About-merit .container{
		max-width: 994px;
	}
	
	#About-merit .inner-wrap{
		padding: 0 0 70px;
	}
	
	#About-merit .heading{
		background: url(/static/img/tour/campaign/usj/feature/tokyo/title-3merit-bg.svg) no-repeat center top;
		padding: 28px 70px 60px 160px;
		margin: -50px auto 0;
		font-size: 22px;
		max-width: 604px;
	}

	#About-merit .heading-h3 {
		width: 530px;
/*		text-align: left;*/
	}

	/*メリット1*/
	.merit01{
		margin-top: 30px;
	}
	.merit01 .img-merit01{
		max-width: 100%;
	}
	
	/*組み合わせ例*/
	.wrap-example{
		text-align: center;
	}
	.example-item-wrap{
		left: 0;
		position: inherit;
		flex-flow: unset;
	}
	.example-item-wrap img{
		    margin: 10px 15px;
	}
	.wrap-price-example .attention-text{
		font-size: 14px;
	}
}


/*　section Seat
-------------------------------*/
#Seat{
	padding: 0 0 15px;
}

/*見出し*/
#Seat .heading{
	background: #1A2975;
    padding: 20px 0;
    margin-bottom: 60px;
	position: relative;
	line-height: 1.5;
}

/*吹き出し*/
#Seat .heading:after {
    border: solid transparent;
    content: '';
    height: 100%;
    width: 100%;
    pointer-events: none;
    position: absolute;
    left: 0;
	bottom: -70px;
    z-index: -1;
	background: url(/static/img/tour/campaign/usj/feature/tokyo/heading-triangle.svg) no-repeat center top;
/*
	height: 0;
    width: 0;
    bottom: -69px;
    left: calc(50% - 60px);
    border-top-width: 35px;
    border-bottom-width: 35px;
    border-left-width: 60px;
    border-right-width: 60px;
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #1A2975;
*/
}

/*波線*/
.namiline{
	position: relative;
}
.namiline:after{
    content: "";
    position: absolute;
    bottom: -8px;
    left: 0;
	background: url(/static/img/tour/campaign/usj/feature/tokyo/nami-line.svg) no-repeat center top / 100%;
	width: 6em;
	height: 8px;
}


#Seat .container{
	padding-right: 0;
	max-width: 1160px;/*カードの大きさ調整*/
}

/*カード全体*/
#Seat .wrap-contents{
	display: flex;
	flex-wrap: nowrap;
	overflow-x: scroll;
    padding: 0 0 20px;
}

/*各カード*/
.wrap-seat-item{
	padding: 0 10px 0 0;
}
.seat-item{
	display: block;
	border: solid 1px #D0D0D0;
	border-radius: 20px;
	padding: 12px;
	text-align: center;
/*	margin-right: 10px;*/
	cursor: pointer;
}

/*カード内*/
#Seat .wrap-contents img{
    border-radius: 17px;
}
#Seat .wrap-contents .heading-h4{
    margin: 17px 0 10px;
}
#Seat .wrap-contents p.seat-info-text{
    text-align: center;
	font-size: 12px;
}
#Seat .wrap-contents .seat-link-text{
	display: flex;
    align-items: center;
    justify-content: center;
	margin-top: 10px;
	color: #1689E2;
}
#Seat .wrap-contents .seat-link-text span{
	text-decoration: underline;
	margin-right: 5px;
	font-size: 12px;
}
#Seat .wrap-contents .seat-link-text i{
	font-size: 12px;
}

/*モーダル内-------------------*/
/*スライダー*/
.slick-slider { 
	margin: 10px 0 20px; 
} 
.slider-item{
	padding: 0 10px;
}
.slider-item img { 
	max-width: 250px; 
	height: auto; 
} 
.slider-item figure { 
	margin: 0 0 10px;
} 
.slider-item figcaption { 
	text-align: center;
} 



/*お客様の声*/
.modal-header{
	background: #1A2975;
}
#seat-mordal01 .modal-header .close,
#seat-mordal02 .modal-header .close{
	color: #fff;
	opacity: 1;
}
.modal-heading{
	font-size: 18px;
	color: #fff;
}
.row-fukidashi {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.col-fukidashi-face{
  order: 1;
  width: 100%;
  max-width: 70px;
  text-align: center;
}

.col-fukidashi{
  width: 80%;
  order: 2;
  padding: 0 10px;
  position: relative;
}

.col-fukidashi p{
  font-size: 14px;
  margin:0;
}

/*料金*/
.popular-price .min{
	margin-left: 10px;
}
  


/*pc*/
@media screen and (min-width: 768px) {
	#Seat{
		padding-bottom: 60px;
	}
	
	#Seat .heading{
		background: url(/static/img/tour/campaign/usj/feature/tokyo/bg-city.svg) no-repeat center top 10px #1A2975;
		padding: 38px 0 48px;
		margin-bottom: 62px;
		line-height: 1.5;
	}
	
	/*吹き出し*/
	#Seat .heading:after{
		bottom: -130px;
	}
	
	#Seat .container{
		padding-right: 15px;
	}
	#Seat .wrap-contents{
		display: flex;
/*		justify-content: center;*/
		flex-wrap: wrap;
		overflow-x: inherit;
		max-width: 980px;/*カードの大きさ調整*/
        margin: auto;
	}
	.wrap-seat-item{
		padding: 0 7px 20px;
	}
	.seat-item{
		padding: 20px;
		margin: 0;
	}
	#Seat .wrap-contents p.seat-info-text{
		font-size: 16px;
	}
	#Seat .wrap-contents .seat-link-text{
		justify-content: flex-end;
		margin-top: 40px;
	}
	#Seat .wrap-contents .seat-link-text span{
		margin-right: 10px;
		font-size: 14px;
	}
	
/*	モーダル内*/
	.modal-heading{
		font-size: 20px;
	}
	.col-fukidashi p{
		font-size:16px;
	}
	.col-fukidashi-face{
		max-width: 85px;
	}   
}


/*　section Plan
-------------------------------*/
#Plan{
	padding: 0 0 50px;
}

/*見出し*/
#Plan .heading{
	background: #1A2975;
    padding: 20px 0;
    margin-bottom: 60px;
	position: relative;
	line-height: 1.5;
}
#Plan .heading-h4{
	font-size: 16px;
	width: fit-content;
	border-bottom: solid 5px #F1DC21;
	margin: 10px auto 0;
	padding: 0 20px 5px;
}

/*枠内*/
#Plan .wrap-contents{
	border: solid 3px #1A2975;
	border-radius: 20px;
	padding: 20px 20px 30px;
}

#Plan .heading-h3{
	margin-top: -40px;
}

.aboutplan-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
    max-width: 650px;
    width: 100%;
	margin: 0 auto 30px;
}
.aboutplan-list dt{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 15px 0;
}
.aboutplan-list dt span{
	color: #fff;
	background: #1A2975;
	padding: 5px 0;
	border-radius: 50px;
	height: 35px;
	min-width: 152px;
	font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.aboutplan-list dd{
	width: 100%;
	text-align: left;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
	font-size: 14px;
}
.aboutplan-list dd p{
	font-size: 14px;
	width: 100%;
}

.popular-price{
	text-align: center;
    margin: 0 0 30px;
}

/*sp調整*/
@media screen and (max-width: 374px) {
	#Plan .heading-h4{
		padding: 0 5px 5px;
	}
}
/*pc*/
@media screen and (min-width: 768px) {
	#Plan{
		padding: 0 0 35px;
	}
	
	#Plan .heading{
		padding: 27px 0;
		margin-bottom: 80px;
		line-height: 1.5;
	}
	
	#Plan .wrap-contents{
		padding: 20px;
	}
	
	#Plan .heading-h4{
		font-size: 18px;
		margin: 0px auto 15px;
	}
	
	.aboutplan-list{
		margin: 0 auto 13px;
	}
	
	.aboutplan-list dt{
		width: 152px;
		margin: 10px 15px 10px 0;
	}
	.aboutplan-list dt span{
		font-size: 16px;
	}
	
	.aboutplan-list dd{
		width: calc(100% - 167px);
		margin: 15px 0;
	}
}


/*　section Hotelset
-------------------------------*/
#Hotelset{
	padding: 0 0 50px;
}

/*見出し*/
#Hotelset .heading{
	background: #1A2975;
    padding: 20px 0;
    margin-bottom: 30px;
	position: relative;
	line-height: 1.5;
}

#Hotelset .heading-h3 {
	display: flex;
    align-items: center;
	justify-content: center;
	font-size: 15px;
	text-align: left;
	margin-bottom: 20px;
	line-height: 1.6;
}

#Hotelset .heading-h3 .heading-img{
	width: 14%;
	margin: 0 1em 0 0;
}

/*01*/
#Hotelset .section-inner01{
	text-align: center;
	margin-bottom: 70px;
}

/*02*/
#Hotelset .section-inner02{
	text-align: center;
}

/*タブのナビ*/
.nav-tabs.nav-area{
	width: 100%;
	max-width: 768px;
    margin: 0 auto 20px;
	border: none;
	padding: 0 15px;
}
.nav-area .nav-link{
  border: none;
}
.nav-area > li{
	display: flex;
	flex: 1;/*幅　均等割り当て*/
	width: 100%;
    max-width: 376px;
    margin-right: 15px;
}
.nav-area > li:last-of-type{
    margin-right: 0;
}

/*選択外のタブ*/
.nav-area > li a.nav-link{
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	color: #1A2975;
    background: #fff;
	width: 100%;
    border-radius: 10px;
	border: solid 3px #1A2975;
	font-size: 15px;
	padding: 17px 0;
}

/*ホバー時*/
.nav-area > li a.nav-link:hover{
    background: #fff;
	border: solid 3px #1A2975;
	color: #1A2975;
	opacity: 1;
}

/*アクティブのナビ*/
.nav-area > li a.nav-link.active{
	background: #1A2975;
	border: solid 3px #1A2975;
	color: #fff;
}

/*各エリアの情報*/
.area-info{
	padding: 15px;
}

/*観光スポット*/
.wrap-area-spot{
	background: #EDF3F7;
	max-width: 996px;
	width: 100%;
	margin: 30px auto;
	padding: 34px 10px 15px;
}
.wrap-area-spot h4{
	font-size: 16px;
	margin-bottom: 25px;
}
.area-spot{
	display: flex;
	justify-content: center;
    flex-wrap: wrap;
	max-width: 490px;
	margin: auto;
}
.spot-item{
	width: calc(50% - 5px);
	margin-bottom: 23px;
}
.spot-item:nth-of-type(odd){
	margin-right: 10px;
}

.spot-item img{
	border-radius: 10px;
	margin-bottom: 10px
}
.spot-item p{
	font-size: 12px;
}

/*共通　カード全体*/
#Hotelset .wide-container {
	max-width: 1200px;
	padding-right: 0;
}
.wrap-hotelcard {
	padding: 20px 0;
}

/*スクロール*/
.wrap-hotelcard {
    display: flex;
	overflow-x: scroll;
	padding: 35px 0 20px;
}

/*各カード*/
.hotel-item{
	border: solid 1px #D0D0D0;
	border-radius: 20px;
	padding: 12px;
	text-align: center;
}

/*カード内*/
.hotel-item img{
    border-radius: 17px;
}
.hotel-item .heading-h4{
    margin: 17px 0 10px;
	text-align: center;
	font-size: 14px;
	min-height: 34px;
}
.hotel-item .hotel-access-text,
.hotel-item .hotel-price-info{
    text-align: center;
	font-size: 12px;
}

.hotel-item .hotel-price-info{
    text-align: center;
	font-size: 12px;
}

/*official以外のホテル*/
.section-inner02 .hotel-item .hotel-price-info{
	margin-top: 10px;
}

.hotel-item .link-btn{
	margin-top: 10px;
	padding: 18px 40px 18px 18px;
}


/*sp調整*/
@media screen and (max-width: 375px) {
	#Hotelset .heading {
		font-size: 4.8vw;
	}
	#Hotelset .heading-h3 {
		font-size: 4vw;
	}
}
@media screen and (max-width: 767px) {
	.wrap-hotel-item{
		padding-left: 0;
	}
}

/*pc*/
@media screen and (min-width: 768px) {
	#Hotelset{
		padding: 0 0 80px;
	}
	
	#Hotelset .heading{
		padding: 27px 0;
		margin-bottom: 55px;
		line-height: 1.5;
	}
	#Hotelset .heading-h3 {
		font-size: 18px;
		margin-bottom: 50px;
	}
	#Hotelset .heading-h3 .heading-img{
		width: fit-content;
	}
	
	/*タブのナビ*/
	.nav-tabs.nav-area{
		padding: 0;
		margin-bottom: 45px;
	}
	/*選択外のタブ*/
	.nav-area > li a.nav-link{
		font-size: 18px;
		width: 100%;
		padding: 23px 0;
	}
	
	/*観光スポット*/
	.wrap-area-spot{
		border-radius: 27px;
		max-width: 996px;
		width: 100%;
		padding: 48px 48px 35px;
		margin-bottom: 50px;
	}
	.wrap-area-spot h4{
		font-size: 18px;
		margin-bottom: 38px;
	}
	.area-spot{
		flex-wrap: nowrap;
		max-width: 100%;
	}
	.spot-item{
		max-width: 212px;
		width: 100%;
		margin: 0 15px 0 0;
		font-size: 13px;
	}
	.spot-item p{
		font-size: 13px;
	}
	.spot-item:nth-of-type(odd){
		margin: 0 15px 0 0;
	}
	.spot-item:last-of-type{
		margin: 0;
	}
	
	/*地図共通*/
	/*
		.img-map{
			max-width: 57%;
		}
	*/
	
	/*3個の時、中央揃え。４個以上の時はコメント化する*/
	/*#reco-area01 .wrap-hotelcard{
		justify-content: center;
	}*/

	
	/*共通　ホテルカード全体------------------*/
	.wrap-hotelcard {
/*		justify-content: center;*/
		flex-wrap: wrap;
		overflow-x: inherit;
	}
	#Hotelset .wide-container{
/*		padding: 0 15px;*/
		padding: 0;
	}

	/*各カード*/
	.wrap-hotel-item{
		padding: 0 7px;/*カード間の余白調整*/
	}
	.hotel-item{
		padding: 11px;
		margin: 0 0 15px;/*カード間の余白調整*/
	}
	
/*
	.hotel-item img{
		max-width: 259px;
		max-height: 172px;
		object-fit: cover;
		object-fit: none;
	}
*/

	.hotel-item .heading-h4{
		font-size: 16px;
		text-align: left;
		min-height: 38px;
	}
	.hotel-item .hotel-access-text,
	.hotel-item .hotel-price-info{
		font-size: 14px;
		text-align: left;
	}
	
	.hotel-item .hotel-price{
		text-align: right;
		font-size: 24px;
	}
	.hotel-item .hotel-price small{
		font-size: 84%;
	}
	.hotel-item .link-btn{
		padding: 18px 40px 18px 18px;
	}
}

/*pc/tab*/
@media screen and (min-width: 768px) and (max-width: 1010px) {
	.wrap-area-spot{
		border-radius: 0;
	}
	.hotel-item .hotel-price small{
		font-size: 73%;
	}
}


/*　fixed btn
-------------------------------*/
.fixedBtn {
	opacity: 0;
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 5;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	margin: 0 auto;
/*	background: rgba(26,41,177,0.3);*/
	background: url(/static/img/tour/campaign/usj/feature/tokyo/fixedbtn-bg.svg) center /cover;
	pointer-events: none;
	padding: 15px 12px;
}

.fixedBtn.is_visible{
  opacity: 1;
  pointer-events: all;
}
/*クリック後も透過させない*/
.fixedBtn.is_visible .link-btn:hover{
	opacity: 1;
}

.fixedBtn .container{
	padding: 0;
}


/*ボタンデザイン*/
.fixedBtn .link-btn {
	font-weight: bold;
	font-size: 16px;
	background: #F1DC21;
	color: #1A2975;
	margin: 0 auto;
	padding: 15px 50px 15px 100px;
	max-width: 350px;
}

/*矢印*/
.fixedBtn .link-btn:before {
	color: #1A2975;
	font-size: 20px;
}

/*人気アイコン*/
.fixedBtn .link-btn:after {
	content: "";
	display: block;
	position: absolute;
    top: -35px;
    left: -15px;
	width: 86px;
	height: 82px;
	background: url(/static/img/tour/campaign/usj/feature/tokyo/icon-toge-popular.svg) center /cover;
	z-index: 4;
	pointer-events: all;
}

/*王冠アイコン*/
.fixedBtn .link-btn-text{
	position: relative;
	font-size: 16px;
}
.fixedBtn .link-btn-text:before {
	content: "";
	display: block;
	position: absolute;
	top: -4px;
	left: -36px;
	width: 30px;
	height: 21px;
	background: url(/static/img/tour/campaign/usj/feature/tokyo/icon-crown.svg) center /cover;
}

/*pc*/
@media screen and (min-width: 768px) {
	.fixedBtn{
		display: none;
	}
}



#hero-undercta{
	padding: 40px 0 0;
	background: #71bbe6;
}
#hero-undercta .link-btn{
    font-weight: bold;
    font-size: 16px;
    background: #F1DC21;
    color: #1A2975;
    margin: 0 auto;
    padding: 15px 50px 15px 100px;
    max-width: 350px;
}
#hero-undercta .link-btn:before {
	color: #1A2975;
	font-size: 20px;
}
#hero-undercta .link-btn:after {
	content: "";
	display: block;
	position: absolute;
    top: -35px;
    left: -15px;
	width: 86px;
	height: 82px;
	background: url(/static/img/tour/campaign/usj/feature/tokyo/icon-toge-popular.svg) center /cover;
	z-index: 4;
	pointer-events: all;
}
#hero-undercta .link-btn-text{
	position: relative;
	font-size: 16px;
}
#hero-undercta .link-btn-text:before {
	content: "";
	display: block;
	position: absolute;
	top: -4px;
	left: -36px;
	width: 30px;
	height: 21px;
	background: url(/static/img/tour/campaign/usj/feature/tokyo/icon-crown.svg) center /cover;
}
@media screen and (min-width: 768px) {
	#hero-undercta .link-btn{
	    font-weight: bold;
	    font-size: 16px;
	    background: #F1DC21;
	    color: #1A2975;
	    margin: 0 auto;
	    padding: 35px 50px 35px 100px;
	    max-width: 500px;
	}
	#hero-undercta .link-btn-text{
		font-size: 20px;
	}
}


/*20241219　MV下にボタン追加*/
#hero-undercta{
	padding: 0;
}

/*全体見出し*/
.wrap-underlink-title{
	font-weight: bold;
	padding: 10px;
	margin: 0 auto 15px;
	background: #1A2975;
	color: #fff;
}
.wrap-underlink-title .main-title{
	font-size: 18px;
}
.wrap-underlink-title .sub-title{
	font-size: 14px;
}

/*ボタン全体*/
.wrap-underlink-btn{
	display: flex;
    justify-content: center;
    align-items: center;
}

/*各ボタン共通*/
.wrap-underlink-btn .underlink-btn{
	position: relative;
	display: block;
    overflow: hidden;
    color: #212529;
    background: #fdfdf7;
	max-width: 220px;
	width: 100%;
	padding: 10px 10px 10px;
    border: solid 2px #1A2975;
    border-radius: 10px;
}
.wrap-underlink-btn .underlink-btn01{
	margin-right: 3%;
}

/*キャッチコピー*/
.underlink-btn-catchcopy{
	text-align: center;
	font-weight: bold;
	line-height: 1.4;
/*	margin-bottom: 5px;*/
}

/*画像*/
.wrap-underlink-btn img{
	border-radius: 5px;
	margin-bottom: 5px;
}

/*画像下　見出し*/
.wrap-underlink-btn .tour-plan-ttl{
	font-size: 12px;
	min-height: 36px;
}

/*料金全体*/
.wrap-underlink-btn .plan-price{
    text-align: right;
}

/*おひとり様*/
.wrap-underlink-btn .plan-price .person {
    color: #212529;
}

/*下部ボタン*/
.wrap-underlink-btn .more-btn{
    background: #F1DC21;
    color: #1A2975;
    font-weight: bold;
    padding: 5px 25px 5px 5px;
    border-radius: 5px;
	position: relative;
}
.wrap-underlink-btn .more-btn p{
	font-size: 14px;
	line-height: 1.4;
}

/*矢印*/
.wrap-underlink-btn .more-btn:before {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
	background: #1A2975;
    color: #fff;
	font-weight: bold;
    transform: rotate(90deg);
    position: absolute;
    top: calc(50% - 10px);
    right: 6px;
    font-size: 14px;
    width: 18px;
    height: 18px;
	animation: down 1.5s infinite ease;
    -webkit-animation: down 1.5s infinite ease;
}

/*動き*/
@keyframes down {
  0% {
    transform: rotate(90deg) translateX(0);
  }
  20% {
    transform: rotate(90deg) translateX(3px);
  }
  40% {
    transform: rotate(90deg) translateX(0);
  }
}

@-webkit-keyframes down {
  0% {
    transform: rotate(90deg) translateX(0);
  }
  20% {
    transform: rotate(90deg) translateX(3px);
  }
  40% {
    transform: rotate(90deg) translateX(0);
  }
}


/*下向き矢印*/
/*
.wrap-underlink-btn .underlink-btn:before {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    z-index: 2;
    position: absolute;
    bottom: 6px;
    left: calc(50% - 10px);
    font-weight: bold;
    font-size: 14px;
    color: #fff;
    width: 20px;
    height: 20px;
    transform: rotate(90deg);
    display: flex;
    justify-content: center;
    align-items: center;
    background: #1A2975;
    border-radius: 50%;
	animation: down 1.5s infinite ease;
    -webkit-animation: down 1.5s infinite ease;
}
*/


/*SP調整*/
/*
@media screen and (max-width: 374px) {
	.wrap-underlink-btn .tour-plan-ttl{
		min-height: 62px;
	}
}
*/

/*SP調整*/
@media screen and (max-width: 767px) {
	#hero-undercta > .container{
		padding: 0;
	}
	.wrap-underlink-btn {
		padding: 0 15px;
	}
}

/*PC*/
@media screen and (min-width: 768px) {
	#hero-undercta{
		padding: 40px 0 0;
	}
	
	/*全体見出し*/
	.wrap-underlink-title{
		max-width: 600px;
		margin: 0 auto -39px;
		position: relative;
		z-index: 2;
	}
	.wrap-underlink-title .main-title{
		font-size: 22px;
	}
	.wrap-underlink-title .sub-title{
		font-size: 16px;
	}
	
	/*ボタン全体　背景*/
	.wrap-underlink-btn{
		background: rgba(255, 255, 255, 0.5); 
		padding: 57px 25px 20px; 
		border-radius: 15px; 
/*		border: solid 3px #f1dc21; */
		max-width: 800px; 
		margin: auto;
	}
	
	/*各ボタン*/
	.wrap-underlink-btn .underlink-btn01{
		margin-right: 20px;
	}
	.wrap-underlink-btn .more-btn p{
		font-size: 16px;
	}
	.wrap-underlink-btn .more-btn:before {
		right: 10px;
	}
	
	/*下向き矢印*/
/*
	.wrap-underlink-btn .underlink-btn:before{
		width: 22px;
		height: 22px;
		left: calc(50% - 11px);
		font-size: 16px;
	}
*/
}

