@charset "utf-8";
/* tour_reservation.css */

header {
	background-color: #FFF;
}

#tour_reservation {
	padding: 115px 0 0;
	background-color: #FFF8F6;
}

@media screen and (max-width:1000px) {
#tour_reservation {
	padding: 75px 0 0;
}	
}

.page_ttl {
	position: relative;
	z-index: 2;
} 


.page_ttl h2 {
	font-size: 40px;
	text-align: center;
	color: #9B9B9B;
	margin: 0 0 15px;
}

@media screen and (max-width:1000px) {
.page_ttl h2 {
	font-size: 24px;
	margin: 0 0 10px;
}	
}

@media screen and (max-width:500px) {
.page_ttl h2 {
	font-size: 21px;
	margin: 0 0 10px;
}	
}


.page_ttl h2 span {
	font-size: 20px;

}

@media screen and (max-width:1000px) {
.page_ttl h2 span {
	font-size: 13px;	
}	
}

@media screen and (max-width:500px) {
.page_ttl h2 span {
	font-size: 11px;	
}	
}


.page_ttl p {
	display: flex;
	justify-content: space-between;
	width: 62px;
	margin: 0 auto;
}

@media screen and (max-width:768px) {
.page_ttl p {
	width: 50px;
	margin: 0 auto;
}	
}

.page_ttl p span {
	width: 12px;
	height: 12px;
	border-radius: 50%;
}

@media screen and (max-width:768px) {
.page_ttl p span {
	width: 9px;
	height: 9px;
}	
}


.page_ttl p span:first-child {
	background-color: #F6B83A;
}

.page_ttl p span:nth-child(2) {
	background-color: #81AF2D;
}

.page_ttl p span:nth-child(3) {
	background-color: #DD606D;
}

#tuor_reservation_title {
	position: relative;
	z-index: 2;
	padding: 0 0 125px;
}

@media screen and (max-width:1000px) {
#tuor_reservation_title {
	padding: 0 0 75px;
}	
}

#tuor_reservation_title img {
	max-width: 700px;
	margin: 0 auto;
}


#tuor_reservation_title::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	width: 120%;
	height: 250px;
	background-color: #FFF;
	bottom: -108px;
	left: -10%;
	
}

@media screen and (max-width:1000px) {
#tuor_reservation_title::after {
	height: 130px;
	width: 130%;
	left: -15%;
	bottom: -45px;
	
}	
}


#title_img_1 {
	position: absolute;
	z-index: 2;
	width: 8%;
	top: -100px;
	left: 15%;
}

@media screen and (max-width:1000px) {
#title_img_1 {
	width: 14%;
	top: -50px;
	left: 9%;
}	
}

@media screen and (max-width:500px) {
#title_img_1 {
	width: 18%;
	top: -20px;
	left: 5%;
}	
}

#title_img_2 {
	position: absolute;
	z-index: 2;
	width: 7%;
	top: 110px;
	left: 6%;
}

@media screen and (max-width:1000px) {
#title_img_2 {
	display: none;
}	
}



#title_img_3 {
	position: absolute;
	z-index: 2;
	width: 7%;
	top: 270px;
	left: 17%;
}

@media screen and (max-width:1000px) {
#title_img_3 {
	width: 12%;
	top: auto;
	bottom: 50px;
	left: 8%;
}	
}


@media screen and (max-width:500px) {
#title_img_3 {
	width: 15%;
	left: 5%;
	bottom: 50px;
}		
}

#title_img_4 {
	position: absolute;
	z-index: 2;
	width: 8%;
	top: -100px;
	right: 15%;
}

@media screen and (max-width:1000px) {
#title_img_4 {
	width: 12%;
	top: -50px;
	right: 9%;
}	
}

@media screen and (max-width:500px) {
#title_img_4 {
	width: 16%;
	top: -20px;
	right: 5%;
}	
}

#title_img_5 {
	position: absolute;
	z-index: 2;
	width: 7%;
	top: 110px;
	right: 6%;
}

@media screen and (max-width:1000px) {
#title_img_5 {
	display: none;
}	
}

#title_img_6 {
	position: absolute;
	z-index: 2;
	width: 7%;
	top: 290px;
	right: 17%;
}

@media screen and (max-width:1000px) {
#title_img_6 {
	width: 12%;
	top: auto;
	bottom: 50px;
	right: 9%;
}	
}

