@charset "UTF-8";

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

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

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

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

div.cont_read {
	margin: 0 auto;
	padding: 0.5em 0 0;
	font-size: 3.6vw;
	line-height: 180%;
	text-align: left;
}

div.cont_read p {
	margin: 1em 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: 49%;
	margin: 0;
	padding: 0;
}

ul.air_ticket li:nth-of-type(even) {
	margin-left: 2%;
}

ul.air_ticket li:nth-of-type(n+3) {
	margin-top: 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: 3.0vw;
	line-height: 150%;
	font-weight: var(--weight-nomal);
	color: #000;
}

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

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

img.cont_ico {
	position: absolute;
	display: block;
	width: 20%;
	height: auto;
	margin: auto;
	padding: 0;
	top: -1.4em;
	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: 4.0em 2% 1.5em;
	background: url(../images/top/top_bg_sp.jpg) top center / cover no-repeat;
}

#top_form div.form_cont {
	width: 100%;
	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%;
	margin: 0;
	padding: 1em 0.5em;
	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: 0.5em 0 0 0;
}

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

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

#top_form div.form_cont ul.tab-list li.tab-item img {
	width: 20%;
	height: auto;
}

#top_form div.form_cont ul.tab-list li.tab-item img.passive {
	display: block;
}

#top_form div.form_cont ul.tab-list li.tab-item img.active {
	display: none;
}

#top_form div.form_cont ul.tab-list li.tab-item.active img.passive {
	display: none;
}

#top_form div.form_cont ul.tab-list li.tab-item.active img.active {
	display: block;
}

#top_form div.form_cont ul.tab-list li.tab-item h3 {
	margin: 0.8em 0 0;
	padding: 0;
	font-size: 2.6vw;
	line-height: 160%;
	font-weight: var(--weight-bold2);
}

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

#top_form div.form_cont div.tab-content {
	width: 100%;
	margin: 0 auto;
	padding: 5% 3% 5%;
	text-align: left;
	background: #fff;
	border-radius: 0 0 0.5em 0.5em;
}

#top_form div.form_cont div.tab-content div.tab-panel h4 {
	margin: 0;
	padding: 0;
	font-size: 3.8vw;
	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 2em 0 0;
	font-size: 3.6vw;
	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: 3.4vw;
	line-height: 160%;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport {
	margin: 1.5em 0 0;
	padding: 0;
	position: relative;

	&.add_flight {}

	&.on {}
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place {
	width: 90%;
	margin: 0;
	padding: 0;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place.airport2 {
	margin-top: 3%;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place.airport2.excursion {
	margin-top: 8%;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.input {
	width: 100%;
	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:before {
	position: absolute;
	content: '';
	display: block;
	width: 1.3em;
	height: 1.3em;
	margin: 0;
	padding: 0;
	top: 1.2em;
	left: 3%;
}

#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: 1.3em;
	margin: 0;
	padding: 0;
	top: 0.9em;
	right: 0.5em;
	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: 100%;
	max-height: 250px;
	margin: 0;
	padding: 5% 3%;
	text-align: left;
	/*border: 2px solid #CC0001;*/
	background: #F7F7F7;
	top: 5.5em;
	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: 100%;
	max-height: 250px;
	margin: 0;
	padding: 5% 3%;
	text-align: left;
	/*border: 2px solid #CC0001;*/
	background: #F7F7F7;
	top: 11.5em;
	left: 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: 3.6vw;
}

#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: 1em;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.popup dt strong {
	display: block;
	margin: 0;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.airport_place div.popup dd {
	width: 100%;
	margin: 0;
	padding: 0.4em 0.4em 1em;
	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: 0.6em 0.2em 0 0;
	padding: 0 0.4em;
	color: #333;
	font-size: 3.4vw;
	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 .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: 6%;
	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: 250px !important;
	overflow-y: auto !important;
	background: #F7F7F7 !important;
	padding: 5% 3% !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: 100% !important;
	top: 5.5em !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: 100% !important;
	top: 11.5em !important;
	left: 0 !important;
}

#top_form div.form_cont div.tab-content div.tab-panel div.airport div.replacement {
	position: absolute;
	display: block;
	width: 15%;
	margin: 0;
	padding: 0;
	top: 5em;
	right: -3%;
	z-index: 1;
}

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

#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: 2em 0;
	padding: 0;
	font-size: 3.6vw;
	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: 0;
	padding: 2% 0 0;
	display: flex;
	flex-wrap: wrap;
	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-top: -0.2em;
	padding: 0;
}

#top_form div.form_cont div.tab-content div.tab-panel div.day_option div.day_option_box {
	width: 48%;
	margin: 4% 0 0;
	padding: 0;

	&.long {
		width: 100%;
	}

	&.excursion_input_day {
		width: 94.8%;
	}
}

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

	&.long {
		width: 100%;
	}

	&.excursion_input_day {
		width: 94.8%;
	}
}

