﻿@charset "utf-8";

.firstSkymark {
	height: 45px;
	padding: 6px 20px;
	background-color: #efefef;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
  }
.firstSkymark a {
	height: 80%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
  }
.firstSkymark a img {
	width: 100%;
	max-width: 100%;
  }

.pageIndex{ margin: 0; }
#contents{ padding: 45px 0 0; }

#container main.kansai a{ text-decoration: none; }
#container main.kansai a:hover{ opacity: .7; -webkit-opacity: 0.7; }
#container main.kansai section{ position: relative; }

#container main.kansai body.no_scroll{ overflow: hidden; }
#container{ overflow: hidden; width: 100%; margin-top: 0; font-family: "Noto Sans JP", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; color: #000000; }
#container main.kansai .content_wrap{ width: 80%; max-width: 1100px; margin: 0 auto; }

#container main.kansai .kansai-sp{ display: none; }

#container main.kansai .en-ttl{ position: absolute; width: 100vw; font-size: 238px; color: #F2F2F2; font-family: "Poppins", sans-serif; font-weight: 600; font-style: normal; text-align: center; opacity: .8; white-space: nowrap; }

#container main.kansai .main-ttl{ position: relative; z-index: 1;  font-size: min(40px,2.5vw); font-weight: 600; line-height: 170%; }
#container main.kansai .main-ttl .flag{ display: block; width: min(8vw,118px); height: auto; }

/* 100 - 900 */
#container main.kansai .poppins{ font-family: "Poppins", sans-serif; font-weight: 600; font-style: normal; }
#container main.kansai .noto-sans-jp{ font-family: "Noto Sans JP", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }

#container main.kansai .btn-reservation{ text-align: center; }
#container main.kansai .btn-reservation a{ display: block; width: 420px; margin: 0 auto; padding: 16px 0; border-radius: 10px; color: #0C2C7E; background: #E5AD30; text-align: center; font-weight: 600; font-size: 20px; }

#container main.kansai .btn{ text-align: center; }
#container main.kansai .btn a{ position: relative; display: flex; align-items: center; justify-content: center; width: min(90%,420px); height: 80px; padding: 0 30px; color: #fff; background: #da3500; border-radius: 20px; filter: drop-shadow( 0 10px 0 rgba(174, 43, 1, 1)); }
#container main.kansai .btn a div{ display: flex; align-items: center; margin-left: -30px; }
#container main.kansai .btn a div span{ display: inline-block; width: 100%; text-align: center; font-size: clamp(15px,1.8vw,20px); }
#container main.kansai .btn a div small{ font-size: clamp(12px,1.3vw,17px); }
#container main.kansai .btn a div img{ margin-right: 20px; }
#container main.kansai .btn a .icn_blank{ position: absolute; right: 30px; }

#container main.kansai .btn-b a{ background: #011C6F; filter: drop-shadow( 0 10px 0 rgba(0, 13, 52, 1)); }
#container main.kansai .btn-g a{ background: #32A300; filter: drop-shadow( 0 10px 0 rgba(35, 114, 0, 1)); }


/* ------------------------------------------------------------ fv */
#container main.kansai #fv{ }
#container main.kansai #fv h1{ position: absolute; top: 50%; left: 50%; translate: -50% -50%; width: min(27%, 520px); }
#container main.kansai #fv h1 img{ width: 100%; height: auto; }

#container main.kansai #fv .kv{ width: 100%; height: auto; }


/* ------------------------------------------------------------ spot */
#container main.kansai #spot{ padding: 120px 0; background: #F8FBFF; }

#container main.kansai .spot_box{ position: relative; overflow: hidden; width: 80%; margin: 0 auto; padding: 70px 80px 110px; background: #001871; border-radius: 40px; } 
#container main.kansai .spot_box .en-ttl{ top: -150px; left: 50%; translate: -50% 0; margin: 0; color: #011566; }
#container main.kansai .spot_box .main-ttl{margin: 0 0 60px; color: #fff; }

