@charset "utf-8";
/*----------学生キャンペーン用フォント----------*/
@import url('https://fonts.googleapis.com/css2?family=Oswald&display=swap');

html {
    color: #000;
    scroll-behavior: smooth;
}
#wrap{
	-webkit-text-size-adjust: 100%;
/*	padding-top: 46px;*/
    overflow: hidden;
    background-color: inherit!important;
}

/*----------メインビジュアル---------*/

.top_ttl {
	padding-bottom: 1%;
}
.mainttl {
	margin: 20px 0 0;
	font-size: 0.5em;
	text-align: center;
	color: #fff;
}
.mainttl img{
	width: 100%;
}
.top_ttl::before {
    background: url("../img/mv_bg_sp.jpg") no-repeat center top;
    background-size: cover;
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
}


/*----------▼2022改修----------*/


/*----------▼ツアー販売期間----------*/
.announce {
    width: 70%;
    text-align: center;
    color: #fff;
    font-size: 5vw;
    font-weight: bold;  
    padding: 2vw 0 1.5vw;
    margin: 25px auto;
    background: #ed3a60;
    border: 3px solid #fff;
    border-radius: 80px;
    line-height: 1;
}
.announce p { font-weight: bold;}
.announce p:first-child {
    font-size: 4vw;
    margin-bottom: 1.2vw;
}

/*----------▼最新のお知らせ----------*/
#newsWrap {
    width: 90%;
    margin: 0 auto;
    background: #fff;
    box-shadow: 0 3px 7px 0 rgb(10 39 93 / 70%);
}
#newsWrap h2 {
    font-size: 4.0vw;
    color: #fff;
    text-align: center;
    font-weight: bold;
    padding: 1.3vw 0 1vw;
    background-color: #0450b9;
    
}
#newsBox .newslist {
    padding: 2vw;
    max-height: 300px;
    overflow-y: auto;
}
#newsBox .newslist li {
	display: flex;
	border-top: dotted 1px #ccc;
	padding: 1.5vw 0;
    flex-direction: column;
}
#newsBox .newslist li:first-child {
	border-top: none;
}
#newsBox .newslist li:empty {
	display: none;
}
#newsBox .newslist .date {
    display: flex;
    align-items: flex-start;
	margin-bottom: 0.5vw;
}
#newsBox .newslist .date time {
	font-size: 3.2vw;
    margin-right: 2vw;
}
#newsBox .newslist .date p {
  padding: 1vw 1vw .5vw;
  line-height: 1;
	font-size: 2.8vw;
	text-align: center;
	color: #fff;
}
#newsBox .newslist .text {
	font-size: 3.3vw;
	line-height: 1.5em;
}
#newsBox .newslist .text a {
	color: #000;
    text-decoration: none;
}
#newsBox .newslist .text a:hover {
    text-decoration: underline;
}
#newsBox .newslist .price {
	color: red;
}
#newsBox .newslist .red {
	color: red;
}

/*----------▼ハワイ最新情報まとめバナー----------*/
.bnr_top {
    position: relative;
	width: 90%;
    margin: 30px auto;
    border: 3px solid #fff;
    text-align: center;
    line-height: 0;
}
.bnr_top img {
    width: 100%;
}

/*----------▼各種リンク----------*/
#link-wrap {
    width: 90%;
    margin: 30px auto 50px;
}
#link-wrap ul {
    display: flex;
    flex-direction: column;
}
#link-wrap .link-box {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;    
    padding: 2vw;
    border: solid 3px #fff;
    margin-bottom: 8px;
    color: #000;
}
#link-wrap .link-box a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
#link-wrap .link-box:after {
    background: url("../../img/link_btn.png");
    content: "";
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    right: -1vw;
    width: 5.6vw;
    height: 5.6vw;
    background-size: cover;
}
#link-wrap .link-box .photo {
    width: 25%;
    margin-right: 4vw;
    display: flex;
    align-items: center;
    padding-bottom: 3px;    
}
#link-wrap .link-box .photo img {
    width: 100%;
}
#link-wrap .link-box .text {
    width: 65%;
}
#link-wrap .card01 {background: #ffc62e;}
#link-wrap .card02 {background: #bcd30d;}
#link-wrap .card03 {background: #f9bcdc;}
#link-wrap .card01 img {filter: drop-shadow(4px 4px 0px #e67b13);}
#link-wrap .card02 img {filter: drop-shadow(4px 4px 0px #789e12);}
#link-wrap .card03 img {filter: drop-shadow(4px 4px 0px #e165a6);}

#link-wrap .link-box p {
    font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", sans-serif;
    font-weight: bold;
}
.link-box .catch {
    font-size: 3.5vw;
}
.link-box .catch span {
    background: #fff;
    padding: 0.5vw 1vw 0.3vw;
    display: inline-block;
    line-height: 1.2em;
    margin: 2px 0;    
}
.link-box .ttl {
    font-size: 5.3vw;  
    line-height: 1.1em;
    margin-top: 3px;
}