#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: 1.3em;
	height: 1.3em;
	margin: 0;
	padding: 0;
	top: 1.4em;
	left: 5%;
}

#top_form div.form_cont div.tab-content div.tab-panel div.day_option div.day_option_box div.long:before {
	left: 2.5%;
}

#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 {
	margin: 0 40% 0.5em 0;
	padding: 0.3em 0.5em;
	background: #CC0000;
	color: #fff;
	font-size: 3.4vw;
	line-height: 160%;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;

	span {
		display: none;
	}
}

#top_form div.form_cont div.tab-content div.tab-panel div.excursion_btm {
	margin: 1em 0 0;
	padding: 0;
	font-size: 3.6vw;
	line-height: 160%;

	strong {
		font-weight: bold;
	}
}

#top_form div.form_cont div.tab-content div.tab-panel div.passengers_txt {
	margin: 2em 0 0;
	padding: 0;
	font-size: 3.8vw;
	line-height: 180%;
	font-weight: var(--weight-bold2);

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

#top_form div.form_cont div.tab-content div.tab-panel div.number_of_passengers {
	margin: 0 0 5%;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}

#top_form div.form_cont div.tab-content div.tab-panel div.number_of_passengers div.passengers {
	width: 43%;
	margin: 0 3% 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: 1.3em;
	height: 1.3em;
	margin: 0;
	padding: 0;
	background: url(../images/icon/top_tab_passenger.png) center / contain no-repeat;
	top: 1.4em;
	left: 5%;
}

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

	p {
		margin: 0;
		padding: 0 0 0 1em;
		text-indent: -1em;
		font-size: 3.4vw;
		line-height: 160%;
		font-weight: var(--weight-nomal);
	}
}

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

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

#top_form div.form_cont div.tab-content div.tab-panel input[type=checkbox] {
	width: 1.1em;
	height: 1.1em;
	margin: 0 0.5em 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.1em;
	left: 0.3em;
	transform: rotate(50deg);
	width: 0.4em;
	height: 0.8em;
	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: 1.1em;
	height: 1.1em;
	margin: 0 0.5em 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: 1.3em;
	height: 1.3em;
	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%;
	margin: 0.5em 0 0;
	padding: 0.6em 1em 0.6em 2.4em;
	font-size: 3.6vw;
	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: 5% 0 0;
	padding: 0;
	text-align: center;
}

#top_form div.form_cont div.tab-content div.tab-panel div.search_btn button {
	width: 80%;
	height: 2.6em;
	font-size: 3.8vw;
	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: 1.3em;
	display: flex;
	justify-content: center;
	align-items: center;
	background: linear-gradient(to right, #CC0001 0%, #E4148B 100%);
}


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

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

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

#recommend div.recommend_in ul.air_ticket {
	margin: 5% auto 0;
}

#recommend div.recommend_in ul.air_ticket li {}

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

#recommend div.recommend_in div.more_btn {
	margin: 5% auto 0;
	padding: 0;
}

#recommend div.recommend_in div.more_btn a {
	width: 60%;
	height: 2.5em;
	margin: 0 auto;
	padding: 0;
	font-size: 3.6vw;
	line-height: 120%;
	color: #000;
	text-decoration: none;
	font-weight: var(--weight-bold2);
	background: #fff;
	border-radius: 1.25em;
	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:before {
	position: absolute;
	content: '';
	display: block;
	width: 0.6em;
	height: 1.2em;
	margin: 0;
	padding: 0;
	background: url(../images/icon/arrow02.png) center / contain no-repeat;
	top: calc(50% - 0.6em);
	right: 8%;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}