#container main.kansai .mordal-list{ display: flex; justify-content: space-between; align-items: flex-start; }
#container main.kansai .mordal-list li{ width: calc(100% / 4 - 2%); }
#container main.kansai .mordal-list li figure img{ width: 100%; height: auto; }
#container main.kansai .mordal-list li .text{ display: flex; align-items: center; justify-content: space-between; padding: 10px 15px; background: #fff; font-size: clamp(18px,2vw,24px); font-weight: 600; }
#container main.kansai .mordal-list li .text small{ margin-left: 10px; font-size: clamp(10px,1vw,14px); font-family: "Poppins", sans-serif; font-weight: 400; font-style: normal; }

#container main.kansai .mordal-list li .cross{ position: relative; display: block; width: min(10%,17px); height: 17px; }
#container main.kansai .mordal-list li .cross:before,
#container main.kansai .mordal-list li .cross:after{ position: absolute; content: ""; top: 50%; width: 100%; height: 3px; background: #000; }
#container main.kansai .mordal-list li .cross:before{ }
#container main.kansai .mordal-list li .cross:after{ transform: rotate(90deg); }


#container main.kansai .overlay{ display: none; z-index: 10; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #001871; z-index: 100000;}
#container main.kansai .modal-window{ display: none; z-index: 20; position: fixed; top: 50%; left: 50%; translate: -50% -50%; width: 60%; min-width: 800px; height: 87%; z-index: 1000000;}
#container main.kansai .modal_inner{ overflow-y: scroll; height: 100%; position: relative; padding: 60px 5%; background: #fff; border-radius: 40px; }

#container main.kansai .scroll-hint{ position: absolute; right: -5%; top: 5%; font-size: 20px; font-family: "Poppins", sans-serif; font-weight: 400; font-style: normal; color: #fff; writing-mode: vertical-rl; letter-spacing: 0.1em; }
#container main.kansai .scroll-hint span{ width: 1px; height: 60px; display: inline-block; margin: 11px 0 0; background: #fff; }

#container main.kansai .modal-window .name{ z-index: 30; padding: 0 0 20px; position: absolute; top: 5%; left: -20px; width: max(20%, 330px); }
#container main.kansai .modal-window .name:before{ position: absolute; bottom: 0; left: 0; content: ""; width: 20px; height: 20px; clip-path: polygon(0 0, 100% 0, 100% 100%); background: #A08500; }
#container main.kansai .modal-window .name p{ position: relative; clip-path: polygon(100% 0, 90% 53%, 100% 100%, 0% 100%, 0 52%, 0% 0%); padding: 15px 10px 18px; text-align: center; background: #FED400; font-size: 50px; line-height: 1; font-weight: 600; }
#container main.kansai .modal-window .name p small{ padding-left: 15px; vertical-align: middle; font-size: 20px; font-family: "Poppins", sans-serif; font-weight: 400; font-style: normal; }

#container main.kansai .button-close{ position: fixed; right: 5%; appearance: none; -webkit-appearance: none; background: none; float: right; margin: 0; padding: 0; border: none; }

#container main.kansai .spot-ttl{ display: flex; align-items: center; gap: 20px; margin: 0 0 40px; }
#container main.kansai .spot-ttl h3{ white-space: nowrap; font-size: 36px; font-weight: 600; }
#container main.kansai .spot-ttl hr{ height: 1px; flex-grow: 1; width: 100%; background: #000; border: none; }

#container main.kansai .spot-list{ display: flex; align-items: flex-start; justify-content: space-between; }
#container main.kansai .spot-list li{ width: calc(100% / 2 - 2%); }
#container main.kansai .spot-list li figure{ width: 100%; }
#container main.kansai .spot-list li figure img{ width: 100%; height: auto; }
#container main.kansai .spot-list li .text{ padding: 20px 0 0; }
#container main.kansai .spot-list li .text h4{ padding: 0 0 10px; font-size: 21px; font-weight: 600; }
#container main.kansai .spot-list li .text p{ line-height: 200%; }

#container main.kansai .sightseeing{ clear: both; padding: 100px 0 60px; }



/* ------------------------------------------------------------ transit */
#container main.kansai #transit{ padding: 120px 0 230px; background: url(/ja/campaign/kansai/images/bg_cross.png) center/200px; }

#container main.kansai .transit_box{ width: 80%; margin: 0 auto; position: relative; margin-bottom: 60px; }
#container main.kansai .transit_box .main-ttl{ position: absolute; top: 3vw; left: 5%; }
#container main.kansai .transit_box img{ width: 100%; height: auto; }


