@charset "utf-8";

/*PCSP共通設定*/
html {
  scroll-behavior: smooth;/*smooth scroll*/
  overflow-y: scroll;
}

body {
  margin: 0;
  color: var(--c_black);
  background: var(--c_white);
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  text-decoration: none;
  transition: opacity 0.25s;
}

a:hover {
  opacity: 0.8;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

h2,
h3,
p {
  margin: 0;
}

/* =========================
   カラー変数
   ========================= */
:root {
  --c_white: #ffffff;
  --c_red: #de022e;
  --c_black: #333333;
  --c_gray_light: #f7f7f7;
  --c_dark_blue: #21326e;
  --c_yellow: #f79400;
  --c_blue: #1260cc;
  --c_dull_blue: #3960b1;
  --c_orange: #ed5b00;
  --c_green: #309532;
  --c_light_blue: #b2eaff;
}

/* =========================
   タグの色（モーダル内）
   ========================= */
.modal_tag_list li[data-tag="花火"]         { --c_tag: #1260cc; --c_tag_bg: #eaf2fd; } 
.modal_tag_list li[data-tag="ハローキティ"]     { --c_tag: #de022e; --c_tag_bg: #fdecef; } 
.modal_tag_list li[data-tag="JR"]   { --c_tag: #ed5b00; --c_tag_bg: #fdefe6; }
.modal_tag_list li[data-tag="グルメ"]       { --c_tag: #b87300; --c_tag_bg: #fcf3e2; } 
.modal_tag_list li[data-tag="家族旅行"]     { --c_tag: #309532; --c_tag_bg: #ecf6ec; } 
.modal_tag_list li[data-tag="温泉"]         { --c_tag: #0e8a8a; --c_tag_bg: #e6f4f4; } 
.modal_tag_list li[data-tag="ドライブ"]     { --c_tag: #1b8fc4; --c_tag_bg: #e9f4fa; } 
.modal_tag_list li[data-tag="新幹線"]       { --c_tag: #7248b8; --c_tag_bg: #f1ecfa; }
.modal_tag_list li[data-tag="ホテル"]       { --c_tag: #d43d84; --c_tag_bg: #fceaf2; }
.modal_tag_list li[data-tag="体験"]         { --c_tag: #8a5a2b; --c_tag_bg: #f6f0e9; }
.modal_tag_list li[data-tag="クーポン"]   { --c_tag: #a1a30d; --c_tag_bg: #f0f6e5; } 



/* =========================
   セクション背景
   ========================= */
section {
  background: var(--c_white);
}

section.bg_gray {
  background: var(--c_gray_light);
}

section.bg_select {
  background-color: var(--c_gray_light);
  background-image: url(../images/bg1g.png);
  background-repeat: repeat;
  background-size: 45px;
}

/* =========================
   その他
   ========================= */
/* --- スクリーンリーダー用 --- */
.sr_only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

/* --- メインビジュアル --- */
@keyframes mv_popup {
  0% {
    opacity: 0;
    transform: translateY(80px) scale(0.85);
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* --- 視差効果を減らす --- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .mv_circle {
    opacity: 1;
    animation: none;
  }
}

/* slick初期化前のちらつき防止（1枚目だけ表示） */
.pickup_img_slider:not(.slick-initialized) li {
  display: none;
}
.pickup_img_slider:not(.slick-initialized) li:first-child {
  display: block;
}
.pickup_img_slider li img {
  aspect-ratio: 400 / 250;
}


/* ############################################################

   SP版

   ############################################################ */

@media screen and (max-width: 759.9px) {

  /* --- 文字サイズ --- */
  :root {
    --fs_body: 1rem;
    --fs_caption: 0.9rem;
    --fs_sm: 1.1rem;
    --fs_md: 1.2rem;
    --fs_lg: 1.35rem;
    --fs_xl: 1.5rem;
    --fs_xxl: 1.7rem;
    --fs_3xl: 2rem;
    --fs_4xl: 2.4rem;
    --fs_5xl: 2.6rem;
  }

  #wrapper {
    line-height: 1.4;
  }
  .spnone {
    display: none;
  }
  .inner {
    width: 96%;
    margin: 0 2%;
    padding: 24px 0;
    box-sizing: border-box;
  }

  #dirPathBlock {
    overflow-x: scroll;
    overflow-y: hidden;
  }

  #dirPathBlock,
  #anchorLinkBlock {
    margin: 0 1%;
  }

  #dirPathBlock p,
  #anchorLinkBlock a {
    font-size: 12px;
  }

  #dirPathBlock p {
    width: max-content;
  }

/*------------------------------
Important news
------------------------------*/
#newsImportant{
	margin: 5px;
	display:flex;
	font-size: 11px;
}
#newsImportant dt{
	width: 72px;
    height: fit-content;
	background: #e62d2d;
	color: #FFF;
	text-align: center;
	border-radius: 3px;
	margin-top: 2px;
    padding: 3px 0;
}
#newsImportant dd{
	width: 100%;
	padding: 0 10px;
}
#newsImportant li{
	padding: 5px 3px 5px 12px;
	position: relative;
}
#newsImportant li:nth-of-type(n+2){border-top: 1px dotted #ccc;}
#newsImportant li:before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 6px solid #555555;
	border-right: 0;
    position: absolute;
	top: 7px;
	left: 0;
}
/*Important news----------------*/

  h1 {
    margin: 0 1% 1%;
    font-size: 12px;
  }

  /* --- セクション見出し --- */
  .sec_ttl {
    display: flex;
    align-items: center;
    margin-bottom: 14px;
    color: var(--c_dark_blue);
    font-weight: bold;
    line-height: 1.3;
    font-size: var(--fs_md);
  }

  .sec_ttl .ico {
    width: 1.2em;
    height: 1.2em;
    margin-right: 8px;
    flex-shrink: 0;
  }

  .sec_ttl img {
    width: 35px;
    height: auto;
    padding: 0 10px 0 0;
  }

  /* --- NEWラベル --- */
  .label_new {
    display: inline-block;
    margin-right: 6px;
    padding: 2px 4px 2px;
    background: var(--c_red);
    color: var(--c_white);
    font-weight: bold;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    font-size: var(--fs_sm);
  }
/*
  .label_new_card {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
  }
*/

  /* =========================
     メインビジュアル
     ========================= */
  #mv {
    position: relative;
    width: 100%;
    background: var(--c_light_blue);
    background-image: linear-gradient(
      to right,
      var(--c_white)      calc(50% - 1000px),
      var(--c_light_blue) calc(50% - 900px),
      var(--c_light_blue) calc(50% + 900px),
      var(--c_white)      calc(50% + 1000px)
    );
    overflow-x: clip;
  }

  /* --- 背景の雲 --- */
  .mv_cloud {
    position: absolute;
    bottom: 0;
    z-index: 0;
    width: 65%;
    height: auto;
    pointer-events: none;
  }

  .mv_cloud.cloud_left {
    left: -150px;
  }

  .mv_cloud.cloud_right {
    right: -150px;
  }

  /* --- 左右の丸画像はSPでは非表示 --- */
  .mv_side {
    display: none;
  }

  /* --- 中央コンテンツ --- */
  #mv .inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto 1rem;
    padding: 1rem 0 0;
    box-sizing: border-box;
    text-align: center;
  }

  .mv_ttl_img,
  .mv_main_img {
    font-size: 0;
  }

  .mv_ttl_img img {
    max-width: 60%;
  }

  .mv_lead {
    margin: 15px 0;
    color: var(--c_dark_blue);
    font-weight: bold;
    line-height: 1.5;
    font-size: var(--fs_sm);
  }

  .mv_lead .red {
    color: var(--c_red);
  }

  .mv_main_img {
    margin-top: auto;
  }

  .mv_main_img img {
    max-width: 84%;
  }

  /* --- 検索ガジェット --- */
  #p_sbox {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96%;
    height: 300px;
    margin: 0 2%;
    box-sizing: border-box;
    border-top: 5px solid var(--c_dark_blue);
    background: #dddddd;
    text-align: center;
    font-size: var(--fs_body);
  }


  /* =========================
     メインスライド  section#mainvisual
     ========================= */
  #mainvisual {
    background: var(--c_gray_light);
  }

  #mainvisual .inner {
    width: 100%;
    margin: 0;
    padding: 16px 0;
  }

  .mv_slider {
    position: relative;
  }

  .mv_slider .slick-list {
    padding: 0 10%;
  }

  .mv_slider::before,
  .mv_slider::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    width: 10%;
    background: var(--c_gray_light);
    opacity: 0.65;
    pointer-events: none;
  }

  .mv_slider::before {
    left: 0;
  }

  .mv_slider::after {
    right: 0;
  }

  .mv_slider .slide_item {
    padding: 0 5px;
    box-sizing: border-box;
    vertical-align: top;
  }

  .mv_slider .slide_item a {
    display: block;
  }

  .mv_slider .slide_item img {
    display: block;
    width: 100%;
    height: auto;
  }

  .mv_slider .slide_prev_btn,
  .mv_slider .slide_next_btn {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 32px;
    height: 32px;
    padding: 0;
    background: var(--c_red);
    border: none;
    border-radius: 50%;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
    outline: none;
    font-size: 0;
    line-height: 0;
    transform: translateY(-50%);
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
  }

  .mv_slider .slide_prev_btn {
    left: calc(10% - 16px);
  }

  .mv_slider .slide_next_btn {
    right: calc(10% - 16px);
  }

  .mv_slider .slide_prev_btn::before,
  .mv_slider .slide_next_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--c_white);
    border-right: 2px solid var(--c_white);
  }

  .mv_slider .slide_prev_btn::before {
    transform: translate(-30%, -50%) rotate(-135deg);
  }

  .mv_slider .slide_next_btn::before {
    transform: translate(-70%, -50%) rotate(45deg);
  }

  .mv_slider .slick-arrow.slick-disabled {
    display: none;
  }

  .mv_slider:not(.slick-initialized) {
    display: flex;
    flex-wrap: nowrap;
    padding: 0 10%;
    box-sizing: border-box;
    overflow: hidden;
  }

  .mv_slider:not(.slick-initialized) .slide_item {
    flex: 0 0 50%;
  }
  /* =========================
     News  section#news
     ========================= */
  .news_box {
    display: block;
  }

  .news_ttl {
    margin-bottom: 10px;
    color: var(--c_red);
    font-weight: bold;
    line-height: 1;
    font-size: var(--fs_xxl);
    flex-shrink: 0;
  }

  .news_list {
    width: 100%;
  }

  .news_list li {
    border-bottom: 1px dotted #cccccc;
  }

  .news_list a {
    display: flex;
    align-items: center;
    padding: 8px 0;
    color: var(--c_black);
  }

  .news_list .news_txt {
    flex: 1;
    margin: 0 10px;
    color: var(--c_black);
    line-height: 1.4;
    font-size: var(--fs_body);
  }

  #news .label_new {
    font-size: var(--fs_body);
  }

  /* --- 丸矢印アイコン --- */
  .ico_circle_arrow {
    position: relative;
    display: block;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    background: var(--c_red);
    border-radius: 50%;
    transition: transform 0.25s;
  }

  .ico_circle_arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 45%;
    display: block;
    width: 5px;
    height: 5px;
    border-top: 2px solid var(--c_white);
    border-right: 2px solid var(--c_white);
    transform: translate(-50%, -50%) rotate(45deg);
  }

  /* --- ホバー --- */
  .news_list a:hover .news_txt {
    text-decoration: underline;
  }

  .news_list a:hover .ico_circle_arrow {
    transform: translateX(3px);
  }


  /* =========================
     イチオシ旅  section#pickup
     ========================= */
  .pickup_box {
    display: block;
    padding: 16px;
    box-sizing: border-box;
    background: var(--c_white);
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.12);
  }

  .pickup_img {
    width: 100%;
    flex-shrink: 0;
    background: #f2f2f2;
    overflow: hidden;
    font-size: 0;
    text-align: center;
  }

  .pickup_img img {
    width: 100%;
    height: auto;
  }

  .pickup_body {
    display: flex;
    flex: 1;
    flex-direction: column;
    margin-top: 16px;
  }

  .pickup_ttl {
    padding-left: 12px;
    border-left: 4px solid var(--c_red);
    color: var(--c_red);
    font-weight: bold;
    line-height: 1.3;
    font-size: var(--fs_md);
  }

  .pickup_catch {
    padding-bottom: 1em;
    line-height: 1.6;
    font-size: var(--fs_body);
  }

  .pickup_txt {
    margin-top: 14px;
    line-height: 1.8;
    font-size: var(--fs_body);
  }
  .pickup_txt li {
    margin-bottom: 10px;
  }
  .pickup_txt strong {
    font-weight: 700;
  }

  .pickup_body .btn_area {
    margin-top: auto;
    padding: 30px 0 0;
  }

  /* --- 詳しくみるボタン（モーダルでも使用） --- */
  .btn_detail {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: none;
    padding: 14px 30px;
    box-sizing: border-box;
    background: var(--c_red);
    border-radius: 4px;
    font-weight: bold;
    line-height: 1.2;
    font-size: var(--fs_sm);
  }

  a.btn_detail {
    color: var(--c_white);
  }

  .btn_detail::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    display: block;
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--c_white);
    border-right: 2px solid var(--c_white);
    transform: translateY(-50%) rotate(45deg);
  }


  /* =========================
     おすすめプラン　エリアおすすめ　宿おすすめ　
	section#recommend / section#area / section#stay
     ========================= */
section#area .inner {
    padding: 12px 0;
}	
	
  .card_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .card_list > li {

    display: flex;
  }

  .card_list a {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    background: var(--c_white);
    border: 1px solid #e5e5e5;
    color: var(--c_black);
    transition: opacity 0.25s, transform 0.25s, box-shadow 0.25s;
  }

  .card_list a:hover {
    opacity: 1;
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }

  .card_img {
    position: relative;
    width: 100%;
    background: #f2f2f2;
    overflow: hidden;
    font-size: 0;
    text-align: center;
  }

  .card_img img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
  }

  .card_ttl {
    padding: 10px;
    font-weight: bold;
    line-height: 1.4;
    font-size: var(--fs_body);
  }

  #recommend .label_new,
  #area .label_new,
  #stay .label_new {
    font-size: var(--fs_sm);
  }

  /* --- もっと探すリンク --- */
  .more_link {
    margin-top: 12px;
    text-align: right;
  }

  .more_link a {
    display: inline-flex;
    align-items: center;
    color: var(--c_dull_blue);
    font-size: var(--fs_caption);
  }

  .more_link a:hover {
    text-decoration: underline;
  }

  .more_link a::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 8px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
  }


  /* =========================
      モーダル　#recommend / #area / #stay 共通
     ========================= */
  .modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9999;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
  }

  .modal.is_open {
    opacity: 1;
    visibility: visible;
  }

  body.is_modal_open {
    position: fixed;
    width: 100%;
    overflow: hidden;
  }

  .modal_wraper {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 56px 4% 24px;
    box-sizing: border-box;
  }

  .modal_inner {
    position: relative;
    width: 100%;
    transform: translateY(10px);
    transition: transform 0.25s;
  }

  .modal.is_open .modal_inner {
    transform: translateY(0);
  }

  .modal_close_btn {
    position: absolute;
    top: -46px;
    right: 0;
    width: 40px;
    height: 40px;
    padding: 0;
    background: none;
    border: none;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    transition: opacity 0.25s;
  }

  .modal_close_btn:hover {
    opacity: 0.75;
  }

  .modal_close_btn::before,
  .modal_close_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 28px;
    height: 4px;
    background: var(--c_white);
    border-radius: 2px;
  }

  .modal_close_btn::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }

  .modal_close_btn::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  .modal_close_btn:focus-visible {
    outline: 2px solid var(--c_white);
    outline-offset: 2px;
  }

  .modal_body {
    padding: 16px;
    box-sizing: border-box;
    background: var(--c_white);
  }

  .modal_img {
    background: #f2f2f2;
    overflow: hidden;
    font-size: 0;
    text-align: center;
  }

  .modal_img img {
    width: 100%;
    height: auto;
  }

  .modal_img img[data-src] {
    aspect-ratio: 4 / 3;
  }

  .modal_ttl {
    margin-top: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #dddddd;
    color: var(--c_black);
    font-weight: bold;
    line-height: 1;
    text-align: center;
    font-size: var(--fs_lg);
  }

  /* --- タグ --- */
  .modal_tag_list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
  }

  .modal_tag_list > li {
    --c_tag: #5a6472;
    --c_tag_bg: #eef0f2;
    padding: 5px 10px;
    border: 1px solid var(--c_tag);
    border-radius: 3px;
    background: var(--c_tag_bg);
    color: var(--c_tag);
    font-weight: bold;
    line-height: 1.2;
    font-size: var(--fs_caption);
        display: flex;
        width: 77px;
        justify-content: center;
        align-items: center;
  }

  .modal_txt {
    margin-top: 12px;
    line-height: 1.5;
    font-size: var(--fs_body);
  }

  .modal_btn_area {
    margin-top: 16px;
  }

  .modal_btn_area .btn_detail {
    max-width: none;
    margin: 0;
  }

  .modal_tag_list:empty,
  .modal_txt:empty {
    display: none;
  }


  /* =========================
     赤い風船セレクト  section#select
     ========================= */
  .select_head {
    text-align: center;
  }

  .select_head_img {
    font-size: 0;
    text-align: center;
    background-image: linear-gradient(90deg, transparent, #ffffff 3% 97%, transparent 100%);
  }

  .select_head_img img {
    width: 90%;
    height: auto;
  }

  .select_ttl {
    margin-top: 10px;
    font-weight: bold;
    line-height: 1.3;
    font-size: var(--fs_xl);
  }

  .select_lead {
    margin: 12px 0 20px;
    text-align: center;
    line-height: 1.3;
    font-size: var(--fs_body);
    font-weight: bold;
  }

  .select_ttl .red,
  .select_lead .red {
    color: var(--c_red);
  }

  /* --- タブ切替 --- */
  .tab_wraper {
    position: relative;
  }

  .tab_switch {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
  }

  .tab_menu {
    display: flex;
    align-items: stretch;
    gap: 8px;
  }

  .tab_label {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 3px;
    border-radius: 4px 4px 0 0;
    color: var(--c_white);
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    font-size: var(--fs_body);
    cursor: pointer;
    opacity: 0.55;
    transition: opacity 0.2s;
  }

  .tab_label .sub {
    display: block;
    font-size: 0.7rem;
  }

  .tab_label:hover {
    opacity: 0.8;
  }

  .tab_traffic {
    background: var(--c_dull_blue);
  }

  .tab_food {
    background: var(--c_yellow);
  }

  .tab_activity {
    background: var(--c_green);
  }

  /* 選択中のタブ */
  #tab01:checked ~ .tab_menu [for="tab01"],
  #tab02:checked ~ .tab_menu [for="tab02"],
  #tab03:checked ~ .tab_menu [for="tab03"] {
    opacity: 1;
  }

  /* キーボード操作時のフォーカス表示 */
  #tab01:focus-visible ~ .tab_menu [for="tab01"],
  #tab02:focus-visible ~ .tab_menu [for="tab02"],
  #tab03:focus-visible ~ .tab_menu [for="tab03"] {
    outline: 2px solid var(--c_dark_blue);
    outline-offset: -2px;
  }

  /* 選択中のパネル */
  .tab_panel {
    display: none;
  }

  #tab01:checked ~ #panel01,
  #tab02:checked ~ #panel02,
  #tab03:checked ~ #panel03 {
    display: block;
  }

  .panel_inner {
    padding: 16px;
    box-sizing: border-box;
    background: var(--c_white);
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.12);
  }

  /* --- セレクトカード --- */
  .select_list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .select_list > li {
    position: relative;
    display: flex;
    flex-direction: column;
  }

  .select_list > li::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -15px;
    display: block;
    width: 100%;
    border-top: 1px solid #e5e5e5;
  }

  .select_list > li:last-child::after {
    display: none;
  }

  .select_list .card_img {
    background: #f2f2f2;
  }

  .select_name {
    margin-top: 10px;
    font-weight: bold;
    line-height: 1.3;
    font-size: var(--fs_sm);
  }

  .label_area {
    display: inline-block;
    margin-right: 6px;
    padding: 3px 6px;
    background: var(--c_black);
    color: var(--c_white);
    font-weight: bold;
    line-height: 1;
    vertical-align: 2px;
    font-size: var(--fs_body);
  }

  .select_txt {
    margin-top: 8px;
    line-height: 1.3;
    font-size: var(--fs_body);
  }

  /* --- カセット内のボタン --- */
  .btn_list {

    display: flex;
    gap: 8px;
    margin-top: auto;
    padding-top: 14px;
  }

  .btn_list > li {
    flex: 1;
  }

  .btn_list a {
    color: var(--c_white);
  }

  .btn_plan {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 3px;
    color: var(--c_white);
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    font-size: var(--fs_body);
  }

  .btn_jr {
    background: var(--c_dull_blue);
  }

  .btn_air {
    background: var(--c_yellow);
  }

  /* --- もっと探すボタン --- */
  .panel_foot {
    margin-top: 16px;
  }

  .btn_more_plan {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 14px 30px;
    box-sizing: border-box;
    border-radius: 4px;
    background: var(--c_dull_blue);
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    font-size: var(--fs_md);
  }

  a.btn_more_plan {
    color: var(--c_white);
  }


  .btn_more_plan::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 16px;
        display: block;
        width: 7px;
        height: 7px;
        border-top: 2px solid var(--c_white);
        border-right: 2px solid var(--c_white);
        transform: translateY(-50%) rotate(45deg);
    }

	
  /* =========================
    各地プラン&パンフnav  section#area_plan_wrap
     ========================= */	
	.hotelwrap h3 {
        font-size: 14px;
        font-weight: bold;
        text-align: center;
        margin-bottom: 5px;
    }



  /* =========================
     特集から探す  section#feature
     ========================= */
  .feature_slider {
    position: relative;
  }

  #feature .slide_item {
    padding: 5px;
    box-sizing: border-box;
    vertical-align: top;
  }

  .feature_slider .slide_item a {
    display: block;
  }

  .feature_slider .slide_item img {
    display: block;
    width: 100%;
    height: auto;
  }

  .feature_slider .slide_item img[data-lazy] {
    aspect-ratio: 4 / 3;
    background: #f2f2f2;
  }

  .feature_slider .slick-slide > div,
  .feature_slider .slick-slide > li {
    font-size: 0;
    line-height: 0;
  }

  /* --- 矢印 --- */
  .feature_slider .slide_prev_btn,
  .feature_slider .slide_next_btn {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 32px;
    height: 32px;
    padding: 0;
    background: var(--c_red);
    border: none;
    border-radius: 50%;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
    outline: none;
    font-size: 0;
    line-height: 0;
    transform: translateY(-50%);
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
  }

  .feature_slider .slide_prev_btn {
    left: -6px;
  }

  .feature_slider .slide_next_btn {
    right: -6px;
  }

  .feature_slider .slide_prev_btn::before,
  .feature_slider .slide_next_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--c_white);
    border-right: 2px solid var(--c_white);
  }

  .feature_slider .slide_prev_btn::before {
    transform: translate(-30%, -50%) rotate(-135deg);
  }

  .feature_slider .slide_next_btn::before {
    transform: translate(-70%, -50%) rotate(45deg);
  }

  .feature_slider .slick-arrow.slick-disabled {
    display: none;
  }
	
 /* =========================
      HISTORY  section#history
     ========================= */
  #history .sec_ttl {
    flex-wrap: wrap;
    font-size: var(--fs_xl);
  }

  #history .sec_ttl .ico {
    width: 1em;
    height: 1em;
  }

  .sec_ttl_main {
    letter-spacing: 0.02em;
  }

  .sec_ttl_sub {
    margin-left: 10px;
    font-size: var(--fs_body);
  }

  .history_box {
    display: block;
  }

  .history_lead {
    line-height: 1.6;
    font-size: var(--fs_sm);
    font-weight: bold;
  }

  .history_txt {
    margin-top: 4px;
    line-height: 1.5;
    font-size: var(--fs_body);
  }

  .history_img {
    margin-top: 16px;
    font-size: 0;
    text-align: center;
  }

  .history_img img {
    width: 100%;
    max-width: 222px;
    height: auto;
  }

  /* --- アコーディオン --- */
  .acc_wraper {
    margin-top: 20px;
  }

  .acc_switch {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
  }

  /* --- 開閉ボタン --- */
  .acc_btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
    padding: 14px 44px;
    box-sizing: border-box;
    background: var(--c_red);
    border-radius: 4px;
    color: var(--c_white);
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    font-size: var(--fs_sm);
    cursor: pointer;
    transition: opacity 0.25s;
  }

  .acc_btn:hover {
    opacity: 0.8;
  }

  .acc_switch:focus-visible ~ .acc_btn {
    outline: 2px solid var(--c_dark_blue);
    outline-offset: 2px;
  }

  /* ＋と−のアイコン */
  .acc_btn::before,
  .acc_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 18px;
    display: block;
    width: 16px;
    height: 3px;
    background: var(--c_white);
    border-radius: 1px;
    transform: translateY(-50%);
  }

  .acc_btn::after {
    transform: translateY(-50%) rotate(90deg);
    transition: transform 0.3s;
  }

  .acc_switch:checked ~ .acc_btn::after {
    transform: translateY(-50%) rotate(0deg);
  }

  /* --- ボタンの文言--- */
  .close_txt {
    display: none;
  }

  .acc_switch:checked ~ .acc_btn .open_txt {
    display: none;
  }

  .acc_switch:checked ~ .acc_btn .close_txt {
    display: inline;
  }

  /* --- 開閉するパネル --- */
  .acc_panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
  }

  .acc_switch:checked ~ .acc_panel {
    max-height: 4000px;
  }

  .acc_panel_inner {
    padding: 20px 0 0;
  }	
	