#top_bnr1 {
	margin: 0 auto;
	padding: 10% 4%;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#top_bnr1 li {
	width: 49%;
	margin: 0;
	padding: 0;
}

#top_bnr1 li.large {
	width: 100%;
}

#top_bnr1 li img {
	width: 100%;
	height: auto;
}

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

#top_bnr1 li:nth-of-type(even) {
	margin-left: 2%;
}

#top_bnr1 li:nth-of-type(2) {
	margin-left: 0;
}

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

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

#recommend_destination ul.air_ticket {
	margin: 0 auto;
	padding: 5% 0 0;
}

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

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

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

#recommend_destination ul.air_ticket li:not(:nth-of-type(n+5)) a {
	margin-bottom: 1%;
	height: 4.8em;
	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: 2.4em;
	margin: 0;
	padding: 0;
	font-size: 3.0vw;
	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: 0.2em;
}


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

#recommend_airline ul.airline {
	margin: 0 auto;
	padding: 4% 0 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

#recommend_airline ul.airline li {
	width: 49%;
	margin: 0;
	padding: 0;
}

#recommend_airline ul.airline li:nth-of-type(even) {
	margin-left: 2%;
}

#recommend_airline ul.airline li:nth-of-type(n+3) {
	margin-top: 5%;
}

#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 img {
	width: 100%;
	height: auto;
}

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

#recommend_airline h3 {
	display: inline-block;
	margin: 10% auto 0;
	padding: 0;
	font-size: 4.4vw;
	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: 4em;
	background: #333;
	top: 0;
}

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

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

#recommend_airline div.value_ticket {
	margin: 0 auto;
	padding: 3% 0 0;
}

#recommend_airline div.value_ticket div.value_box {
	width: 100%;
	margin: 10% 0 0;
	padding: 10% 0 0;
	background: #F4F5F6;
	border-radius: 0.5em 0.5em 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: 32%;
	height: auto;
	margin: 0;
	padding: 0;
	top: -1.5em;
	left: 3%;
}

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

#recommend_airline div.value_ticket div.value_box p {
	margin: 1em auto 0;
	padding: 0 5%;
	font-size: 3.6vw;
	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: 1.2em auto 0;
	padding: 0;
}


/* Information */
#info {}

#info div.info_box {
	margin: 0 auto;
	padding: 0;
}

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

#info div.info_box div.box:first-of-type {
	margin: 5% 0 0;
}

#info div.info_box div.box h3 {
	width: 100%;
	height: 2.4em;
	margin: 0;
	padding: 0;
	font-size: 3.6vw;
	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: 0.5em 0.5em 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: 0.5em 0.5em 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: 0.5em 0.5em 0 0;
}

#info div.info_box div.box dl {
	width: 100%;
	margin: 0;
	padding: 5% 3% 8%;
	text-align: left;
	background: #fff;
	border-radius: 0 0 0.5em 0.5em;
	flex-grow: 1;
}

#info div.info_box div.box dl dt {
	margin: 1.5em 0 0;
	padding: 0;
	font-size: 3.6vw;
	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: 0.2em 0 0;
	padding: 0;
	font-size: 3.4vw;
	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 {
	margin: 0 auto;
	padding: 5% 0 0;
}

#recommend_airline_sale ul.air_ticket li:nth-of-type(n+3) {
	margin-top: 2%;
}

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


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

#review div.evaluation_cont {
	margin: 2% auto 0;
	padding: 0;
}

#review div.evaluation_cont div.total_evaluation {
	display: inline-block;
	margin: 0 auto;
	padding: 1em 1em 0.5em 1em;
	position: relative;
}

#review div.evaluation_cont div.total_evaluation:before,
#review div.evaluation_cont div.total_evaluation:after {
	position: absolute;
	content: '';
	display: block;
	width: 3em;
	height: 7.5em;
	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: -4em;
}

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

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

