@charset "UTF-8";

/* 共通 */
section.common_cont {
	width: 100%;
	margin: 0 auto;
	padding: 75px 0 85px;
	position: relative;
}

section.common_cont.bg1 {
	background: #F4F5F6;
}

section.common_cont.bg2 {
	background: #FEF8F8;
}

h2.cont_ttl {
	margin: 0 auto;
	padding: 0;
	font-size: 24px;
	line-height: 180%;
	font-weight: var(--weight-bold2);
}

div.cont_read {
	margin: 0 auto;
	padding: 10px 0 0;
	font-size: 16px;
	line-height: 180%;
}

div.cont_read p {
	margin: 20px auto 0;
	padding: 0;
}

ul.air_ticket {
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

ul.air_ticket li {
	width: 280px;
	margin: 0;
	padding: 0;
}

ul.air_ticket li:not(:nth-of-type(4n-3)) {
	margin-left: calc(80px /3);
}

ul.air_ticket li a {
	width: 100%;
	height: 100%;
	margin: auto;
	padding: 0;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
}

ul.air_ticket li a h3 {
	margin: 0;
	padding: 0;
	font-size: 15px;
	line-height: 150%;
	font-weight: var(--weight-nomal);
	color: #000;
}

ul.air_ticket li a h4 {
	margin: 0;
	padding: 0;
	font-size: 24px;
	line-height: 150%;
	color: #CC0000;
	font-weight: var(--weight-extrabold2);
}

ul.air_ticket li a img.new {
	position: absolute;
	content: '';
	display: block;
	width: 46px;
	height: auto;
	top: -1px;
	left: -1px;
}

img.cont_ico {
	position: absolute;
	display: block;
	width: 102px;
	height: auto;
	margin: auto;
	padding: 0;
	top: -22px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

div.star:before {
	content: "★★★★★";
	position: absolute;
	color: #DCC418;
	overflow: hidden;
	white-space: nowrap;
}

div.star.star40:before {
	width: calc(4.0em + .2 * (4.0em - .5em));
}

div.star.star41:before {
	width: calc(4.1em + .2 * (4.1em - .5em));
}

div.star.star42:before {
	width: calc(4.2em + .2 * (4.2em - .5em));
}

div.star.star43:before {
	width: calc(4.3em + .2 * (4.3em - .5em));
}

div.star.star44:before {
	width: calc(4.4em + .2 * (4.4em - .5em));
}

div.star.star45:before {
	width: calc(4.5em + .2 * (4.5em - .5em));
}

div.star.star46:before {
	width: calc(4.6em + .2 * (4.6em - .5em));
}

div.star.star47:before {
	width: calc(4.7em + .2 * (4.7em - .5em));
}

div.star.star48:before {
	width: calc(4.8em + .2 * (4.8em - .5em));
}

div.star.star49:before {
	width: calc(4.9em + .2 * (4.9em - .5em));
}

div.star.star50:before {
	width: calc(5.0em + .2 * (5.0em - .5em));
}


/* TOP FORM */
#top_form {
	width: 100%;
	margin: 0 auto;
	padding: 120px 0 60px;
	background: url(../images/top/top_bg.jpg) top center / cover no-repeat;
}

#top_form div.form_cont {
	width: 1000px;
	margin: 0 auto;
	padding: 0;
}

#top_form div.form_cont ul.tab-list {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	display: flex;
}

#top_form div.form_cont ul.tab-list li.tab-item {
	width: 25%;
	height: 75px;
	margin: 0;
	padding: 0;
	background: #EEEEEE;
	border-right: 1px solid #fff;

	a,
	span {
		width: 100%;
		height: 100%;
		text-decoration: none;
		color: #333;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	a {
		cursor: pointer;
	}
}

#top_form div.form_cont ul.tab-list li.tab-item:first-of-type {
	border-radius: 10px 0 0 0;
}

#top_form div.form_cont ul.tab-list li.tab-item:last-of-type {
	border-radius: 0 10px 0 0;
	border-right: none;
}

#top_form div.form_cont ul.tab-list li.tab-item.active,
#top_form div.form_cont ul.tab-list li.tab-item a:hover {
	background: linear-gradient(to right, #CC0001 0%, #E4148C 100%);
}

#top_form div.form_cont ul.tab-list li.tab-item a img.passive {
	display: block;
	transition: 0.2s linear;
}

#top_form div.form_cont ul.tab-list li.tab-item a img.active {
	display: none;
	transition: 0.2s linear;
}

#top_form div.form_cont ul.tab-list li.tab-item.active a img.passive,
#top_form div.form_cont ul.tab-list li.tab-item a:hover img.passive,
#top_form div.form_cont ul.tab-list li.tab-item span img.passive {
	display: none;
	transition: 0.2s linear;
}

#top_form div.form_cont ul.tab-list li.tab-item.active a img.active,
#top_form div.form_cont ul.tab-list li.tab-item a:hover img.active,
#top_form div.form_cont ul.tab-list li.tab-item span img.active {
	display: block;
	transition: 0.2s linear;
}

#top_form div.form_cont ul.tab-list li.tab-item h3 {
	margin: 10px 0 0;
	padding: 0;
	font-size: 15px;
	line-height: 120%;
	font-weight: var(--weight-bold2);
}

#top_form div.form_cont ul.tab-list li.tab-item.active h3,
#top_form div.form_cont ul.tab-list li.tab-item a:hover h3 {
	color: #fff;
}

