    @charset "UTF-8";

/* ------------------------------
  共通
------------------------------ */
.nosp {
    display: block;
}
.nopc {
    display: none;
}
a {
    text-decoration: none;
}
a,a:hover,a:visited{
    color: inherit;
}
.breadcrumb {
    max-width: 1024px;
    margin: 0 auto;
}
.innerbox {
    max-width: 992px;
    box-sizing: border-box;
    margin: 0 auto;
    padding-top: 30px;
    padding-bottom: 30px;
}
/*----- メインビジュアル -----*/
#mainImg{
	width: 100%;
	height: 400px;
	position: relative;
}

#mainImg img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%)
}


/* タイトル
------------------------------*/
.innerbox h2 {
	padding-bottom: 23px;
	text-align: center;
	background-image:url("../img/UnderLine.png");
	background-repeat: no-repeat;
	background-position: bottom center;
	font-family:"A-OTF リュウミン Pro B-KL";
	font-size: 30px;
	color: #0A2E58;
    font-weight: bold;
    margin: 2%;
}
/*タブ切り替え全体のスタイル*/
.tabs {
    margin-top: 50px;
    /* background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); */
    max-width: 992px;
    margin: 0 auto;}
  /*タブのスタイル*/
  .tab_item {
    width: calc(100%/4);
    height: 50px;
    border-bottom: 3px solid #1578c4;
    background-color: #d9d9d9;
    line-height: 50px;
    font-size: 16px;
    text-align: center;
    color: #565656;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
  }
  .tab_item:hover {
    opacity: 0.75;
  }
/*最新のお知らせ*/
.news{
    background: #fff;
    padding: 1.3rem;
    margin: 3%;
}
.news li{
    margin: 1rem 0;
}
.news a{
    display: block;
}
.date_color{
    color: #900335;
    font-weight: 600;
}
/*バナー*/
.banner{
    display: flex;
    width: 100%;
}
.banner .half{
    width: 48%;
    margin: 1%;
}
.banner .full{
    margin: auto;
    padding: 3%;
}
.banner img{
    max-width: 100%;
}
.bnr_more{
    margin: auto;
    width: 85%;
}
.bnr_more a{
    text-align: center;
    margin: 3% auto;
    background: #219cb1;
    padding: 2%;
    border-radius: 60px;
    font-size: 1.3rem;
    display: block;
    color: #fff;
}
/*商品枠*/
.tour{
    width: 100%;
    padding-top: 5%;
}
.section__container{
    width: 100%;
}
.grid-col3{
    text-align: center;
}
.grid-col3 a{
    background-color: #fff;
    border: 1px solid #bdd0df;
    display: block;
    padding: 2.5%;
}
.heading--md{
    font-size: 1.2rem;
}
.grid-col__body{
    padding-bottom: 15px;
}
.icon_dep{
    font-size: 1.1rem;
    background: #1b3c55;
    color: #fff;
    padding: 1% 0 0.5%;
    margin-bottom: 3%;
}
.text--point{
    padding: 2%;
    text-align: left;
}
.text--smallPrice{
    font-size: 1.5rem;
    color: #F01C1C;
    font-weight: 600;
    margin-top: auto;
}
.imgTag{
    position: absolute;
    top: 0;
    left: 0;
    color: #FFF;
    background: #219cb1;
    padding: 2% 2.5%;
}
.imgContainer--full img{
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    height: 185px;
    object-fit: cover;
}
.text--smallPrice>span{
    font-size: 0.95em;
}
.col_waku{
    display: flex;
    flex-direction: column;
    height: 100%;
}
.grid-col__body {
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
    flex: 1 1 auto;
}
/*クルーズ紹介*/
.ship{
    background:#d9efff;
}
.ship_block{
    display: flex;
    width: 100%;
    background: #fff;
    margin: 3% auto;
}
.box_left{
    width: 60%;
}
.box_left .ttl{
    font-size: 2rem;
    font-weight: 600;
    color: #0a2e58;
    margin-bottom: 3%;
}
    .box_right{
    width: 40%;
}
.box_right,.box_left{
    padding:2%;
}
.box_right img{
    max-width:100%;
}
.box_left a{
    display: block;
    width: 65%;
    margin: 5% auto;
    background: #ffef75;
    padding: 2%;
    text-align: center;
    border-radius: 25px;
}


/****おすすめ特集****/
.tokusyuWrap {
 margin-top:80px;
}

.tokusyuWrap .title-section-category {
	padding-bottom: 23px;
	text-align: center;
	background-image:url("../img/UnderLine.png");
	background-repeat: no-repeat;
	background-position: bottom center;
	font-family:"A-OTF リュウミン Pro B-KL";
	font-size: 30px;
	color: #0A2E58;
    font-weight: bold;
    margin: 2%;
}

.tokusyu, .reco-banner__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.reco-banner__list {
  padding: min((39vw / 7.5), 30px);
  gap: min((38vw / 7.5), 40px);

}
.reco-banner__item {
  width: min((296vw / 7.5), 192px);
}
.tokusyu li a, .reco-banner__link {
  display: block;
  box-shadow: 0px 0px 0px 1px #000;
  transition: opacity .4s;
}
.tokusyu li a:hover, .reco-banner__link:hover {
  box-shadow: 0px 0px 0px 2px #000;
  opacity: 0.6;
}
.tokusyu li img, .reco-banner__image {
  width: 100%;
}

	
/* タブレット版（768px〜1024px）の調整 */
@media screen and (min-width: 768px) and (max-width: 1024px) {
	

  .tokusyu, .reco-banner__list {
	display: flex !important;
    flex-wrap: nowrap !important;
    gap: 15px;
    padding: 15px;
    box-sizing: border-box;
	justify-content: center;
  }

  .reco-banner__item {
    width: calc(25% - 12px); 
    box-sizing: border-box;
  }}