.acc_switch:checked ~ .acc_btn {
  background: #767676;
}	
.acc_switch:checked ~ .acc_btn {
  background: #cccccc;
  color: var(--c_black);
}
.acc_switch:checked ~ .acc_btn::before,
.acc_switch:checked ~ .acc_btn::after {
  background: var(--c_black);
}	
	
/* --- history流用 ---*/
.historyContent_open{
    background: var(--c_gray_light);
}	
	
/*トップリード*/
.historyContent {
	width:100%;
	border-top:1px #333 solid;
	margin:0 0 20px;
}
.historyContent#showa .nengou{
	width:100%;
	margin:10px 10px 0 0;
	background: var(--c_red);
    color: #fff;
    padding:5px;
    text-align: center;
}
.historyContent#heisei .nengou{
	width:100%;
	margin:10px 10px 0 0;
	background: var(--c_red);
    color: #fff;
    padding:5px;
    text-align: center;
}
.historyContent#reiwa .nengou{
	width:100%;
	margin:10px 10px 0 0;
	background: var(--c_red);
    color: #fff;
    padding:5px;
    text-align: center;
}
.historyContent .rightbox{
	width:100%;
	margin-top:10px;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap: wrap; 
	-webkit-justify-content:space-between; /* Safari */
	justify-content:space-between;
}
.historyContent .kioku{
	width:100%;
	border-top:1px #999 solid;
}
.historyContent .kioku h3{
	font-size:12px;
	width:25%;
	float:left;
}
.historyContent .kioku dl{
	font-size:11px;
	border-left:1px #999 dotted;
	width:75%;
	float:right;
	padding-left:5px;
}
.historyContent .kioku dl dt{
	float:left;
	clear:both;
	width:10%;
}
.historyContent .kioku dl dd{
	float:left;
	width:90%;
}
.historyContent .kioku:after {
	content:" ";
	clear:both;
	display:table;
}
.historyContent#showa .topics_half,
.historyContent#showa .topics {
	width:100%;
	margin-top:10px;
	background-color:#ffffff;
	padding:10px;
}
.historyContent#reiwa .topics_half,
.historyContent#reiwa .topics {
	width:100%;
	margin-top:10px;
	background-color:#ffffff;
	padding:10px;
}
.historyContent#heisei .topics_half,
.historyContent#heisei .topics {
	width:100%;
	margin-top:10px;
	background-color:#ffffff;
	padding:10px;
}
.historyContent#reiwa .topics_half,
.historyContent#reiwa .topics {
	width:100%;
	margin-top:10px;
	background-color:#ffffff;
	padding:10px;
}
.historyContent dl.year,
.historyContent dl.year2 {
	width:100%;
}
.historyContent dl.year dt,
.historyContent dl.year2 dt{
	color:#FFF;
	font-size:11px;
	width:120px;
}
.historyContent dl.year dt span,
.historyContent dl.year2 dt span{
	background-color:var(--c_red);
	border-radius:10px;
	padding:0 10px;
}
.historyContent dl.year dd,
.historyContent dl.year2 dd{
	font-weight: bold;
	font-size:12px;
	padding-top:5px;
}
.historyContent dl.year dd p,
.historyContent dl.year2 dd p{
	color:#333;
}
.historyContent .gallery{
	clear:both;
	width:100%;
	margin:0;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap: wrap; 
}
.historyContent .topics .gallery > a,
.historyContent .topics_half .gallery > a,
.historyContent .topics .gallery > li,
.historyContent .topics_half .gallery > li{
	width:23%;
	margin:1%;
}
.historyContent .gallery p{
	font-size:12px;
}
.historyContent .gallery .grow2{
	flex-grow: 1.5;
}
.historyContent .gallery .grow3{
	flex-grow: 3;
}
.historyContent .gallery .grow4{
	flex-grow: 4;
}
.historyContent .gallery .grow5{
	flex-grow: 5;
}
.historyContent .gallery li img{
	width:100%;
}
.historyContent .gallery li img{
	width:100%;
}

.historyContentAC {
width: 100%;
}	
}


/* ############################################################

   PC版

   ############################################################ */

@media screen and (min-width: 760px), print {

  /* --- 文字サイズ --- */
  :root {
    --fs_body: 16px;
    --fs_caption: 14px;
    --fs_sm: 18px;
    --fs_md: 20px;
    --fs_lg: 24px;
    --fs_xl: 28px;
    --fs_xxl: 32px;
    --fs_3xl: 34px;
    --fs_4xl: 38px;
    --fs_5xl: 42px;
  }

  #wrapper {
    line-height: 1.231;
  }

  .pcnone {
    display: none;
  }

  /* --- 各セクションの内側の幅 --- */
  .inner {
    display: block;
    width: 100%;
    max-width: 1080px;
    min-width: 760px;
    margin: 0 auto;
    padding: 50px 0;
  }

  /* --- パンくず・ページタイトル --- */
  #dirPathBlock,
  #anchorLinkBlock,
  .iframe_end-content_gadget {
    width: 100%;
    max-width: 1080px;
    min-width: 760px;
    margin: auto;
  }

  #dirPathBlock,
  #anchorLinkBlock {
    display: block;
    margin: 0 auto;
    font-size: 12px;
  }

  #dirPathBlock p,
  #anchorLinkBlock a {
    font-size: 12px;
  }

/*------------------------------
Important news
------------------------------*/
#newsImportant{
	width: 100%;
	max-width: 1080px;
	margin: 5px auto;
	display: flex;
	font-size: 12px;
}
#newsImportant dt{
	width: 72px;
    height: fit-content;
	background: #e62d2d;
	color: #FFF;
	text-align: center;
	border-radius: 3px;
	margin-top: 1px;
	padding: 3px 0;
}
#newsImportant dd{
	width: 100%;
	padding: 0 10px;
}
#newsImportant li{
	padding: 3px 3px 3px 12px;
	position: relative;
}
#newsImportant li:nth-of-type(n+2){border-top: 1px dotted #ccc;}
#newsImportant li:before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 6px solid #555555;
	border-right: 0;
    position: absolute;
	top: 7px;
	left: 0;
}
/*Important news----------------*/

  h1 {
    width: 100%;
    max-width: 1080px;
    min-width: 760px;
    margin: 0 auto 5px;
    font-size: 12px;
  }

  /* --- セクション見出し --- */
  .sec_ttl {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    color: var(--c_dark_blue);
    font-weight: bold;
    line-height: 1.3;
    font-size: var(--fs_xl);
  }

  .sec_ttl .ico {
    width: 1.2em;
    height: 1.2em;
    margin-right: 8px;
    flex-shrink: 0;
  }

  .sec_ttl img {
    width: 35px;
    height: auto;
    padding: 0 10px 0 0;
  }

  /* --- NEWラベル --- */
  .label_new {
    display: inline-block;
    margin-right: 10px;
    padding: 4px 6px 1px;
    background: var(--c_red);
    color: var(--c_white);
    font-weight: bold;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    font-size: var(--fs_sm);
  }
/*
  .label_new_card {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
  }
*/

  /* =========================
     メインビジュアル
     ========================= */
  #mv {
    position: relative;
    width: 100%;
    height: 425px;
    background: var(--c_light_blue);
    background-image: linear-gradient(
      to right,
      var(--c_white)      calc(50% - 1000px),
      var(--c_light_blue) calc(50% - 900px),
      var(--c_light_blue) calc(50% + 900px),
      var(--c_white)      calc(50% + 1000px)
    );
    overflow-x: clip;
  }

  /* --- 背景の雲 --- */
  .mv_cloud {
    position: absolute;
    bottom: 0;
    z-index: 0;
    width: 850px;
    height: 425px;
    object-fit: cover;
    object-position: bottom;
    pointer-events: none;
  }

  .mv_cloud.cloud_left {
    right: calc(50% + 150px);
  }

  .mv_cloud.cloud_right {
    left: calc(50% + 150px);
  }

  .mv_side {
    position: absolute;
    top: 0;
    z-index: 1;
    width: 460px;
    height: 600px;
    pointer-events: none;
  }

  .mv_side.side_left {
    right: calc(50% + 325px);
  }

  .mv_side.side_right {
    left: calc(50% + 325px);
  }

  .mv_circle {
    position: absolute;
    display: block;
    border-radius: 50%;
    overflow: hidden;
    opacity: 0;
    animation: mv_popup 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  }

  .mv_circle img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .circle_l01 {
    top: 40px;
    right: 20px;
    width: 350px;
    height: 350px;
    animation-delay: 0.2s;
  }

  .circle_l02 {
    top: 300px;
    right: 250px;
    width: 180px;
    height: 180px;
    animation-delay: 0.5s;
  }

  .circle_r01 {
    top: 40px;
    left: 20px;
    width: 350px;
    height: 350px;
    animation-delay: 0.35s;
  }

  .circle_r02 {
    top: 300px;
    left: 250px;
    width: 180px;
    height: 180px;
    animation-delay: 0.65s;
  }

  /* --- 中央コンテンツ --- */
  #mv .inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 1080px;
    height: 425px;
    margin: 0 auto 1rem;
    padding: 20px 0 0;
    box-sizing: border-box;
    text-align: center;
  }

  .mv_ttl_img,
  .mv_main_img {
    font-size: 0;
  }

  .mv_ttl_img img {
    max-height: 110px;
    width: auto;
  }

  .mv_lead {
    margin: 20px 0;
    color: var(--c_dark_blue);
    font-weight: bold;
    line-height: 1.5;
    font-size: var(--fs_lg);
  }

  .mv_lead .red {
    color: var(--c_red);
  }

  .mv_main_img {
    margin-top: auto;
  }

  .mv_main_img img {
    max-height: 185px;
    width: auto;
  }

  /* --- 検索ガジェット --- */
  #p_sbox {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 580px;
    height: 300px;
    margin: 0.75rem auto 0;
    box-sizing: border-box;
    border-top: 5px solid var(--c_dark_blue);
    background: #dddddd;
    text-align: center;
    font-size: var(--fs_body);
  }


  /* =========================
     メインスライド  section#mainvisual
     ========================= */
  #mainvisual {
    background: var(--c_gray_light);
  }

  #mainvisual .inner {
    padding: 30px 0;
  }

  .mv_slider {
    position: relative;
  }


  .mv_slider .slick-list {
    padding: 0 15%;
  }

  .mv_slider::before,
  .mv_slider::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    width: 15%;
    background: var(--c_gray_light);
    opacity: 0.65;
    pointer-events: none;
  }

  .mv_slider::before {
    left: 0;
  }

  .mv_slider::after {
    right: 0;
  }

  .mv_slider .slide_item {
    padding: 0 10px;
    box-sizing: border-box;
    vertical-align: top;
  }

  .mv_slider .slide_item a {
    display: block;
  }

  .mv_slider .slide_item img {
    display: block;
    width: 100%;
    height: auto;
  }

  .mv_slider .slide_prev_btn,
  .mv_slider .slide_next_btn {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 32px;
    height: 32px;
    padding: 0;
    background: var(--c_red);
    border: none;
    border-radius: 50%;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
    outline: none;
    font-size: 0;
    line-height: 0;
    transform: translateY(-50%);
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
  }

  .mv_slider .slide_prev_btn {
    left: calc(15% - 16px);
  }

  .mv_slider .slide_next_btn {
    right: calc(15% - 16px);
  }

  .mv_slider .slide_prev_btn::before,
  .mv_slider .slide_next_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--c_white);
    border-right: 2px solid var(--c_white);
  }

  .mv_slider .slide_prev_btn::before {
    transform: translate(-30%, -50%) rotate(-135deg);
  }

  .mv_slider .slide_next_btn::before {
    transform: translate(-70%, -50%) rotate(45deg);
  }

  .mv_slider .slick-arrow.slick-disabled {
    display: none;
  }
  .mv_slider:not(.slick-initialized) {
    display: flex;
    flex-wrap: nowrap;
    padding: 0 10%;
    box-sizing: border-box;
    overflow: hidden;
  }

  .mv_slider:not(.slick-initialized) .slide_item {
    flex: 0 0 50%;
  }

  /* =========================
     News  section#news
     ========================= */
  .news_box {
    display: flex;
    align-items: flex-start;
    justify-content: center;
  }

  .news_ttl {
    width: 150px;
    padding-top: 6px;
    color: var(--c_red);
    font-weight: bold;
    line-height: 1;
    text-align: center;
    font-size: var(--fs_xxl);
    flex-shrink: 0;
  }

  .news_list {
    width: 100%;
  }

  .news_list li {
    border-bottom: 1px dotted #cccccc;
  }

  .news_list a {
    display: flex;
    align-items: center;
    padding: 8px 0;
    color: var(--c_black);
  }

  .news_list .news_txt {
    flex: 1;
    margin: 0 10px;
    color: var(--c_black);
    line-height: 1.4;
    font-size: var(--fs_body);
  }

  #news .label_new {
    font-size: var(--fs_body);
  }

  /* --- 丸矢印アイコン --- */
  .ico_circle_arrow {
    position: relative;
    display: block;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    background: var(--c_red);
    border-radius: 50%;
    transition: transform 0.25s;
  }

  .ico_circle_arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 45%;
    display: block;
    width: 5px;
    height: 5px;
    border-top: 2px solid var(--c_white);
    border-right: 2px solid var(--c_white);
    transform: translate(-50%, -50%) rotate(45deg);
  }

  /* --- ホバー --- */
  .news_list a:hover .news_txt {
    text-decoration: underline;
  }

  .news_list a:hover .ico_circle_arrow {
    transform: translateX(3px);
  }


  /* =========================
     イチオシ旅  section#pickup
     ========================= */
  .pickup_box {
    display: flex;
    padding: 24px;
    box-sizing: border-box;
    background: var(--c_white);
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.12);
  }

  .pickup_img {
    width: 400px;
    margin-right: 24px;
    flex-shrink: 0;
    background: #f2f2f2;
    overflow: hidden;
    font-size: 0;
    text-align: center;
  }

  .pickup_img img {
    width: 100%;
    height: auto;
  }

  .pickup_body {
    display: flex;
    flex: 1;
    flex-direction: column;
  }

  .pickup_ttl {
    padding-left: 12px;
    border-left: 4px solid var(--c_red);
    color: var(--c_red);
    font-weight: bold;
    line-height: 1.3;
    font-size: var(--fs_xl);
  }

  .pickup_catch {
    padding-bottom: 1em;
    line-height: 1.6;
    font-size: var(--fs_sm);
  }

  .pickup_txt {
    margin-top: 14px;
    line-height: 1.8;
    font-size: var(--fs_body);
  }
  /*.pickup_txt li {
    margin-bottom: 10px;
  }*/
  .pickup_txt strong {
    font-weight: 700;
  }

  .pickup_body .btn_area {
    margin-top: auto;
  }

  /* --- 詳しくみるボタン --- */
  .btn_detail {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-left: auto;
    padding: 14px 30px;
    box-sizing: border-box;
    background: var(--c_red);
    border-radius: 4px;
    font-weight: bold;
    line-height: 1.2;
    font-size: var(--fs_sm);
  }

  a.btn_detail {
    color: var(--c_white);
  }

  .btn_detail::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    display: block;
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--c_white);
    border-right: 2px solid var(--c_white);
    transform: translateY(-50%) rotate(45deg);
  }


  /* =========================
     おすすめプラン　エリアおすすめ　宿おすすめ　
	section#recommend / section#area / section#stay
     ========================= */