/* ------------------------------------------------------------ advantages */
#container main.kansai #advantages{ padding: 150px 0 125px; background: #F9FBFF; }
#container main.kansai #advantages .en-ttl{ top: -195px; left: 48%; translate: -50% 0; }
#container main.kansai #advantages .main-ttl{ position: absolute; top: -20px; left: 50%; translate: -50% 0; }
#container main.kansai #advantages .main-ttl .flag{ margin: 0 auto;}

#container main.kansai .advantages_box{ margin: 0 0 60px; padding: 40px 70px; background: #fff; border-radius: 40px; filter: drop-shadow( 10px 10px 0 rgba(228, 230, 234,0.7)); }
#container main.kansai .advantages_box:last-of-type{ margin-bottom: 0; }

#container main.kansai .advantages_box .flex{ display: flex; align-items: center; justify-content: space-between; }
#container main.kansai .advantages_box .item{ width: 233px; }
#container main.kansai .advantages_box .text{ width: calc(100% - 300px); }
#container main.kansai .advantages_box .text h3{ padding: 0 0 20px; font-size: clamp(20px,2vw,30px); font-weight: 600; line-height: 170%; }
#container main.kansai .advantages_box .text p{ padding: 0 0 30px; font-weight: 600; line-height: 200%; }

#container main.kansai .bus-time{ padding: 40px 0 0; }
#container main.kansai .bus-time h4{ margin: 0 0 30px; padding: 14px 30px; background: #D3E7F7; font-size: 22px; font-weight: 600; }
#container main.kansai .bus-time .notion{ font-size: 15px; color: #5D5D5D; }

#container main.kansai .bus-list{ display: flex; align-items: flex-start; justify-content: space-between; padding: 0 0 30px; }
#container main.kansai .bus-list li{ width: calc(100% / 4 - 2%); padding: 25px 5px; text-align: center; border-radius: 20px; background: #F0F0F0; font-weight: 500; }
#container main.kansai .bus-list li .destination{ font-size: clamp(14px,1vw,18px); }
#container main.kansai .bus-list li .time{ font-size: clamp(21px,1.5vw,21px); }
#container main.kansai .bus-list li .time strong{ padding: 0 5px; font-size: clamp(35px,3vw,50px); line-height: 1; font-weight: 600; vertical-align: sub; }


/* ------------------------------------------------------------ access */
#container main.kansai #access{ padding: 160px 0 90px; }
#container main.kansai #access .en-ttl{ position: absolute; top: 0; left: 50%; translate: -50% 0; font-size: 240px; }
#container main.kansai #access .text{ position: absolute; top: 180px; }
#container main.kansai #access .text p{ padding: 32px 0 0; font-size: 16px; }

#container main.kansai .access_map{ width: 100%; height: auto; position: relative; z-index: 1; }


/* ------------------------------------------------------------ route */
#container main.kansai #route{ padding: 100px 0 130px; background-color: #def5ff; background-image: radial-gradient(circle, #ffffff 2.5px, transparent 2.5px), radial-gradient(circle, #ffffff 2.5px, transparent 2.5px); background-position: 0 0, 10px 20px; background-size: 20px 40px; }
#container main.kansai #route .main-ttl{ margin: 0 0 60px; text-align: center; }
#container main.kansai #route .main-ttl .flag{ margin: 0 auto; }
#container main.kansai #route .main-ttl span{ clip-path: polygon(0 0, 100% 21%, 94% 85%, 7% 98%); width: 816px; margin: 0 auto; padding: 39px 0; display: block; background: #3F87C1; color: #fff; font-size: 40px; line-height: 1; }
#container main.kansai #route .main-ttl em{ position: relative; margin-top: 5px; font-size: 23px; font-style: normal; }
#container main.kansai #route .main-ttl em:before,
#container main.kansai #route .main-ttl em:after{ content: ""; position: absolute; top: 14px; width: 10px; height: 10px; background: #fff; border-radius: 100%; }
#container main.kansai #route .main-ttl em:before{ left: calc(50% - 130px); }
#container main.kansai #route .main-ttl em:after{ left: calc(50% + 130px); }

#container main.kansai #route .btn a{ margin: 0 auto; }