@media screen and (max-width:500px) {
#title_img_6 {
	width: 15%;
	right: 5%;
}		
}

#tuor_reservation_title h3 {
	max-width: 810px;
	margin: 0 auto;
	padding: 80px 15px 130px;
}

@media screen and (max-width:1000px) {
#tuor_reservation_title h3 {
	padding: 60px 10px 70px;
}	
}

@media screen and (max-width:500px) {
#tuor_reservation_title h3 {
	padding: 60px 5px 60px;
}	
}


div.fluid_tour {
    width: 500px;
	position: absolute;
	z-index: 1;
	top: -200px;
	left: -100px;
    aspect-ratio: 1;
    margin: 0 auto;
    border-radius: 65% 35% 55% 45% / 55% 50% 55% 45%; /* 初期形状 */
    animation: fluid-anim 30s linear infinite, wave-anim 12s ease-in-out infinite;
    background: #DD606D;
	opacity: 0.2;
	}


@media screen and (max-width:1000px) {
div.fluid_tour {
    width: 300px;
	top: -100px;
	}
}

@media screen and (max-width:500px) {
div.fluid_tour {
    width: 240px;
	top: -60px;
	}	
}

div.green_tour {
    width: 500px;
	position: absolute;
	z-index: 0;
	top: 600px;
	left: -200px;
    aspect-ratio: 1;
    margin: 0 auto;
    border-radius: 65% 35% 55% 45% / 55% 50% 55% 45%; /* 初期形状 */
    animation: fluid-anim 30s linear infinite, wave-anim 12s ease-in-out infinite;
    background: #81AF2D;
	opacity: 0.2;
	}


@media screen and (max-width:1000px) {
div.green_tour {
    width: 300px;
	top: 400px;
	}
}

@media screen and (max-width:500px) {
div.green_tour {
    width: 200px;
	left: -100px;
	top: 300px;
	}	
}

div.yellow_tour {
    width: 500px;
	position: absolute;
	z-index: 0;
	top: -100px;
	right: -100px;
    aspect-ratio: 1;
    margin: 0 auto;
    border-radius: 65% 35% 55% 45% / 55% 50% 55% 45%; /* 初期形状 */
    animation: fluid-anim 30s linear infinite, wave-anim 12s ease-in-out infinite;
    background: #F6B83A;
	opacity: 0.2;
	}


@media screen and (max-width:1000px) {
div.yellow_tour {
    width: 300px;

	}
}

@media screen and (max-width:500px) {
div.yellow_tour {
    width: 210px;
	top: -40px;
	}	
}

#tour_reservation_container {
	padding: 0 0 80px;
	background-color: #FFF;
	z-index: 3;
	position: relative;
}

@media screen and (max-width:1000px) {
#tour_reservation_container {
	padding: 0 0 40px;
}	
}


#tour_reservation_news {
	width: 95%;
	max-width: 1300px;
	padding: 25px 25px 25px 200px;
	box-sizing: border-box;
	margin: -20px auto 50px;
	background-color: #F7F7F7;
	position: relative;
	border-radius: 20px;
}

@media screen and (max-width:1000px) {
	#tour_reservation_news {
	padding: 20px;
	margin: -20px auto 20px;
}
}

#tour_reservation_news h3 {
	font-size: 28px;
	color: #412600;
	position: absolute;
	top: 25px;
	left: 25px;
}

@media screen and (max-width:1000px) {
#tour_reservation_news h3 {
	font-size: 22px;
	position: relative;
	top: auto;
	left: auto;
	text-align: center;
	margin: 0 0 16px;
}	
}

@media screen and (max-width:500px) {
#tour_reservation_news h3 {
	font-size: 20px;
}	
}

#tour_reservation_news .news_item {
	position: relative;
	padding: 0 0 0 120px;
	margin: 0 0 20px;
}

@media screen and (max-width:700px) {
#tour_reservation_news .news_item {
	padding: 0;
}	
}

#tour_reservation_news .news_item:last-child {
	margin: 0;
}

#tour_reservation_news .news_item dt {
	position: absolute;
	font-weight: normal;
	color: #784C0F;
	top: 0;
	left: 0;
}

@media screen and (max-width:700px) {
#tour_reservation_news .news_item dt {
	position: relative;
	top: auto;
	left: auto;
}	
}

.news_item dd {
	color: #878787;
}

#flow {
	padding: 60px 0;
}

