/*================================
  商品詳細強制表示変更（フォルシア入稿）
================================*/

/* ツアー詳細 行程表内の行程の文字を非表示にする対応 */
/* 消したいのはSP版のみだが、PC版の時は既に標準cssによってnoneがあてられているので特に@mediaでの指定はしていない */
.fw-tour-process-tbl-body td:first-of-type .fw-tour-process-tbl-sp-ttl {
  display: none !important;
}

/* ツアー詳細 行程表最終日の宿泊欄を非表示にする対応*/
@media (max-width: 736px) {
  .fw-tour-process-tbl-body tr:last-of-type td:nth-of-type(2) {
    display: none !important;
  }
}

/* ツアー詳細 行程表宿泊内のホテル情報を非表示にする対応*/
/* これはあくまで暫定対応であるので時期が来たら外す想定 */
.fw-tour-process-tbl-hotel {
    display: none;
}

/* ツアー一覧・詳細 ツアーコードの文字サイズ・色変更 */
.fw-kaigai-tourlist .fw-tour-code {
font-size : 1.3rem !important;
color: #333;
}

.fw-kaigai-tourdetail .fw-tour-code {
font-size : 1.3rem !important;
color: #333;
}


/* ツアー詳細　ご確認ください枠の背景色（クリーム色）の削除 */
/* ツアー詳細　ご確認ください枠の枠線追加 */
.fw-kaigai-tourdetail .fw-tour-detail-attention {
background: none;
border: 1px solid #ccc;
padding: 1rem;
}

/* スマートフォンで左右余白を確保 */
@media (max-width: 736px) {
.fw-tour-detail-attention {
margin-left: 1rem;
margin-right: 1rem;
}
}

/* ツアー一覧　出発地＆目的地プルダウンが非活性の時は文字をグレーにする */
/* ツアー一覧　出発日欄が非活性の時は文字をグレーにする */
.fw-select.fw-is-disabled select {
  color: #666;
}
.fw-text--date.fw-is-disabled input {
    color: #666;
}
}

/*=========================================
  名鉄観光様ヒアリングシート依頼内容反映（ツアー詳細旅行代金下のhtmlに対するcss）
※以下2か所のみ、フォルシア側で「!important」を追加しているため、差し替え時は注意すること
　display: flex !important;
　justify-content: space-between !important; 
=========================================*/

/* 全体のリセット・基本設定 */
.accordion-container {
max-width: 800px;
margin: 40px auto;
padding: 0 20px;
font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
color: #333333;
line-height: 1.6;
max-height: 400px;	/* 表示させたい最大の高さ（環境に合わせて 350px や 50vh などに調整してください） */
overflow-y: auto;	/* 高さを超えたら、このエリア内だけでスクロールさせる */
padding-right: 5px;	/* スクロールバーが表示されたときの文字かぶり防止 */
}

/* アコーディオンの各枠 */
.accordion-item {
margin-bottom: 10px;
border-bottom: 1px solid #dddddd;
}

/* タイトル部分（グレーの背景帯） */
.accordion-title {
padding: 8px 12px;	/* 上下の余白を狭く */
font-size: 13px;        /* 文字を少し小さく */
display: flex !important;
justify-content: space-between !important;
align-items: center;
background-color: #e0e0e0;
font-weight: bold;      /* 見出しは一括で太字に設定 */
cursor: pointer;
list-style: none;
}

/* Safari用のデフォルト矢印消し */
.accordion-title::-webkit-details-marker {
display: none;
}

/* 右側に表示する矢印アイコン（CSSで作成） */
.accordion-title::after {
content: "";
width: 8px;
height: 8px;
border-right: 2px solid #333333;
border-bottom: 2px solid #333333;
transform: rotate(45deg);
transition: transform 0.3s;
margin-right: 5px;
}

/* アコーディオンが開いているときの矢印の動き */
.accordion-item[open] .accordion-title::after {
transform: rotate(-135deg);
}

/* 中身のコンテンツエリア */
.accordion-content {
padding: 10px;
font-size: 12px;	/* 文字を小さくして凝縮 */
background-color: #ffffff;
}

/* 各段落の調整 */
.accordion-content p {
margin: 0 0 6px 0;
}
.accordion-content p:last-child {
margin-bottom: 0;
}