#container main.kansai .route_list{ display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; }
#container main.kansai .route_list li{ width: calc(100% / 3 - 2%); margin-bottom: 40px; }
#container main.kansai .route_list li a{ display: block; }

#container main.kansai .route_list h3{ display: flex; flex-direction: column; align-items: center; justify-content: center; height: 96px; font-size: clamp(20px,2vw,30px); text-align: center; background: #D9D9D9; border-radius: 20px 20px 0 0; font-weight: 600; line-height: 1; color: #000; }
#container main.kansai .route_list h3 small{ padding: 11px 0 0; font-size: clamp(13px,1vw,16px); }

#container main.kansai .route_list .reservation{ height: 160px; padding: 4px 10px 30px; background: #fff; border-radius: 0 0 20px 20px; text-align: center; }
#container main.kansai .route_list .reservation p{ margin: 0 0 15px; font-size: 45px; color: #C40813; font-weight: 600; font-family: 'din-2014-bold'; }
#container main.kansai .route_list .reservation p small{ font-size: clamp(20px,1.7vw,26px); }

#container main.kansai .route_list .reservation .btn{ position: relative; display: block; width: min(90%,202px); margin: 0 auto; padding: 7px 0; border-radius: 50px; background: #FEDF33; font-weight: 600; color: #000; }
#container main.kansai .route_list .reservation .arrow{ position: absolute; right: 10px; top: 50%; translate: 0 -50%; width: 6px; height: 12px; background: #000; clip-path: polygon(0 0, 100% 50%, 0 100%); }


#container main.kansai #route .notion{ font-size: 15px; font-weight: 300; font-feature-settings: "palt"; line-height: 200%; }
#container main.kansai #route .notion:last-of-type{ padding: 0 0 60px; }
#container main.kansai #route .notion a{ margin: 0 3px; color: #C40813; border-bottom: 1px solid #C40813; font-weight: 300; }


/* ------------------------------------------------------------ service */
#container main.kansai #service{ padding: 130px 0 0; }
#container main.kansai #service .en-ttl{ position: absolute; top: 50px; left: 44%; translate: -50% 0; font-size: 240px; }
#container main.kansai #service .main-ttl{ margin-bottom: 90px; font-size: 50px; text-align: center; }
#container main.kansai #service .main-ttl .flag{ margin: 0 auto; }
#container main.kansai #service .main-ttl small{ display: block; padding: 10px 0 0; line-height: 200%; font-size: 16px; text-align: center; }
#container main.kansai #service .flex{ margin: 0 0 80px; display: flex; align-items: center; justify-content: space-between; }

#container main.kansai #service .btn,
#container main.kansai #service .btn-reservation{ margin: 0 0 130px; }
#container main.kansai #service .btn a{ margin: 0 auto; }

#container main.kansai .service_list{ position: relative; width: calc(100% / 2 - 4%); height: 530px; padding: 55px 40px; border-radius: 20px; background: #FEE8F1; }

#container main.kansai .service_list h3{ position: absolute; width: 90%; top: -30px; left: 50%; translate: -50% 0; padding: 10px 0; font-size: 30px; text-align: center; background: url(/ja/campaign/kansai/images/bg_text.svg) center/cover no-repeat; color: #fff; }
#container main.kansai .service_list p{ font-weight: 600; }

#container main.kansai .service_list01{ padding-top: 80px; }
#container main.kansai .service_list01 li{ text-align: center; }
#container main.kansai .service_list01 p{ margin: 0 0 20px; font-size: 20px; }
#container main.kansai .service_list01 p span{ position: relative; }
#container main.kansai .service_list01 p span:before,
#container main.kansai .service_list01 p span:after{ position: absolute; content: ""; width: 2px; height: 25px; background: #000; bottom: 0; }
#container main.kansai .service_list01 p span:before{ left: -20px; rotate: -35deg; }
#container main.kansai .service_list01 p span:after{ right: -20px; rotate: 35deg; }
#container main.kansai .service_list01 .item{ margin: 0 auto 70px; }

