@charset "utf-8";
/* CSS Document */

/*------------------------------------------------*/
/*ホテル京阪ユニバーサルタワーアクセスプラン*/
/*------------------------------------------------*/
/*ファーストビュー*/

#cover00{
	position: relative;
}
body.fixed-active #cover00{
	z-index: -1;
}
#cover00::before{
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-image: url("../images/usj/bg02.png");
	background-size: 100% auto;
	background-position: center top;
	background-repeat: no-repeat;
	position: absolute;
	top: 535px;
	z-index: 3;
}

.page-usj {}
.page-usj #page-header {
	background-color: #eefbff;
	position: relative;
	
}
.page-usj #page-header::before{
	content: '';
	display: block;
	width: 100%;
	height: 535px;
	background-image: url("../images/usj/bg01@2x.jpg");
	background-size: 100% auto;
	background-position: center top;
	background-repeat: no-repeat;
	position: absolute;
	z-index: 4;
}
.page-usj #page-header .page-header {
	background: none;
	border: none;
	position: relative;
	z-index: 4;
}
.page-usj #page-header .container {
	width: 77.0%; /*1140*/
	max-width: 1140px;
	margin-top: 135px;
	/*height: 650px;*/
	padding: 0;
}

.page-usj #page-header .container .pack{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 30px auto 40px;
}

.page-usj #price{
	width: 100%;
	min-height: 266px;
	/*height: 100%;*/
	position: absolute;
	z-index: 2;
}
.page-usj #price::before{
	content: '';
	display: block;
	width: 100%;
	height: 50%;
	background-color: #eefbff;
	position: absolute;
	top: 0;
}
.page-usj #price .container .inn{
	width: calc( 100% - 140px );
	margin: 0 auto 0;
	background-color: #f45a2a;
	padding: 0 40px 50px;
}
.page-usj #price .container .inn > dl{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 30px;
	color: #fff;
	font-weight: 700;
	position: relative;
	padding-top: 0;
}
.page-usj #price .container .inn > dl::before{
	content: '';
	display: block;
	width: 100%;
	height: 15px;
	background-color: #f7e921;
	position: absolute;
	bottom: 0;
}
.page-usj #price .container .inn > dl dt, .page-usj #price .container .inn > dl dd{
	position: relative;
}
.page-usj #price .container .inn > dl dt{
	height: 100%;
	line-height: 100%;
	font-size: 5.0rem;/*50*/
	letter-spacing: 0.05em;
}
.page-usj #price .container .inn > dl dd span:nth-of-type(1){
	font-size: 12.0rem;/*120*/
}
.page-usj #price .container .inn > dl dd span:nth-of-type(2){
	font-size: 5.5rem;/*55*/
}
.page-usj #price .container .inn .sub{
	margin: 30px auto 0;
	font-size: 2.6rem;
	font-weight: 700;
	color: #fff;
	text-align: center;
}
.page-usj #price .container .redtxt{
	margin: 20px auto 0;
	font-size: 2.0rem;
	font-weight: 700;
	color: #e81c24;
	text-align: center;
}

/*------------------------------------------------*/
/*カバー（装飾）*/
.page-usj #cover01{
	background: url("../images/usj/cover01.png") center top / 100% auto no-repeat;
	position: relative;
	min-height: 100vh;
	/*margin: 508px 0 0;*/
	margin: 0;
}

/*------------------------------------------------*/
/*セクション共通*/
.page-usj .main-title {
    border-top: none;
    font-size: 4rem;
    color: #0071B7;
    text-align: center;
    position: relative;
    padding: 0;
    margin-bottom: 46px;
}
.page-usj .main-title::after {
    content: "";
    width: 90px;
    height: 5px;
    position: absolute;
    left: 0;
    top: 0;
    bottom: -80px;
    right: 0;
    margin: auto;
    background-color: #F45A2A;
}
.page-usj h3.hd {
    font-size: 3rem;
    color: #000;
	font-weight: 700;
    text-align: center;
}
.page-usj #cover02 .main-title{
	color: #ec5a24;
}
.page-usj #cover02 .main-title::before{
	display: none;
}

/*背景：白*/
.page-usj section .container.type01 > .inn{
	background-color: rgba(255, 255, 255, 0.75);
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
}
.page-usj section .container.type01 .main-title::before{
	content: '';
	display: block;
	width: 209px;
	height: 153px;
	background: url("../images/usj/parts01.png") 0 0 / contain no-repeat;
	position: absolute;
	top: -70px;
	right: -85px;
}
.page-usj #cover02 section .container.type01 > .inn{
	background-color: rgba(255, 255, 255, 0.0);
}