section#area .inner {
    padding: 20px 0;
}	
  .card_list {
    display: grid;
  }

  .card_list.col3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }

  .card_list > li {
    display: flex;
  }

  .card_list a {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    background: var(--c_white);
    border: 1px solid #e5e5e5;
    color: var(--c_black);
    transition: opacity 0.25s, transform 0.25s, box-shadow 0.25s;
  }

  .card_list a:hover {
    opacity: 1;
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }

  .card_img {
    position: relative;
    width: 100%;
    background: #f2f2f2;
    overflow: hidden;
    font-size: 0;
    text-align: center;
  }

  .card_img img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
  }

  .card_ttl {
    padding: 10px;
    font-weight: bold;
    line-height: 1.4;
    font-size: var(--fs_sm);
  }

  #area .label_new,
  #stay .label_new {
    font-size: var(--fs_lg);
  }

  /* --- もっと探すリンク --- */
  .more_link {
    margin-top: 12px;
    text-align: right;
    font-size: var(--fs_body);
  }

  .more_link a {
    display: inline-flex;
    align-items: center;
    color: var(--c_dull_blue);
  }

  .more_link a:hover {
    text-decoration: underline;
  }

  .more_link a::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 8px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
  }


  /* =========================
     モーダル#recommend / #area / #stay 共通
     ========================= */
  .modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9999;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
  }

  .modal.is_open {
    opacity: 1;
    visibility: visible;
  }

  body.is_modal_open {
    position: fixed;
    width: 100%;
    overflow: hidden;
  }

  .modal_wraper {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 70px 20px 40px;
    box-sizing: border-box;
  }

  .modal_inner {
    position: relative;
    width: 100%;
    max-width: 550px;
    transform: translateY(10px);
    transition: transform 0.25s;
  }

  .modal.is_open .modal_inner {
    transform: translateY(0);
  }

  .modal_close_btn {
    position: absolute;
    top: -50px;
    right: 0;
    width: 40px;
    height: 40px;
    padding: 0;
    background: none;
    border: none;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    transition: opacity 0.25s;
  }

  .modal_close_btn:hover {
    opacity: 0.75;
  }

  .modal_close_btn::before,
  .modal_close_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 28px;
    height: 4px;
    background: var(--c_white);
    border-radius: 2px;
  }

  .modal_close_btn::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }

  .modal_close_btn::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  .modal_close_btn:focus-visible {
    outline: 2px solid var(--c_white);
    outline-offset: 2px;
  }

  .modal_body {
    padding: 24px;
    box-sizing: border-box;
    background: var(--c_white);
  }

  .modal_img {
    background: #f2f2f2;
    overflow: hidden;
    font-size: 0;
    text-align: center;
  }

  .modal_img img {
    width: 100%;
    height: auto;
  }

  .modal_img img[data-src] {
    aspect-ratio: 4 / 3;
  }

  .modal_ttl {
    margin-top: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #dddddd;
    color: var(--c_black);
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    font-size: var(--fs_lg);
  }

  /* --- タグ --- */
  .modal_tag_list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
  }

  .modal_tag_list > li {
    --c_tag: #5a6472;
    --c_tag_bg: #eef0f2;
    padding: 5px 10px;
    border: 1px solid var(--c_tag);
    border-radius: 3px;
    background: var(--c_tag_bg);
    color: var(--c_tag);
    font-weight: bold;
    line-height: 1.2;
    font-size: var(--fs_caption);
        display: flex;
        /*width: 70px;*/
        justify-content: center;
        align-items: center;
  }

  .modal_txt {
    margin-top: 16px;
    line-height: 1.5;
    font-size: var(--fs_body);
  }

  .modal_btn_area {
    margin-top: 24px;
  }

  .modal_btn_area .btn_detail {
    max-width: none;
    margin: 0;
  }

  .modal_tag_list:empty,
  .modal_txt:empty {
    display: none;
  }
	
	
	


  /* =========================
     赤い風船セレクト  section#select
     ========================= */
  .select_head {
    text-align: center;
  }

  .select_head_img {
    width: 100%;
    margin: 0 auto;
    font-size: 0;
    text-align: center;
    background-image: linear-gradient(90deg, transparent, #ffffff 15% 85%, transparent 100%);
  }

  .select_head_img img {
    width: 70%;
    height: auto;
  }

  .select_ttl {
    margin-top: 26px;
    font-weight: bold;
    line-height: 1.3;
    font-size: var(--fs_3xl);
  }

  .select_lead {
    margin: 16px 0 24px;
    font-weight: bold;
    line-height: 1.5;
    font-size: var(--fs_md);
  }

  .select_ttl .red,
  .select_lead .red {
    color: var(--c_red);
  }

  /* --- タブ切替 --- */
  .tab_wraper {
    position: relative;
  }

  .tab_switch {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
  }

  .tab_menu {
    display: flex;
    align-items: stretch;
    gap: 16px;
  }

  .tab_label {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border-radius: 4px 4px 0 0;
    color: var(--c_white);
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    font-size: var(--fs_lg);
    cursor: pointer;
    opacity: 0.55;
    transition: opacity 0.2s;
  }

  .tab_label .sub {
    display: block;
    font-size: var(--fs_caption);
  }

  .tab_label:hover {
    opacity: 0.8;
  }

  .tab_traffic {
    background: var(--c_dull_blue);
  }

  .tab_food {
    background: var(--c_yellow);
  }

  .tab_activity {
    background: var(--c_green);
  }

  /* 選択中のタブ */
  #tab01:checked ~ .tab_menu [for="tab01"],
  #tab02:checked ~ .tab_menu [for="tab02"],
  #tab03:checked ~ .tab_menu [for="tab03"] {
    opacity: 1;
  }

  /* キーボード操作時のフォーカス表示 */
  #tab01:focus-visible ~ .tab_menu [for="tab01"],
  #tab02:focus-visible ~ .tab_menu [for="tab02"],
  #tab03:focus-visible ~ .tab_menu [for="tab03"] {
    outline: 2px solid var(--c_dark_blue);
    outline-offset: -2px;
  }

  /* 選択中のパネル */
  .tab_panel {
    display: none;
  }

  #tab01:checked ~ #panel01,
  #tab02:checked ~ #panel02,
  #tab03:checked ~ #panel03 {
    display: block;
  }

  .panel_inner {
    padding: 30px;
    box-sizing: border-box;
    background: var(--c_white);
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.12);
  }

  /* --- セレクトカード --- */
  .select_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px 24px;
  }

  .select_list > li {
    position: relative;
    display: flex;
    flex-direction: column;
  }

  .select_list > li::after {
    content: "";
    position: absolute;
    left: 0;
    display: none;
    border-top: 1px solid #e5e5e5;
  }

  .select_list > li:nth-child(3n+1)::after {
    display: block;
    bottom: -15px;
    width: calc(300% + 48px);
  }

  .select_list > li:nth-child(3n+1):nth-last-child(-n+3)::after {
    display: none;
  }

  .select_list .card_img {
    background: #f2f2f2;
  }

  .select_name {
    margin-top: 10px;
    font-weight: bold;
    line-height: 1.3;
    font-size: var(--fs_sm);
  }

  .label_area {
    display: inline-block;
    margin-right: 6px;
    padding: 3px 6px;
    background: var(--c_black);
    color: var(--c_white);
    font-weight: bold;
    line-height: 1;
    vertical-align: 2px;
    font-size: var(--fs_body);
  }

  .select_txt {
    margin-top: 8px;
    line-height: 1.3;
    font-size: var(--fs_body);
  }

  /* --- カセット内のボタン --- */
  .btn_list {
    display: flex;
    gap: 8px;
    margin-top: auto;
    padding-top: 20px;
  }

  .btn_list > li {
    flex: 1;
  }

  .btn_list a {
    color: var(--c_white);
  }

  .btn_plan {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 3px;
    color: var(--c_white);
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    font-size: var(--fs_body);
  }

  .btn_jr {
    background: var(--c_dull_blue);
  }

  .btn_air {
    background: var(--c_yellow);
  }

  /* --- もっと探すボタン --- */
  .panel_foot {
    margin-top: 24px;
  }

  .btn_more_plan {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 18px 40px;
    box-sizing: border-box;
    border-radius: 4px;
    background: var(--c_dull_blue);
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    font-size: var(--fs_md);
  }

  a.btn_more_plan {
    color: var(--c_white);
  }


  .btn_more_plan::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 16px;
        display: block;
        width: 7px;
        height: 7px;
        border-top: 2px solid var(--c_white);
        border-right: 2px solid var(--c_white);
        transform: translateY(-50%) rotate(45deg);
    }

	
	

  /* =========================
    各地プラン&パンフnav  section#area_plan_wrap
     ========================= */	
	.hotelwrap h3 {
        font-size: 20px;
        font-weight: bold;
        text-align: center;
        margin-bottom: 10px;
    }

	
  /* =========================
     特集から探す  section#feature
     ========================= */
  .feature_slider {
    position: relative;
    padding: 0 44px;
  }

  #feature .slide_item {
    padding: 8px;
    box-sizing: border-box;
    vertical-align: top;
  }

  .feature_slider .slide_item a {
    display: block;
  }

  .feature_slider .slide_item img {
    display: block;
    width: 100%;
    height: auto;
  }

  .feature_slider .slide_item img[data-lazy] {
    aspect-ratio: 4 / 3;
    background: #f2f2f2;
  }


  .feature_slider .slick-slide > div,
  .feature_slider .slick-slide > li {
    font-size: 0;
    line-height: 0;
  }

  /* --- 矢印 --- */
  .feature_slider .slide_prev_btn,
  .feature_slider .slide_next_btn {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 32px;
    height: 32px;
    padding: 0;
    background: var(--c_red);
    border: none;
    border-radius: 50%;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
    outline: none;
    font-size: 0;
    line-height: 0;
    transform: translateY(-50%);
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
  }

  .feature_slider .slide_prev_btn {
    left: 0;
  }

  .feature_slider .slide_next_btn {
    right: 0;
  }

  .feature_slider .slide_prev_btn::before,
  .feature_slider .slide_next_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--c_white);
    border-right: 2px solid var(--c_white);
  }

  .feature_slider .slide_prev_btn::before {
    transform: translate(-30%, -50%) rotate(-135deg);
  }

  .feature_slider .slide_next_btn::before {
    transform: translate(-70%, -50%) rotate(45deg);
  }

  .feature_slider .slick-arrow.slick-disabled {
    display: none;
  }
	

  /* =========================
     HISTORY  section#history
     ========================= */
  #history .sec_ttl {
    flex-wrap: wrap;
    font-size: var(--fs_4xl);
  }

  #history .sec_ttl .ico {
    width: 1em;
    height: 1em;
  }

  .sec_ttl_main {
    letter-spacing: 0.02em;
  }

  .sec_ttl_sub {
    margin-left: 14px;
    font-size: var(--fs_lg);
  }

  .history_box {
    display: flex;
    align-items: flex-start;
    gap: 30px;
  }

  .history_body {
    flex: 1;
  }

    .history_lead {
        line-height: 1.6;
        font-size: var(--fs_md);
        font-weight: bold;
    }

    .history_txt {
        margin-top: 4px;
        line-height: 1.5;
        font-size: var(--fs_sm);
    }

  .history_img {
    width: 222px;
    flex-shrink: 0;
    font-size: 0;
  }

  .history_img img {
    width: 100%;
    height: auto;
  }

  /* --- アコーディオン --- */
  .acc_wraper {
    margin-top: 30px;
  }


  .acc_switch {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
  }

  /* --- 開閉ボタン --- */
  .acc_btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
    padding: 16px 50px;
    box-sizing: border-box;
    background: var(--c_red);
    border-radius: 4px;
    color: var(--c_white);
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    font-size: var(--fs_md);
    cursor: pointer;
    transition: opacity 0.25s;
  }

  .acc_btn:hover {
    opacity: 0.8;
  }

  .acc_switch:focus-visible ~ .acc_btn {
    outline: 2px solid var(--c_dark_blue);
    outline-offset: 2px;
  }

  /* ＋と−のアイコン */
  .acc_btn::before,
  .acc_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 18px;
    display: block;
    width: 16px;
    height: 3px;
    background: var(--c_white);
    border-radius: 1px;
    transform: translateY(-50%);
  }

  .acc_btn::after {
    transform: translateY(-50%) rotate(90deg);
    transition: transform 0.3s;
  }

  .acc_switch:checked ~ .acc_btn::after {
    transform: translateY(-50%) rotate(0deg);
  }

  /* --- ボタンの文言 --- */
  .close_txt {
    display: none;
  }

  .acc_switch:checked ~ .acc_btn .open_txt {
    display: none;
  }

  .acc_switch:checked ~ .acc_btn .close_txt {
    display: inline;
  }

  /* --- 開閉するパネル --- */
  .acc_panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
  }

  .acc_switch:checked ~ .acc_panel {
    max-height: 3000px;
  }

  .acc_panel_inner {
    padding: 30px 0 0;
  }

.acc_switch:checked ~ .acc_btn {
  background: #767676;
}	
.acc_switch:checked ~ .acc_btn {
  background: #cccccc;
  color: var(--c_black);
}
.acc_switch:checked ~ .acc_btn::before,
.acc_switch:checked ~ .acc_btn::after {
  background: var(--c_black);
}	
	
/* --- history流用 ---*/
.historyContent_open{
    background: var(--c_gray_light);
}	

/*トップリード*/
.historyContent {
	width:100%;
	border-top:1px #333 solid;
	margin:10px 0 20px;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap: wrap; 
	padding: 10px 0 2px;
}
.historyContent#showa .nengou{
	width:100px;
	margin:10px 10px 0 0;
	background: var(--c_red);
    color: #fff;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 18px;
}
.historyContent#heisei .nengou{
	width:100px;
	margin:10px 10px 0 0;
	background: var(--c_red);
    color: #fff;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 18px;
}
.historyContent#reiwa .nengou{
	width:100px;
	margin:10px 10px 0 0;
	background: var(--c_red);
    color: #fff;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 18px;
}
.historyContent .rightbox{
	width:840px;
	margin-top:10px;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap: wrap; 
	-webkit-justify-content:space-between; /* Safari */
	justify-content:space-between;
}
.historyContent .kioku{
	width:100%;
	border-top:1px #999 solid;
	padding: 5px;
}
.historyContent .kioku h3{
	font-size:12px;
	width:10%;
	float:left;
}
.historyContent .kioku dl{
	font-size:11px;
	border-left:1px #999 dotted;
	width:21.5%;
	float:left;
	padding-left:5px;
}
.historyContent .kioku dl dt{
	float:left;
	clear:both;
	width:10%;
}
.historyContent .kioku dl dd{
	float:left;
	width:90%;
}
.historyContent .kioku:after {
	content:" ";
	clear:both;
	display:table;
}
.historyContent#showa .topics {
	width:100%;
	margin-top:10px;
	background-color:#ffffff;
	padding:10px;
}
.historyContent#heisei .topics {
	width:100%;
	margin-top:10px;
	background-color:#ffffff;
	padding:10px;
}
.historyContent#reiwa .topics {
	width:100%;
	margin-top:10px;
	background-color:#ffffff;
	padding:10px;
}
.historyContent dl.year {
	width:100%;
	display:table;
	margin-bottom: 5px;
}
.historyContent dl.year dt{
	display:table-cell;
	color:#FFF;
	font-size:11px;
	width:120px;
}
.historyContent dl.year dt span{
	background-color:var(--c_red);
	border-radius:10px;
	padding:0 10px;
}
.historyContent dl.year dd{
	display:table-cell;
	font-weight: bold;
	padding-left:10px;
}
.historyContent dl.year:after{
	content:" ";
	clear:both;
	display:table;
}
.historyContent dl.year2 {
	width:100%;
}
.historyContent dl.year2 dt{
	color:#FFF;
	font-size:11px;
	width:120px;
}
.historyContent dl.year2 dt span{
	background-color:var(--c_red);
	border-radius:10px;
	padding:0 10px;
}
.historyContent dl.year2 dd{
	font-weight: bold;
	padding: 5px 0;
}
.historyContent dl.year dd p,
.historyContent dl.year2 dd p{
	color:#333;
}
.historyContent .gallery{
	clear:both;
	width:100%;
	margin:0;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap: wrap; 
}
.historyContent .topics .gallery > a,
.historyContent .topics .gallery > li{
	width:14.5%;
	margin:1%;
}
.historyContent .gallery p{
	font-size:12px;
}
.historyContent .gallery .grow2{
	flex-grow: 1.5;
}
.historyContent .gallery .grow3{
	flex-grow: 3;
}
.historyContent .gallery .grow4{
	flex-grow: 4;
}
.historyContent .gallery .grow5{
	flex-grow: 5;
}
.historyContent .gallery li img{
	width:100%;
}
.historyContent .gallery li img{
	width:100%;
}
.historyContent#showa .topics_half {
	width:47%;
	margin-top:10px;
	background-color:#ffffff;
	padding:10px;
}
.historyContent#heisei .topics_half {
	width:47%;
	margin-top:10px;
	background-color:#ffffff;
	padding:10px;
}
.historyContent#reiwa .topics_half {
	width:47%;
	margin-top:10px;
	background-color:#ffffff;
	padding:10px;
}
.historyContent .topics_half .gallery > a,
.historyContent .topics_half .gallery > li{
	width:30%;
	margin:1.5%;
}
.historyContent .topics .gallery > a.carbon {
    width: 4.5%;
    margin: 1%;
}
}

/* ============================================================
   FULL gadget migration from style2.css (zero-omission).
   calendar/popup -> verbatim (unscoped); hotelwrap -> #area_plan_wrap;
   all others -> #gadget (generic rules confined, new design safe).
   ============================================================ */
#gadget main img {
    width: 100% !important;
    height: auto !important;
}
#gadget main input {outline:none;
}
#gadget .dis_flex,
#area_plan_wrap .dis_flex {
    flex-wrap: wrap;
    display: flex;
}
#gadget #sp_nnmt {
	width: 640px;
	margin: 0 auto 50px;
}
#gadget #sp_nnmt img {
	width: 100%;
}

@media screen and (max-width: 759.9px) {

#gadget h3 {
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 5px;
}
#gadget b {font-weight:normal;
}
#gadget * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
#gadget .clear {clear: both;
}
#gadget .clearFloat:after { 
	content: "."; 
	display: block; 
	clear: both; 
	height: 0; 
	visibility: hidden; 
	line-height: 0;
}
#gadget .clearFloat { 
	display: inline-table; 
	min-height: 1%;
}
#gadget * html .clearFloat {height: 1%;
}
#gadget .clearFloat {display: block;
}
#gadget .clearFloat {overflow:hidden;
}
#gadget a.OpaChange:hover * {
	filter:alpha(opacity=70); 
	-moz-opacity:0.70; 
	opacity:0.70;
}
#gadget #title { position: relative;
}
#gadget #title img {
	width:100%;
	height:auto;
}