#container main.kansai .service_list02 {
	margin-bottom: 30px;
}
#container main.kansai .service_list02 li{ margin: 0 0 30px; display: flex; align-items: center; }
#container main.kansai .service_list02 img{ width: 86px; margin-right: 18px; }
#container main.kansai .service_list02 p{ width: calc(100% - 104px); font-size: 19px; }
#container main.kansai .service_list02 p small{ display: block; font-size: 14px; font-weight: 400; }

#container main.kansai .bnr-list{ width: 630px; margin: 0 auto; }
#container main.kansai .bnr-list li{ width: 100%; margin: 0 0 50px; }
#container main.kansai .bnr-list li:last-of-type{ margin: 0; }



/* ------------------------------------------------------------ mobile ------------------------------------------------------------ */
	
	#container{ margin-bottom: 0; }
	#container main.kansai .kansai-pc{ display: none; }
	#container main.kansai .kansai-sp{ display: block; }
	
	#container main.kansai .content_wrap{ width: 90%; max-width: 90%; }
	
	#container main.kansai .en-ttl{ font-size: 95px; }
	#container main.kansai .main-ttl{ font-size: 27px }
	#container main.kansai .main-ttl .flag{ width: 85px; padding: 0 0 10px; }
	
	#container main.kansai .btn-reservation a{ width: 90%; padding: 13px 0; border-radius: 5px; font-size: 16px; }

	#container main.kansai .btn a{ width: 100%; height: 50px; padding: 0 15px; border-radius: 10px; filter: drop-shadow( 0 5px 0 rgb(174, 43, 1)); }
	#container main.kansai .btn a div{ margin-left: -20px; line-height: 1; }
	#container main.kansai .btn a div img{ width: 20px; height: auto; }
	#container main.kansai .btn a div span{ font-size: 15px; }
	#container main.kansai .btn a div small{ font-size: 10px; }
	#container main.kansai .btn a .icn_blank{ width: 13px; height: auto; }
	
	#container main.kansai .btn-b a{ filter: drop-shadow( 0 5px 0 rgba(0, 13, 52, 1)); }
  	#container main.kansai .btn-g a{ filter: drop-shadow( 0 5px 0 rgba(35, 114, 0, 1)); }


/* ------------------------------------------------------------ fv */
	#container main.kansai #fv h1{ position: initial; translate: 0; padding: 40px 0 25px; width: 90%; margin: 0 auto; }
	#container main.kansai #fv{ border: 3px solid #001871; }
	#container main.kansai #fv .fukidashi {
		position: absolute;
		width: 24%;
		margin-top: 3px;
		right: 0;
	}

/* ------------------------------------------------------------ spot */
	#container main.kansai #spot{ padding: 60px 0; }
	#container main.kansai .spot_box{ width: 90%; padding: 35px 5% 35px; border-radius: 20px; }
	
	#container main.kansai .mordal-list{ flex-wrap: wrap; }
	#container main.kansai .mordal-list li{ width: calc(100% / 2 - 2%); margin-bottom: 15px; }
	#container main.kansai .mordal-list li .text{ padding: 5px 11px; font-size: 15px; }
	#container main.kansai .mordal-list li .text small{ margin-left: 7px; font-size: 10px; }
	
	#container main.kansai .mordal-list li .cross{ width: 14px; height: 14px; }
	#container main.kansai .mordal-list li .cross::before,
	#container main.kansai .mordal-list li .cross::after{ height: 2px; }
	
	#container main.kansai .scroll-hint{ top: 1%; font-size: 13px; }
	
	#container main.kansai .spot_box .en-ttl{ top: -70px; }
	#container main.kansai .spot_box .main-ttl{ margin: 0 0 30px; font-size: 24px; }
	
	
	#container main.kansai .modal-window{ top: 52%; width: 90%; min-width: 90%; min-height: 87%; }
	#container main.kansai .modal-window .name{ padding: 0 0 11px; left: -10px; width: 55%; }
	#container main.kansai .modal-window .name:before{ width: 10px; height: 12px; }
	#container main.kansai .modal-window .name p{ padding: 11px 10px 14px; font-size: 30px; }
	#container main.kansai .modal-window .name p small{ padding-left: 11px; font-size: 13px; }
	
	#container main.kansai .modal_inner{ padding: 30px 5%; border-radius: 20px; }
	#container main.kansai .button-close{ width: 10%; height: auto; }
	
	#container main.kansai .sightseeing{ padding: 80px 0 0; }
	#container main.kansai .spot-ttl{ gap: 10px; margin: 0 0 20px; }
	#container main.kansai .spot-ttl img{ width: 30px; height: auto; }
	#container main.kansai .spot-ttl h3{ font-size: 23px; }
	
	#container main.kansai .spot-list{ display: block; }
	#container main.kansai .spot-list li{ width: 100%; margin: 0 0 30px; }
	#container main.kansai .spot-list li .text{ padding: 15px 0 0; }
	#container main.kansai .spot-list li .text h4{ padding: 0 0 5px; font-size: 18px; }
	#container main.kansai .spot-list li .text p{ font-size: 13px; }
	