/* リンク（URL）のスタイル */
.accordion-content a {
color: #0066cc;
text-decoration: underline;
}
.accordion-content a:hover {
text-decoration: none;
}

/* 〇燃油サーチャージ別などの小セクション */
.sub-section {
margin-top: 20px;
padding-top: 10px;
}
.sub-title {
color: #111111;
}

/* 特定の小見出しのみ太字にするためのクラス */
.sub-title.bold {
font-weight: bold;
}


/*================================
  index
================================*/
/*
------------------------
index
------------------------
0 common setting
1 レイアウト
2 オブジェクト
    2-1  ヘッダー
    2-23 フッター
*/
/*================================
  0 common setting
================================*/
/*
html {font-size: 62.5%}
*/
body .f-header,
body .f-footer,
.f-header select,
.f-footer select {
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo,
        メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
    font-size: 15px;
    position: relative;
    min-height: 100%;
}
.f-header select::-ms-expand,
.f-footer select::-ms-expand {
    display: none;
}
.f-header a,
.f-footer a {
    text-decoration: none;
}
ul {
    list-style: none;
}

/*================================
  1 レイアウト
================================*/
.f-header {
	position: relative;
	z-index: 55;
	background-image: none !important;
}
@media screen and (min-width: 737px) {
    .f-header {
        margin: 0 auto;
        clear: both;
        width: auto !important;
        background-image: none !important;
    }
}
.f-footer {
    position: relative;
    z-index: 10;
}
/*--------------------------------
  2-1 ヘッダー
--------------------------------*/
/*レイアウト*/
.f-header {
    height: 50px;
    box-sizing: border-box;
    background-image: none !important;
}
@media screen and (min-width: 737px) {
    .f-header {
        height: 80px;
    }
}
.f-header-content-wrap {
    display: flex;
    justify-content: flex-start;
}
@media screen and (min-width: 737px) {
    .f-header-content-wrap {
        align-items: center;
        max-width: 1100px;
        margin: 0 auto;
        position: relative;
        justify-content: flex-end;
    }
}
.f-header-global-nav {
    display: none;
}
@media screen and (min-width: 737px) {
    .f-header-global-nav {
        display: flex;
        width: calc(100% - 430px);
    }
}
.f-header-sub-content {
    display: none;
}
@media screen and (min-width: 737px) {
    .f-header-sub-content {
        display: block;
        width: 120px;
        text-align: center;
        margin-left: auto;
        margin-top: 0;
        margin-bottom: 0;
        padding: 0;
        width: 100px;
        margin-left: 0;
    }
}
/* ロゴ */
.f-logo {
	width: 150px;
	padding: 12px 0 0 10px;
	flex-direction: column;
	justify-content: space-between;
	margin: 0 !important;
}
@media screen and (min-width: 737px) {
	.f-logo {
		padding-top: 0;
		padding-right: 0;
		margin-right: auto !important;
	}
}
.f-logo__img {
	width: 140px;
	vertical-align: baseline !important;
}
.f-logo a {
    display: block;
        line-height: 1 !important;
}
/* 発地プルダウン */
.f-header-departure-wrap {
    flex: 1;
    padding-top: 7px;
    position: relative;
    margin-right: 2px;
}
@media screen and (min-width: 737px) {
    .f-header-departure-wrap {
        flex: initial;
        padding-top: 0;
        width: auto;
    }
}
.f-header-departure-wrap .f-pulldown__item {
    font-size: 18px;
    padding: 7px 5px;
}
.f-header-departure .f-search-display__title {
    display: none;
}
.f-myado .f-header-departure {
    display: none;
}
@media screen and (min-width: 737px) {
    .f-header-departure .f-search-display__title {
        display: block;
    }
}
.f-timeline .f-header-departure {
    display: none;
}
.f-header-departure {
    position: relative;
    z-index: 30;
    max-width: 100px;
    margin: auto;
}
@media screen and (min-width: 737px) {
    .f-header-departure {
        max-width: none;
    }
}
.f-header-departure > .f-search-display .f-search-display__input {
    background-image: url("/airdp/static/custom/images/f-arrow-down-black.svg");
    background-repeat: no-repeat;
    background-position: right 5px center;
    border: 1px solid #ccc;
    border-radius: 5px;
    text-align: center;
    padding: 5px 15px 5px 0;
    align-items: center;
}
@media screen and (min-width: 737px) {
    .f-header-departure > .f-search-display .f-search-display__input {
        cursor: pointer;
    }
}
.f-input-data {
    width: 100%;
    line-height: 1;
}
/* マイページ・メニューボタン */
.f-head-menu-wrap {
    display: flex;
}
@media screen and (min-width: 737px) {
    .f-head-menu-wrap {
        display: none;
    }
}
.f-header .f-search-menu {
    display: none;
    opacity: 0;
    position: absolute;
    z-index: 10;
    background-color: #fff;
    border-style: solid;
    border-width: 1px;
    top: 100%;
    width: 100%;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
}
.f-head-menu-wrap a.f-head-login,
.f-head-other-menu {
    position: relative;
    width: 52px;
    height: 50px;
    text-align: center;
    color: #fff;
    letter-spacing: -0.05em;
    white-space: nowrap;
    background-color: #007aec;
}
.f-head-login {
    margin-right: 2px;
}
.f-head-icon {
    pointer-events: none;
    padding-top: 3px;
}
.f-head-icon-label {
    position: absolute;
    bottom: 0;
    font-size: 10px;
    white-space: nowrap;
    width: 50px;
    text-align: center;
    pointer-events: none;
    padding-bottom: 3px;
}
/*ハンバーガーメニュー表示時*/
.f-header.is-menu-open .f-head-other-menu {
    background-color: #404040;
}
.f-header.is-menu-open .f-header-departure {
    display: none;
}
/* 初回アクセス対応 */
body.is-first-time .f-header-departure-wrap .f-overlay,
body.is-first-time .f-header-departure-wrap .f-baloon {
    display: block;
}
.f-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: black;
    opacity: 0.7;
    z-index: 10;
}
.f-baloon {
    display: none;
    position: absolute;
    background-color: #ffe699;
    z-index: 20;
    padding: 10px;
    white-space: nowrap;
    text-align: center;
    top: calc(100% + 10px);
    left: 50%;
    transform: translate(-50%, 0);
}
.f-baloon:before {
    content: "";
    position: absolute;
    top: -20px;
    left: 50%;
    margin-left: -15px;
    border: 10px solid transparent;
    border-bottom: 15px solid #ffe699;
}
.f-header-departure.is-active + .f-baloon {
    display: none !important;
}
/*グローバルメニュー PCのみ*/
@media screen and (min-width: 737px) {
    .f-header-global-nav {
        display: flex;
        justify-content: space-between;
        flex-grow: 1;
        box-sizing: border-box;
        margin-top: 0;
        margin-bottom: 0;
        max-width: 620px;
        width: 620px;
    }
    .f-header-global-nav li {
        flex-grow: 1;
        flex-basis: 20%;
    }
    .f-header-global-nav-link {
        height: 80px;
        padding: 10px;
        display: block;
        box-sizing: border-box;
        display: flex;
        align-items: flex-end;
        position: relative;
        justify-content: center;
    }
    .f-header-global-nav-link a {
        height: auto;
        line-height: 1;
    }
    .f-header-nav-japan-tour .f-header-global-nav-img {
        height: 50px;
    }
    .f-header-nav-japan-hotel .f-header-global-nav-img {
        height: 49px;
    }
    .f-header-nav-japan-dp .f-header-global-nav-img {
        height: 50px;
    }
    .f-header-nav-overseas-tour .f-header-global-nav-img {
        height: 55px;
    }
    .f-header-nav-cruise .f-header-global-nav-img {
        height: 50px;
    }
    .f-header-nav-tabi-pad .f-header-global-nav-img {
        height: 45px;
    }
    .f-header-nav-group .f-header-global-nav-img {
        height: 50px;
    }
    .f-header-global-nav-data {
        display: none;
    }
    .f-header-link-wrap {
        padding: 10px;
    }
    .f-header-link-category {
        width: 100px;
        background-image: url("/airdp/static/custom/images/f-icon-header-bg.svg");
        background-repeat: no-repeat;
        background-position: right 5px center;
        background-size: cover;
    }
    .f-header-link-category .f-header-global-nav-img {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 10px;
        margin: auto;
        width: 60px;
    }
    .f-header-link-wrap,
    .f-header-link-category {
        animation-duration: 0.2s;
        animation-name: fade-in;
        animation-timing-function: linear;
    }
    .f-header-link {
        /*display: flex;*/
        display: block;
        margin-bottom: 8px;
        padding-left: 0;
    }
    .f-header-global-nav-link.is-open:after,
    .f-header-global-nav-link.is-open:before {
        border: solid transparent;
        content: "";
        height: 0;
        width: 0;
        pointer-events: none;
        position: absolute;
        bottom: 0;
        left: 50%;
    }
    .f-header-global-nav-link.is-open:after {
        border-color: rgba(236, 236, 236, 0);
        border-top-width: 6px;
        border-bottom-width: 6px;
        border-left-width: 6px;
        border-right-width: 6px;
        margin-left: -6px;
        border-bottom-color: #ececec;
    }
    .f-header-global-nav-link.is-open:before {
        border-color: rgba(224, 224, 224, 0);
        border-top-width: 7px;
        border-bottom-width: 7px;
        border-left-width: 7px;
        border-right-width: 7px;
        margin-left: -7px;
        margin-bottom: 1px;
        border-bottom-color: #e1e1e1;
        border: none;
    }
    .f-header-global-nav-link.is-open + .f-header-global-nav-data {
        display: flex;
        position: absolute;
        width: 100%;
        background-color: #ececec;
        max-width: 1000px; /*width: 1000px;*/
        left: 0;
        animation-duration: 0.1s;
        animation-name: accordion;
        animation-timing-function: linear;
        box-shadow: 5px 5px 4px rgba(0, 0, 0, 0.3);
    }
    .f-header-link__item {
        display: inline-block;
        position: relative;
    }
    .f-header-link .f-header-link__item a {
        color: #000000;
        padding: 2px 10px 2px 18px;
    }
    .f-header-link .f-header-link__item a:hover {
        border-radius: 10px;
        background-color: #ffffff;
        text-decoration: none;
    }
    .f-header-link__item a::before {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        top: 7px;
        left: 5px;
        background-repeat: no-repeat;
        background-position: left center;
        border-radius: 50%;
    }
    .f-header-link__item a::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        top: 7px;
        left: 8px;
        background-image: url("/airdp/static/custom/images/icon-arrow.svg");
        background-repeat: no-repeat;
        background-position: left center;
    }
    .f-header-nav-japan-tour .f-header-link__item a::before {
        background-color: #e52824;
    }
    .f-header-nav-japan-hotel .f-header-link__item a::before {
        background-color: #e52824;
    }
    .f-header-nav-japan-dp .f-header-link__item a::before {
		background-color: #e52824;
	}
    .f-header-nav-overseas-tour .f-header-link__item a::before {
        background-color: #017aeb;
    }
    .f-header-nav-cruise .f-header-link__item a::before {
        background-color: #2db719;
    }
    .f-header-nav-tabi-pad .f-header-link__item a::before {
        background-color: #333333;
    }
    .f-header-nav-group .f-header-link__item a::before {
        background-color: #00BCD1;
    }
}
/*マイページ・English PCのみ*/
@media screen and (min-width: 737px) {
    .f-header-english {
        background: #00a5bf;
        margin-bottom: 0.2rem;
    }
    .f-header-sub-content .f-header-english a {
        font-size: 13px;
        color: #fff;
    }
    .f-header-mypage,
    .f-header-store {
        background-color: #999999;
        margin-bottom: 2px;
    }
    .f-header-sub-content .f-header-mypage a,
    .f-header-sub-content .f-header-store a {
        font-size: 13px;
        color: #ffffff;
    }
    .f-header-sub-content .f-header-english a:hover,
    .f-header-sub-content .f-header-mypage a:hover,
    .f-header-sub-content .f-header-store a:hover {
        text-decoration: none;
    }
}
/*--------------------------------
  2-2 ハンバーガーメニュー
--------------------------------*/
.f-menu {
    overflow: auto;
    position: fixed;
    top: 50px;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    transition: 0.2s ease-in-out;
    transform: translateX(-100%);
    background-color: #fff;
    -webkit-overflow-scrolling: touch;
}
.f-header.is-menu-open .f-menu {
    transform: translateX(0%);
}
.f-menu-title {
    font-weight: bold;
    text-align: center;
    color: #fff;
}
.f-menu-japan .f-menu-title {
    background-color: #ce0000;
}
.f-menu-overseas .f-menu-title {
    background-color: #017aed;
}
.f-menu-purpose .f-menu-title {
    background-color: #70ad46;
}
.f-menu-top a,
.f-menu-timeline a {
    display: block;
    text-align: center;
    color: #000000;
    padding: 10px 15px 10px 10px;
    background-repeat: no-repeat;
    background-position: right 7px center;
}
.f-menu-top a {
    background-image: url("/airdp/static/custom/images/f-arrow-right-def.svg");
}
.f-menu-timeline a {
    background-image: url("/airdp/static/custom/images/f-arrow-right-black.svg");
}
.f-menu-timeline a {
    background-color: #ffe699;
}
.f-menu-guide .f-menu-title,
.f-menu-other .f-menu-title {
    background-color: #676767;
}
.f-menu-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}
.f-menu-list__item {
    display: flex;
    width: 50%;
    border-right: 1px solid #e1e1e1;
    border-bottom: 1px solid #e1e1e1;
    box-sizing: border-box;
    line-height: 1.2;
    align-items: center;
}
.f-menu-list__item a {
    display: block;
    width: 100%;
    padding: 15px 15px 15px 10px;
    color: #000000;
    background-image: url("/airdp/static/custom/images/f-arrow-right-def.svg");
    background-repeat: no-repeat;
    background-position: right 7px center;
}
.f-menu-list__item .f-menu-two-lines {
    padding: 5px 15px 5px 10px;
}
.f-menu-two-lines__main {
    display: block;
    font-size: 13px;
    height: 15px;
}
.f-menu-two-lines__sub {
    display: block;
    font-size: 11px;
}
.f-icon-hamburger span {
    display: block;
    position: absolute;
    width: 21px;
    border-bottom: solid 3px #fff;
    transition: 0.2s ease-in-out;
    left: 15px;
}
.f-icon-hamburger span:nth-child(1) {
    top: 11px;
}
.f-icon-hamburger span:nth-child(2) {
    top: 18px;
}
.f-icon-hamburger span:nth-child(3) {
    top: 25px;
}
/* クローズアイコン */
.f-header.is-menu-open .f-head-other-menu span:nth-child(1) {
    top: 18px;
    left: 15px;
    transform: rotate(-45deg);
}
.f-header.is-menu-open .f-head-other-menu span:nth-child(2) {
    display: none;
}
.f-header.is-menu-open .f-head-other-menu span:nth-child(2),
.f-header.is-menu-open .f-head-other-menu span:nth-child(3) {
    top: 18px;
    transform: rotate(45deg);
}
.f-scroll-prevent {
    position: fixed;
    z-index: -1;
    width: 100%;
    height: 100%;
}
/*--------------------------------
  2-23 フッター
--------------------------------*/
.f-footer {
    background-color: #676767;
}
@media screen and (min-width: 737px) {
    .f-footer {
        /*min-width: 1000px;*/
    }
}
.f-copyright {
    background-color: #4e4e4e;
    color: #fff;
    text-align: center;
    font-size: 12px;
    padding-top: 5px;
    padding-bottom: 5px;
}
@media screen and (min-width: 737px) {
    .f-footer-list-wrap {
        max-width: 1000px; /*width: 1000px;*/
        margin: 0 auto;
    }
}
.f-footer-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 10px;
}
.f-footer-list__item {
    width: 50%;
    box-sizing: border-box;
    padding: 8px 15px 8px 10px;
    line-height: 1.2;
}
@media screen and (min-width: 737px) {
    .f-footer-list__item {
        width: auto;
    }
}
.f-footer .f-footer-list__item a {
    color: #fff;
    line-height: 1.3;
}
.f-pc-link {
    margin: 0 10px;
    padding: 10px 15px 10px 10px;
    border-top: 1px solid #828282;
    border-bottom: 1px solid #828282;
}
@media screen and (min-width: 737px) {
    .f-pc-link {
        max-width: 1000px; /*width: 1000px;*/
        margin: 0 auto;
    }
}
.f-pc-link a {
    color: #fff;
}
.f-forcia {
    text-align: right;
    margin: 0 10px;
    padding: 10px;
}
@media screen and (min-width: 737px) {
    .f-forcia {
        max-width: 1000px; /*width: 1000px;*/
        margin: 0 auto;
    }
}