#gadget {
    margin-bottom: 0;
    padding-bottom: 1px;
    background: rgba(255, 255, 255, 0.8);
}
#gadget .domestic_contents {
    width: auto;
    margin: 0 10px 10px;
    padding: 10px 0 0 0;
	background:#FFF;
}
#gadget .cFix,
#area_plan_wrap .cFix {min-height: 1px;
}
#gadget #gadget_box__section .inner {
	width: 100%;
    margin: 0;
    padding: 0;
}
#gadget .tab_kokunai_ga {
	flex-wrap: wrap;
	display: flex;
	margin-bottom: 15px;
}
#gadget .tab_kokunai_ga li {
	width: calc((100% - 16px) / 3);
	margin: 0 2px;
	padding: 15px 0;
	font-size: 13px;
	border-bottom: 3px solid #eee;
	cursor: pointer;
	text-align: center;
	text-indent: 22px;
	background: #FFF;
}
#gadget .tab_kokunai_ga li.select {
	border-bottom: 3px solid #20208c;
    color: #20208c;
	position:relative;
}
#gadget .tab_kokunai_ga li.select:after {
	content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    border-top: 6px solid #20208c;
    border-bottom: 0;
    position: absolute;
    display: block;
    bottom: -7px;
    left: calc(50% - 5px);
}
#gadget .tab_kokunai_ga li span {position:relative;
}
#gadget .tab_kokunai_ga li span:before {
	content: "";
    width: 24px;
    height: 24px;
    display: block;
    position: absolute;
	top: -5px;
    left: -28px;
}
#gadget .tab_kokunai_ga li:nth-of-type(1) span:before {
	background: url(/shared2021/common/images/gadget/ico_jr.png) no-repeat;
	background-size: 100%;
}
#gadget .tab_kokunai_ga li:nth-of-type(2) span:before {
	background:url(/shared2021/common/images/gadget/ico_plane.png) no-repeat;
	background-size: 100%;
}
#gadget .tab_kokunai_ga li:nth-of-type(4) span:before {
	background:url(/shared2021/common/images/gadget/ico_bed.png) no-repeat;
	background-size: 100%;
}
#gadget #pax_wrap,
#gadget #carrier_wrap,
#gadget #keyword_wrap,
#gadget #pax_summary_wrap,
#gadget #rooms_summary_wrap {display: none !important;
}
#gadget #air_s_box select,
#gadget #air_s_box #returnDirection {
	width: 100%;
	height: 42px;
	border: #C1C3C5 solid 1px;
	box-sizing: border-box;
	align-items: center;
	display: grid;
	text-indent: 90px;
	border-radius: 5px;
	font-size: 14px;
	background: #FFF;
}
#gadget #air_s_box .select_airport,
#gadget #p_sbox_ka .select_airport {color: #A6ACAF;
}
#gadget #air_s_box .select_airport *,
#gadget #p_sbox_ka .select_airport * {color: #3C3D47;
}
#gadget #air_s_box .select_airport > option:first-child,
#gadget #p_sbox_ka .select_airport > option:first-child {display:none;
}
#gadget #p_sbox .box-contents #returnDirection {
	text-indent: 31px;
	background: #E1E4E7;
	color: #3C3D47;
}
#gadget #p_sbox .box-contents .ico_man.select_issitsuninzuu,
#gadget #p_sbox .box-contents .ico_bed.select_hakusuu {
	width: 100%;
	height: 42px;
	padding: 5px;
	border: #C1C3C5 solid 1px;
	box-sizing: border-box;
	align-items: center;
	border-radius: 5px;
	background: #FFF;
}
#gadget .selectday {
	width: 100%;
	height: 42px;
	padding: 2px 5px;
	border: #C1C3C5 solid 1px;
	box-sizing: border-box;
	align-items: center;
	display: grid;
	border-radius: 5px;
	font-size: 14px;
	color: inherit;
	background: #FFF;
}
#gadget .selectday p {text-indent: 105px;
}
#gadget #p_sbox .box-contents .w198 select {
	border-right:none;
	border-radius: 5px 0 0 5px;
	text-align: right;
	text-align-last: right;
	padding: 2px 0 2px 5px;
}
#gadget #p_sbox .box-contents .wc100p-198 select {
	text-indent: 0;
	border-left:none;
	border-radius: 0 5px 5px 0;
	padding: 2px 5px 2px 0;
}
#gadget #p_sbox .box-contents .w40p select {text-indent: 10px;
}
#gadget #p_sbox .box-contents .w50p select {text-indent: 31px;
}
#gadget #p_sbox .box-contents b {
	position: absolute;
	left: 80px;
	top: 14px;
	font-size: 10px;
	color: #E74444;
	pointer-events: none;
}
#gadget #p_sbox .box-contents .w50p b {
	position: absolute;
	left: unset;
	right: 20px;
	top: 14px;
}
#gadget #gadget_box__section #p_sbox #NTA_JR2_KodawariBasic input[type="checkbox" i]:disabled {
	background: #ddd;
    border-color: #ccc;
}
#gadget .box-contents select option.na {color:#ccc;
}
#gadget .select_wrap,
#gadget .noselect_wrap {position: relative;
}
#gadget .select_wrap:after {
	content: "▼";
    position: absolute;
    width: 20px;
    height: 40px;
    top: 1px;
    right: 1px;
    color: #555;
    font-size: 10px;
    pointer-events: none;
    text-align: center;
    display: grid;
    align-items: center;
    border-radius: 0 5px 5px 0;
    background: #FFF;
}
#gadget .noselect_wrap:after {content: "";
}
#gadget .ico_place:before,
#gadget .ico_calendar:before,
#gadget .ico_bed:before,
#gadget .ico_man:before,
#gadget .ico_glass:before,
#gadget .ico_plane:before,
#gadget .ico_trank:before {
	font-family: "Material Symbols Rounded";
    line-height: 1;
    color: #A6ACAF;
    position: absolute;
    margin-top: -11px;
    font-variation-settings: "FILL" 0, "wght" 120, "GRAD" 0, "opsz" 24;
    font-size: 18px;
    top: 58%;
    left: 5px;
	z-index: 1;
}
#gadget .ico_place#returnDirection:before {left: -26px;
}
#gadget .ico_place:before {content: "\e0c8";
}
#gadget .ico_calendar:before {content: "\e935";
}
#gadget .ico_bed:before {content: "\efdf";
}
#gadget .ico_man:before {content: "e7ef";
}
#gadget .ico_plane:before {content: "\e6ca";
}
#gadget .ico_trank:before {content: "\efc3";
}
#gadget .select_syuppatsuchi:after {content: "出発地";
}
#gadget .select_mokutekichi:after {content: "目的地";
}
#gadget .select_syuppatsubi:after {content: "出発日";
}
#gadget .select_issitsuninzuu:after {content: "1室人数";
}
#gadget .select_toutyakuchi:after {content: "到着地";
}
#gadget .select_kityakubi:after {content: "帰着日";
}
#gadget .select_checkin:after {content: "宿泊日";
}
#gadget .select_hakusuu:after {content: "泊数";
}
#gadget .select_syukuhakuchi:after {content: "宿泊地";
}
#gadget .select_ryokounissuu:after {content: "旅行日数";
}
#gadget .select_area:after {content: "エリア";
}
#gadget .select_district:after {content: "地区";
}
#gadget .select_syuppatsuchi:after,
#gadget .select_mokutekichi:after,
#gadget .select_syuppatsubi:after,
#gadget .select_issitsuninzuu:after,
#gadget .select_toutyakuchi:after,
#gadget .select_kityakubi:after,
#gadget .select_checkin:after,
#gadget .select_hakusuu:after,
#gadget .select_syukuhakuchi:after,
#gadget .select_ryokounissuu:after,
#gadget .select_area:after,
#gadget .select_district:after {
	position: absolute;
	top: 13px;
	left: 36px;
	color: #A6ACAF;
	font-size: 12px;
	pointer-events: none;
}
#gadget .dis_flex,
#area_plan_wrap .dis_flex {
	flex-wrap: wrap;
	display: flex;
}
#gadget .w40p {
	width: 39%;
	margin-right:1%;
}
#gadget .w50p {
	width: 49%;
	margin-right:1%;
}
#gadget .w60p {
	width: 59%;
	margin-right:1%;
}
#gadget .w40p:last-child,
#gadget .w50p:last-child,
#gadget .w60p:last-child {margin:0 0 0 1%;
}
#gadget #p_sbox .box-contents .w198 {width: 180px;
}
#gadget #p_sbox .box-contents .wc100p-198 {width: calc(100% - 180px);
}
#gadget #p_sbox .box-contents .con1btn input[type="button"],
#gadget #doAirSearch {
	display: grid;
    background: #F29A16;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.142857142;
    width: 240px;
    min-height: 40px;
    border-radius: 30px;
    box-shadow: 0 1px 2px 0 rgba(60, 61, 71, 0.16);
    margin: auto;
	text-align: center;
    align-items: center;
	position:relative;
}
#gadget #doAirSearch:before {
	width: 20px;
    height: 24px;
    display: block;
    background-image: url(/sp/shared2015/common/images/icon01.png);
    background-repeat: no-repeat;
    -webkit-background-size: 16px;
    background-size: 16px;
    content: "";
    position: absolute;
    top: 25%;
    left: 72px;
}
#gadget .fw-top .fwnta-btn-search span {margin-left: -25px;
}
#gadget #air_s_box {position: relative;
}
#gadget #togo_wrap dt,
#gadget #return_wrap dt,
#gadget #pax_wrap dt:nth-of-type(1),
#gadget #number_of_rooms dt,
#search_conditions___airgdt dd {
	font-size: 12px;
	margin-bottom:5px;
	color:#3C3D47;
}
#gadget .minus_or_plus_btn,
#gadget input[type="number"],
#gadget input[type="number"]::-webkit-outer-spin-button,
#gadget input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	-moz-appearance:textfield;
	outline:none;
}
#gadget .minus_or_plus_btn_input {
	width: 45px;
    text-align: center;
    font-size: 15px!important;
    display: inline-block;
}
#gadget .minus_or_plus_btn_input small {
	font-size: 12px!important;
	position: relative;
    vertical-align: middle;
}
#gadget input.customSelect {
	width: 18px!important;
    height: 30px;
    text-align: center!important;
    border: none;
    -webkit-text-fill-color: #000;
    opacity: 1;
	padding-bottom: 2px;
}
#gadget .minus_or_plus_btn {
	width: 30px;
	height: 30px;
	margin-right: 0;
	padding: 0;
	border-radius: 2px;
	font-size: 14px;
	background:#eee;
	touch-action: manipulation;
	color: #4d4d4d;
}
/*#gadget #air_s_box input {width:100%;}*/
#gadget #air_s_box #outboundDeparture,
#gadget #outboundDirection,
#gadget #returnDeparture {position: relative;
}
#gadget #air_s_box #outboundDepartureList,
#gadget #outboundDirectionList,
#gadget #returnDepartureList {
    position: absolute;
    display: none;
    z-index: 10;
	overflow-y: scroll;
	height: 300px;
}
#gadget #air_s_box #outboundDeparture,
#gadget #air_s_box #outboundDirection,
#gadget #air_s_box #returnDeparture {
	width: 100%;
	height: 42px;
	border: #C1C3C5 solid 1px;
	box-sizing: border-box;
	align-items: center;
	display: grid;
	text-indent: 45px;
	border-radius: 4px;
	font-size: 14px;
	background: #FFF;
    color: #000;
}
#gadget #air_s_box ul#outboundDepartureList,
#gadget #air_s_box ul#outboundDirectionList,
#gadget #air_s_box ul#returnDepartureList {
    width: 100%;
    background-color: #fff;
    border: 1px solid;
}
#gadget #air_s_box ul#outboundDepartureList li,
#gadget #air_s_box ul#outboundDirectionList li,
#gadget #air_s_box ul#returnDepartureList li {
    height: 28px;
    text-indent: 45px;
    font-size: 14px;
    display: grid;
    box-sizing: border-box;
    align-items: center;
}
#gadget #air_s_box ul#outboundDepartureList li:hover,
#gadget #air_s_box ul#outboundDirectionList li:hover,
#gadget #air_s_box ul#returnDepartureList li:hover {background-color: #c4c4c4;
}
#gadget #air_s_box ul li.area__airgdt {color: #c4c4c4;
}
#gadget #air_s_box ul#outboundDepartureList li.area__airgdt:hover,
#gadget #air_s_box ul#outboundDirectionList li.area__airgdt:hover,
#gadget #air_s_box ul#returnDepartureList li.area__airgdt:hover {background-color: #fff;
}
#gadget #air_s_box .adult_pax,
#gadget #air_s_box .childt_pax,
#gadget #air_s_box .rooms {width: 100%;
}
#gadget #childCPax,
#gadget #child2Pax,
#gadget #infantPax {
    width: 18px;
    font-size: 14px;
    text-align: center;
    font-weight: bold;
    color: #000;
    -webkit-text-fill-color: #000;
    opacity: 1;
}
#gadget #air_s_box .selectday {
    display: flex;
    flex-direction: row;
    align-items: center;
}
#gadget #air_s_box #pax_summary_wrap,
#gadget #carrier_wrap,
#gadget #keyword_wrap,
#gadget #rooms_summary_wrap {
    width: 50%;
    display: flex;
    padding: 0 10px 10px;
}
#gadget #air_s_box #pax_summary_wrap,
#gadget #rooms_summary_wrap {
    width: calc((100% - 40px) / 2);
    float: left;
}
#gadget #air_s_box #pax_summary_wrap,
#gadget #rooms_summary_wrap,
#gadget #carrier_wrap,
#gadget #keyword_wrap {
    width: auto;
    float: none;
}
#gadget #air_s_box #pax_summary_wrap dt,
#gadget #carrier_wrap dt,
#gadget #keyword_wrap dt,
#gadget #rooms_summary_wrap dt {
    height: 38px;
    display: grid;
    align-items: center;
    font-size: 14px;
    width: 100px;
}
#gadget #air_s_box #pax_summary_wrap dd,
#gadget #carrier_wrap dd,
#gadget #keyword_wrap dd,
#gadget #rooms_summary_wrap dd {
    height: 38px;
    font-size: 14px;
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-grow: 1;
}
#gadget #air_s_box #keyword_wrap input#keyword___airgdt,
#gadget #air_s_box #pax_summary_wrap p#paxSummary,
#gadget #air_s_box #rooms_summary_wrap p {
    width: 100%;
	height: 38px;
	border: #C1C3C5 solid 1px;
	box-sizing: border-box;
	align-items: center;
	display: grid;
	text-indent: 10px;
	border-radius: 4px;
	font-size: 14px;
	background: #FFF;
    color: #000;
}
#gadget #air_s_box #pax_summary_wrap {position: relative;
}
#gadget #air_s_box #pax_wrap {
    position: absolute;
    top: 0;
    left: 120px;
    transform: translateX(0);
    display: flex;
    flex-direction: column;
    border: #C1C3C5 solid 1px;
    padding: 20px;
    background-color: #fff;
    z-index: 10;
    width: 60%;
}
#gadget #air_s_box #pax_wrap.show {display: flex;}
#gadget #air_s_box #pax_wrap.hide {display: none;}
#search_conditions___airgdt {
    display: flex;
    margin-bottom: 15px;
}
#search_conditions___airgdt dt{margin: 0 5% 0 0;}
#search_conditions___airgdt dd {
    width: 175px;
    margin: 0 5% 0 0;
}
#search_conditions___airgdt dd input {margin-right: 5%;}