/* ------------------------------------------------------------ transit */
	#container main.kansai #transit{ padding: 50px 0 80px; background: url(/ja/campaign/kansai/images/bg_cross.png) center/100px; }
	#container main.kansai .transit_box{ width: 100%; margin-bottom: 30px; }
	
	#container main.kansai .transit_box .transit_inner{ width: 90%; margin: 0 auto; }
	#container main.kansai .transit_box .main-ttl{ position: initial; padding: 0 0 25px; }

	/* ------------------------------------------------------------ expo */
#container main.kansai #expo {
	background: url(/ja/campaign/kansai/images/bg_cross.png) center/200px;
	padding-bottom: 130px;

	.content_wrap {
		max-width: 400px !important;
	}
}
.expo {
	border-radius: 20px;
	border: 4px solid #011668;
	box-shadow: 0px 4px 6px 2px rgba(1, 22, 104, 0.10);
	background: #fff;
	padding: 18px 20px 38px 20px;
	text-align: center;
	.expo_logo {
		width: 180px;
	}

	.catchphrase {
		max-width: 220px;
		margin: 16px 0 24px;
	}
	.expo_contents {
		p {
			font-size: 18px;
			font-weight: 700;
			text-align: left;
			margin-bottom: 20px;
			line-height: 180%;

			span {
				background: linear-gradient(transparent 60%, #fcf000 60%);
			}
		}
	}
	.expo_contents_02 {
		margin: 40px auto 30px;
        border-top: 4px dotted #011668;
        padding-top: 26px;
		p {
			font-size: 18px;
			font-weight: 700;
			text-align: left;
			margin-top: 10px;

			.text_underline {
				background: linear-gradient(transparent 60%, #fcf000 60%);
			}
			.text_orange {
				color: #FF5100;
			}
		}
		.small_text {
			font-size: 16px;
			margin-top: 10px;

			span {
				text-align: right;
				display: block;
			}
		}
	}
	.jr_contents {
		margin: 40px auto 0;
        border-top: 4px dotted #011668;
        padding-top: 26px;
		p {
			font-size: 18px;
			font-weight: 700;
			text-align: left;
			margin: 24px 0 10px;

			.text_underline {
				background: linear-gradient(transparent 60%, #fcf000 60%);
			}
		}
		.catchphrase_02 {
			max-width: 280px;

			img {
				max-width: 100%;
			}
		}
		.small_text {
			font-size: 16px;
			color: #3E3E3E;
			margin: 0 !important;
			text-align: center;
		}
	}
	.expo_contents_03 {
		margin: 40px auto 20px;
        border-top: 4px dotted #011668;
        padding-top: 26px;
		p {
			font-size: 18px;
			font-weight: 700;
			text-align: left;
			margin-top: 10px;

			.text_underline {
				background: linear-gradient(transparent 60%, #fcf000 60%);
			}
			.text_green {
				color: #00A08B;
			}
		}
		.small_text {
			font-size: 16px;
			margin-top: 10px;

			span {
				text-align: right;
				display: block;
			}
		}
	}
	.jr_contents_02 {
		margin: 40px auto 0;
        border-top: 4px dotted #011668;
        padding-top: 26px;
		p {
			font-size: 18px;
			font-weight: 700;
			text-align: left;
			margin: 24px 0 10px;

			.text_underline {
				background: linear-gradient(transparent 60%, #fcf000 60%);
			}
		}
		.catchphrase_03 {
			max-width: 242px;

			img {
				max-width: 100%;
			}
		}
		.small_text {
			font-size: 16px;
			color: #3E3E3E;
			margin: 0 !important;
			text-align: center;
		}
		.bnr {
			max-width: 68%;
		}
	}
}
.button a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    padding: 10px 12px 10px 20px;
    color: #fff;
    transition: 0.3s ease-in-out;
	border-radius: 48px;
	background: #0268BA;
	box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.10);
	font-size: 18px;
	font-weight: 700;
	max-width: 295px;
}
.button a:hover {
  transform: translate3d(0, 4px, 6px, 0);
  box-shadow: none;
}
.button_02 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    padding: 10px 0 10px 10px;
    color: #fff;
    transition: 0.3s ease-in-out;
	border-radius: 48px;
	background: #FF5100;
	box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.10);
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	max-width: 295px;
}
.button_02 a:hover {
  transform: translate3d(0, 4px, 6px, 0);
  box-shadow: none;
}
.btn_bus {
	display: flex;
	align-items: center;
    gap: 5px;
}
.button_03 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    padding: 10px 5px 10px 10px;
    color: #fff;
    transition: 0.3s ease-in-out;
	border-radius: 48px;
	background: #00A08B;
	box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.10);
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	max-width: 295px;
}
.button_03 a:hover {
  transform: translate3d(0, 4px, 6px, 0);
  box-shadow: none;
}