#review div.evaluation_cont div.total_evaluation h3 small {
	display: inline-block;
	margin: 0 0.8em 0 0;
	padding: 0;
	font-size: 4.0vw;
	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: 4.0vw;
	line-height: 1em;
	letter-spacing: .2em;
	color: #CCCCCC;
	position: relative;
}

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

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

#review div.evaluation_cont ul.filter li {
	margin: 2% 0 0 0.5em;
	padding: 0;
}

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

#review div.evaluation_cont div.evaluation_box {
	margin: 5% auto 0;
	padding: 5% 4%;
	background: #fff;
	border-radius: 0.5em;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

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

#review div.evaluation_cont div.evaluation_box div.evaluation_purpose div.evaluation {
	width: 40%;
	margin: 0;
	padding: 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: 8.2vw;
	line-height: 100%;
	font-weight: var(--weight-bold2);
}

#review div.evaluation_cont div.evaluation_box div.evaluation_purpose div.evaluation div.star {
	margin: 1em 0 0;
	padding: 0;
	font-size: 3.2vw;
	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: 85%;
	margin: 1em 0 0;
	padding: 0;
}

#review div.evaluation_cont div.evaluation_box div.evaluation_purpose div.evaluation div.useful a {
	width: 100%;
	margin: 0;
	padding: 0.2em 0;
	font-size: 3.0vw;
	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 img {
	width: 13%;
	height: auto;
	margin: 0 0.5em 0 0;
	padding: 0;
}

#review div.evaluation_cont div.evaluation_box div.evaluation_purpose div.evaluation div.useful a p {
	margin: 0 0 0 0.5em;
	padding: 0;
	font-size: 3.4vw;
	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 1.5em;
	font-size: 3.6vw;
	line-height: 180%;
	text-align: left;
}

#review div.evaluation_cont div.evaluation_box div.txt {
	width: 100%;
	margin: 0;
	padding: 0 0 0;
	text-align: left;
}

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


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

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

#reservation ul.flow li {
	width: 46%;
	margin: 8% 0 0;
	padding: 0;
	position: relative;
}

#reservation ul.flow li:nth-of-type(1),
#reservation ul.flow li:nth-of-type(2) {
	margin: 5% 0 0;
}

#reservation ul.flow li:nth-of-type(even) {
	margin-left: 8%;
}

#reservation ul.flow li:after {
	position: absolute;
	content: '';
	display: block;
	width: 8%;
	height: 2.0em;
	margin: 0;
	padding: 0;
	background: url(../images/icon/arrow02.png) center / contain no-repeat;
	top: 4em;
	right: -13%;
}

#reservation ul.flow li:nth-of-type(even):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%;
	margin: 1em auto 0;
	padding: 0;
	text-align: left;
	display: flex;
	align-items: flex-start;
}

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

#reservation ul.flow li dl dd {
	width: 88%;
	margin: 0;
	padding: 0;
	font-size: 3.0vw;
	line-height: 180%;
}

#reservation div.more_btn {
	margin: 5% auto 0;
	padding: 0;
}

#reservation div.more_btn a {
	width: 100%;
	height: 2.5em;
	margin: 0 auto;
	padding: 0;
	font-size: 3.6vw;
	line-height: 120%;
	color: #000;
	text-decoration: none;
	font-weight: var(--weight-bold2);
	background: #fff;
	border-radius: 1.25em;
	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:before {
	position: absolute;
	content: '';
	display: block;
	width: 0.6em;
	height: 1.2em;
	margin: 0;
	padding: 0;
	background: url(../images/icon/arrow02.png) center / contain no-repeat;
	top: calc(50% - 0.6em);
	right: 4%;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}


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

#faq dl {
	margin: 0 auto;
	padding: 5% 0 0;
	text-align: left;
}

#faq dl dt {
	width: 100%;
	margin: 3% 0 0;
	padding: 3% 10% 3% 3%;
	background: #fff;
	border-radius: 0.5em;
	position: relative;
}

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

#faq dl dt h3 {
	margin: 0;
	padding: 0;
	font-size: 3.6vw;
	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.2em 1em 0 0;
	padding: 0;
	font-size: 4.0vw;
	line-height: 120%;
	font-weight: var(--weight-bold2);
	color: #CC0000;
}