#gadget #air_s_box #pax_wrap .close {
    cursor: pointer;
    position: absolute;
    top: 20px;
    width: 30px;
    height: 30px;
    right: 20px;
}
#gadget #air_s_box #pax_wrap .close:before,
#gadget #air_s_box #pax_wrap .close:after {
    position: absolute;
    content: '';
    top: 50%;
    right: 6px;
    width: 20px;
    height: 2px;
    background-color: #C1C3C5;
    transform: rotate(45deg);
}
#gadget #air_s_box #pax_wrap .close:after {transform: rotate(135deg);
}
#gadget #air_s_box #pax_wrap .pax_label,
#gadget #air_s_box #pax_wrap .rooms_label {
    font-size: 14px;
    border-bottom: 1px solid #C1C3C5;
    padding: 20px 0 10px 0;
    margin-bottom: 10px;
    font-weight: bold;
}
#gadget #air_s_box #pax_wrap .childt_pax .childt_pax_label {
    font-size: 14px;
    width: 100%;
    height: 38px;
}
#gadget #air_s_box #pax_wrap .button_wrap {
    text-align: center;
    width: 100%;
	margin: 5% 0 0;
}
#gadget #air_s_box #pax_wrap .btn_complete {
    width: 100%;
    height: 44px;
    border-radius: 3px;
    box-shadow: 0 2px 0 #d6d6d6;
    background-color: #e61b61;
    color: #fff !important;
    font-size: 16px;
    font-weight: bold;
}
#gadget #air_s_box #carrier_wrap label {margin: 0 20px 0 0;
}
#gadget #air_s_box #carrier_wrap label img {
    width: revert-layer;
    height: auto;
}
#gadget #air_s_box #pax_wrap .adult_pax .guidance_p_pax,
#gadget #air_s_box #pax_wrap .childt_pax .guidance_p_pax,
#gadget #air_s_box #pax_wrap .rooms .guidance_p_pax {
    text-align: left;
    font-size: 14px;
}
#gadget #air_s_box #pax_wrap .adult_pax .guidance_p_pax,
#gadget #air_s_box #pax_wrap .childt_pax .childt_pax_label {font-weight: bold;
}
#gadget #air_s_box #pax_wrap .guidance_p_pax .small {
	width: 100%;
	font-size: 12px;
}
#gadget #air_s_box #pax_wrap .guidance_p_pax .middle {
	width: 100%;
	font-size: 14px;
}
#gadget #air_s_box #pax_wrap .guidance_p_pax .gray {color: #C1C3C5;
}
#gadget #air_s_box #pax_wrap .notice {
    font-size: 11px;
    color: #E74444;
}
#gadget #air_s_box #pax_wrap .asterisk {
    font-size: 11px;
    color: #E74444;
}
#gadget html:has(.fw-modal-portal),
#gadget body:has(.fw-modal-portal) {overflow: hidden;
}
#gadget #jr_s_box .fwnta-search-condition-clear,
#gadget #yado_s_box .fwnta-search-condition-clear {display:none!important;
}
#gadget #jr_s_box .fwnta-search-group,
#gadget #yado_s_box .fwnta-search-group {width: 98%;
}
#gadget #jr_s_box .fwnta-input-label,
#gadget #yado_s_box .fwnta-input-label,
#gadget #jr_s_box .fwnta-search-group__sub-label,
#gadget #yado_s_box .fwnta-search-group__sub-label {font-weight: normal;
}
#gadget #jr_s_box .fwnta-input-icon--train::before,
#gadget #jr_s_box .fwnta-input-icon--search::before,
#gadget #jr_s_box .fwnta-input-icon--calendar::before,
#gadget #jr_s_box .fwnta-input-icon--bed::before,
#gadget #yado_s_box .fwnta-input-icon--train::before,
#gadget #yado_s_box .fwnta-input-icon--search::before,
#gadget #yado_s_box .fwnta-input-icon--calendar::before,
#gadget #yado_s_box .fwnta-input-icon--bed::before {
    font-variation-settings: "FILL" 0, "wght" 120, "GRAD" 0, "opsz" 24;
    font-size: 18px;
    top: 58%;
    left: 5px;
}
#gadget #jr_s_box .fwnta-input-icon--train input,
#gadget #jr_s_box .fwnta-input-icon--train select,
#gadget #jr_s_box .fwnta-input-icon--search input,
#gadget #jr_s_box .fwnta-input-icon--search select,
#gadget #jr_s_box .fwnta-input-icon--calendar input,
#gadget #jr_s_box .fwnta-input-icon--calendar select,
#gadget #jr_s_box .fwnta-input-icon--bed input,
#gadget #jr_s_box .fwnta-input-icon--bed select,
#gadget #yado_s_box .fwnta-input-icon--train input,
#gadget #yado_s_box .fwnta-input-icon--train select,
#gadget #yado_s_box .fwnta-input-icon--search input,
#gadget #yado_s_box .fwnta-input-icon--search select,
#gadget #yado_s_box .fwnta-input-icon--calendar input,
#gadget #yado_s_box .fwnta-input-icon--calendar select,
#gadget #yado_s_box .fwnta-input-icon--bed input,
#gadget #yado_s_box .fwnta-input-icon--bed select {padding-left: 28px;
}
#gadget #jr_s_box .fw-select select,
#gadget #jr_s_box .fw-select--days select,
#gadget #jr_s_box .fw-select--room select,
#gadget #jr_s_box .fw-select--price-min select,
#gadget #jr_s_box .fw-select--price-max select,
#gadget #jr_s_box .fw-select--guest select,
#gadget #jr_s_box .fw-select--area select,
#gadget #jr_s_box .fw-select--area-set select,
#gadget #jr_s_box .fw-text input,
#gadget #yado_s_box .fw-select select,
#gadget #yado_s_box .fw-select--days select,
#gadget #yado_s_box .fw-select--room select,
#gadget #yado_s_box .fw-select--price-min select,
#gadget #yado_s_box .fw-select--price-max select,
#gadget #yado_s_box .fw-select--guest select,
#gadget #yado_s_box .fw-select--area select,
#gadget #yado_s_box .fw-select--area-set select,
#gadget #yado_s_box .fw-text input {
    font-size: 14px;
    font-weight: normal;
}
#gadget #jr_s_box .fwnta-search-action {margin-top: 5px;
}
#gadget #jr_s_box .fw-top .fwnta-modal-search-condition,
#gadget #yado_s_box .fw-top .fwnta-modal-search-condition {z-index: 9500;
}
#gadget #webconnect-tour-hotels-gadget,
#gadget #webconnect-gadget-1 {min-height:290px;
}
#gadget #webconnect-tour-hotels-gadget > span,
#gadget #webconnect-gadget-1 > span {
	width:8px;
	height:8px;
	border-radius:50%;
	display:inline-block;
	position:absolute;
	left:50%;
	margin: 120px 0 0 -10px;
	-webkit-animation:3s infinite linear;
	-moz-animation:3s infinite linear;
	-o-animation:3s infinite linear;
}
#gadget #webconnect-tour-hotels-gadget > span:nth-child(1),
#gadget #webconnect-gadget-1 > span:nth-child(1) {
	background:#C1C3C5;
	-webkit-animation:kiri 1.2s infinite linear;
	-moz-animation:kiri 1.2s infinite linear;
	-o-animation:kiri 1.2s infinite linear;
}
#gadget #webconnect-tour-hotels-gadget > span:nth-child(2),
#gadget #webconnect-gadget-1 > span:nth-child(2) {
	background:#C1C3C5;
	z-index:100;
}
#gadget #webconnect-tour-hotels-gadget > span:nth-child(3),
#gadget #webconnect-gadget-1 > span:nth-child(3) {
	background:#C1C3C5;
	-webkit-animation:kanan 1.2s infinite linear;
	-moz-animation:kanan 1.2s infinite linear;
	-o-animation:kanan 1.2s infinite linear;
}
#gadget #kw_serch {
	text-align: right;
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px dotted #ccc;
    display: flex;
}
#gadget #kw_serch input[type="text"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #999;
}
#gadget #NTA_keyword {
	width: 74%;
	height: 42px;
	margin: 0 1% 0 0;
	padding: 5px;
	border-radius: 5px;
	box-sizing: border-box;
	background:#FFF;
}
#NTA_search {
	width: 25%;
	background: #20208c;
	border: none;
	font-weight: normal;
	color: #FFF;
	border-radius: 5px;
	box-shadow: 0 2px 0 #d6d6d6;
}
#gadget .linkUl li:first-child {margin-right: 4%;
}
#gadget .linkUl li {float: left;margin: 0;
}
/*
#gadget #p_sbox input[type="checkbox"]:checked {background: #FFF;}
#gadget #p_sbox input[type="checkbox"]:checked:before {
	position: absolute;
	left: 0;
	top: 13px;
	display: block;
	content: "";
	width: 8px;
	height: 2px;
	background: #20208c;
	-webkit-transform: rotate(45deg);
	-webkit-transform-origin: right center;
}
#gadget #p_sbox input[type="checkbox"]:checked:after {
	display: block;
	position: absolute;
	left: 7px;
	top: 13px;
	content: "";
	width: 14px;
	height: 2px;
	background: #20208c;
	-webkit-transform: rotate(-53deg);
	-webkit-transform-origin: left center;
}*/
#gadget #p_sbox #NTA_JR2_KodawariBasic label {
	margin: 5px 0;
	display: inline-block;
	width: 50%;
}
#gadget #p_sbox #NTA_JR2_KodawariBasic input,
#gadget #p_sbox #NTA_kodawari input {
	border: 1px solid #aaa;
	-webkit-appearance: none;
	position: relative;
	margin-right: 5px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-sizing: border-box;
	width: 20px;
	height: 20px;
	background: #FFF;
}
#gadget #NTA_JR2_KodawariBasic label:nth-of-type(2),
#gadget #NTA_JR2_KodawariBasic label:nth-of-type(3),
#gadget #NTA_JR2_KodawariBasic label:nth-of-type(4),
#gadget #NTA_JR2_KodawariBasic label:nth-of-type(6) {display:none!important;
}
#NTA_JR2_popup_calendar_button select,
#NTA_calendar select {pointer-events: none;
}
#NTA_JR2_popup_calendar_contents,
#NTA_calendarContainer {
	position: fixed!important;
	top: 0!important;
	left: 0!important;
	width: 100%!important;
	height: 100%!important;
	display: flex;
	flex-flow: column;
	z-index: 9501!important;
	height: 31px;
	background: #FFF;
	position: -webkit-sticky; 
	position: sticky;
}
#NTA_calendarContainer .titlebox {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 70px;
	padding-left: 12px;
	padding-right: 12px;
	background-color: #20208C;
	box-sizing: border-box;
	backface-visibility: hidden;
	overflow: hidden;
	z-index: 9502;
	font-weight: bold;
	font-size: 18px;
	color: #fff;
}
#NTA_calendarContainer #NTA_closeCalendar {
	display: block;
	width: 28px;
	height: 28px;
	position: absolute;
	top: 20px;
	right: 25px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
#NTA_calendarContainer #NTA_closeCalendar::before,
#NTA_calendarContainer #NTA_closeCalendar::after {
	content: "";
	display: block;
	width: 28px;
	height: 4px;
	background: #fff;
	transform: rotate(45deg);
	transform-origin: 0% 50%;
	position: absolute;
	top: calc(15% - 2px);
	left: 15%;
}
#NTA_calendarContainer #NTA_closeCalendar::after {
	transform: rotate(-45deg);
	transform-origin: 100% 50%;
	left: auto;
	right: 14%;
}
#NTA_calendarContainer div.cleared {
	display: block;
	clear: both;
	width: auto;
	height: 1px;
	margin: 0;
	padding: 0;
	line-height: 1px;
	font-size: 1px;
	overflow: hidden;
}
#NTA_JR2_popup_calendar_contents .content,
#NTA_calendarContainer .content {
	padding-right: 12px;
	padding-bottom: 12px;
	padding-left: 12px;
	padding-top:72px!important;
}
#NTA_monthContainer {position: relative;
}
#NTA_monthContainer span:not(.icon),
#NTA_rightCalendar {display:none;
}
#NTA_calendarContainer .no-prev,
#NTA_calendarContainer .no-next {display:none;
}
#NTA_calendarContainer .prev,
#NTA_calendarContainer .next {
	width: 15px;
	height: 15px;
	border-top: 5px solid #20208c;
	border-right: 5px solid #20208c;
	z-index: 9501;
	display: block;
	overflow: hidden;
	color: #FFF;
	font-size: 10px;
}
#NTA_calendarContainer .prev {
	margin-left: 7%;
	transform: rotate(225deg);
	position: absolute;
	top: 18px;
	left: 0;
}
#NTA_calendarContainer .next {
	margin-right: 7%;
	transform: rotate(45deg);
	position: absolute;
	top: 18px;
	right: 0;
}
#NTA_calendarContainer .calender_month {
	font-size: 22px;
    font-weight: 700;
    line-height: 60px;
    text-align: center;
}
#NTA_leftCalendar table {
	width: 100%;
	font-size: 18px;
	text-align: center;
}
#NTA_leftCalendar th,
#NTA_leftCalendar td {
	font-family: Hiragino Sans;
	position: relative;
	width: 8%;
	height: auto;
	font-size: 18px;
	text-align: center;
	border-right: none;
	border-bottom: none;
	background-color: #fff;
	background-clip: padding-box;
	box-sizing: border-box;
	color: grey;
}
#NTA_leftCalendar td > div {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#NTA_leftCalendar td::before {
	content: "";
	display: block;
	padding-top: 100%;
}
#NTA_leftCalendar td a {
	font-weight: 700;
	color: black;
}
#NTA_leftCalendar td.saturday a {
	font-weight: 700;
	color: #21A4Ea;
}
#NTA_leftCalendar td.sunday a {
	font-weight: 700;
	color: #cc0d21;
}
#NTA_leftCalendar td.sel {
	background-color: #E61B61;
	border-radius: 50%;
}
#NTA_leftCalendar td.sel a {
	color: #fff;
	font-weight: 700;
}
#NTA_leftCalendar td.ob a {
	color: darkgray;
	cursor: text;
}
.NTA_air_popup_calendar_contents {
	width: 100%;
	background: #FFF;
	z-index: 9999;
	padding: 10px;
	border: 1px solid #aaa;
	box-sizing: border-box;
	position: absolute;
	top: 0px;
	left: 0px;
	line-height: 1.5;
	transform: scale(0.85, 0.85);
}
.NTA_air_popup_calendar_contents table {width: 100%;
}
.NTA_air_popup_calendar_contents .title_air {
	display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    background-color: #20208C;
    font-weight: bold;
    font-size: 18px;
    color: #fff;
}
.NTA_air_popup_calendar_contents .btnbox {
	margin: -36px 10px 0 0;
	float: right;
}
.NTA_air_popup_calendar_contents .btnbox a {
	width: 24px;
	height: 24px;
	padding-top: 12px;
	display: inline-block;
	overflow: hidden;
	background: url(https://www.nta.co.jp/shared2021/common/images/gadget/ico_air_calendar_x.gif) no-repeat;
}
.air-calendar__current {
	display: flex;
	float: left;
	width: 90%;
	margin: auto;
}
.air-calendar__current > span {
	width: 25%;
	display: block;
	text-align: center;
	font-size: 12px;
}
.monthPager {width: 100%;
}
.air-calendar__next,
.air-calendar__prev {
	width: 18px;
	height: 28px;
	padding-top: 12px;
}
.air-calendar__next {
	float: right;
	background: url(https://www.nta.co.jp/shared2021/common/images/gadget/ico_air_calendar_right.gif) no-repeat;
}
.air-calendar__prev {
	float: left;
	background: url(https://www.nta.co.jp/shared2021/common/images/gadget/ico_air_calendar_left.gif) no-repeat;
}
#gadget .content_air .calendarbox.left,
#gadget .content_air .calendarbox.right {
	width: 98%;
	float: left;
	margin: 0 1%;
}
#gadget .content_air .calendarbox div > p {
	font-weight: bold;
	text-align: center;
	font-size: 22px;
	margin: 2% 0;
}
.NTA_air_popup_calendar_contents table,
.NTA_air_popup_calendar_contents td,
.NTA_air_popup_calendar_contents th {
	border: 1px solid #595959;
	border-collapse: collapse;
}
.NTA_air_popup_calendar_contents td,
.NTA_air_popup_calendar_contents th {
	padding: 5px;
	width: 24px!important;
	text-align: center!important;
	box-sizing: border-box;
}
.NTA_air_popup_calendar_contents th {
	color: #595959;
	background-color: #ededed;
}
.NTA_air_popup_calendar_contents tr > th:first-child,
.NTA_air_popup_calendar_contents tr > td:first-child,
.NTA_air_popup_calendar_contents tr > td.holiday {
	font-weight: bold;
	color: #cc0d21;
}
.NTA_air_popup_calendar_contents tr > th:last-child,
.NTA_air_popup_calendar_contents tr > td:last-child {
	font-weight: bold;
	color: #00005a;
}
.NTA_air_popup_calendar_contents tr > td.select-enable {cursor: pointer;
}
.NTA_air_popup_calendar_contents tr > td.current {
	background-color: rgb(32, 32, 140);
	color: #fff;
}
.NTA_air_popup_calendar_contents tr > td.select-enable:hover {
	background-color: #eee;
	font-weight: bold;
}
.NTA_air_popup_calendar_contents tr > td.select-disable {color: #ccc;
}
.NTA_air_popup_calendar_contents.calendar-hide {display:none;
}
#gadget #tour_s_box h2 {
	font-size: 16px;
	padding: 0!important;
	margin:0 0 5px 0!important;
	font-weight: bold;
}
#gadget #tour_s_box .airBox {
	overflow:hidden;
}
#gadget #tour_s_box .airBox dl {
	display: flex;
	flex-wrap: wrap;
	margin-bottom:5px;
	display:block;
	overflow:hidden;
}
#gadget #tour_s_box .airBox dt {
	width: 64px;
	height: 32px;
	display: block;
	display: grid;
	align-items: center;
	margin: 0;
	float: left;
}
#gadget #tour_s_box .airBox dd {
	overflow:hidden;
	display:block;
	padding:0;
	margin:0;
}
#gadget #tour_s_box .airBox dl select {
	background-color: #fff;
	border-radius: 4px;
	border: 1px solid #aaa;
	font-size: 14px;
	padding: 0 5px;
	height: 32px;
}
#gadget #tour_s_box .wi100 {width:100%!important;
}
#gadget #tour_s_box select#NTA_TOUR_Pax,
#gadget #tour_s_box select#NTA_TOUR_Pax2 {width:156px!important;
}
#gadget #tour_s_box div.box {
	position: absolute;
	display: inline-block;
	padding: 0px 3px 2px 3px;
	font-size: 10px;
	border: solid 1px #229de7;
	background: #fff;
	text-align: center;
}
#gadget #tour_s_box .mapText div.box {
	color:#000;
	cursor:pointer
}
#gadget #map_title_direction_10 {
	top: 178px; left:  22px;
}
#gadget #map_title_direction_11 {
	top:  27px; left:  25px;
}
#gadget #map_title_direction_01 {
	top:  20px; left: 163px;
}
#gadget #map_title_direction_02 {
	top:  85px; left: 218px;
}
#gadget #map_title_direction_03 {
	top: 135px; left: 211px;
}
#gadget #map_title_direction_04 {
	top:  99px; left: 133px;
}
#gadget #map_title_direction_05 {
	top: 161px; left: 185px;
}
#gadget #map_title_direction_06 {
	top: 117px; left: 106px;
}
#gadget #map_title_direction_07 {
	top: 176px; left: 148px;
}
#gadget #map_title_direction_08 {
	top: 137px; left:  56px;
}
#gadget #map_title_direction_09 {
  left:110px;  top:191px;
}
#gadget #tour_s_box .item {line-height:24px;
}
#gadget #tour_s_box #NTA_PLAN_Map {
	position: relative;
	overflow: hidden;
	width: 300px;
	height: 211px;
	margin: 0;
	padding: 0;
}
#gadget #tour_s_box .btnSeach01 {
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-shadow: 0 -1px 0 #e88a00 inset;
	-moz-box-shadow: 0 -1px 0 #e88a00 inset;
	box-shadow: 0 -1px 0 #e88a00 inset;
	border: 1px solid #e88a00;
	background-color: #ff9800;
	color: #fff !important;
	position: relative;
	padding: 10px;
	font-size: 18px;
	width: 100%;
}
#gadget #tour_s_box .btnSeach01:after {
	content: "";
	display: block;
	height: 1px;
	width: 100%;
	left: 0;
	top: 0;
	position: absolute;
	background: #ffbc61;
}
#gadget #tour_s_box .btnSeach01 span {
	background: url(//www.nta.co.jp/shared2015/common/images/ic_search_01.png) left center no-repeat;
	padding-left: 15px;
	display: block;
	width: 90%;
}
#gadget ul {margin:0;padding:0;
}
#gadget li {list-style: none;
}
#gadget h2.section_title {
	font-size: 20px;
    text-align: center;
    padding: 5px 0;
    margin: 0 0 10px 0;
    font-weight: bold;
}
#gadget .catch {
    width: 100%;
    text-align: center;
    font-size: 12px;
    margin: 0 0 10px;
}
#gadget section {width:100%;padding-bottom: 20px;
}
#gadget section .inner {width:100%;margin:auto;padding: 10px;box-sizing:border-box;
}
#gadget section:nth-of-type(even) { background:#eee;
}
#gadget section:nth-of-type(odd) { background:#FFF;
}
#gadget #boxnews ul {
    line-height: 1.4;
}
#gadget #boxnews li {
	font-size:14px;
	margin-bottom: 10px;
}
#gadget #boxnews li span.newsIco {
	width: 72px;
    display: inline-block;
    background: #e62d2d;
    color: #fff;
    padding: 2px 2px 1px;
    line-height: 1.5;
    vertical-align: middle;
    margin-right: 12px;
    text-align: center;
    font-size: 12px;
}
#gadget ul.banner_area li {
    width: 48%;
    margin: 1%;
    float: left;
}
#gadget ul.banner_area li img {width: 100%;
}
#gadget .linkList li a:before,
#gadget .linkList span a:before {
    content: "#";
}
#gadget ul.slide_banner_area {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 1%;
}
#gadget ul.slide_banner_area li {
    width: 48%;
    margin-bottom: 3%;
}
#area_plan_wrap #hotel_plan_wrap_nav {
    margin: 0;
    padding: 0;
}
#area_plan_wrap #localarea_plan_wrap_nav li,
#area_plan_wrap #hotel_plan_wrap_nav li,
#area_plan_wrap #dpanf_wrap_nav li {
	text-align: center;
    font-size: 14px;
    color: #FFF;
    background: #aaa;
    margin: 0.5%;
    padding: 5px 0 4px;
    box-sizing: border-box;
    position: relative;
}
#area_plan_wrap #hotel_plan_wrap_nav li,
#area_plan_wrap #dpanf_wrap_nav li {
    width: 24%;
    float: left;
}
#gadget #localarea_plan_wrap_nav {
    display: flex;
}
#gadget #localarea_plan_wrap_nav li {
    width: 25%;
}
#gadget #localarea_plan_wrap_nav li:last-child {
    width: 47%;
}
#area_plan_wrap #localarea_plan_wrap_nav li:last-child,
#area_plan_wrap #hotel_plan_wrap_nav li:last-child,
#area_plan_wrap #dpanf_wrap_nav li:last-child {margin-right: 0;
}
#gadget #dpanf_wrap_nav li.select_dpanfarea:after {
    position: absolute;
    bottom: -25%;
    left: 32%;
}
#area_plan_wrap #localarea_plan_wrap_nav li.select_localarea,
#area_plan_wrap #hotel_plan_wrap_nav li.select_hotelarea,
#area_plan_wrap #dpanf_wrap_nav li.select_dpanfarea {background: #ef0019;
}
#gadget .localareawrap {
    display: flex;
    flex-wrap: wrap;
}
#gadget .localareawrap dl {
    display:flex;
    flex-direction:column;
    width: 48%;
	
    background: #FFFFFF;
    margin: 0 1% 3%;
    border: 2px solid rgba(0,0,0,0.1);
    padding: 5px;
    box-sizing: border-box;
}
#gadget .localareawrap dl dt {
    color: #000083;
    font-size: 14px;
    margin: 0 0 10px 0;
    font-weight: 700;
}
#gadget .localareawrap dl dd {
    margin: 0;
	padding: 0;
	line-height: 1.4;
}
#gadget .localareawrap dl dd:nth-of-type(2) {
    flex-grow:1;
}
#area_plan_wrap .localareawrap dl dt.area_name {
	background: #000071;
    font-size: 12px;
    color: #FFF;
    padding: 5px 0 3px;
    margin: 0;
    text-align: center;
}
#gadget .localareawrap dl dd img {
    padding-bottom: 10px;
}
#gadget .localareawrap dl dd p {
    margin: 0 0 10px 0;
	height:120px
}
#gadget .localareawrap dl dd span {
    display: block;
    font-size: 12px;
}
#gadget .localareawrap dl dd strong {
    font-size: 13px;
    font-weight: bold;
    color: rgba(255,0,4,1.00);
}
#gadget .localareawrap dl dd.localarea_plan_link {
    width: 100%;
    margin-top: 15px;
    text-align: center;
}
#gadget .localareawrap dl dd.localarea_plan_link div a {
    position: relative;
    display: block;
    margin-bottom: 10px;
    padding: 10px 0;
    background: #ef0019;
    color: #fff;
}
#gadget .localareawrap dl dd.localarea_plan_link div a::after {
    position: absolute;
    content: '';
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    top: calc(50% - 3px);
    right: 8%;
}
#gadget p.localarea_plan_catch {
    margin: 0 0 15px;
    font-size: 14px;
    font-weight: normal;
    text-align: center;
}
#area_plan_wrap .area_wrap {margin: 3% 0;
}
#area_plan_wrap .hotelwrap dl {
    width: 48%;
	float: left;
    background: #FFFFFF;
    margin: 0 1% 3%;
    border: 2px solid rgba(0,0,0,0.1);
    padding: 5px;
    box-sizing: border-box;
}
#area_plan_wrap .hotelwrap dl dt {
    color: #000083;
    font-size: 14px;
    margin: 0 0 10px 0;
    font-weight: 700;
}
#area_plan_wrap .hotelwrap dl dd {
    margin: 0;
	padding: 0;
	line-height: 1.4;
}
#area_plan_wrap .hotelwrap dl dd.area_name {
	height: 42px;
	background: #000071;
    font-size: 12px;
    color: #FFF;
    padding: 5px 0 3px;
    text-align: center;
}
#area_plan_wrap .hotelwrap dl dd p {
    margin: 0 0 10px 0;
	height:120px
}
#area_plan_wrap .hotelwrap dd:nth-of-type(2) {
	max-width: 200px;
    height: 150px;
	margin: auto;
}
#area_plan_wrap .hotelwrap dd:nth-of-type(2) img {
	width:100%;
	height:100%;
}
#area_plan_wrap .hotelwrap dl dd span {
    display: block;
    font-size: 12px;
}
#area_plan_wrap .hotelwrap dl dd strong {
    display: block;
    font-size: 13px;
    font-weight: bold;
    color: rgba(255,0,4,1.00);
    text-align: center;
}
#area_plan_wrap .hotelwrap .hotel_bottom_links {
    clear: both;
    width: 100%;
}
#area_plan_wrap .hotelwrap .hotel_bottom_links div {
    display: flex;
    margin-top: 15px;
}
#area_plan_wrap .hotelwrap .hotel_bottom_links div a {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    padding: 12px 0;
    background: #f79400;
    color: #fff;
    text-align: center;
    font-size: 15px;
    font-weight: bold;
}
#area_plan_wrap .hotelwrap .hotel_bottom_links div.reco_link a {
    background: #1260CC;
}
#area_plan_wrap .hotelwrap .hotel_bottom_links div a::after {
    position: absolute;
    content: '';
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    top: calc(50% - 3px);
    right: 8%;
}
#area_plan_wrap #dpanf_wrap .area_wrap ul li {
    width: 48%;
	height: 150px;
    margin: 1%;
	float: left;
	position:relative;
}
#area_plan_wrap #dpanf_wrap .area_wrap ul li img {width: 100%;
}