#top_form div.form_cont div.tab-content {
	width: 100%;
	min-width: 350px;
	margin: 0 auto;
	padding: 35px 100px 30px;
	text-align: left;
	background: #fff;
	border-radius: 0 0 10px 10px;
}

#top_form div.form_cont div.tab-content div.tab-panel h4 {
	margin: 0;
	padding: 0;
	font-size: 15px;
	line-height: 180%;
	font-weight: var(--weight-bold2);
}

#top_form div.form_cont div.tab-content div.tab-panel div.air_route {
	margin: 0;
	padding: 0;
}

#top_form div.form_cont div.tab-content div.tab-panel div.air_route label {
	margin: 0 28px 0 0;
	font-size: 14px;
	line-height: 160%;
}

#top_form div.form_cont div.tab-content div.tab-panel div.air_route p {
	display: inline-block;
	margin: 0;
	font-size: 14px;
	line-height: 160%;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport {
	margin: 25px 0 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;

	&.add_flight {}

	&.on {}
}

#top_form div.form_cont div.tab-content div.tab-panel #excursion div.airport:nth-of-type(n+2) {
	margin: 10px 0 0;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place {
	width: 350px;
	margin: 0 0 10px;
	padding: 0;
	position: relative;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.input {
	width: 350px;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 55;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.input.excursion_input {
	width: 230px;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.input:before {
	position: absolute;
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 0;
	top: 14px;
	left: 10px;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place.airport1 div.input:before {
	background: url(../images/icon/top_tab_departure.png) center / contain no-repeat;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place.airport2 div.input:before {
	background: url(../images/icon/top_tab_arrival.png) center / contain no-repeat;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.input .resetBtn {
	position: absolute;
	content: '';
	display: none;
	width: 20px;
	margin: 0;
	padding: 0;
	top: 6px;
	right: 10px;
	z-index: 1;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.input .resetBtn img {
	width: 100%;
	height: auto;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place #popup1,
#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place #popup3,
#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place #popup5,
#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place #popup7,
#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place #popup9,
#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place #popup11,
#top_form div.form_cont div.tab-content div.tab-panel #circleContainer .circle-segments .circle-segment .airport .airport_place [id^="circlePopup1_"] {
	display: none;
	position: absolute;
	width: 550px;
	max-height: 300px;
	margin: 0;
	padding: 15px;
	text-align: left;
	/*border: 3px solid #CC0001;*/
	background: #F7F7F7;
	top: 75px;
	left: 0;
	z-index: 1000;
	overflow-y: auto;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place #popup2,
#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place #popup4,
#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place #popup6,
#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place #popup8,
#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place #popup10,
#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place #popup12,
#top_form div.form_cont div.tab-content div.tab-panel #circleContainer .circle-segments .circle-segment .airport .airport_place.excursion [id^="circlePopup2_"] {
	display: none;
	position: absolute;
	width: 550px;
	max-height: 300px;
	margin: 0;
	padding: 15px;
	text-align: left;
	/*border: 3px solid #CC0001;*/
	background: #F7F7F7;
	top: 75px;
	right: 0;
	z-index: 1000;
	overflow-y: auto;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.popup dt {
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 14px;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.popup dt:nth-of-type(n+2) {
	margin-top: 10px;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.popup dt strong {
	margin-right: 10px;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.popup dd {
	width: 100%;
	margin: 0;
	padding: 4px 5px 7px;
	background: #DDD;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.popup dd a {
	display: inline-block;
	margin: 5px 5px 0 0;
	padding: 0 5px;
	color: #333;
	font-size: 14px;
	line-height: 160%;
	text-decoration: none;
	border: 1px solid #999;
	border-radius: 3px;
	background: #fff;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.popup dd a:hover {
	background: #FDE4E4;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.popup .close_btn {
	width: 100%;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: flex-end;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.popup .close_btn p {
	width: 20px;
	margin: 0;
	padding: 0;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.popup .close_btn p img {
	width: 100%;
	height: auto;
	cursor: pointer;
}

/* 确保周遊区间弹窗样式正确应用 */
#top_form div.form_cont div.tab-content div.tab-panel #circleContainer .circle-segments .circle-segment .airport .airport_place [id^="circlePopup1_"],
#top_form div.form_cont div.tab-content div.tab-panel #circleContainer .circle-segments .circle-segment .airport .airport_place.excursion [id^="circlePopup2_"] {
	display: none;
	position: absolute !important;
	z-index: 1000 !important;
	max-height: 300px !important;
	overflow-y: auto !important;
	background: #F7F7F7 !important;
	padding: 15px !important;
	text-align: left !important;
}

#top_form div.form_cont div.tab-content div.tab-panel #circleContainer .circle-segments .circle-segment .airport .airport_place [id^="circlePopup1_"] {
	width: 550px !important;
	top: 75px !important;
	left: 0 !important;
}

#top_form div.form_cont div.tab-content div.tab-panel #circleContainer .circle-segments .circle-segment .airport .airport_place.excursion [id^="circlePopup2_"] {
	width: 550px !important;
	top: 75px !important;
	right: 0 !important;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.replacement {
	width: 60px;
	margin: 0;
	padding: 0;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.replacement.excursion_arrow {
	margin: 0 15px;
}

#top_form div.form_cont div.tab-content div.tab-panel div.more_btn,
#top_form div.form_cont div.tab-content div.tab-panel div.more_btn2 {
	margin: 10px 0;
	padding: 0;
	font-size: 14px;
	line-height: 160%;
	cursor: pointer;

	span {
		display: inline-block;
		margin: 0 0.5em 0 0;
		padding: 0 0.5em;
		background: #CC0000;
		color: #fff;
	}

	&.btn2 {}

	&.on {}
}

#top_form div.form_cont div.tab-content div.tab-panel div.day_option {
	margin: 20px 0 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.day_option {
	margin: 0 0 10px 15px !important;
}

#top_form div.form_cont div.tab-content div.tab-panel div.day_option div.day_option_box {
	width: 185px;
	margin: 0;
	padding: 0;

	&.long {
		width: 350px;
		margin-right: 40px;
	}

	&.excursion_input_day {
		width: 230px;
	}

	&.excursion_input_day2 {
		width: 150px;
	}
}

#top_form div.form_cont div.tab-content div.tab-panel div.day_option div.day_option_box div {
	width: 185px;
	margin: 0;
	padding: 0;
	position: relative;

	&.long {
		width: 350px;
	}

	&.excursion_input_day {
		width: 230px;
	}

	&.excursion_input_day2 {
		width: 150px;
	}
}

#top_form div.form_cont div.tab-content div.tab-panel div.day_option div.day_option_box div:before {
	position: absolute;
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 0;
	top: 15px;
	left: 10px;
}

#top_form div.form_cont div.tab-content div.tab-panel div.day_option div.day_option_box.day1 div:before,
#top_form div.form_cont div.tab-content div.tab-panel div.day_option div.day_option_box.day2 div:before {
	background: url(../images/icon/top_tab_calendar.png) center / contain no-repeat;
}

#top_form div.form_cont div.tab-content div.tab-panel div.day_option div.day_option_box.airline div:before {
	background: url(../images/icon/top_tab_airplane.png) center / contain no-repeat;
}

#top_form div.form_cont div.tab-content div.tab-panel div.day_option div.day_option_box.seat div:before {
	background: url(../images/icon/top_tab_seat.png) center / contain no-repeat;
}

#top_form div.form_cont div.tab-content div.tab-panel div.day_option div.delete_btn {
	width: 70px;
	margin: 0 0 3px 10px;
	padding: 5px;
	background: #CC0000;
	color: #fff;
	font-size: 14px;
	line-height: 160%;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;

	span {
		display: inline-block;
		margin-left: 0.5em;
	}
}

#top_form div.form_cont div.tab-content div.tab-panel div.excursion_btm {
	margin: 10px 0 0;
	padding: 0;
	font-size: 14px;
	line-height: 160%;

	strong {
		font-weight: bold;
	}
}

#top_form div.form_cont div.tab-content div.tab-panel div.passengers_txt {
	margin: 30px 0 0;
	padding: 0;
	font-size: 15px;
	line-height: 180%;
	font-weight: var(--weight-bold2);

	small {
		margin-left: 1em;
		font-size: 14px;
		font-weight: var(--weight-nomal);
	}
}

#top_form div.form_cont div.tab-content div.tab-panel div.number_of_passengers {
	margin: 0 0 30px;
	padding: 0;
	display: flex;
}

#top_form div.form_cont div.tab-content div.tab-panel div.number_of_passengers div.passengers {
	width: 230px;
	margin: 0 20px 0 0;
	padding: 0;
	position: relative;
}