/*背景：オレンジ*/
.page-usj section .container.type02{
	position: relative;
	padding: unset;
}
.page-usj section .container.type02::before{
	content: '';
	display: block;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	height: 100%;
	background-color: #fffbe1;
	position: absolute;
	top: 0;
	z-index: -1;
}

/*------------------------------------------------*/
/*セクション個別*/
.page-usj section#usj01{
	padding: 240px 0 0;
}

/*バスのりば・時刻表*/
.page-usj .container.platform > .inn {
	/*padding: 45px 60px 70px;*/
	padding: 275px 60px 70px;
}
.page-usj .container.platform h3.hd {
    margin-bottom: 45px;
}
.page-usj .container.platform .flex{
	margin: 0 auto 80px;
	display: flex;
	align-items: stretch;
	gap: 0 65px;
}
.page-usj .container.platform .flex .column{
	width: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.page-usj .container.platform .flex .column h4.hd{
	width: 100%;
	height: 90px;
	margin-bottom: 10px;
	background-color: #0054a0;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;		
	font-size: 2.6rem;
	color: #fff;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	line-height: 123%;
}
.page-usj .container.platform .flex .column > p{
	border: 3px solid #0054a0;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;		
	background-color: #fff;
	flex: 1;
}
.page-usj .container.platform .flex .column > p img{
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;		
	border: 10px solid #fff;
	box-sizing: border-box;
}

.page-usj .container.platform .timetable{
	display: flex;
	gap: 0 20px;
}
.page-usj .container.platform .timetable .box-schedule{
	width: 50%;
}
.page-usj .container.platform .timetable tr:first-child td:first-child {
	background-color: #fff;
}

.page-usj .container.platform .timetable tr:first-child td:not(:first-child), .page-usj .container.platform .timetable tr:first-child td:not(:first-child) a {
	color: #fff;
	line-height: 129%;
	font-weight: 700;
}
.page-usj .container.platform .timetable tr:first-child td.orange {
    background: #ec5a24;
}
.page-usj .container.platform .timetable tr:first-child td.blue {
    background: #0054a0;
}
.page-usj .container.platform .timetable tr td {
    font-size: 1.7rem;
    padding: 10px 15px;
}

/*便利Point1*/
.page-usj .container.flows .main-title::before{
	content: '';
	display: block;
	width: 209px;
	height: 153px;
	background: url("../images/usj/parts01.png") 0 0 / contain no-repeat;
	position: absolute;
	top: -115px;
	right: 0;
}
.page-usj .container.flows > .inn{
	padding: 80px 0 125px;
}
.page-usj .container.flows > .inn > p span {
    color: #f45a2a;
}

/*便利Point2*/
.page-usj .container.point02 > .inn{
	margin: 100px auto 115px;
	padding: 45px 0 70px;
}
.page-usj .container.point02 .main-title::before{
	content: '';
	width: 208px !important;
	height: 153px !important;
	background: url("../images/usj/parts02.png") 0 0 / contain no-repeat !important;
	left: -65px;
}
.page-usj .container.point02 > .inn > dl{
	width: calc( 100% - 100px );
	margin: 0 auto;
	background-color: #0071b7;
	display: flex;
	padding: 10px 0;
}
.page-usj .container.point02 > .inn > dl dt{
	width: 63%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 3.8rem;
	font-weight: 700;
	line-height: 129%;
	text-align: left;
}
.page-usj .container.point02 > .inn > dl dt > div:nth-of-type(1) span{
	font-size: 78.9%;
}
.page-usj .container.point02 > .inn > dl dt > div:nth-of-type(2){
	position: relative;
	padding-bottom: 20px;
}
.page-usj .container.point02 > .inn > dl dt > div:nth-of-type(2)::before{
	content: '';
	display: block;
	width: 100%;
	height: 11px;
	background-color: #f7e921;
	position: absolute;
	bottom: 0;
}
.page-usj .container.point02 > .inn > dl dd{
	width: 37%;
	display: flex;
	justify-content: center;
	align-items: center;
}

/*便利Point3*/
.page-usj .container.point03 .main-title::before{
	content: '';
	display: block;
	width: 209px;
	height: 153px;
	background: url("../images/usj/parts01.png") 0 0 / contain no-repeat;
	position: absolute;
	top: -135px;
	right: 0;
}
.page-usj .container.point03 > .inn{
	padding: 135px 0 160px;
}
.page-usj .container.point03 .flex{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 50px;
}
.page-usj .container.point03 .flex > div{
	width: 50%;
}
.page-usj .container.point03 .flex > div:nth-of-type(2) dl{
	text-align: left;
}
.page-usj .container.point03 .flex > div:nth-of-type(2) dl dt{
	font-size: 3.0rem;
	color: #f45a2a;
	font-weight: 700;
	line-height: 153%;
}
.page-usj .container.point03 .flex > div:nth-of-type(2) dl dd{
	margin-top: 30px;
	font-size: 2.0rem;
	color: #333;
	font-weight: 700;
}

/*便利Point4*/
.page-usj .container.point04 .main-title::before{
	content: '';
	display: block;
	width: 208px;
	height: 153px;
	background: url("../images/usj/parts02.png") 0 0 / contain no-repeat !important;
	position: absolute;
	top: -150px;
	right: auto;
	left: -55px;
}
.page-usj .container.point04 > .inn{
	margin: 60px auto 10px;
	padding: 50px 0 100px;
}
.page-usj .container.point04 > .inn > dl dt{
	font-size: 3.0rem;
	font-weight: 700;
	text-align: center;
}
.page-usj .container.point04 > .inn > dl dt span{
	color: #f45a2a;
}
.page-usj .container.point04 > .inn > dl dd{
	margin-top: 30px;
}

/*便利Point5*/
.page-usj .container.point05 .main-title::before{
	content: '';
	display: block;
	width: 209px;
	height: 153px;
	background: url("../images/usj/parts01.png") 0 0 / contain no-repeat;
	position: absolute;
	top: -95px;
	right: -95px;
}
.page-usj .container.point05 > .inn{
	padding: 70px 0 75px;
}
.page-usj .container.point05 dl dt{
	font-size: 3.0rem;
	font-weight: 700;
	text-align: center;
}
.page-usj .container.point05 dl dt span{
	color: #f45a2a;
}
.page-usj .container.point05 dl dd{
	margin-top: 35px;
}

/*便利Point5*/
.page-usj .container.linkbtn{
    position: relative;
	padding: 160px 0 215px;
}
.page-usj .container.linkbtn::before{
    content: '';
	display: block;
	width: 100vw;
	height: 140px;
	background-color: #e3f6ff;
	margin: 0 calc(50% - 50vw);
	position: absolute;
	bottom: 150px;
	left: 0;
	z-index: -1;
}
.page-usj .container.linkbtn > .inn{
	background: none !important;
}
.page-usj .container.linkbtn a{
	width: fit-content;
	height: fit-content;
	display: flex;
}
.page-usj .container.linkbtn a.btn-type-1 {
    padding: 0px 120px;
    min-height: 120px;
    border-radius: 60px;
    background-position: right 30px center;
	background-size: 50px;
	background-color: #f45a2a;
}
.page-usj .container.linkbtn a::before{
    content: '';
	display: block;
	background: url("../images/usj/parts04.png") 0 0 / contain no-repeat;
	width: 273px;
	height: 142px;
	position: absolute;
	top: -30px;
	left: 0;
	right: 0;
	margin: auto;
}

/*------------------------------------------------*/
/*船旅を楽しもう！*/

.page-usj .container.entrance{
	width: 100vw;
	max-width: 100vw;
	margin: 0 calc(50% - 50vw);	
	padding: 0;
}
.page-usj .container.entrance .catch{
	width: 100%;
	height: 230px;
	background-color: #f28e1e;
	display: flex;
	justify-content: center;
	align-items: center;
}
.page-usj .container.entrance .catch p{
	position: relative;
	text-align: center;
}
.page-usj .container.entrance .catch p::before{
	content: '';
	display: none;
	background: url("../images/usj/parts04.png") 0 0 / contain no-repeat;
	width: 273px;
	height: 142px;
	position: absolute;
	bottom: 80px;
	left: 0;
	right: 0;
	margin: auto;
}
.page-usj .container.entrance .catch p::after{
	content: '';
	display: block;
	width: 208px;
	height: 153px;
	background: url("../images/usj/parts02.png") 0 0 / contain no-repeat !important;
	position: absolute;
	top: -150px;
	left: -225px;
}
.page-usj .container.entrance .catch p span{
	color: #fff;
	font-size: 4.5rem;
	font-weight: 700;
	position: relative;
}
.page-usj .container.entrance .catch p span::before, .page-usj .container.entrance .catch p span::after{
	content: '';
	display: block;
	background: url("../images/usj/parts05.png") 0 0 / contain no-repeat;
	width: 52px;
	height: 52px;
	position: absolute;
	bottom: 0;
}
.page-usj .container.entrance .catch p span::before{
	content: '';
	left: -95px;
}
.page-usj .container.entrance .catch p span::after{
	content: '';
	transform: scale(-1, 1);
	right: -95px;
}
.page-usj .container.entrance > .inn{
	background: url("../images/usj/cover02.png") center top / 100% auto no-repeat;
	position: relative;
	padding: 70px 0 80px;
}
.page-usj .container.entrance > .inn .image{
	margin: 35px auto 0;
	display: flex;
	justify-content: center;
}
.page-usj .container.entrance > .inn .image > img{
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
}

/*完全個室*/
.page-usj .container.koshitsu{
	width: 100vw;
	max-width: 100vw;
	margin: 0 calc(50% - 50vw);
	min-height: 690px;
	padding: 0;
}
.page-usj .container.koshitsu::before {
    content: '';
    display: block;
    width: 100%;
    height: 75%;
	background-color: #fffbe1;
    position: absolute;
    bottom: 0;
}
.page-usj .container.koshitsu > .inn{
	padding: 0 0 60px;
}
.page-usj .container.koshitsu .lists{
	max-width: 1100px;
	margin: 35px auto 0;
	position: relative;
	z-index: 2;
}
.page-usj .container.koshitsu .lists ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}
.page-usj .container.koshitsu .lists ul li{
	width: calc( 25% - 9px );
}
.page-usj .container.koshitsu .lists ul li img{
	width: 100%;
	height: auto;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
}
.page-usj .container.koshitsu a.btn{
	width: 335px;
	height: 65px;
	margin: 75px auto 0;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
}