#gadget .kensaku_area {
	width: 100%;
    background: #FFF;
	margin-top: 20px;
    padding: 12px 12px 2px;
    box-sizing: border-box;
}
#gadget .kensaku_area h3 {
	color: #dd335d;
    font-size: 16px;
    margin-bottom: 5px;
    font-weight: bold;
    margin: 0;
    padding: 0;
}
#gadget .kensaku_area ul li {
	display: inline-block;
	line-height: 2.5;
	margin-right: 5px;
}
#gadget .pr_under_gadget__bnr {
    text-align: center;
    margin: 2% 0;
    display: block;
}
#gadget #anchorlinks {
	width:970px;
	height: 12px;
	margin:2% auto;
}
#gadget .disnone,
#area_plan_wrap .disnone {display:none!important;
}
#gadget .plan_luxury {
    background: #fff;
    overflow: hidden;
	padding-bottom: 25px;
}
#gadget .plan_luxury p.txt_main {
	padding: 2% 0;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
}
#gadget .plan_luxury ul {
	width: 96%;
    margin: auto;
}
#gadget .plan_luxury ul li {
	width: 100%;
    margin-bottom: 25px;
    background: #fff;
    padding: 0 10px;
    position: relative;
    box-sizing: border-box;
}
#gadget .plan_luxury ul li img {
    width: 100%;
    height: auto;
}
#gadget .plan_luxury li dl {
    overflow: hidden;
    margin-bottom:0.5rem;
}
#gadget .plan_luxury li dl dt {
	font-size: 14px;
	font-weight: 600;
    padding: 10px 0;
    text-align: center;
}
#gadget .plan_luxury li dl dd {font-size: 14px;
}
#gadget .plan_btn {
	-webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    box-shadow: 0 2px 0 #d6d6d6;
    background-color: #e61b61;
    position: relative;
    margin: auto;
    padding: 10px;
    font-size: 16px;
    width: 90%;
    clear: both;
    box-sizing: border-box;
}
#gadget .plan_btn a {
	display: block;
    text-align: center;
    color: #FFF;
}
#gadget .plan_btn a:after {
    width: 13px;
    height: 13px;
    content: "";
    display: block;
    background: url(//www.nta.co.jp/shared2015/common/images/im_arrow.png) no-repeat;
    position: absolute;
    top: 40%;
    right: 1%;
}

#gadget #kitty_nakayoshi {
    margin: 25px 0;
}
#gadget #kitty_nakayoshi a {
    display: block;
    margin-bottom: 10px;
}
#gadget #sp_nnmt {
	width: 100%;
	margin: 0 auto 20px;
}
#gadget .rf-news-featured,
#gadget .rf-news-featured * { box-sizing: border-box;
}
#gadget .rf-news-featured {
    background: #fff !important;
    padding: 40px 16px 44px;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
#gadget .rfnf-inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 44px;
}
#gadget .rfnf-news { display: flex; flex-direction: column; gap: 20px;
}
#gadget .rfnf-heading {
    margin: 0;
    font-size: 22px;
    font-weight: 800;
    color: #222222;
    letter-spacing: 0.06em;
    text-align: center;
}
#gadget .rfnf-news-list { display: flex; flex-direction: column; gap: 10px;
}
#gadget .rfnf-news-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #e3e6ec;
    border-radius: 6px;
    background: #ffffff;
    color: #333333;
    text-decoration: none;
}
#gadget .rfnf-badge {
    flex: none;
    margin-top: 1px;
    background: #E50038;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding: 3px 10px;
    border-radius: 3px;
}
#gadget .rfnf-news-text {
    flex: 1;
    font-size: 14px;
    color: #333333;
    line-height: 1.6;
}
#gadget .rfnf-arrow {
    flex: none;
    align-self: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #E50038;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    padding-bottom: 1px;
}
#gadget .rfnf-featured { display: flex; flex-direction: column; gap: 20px;
}
#gadget .rfnf-featured-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}
#gadget .rfnf-featured-title .rfnf-heading { font-size: 22px; letter-spacing: 0.12em;
}
#gadget .rfnf-bar { width: 2px; height: 22px; background: #222222; border-radius: 1px;
}
#gadget .rfnf-bar--l { transform: rotate(-45deg);
}
#gadget .rfnf-bar--r { transform: rotate(45deg);
}
#gadget .rfnf-featured-box {
    position: relative;
    background: #FFF0F0;
    border-radius: 10px;
    padding: 24px 16px 20px;
}
#gadget .rfnf-ribbon {
    position: absolute;
    top: -13px;
    left: 16px;
    background: #E50038;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    padding: 5px 16px;
    border-radius: 999px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
#gadget .rfnf-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: #ffffff;
    border-radius: 8px;
    padding: 18px;
    box-shadow: 0 2px 10px rgba(31, 47, 110, 0.08);
}
#gadget .rfnf-card-img { width: 100%;
}
#gadget .rfnf-card-img img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
}
#gadget .rfnf-card-body {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}
#gadget .rfnf-card-title {
    margin: 0;
    font-size: 19px;
    font-weight: 700;
    color: #222222;
    line-height: 1.6;
}
#gadget .rfnf-card-desc {
    margin: 0;
    font-size: 15px;
    color: #555555;
    line-height: 1.85;
    text-wrap: pretty;
}
#gadget .rfnf-card-date {
    background: #aaa;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-align: center;
    padding: 11px 16px;
    border-radius: 6px;
}
}

@media screen and (min-width: 760px),print {

#gadget {
    
    background: rgba(255, 255, 255, 0.8);
    padding: 15px;
}
#gadget .sliderBox {
    padding: 0 30px 0;
    overflow: hidden;
}
#gadget .sliderBox p {margin-bottom: 10px;
}
#gadget #webconnect-tour-hotels-gadget {position: relative;
}
#gadget .domestic_contents {
	width: 580px;
	float: left;
	margin-right: 20px;
	background: #FFF;
}
#gadget .cFix,
#area_plan_wrap .cFix {min-height: 1px;
}
#gadget #gadget_box__section .inner {
	width: 100%;
    margin: 0;
    padding: 0;
}
#gadget .tab_kokunai_ga {
	flex-wrap: wrap;
	display: flex;
	margin-bottom: 15px;
}
#gadget .tab_kokunai_ga li {
	width: calc((100% - 16px) / 3);
	margin: 0 2px;
	padding: 15px 0;
	font-size: 13px;
	border-bottom: 3px solid #eee;
	cursor: pointer;
	text-align: center;
	text-indent: 22px;
	background: #FFF;
    display: grid;
    align-items: center;
}
#gadget .tab_kokunai_ga li.select {
	border-bottom: 3px solid #20208c;
    color: #20208c;
	position:relative;
}
#gadget .tab_kokunai_ga li.select:after {
	content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    border-top: 6px solid #20208c;
    border-bottom: 0;
    position: absolute;
    display: block;
    bottom: -7px;
    left: calc(50% - 5px);
}
#gadget .tab_kokunai_ga li span {position:relative;
}
#gadget .tab_kokunai_ga li span:before {
	content: "";
    width: 24px;
    height: 24px;
    display: block;
    position: absolute;
    top: -3px;
    left: 0;
}
#gadget .tab_kokunai_ga li:nth-of-type(1) span:before {
	background: url(/shared2021/common/images/gadget/ico_jr.png) no-repeat;
	background-size: 100%;
}
#gadget .tab_kokunai_ga li:nth-of-type(2) span:before {
	background:url(/shared2021/common/images/gadget/ico_plane.png) no-repeat;
	background-size: 100%;
}
#gadget .tab_kokunai_ga li:nth-of-type(4) span:before {
	background:url(/shared2021/common/images/gadget/ico_bed.png) no-repeat;
	background-size: 100%;
}
#gadget #pax_wrap,
#gadget #carrier_wrap,
#gadget #keyword_wrap,
#gadget #pax_summary_wrap,
#gadget #rooms_summary_wrap {display: none !important;
}
#gadget #air_s_box select,
#gadget #air_s_box #returnDirection {
	width: 100%;
	height: 42px;
	border: #C1C3C5 solid 1px;
	box-sizing: border-box;
	align-items: center;
	display: grid;
	text-indent: 90px;
	border-radius: 5px;
	font-size: 14px;
	background: #FFF;
}
#gadget #air_s_box .select_airport,
#gadget #p_sbox_ka .select_airport {color: #A6ACAF;
}
#gadget #air_s_box .select_airport *,
#gadget #p_sbox_ka .select_airport * {color: #3C3D47;
}
#gadget #air_s_box .select_airport > option:first-child,
#gadget #p_sbox_ka .select_airport > option:first-child {display:none;
}
#gadget #p_sbox .box-contents #returnDirection {
	text-indent: 31px;
	background: #E1E4E7;
	color: #3C3D47;
}
#gadget #p_sbox .box-contents .ico_man.select_issitsuninzuu,
#gadget #p_sbox .box-contents .ico_bed.select_hakusuu {
	width: 100%;
	height: 42px;
	padding: 5px;
	border: #C1C3C5 solid 1px;
	box-sizing: border-box;
	align-items: center;
	border-radius: 5px;
	background: #FFF;
}
#gadget .selectday {
	width: 100%;
	height: 42px;
	padding: 2px 5px;
	border: #C1C3C5 solid 1px;
	box-sizing: border-box;
	align-items: center;
	display: grid;
	border-radius: 5px;
	font-size: 14px;
	color: inherit;
	background: #FFF;
}
#gadget .selectday p {text-indent: 105px;
}
#gadget #p_sbox .box-contents .w198 select {
	border-right:none;
	border-radius: 5px 0 0 5px;
	text-align: right;
	text-align-last: right;
	padding: 2px 0 2px 5px;
}
#gadget #p_sbox .box-contents .wc100p-198 select {
	text-indent: 0;
	border-left:none;
	border-radius: 0 5px 5px 0;
	padding: 2px 5px 2px 0;
}
#gadget #p_sbox .box-contents .w40p select {text-indent: 10px;
}
#gadget #p_sbox .box-contents .w50p select {text-indent: 31px;
}
#gadget #p_sbox .box-contents b {
	position: absolute;
	left: 80px;
	top: 14px;
	font-size: 10px;
	color: #E74444;
	pointer-events: none;
}
#gadget #p_sbox .box-contents .w50p b {
	position: absolute;
	left: unset;
	right: 20px;
	top: 14px;
}
#gadget #gadget_box__section #p_sbox #NTA_JR2_KodawariBasic input[type="checkbox" i]:disabled {
	background: #ddd;
    border-color: #ccc;
}
#gadget .box-contents select option.na {color:#ccc;
}
#gadget .select_wrap,
#gadget .noselect_wrap {position: relative;
}
#gadget .select_wrap:after {
	content: "▼";
    position: absolute;
    width: 20px;
    height: 40px;
    top: 1px;
    right: 1px;
    color: #555;
    font-size: 10px;
    pointer-events: none;
    text-align: center;
    display: grid;
    align-items: center;
    border-radius: 0 5px 5px 0;
    background: #FFF;
}
#gadget .noselect_wrap:after {content: "";
}
#gadget .ico_place:before,
#gadget .ico_calendar:before,
#gadget .ico_bed:before,
#gadget .ico_man:before,
#gadget .ico_glass:before,
#gadget .ico_plane:before,
#gadget .ico_trank:before {
	font-family: "Material Symbols Rounded";
    line-height: 1;
    color: #A6ACAF;
    position: absolute;
    margin-top: -11px;
    font-variation-settings: "FILL" 0, "wght" 120, "GRAD" 0, "opsz" 24;
    font-size: 18px;
    top: 58%;
    left: 5px;
	z-index: 1;
}
#gadget .ico_place#returnDirection:before {left: -26px;
}
#gadget .ico_place:before {content: "\e0c8";
}
#gadget .ico_calendar:before {content: "\e935";
}
#gadget .ico_bed:before {content: "\efdf";
}
#gadget .ico_man:before {content: "e7ef";
}
#gadget .ico_plane:before {content: "\e6ca";
}
#gadget .ico_trank:before {content: "\efc3";
}
#gadget .select_syuppatsuchi:after {content: "出発地";
}
#gadget .select_mokutekichi:after {content: "目的地";
}
#gadget .select_syuppatsubi:after {content: "出発日";
}
#gadget .select_issitsuninzuu:after {content: "1室人数";
}
#gadget .select_toutyakuchi:after {content: "到着地";
}
#gadget .select_kityakubi:after {content: "帰着日";
}
#gadget .select_checkin:after {content: "宿泊日";
}
#gadget .select_hakusuu:after {content: "泊数";
}
#gadget .select_syukuhakuchi:after {content: "宿泊地";
}
#gadget .select_ryokounissuu:after {content: "旅行日数";
}
#gadget .select_area:after {content: "エリア";
}
#gadget .select_district:after {content: "地区";
}
#gadget .select_syuppatsuchi:after,
#gadget .select_mokutekichi:after,
#gadget .select_syuppatsubi:after,
#gadget .select_issitsuninzuu:after,
#gadget .select_toutyakuchi:after,
#gadget .select_kityakubi:after,
#gadget .select_checkin:after,
#gadget .select_hakusuu:after,
#gadget .select_syukuhakuchi:after,
#gadget .select_ryokounissuu:after,
#gadget .select_area:after,
#gadget .select_district:after {
	position: absolute;
	top: 13px;
	left: 36px;
	color: #A6ACAF;
	font-size: 12px;
	pointer-events: none;
}
#gadget .dis_flex,
#area_plan_wrap .dis_flex {
	flex-wrap: wrap;
	display: flex;
}
#gadget .w40p {
	width: 39%;
	margin-right:1%;
}
#gadget .w50p {
	width: 49%;
	margin-right:1%;
}
#gadget .w60p {
	width: 59%;
	margin-right:1%;
}
#gadget .w40p:last-child,
#gadget .w50p:last-child,
#gadget .w60p:last-child {margin:0 0 0 1%;
}
#gadget #p_sbox .box-contents .w198 {width: 180px;
}
#gadget #p_sbox .box-contents .wc100p-198 {width: calc(100% - 180px);
}
#gadget #p_sbox .box-contents .con1btn input[type="button"],
#gadget #doAirSearch {
	display: grid;
    background: #F29A16;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.142857142;
    width: 240px;
    min-height: 40px;
    border-radius: 30px;
    box-shadow: 0 1px 2px 0 rgba(60, 61, 71, 0.16);
    margin: auto;
	text-align: center;
    align-items: center;
	position:relative;
}
#gadget #doAirSearch:before {
	width: 20px;
    height: 24px;
    display: block;
    background-image: url(/sp/shared2015/common/images/icon01.png);
    background-repeat: no-repeat;
    -webkit-background-size: 16px;
    background-size: 16px;
    content: "";
    position: absolute;
    top: 25%;
    left: 72px;
}
#gadget .fw-top .fwnta-btn-search span {margin-left: -25px;
}
#gadget #air_s_box {position: relative;
}
#gadget #togo_wrap dt,
#gadget #return_wrap dt,
#gadget #pax_wrap dt:nth-of-type(1),
#gadget #number_of_rooms dt,
#search_conditions___airgdt dd {
	font-size: 12px;
	margin-bottom:5px;
	color:#3C3D47;
}
#gadget .minus_or_plus_btn,
#gadget input[type="number"],
#gadget input[type="number"]::-webkit-outer-spin-button,
#gadget input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	-moz-appearance:textfield;
	outline:none;
}
#gadget .minus_or_plus_btn_input {
	width: 45px;
    text-align: center;
    font-size: 15px!important;
    display: inline-block;
}
#gadget .minus_or_plus_btn_input small {
	font-size: 12px!important;
	position: relative;
    vertical-align: middle;
}
#gadget input.customSelect {
	width: 18px!important;
    height: 30px;
    text-align: center!important;
    border: none;
    -webkit-text-fill-color: #000;
    opacity: 1;
	padding-bottom: 2px;
}
#gadget .minus_or_plus_btn {
	width: 30px;
	height: 30px;
	margin-right: 0;
	padding: 0;
	border-radius: 2px;
	font-size: 14px;
	background:#eee;
	touch-action: manipulation;
	color: #4d4d4d;
}
#gadget #air_s_box {cursor: pointer;
}
/*#gadget #air_s_box input {width:100%;}*/
#gadget #air_s_box #outboundDeparture,
#gadget #outboundDirection,
#gadget #returnDeparture {position: relative;
}
#gadget #air_s_box #outboundDepartureList,
#gadget #outboundDirectionList,
#gadget #returnDepartureList {
    position: absolute;
    display: none;
    z-index: 10;
	overflow-y: scroll;
	height: 300px;
}
#gadget #air_s_box #outboundDeparture,
#gadget #air_s_box #outboundDirection,
#gadget #air_s_box #returnDeparture {
	width: 100%;
	height: 42px;
	border: #C1C3C5 solid 1px;
	box-sizing: border-box;
	align-items: center;
	display: grid;
	text-indent: 45px;
	border-radius: 4px;
	font-size: 14px;
	background: #FFF;
    color: #000;
}
#gadget #air_s_box ul#outboundDepartureList,
#gadget #air_s_box ul#outboundDirectionList,
#gadget #air_s_box ul#returnDepartureList {
    width: 100%;
    background-color: #fff;
    border: 1px solid;
}
#gadget #air_s_box ul#outboundDepartureList li,
#gadget #air_s_box ul#outboundDirectionList li,
#gadget #air_s_box ul#returnDepartureList li {
    height: 28px;
    text-indent: 45px;
    font-size: 14px;
    display: grid;
    box-sizing: border-box;
    align-items: center;
}
#gadget #air_s_box ul#outboundDepartureList li:hover,
#gadget #air_s_box ul#outboundDirectionList li:hover,
#gadget #air_s_box ul#returnDepartureList li:hover {background-color: #c4c4c4;
}
#gadget #air_s_box ul li.area__airgdt {color: #c4c4c4;
}
#gadget #air_s_box ul#outboundDepartureList li.area__airgdt:hover,
#gadget #air_s_box ul#outboundDirectionList li.area__airgdt:hover,
#gadget #air_s_box ul#returnDepartureList li.area__airgdt:hover {background-color: #fff;
}
#gadget #air_s_box .adult_pax,
#gadget #air_s_box .childt_pax,
#gadget #air_s_box .rooms {width: 100%;
}
#gadget #childCPax,
#gadget #child2Pax,
#gadget #infantPax {
    width: 18px;
    font-size: 14px;
    text-align: center;
    font-weight: bold;
    color: #000;
    -webkit-text-fill-color: #000;
    opacity: 1;
}
#gadget #air_s_box .selectday {
    display: flex;
    flex-direction: row;
    align-items: center;
}
#gadget #air_s_box #pax_summary_wrap,
#gadget #carrier_wrap,
#gadget #keyword_wrap,
#gadget #rooms_summary_wrap {
    width: 50%;
    display: flex;
    padding: 0 10px 10px;
}
#gadget #air_s_box #pax_summary_wrap,
#gadget #rooms_summary_wrap {
    width: calc((100% - 40px) / 2);
    float: left;
}
#gadget #air_s_box #pax_summary_wrap dt,
#gadget #carrier_wrap dt,
#gadget #keyword_wrap dt,
#gadget #rooms_summary_wrap dt {
    height: 38px;
    display: grid;
    align-items: center;
    font-size: 14px;
    width: 100px;
}
#gadget #air_s_box #pax_summary_wrap dd,
#gadget #carrier_wrap dd,
#gadget #keyword_wrap dd,
#gadget #rooms_summary_wrap dd {
    height: 38px;
    font-size: 14px;
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-grow: 1;
}
#gadget #air_s_box #keyword_wrap input#keyword___airgdt,
#gadget #air_s_box #pax_summary_wrap p#paxSummary,
#gadget #air_s_box #rooms_summary_wrap p {
    width: 100%;
	height: 38px;
	border: #C1C3C5 solid 1px;
	box-sizing: border-box;
	align-items: center;
	display: grid;
	text-indent: 10px;
	border-radius: 4px;
	font-size: 14px;
	background: #FFF;
    color: #000;
}
#gadget #air_s_box #pax_summary_wrap {position: relative;
}
#gadget #air_s_box #pax_wrap {
    position: absolute;
    top: 0;
    left: 120px;
    transform: translateX(0);
    display: flex;
    flex-direction: column;
    border: #C1C3C5 solid 1px;
    padding: 20px;
    background-color: #fff;
    z-index: 10;
    width: 60%;
}
#gadget #air_s_box #pax_wrap.show {display: flex;}
#gadget #air_s_box #pax_wrap.hide {display: none;}
#search_conditions___airgdt {
    display: flex;
    margin-bottom: 15px;
}
#search_conditions___airgdt dt{margin: 0 5% 0 0;}
#search_conditions___airgdt dd {
    width: 175px;
    margin: 0 5% 0 0;
}
#search_conditions___airgdt dd input {margin-right: 5%;}