#top_form div.form_cont div.tab-content div.tab-panel div.number_of_passengers div.passengers:before {
	position: absolute;
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 0;
	background: url(../images/icon/top_tab_passenger.png) center / contain no-repeat;
	top: 15px;
	left: 10px;
}

#top_form div.form_cont div.tab-content div.tab-panel div.number_of_passengers div.passengers_txt {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;

	p {
		margin: 0;
		padding: 0;
		font-size: 12px;
		line-height: 160%;
		font-weight: var(--weight-nomal);
		white-space: nowrap;
	}
}

#top_form div.form_cont div.tab-content div.tab-panel div.change_price {
	margin: 20px 0 0;
	padding: 0;
}

#top_form div.form_cont div.tab-content div.tab-panel div.change_price label {
	margin: 0;
	font-size: 14px;
	line-height: 160%;
}

#top_form div.form_cont div.tab-content div.tab-panel input[type=checkbox] {
	width: 15px;
	height: 15px;
	margin: 0 5px 0 0;
	border: 2px solid #000;
	vertical-align: -0.1em;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
}

#top_form div.form_cont div.tab-content div.tab-panel input[type="checkbox"]:checked:before {
	position: absolute;
	content: '';
	top: 0;
	left: 3px;
	transform: rotate(50deg);
	width: 5px;
	height: 10px;
	border-right: 2px solid #CC0001;
	border-bottom: 2px solid #CC0001;
}

#top_form div.form_cont div.tab-content div.tab-panel input[type=radio] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 15px;
	height: 15px;
	margin: 0 5px 0 0;
	border: 2px solid #CCCCCC;
	border-radius: 50%;
	vertical-align: -0.1em;
	position: relative;
}

#top_form div.form_cont div.tab-content div.tab-panel input[type=radio]:checked:before {
	position: absolute;
	content: '';
	display: block;
	width: 15px;
	height: 15px;
	margin: 0;
	border: 4px solid #CC0001;
	border-radius: 50%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#top_form div.form_cont div.tab-content div.tab-panel select,