/*----------▼HISの新しいサービス----------*/
#new-service {
    background: #f7f4ea;
    padding: 30px 0 50px;
    position: relative;
    background-color: #fff5d8;
    background-image: radial-gradient(#ffffff 26%, transparent 29%),radial-gradient(#ffffff 26%, transparent 29%);
    background-position: 0 0, 7px 7px;
    background-size    : 14px 14px;        
}
#new-service::after {
    content: "" !important;
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent transparent transparent;
    position: absolute;
    border-top-color: #fff;
    border-width: calc(40vw / 7.5) calc(65vw / 7.5) 0 calc(65vw / 7.5);
    bottom: calc(-32vw / 7.5);
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}
#new-service .inner {
    padding: 0 15px;
    margin: 0 auto;
}
#new-service h2 {
    width: 100%;
    margin: 0 auto 30px;
}
#new-service h2 img {
    width: 100%;
}
.service-wrap {
    display: flex;
    flex-direction: column;
}
.service-box {
    width: 100%;
    padding: 15px 15px 20px;
    border-radius: 10px;
    background: #fff;
    border: 2px solid #000;
    margin-bottom: 25px;
}
.service-box img {
    width: 100%;
}
.service-box .ttl {
    font-size: 18px;
    font-weight: bold;
    margin: 14px 0 12px; 
    padding: 5px 0 5px 12px;
    border-left: 6px solid #efdc05;
    color: #083d8c;
}
.service-box .catch {
    font-weight: bold;
    color: #083d8c;
    font-size: 15px;
}
.service-box .text {
    font-size: 13px;
}
.service02 img {
    border: 1px solid #bdbdbd;
}

/*---------------------------------------------
       おすすめツアー
---------------------------------------------*/
#tourWrap {
	width: 100%;
	padding: 8vw 0;
	background: #fff;
    & h2 {
        font-size: 5.0vw;
        font-weight: bold;
        margin-bottom: 3vw;
        padding-left: 5vw;
        &::before {
            content: "";
            display: inline-block;
            width: 6vw;
            height: 6vw;
            background: url("../img/icon/navi-tour.svg") no-repeat;
            background-size: contain;
            margin-right: 2vw;
            vertical-align: middle;
        }
    }
}

/*タブ実装*/
.tab_box .btn_area {
    display: flex;
    width: 95%;
    margin: 0 auto;
    flex-wrap: wrap;
    padding: 2vw 2vw 0;
    background-color: #e4edf9;
    justify-content: space-between;
}

.tab_box .tab_btn {
    position: relative;    
    text-align: center;
    width: 49%;
    border: 1px solid #000;
    background:#fff;
    margin-bottom: 2vw;    
}
.tab_box .tab_btn.active {
    background-color: #efdc05;
    position: relative;
}
.tab_btn .btn-text {
    height: 100%;
    padding: 2.5vw 2vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3.6vw;
    line-height: 1.2em;
    font-weight: bold;
	color: #000;
}
.tab_btn .btn-text::after {
    content: "▼";
    display: block;
    position: absolute;
    right: 1vw;
    margin: auto;
}
.tab_box .tab_panel {
    display:none;
}
.tab_box .tab_panel.active {
    display:block;
}
.tab_box .panel-inner {
    padding: 42vw 2.5vw 0;
    display: block;
    margin-top:-42vw;	
}
#tab-finalstay a {
	padding-left: 8px;
}
.se-br{
		display: none;
	}