#flow h3 {
    font-size: 35px;
    color: #F8A761;
    margin: 0 0 50px;
	text-align: center;
}

@media screen and (max-width:1000px) {
#flow h3 {
    font-size: 22px;
	margin: 0 0 20px;
}	
}

#flow h3 span {
    background: linear-gradient(transparent 50%, #FFF6DC 50%);
    padding: 0 10px 0;
}


#flow_slider {
	padding: 50px 15px 50px;
	background-color: #FFD89E;
	max-width: 1600px;
	width: 95%;
	margin: 0 auto;
	border-radius: 45px;
}

@media screen and (max-width:1000px) {
#flow_slider {
	padding: 35px 15px;
	border-radius: 35px;
	max-width: 600px;
}	
}

@media screen and (max-width:600px) {
#flow_slider {
	padding: 30px 15px 20px;
}	
}



.flow_slider_item {
	padding: 0 0 0 70px;
	box-sizing: border-box;
	position: relative;
	
}

@media screen and (max-width:1000px) {
.flow_slider_item {
	padding: 0;
	margin: 0 40px 0 0; 
}	
}

.flow_slider_item::after {
	content: "";
	position: absolute;
	z-index: 2;
	width: 30px;
	height: 55px;
	background-image: url("../images/tour_reservation/flow_sankaku.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	right: -55px;
	top: 50%;
	transform: translateY(-50%);
}

@media screen and (max-width:1000px) {
.flow_slider_item::after {
	width: 20px;
	height: 30px;
	right: -30px;
}	
}

@media screen and (max-width:1000px) {
.flow_slider_item:last-child::after {
	display: none;
}	
}

.my_dots {
	display: flex;
	justify-content:space-around;
	width: 240px;
	padding: 40px 0 0;
	margin: 0 auto;
	
}

@media screen and (max-width:768px) {
.my_dots {
	width: 160px;
	padding: 20px 0;
	margin: 10px auto 0;
	
}	
}

.my_dots li {
	height: 24px;
	width: 24px;
	background-color: #FFF;
	border-radius: 50%;
	cursor: pointer;
}

@media screen and (max-width:600px) {
.my_dots li {
	height: 16px;
	width: 16px;
}	
}


.my_dots .slick-active {
	background-color: #F3AC30;
}

.my_dots button {
	opacity: 0;
}

#procedure {
	width: 95%;
	margin: 0 auto;
	max-width: 1600px;
	padding: 80px 0 0;
}

#procedure li {
	width: 100%;
	margin: 0 0 30px;
	background-color: #FFFDF0;
	padding: 45px 380px 45px 45px;
	box-sizing: border-box;
	border-radius: 30px;
	position: relative;
	
}

@media screen and (max-width:1000px) {
#procedure li {
	padding: 30px;
	border-radius: 20px;
}	
}

@media screen and (max-width:500px) {
#procedure li {
	padding: 25px;
}	
}


#procedure li h3 {
	color: #A46305;
	font-size: 28px;
	margin: 0 0 30px;
}

@media screen and (max-width:1000px) {
#procedure li h3 {
	font-size: 22px;
	margin: 0 0 20px;
}	
}

#procedure li p {
	color: #888888;
	line-height: 1.9;
}

.ichiran_link {
	position: absolute;
	bottom: 45px;
	right: 45px;
	width: 300px;
	
}

@media screen and (max-width:1000px) {
.ichiran_link {
	position: relative;
	bottom: auto;
	right: auto;
	width: 280px;
	margin: 25px 0 0 auto;
}	
}

@media screen and (max-width:500px) {
.ichiran_link {
	margin: 25px auto 0;
}	
}



.ichiran_link a {
	display: inline-block;
	width: 100%;
	background-color: #FFAC5A;
	padding: 14px 45px 14px 20px;
	box-sizing: border-box;
	border-radius: 30px;
	color: #FFF;
	position: relative;
	font-size: 20px;
	box-shadow: 7px 6px 18px -5px #d9d9d9;
}

@media screen and (max-width:1000px) {
.ichiran_link a {
	font-size: 16px;
}	
}

.ichiran_link a::after {
	content: "";
	position: absolute;
	background-image: url("../images/tour_reservation/ishiran_button.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	height: 40px;
	width: 40px;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}

@media screen and (max-width:1000px) {
.ichiran_link a::after {
	height: 30px;
	width: 30px;
}	
}