#top_form div.form_cont div.tab-content div.tab-panel input[type=text],
#top_form div.form_cont div.tab-content div.tab-panel input[type=number],
#top_form div.form_cont div.tab-content div.tab-panel input[type=date] {
	width: 100%;
	height: 40px;
	margin: 5px 0 0;
	padding: 5px 10px 5px 45px;
	font-size: 16px;
	line-height: 180%;
	font-family: 'Noto Sans JP', sans-serif;
	border: 1px solid #CCCCCC;
	border-radius: 5px;
}

#top_form div.form_cont div.tab-content div.tab-panel div.search_btn {
	margin: 15px 0 0;
	padding: 0;
	text-align: center;
}

#top_form div.form_cont div.tab-content div.tab-panel div.search_btn button {
	width: 290px;
	height: 60px;
	font-size: 18px;
	line-height: 120%;
	margin: 0 auto;
	padding: 0;
	font-family: 'Noto Sans JP', 'Yu Gothic', YuGothic, '游ゴシック体', 'Noto Sans JP', 'メイリオ', Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', Osaka, sans-serif;
	color: #fff;
	font-weight: var(--weight-bold2);
	cursor: pointer;
	border: none;
	border-radius: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: linear-gradient(to right, #CC0001 0%, #E4148B 50%, #CC0001 100%);
	background-size: 200% auto;
	background-position: left center;
	transition: 0.2s linear;
}

#top_form div.form_cont div.tab-content div.tab-panel div.search_btn button:hover {
	background-position: right center;
}


/* 最安値 国内オススメ 航空券 */
#recommend {
	width: 100%;
	margin: 0 auto;
	padding: 50px 0 30px;
	background: #FEF8F8;
}

#recommend div.recommend_in {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}

#recommend div.recommend_in h2 {
	margin: 0 auto;
	padding: 0 0 5px;
	font-size: 22px;
	line-height: 180%;
	font-weight: var(--weight-bold2);
	border-bottom: 1px solid #CCCCCC;
}

#recommend div.recommend_in ul.air_ticket {
	margin: 20px auto 0;
}

#recommend div.recommend_in ul.air_ticket li {}

#recommend div.recommend_in ul.air_ticket li a {
	height: 80px;
	background: #fff;
	border: 1px solid #CC0001;
	border-radius: 5px;
}

#recommend div.recommend_in ul.air_ticket li a:hover {
	background: #F4F5F6;
	border: 1px solid #0A57A9;
	border-radius: 5px;
}

#recommend div.recommend_in div.more_btn {
	margin: 20px auto 0;
	padding: 0;
}

#recommend div.recommend_in div.more_btn a {
	width: 220px;
	height: 40px;
	margin: 0 auto;
	padding: 0;
	font-size: 15px;
	line-height: 120%;
	color: #000;
	text-decoration: none;
	font-weight: var(--weight-bold2);
	background: #fff;
	border-radius: 20px;
	box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.2);
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

#recommend div.recommend_in div.more_btn a:hover {
	background: #F4F5F6;
}

#recommend div.recommend_in div.more_btn a:before {
	position: absolute;
	content: '';
	display: block;
	width: 9px;
	height: 15px;
	margin: 0;
	padding: 0;
	background: url(../images/icon/arrow02.png) center / contain no-repeat;
	top: calc(50% - 7px);
	right: 15px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}


#top_bnr1 {
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 0 80px;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#top_bnr1 li {
	width: 280px;
	margin: 0;
	padding: 0;
}

#top_bnr1 li.large {
	width: 587px;
}

#top_bnr1 li:nth-of-type(n+3) {
	margin-top: 30px;
}

#top_bnr1 li a:hover {
	opacity: 0.8;
}


/* ⼈気の発着地から格安航空券・LCCを探す */
#recommend_destination {}

#recommend_destination ul.air_ticket {
	width: 1200px;
	margin: 0 auto;
	padding: 40px 0 0;
}

#recommend_destination ul.air_ticket li:nth-of-type(n+5) {
	margin-top: 20px;
}

#recommend_destination ul.air_ticket li a {
	background: #fff;
	border-radius: 5px;
}

#recommend_destination ul.air_ticket li:nth-of-type(n+5) a {
	height: 80px;
}

#recommend_destination ul.air_ticket li:not(:nth-of-type(n+5)) a {
	margin-bottom: 10px;
	height: 90px;
	border: 1px solid #CC0001;
	justify-content: flex-start;
}

#recommend_destination ul.air_ticket li:not(:nth-of-type(n+5)) a h3 {
	width: 100%;
	height: 42px;
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 150%;
	font-weight: var(--weight-nomal);
	color: #000;
	background: linear-gradient(to right, rgba(219, 0, 0, 0.2) 0%, rgba(242, 0, 139, 0.2) 100%);
	display: flex;
	justify-content: center;
	align-items: center;
}

#recommend_destination ul.air_ticket li:not(:nth-of-type(n+5)) a h4 {
	margin-top: 5px;
}

#recommend_destination ul.air_ticket li a:hover {
	background: #F4F5F6;
	border: 1px solid #CC0001;
	border-radius: 5px;
}

#recommend_destination ul.air_ticket li:not(:nth-of-type(n+5)) a:hover {
	border: 1px solid #0A57A9;
}


/* ⼈気の航空会社からEASY TICKETの格安航空券・ LCCを探す */
#recommend_destination {}