@media screen and (max-width:375px) {
	.se-br {
		display: block;
	}
}
.tab_panel .catch {
    margin: 7vw 0 5vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.tab_panel .panel-inner h4 {
    text-align: center;
    font-size: 4.3vw;
    line-height: 1.3em;
    font-weight: bold;
}
.tab_panel .panel-inner .sub_ttl {
    text-align: center;
    font-size: 3.4vw;
    margin-top: 2vw;
    line-height: 1.5em;
}

/*---------------------------------------------
おすすめツアー（商品設定）
---------------------------------------------*/
.tour-box {
	width: 94vw;
	margin: 0 auto;
    & > li {
        background-color: #fff;
        margin-bottom: 2vw;
        & a {
            display: block;
            border: 1px solid #eaeaea;
            width: 100%;
            height: 100%;
            color: inherit;
            text-decoration: none;
            padding: 2vw;
            position: relative;
        }
    }
}
.tour-box {
	& .item_icon {
		& .item_icon01 {
			display: inline-block;
			background-color: #875c0b;
			padding: 1vw 2vw;
			font-size: 2.8vw;
			color: #fff;
			margin-bottom: 1.5vw;
		}
	}
	& .top-wrapper {
		display: flex;
		justify-content: space-between;
		& .img-wrapper {
			width: 35%;
		}
		& .text-wrapper {
			width: 62%;
		}
	}
	& .tour-img {
		padding-bottom: 2vw;
		& img {
			width: 100%;
		}
	}
	& .icon-area {
		margin-bottom: 1vw;
		& ul {
			display: flex;
			flex-wrap: wrap;
			& li{
				padding: 1vw 1vw 0.5vw;
				margin: 0 1vw 0.5vw 0;
				color: #fff;
				font-size: 2.8vw;
				line-height: 1.0;
				&.icon-myeong{background-color: #7532e0;}
				&.icon-dlx{background-color: #e04b32;}
				&.icon-ss{background-color: #6dac4f;}
				&.icon-meal{background-color: #f79739;}
				&.icon-tokuten{background-color: #d15796;}
				&.icon-free{background-color: #4bc9cc;}
			}
		}
	}	
	& .tour-title {
		font-size: 3.6vw;
		line-height: 1.3;
		font-weight: bold;
		color: #235BC0;
		margin-bottom: 1vw;
	}
	& .tour-text {
		font-size: 3.0vw;
		line-height: 1.4;
		margin-bottom: 2vw;
	}
	& .info-area {
		margin-bottom: 2vw;
		& ul {
			background-color: #f2f2f2;
			padding: 1vw;
			font-size: 2.6vw;
			line-height: 1.3;
			& li {
				margin-bottom: 0.5vw;
				padding-left: 4vw;
				&.hotel{background: url(/kaigai/kansai/common/img/icon/icon_hotel01.png) no-repeat left top / 3vw;}
				&.lank{background: url(/kaigai/kansai/common/img/icon/icon_recom03.png) no-repeat left top / 3vw;}
				&.airline{background: url(/kaigai/kansai/common/img/icon/icon_air04.png) no-repeat left top / 3vw;}
				&.ship{background: url(/kaigai/kansai/common/img/icon/cruse.png) no-repeat left top / 3vw;}
				&.time{background: url(/kaigai/kansai/common/img/icon/icon_time01.png) no-repeat left top / 3vw;}
			}
		}
	}	
	& .item-ship{
		background: url(/kaigai/kansai/common/img/icon/cruse.png) no-repeat left top;
		background-size: 3vw;
	}
	& .tour-price{
		font-size: 4.0vw;
		font-weight: bold;
		text-align: right;
		color: #FF3C3C;
		padding: 0 2vw;
	}
	& .tour-nenyu{
		font-size: 2.8vw;
		line-height: 1.3;
		color: #FF3C3C;
		text-align: right;
		margin-bottom: 1vw;
		padding: 0 2vw;
	}
	& .tour-dep{
		text-align: right;
		font-size: 2.8vw;
		line-height: 1.3;
		padding: 0 2vw;
	}
}

/*空のとき*/
.tour-box > li:empty,
.tour-box .item_icon span:empty,
.tour-box .icon-area li:empty,
.tour-box .info-area li:empty {
	display: none;
}

/*---------------------------------------------
  おすすめ特集
---------------------------------------------*/
#specialWrap {
	width: 100%;
	padding: 8vw 0;
	background-color: #f7f5f0;
    & h2 {
        font-size: 5.0vw;
        font-weight: bold;
        margin-bottom: 3vw;
        padding-left: 5vw;
        &::before {
            content: "";
            display: inline-block;
            width: 6vw;
            height: 6vw;
            background: url("../img/icon/navi-special.svg") no-repeat;
            background-size: contain;
            margin-right: 2vw;
            vertical-align: middle;
        }
    }
    & ul {
        width: 90%;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        & li {
            margin-bottom: 3vw;
            .col4 & {width: 48%;}
            .col3 & {width: 32%;}
            .col2 & {width: 48%;}
            & a {
                display: block;
            }
            & img {
                width: 100%;
                height: 100%;
            }
        }
    }
}

/*---------------------------------------------
  航空券+ホテル
---------------------------------------------*/
#airahWrap {
	width: 100%;
    background: #fff;
	padding-bottom: 5vw;
}
#airhotelWrap {
	width: 100%;
	padding: 8vw 0;
    & h2 {
        font-size: 5.0vw;
        font-weight: bold;
        margin-bottom: 3vw;
        padding-left: 5vw;
        &::before {
            content: "";
            display: inline-block;
            width: 6vw;
            height: 6vw;
            background: url("../img/icon/navi-airhotel.svg") no-repeat;
            background-size: contain;
            margin-right: 2vw;
            vertical-align: middle;
        }
    }
}
.airhotel-box {
	width: 94%;
	margin: 0 auto 8vw;
}

/*---------------------------------------------
  航空券
---------------------------------------------*/
#airWrap {
	width: 100%;
	padding: 8vw 0;
    & h2 {
        font-size: 5.0vw;
        font-weight: bold;
        margin-bottom: 3vw;
        padding-left: 5vw;
        &::before {
            content: "";
            display: inline-block;
            width: 6vw;
            height: 6vw;
            background: url("../img/icon/navi-air.svg") no-repeat;
            background-size: contain;
            margin-right: 2vw;
            vertical-align: middle;
        }
    }
}
.air-box {
	width: 94%;
	margin: 0 auto 8vw;
}

/*---------------------------------------------
   FIT新スタイル
---------------------------------------------*/

#airhotelWrap,#airWrap {

	& .product__list {
		display: grid;
		/*gap: calc(30vw / 7.5) 0;*/
		gap: 2vw 0;
		font-size: calc(24vw / 7.5);
	}
	& .product__list--item {
		letter-spacing: .5px;
		list-style: none;
	}
	& .product__list--item, .media {
		 padding:0; 
	}
	& .product__list--item:not(:last-child), & .media:not(:last-child) {
		border-bottom: none!important;
	}
	& .product__list--data {
		height: 100%;
		display: flex;
		flex-direction: column;
	}
	& .media .js-search, .product__list--inner {
		border: calc(2vw / 7.5) solid #c4c4c4;
	}
	& .media .js-search, .product__list--inner {
		justify-content: space-between;
		padding: calc(15vw / 7.5) calc(10vw / 7.5);
		flex-wrap: wrap;
		border: calc(2vw / 7.5) solid #c1c0bc;
		font-size: calc(20vw / 7.5);
	}
	& .product__list--inner {
		position: relative;
	    box-shadow: none;
	}
	& .media .js-search, & .product__list--inner {
		background: #fff;
		color: inherit;
		text-decoration: none;
		display: flex;
	}
	& .product__list--label:not(:empty) {
		margin-bottom: calc(5vw / 7.5);
	}
	& .product__list--label {
		width: 100%!important;
	}
	& .product__list--label {
		display: flex;
		flex-wrap: wrap;
	}
	& .product__list--label > [class*="product__list--label--"]:empty {
		display: none;
	}
	& .product__list--label > [class*="product__list--label--"] {
		margin-bottom: calc(10vw / 7.5);
	}
	& .product__list--label > [class*="product__list--label--"] {
		min-width: calc(180vw / 7.5);
		height: calc(50vw / 7.5);
		margin-right: calc(10vw / 7.5);
		padding: .25em .5em;
	}
	& .product__list--label > [class*="product__list--label--"] {
		width: 24vw;
		font-size: calc(23vw / 7.5);
		padding: 0.25em!important;
	}
	[class*="product__list--label--"] {
		background: var(--cassette-label-bg);
	}
	& .product__list--image-wrapper, & .is-koukoku .product__list--image, & .media .phArea, & .media-pic {
		width: calc(260vw / 7.5)!important;
	}
	& .media .phArea, & .product__list--image, & .media-img {
		width: 100%;
		height: calc(175vw / 7.5);
	}
	& img.product__list--image {
		width: 100%;
		object-fit: cover;
	}
	& .is-pc .media .tour_img, & .media .phArea, & .product__list--image {
		background: #f2f2f2 no-repeat center center / cover;
	}
	& .product__list--type.is-color-black, & .is-oe .product__list--type, & .is-activities .product__list--type {
		background: #000;
		text-align: center;
	}
	& .product__list--type {
		padding: calc(6vw / 7.5) 0 calc(8vw / 7.5);
		text-align: center;
		font-size: calc(20vw / 7.5);
		display: none;
	}
	& .product__list--type {
		color: #fff;
	}
	& .media .topArea, & .media .bottomArea, & .media-text-wrap, & .product__list--text-wrapper {
		/*width: calc(417vw / 7.5)!important;*/
		width: calc(406vw / 7.5)!important;
		flex-grow: 0;
	}
	& .product__list--texts {
		display: flex;
		flex-direction: column;
	}
	& .product__list--texts > [class*="product__list--"]:not(.product__list--type) {
		order: 1;
	}
	& .product__list--label:empty {
		display: none;
	}
	& .product__list--texts > .product__list--label {
		display: flex;
		flex-wrap: wrap;
		position: static;
		width: auto;
		flex-direction: initial;
	}
	& .product__list--texts > [class*="product__list--"]:not(.product__list--type) {
		order: 1;
	}
	& .product__list--texts > .product__list--label + .product__list--title {
		margin-top: 0;
	}
	& .media-des, & .product__list--title {
		/*font-size: calc(28vw / 7.5);
		margin-bottom: calc(15vw / 7.5);*/
		line-height: 1.3em;
		font-weight: bold;
		font-size: calc(27vw / 7.5);
		margin-bottom: calc(15vw / 7.5);
	}
	& .is-pc .media .tour_ttl, & .media-des, & .product__list--title {
		font-weight: bold;
	}
	& .product__list--title > [class*="product__list--"] {
		display: block;
	}
	& .product__list--title > [class*="product__list--"] {
		display: block;
	}
	& .product__list--texts > [class*="product__list--"]:not(.product__list--type) {
		order: 1;
	}
	& .product__list--more, & .media-summary {
		margin-top: calc(10vw / 7.5);
	}
	& .product__list--more, & .media-summary {
		display: flex;
		align-items: baseline;
	}
	& .product__list--more--title, & .media-summary dt {
		padding: calc(4vw / 7.5) 0 calc(6vw / 7.5);
		width: calc(130vw / 7.5);
		margin-right: calc(5vw / 7.5);
	}
	& .product__list--more--title, & .media-summary dt {
		display: inline-block;
		line-height: 1.2;
		background: #7d7d7d;
		color: #fff;
		text-align: center;
	}
	& .product__list--more--text, & .media-summary dd {
		width: calc(100% - (130vw / 7.5) - (5vw / 7.5));
	}
	& .product__list--more--text, .media-summary dd {
		line-height: 1.3;
	}
	& .product__list--texts > [class*="product__list--"]:not(.product__list--type) {
		order: 1;
	}
	& .product__list--more + .product__list--more, & .media-summary dt:not(:first-child) {
		margin-top: 1px;
	}
	& .product__list--more, & .media-summary {
		display: flex;
		align-items: baseline;
	}
	& .product__list--more--title, & .media-summary dt {
		padding: calc(4vw / 7.5) 0 calc(6vw / 7.5);
		width: calc(130vw / 7.5);
		margin-right: calc(5vw / 7.5);
	}
	& .product__list--more--title, & .media-summary dt {
		display: inline-block;
		line-height: 1.2;
		background: #7d7d7d;
		color: #fff;
		text-align: center;
	}
	& .product__list--more--text, & .media-summary dd {
		line-height: 1.3;
	}
	& .product__list--texts > [class*="product__list--"]:not(.product__list--type) {
		order: 1;
	}
	& .product__list--more + .product__list--more, & .media-summary dt:not(:first-child) {
		margin-top: 1px;
	}
	& .product__list--more, .media-summary {
		display: flex;
		align-items: baseline;
		color: #000000;
	}
	& .product__list--more--title, & .media-summary dt {
		padding: calc(4vw / 7.5) 0 calc(6vw / 7.5);
		width: calc(130vw / 7.5);
		margin-right: calc(5vw / 7.5);
	}
	& .product__list--more--title, & .media-summary dt {
		display: inline-block;
		line-height: 1.2;
		background: #7d7d7d;
		color: #fff;
		text-align: center;
	}
	& .product__list--more--text, & .media-summary dd {
		width: calc(100% - (130vw / 7.5) - (5vw / 7.5));
	}
	& .product__list--more--text, & .media-summary dd {
		line-height: 1.3;
	}
	& .product__list--tokuten:has(.product__list--tokuten--item:empty) {
		display: none;
	}
	& .product__list--texts > [class*="product__list--"]:not(.product__list--type) {
		order: 1;
	}
	& .product__list--tokuten {
		border-top: none;
	}
	& .media-addList, & .product__list--tokuten {
		color: #666;
		/*border-top: calc(1vw / 7.5) dashed;*/
		padding: .6em 0 0 !important;
		margin-top: 1em;
	}
	& .product__list--tokuten--item:empty {
		display: none;
	}
	& .product__list--tokuten--item {
		border-top: calc(1vw / 7.5) dashed;
		padding-top: 2vw;
	}
	& .product__list--tokuten--item {
		text-indent: -1.25em;
		padding-left: 1.25em;
	}
	& .product__list--price {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: baseline;
	}
	& .media .bottomArea, & .product__list--price {
		margin-top: calc(30vw / 7.5);
		text-align: right;
		color: #FF3C3C;
	}
	& .product__list--point:empty {
		display: none;
	}
	& .product__list--point, .media-badge, & .media .labelText,　& .media-label {
		padding: calc(5vw / 7.5) 0;
		margin-bottom: calc(5vw / 7.5);
		font-weight: bold;
		width: 100%;
		display: none;
	}
	& .product__list--point, & .media .labelText, & .media-label {
		background: var(--default-color-red);
		color: #fff;
		text-align: center;
		font-weight: normal;
	}
	& .media .priceText, & .product__list--minmax {
		/*font-size: calc(30vw / 7.5);*/
		line-height: 1.5;
	}
	& .media-price, & .media .priceText, & .media .tour_gross, & .product__list--minmax {
		color: #FF3C3C;
		font-weight: bold;
		/*font-size: calc(30vw / 7.5);*/
		font-size: calc(27vw / 7.5);
	}
	/*.product__list--minmax :where(.is-en, .is-kara) {
		font-size: .7em;
	}*/
	& .product__list--dep, & .product__list--notes {
		width: 100%;
	}
	& .product__list--dep, & .product__list--notes {
		/*color: #333;*/
	}

}
/*---------------------------------------------
       もっと見るボタン
---------------------------------------------*/
#tourWrap .btn-more,
#airhotelWrap .btn-more,
#airWrap .btn-more,
#specialWrap .btn-more{
    width: 80vw;
	margin: 5vw auto 0;
	background-color: #0450b9;
	font-size: 3.5vw;
    padding: 3vw 0;
	text-align: center;
	border-radius: 10vw;
}
#tourWrap .btn-more a,
#airhotelWrap .btn-more a,
#airWrap .btn-more a,
#specialWrap .btn-more a{
	color: #fff;
	display: block;
	text-decoration: none;
}
#tourWrap .btn-more a:after,
#airhotelWrap .btn-more a:after,
#airWrap .btn-more a:after,
#specialWrap .btn-more a:after {
    content: "\f105";
    font-family: FontAwesome;
    padding-left: 2vw;
}