#gadget #air_s_box #pax_wrap .close {
    cursor: pointer;
    position: absolute;
    top: 20px;
    width: 30px;
    height: 30px;
    right: 20px;
}
#gadget #air_s_box #pax_wrap .close:before,
#gadget #air_s_box #pax_wrap .close:after {
    position: absolute;
    content: '';
    top: 50%;
    right: 6px;
    width: 20px;
    height: 2px;
    background-color: #C1C3C5;
    transform: rotate(45deg);
}
#gadget #air_s_box #pax_wrap .close:after {transform: rotate(135deg);
}
#gadget #air_s_box #pax_wrap .pax_label,
#gadget #air_s_box #pax_wrap .rooms_label {
    font-size: 14px;
    border-bottom: 1px solid #C1C3C5;
    padding: 20px 0 10px 0;
    margin-bottom: 10px;
    font-weight: bold;
}
#gadget #air_s_box #pax_wrap .childt_pax .childt_pax_label {
    font-size: 14px;
    width: 100%;
    height: 50px;
}
#gadget #air_s_box #pax_wrap .button_wrap {
    text-align: center;
    width: 100%;
}
#gadget #air_s_box #pax_wrap .btn_complete {
    width: 72%;
    height: 44px;
    border-radius: 3px;
    box-shadow: 0 2px 0 #d6d6d6;
    background-color: #e61b61;
    color: #fff !important;
    font-size: 16px;
    font-weight: bold;
}
#gadget #air_s_box #carrier_wrap label {margin: 0 20px 0 0;
}
#gadget #air_s_box #carrier_wrap label img {
    width: revert-layer;
    height: auto;
}
#gadget #air_s_box #pax_wrap .adult_pax .guidance_p_pax,
#gadget #air_s_box #pax_wrap .childt_pax .guidance_p_pax,
#gadget #air_s_box #pax_wrap .rooms .guidance_p_pax {
    text-align: left;
    font-size: 14px;
}
#gadget #air_s_box #pax_wrap .adult_pax .guidance_p_pax,
#gadget #air_s_box #pax_wrap .childt_pax .childt_pax_label {font-weight: bold;
}
#gadget #air_s_box #pax_wrap .guidance_p_pax .small {font-size: 12px;
}
#gadget #air_s_box #pax_wrap .guidance_p_pax .middle {font-size: 14px;
}
#gadget #air_s_box #pax_wrap .guidance_p_pax .gray {color: #C1C3C5;
}
#gadget #air_s_box #pax_wrap .notice {
    font-size: 11px;
    color: #E74444;
}
#gadget #air_s_box #pax_wrap .asterisk {
    font-size: 11px;
    color: #E74444;
}
#gadget html:has(.fw-modal-portal),
#gadget body:has(.fw-modal-portal) {overflow: hidden;
}
#gadget #jr_s_box .fwnta-search-condition-clear,
#gadget #yado_s_box .fwnta-search-condition-clear {display:none!important;
}
#gadget #jr_s_box .fwnta-search-group,
#gadget #yado_s_box .fwnta-search-group {width: 98%;
}
#gadget #jr_s_box .fwnta-input-label,
#gadget #yado_s_box .fwnta-input-label,
#gadget #jr_s_box .fwnta-search-group__sub-label,
#gadget #yado_s_box .fwnta-search-group__sub-label {font-weight: normal;
}
#gadget #jr_s_box .fwnta-input-icon--train::before,
#gadget #jr_s_box .fwnta-input-icon--search::before,
#gadget #jr_s_box .fwnta-input-icon--calendar::before,
#gadget #jr_s_box .fwnta-input-icon--bed::before,
#gadget #yado_s_box .fwnta-input-icon--train::before,
#gadget #yado_s_box .fwnta-input-icon--search::before,
#gadget #yado_s_box .fwnta-input-icon--calendar::before,
#gadget #yado_s_box .fwnta-input-icon--bed::before {
    font-variation-settings: "FILL" 0, "wght" 120, "GRAD" 0, "opsz" 24;
    font-size: 18px;
    top: 58%;
    left: 5px;
}
#gadget #jr_s_box .fwnta-input-icon--train input,
#gadget #jr_s_box .fwnta-input-icon--train select,
#gadget #jr_s_box .fwnta-input-icon--search input,
#gadget #jr_s_box .fwnta-input-icon--search select,
#gadget #jr_s_box .fwnta-input-icon--calendar input,
#gadget #jr_s_box .fwnta-input-icon--calendar select,
#gadget #jr_s_box .fwnta-input-icon--bed input,
#gadget #jr_s_box .fwnta-input-icon--bed select,
#gadget #yado_s_box .fwnta-input-icon--train input,
#gadget #yado_s_box .fwnta-input-icon--train select,
#gadget #yado_s_box .fwnta-input-icon--search input,
#gadget #yado_s_box .fwnta-input-icon--search select,
#gadget #yado_s_box .fwnta-input-icon--calendar input,
#gadget #yado_s_box .fwnta-input-icon--calendar select,
#gadget #yado_s_box .fwnta-input-icon--bed input,
#gadget #yado_s_box .fwnta-input-icon--bed select {padding-left: 28px;
}
#gadget #jr_s_box .fw-select select,
#gadget #jr_s_box .fw-select--days select,
#gadget #jr_s_box .fw-select--room select,
#gadget #jr_s_box .fw-select--price-min select,
#gadget #jr_s_box .fw-select--price-max select,
#gadget #jr_s_box .fw-select--guest select,
#gadget #jr_s_box .fw-select--area select,
#gadget #jr_s_box .fw-select--area-set select,
#gadget #jr_s_box .fw-text input,
#gadget #yado_s_box .fw-select select,
#gadget #yado_s_box .fw-select--days select,
#gadget #yado_s_box .fw-select--room select,
#gadget #yado_s_box .fw-select--price-min select,
#gadget #yado_s_box .fw-select--price-max select,
#gadget #yado_s_box .fw-select--guest select,
#gadget #yado_s_box .fw-select--area select,
#gadget #yado_s_box .fw-select--area-set select,
#gadget #yado_s_box .fw-text input {
    font-size: 14px;
    font-weight: normal;
}
#gadget #jr_s_box .fwnta-search-action {margin-top: 5px;
}
#gadget #jr_s_box .fw-top .fwnta-modal-search-condition,
#gadget #yado_s_box .fw-top .fwnta-modal-search-condition {z-index: 9500;
}
#gadget #webconnect-tour-hotels-gadget,
#gadget #webconnect-gadget-1 {min-height:290px;
}
#gadget #webconnect-tour-hotels-gadget > span,
#gadget #webconnect-gadget-1 > span {
	width:8px;
	height:8px;
	border-radius:50%;
	display:inline-block;
	position:absolute;
	left:50%;
	margin: 120px 0 0 -10px;
	-webkit-animation:3s infinite linear;
	-moz-animation:3s infinite linear;
	-o-animation:3s infinite linear;
}
#gadget #webconnect-tour-hotels-gadget > span:nth-child(1),
#gadget #webconnect-gadget-1 > span:nth-child(1) {
	background:#C1C3C5;
	-webkit-animation:kiri 1.2s infinite linear;
	-moz-animation:kiri 1.2s infinite linear;
	-o-animation:kiri 1.2s infinite linear;
}
#gadget #webconnect-tour-hotels-gadget > span:nth-child(2),
#gadget #webconnect-gadget-1 > span:nth-child(2) {
	background:#C1C3C5;
	z-index:100;
}
#gadget #webconnect-tour-hotels-gadget > span:nth-child(3),
#gadget #webconnect-gadget-1 > span:nth-child(3) {
	background:#C1C3C5;
	-webkit-animation:kanan 1.2s infinite linear;
	-moz-animation:kanan 1.2s infinite linear;
	-o-animation:kanan 1.2s infinite linear;
}
#gadget #kw_serch {
	text-align: right;
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px dotted #ccc;
    display: flex;
}
#gadget #kw_serch input[type="text"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #999;
}
#gadget #NTA_keyword {
	width: 74%;
	height: 42px;
	margin: 0 1% 0 0;
	padding: 5px;
	border-radius: 5px;
	box-sizing: border-box;
	background:#FFF;
}
#NTA_search {
	width: 25%;
	background: #20208c;
	border: none;
	font-weight: normal;
	color: #FFF;
	border-radius: 5px;
	box-shadow: 0 2px 0 #d6d6d6;
}
#gadget .linkUl li:first-child {margin-right: 4%;
}
#gadget .linkUl li {float: left;margin: 0;
}
/*
#gadget #p_sbox input[type="checkbox"]:checked {background: #FFF;}
#gadget #p_sbox input[type="checkbox"]:checked:before {
	position: absolute;
	left: 0;
	top: 13px;
	display: block;
	content: "";
	width: 8px;
	height: 2px;
	background: #20208c;
	-webkit-transform: rotate(45deg);
	-webkit-transform-origin: right center;
}
#gadget #p_sbox input[type="checkbox"]:checked:after {
	display: block;
	position: absolute;
	left: 7px;
	top: 13px;
	content: "";
	width: 14px;
	height: 2px;
	background: #20208c;
	-webkit-transform: rotate(-53deg);
	-webkit-transform-origin: left center;
}*/
#gadget #p_sbox #NTA_JR2_KodawariBasic label {
	margin: 5px 0;
	display: inline-block;
	width: 50%;
}
#gadget #p_sbox #NTA_JR2_KodawariBasic input,
#gadget #p_sbox #NTA_kodawari input {
	border: 1px solid #aaa;
	-webkit-appearance: none;
	position: relative;
	margin-right: 5px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-sizing: border-box;
	width: 20px;
	height: 20px;
	background: #FFF;
}
#gadget #NTA_JR2_KodawariBasic label:nth-of-type(2),
#gadget #NTA_JR2_KodawariBasic label:nth-of-type(3),
#gadget #NTA_JR2_KodawariBasic label:nth-of-type(4),
#gadget #NTA_JR2_KodawariBasic label:nth-of-type(6) {display:none!important;
}
#NTA_JR2_popup_calendar_button select,
#NTA_calendar select {pointer-events: none;
}
#NTA_JR2_popup_calendar_contents,
#NTA_calendarContainer {
	position: fixed!important;
	top: 0!important;
	left: 0!important;
	width: 100%!important;
	height: 100%!important;
	display: flex;
	flex-flow: column;
	z-index: 9501!important;
	height: 31px;
	background: #FFF;
	position: -webkit-sticky; 
	position: sticky;
}
#NTA_calendarContainer .titlebox {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 70px;
	padding-left: 12px;
	padding-right: 12px;
	background-color: #20208C;
	box-sizing: border-box;
	backface-visibility: hidden;
	overflow: hidden;
	z-index: 9502;
	font-weight: bold;
	font-size: 18px;
	color: #fff;
}
#NTA_calendarContainer #NTA_closeCalendar {
	display: block;
	width: 28px;
	height: 28px;
	position: absolute;
	top: 20px;
	right: 25px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
#NTA_calendarContainer #NTA_closeCalendar::before,
#NTA_calendarContainer #NTA_closeCalendar::after {
	content: "";
	display: block;
	width: 28px;
	height: 4px;
	background: #fff;
	transform: rotate(45deg);
	transform-origin: 0% 50%;
	position: absolute;
	top: calc(15% - 2px);
	left: 15%;
}
#NTA_calendarContainer #NTA_closeCalendar::after {
	transform: rotate(-45deg);
	transform-origin: 100% 50%;
	left: auto;
	right: 14%;
}
#NTA_calendarContainer div.cleared {
	display: block;
	clear: both;
	width: auto;
	height: 1px;
	margin: 0;
	padding: 0;
	line-height: 1px;
	font-size: 1px;
	overflow: hidden;
}
#NTA_JR2_popup_calendar_contents .content,
#NTA_calendarContainer .content {
	padding-right: 12px;
	padding-bottom: 12px;
	padding-left: 12px;
	padding-top:72px!important;
}
#NTA_monthContainer {position: relative;
}
#NTA_monthContainer span:not(.icon),
#NTA_rightCalendar {display:none;
}
#NTA_calendarContainer .no-prev,
#NTA_calendarContainer .no-next {display:none;
}
#NTA_calendarContainer .prev,
#NTA_calendarContainer .next {
	width: 15px;
	height: 15px;
	border-top: 5px solid #20208c;
	border-right: 5px solid #20208c;
	z-index: 9501;
	display: block;
	overflow: hidden;
	color: #FFF;
	font-size: 10px;
}
#NTA_calendarContainer .prev {
	margin-left: 7%;
	transform: rotate(225deg);
	position: absolute;
	top: 18px;
	left: 0;
}
#NTA_calendarContainer .next {
	margin-right: 7%;
	transform: rotate(45deg);
	position: absolute;
	top: 18px;
	right: 0;
}
#NTA_calendarContainer .calender_month {
	font-size: 22px;
    font-weight: 700;
    line-height: 60px;
    text-align: center;
}
#NTA_leftCalendar table {
	width: 100%;
	font-size: 18px;
	text-align: center;
}
#NTA_leftCalendar th,
#NTA_leftCalendar td {
	font-family: Hiragino Sans;
	position: relative;
	width: 8%;
	height: auto;
	font-size: 18px;
	text-align: center;
	border-right: none;
	border-bottom: none;
	background-color: #fff;
	background-clip: padding-box;
	box-sizing: border-box;
	color: grey;
}
#NTA_leftCalendar td > div {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#NTA_leftCalendar td::before {
	content: "";
	display: block;
	padding-top: 100%;
}
#NTA_leftCalendar td a {
	font-weight: 700;
	color: black;
}
#NTA_leftCalendar td.saturday a {
	font-weight: 700;
	color: #21A4Ea;
}
#NTA_leftCalendar td.sunday a {
	font-weight: 700;
	color: #cc0d21;
}
#NTA_leftCalendar td.sel {
	background-color: #E61B61;
	border-radius: 50%;
}
#NTA_leftCalendar td.sel a {
	color: #fff;
	font-weight: 700;
}
#NTA_leftCalendar td.ob a {
	color: darkgray;
	cursor: text;
}
#gadget #outboundCalendar .air-search-calendar th,
#gadget #outboundCalendar .air-search-calendar td {
	width: 24px;
	height:18px;
	font-size: 12px;
	line-height: 1.5;
}
#gadget .calendar-hide {display:none;
}
#gadget #airSearch {position:relative;
}
.NTA_air_popup_calendar_contents {
	width: 480px;
    background: #FFF;
    border: 1px solid #bebebe;
    padding: 5px 5px 15px;
    z-index: 2;
}
.NTA_air_popup_calendar_contents > div:first-child {position: relative;
}
#gadget #outboundCalendar {
	position: absolute;
    top: 0;
}
#gadget #returnCalendar {
	position: absolute;
	top: 63px;
}
.NTA_air_popup_calendar_contents.depday {
  top: 100px;
  left: 218px;
}
.NTA_air_popup_calendar_contents.retday {
  top: 143px;
  left: 218px;
}
.NTA_air_popup_calendar_contents .title_air {
	float: left;
    font-weight: bold;
    font-size: 14px;
    margin: 0;
    text-align: center;
    width: 100%;
    background: #20208c;
    color: #fff;
    padding: 2px 0;
}
.NTA_air_popup_calendar_contents .btnbox {float: right;
}
.NTA_air_popup_calendar_contents .btnbox a {
    display: block;
	width: 20px;
    height: 20px;
    position: absolute;
	top: 2px;
    right: 5px;
}
.NTA_air_popup_calendar_contents .btnbox a::before,