@media screen and (max-width: 768px) {
	/****おすすめ特集****/
.tokusyuWrap {
 margin-top:80px;
}

.tokusyuWrap .title-section-category {
 text-align:center;
 font-size:28px;
 font-weight: bold;
}

.tokusyu, .reco-banner__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  padding: 15px;
  box-sizing: border-box;
}

.reco-banner__item {
  width: calc(50% - 10px); 
  box-sizing: border-box;
}

.tokusyu li a, .reco-banner__link {
  display: block;
  box-shadow: 0px 0px 0px 1px #000;
  transition: opacity .4s;
}
.tokusyu li a:hover, .reco-banner__link:hover {
  box-shadow: 0px 0px 0px 2px #000;
  opacity: 0.6;
}
.tokusyu li img, .reco-banner__image {
  width: 100%;
}
}

/* おすすめ特集(入力タイプ)
.recommend p{
    font-size: 1.6rem;
    text-align: center;
}
.recommend ul{
    width: 100%;
    display: flex;
}
.recommend ul li{
    padding:2%;
}
.recommend ul li img{
    max-width: 100%;
    border: 3px solid #d9efff;
}*/

/*営業所案内*/
.eigyo{
    text-align: center;
    width: 96%;
    margin: 0 auto 3%;
    border: 3px solid #0a2e58;
}
.e_ttl{
    font-size: 1.4rem;
    font-weight: 600;
    background: #0a2e58;
    color: #fff;
    padding: 1.2% 0 0.8%;
}
.yoyaku p{
    font-size: 2rem;
    padding: 1% 0 0.5%;
    font-weight: 600;
}
.date{
    display: flex;
    width: 100%;
    font-size: 1.4rem;
}
.date li{
    width: 50%;
}
.red{
    color: #f00;
    font-weight: 600;
}
.e_btn a{
    display: block;
    background: #d9efff;
    width: 70%;
    margin: 3% auto;
    padding: 1%;
    border-radius: 30px;
    font-size: 1.3rem;
}
.e_btn a:hover{
    opacity: 0.8;
}
----------------------------------------
/*スマホ用ここから*/
.headfoot-is-sp section,.headfoot-is-sp .innerbox{
    width:100%;
}
.headfoot-is-sp #mainImg {
    width: 100%;
    height: 250px;
    position: relative;
    padding: 10px 0;
}
.headfoot-is-sp #mainImg img{
    max-height: 200px;
    width: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.headfoot-is-sp .item-wrap{
    display: block;
}
.headfoot-is-sp .item-wrap li{
    width: 98%;
    margin: 3% auto;
}
.headfoot-is-sp .disney_cruise .nopc{
    width: 90%;
    margin: auto;
}
.headfoot-is-sp .nosp{
    display: none;
}
.headfoot-is-sp .nopc,
.headfoot-is-sp .cruisebox{
    display: block;
}
.headfoot-is-sp .cruisebox .info, .headfoot-is-sp .cruisebox .gallery{
    width: 100%;
}
.headfoot-is-sp .kyu-cruise .item-box-pic{
    display: none;
}
.headfoot-is-sp .kyu-cruise .item-box-ttl{
    font-size: 1.3rem;
    padding-top: 3%;
}
.headfoot-is-sp .kyu-cruise .item-box-price{
    font-size: 1.4rem;
}
.headfoot-is-sp .news{
    background: #fff;
    padding: 1.3rem;
    margin: 5% 2%;
}
.headfoot-is-sp .banner{
    display: block;
}
.headfoot-is-sp .banner .half{
    width: 98%;
    margin: 4% 1%;
}
.headfoot-is-sp .bnr_more{
    width:100%;
    padding: 3.5% 1%;
}
.headfoot-is-sp .bnr_more a{
    font-size: 1rem;
}
.headfoot-is-sp .ship_block{
    display: block;
    width: 92%;
}
.headfoot-is-sp .box_left,.headfoot-is-sp .box_right{
    width:100%;
}
.headfoot-is-sp .box_left .ttl{
    font-size: 1.7rem;
    text-align: center;
    padding: 2% 0 1%;
}
.headfoot-is-sp .recommend ul{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
}
.headfoot-is-sp .recommend ul li{
    width: 48%;
    padding: 2%;
}
.headfoot-is-sp .e_ttl{
    font-size: 1.2rem;
}
.headfoot-is-sp .date{
    width: 100%;
    display: block;
}
.headfoot-is-sp .date li{
    width: 100%;
}
.headfoot-is-sp .box_left a,
.is-ipad .box_left a{
    width: 100%;
}
.is-ipad .news{
    margin: 3% 2%;
}
.is-ipad .ship_block{
    width: 96%;
    margin: 3% 2%;
}
.is-ipad .breadcrumb{
    max-width: 100%;
}
.is-ipad .text--smallPrice{
    font-size: 1.3rem;
}

/* ==================================================
   おすすめ特集 (PC / スマホ共通・標準レスポンシブ対応)
================================================== */
.recommend ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px; /* バナー同士の間隔 */
    padding: 0;
    margin: 0;
    list-style: none;
    width: 100%;
}

.recommend ul li {
    width: calc(25% - 12px); /* PC・タブレット：4列表示 */
    box-sizing: border-box;
    padding: 0;
}

.recommend ul li a {
    display: block;
    transition: opacity 0.3s;
}

.recommend ul li a:hover {
    opacity: 0.8;
}

.recommend ul li img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

/* --- スマホ表示（画面幅 768px 以下） --- */
@media screen and (max-width: 768px) {
    .recommend ul {
        gap: 10px;
    }
    
    .recommend ul li {
        width: calc(50% - 5px); /* スマホ：2列表示 */
    }
}