/*----------▼バナー----------*/
.bnr {
    margin: 0 auto;
    padding: 15px;
}
.bnr img {
    width: 100%;
}

/*footer*/
#footer {
    padding-top: 1px;
    background: #fff;
}
/*----------学生キャンペーン----------*/
#gakusei {
    width: 100%;
    background-image: url("../../img/gakusei/bg-top-sp.png"),url("../../img/gakusei/bg-bottom-sp.png"),url("../../img/gakusei/bg.png");
	background-repeat: no-repeat,no-repeat,repeat;
	background-position: top center,bottom center,top left;
	background-size: 100%,100%,100px;
    color: #222;
    padding: 10vw 0 12vw;
	& .inner {
		width: 92vw;
		margin: 0 auto;
	}
	& h2 {
		margin-bottom: 4vw;
		& img {
			width: 100%;
		}
	}
	& .h2-note {
		font-size: 3.0vw;
		margin: 2vw 0;
	}
}
#gakusei .plan-list {
	width: 100%;
	& li {
		width: 100%;
		height: 30.5vw;
		background-color: #fff;
		border: solid 3px #f3e2ca;
		padding: 2vw;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		margin-bottom: 2vw;
		position: relative;
		& .no {
			position: absolute;
			left: 1.5vw;
			top: -3px;
			width: 9vw;
			height: 11vw;
			background: url("../../img/gakusei/bg-no.svg") no-repeat;
			background-size: contain;
			font-family: "Oswald", sans-serif;
			font-optical-sizing: auto;
			color: #fff;
			text-align: center;
			font-size: 5vw;
			padding-top: 2vw;
		}
		& .title {
			width: 55%;
			padding-left: 10vw;
			font-size: 3.8vw;
			line-height: 1.3;
			font-weight: bold;
			color: #cb0d89;
			margin-bottom: 1vw;
		}
		& .text {
			width: 55%;
			font-size: 3.3vw;
			line-height: 1.3;
		}
		& .ph {
			width: 43%;
			& img {
				width: 100%;
			}
		}
	}
}