/* ------------------------------------------------------------ advantages */
	#container main.kansai #advantages{ padding: 150px 0 60px; }
	#container main.kansai #advantages .en-ttl{ top: -98px; left: 43%; font-size: 115px; }
	#container main.kansai #advantages .main-ttl{ width: 100%; text-align: center; }

	#container main.kansai .advantages_box{ margin: 0 0 30px; padding: 25px 5%; border-radius: 20px; filter: drop-shadow( 5px 5px 0 rgba(228, 230, 234,0.7)); }
	#container main.kansai .advantages_box .flex{ display: block; }
	#container main.kansai .advantages_box img{ display: block; margin: 0 auto; }
	#container main.kansai .advantages_box .text{ width: 100%; padding: 20px 0 0; }
	#container main.kansai .advantages_box .text h3{ padding: 0 0 10px; font-size: 20px; }
	#container main.kansai .advantages_box .text p{ padding: 0; font-size: 13px; }

	#container main.kansai .bus-time{ padding: 20px 0 0; }
	#container main.kansai .bus-time h4{ margin: 0 0 15px; padding: 9px 15px; font-size: 13px; text-align: center; }
	#container main.kansai .bus-list{ padding: 0; flex-wrap: wrap; }
    #container main.kansai .bus-list li{ width: calc(100% / 2 - 2%); padding: 15px; border-radius: 10px; margin-bottom: 10px; }
    
    #container main.kansai .bus-list li .destination{ font-size: 13px; }
    #container main.kansai .bus-list li .time{ font-size: 12px; padding: 5px 0 0; }
  	#container main.kansai .bus-list li .time strong{ padding: 0 3px; font-size: 25px; }
  	
  	#container main.kansai .bus-time .notion{ font-size: 10px; line-height: 200%; text-indent: -1em; padding-left: 1em; }


/* ------------------------------------------------------------ access */
	#container main.kansai #access{ padding: 70px 0 50px; }
	#container main.kansai #access .en-ttl{ left: 42%; font-size: 140px; }
	
	#container main.kansai #access .text{ position: initial; }
	#container main.kansai #access .text p{ padding: 14px 0 0; font-size: 11px; line-height: 200%; }

	#container main.kansai .access_map{margin-top: -50px; right: -10px; }