/*１日の疲れをゆったり癒せる*/
.page-usj .container.refresh > .inn{
	padding: 120px 0 0;
}
.page-usj .container.refresh .subtxt{
	font-size: 3.0rem;
	font-weight: 700;
	text-align: center;
}
.page-usj .container.refresh .lists{
	margin: 40px auto 0;
}
.page-usj .container.refresh .lists ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}
.page-usj .container.refresh .lists ul li{
	width: calc( 50% - 15px );
	display: flex;
	flex-direction: column;
	align-items: center;
}
.page-usj .container.refresh .lists ul li img{
	width: 100%;
	height: auto;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
}
.page-usj .container.refresh .lists ul li p{
	margin: 10px auto 0;
	font-size: 2.0rem;
	font-weight: 700;
	text-align: center;
}

/*船内で美味しい食事も*/
.page-usj .container.dish{
	width: 100vw;
	max-width: 100vw;
	margin: 0 calc(50% - 50vw);
	min-height: 530px;
	padding: 0;
}
.page-usj .container.dish::before {
    content: '';
    display: block;
    width: 100%;
    height: 60%;
	background-color: #fffbe1;
    position: absolute;
    bottom: 0;
}
.page-usj .container.dish > .inn{
	padding: 100px 0 70px;
}
.page-usj .container.dish .lists{
	margin: 0 auto 0;
	position: relative;
	z-index: 2;
}
.page-usj .container.dish .lists ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
	gap: 30px;
}
.page-usj .container.dish .lists ul li{
	/*width: 325px;*/
	width: fit-content;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.page-usj .container.dish .lists ul li img{
	width: 100%;
	height: auto;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
}
.page-usj .container.dish .lists ul li > p{
	margin-bottom: 5px;
}
.page-usj .container.dish a.btn{
	width: 335px;
	height: 65px;
	margin: 75px auto 0;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
	font-size: 2.0rem;
}

/*オレンジフェリーで！*/
.page-usj .container.infomation{
	width: 100vw;
	max-width: 100vw;
	margin: 0 calc(50% - 50vw);
	background: url("../images/usj/cover03.png") center top / 100% auto no-repeat;
	position: relative;
	padding: 105px 0 80px;	
}
.page-usj .container.infomation .image{
	display: flex;
	justify-content: center;
}
.page-usj .container.infomation .image img{
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
}
.page-usj .container.infomation .subtxt{
	margin: 45px auto 0;
	font-size: 3.0rem;
	font-weight: 700;
	text-align: center;
}




/*------------------------------------------------*/
/*------------------------------------------------*/
/*------------------------------------------------*/