#gakusei .note {
	width: 100%;
	background-color: #fff;
	padding: 3vw 2vw;
	& h3 {
		font-size: 4.2vw;
		line-height: 1.8em;
		font-weight: bold;
	}
	& dl {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 2vw;
		& dt {
			width: 19%;
			margin-bottom: 1vw;
			& span {
				width: 100%;
				display: inline-block;
				background-color: #333;
				color: #fff;
				text-align: center;
				font-size: 3.0vw;
				line-height: 1.8em;
			}
		}
		& dd {
			width: 79%;
			font-size: 3.5vw;
			line-height: 1.4em;
			margin-bottom: 1vw;
			& span {
				display: inline-block;
				font-size: 0.8em;
				line-height: 1.4em;
			}
		}
	}
	& ul li {
		font-size: 3.0vw;
	}
}
#gakusei .btn-more {
    width: 80vw;
    height: 10vw;
    margin: 5vw auto 0;
    background-color: #333;
    font-size: 3.6vw;
    line-height: 10vw;
    text-align: center;
    border-radius: 5vw;
	& a {
		color: #fff;
		display: block;
		text-decoration: none;
		border-radius: 5vw;
		&::after{
			content: "\f105";
			font-family: FontAwesome;
			padding-left: 1vw;
		}
	}
}