.NTA_air_popup_calendar_contents .btnbox a::after {
	content: "";
    display: block;
    width: 100%;
    height: 3px;
    background: #fff;
    transform: rotate(45deg);
    transform-origin: 0% 50%;
    position: absolute;
    top: 0;
    left: 15%;
}
.NTA_air_popup_calendar_contents .btnbox a::after {
    transform: rotate(-45deg);
    transform-origin: 100% 50%;
    left: auto;
    right: 15%;
}
.air-calendar__current {
  display: flex;
  float: left;
  width: 326px;
  margin: -3px auto 3px;
}
.air-calendar__current > span {width:12.5%;display:block;text-align:center;
}
.monthPager {
  height: 20px;
  width: 100%;
  padding: 8px 0 0;
}
#gadget .calendarbox {
  display: flex;
  justify-content: space-between;
}
#gadget .calendarbox > div {
    width: 49%;
	text-align:center;
}
.air-calendar__next {
	float: right;
    width: 8px;
    height: 8px;
    margin-right: 2%;
    border-top: 3px solid #20208c;
    border-right: 3px solid #20208c;
    transform: rotate(45deg);
}
.air-calendar__prev {
	float: left;
    width: 8px;
    height: 8px;
	margin-left: 2%;
    border-top: 3px solid #20208c;
    border-right: 3px solid #20208c;
    transform: rotate(-135deg);
}
#gadget .content_air .calenderBox > p {font-weight:bold;
}
.NTA_air_popup_calendar_contents table {
	width:100%;
	margin-top: 15px;
}
.NTA_air_popup_calendar_contents table,
.NTA_air_popup_calendar_contents td,
.NTA_air_popup_calendar_contents th {
  border: none;
  border-collapse: collapse;
}
.NTA_air_popup_calendar_contents td,
.NTA_air_popup_calendar_contents th {
  padding: 2px;
  width: 24px;
  text-align: center;
  box-sizing: border-box;
}
.NTA_air_popup_calendar_contents th {
  color: #595959;
  background-color: #fff;
}
.NTA_air_popup_calendar_contents tr > th:first-child,
.NTA_air_popup_calendar_contents tr > td:first-child,
.NTA_air_popup_calendar_contents tr > td.holiday {
  font-weight: bold;
  color: #cc0d21;
}
.NTA_air_popup_calendar_contents tr > th:last-child,
.NTA_air_popup_calendar_contents tr > td:last-child {
  font-weight: bold;
  color: #2051c1;
}
.NTA_air_popup_calendar_contents tr > td.select-enable {cursor: pointer;
}
.NTA_air_popup_calendar_contents tr > td.current {
  background-color: rgb(32, 32, 140);
  color: #fff;
}
.NTA_air_popup_calendar_contents tr > td.select-enable:hover {
  background-color: #eee;
  font-weight: bold;
}
.NTA_air_popup_calendar_contents tr > td.select-disable {color: #ccc;
}
#gadget .hide-contents__disnone,
#area_plan_wrap .hide-contents__disnone {display:none!important;
}
#gadget #tour_s_box h2 {
	font-size: 16px;
	padding: 0!important;
	margin:0 0 5px 0!important;
	font-weight: bold;
}
#gadget #tour_s_box .map {
    float: left;
    width: 300px;
}
#gadget #tour_s_box .map2 {
    width: 300px !important;
    margin: 0 10px 0 0 !important;
}
#gadget #tour_s_box .airBox {
	overflow:hidden;
}
#gadget #tour_s_box .airBox dl {
	margin-bottom:5px;
	display:block;
	overflow:hidden;
}
#gadget #tour_s_box .airBox dt {
	width: 64px;
	height: 32px;
	display: block;
	display: grid;
	align-items: center;
	margin: 0;
	float: left;
}
#gadget #tour_s_box .deptDt {
	clear:both!important;
	float:none!important;
	width:100%!important;
}
#gadget #tour_s_box .airBox dd {
	overflow:hidden;
	display:block;
	padding:0;
	margin:0;
}
#gadget #tour_s_box .airBox dl select {
	background-color: #fff;
	border-radius: 4px;
	border: 1px solid #aaa;
	font-size: 14px;
	padding: 0 5px;
	height: 32px;
}
#gadget #tour_s_box .wi100 {width:100%!important;
}
#gadget #tour_s_box select#NTA_TOUR_Pax,
#gadget #tour_s_box select#NTA_TOUR_Pax2 {width:156px!important;
}
#gadget #tour_s_box div.box {
	position: absolute;
	display: inline-block;
	padding: 0px 3px 2px 3px;
	font-size: 10px;
	border: solid 1px #229de7;
	background: #fff;
	text-align: center;
}
#gadget #tour_s_box .mapText div.box {
	color:#000;
	cursor:pointer
}
#gadget #map_title_direction_10 {
	top: 178px; left:  22px;
}
#gadget #map_title_direction_11 {
	top:  27px; left:  25px;
}
#gadget #map_title_direction_01 {
	top:  20px; left: 163px;
}
#gadget #map_title_direction_02 {
	top:  85px; left: 218px;
}
#gadget #map_title_direction_03 {
	top: 135px; left: 211px;
}
#gadget #map_title_direction_04 {
	top:  99px; left: 133px;
}
#gadget #map_title_direction_05 {
	top: 161px; left: 185px;
}
#gadget #map_title_direction_06 {
	top: 117px; left: 106px;
}
#gadget #map_title_direction_07 {
	top: 176px; left: 148px;
}
#gadget #map_title_direction_08 {
	top: 137px; left:  56px;
}
#gadget #map_title_direction_09 {
  left:110px;  top:191px;
}
#gadget #tour_s_box .item {line-height:24px;
}
#gadget #tour_s_box #NTA_PLAN_Map {
	position: relative;
	overflow: hidden;
	width: 300px;
	height: 211px;
	margin: 0;
	padding: 0;
}
#gadget #tour_s_box .btnSeach01 {
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-shadow: 0 -1px 0 #e88a00 inset;
	-moz-box-shadow: 0 -1px 0 #e88a00 inset;
	box-shadow: 0 -1px 0 #e88a00 inset;
	border: 1px solid #e88a00;
	background-color: #ff9800;
	color: #fff !important;
	position: relative;
	padding: 10px;
	font-size: 18px;
	width: 100%;
}
#gadget #tour_s_box .btnSeach01:after {
	content: "";
	display: block;
	height: 1px;
	width: 100%;
	left: 0;
	top: 0;
	position: absolute;
	background: #ffbc61;
}
#gadget #tour_s_box .btnSeach01 span {
	background: url(//www.nta.co.jp/shared2015/common/images/ic_search_01.png) left center no-repeat;
	padding-left: 15px;
	display: block;
	width: 90%;
}


#area_plan_wrap #localarea_plan_wrap_nav,
#area_plan_wrap #hotel_plan_wrap_nav,
#area_plan_wrap #dpanf_wrap_nav {
	display: flex;
	margin: 0;
	padding: 0;
}
#area_plan_wrap #localarea_plan_wrap_nav li,
#area_plan_wrap #hotel_plan_wrap_nav li,
#area_plan_wrap #dpanf_wrap_nav li {
	text-align: center;
	color: #FFF;
	background: #aaa;
	margin: 1px;
	padding: 12px 0 10px;
	box-sizing: border-box;
	position:relative;
}
#area_plan_wrap #hotel_plan_wrap_nav li {
	font-size: 14px;
}
#gadget #localarea_plan_wrap_nav li,
#gadget #dpanf_wrap_nav li {
	font-size: 18px;
}
#gadget #localarea_plan_wrap_nav li {
    width: 33%;
}
#area_plan_wrap #hotel_plan_wrap_nav li {
	width: 10%;
}
#gadget #dpanf_wrap_nav li {
	width: 11.11111%;
}
#area_plan_wrap #localarea_plan_wrap_nav li:hover,
#area_plan_wrap #hotel_plan_wrap_nav li:hover,
#area_plan_wrap #dpanf_wrap_nav li:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);		
	-ms-filter: "alpha(opacity=80)";  
	-moz-opacity:0.8;
	cursor:pointer;
}
#area_plan_wrap #localarea_plan_wrap_nav li:last-child,
#area_plan_wrap #hotel_plan_wrap_nav li:last-child,
#area_plan_wrap #dpanf_wrap_nav li:last-child {
	margin-right: 0;
}
#area_plan_wrap #localarea_plan_wrap_nav li.select_localarea:after,
#area_plan_wrap #hotel_plan_wrap_nav li.select_hotelarea:after,
#area_plan_wrap #dpanf_wrap_nav li.select_dpanfarea:after {
	content: "";
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-top: 12px solid #ef0019;
}
#gadget #localarea_plan_wrap_nav li.select_localarea:after {
	position: absolute;
	bottom: -25%;
	left: 44%;
}
#area_plan_wrap #hotel_plan_wrap_nav li.select_hotelarea:after {
	position: absolute;
	bottom: -25%;
	left: 30%;
}
#gadget #dpanf_wrap_nav li.select_dpanfarea:after {
	position: absolute;
	bottom: -25%;
	left: 32%;
}
#area_plan_wrap #localarea_plan_wrap_nav li.select_localarea,
#area_plan_wrap #hotel_plan_wrap_nav li.select_hotelarea,
#area_plan_wrap #dpanf_wrap_nav li.select_dpanfarea {
	background: #ef0019;
}

#area_plan_wrap .localareawrap dl dt.area_name {
	width: 200px;
	background: #000071;
	font-size: 12px;
	color: #FFF;
	padding: 5px 0 3px;
    margin: 0;
    text-align: center;
}
#area_plan_wrap .area_wrap {margin: 3% 0;
}
#area_plan_wrap .hotelwrap dl {
	width: 224px;
	float: left;
	background: #FFFFFF;
	margin: 0 9px 30px;
	border: 2px solid rgba(0,0,0,0.1);
	padding: 10px;
	box-sizing: border-box;
}
#area_plan_wrap .hotelwrap dl:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);		
	-ms-filter: "alpha(opacity=80)";  
	-moz-opacity:0.8; cursor:pointer;
	cursor:pointer;
}
#area_plan_wrap .hotelwrap dl dt {
	color: #000083;
	font-size: 15px;
	margin: 5px 0;
	font-weight: bold;
}
#area_plan_wrap .hotelwrap dl dd {
	margin: 0;
	padding: 0;
	line-height: 1.4;
}
#area_plan_wrap .hotelwrap dl dd a {
	width: 200px;
	height: 150px;
	margin: 0 0 10px 0;
}
#area_plan_wrap .hotelwrap dd:nth-of-type(2),
#area_plan_wrap .hotelwrap dd:nth-of-type(2) img {
	width:100%;
	height:150px;
}
#area_plan_wrap .hotelwrap dl dd span {
	display: block;
	font-size: 12px;
}
#area_plan_wrap .hotelwrap dl dd.area_name {
	width: 200px;
	background: #000071;
	font-size: 12px;
	color: #FFF;
	padding: 5px 0 3px;
    text-align: center;
}
#area_plan_wrap .hotelwrap dl dd strong {
    display: block;
	font-size: 16px;
	font-weight: bold;
	padding: 0 0 0 5px;
	color: rgba(255,0,4,1.00);
    text-align: center;
}
#area_plan_wrap .hotelwrap dl dd a:hover {
	opacity:0.6;
	opacity: 0.6;
	filter: alpha(opacity=60);		
	-ms-filter: "alpha(opacity=60)";  
	-moz-opacity:0.6;
	transition-duration:0.2s;
}
#area_plan_wrap .hotelwrap .hotel_bottom_links {
    clear: both;
    display: flex;
    justify-content: space-between;
}
#area_plan_wrap .hotelwrap .hotel_bottom_links div {
    display: flex;
    width: 48%;
}
#area_plan_wrap .hotelwrap .hotel_bottom_links div a {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    padding: 15px 0;
    background: #f79400;
    color: #fff;
    text-align: center;
    font-size: 17px;
    font-weight: bold;
}
#area_plan_wrap .hotelwrap .hotel_bottom_links div.reco_link a {
    background: #1260CC;
}
#area_plan_wrap .hotelwrap .hotel_bottom_links div a::after {
    position: absolute;
    content: '';
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    top: calc(50% - 3px);
    right: 8%;
}
#area_plan_wrap #dpanf_wrap .area_wrap ul li {
	width: 23%;
	height: 150px;
	margin: 1%;
	float: left;
	position:relative;
}
#area_plan_wrap #dpanf_wrap .area_wrap ul li img {
	width: 100%;
}

#gadget .kensaku_area {
	width: 100%;
	background: #FFF;
	margin-top: 24px;
	padding: 12px 12px 2px;
	box-sizing: border-box;
}
#gadget .kensaku_area h3 {
	color: #dd335d;
	font-size: 16px;
	margin-bottom: 5px;
	font-weight: bold;
	margin: 0;
	padding: 0;
}
#gadget .kensaku_area ul li {
	display: inline-block;
	margin: 10px 5px;
}
#gadget .pr_under_gadget__bnr {
	width: 100%;
	text-align: center;
	display: inline-block;
	margin: 0 0 2%;
}
#gadget #anchorlinks {
	width:970px;
	height: 12px;
	margin:2% auto;
}
#gadget .disnone,
#area_plan_wrap .disnone {display:none!important;
}
#gadget .plan_luxury {
	width: 950px;
	margin: auto;
	padding-bottom: 50px;
    background: #fff;
}
#gadget .plan_luxury p.txt_main {
	padding: 30px 30px 10px;
	font-weight: bold;
	font-size: 16px;
}
#gadget .plan_luxury ul {
	position: relative;
	width:890px;
	box-sizing: border-box;
	margin:0px 30px 0;
}
#gadget .plan_luxury p.icon {
	position: absolute;
	top:-20px;
	left:100px;
}
#gadget .plan_luxury p.icon img {
	width:86px;
	height: auto;
}
#gadget .plan_luxury ul li {
	width: 49%;
	float: left;
	margin: 0 0 30px 2%;
	background: #fff;
	padding: 15px;
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	background-blend-mode:lighten;
}
#gadget .plan_luxury ul li:nth-child(1),
#gadget .plan_luxury ul li:nth-child(4) {margin:0 0 30px 0;
}
#gadget .plan_luxury ul li img {
	width: 100%;
	height: auto;
}
#gadget .plan_luxury li dl dt {
	padding: 20px 0 0;
	font-size: 16px;
	color: #000;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
	width: 406px;
	font-weight: 600;
}
#gadget .plan_luxury li dl dd {
	font-size: 14px;
	font-size: 14px;
	margin-top: 10px;
	line-height: 170%;
	padding-top: 0px;
}
#gadget .plan_luxury ul li img {
	width: 100%;
	height: auto;
}
#gadget .plan_btn {
	-webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    box-shadow: 0 2px 0 #d6d6d6;
    background-color: #e61b61;
    position: relative;
    margin: auto;
    padding: 15px 0;
    font-size: 16px;
    width: 80%;
    clear: both;
    box-sizing: border-box;
}
#gadget .plan_btn a {
	display: block;
    text-align: center;
    color: #FFF;
}
#gadget .plan_btn a:after {
    width: 13px;
    height: 13px;
    content: "";
    display: block;
    background: url(//www.nta.co.jp/shared2015/common/images/im_arrow.png) no-repeat;
    position: absolute;
    top: 40%;
    right: 1%;
}

}


@media print, screen and (min-width: 760px) {
#gadget .rf-news-featured,
#gadget .rf-news-featured * { box-sizing: border-box;
}
#gadget .rf-news-featured {
    background: #fff !important;
    padding: 56px 16px 64px;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
#gadget .rfnf-inner {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 56px;
}
#gadget .rfnf-news { display: flex; flex-direction: column; gap: 24px;
}
#gadget .rfnf-heading {
    margin: 0;
    font-size: 28px;
    font-weight: 800;
    color: #222222;
    letter-spacing: 0.06em;
    text-align: center;
}
#gadget .rfnf-news-list { display: flex; flex-direction: column; gap: 12px;
}
#gadget .rfnf-news-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 20px;
    border: 1px solid #e3e6ec;
    border-radius: 6px;
    background: #ffffff;
    color: #333333;
    text-decoration: none;
    transition: border-color .15s, box-shadow .15s, color .15s;
}
#gadget .rfnf-news-item:hover {
    border-color: #E50038;
    box-shadow: 0 2px 8px rgba(229, 0, 56, 0.10);
}
#gadget .rfnf-news-item:hover .rfnf-news-text { color: #E50038;
}
#gadget .rfnf-badge {
    flex: none;
    background: #E50038;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 4px 12px;
    border-radius: 3px;
}
#gadget .rfnf-news-text {
    flex: 1;
    font-size: 15px;
    color: #333333;
    line-height: 1.5;
    transition: color .15s;
}
#gadget .rfnf-arrow {
    flex: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #E50038;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    padding-bottom: 1px;
}
#gadget .rfnf-featured { display: flex; flex-direction: column; gap: 24px;
}
#gadget .rfnf-featured-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
#gadget .rfnf-featured-title .rfnf-heading { letter-spacing: 0.14em;
}
#gadget .rfnf-bar { width: 2px; height: 26px; background: #222222; border-radius: 1px;
}
#gadget .rfnf-bar--l { transform: rotate(-45deg);
}
#gadget .rfnf-bar--r { transform: rotate(45deg);
}
#gadget .rfnf-featured-box {
    position: relative;
    background: #FFF0F0;
    border-radius: 12px;
    padding: 36px;
}
#gadget .rfnf-ribbon {
    position: absolute;
    top: -14px;
    left: 28px;
    background: #E50038;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.16em;
    padding: 6px 20px;
    border-radius: 999px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
#gadget .rfnf-card {
    display: flex;
    gap: 32px;
    background: #ffffff;
    border-radius: 8px;
    padding: 28px;
    box-shadow: 0 2px 10px rgba(31, 47, 110, 0.08);
}
#gadget .rfnf-card-img { flex: none; width: 450px;
}
#gadget .rfnf-card-img img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
}
#gadget .rfnf-card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}
#gadget .rfnf-card-title {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    color: #222222;
    line-height: 1.6;
}
#gadget .rfnf-card-desc {
    margin: 0;
    font-size: 16px;
    color: #555555;
    line-height: 1.9;
    text-wrap: pretty;
}
#gadget .rfnf-card-date {
    margin-top: auto;
    background: #aaa;
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-align: center;
    padding: 12px 24px;
    border-radius: 6px;
}
}


/* ============================================================
   iteration adjustments (2) - layout fixes on top of migration
   ============================================================ */
/* 出発地タブ: 航空セットプラン見出しでフロート解除（回り込み防止） */
#area_plan_wrap .hotelwrap h3 { clear: both; }

/* ガジェット: 旧2カラムの固定幅/フロートを解除し、新デザインの内容幅に合わせて中央寄せ */
@media screen and (min-width: 760px) {
  #gadget .domestic_contents {
    width: 100%;
    max-width: 1080px;
    min-width: 760px;
    float: none;
    margin: 0 auto;
  }
}


#gadget #p_sbox {
  display: block;
  height: auto;
  float: none;
  text-align: left;
}
@media screen and (min-width: 760px) {
  #gadget #p_sbox {
    width: 580px;
    min-width: 0;
    max-width: none;
    margin: 0 auto;
  }
}

#gadget #returnCalendar .air-search-calendar th,
#gadget #returnCalendar .air-search-calendar td {
	width: 24px;
	height: 18px;
	font-size: 12px;
	line-height: 1.5;
}


#area_plan_wrap .card_list {
  list-style: none;
  margin: 0 0 3%;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px 16px;
}
/* カードの箱 */
#area_plan_wrap .card_list .card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 2px solid rgba(0,0,0,0.1);
  padding: 10px;
  box-sizing: border-box;
}
#area_plan_wrap .card_list .card:hover {
  opacity: 0.8;
}
/* 地域バッジ */
#area_plan_wrap .card_list .card .area_name {
  margin: 0;
  padding: 5px 0 3px;
  background: #000071;
  color: #fff;
  font-size: 12px;
  text-align: center;
}
/* サムネイル画像（幅追従・縦横比維持） */
#area_plan_wrap .card_list .card .thumb {
  margin: 0 0 10px;
}
#area_plan_wrap .card_list .card .thumb img {
  display: block;
  width: 100%;
  height: auto;
}
/* タイトル+説明+価格: dlが残り高さを埋め、価格ブロック(dd)を下端へ。旧dlの箱装飾は解除 */
#area_plan_wrap .card_list .card dl {
  flex: 1;
  display: flex;
  flex-direction: column;
  width: auto;
  float: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
#area_plan_wrap .card_list .card dl:hover {
  opacity: 1;
}
#area_plan_wrap .card_list .card dl dd {
  margin: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
}
/* 説明はタイトル直下(上付き)、価格だけを下端へ */
#area_plan_wrap .card_list .card dl dd .price {
  margin-top: auto;
}
@media screen and (max-width: 759.9px) {
  #area_plan_wrap .card_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 10px;
  }
  #area_plan_wrap .card_list .card {
    padding: 5px;
  }
}


#area_plan_wrap .card_list .card > a {
  display: flex;
  flex-direction: column;
  flex: 1;
  color: inherit;
  text-decoration: none;
}
/* hover はカード全体(.card:hover)の1つに集約し、a:hover の二重掛かりを打ち消す */
#area_plan_wrap .card_list .card > a:hover {
  opacity: 1;
}
/* カード内側の余白ごとリンク領域にする（枠いっぱいがクリック可能） */
#area_plan_wrap .card_list .card {
  padding: 0;
}
#area_plan_wrap .card_list .card > a {
  padding: 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 759.9px) {
  #area_plan_wrap .card_list .card > a {
    padding: 5px;
  }
}