#recommend_airline ul.airline {
	width: 1200px;
	margin: 0 auto;
	padding: 20px 0 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

#recommend_airline ul.airline li {
	width: 280px;
	margin: 30px 0 0;
	padding: 0;
}

#recommend_airline ul.airline li:not(:nth-of-type(4n-3)) {
	margin-left: calc(80px /3);
}

#recommend_airline ul.airline li a {
	display: block;
	width: 100%;
	margin: auto;
	padding: 0;
	color: #333333;
	text-decoration: none;
}

#recommend_airline ul.airline li a:hover {
	opacity: 0.8;
}

#recommend_airline ul.airline li a img {
	width: 100%;
	height: auto;
}

#recommend_airline ul.airline li a p {
	margin: 10px 0 0;
	padding: 0;
	font-size: 13px;
	line-height: 180%;
	text-align: left;
}

#recommend_airline h3 {
	display: inline-block;
	margin: 40px auto 0;
	padding: 0;
	font-size: 24px;
	line-height: 180%;
	font-weight: var(--weight-bold2);
	position: relative;
}

#recommend_airline h3:before,
#recommend_airline h3:after {
	position: absolute;
	content: '';
	display: block;
	width: 3px;
	height: 70px;
	background: #333;
	top: -5px;
}

#recommend_airline h3:before {
	left: -40px;
	transform: rotate(-45deg);
}

#recommend_airline h3:after {
	right: -40px;
	transform: rotate(45deg);
}

#recommend_airline div.value_ticket {
	width: 1200px;
	margin: 60px auto 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
}

#recommend_airline div.value_ticket div.value_box {
	width: 570px;
	margin: 0;
	padding: 50px 0 0;
	background: #F4F5F6;
	border-radius: 10px 10px 0 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}

#recommend_airline div.value_ticket div.value_box img.point {
	position: absolute;
	display: block;
	width: 163px;
	height: auto;
	margin: 0;
	padding: 0;
	top: -30px;
	left: 10px;
}

#recommend_airline div.value_ticket div.value_box h4 {
	margin: 0 auto;
	padding: 0;
	font-size: 18px;
	line-height: 180%;
	font-weight: var(--weight-bold2);
}

#recommend_airline div.value_ticket div.value_box p {
	margin: 10px auto 0;
	padding: 0 35px;
	font-size: 15px;
	line-height: 180%;
	text-align: left;
	flex-grow: 1;
}

#recommend_airline div.value_ticket div.value_box img.value_ticket_img {
	width: 100%;
	height: auto;
	margin: 25px auto 0;
	padding: 0;
}


/* Information */
#info {}

#info div.info_box {
	max-width: 1360px;
	margin: 45px auto 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
}

#info div.info_box div.box {
	width: 30.89%;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

#info div.info_box div.box h3 {
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 180%;
	font-weight: var(--weight-bold2);
	display: flex;
	justify-content: center;
	align-items: center;
}

#info div.info_box div.box:nth-of-type(1) h3 {
	background: linear-gradient(to right, rgba(204, 0, 1, 0.2) 0%, rgba(228, 20, 140, 0.2) 100%);
	border-radius: 10px 10px 0 0;
}

#info div.info_box div.box:nth-of-type(2) h3 {
	background: linear-gradient(to right, rgba(108, 15, 164, 0.2) 0%, rgba(20, 117, 197, 0.2) 100%);
	border-radius: 10px 10px 0 0;
}

#info div.info_box div.box:nth-of-type(3) h3 {
	background: linear-gradient(to right, rgba(0, 131, 137, 0.2) 0%, rgba(18, 179, 0, 0.2) 100%);
	border-radius: 10px 10px 0 0;
}

#info div.info_box div.box dl {
	width: 100%;
	margin: 0;
	padding: 30px 24px 25px;
	text-align: left;
	background: #fff;
	border-radius: 0 0 10px 10px;
	flex-grow: 1;
}

#info div.info_box div.box dl dt {
	margin: 35px 0 0;
	padding: 0;
	font-size: 15px;
	line-height: 180%;
	font-weight: var(--weight-bold2);
}

#info div.info_box div.box dl dt:first-of-type {
	margin-top: 0;
}

#info div.info_box div.box dl dd {
	margin: 5px 0 0;
	padding: 0;
	font-size: 14px;
	line-height: 180%;
}


/* 最安値　国内オススメ格安航空券・セール情報 */
#recommend_airline_sale {}

#recommend_airline_sale img.sale_mark {
	position: absolute;
	display: block;
	width: 265px;
	height: auto;
	margin: 0;
	padding: 0;
	top: 25px;
	left: calc(50% + 365px);
}

#recommend_airline_sale ul.air_ticket {
	width: 1200px;
	margin: 0 auto;
	padding: 40px 0 0;
}

#recommend_airline_sale ul.air_ticket li:nth-of-type(n+5) {
	margin-top: 20px;
}

#recommend_airline_sale ul.air_ticket li a {
	height: 80px;
	background: #F4F5F6;
	border: 1px solid #F4F5F6;
	border-radius: 5px;
}

#recommend_airline_sale ul.air_ticket li a:hover {
	background: #fff;
	border: 1px solid #CC0001;
	border-radius: 5px;
}


/* ⼈気の発着地から格安航空券・LCCを探す */
#review {}

#review div.evaluation_cont {
	width: 1000px;
	margin: 5px auto 0;
	padding: 0;
}