/*----------やっぱりハワイキャンペーン----------*/
/*#campaign {
    width: 100%;
    background-image: url("../../img/campaign/bg-flower.png"),url("../../img/campaign/bg-flower.png"),url("../../img/campaign/bg.png");
	background-repeat: no-repeat,no-repeat,repeat;
	background-size: 180%,180%,100px;
	background-position: top -6vw center,bottom -6vw center,top left;
    color: #222;
    padding: 10vw 0 15vw;
}
#campaign .inner {
    width: 94vw;
    margin: 0 auto;
}
#campaign .f-mini {
	font-size: 0.75em;
}
#campaign h2 {
    text-align: center;
    margin-bottom: 3vw;
}
#campaign h2 img {
	width: 100%;
}
#campaign .detail {
	width: 100%;
	margin-bottom: 5vw;
	background-color: #fff;
	padding: 2vw 1vw;
	display: flex;
	flex-wrap: wrap;
	font-size: 3.5vw;
	line-height: 1.6em;
}
#campaign .detail li span:first-child {
	font-weight: bold;
}
#campaign .plan-list {
	width: 100%;
}
#campaign .plan-list li {
	width: 100%;
	background-color: #fff;
	border: solid 0.4vw #333;
	margin-bottom: 2vw;
}
#campaign .ttl-box {
	display: flex;
	width: 100%;
}
#campaign .plan1 .ttl-box {background-color: #fff0f1;}
#campaign .plan2 .ttl-box {background-color: #d6f9ff;}
#campaign .plan3 .ttl-box {background-color: #fff3dd;}

#campaign .ttl-box .num {
	width: 18%;
	color: #fff;
	text-align: center;
	font-weight: bold;
	padding: 2vw;
}
#campaign .plan1 .ttl-box .num {background-color: #f7959c;}
#campaign .plan2 .ttl-box .num {background-color: #74ccdc;}
#campaign .plan3 .ttl-box .num {background-color: #f0be6e;}
#campaign .ttl-box .num span {
	display: block;
}
#campaign .ttl-box .num span:nth-child(1) {
	font-weight: normal;
	letter-spacing: 0.2em;
}
#campaign .ttl-box .num span:nth-child(2) {
	font-size: 7.0vw;
	line-height: 1.0em;
}
#campaign .ttl-box .text {
	width: 82%;
	font-size: 3.8vw;
	line-height: 1.3em;
	font-weight: bold;
	padding: 1vw 2vw;
}
#campaign .conts-box {
	width: 100%;
	padding: 2vw;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#campaign .conts-box .text {
	width: 48%;
	font-size: 3.6vw;
	line-height: 1.5em;
}
#campaign .conts-box .text .f-red {
	font-weight: bold;
	color: #ec3544;
}
#campaign .conts-box .ph {
	width: 48%;
}
#campaign .conts-box .ph img {
	width: 100%;
	margin-bottom: 1vw;
}
#campaign .conts-box .ph span {
	display: block;
	font-size: 2.8vw;
	line-height: 1.1em;
}
#campaign .conts-box .info {
	margin-top: 2vw;
	width: 100%;
	background-color: #f5f5f5;
	font-size: 3.2vw;
	line-height: 1.5em;
	padding: 1vw;
}
#campaign .plan2 .conts-box .info {color: #056e82;}
#campaign .plan3 .conts-box .info {color: #eb5d1e;}
#campaign .note {
	border-top: dashed 1px #333;
	padding: 2vw;
	font-size: 3.0vw;
	line-height: 1.4em;
	margin-top: auto;
}
#campaign .btn-more {
    width: 80vw;
    height: 10vw;
    margin: 5vw auto 0;
    background-color: #f13c4b;
    font-size: 3.6vw;
    line-height: 10vw;
    text-align: center;
    border-radius: 5vw;
}
#campaign .btn-more a {
    color: #fff;
    display: block;
    text-decoration: none;
    border-radius: 5vw;
}*/