#faq dl dt:after {
	position: absolute;
	content: '';
	display: block;
	width: 0.8em;
	height: 1.3em;
	margin: auto;
	padding: 0;
	top: calc(50% - 0.4em);
	right: 5%;
	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: 1em 0 0;
	padding: 0 5% 1em;
	font-size: var(--size-nomal1);
	line-height: 180%;
}

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

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


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

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

#about ul.about_img li {
	width: 48%;
	margin: 0;
	padding: 0;
}

#about ul.about_img li:first-of-type {
	width: 100%;
}

#about ul.about_img li img {
	width: 100%;
	height: 12em;
	border-radius: 50%;
}

#about ul.about_img li:first-of-type img {
	width: 48%;
	height: 12em;
	border-radius: 50%;
}

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

#about div.contact_box h3 {
	width: 100%;
	height: 2.4em;
	margin: 0;
	padding: 0;
	font-size: 3.8vw;
	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: 0.5em 0.5em 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

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

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

#about div.contact_box div.txt h4 img {
	width: 8%;
	height: auto;
}

#about div.contact_box div.txt h4 a {
	display: inline-block;
	margin: 0 0 0 0.2em;
	padding: 0;
	font-size: 8.6vw;
	line-height: 180%;
	color: #333333;
	font-weight: var(--weight-bold2);
	text-decoration: none;
}

#about div.contact_box div.txt h4 small {
	display: block;
	width: 100%;
	margin: -0.2em 0 0;
	padding: 0;
	font-size: 3.4vw;
	line-height: 180%;
	font-weight: var(--weight-nomal);
}

#about div.contact_box div.time {
	width: 100%;
	margin: 5% auto 0;
	padding: 0.2em;
	font-size: 3.4vw;
	line-height: 180%;
	background: #F4F5F6;
	border-radius: 0.5em;
}

#about div.contact_box p {
	margin: 0 auto;
	padding: 0 0 0 1em;
	text-indent: -1em;
	font-size: 3.2vw;
	line-height: 180%;
	text-align: left;
}

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

div.form_in {
	margin: 8% auto 0;
	padding: 0;
}

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

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

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

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

div.cont_tbl dl dt {
	width: 100%;
	margin: 3% 0 0;
	padding: 0 0 0.5em;
	font-weight: var(--main-font-nomal);
	border-bottom: 1px solid #E8E8E8;
	display: flex;
	align-items: center;
}

div.cont_tbl dl dt span.required {
	display: inline-block;
	background: #CC0000;
	border-radius: 4px;
	color: #FFF;
	margin: 0 0 0 0.5em;
	padding: .1em .3em;
	font-size: 3.4vw;
	line-height: 160%;
	color: #FFF;
}

div.cont_tbl dl dd {
	width: 100%;
	margin: 0;
	padding: 0.2em 0 0;
}

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: 2% 3%;
	font-size: 3.8vw;
	line-height: 170%;
	font-family: "Noto Sans JP", sans-serif;
	border: none;
	background: #F9F9F9;
}

div.cont_tbl textarea {
	width: 100%;
	height: 10em;
	padding: 2% 3%;
	font-size: 3.8vw;
	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 0.5em 0 0;
	width: 1.2em;
	height: 1.2em;
	vertical-align: -0.1em;
}

div.cont_tbl div.privacy_box {
	width: 100%;
	height: 15em;
	margin: 0;
	padding: 3% 3%;
	font-size: 3.4vw;
	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: 2% 0 0;
	padding: 0;
	display: flex;
	justify-content: center;
}

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

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

div.form_btn1 {
	display: inline-block;
	width: 90%;
	margin: 5px auto;
}

div.form_btn1 button {
	display: block;
	width: 100%;
	height: 2.5em;
	font-size: 3.6vw;
	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: 1.25em;
	box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.2);
	position: relative;
}

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


div.form_btn2 {
	display: inline-block;
	width: 90%;
	margin: 5px auto;
}

div.form_btn2 button {
	display: block;
	width: 100%;
	height: 2.5em;
	font-size: 3.6vw;
	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: 1.25em;
	box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.2);
	position: relative;
}

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