#review div.evaluation_cont div.total_evaluation {
	display: inline-block;
	margin: 10px auto 0;
	padding: 20px 28px 20px 30px;
	position: relative;
}

#review div.evaluation_cont div.total_evaluation:before,
#review div.evaluation_cont div.total_evaluation:after {
	position: absolute;
	content: '';
	display: block;
	width: 49px;
	height: 144px;
	margin: 0;
	padding: 0;
	top: 0;
}

#review div.evaluation_cont div.total_evaluation:before {
	background: url(../images/top/total_evaluation_l.png) center / contain no-repeat;
	left: -49px;
}

#review div.evaluation_cont div.total_evaluation:after {
	background: url(../images/top/total_evaluation_r.png) center / contain no-repeat;
	right: -49px;
}

#review div.evaluation_cont div.total_evaluation h3 {
	margin: 0 auto;
	padding: 0;
	font-size: 50px;
	line-height: 180%;
	font-weight: var(--weight-bold2);
}

#review div.evaluation_cont div.total_evaluation h3 small {
	display: inline-block;
	margin: 0 20px 0 0;
	padding: 0;
	font-size: 24px;
	line-height: 180%;
	font-weight: var(--weight-bold2);
}

#review div.evaluation_cont div.total_evaluation div.star {
	margin: 0 auto 0;
	padding: 0;
	font-size: 20px;
	line-height: 1em;
	letter-spacing: .2em;
	color: #CCCCCC;
	position: relative;
}

#review div.evaluation_cont ul.filter {
	margin: 35px auto 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: flex-end;
}

#review div.evaluation_cont ul.filter h3 {
	height: 30px;
	margin: 0;
	padding: 2px 1.5em 0;
	font-size: 13px;
	line-height: 180%;
	font-weight: var(--weight-nomal);
	color: #fff;
	background: #333333;
	border: 1px solid #333333;
	border-radius: 5px;
}

#review div.evaluation_cont ul.filter li {
	margin: 0 0 0 10px;
	padding: 0;
}

#review div.evaluation_cont ul.filter li a {
	display: block;
	height: 30px;
	margin: 0;
	padding: 2px 0.7em 0;
	font-size: 13px;
	line-height: 180%;
	font-weight: var(--weight-nomal);
	text-decoration: none;
	color: #CC0000;
	background: #fff;
	border: 1px solid #CCCCCC;
	border-radius: 5px;
}

#review div.evaluation_cont ul.filter li a:hover {
	background: #CCCCCC;
}

#review div.evaluation_cont div.evaluation_box {
	margin: 20px auto 0;
	padding: 40px 35px;
	background: #fff;
	border-radius: 10px;
	display: flex;
	align-items: flex-start;
}

#review div.evaluation_cont div.evaluation_box div.evaluation_purpose {
	width: 335px;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: flex-start;
}

#review div.evaluation_cont div.evaluation_box div.evaluation_purpose div.evaluation {
	width: 160px;
	margin: 0;
	padding: 0 18px 0 0;
	border-right: 1px solid #CCCCCC;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#review div.evaluation_cont div.evaluation_box div.evaluation_purpose div.evaluation h4 {
	margin: 0;
	padding: 0;
	font-size: 50px;
	line-height: 100%;
	font-weight: var(--weight-bold2);
}

#review div.evaluation_cont div.evaluation_box div.evaluation_purpose div.evaluation div.star {
	margin: 10px 0 0;
	padding: 0;
	font-size: 16px;
	line-height: 1em;
	letter-spacing: .2em;
	color: #CCCCCC;
	position: relative;
}

#review div.evaluation_cont div.evaluation_box div.evaluation_purpose div.evaluation div.useful {
	width: 124px;
	margin: 15px 0 0;
	padding: 0;
}

#review div.evaluation_cont div.evaluation_box div.evaluation_purpose div.evaluation div.useful a {
	width: 124px;
	height: 30px;
	margin: 0;
	padding: 0;
	font-size: 12px;
	line-height: 160%;
	color: #000000;
	border: 1px solid #CCCCCC;
	border-radius: 5px;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
}

#review div.evaluation_cont div.evaluation_box div.evaluation_purpose div.evaluation div.useful a:hover {
	border: 1px solid #CC0001;
}

#review div.evaluation_cont div.evaluation_box div.evaluation_purpose div.evaluation div.useful a img {
	margin: 0 5px 0 0;
	padding: 0;
}

#review div.evaluation_cont div.evaluation_box div.evaluation_purpose div.evaluation div.useful a p {
	margin: 0 0 0 8px;
	padding: 0;
	font-size: 14px;
	line-height: 160%;
	color: #CC0001;
	font-weight: var(--weight-bold2);
}

#review div.evaluation_cont div.evaluation_box div.evaluation_purpose div.purpose {
	margin: 0;
	padding: 0 0 0 30px;
	font-size: 14px;
	line-height: 180%;
	text-align: left;
}

#review div.evaluation_cont div.evaluation_box div.txt {
	width: calc(100% - 335px);
	margin: 0;
	padding: 0 0 0 20px;
	text-align: left;
}

#review div.evaluation_cont div.evaluation_box div.txt p {
	margin: 1em 0 0;
	font-size: 14px;
	line-height: 180%;
}

#review div.evaluation_cont div.evaluation_box div.txt p:first-of-type {
	margin-top: 0;
}