/*----------初夢2023　第1弾----------*/
#hatsuyume {
    width: 100%;
    background-color: #f2e5bf;
    padding: 0 0 5vw 0;
}
#hatsuyume .head {
    width: 100%;
    height: 30vw;
    background: url("../../img/hatsuyume/bg-head.jpg") repeat-x;
    background-size: auto 100%;
    margin-bottom: 3vw;
}
#hatsuyume .head h2 {
    padding-top: 2vw;
}
#hatsuyume .head h2 img {
    width: 100%;
}
#hatsuyume .inner {
    width: 94vw;
    margin: 0 auto;
}
#hatsuyume .cpn-tokuten {
    width: 100%;
    background-color: #fff;
    background-image: url("../../img/hatsuyume/bg-tokuten-top.png"),url("../../img/hatsuyume/bg-tokuten-bottom.png");
    background-position: top right,bottom left;
    background-repeat: no-repeat,no-repeat;
    background-size: 30vw,30vw;
    padding: 5vw 0;
}
#hatsuyume .cpn-tokuten > li {
    position: relative;
    border-bottom: dashed 1px #ca2d92;
    padding: 4vw 5vw;
}
#hatsuyume .cpn-tokuten > li:last-child {
    border-bottom: none;
}
#hatsuyume .cpn-tokuten li img.ph1 {
    position: absolute;
    top: 16vw;
    right: 3vw;
    width: 28vw;
}
#hatsuyume .cpn-tokuten li img.ph2 {
    position: absolute;
    top: 12vw;
    right: 3vw;
    width: 28vw;
}
#hatsuyume .cpn-tokuten h3 {
    font-size: 5.0vw;
    line-height: 1.0em;
    font-weight: bold;
    color: #ca2d92;
    vertical-align: middle;
    margin-bottom: 3vw;
}
#hatsuyume .cpn-tokuten h3:before {
    content: "";
    width: 10vw;
    height: 10vw;
    display: inline-block;
    background: url("../../img/hatsuyume/hibiscus.png") no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 2vw;
}
#hatsuyume .cpn-tokuten .text {
    font-size: 3.6vw;
    line-height: 1.4em;
    margin-bottom: 2vw;
}
#hatsuyume .cpn-tokuten .text .red {
    color: #d40011;
}
#hatsuyume .cpn-tokuten .text .big {
    font-size: 1.1em;
    font-weight: bold;
}
#hatsuyume .cpn-tokuten .naiyo {
    background-color: #feeef8;
    border-radius: 10px;
    padding: 3vw;
    margin-bottom: 3vw;
}
#hatsuyume .cpn-tokuten .naiyo a {
    color: #1C35C8;
    text-decoration: underline;
}
#hatsuyume .cpn-tokuten .naiyo ul:nth-child(1) {
    font-size: 3.6vw;
    color: #333;
    font-weight: bold;
    margin-bottom: 1vw;
} 
#hatsuyume .cpn-tokuten .naiyo ul:nth-child(2) {
    font-size: 3.4vw;
} 