/* ------------------------------------------------------------ route */
	#container main.kansai #route{ padding: 70px 0; background-image: radial-gradient(circle, #fff 1.5px, transparent 1.5px), radial-gradient(circle, #fff 1.5px, transparent 1.5px); background-position: 0 0, 5px 15px; background-size: 10px 30px; }
	
	#container main.kansai #route .main-ttl{ margin: 0 0 30px; }
	#container main.kansai #route .main-ttl .flag{ width: 105px; margin-bottom: 10px; }
	#container main.kansai #route .main-ttl span{ width: 100%; clip-path: polygon(0 0, 100% 15%, 95% 93%, 4% 98%); padding: 27px 0; font-size: 20px; }

	#container main.kansai #route .main-ttl em{ margin-top: 10px; font-size: 18px; display: inline-block; }
	#container main.kansai #route .main-ttl em:before,
	#container main.kansai #route .main-ttl em:after{ top: 6px; width: 9px; height: 9px; }
	#container main.kansai #route .main-ttl em:after{ left: calc(50% + 90px); }
	#container main.kansai #route .main-ttl em:before{ left: calc(50% - 100px); }

	#container main.kansai .route_list{ display: block; }
	#container main.kansai .route_list li{ width: 100%; margin-bottom: 15px; }
	#container main.kansai .route_list li a{ display: flex; align-items: center; }
	#container main.kansai .route_list h3{ flex-direction: column; width: 30%; height: 60px; font-size: 15px; border-radius: 10px 0 0 10px; }
	#container main.kansai .route_list h3 small{ font-size: 11px; display: block; }
	
	#container main.kansai .route_list .reservation{ width: 70%; height: 60px; padding: 10px 20px; display: flex; align-items: center; justify-content: space-between; border-radius: 0 10px 10px 0; }
	#container main.kansai .route_list .reservation p{ margin: 0; font-size: 23px; }
	#container main.kansai .route_list .reservation p small{ font-size: 16px; }

	#container main.kansai .route_list .reservation .btn{ width: 70px; margin: 0; padding: 4px 0; font-size: 12px; }
	#container main.kansai .route_list .reservation .arrow{ width: 3px; height: 7px; }
	
	#container main.kansai #route .notion{ padding: 0; font-size: 11px; line-height: 200%; text-indent: -1em; padding-left: 1em; }
	#container main.kansai #route .notion:last-of-type{ padding: 0; padding-left: 1em; }

	#container main.kansai .btn{ margin-top: 25px; }
	#container main.kansai .btn a .icn_blank{ right: 20px; }

	#container main.kansai .service_list01 li:not(:last-of-type){ margin: 0 0 30px; }

	#container main.kansai .service_list02 p small{ font-size: 10px; padding: 10px 0 0; }
	

/* ------------------------------------------------------------ service */
	#container main.kansai #service{ padding: 60px 0 0; }
	
	#container main.kansai #service .en-ttl{ top: 15px; left: 42%; font-size: 155px; }
	#container main.kansai #service .main-ttl{ margin-bottom: 70px; font-size: 27px; }
	#container main.kansai #service .main-ttl .flag{ width: 105px; margin-bottom: 10px; }
  	#container main.kansai #service .main-ttl small{ font-size: 13px; }

  	#container main.kansai #service .flex{ display: block; }
  	#container main.kansai .service_list{ width: 100%; height: initial; padding: 50px 5%; }
  	#container main.kansai .service_list h3{ font-size: 20px; }


  	#container main.kansai .service_list01{ margin-bottom: 60px; padding-top: 40px; }
  	#container main.kansai .service_list01 p{ margin: 0 0 13px; font-size: 13px; }
  	#container main.kansai .service_list01 p span::before,
  	#container main.kansai .service_list01 p span::after{ width: 1px; height: 20px; }
  	#container main.kansai .service_list01 .item{ margin: 0 auto 43px; width: 200px; height: auto; }
  	#container main.kansai .service_list01 .item:last-of-type{ margin-bottom: 0; }
  	
  	#container main.kansai .service_list02{ padding: 50px 5% 15px; }
  	#container main.kansai .service_list02 li{ margin: 0 0 15px; }
  	#container main.kansai .service_list02 img{ width: 56px; height: auto; }
  	#container main.kansai .service_list02 p{ width: calc(100% - 74px); font-size: 13px; }

  	#container main.kansai #service .flex{ margin: 0 0 35px; }
  	
  	#container main.kansai #service .btn,
  	#container main.kansai #service .btn-reservation{ margin: 0 0 60px; }
  	#container main.kansai #service .btn-reservation a{ width: 100%; }
  	
  	#container main.kansai .bnr-list{ width: 100%; height: auto; }
  	#container main.kansai .bnr-list li{ margin: 0 0 20px; }
  	#container main.kansai .bnr-list li img{ width: 100%; height: auto; }
	#container main.kansai .bnr-list .hajimete{ border: 1px solid #e2e2e2; }
  	
  	