/* 格安航空券の予約⽅法 */
#reservation {}

#reservation ul.flow {
	width: 1200px;
	margin: 45px auto 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: flex-start;
}

#reservation ul.flow li {
	width: 270px;
	margin: 0;
	padding: 0;
	position: relative;
}

#reservation ul.flow li:not(:nth-of-type(4n-3)) {
	margin-left: calc(120px /3);
}

#reservation ul.flow li:after {
	position: absolute;
	content: '';
	display: block;
	width: 15px;
	height: 25px;
	margin: 0;
	padding: 0;
	background: url(../images/icon/arrow02.png) center / contain no-repeat;
	top: 98px;
	right: -28px;
}

#reservation ul.flow li:last-of-type:after {
	display: none;
}

#reservation ul.flow li img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.2);
}

#reservation ul.flow li dl {
	width: 100%;
	height: 50px;
	margin: 10px auto 0;
	padding: 0 10px;
	text-align: left;
	display: flex;
	align-items: center;
}

#reservation ul.flow li dl dt {
	width: 40px;
	margin: 0;
	padding: 0;
	font-size: 38px;
	line-height: 120%;
	font-weight: var(--weight-extrabold2);
	font-style: italic;
	color: #CC0001;
}

#reservation ul.flow li dl dd {
	width: calc(100% - 40px);
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 180%;
}

#reservation div.more_btn {
	margin: 20px auto 0;
	padding: 0;
}

#reservation div.more_btn a {
	width: 444px;
	height: 40px;
	margin: 0 auto;
	padding: 0;
	font-size: 15px;
	line-height: 120%;
	color: #000;
	text-decoration: none;
	font-weight: var(--weight-bold2);
	background: #fff;
	border-radius: 20px;
	box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.2);
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

#reservation div.more_btn a:hover {
	background: #F4F5F6;
}

#reservation div.more_btn a:before {
	position: absolute;
	content: '';
	display: block;
	width: 9px;
	height: 15px;
	margin: 0;
	padding: 0;
	background: url(../images/icon/arrow02.png) center / contain no-repeat;
	top: calc(50% - 7px);
	right: 15px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}


/* よくあるご質問 */
#faq {}

#faq dl {
	width: 1000px;
	margin: 0 auto;
	padding: 45px 0 0;
	text-align: left;
}

#faq dl dt {
	width: 100%;
	margin: 20px 0 0;
	padding: 15px 50px 15px 20px;
	background: #fff;
	border-radius: 5px;
	position: relative;
}

#faq dl dt:first-of-type {
	margin-top: 0;
}

#faq dl dt h3 {
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 180%;
	font-weight: var(--main-font-nomal);
	display: flex;
	align-items: flex-start;
}

#faq dl dt h3 span {
	display: inline-block;
	margin: 0 20px 0 0;
	padding: 0;
	font-size: 20px;
	line-height: 120%;
	font-weight: var(--weight-bold2);
	color: #CC0000;
}

#faq dl dt:after {
	position: absolute;
	content: '';
	display: block;
	width: 10px;
	height: 16px;
	margin: auto;
	padding: 0;
	top: calc(50% - 5px);
	right: 25px;
	cursor: pointer;
	transition: 0.2s linear;
}

#faq dl dt:after {
	background: url(../images/icon/arrow02.png) center / contain no-repeat;
	transform: rotate(90deg);
}

#faq dl dt.active:after {
	transform: rotate(-90deg);
}

#faq dl dd {
	display: none;
	width: 100%;
	margin: 15px 0 0;
	padding: 0 55px 15px;
	font-size: var(--size-nomal1);
	line-height: 180%;
}

#faq dl dd p {
	margin: 1.0em 0 0;
	padding: 0;
	font-size: 14px;
	line-height: 180%;
}

#faq dl dd p:first-of-type {
	margin: 0;
}


/* 格安航空券・LCC（国内線）検索⽐較予約サイト“EASY TICKET” とは？ */
#about {
	width: 1000px;
}

#about ul.about_img {
	margin: 45px auto 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
}

#about ul.about_img li {
	width: 300px;
	margin: 0;
	padding: 0;
}

#about ul.about_img li img {
	width: 300px;
	height: 300px;
	border-radius: 50%;
}

#about div.contact_box {
	width: 640px;
	margin: 55px auto 0;
	padding: 0;
	background: #fff;
	box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.2);
	border-radius: 10px;
	display: flex;
	flex-direction: column;
}

#about div.contact_box h3 {
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 0;
	font-size: 18px;
	line-height: 180%;
	font-weight: var(--weight-bold2);
	background: linear-gradient(to right, rgba(219, 0, 0, 0.2) 0%, rgba(242, 0, 139, 0.2) 100%);
	border-radius: 10px 10px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

#about div.contact_box div.txt {
	width: 100%;
	margin: 0;
	padding: 30px 75px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#about div.contact_box div.txt h4 {
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

#about div.contact_box div.txt h4 a {
	display: inline-block;
	margin: 0 10px;
	padding: 0;
	font-size: 44px;
	line-height: 180%;
	color: #333333;
	font-weight: var(--weight-bold2);
	text-decoration: none;
	pointer-events: none;
}

#about div.contact_box div.txt h4 small {
	display: inline-block;
	margin: 17px 0 0;
	padding: 0;
	font-size: 14px;
	line-height: 180%;
	font-weight: var(--weight-nomal);
}