#hatsuyume .cpn-tokuten .note {
    font-size: 3.0vw;
}
#hatsuyume .btn-search {
	width: 80vw;
	height: 40px;
	margin: 5vw auto;
    background-color: #ca2d92;
	font-size: 14px;
	line-height: 40px;
	text-align: center;
	border-radius: 20px;
}
#hatsuyume .btn-search a {
	color: #fff;
	display: block;
	text-decoration: none;
	border-radius: 20px;
}
#hatsuyume .tour {
    margin-top: 5vw;
}
#hatsuyume .tour-box .icon-area ul li {
    background-color: #ca2d92;
}
#hatsuyume .tour-box::after {
    display: none;
}
/*----------スーパーサマーセール2023----------*/
#sss {
    width: 100%;
    background-color: #f2e5bf;
    padding: 0 0 5vw 0;
    background: url("../../img/sss/bg-tile.jpg");
}
#sss .head {
    width: 100%;
    /*height: 30vw;*/
    background: url("../../img/sss/bg-head.jpg") repeat-x;
    background-size: auto 100%;
    margin-bottom: 3vw;
}
#sss .head h2 {
    padding: 2vw 10vw;
}
#sss .head h2 img {
    width: 100%;
}
#sss .inner {
    width: 94vw;
    margin: 0 auto;
}
#sss .cpn-tokuten {
    width: 100%;
    background-color: #fff;
    background-image: url("../../img/sss/bg-tokuten-top.png"),url("../../img/sss/bg-tokuten-bottom.png");
    background-position: top right,bottom left;
    background-repeat: no-repeat,no-repeat;
    background-size: 30vw,30vw;
    padding: 7vw 0;
}
#sss .cpn-tokuten > li {
    position: relative;
    border-bottom: dashed 1px #ca2d92;
    padding: 4vw 5vw;
}
#sss .cpn-tokuten > li:last-child {
    border-bottom: none;
}
#sss .cpn-tokuten li img.ph1 {
    /*position: absolute;
    top: 16vw;
    right: 3vw*/;
    width: 28vw;
    object-fit: contain;
    object-position: top;
}
#sss .cpn-tokuten li img.ph2 {
    position: absolute;
    top: 12vw;
    right: 3vw;
    width: 28vw;
}
#sss .cpn-tokuten h3 {
    font-size: 5.0vw;
    /*line-height: 1.0em;*/
    font-weight: bold;
    color: #ca2d92;
    vertical-align: middle;
    margin-bottom: 3vw;
    background: url("../../img/sss/hibiscus.png") no-repeat;
    background-size: 10vw 10vw;
    padding-left: 12vw;
    padding-right: 5vw;
    min-height: 10vw;
    line-height: 6vw;
}
/*#sss .cpn-tokuten h3:before {
    content: "";
    width: 10vw;
    height: 10vw;
    display: inline-block;
    background: url("../../img/sss/hibiscus.png") no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 2vw;
}*/
#sss .cpn-tokuten .text {
    font-size: 3.6vw;
    line-height: 1.4em;
    margin-bottom: 2vw;
    padding-right: 2vw;
}
#sss .cpn-tokuten .text .red {
    color: #d40011;
}
#sss .cpn-tokuten .text .big {
    font-size: 1.1em;
    font-weight: bold;
}
#sss .cpn-tokuten .midashi {
    display: flex;
    margin-bottom: 3vw;
}
#sss .cpn-tokuten .naiyo {
    background-color: #feeef8;
    border-radius: 10px;
    padding: 3vw;
    margin-bottom: 3vw;
}
#sss .cpn-tokuten .naiyo a {
    color: #1C35C8;
    text-decoration: underline;
}
#sss .cpn-tokuten .naiyo ul:nth-child(1) {
    font-size: 3.6vw;
    color: #333;
    font-weight: bold;
    margin-bottom: 1vw;
} 
#sss .cpn-tokuten .naiyo ul:nth-child(2) {
    font-size: 3.4vw;
} 

#sss .cpn-tokuten .note {
    font-size: 3.0vw;
}
#sss .btn-search {
	width: 80vw;
	height: 40px;
	margin: 5vw auto;
    background-color: #ca2d92;
	font-size: 14px;
	line-height: 40px;
	text-align: center;
	border-radius: 20px;
}
#sss .btn-search a {
	color: #fff;
	display: block;
	text-decoration: none;
	border-radius: 20px;
}
#sss .tour {
    margin-top: 5vw;
}
#sss .tour-box .icon-area ul li {
    background-color: #ca2d92;
}
#sss .tour-box::after {
    display: none;
}

/*----------ハワイ支店11周年----------*/
.shiten_11th {
  position: relative;
  width: 94%;
  margin: 10px auto 0;
  text-align: center;
}
.shiten_11th img {
    width: 100%;
}


/*メインビジュアルの背景影響回避*/
#tell {
	background: #fff;
	padding: 3vw 0;
}
#searchArea {
	background: #fff;
}