#about div.contact_box div.time {
	width: 100%;
	margin: 0 auto 0;
	padding: 8px;
	font-size: 14px;
	line-height: 180%;
	background: #F4F5F6;
	border-radius: 5px;
}

#about div.contact_box p {
	margin: 0 auto;
	padding: 0;
	font-size: 13px;
	line-height: 180%;
}

#about div.contact_box p:first-of-type {
	margin-top: 10px;
}

div.form_in {
	width: 1000px;
	margin: 50px auto 0;
	padding: 0;
}

div.cont_tbl {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

div.cont_tbl p {
	margin: 0;
	padding: 0;
	font-size: 13px;
	line-height: 180%;
	text-align: left;
}

div.cont_tbl p span {
	color: #CC0000;
}

div.cont_tbl dl {
	width: 100%;
	margin: 10px auto 0;
	padding: 0;
	font-size: 16px;
	line-height: 200%;
	text-align: left;
	display: flex;
	flex-wrap: wrap;
}

div.cont_tbl dl dt {
	width: 260px;
	margin: 0;
	padding: 0 20px;
	font-weight: var(--main-font-nomal);
	border-top: 1px solid #E8E8E8;
	display: flex;
	align-items: center;
}

div.cont_tbl dl dt span.required {
	background: #CC0000;
	border-radius: 4px;
	color: #FFF;
	display: inline-block;
	margin: 0 0 0 8px;
	padding: 0px 6px;
	font-size: 14px;
	line-height: 160%;
}

div.cont_tbl dl dd {
	width: 740px;
	margin: 0;
	padding: 10px 20px;
	border-top: 1px solid #E8E8E8;
}

div.cont_tbl dl dd.privacy,
div.cont_tbl dl.frame dd {
	width: 740px;
	margin: 0;
	padding: 15px 20px;
	border-top: 1px solid #E8E8E8;
}

div.cont_tbl input[type=text],
div.cont_tbl input[type=number],
div.cont_tbl input[type=tel],
div.cont_tbl input[type=email] {
	width: 100%;
	padding: 7px 10px;
	font-size: 18px;
	line-height: 170%;
	font-family: "Noto Sans JP", sans-serif;
	border: none;
	background: #F9F9F9;
}

div.cont_tbl textarea {
	width: 100%;
	height: 175px;
	padding: 7px 10px;
	font-size: 18px;
	line-height: 170%;
	font-family: "Noto Sans JP", sans-serif;
	border: none;
	background: #F9F9F9;
}

div.cont_tbl input[type=checkbox],
div.cont_tbl input[type=radio] {
	margin: 0 5px 0 0;
	width: 15px;
	height: 15px;
	vertical-align: -0.1em;
}

div.cont_tbl div.privacy_box {
	width: 100%;
	height: 186px;
	margin: 0;
	padding: 10px 20px;
	font-size: 14px;
	line-height: 200%;
	background: #F9F9F9;
	overflow-y: auto;
}

div.cont_tbl div.privacy_box storng {
	font-weight: var(--main-font-bold1);
}

div.cont_tbl div.privacy_link {
	margin: 5px 0 0;
	padding: 0;
	display: flex;
	justify-content: center;
}

div.cont_tbl div.privacy_link label {
	display: inline-block;
	margin: 0 40px;
	padding: 0;
}

#contact_btn {
	width: 100%;
	margin: 0 auto;
	padding: 50px 0 0;
	text-align: center;
}

div.form_btn1 {
	display: inline-block;
	width: 280px;
	margin: 5px 5px;
}

div.form_btn1 button {
	display: block;
	width: 280px;
	height: 40px;
	font-size: 15px;
	line-height: 120%;
	margin: 0 auto;
	padding: 0;
	background: #fff;
	font-family: "Noto Sans JP", sans-serif;
	color: #333;
	font-weight: var(--main-font-bold2);
	cursor: pointer;
	border: 1px solid #fff;
	border-radius: 20px;
	box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.2);
	transition: 0.2s linear;
	position: relative;
}

div.form_btn1 button:hover {
	border: 1px solid #F4F5F6;
	background: #F4F5F6;
}

div.form_btn1 button:before {
	position: absolute;
	content: '';
	display: block;
	width: 9px;
	height: 15px;
	margin: 0;
	padding: 0;
	background: url(../images/icon/arrow02.png) center / contain no-repeat;
	top: calc(50% - 7px);
	right: 15px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}


div.form_btn2 {
	display: inline-block;
	width: 280px;
	margin: 5px 5px;
}

div.form_btn2 button {
	display: block;
	width: 280px;
	height: 40px;
	font-size: 15px;
	line-height: 120%;
	margin: 0 auto;
	padding: 0;
	background: #fff;
	font-family: "Noto Sans JP", sans-serif;
	color: #333;
	font-weight: var(--main-font-bold2);
	cursor: pointer;
	border: 1px solid #fff;
	border-radius: 20px;
	box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.2);
	transition: 0.2s linear;
	position: relative;
}

div.form_btn2 button:hover {
	border: 1px solid #F4F5F6;
	background: #F4F5F6;
}

div.form_btn2 button:before {
	position: absolute;
	content: '';
	display: block;
	width: 9px;
	height: 15px;
	margin: 0;
	padding: 0;
	background: url(../images/icon/arrow02.png) center / contain no-repeat;
	top: calc(50% - 7px);
	right: 15px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}