@charset "utf-8";
/*////////////// france/basicCSS Document //////////////*/

/* ===============================================
 all（基本事項/全共通）　
=============================================== */
/*.linkArea.btn（ボタンデザイン）------------------*/
.linkArea.btn {
  background-color: #063894;
  border-radius: 5px;
  font-weight: normal;
  box-shadow: 0 2px #b0b1b0;
  background-image: url('../images/sp/arrow_right_001.png');
  background-position: 96% 50%;
  background-size: 16px;
}
.linkArea.btn.newWindow {
  background-image: url('../images/sp/box_001.png');
}
.linkArea.btn a {
  font-size: 1.3rem;
  font-family: 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
}

/*titleArea（タイトルデザイン）------------------*/
.titleArea {
  margin: 0;
  padding: 12% 0 7%;
  font-size: 200%;
  line-height: 1.4em;
}
.centerTitle {
  text-align: center;
}
.thinTitle {
  font-weight: normal;
}

/*subTitleArea（サブタイトルデザイン）------------------*/
.subTitleArea {
  font-size: 125%;
  padding: 4%;
}
.subTitleArea .smallText {
  font-size: 80%;
}

/*smallText（小さいタイトルデザイン）------------------*/
.titleArea .smallText {
  font-size: 65%;
  display: block;
  margin: -4px 0;
  line-height: normal;
}

/*longText（長いタイトルデザイン）------------------*/
.titleArea > .longText01 {
  font-size: 98%;
  letter-spacing: -2px;
}
.titleArea > .longText02 {
  font-size: 99%;
  letter-spacing: -1px;
}

#headerArea .titleArea.main {
  padding: 0;
}

/*line（ラインデザイン）------------------*/
.line01 {
  position: relative;
}
.line01:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 5px;
  background-image: url('../images/sp/line_001.png');
  background-position: 0 0;
  background-repeat: repeat-x;
  background-size: auto;
}

/*bg（背景デザイン）------------------*/
.bg001 {
  background-image: url('../images/sp/bg_001.webp');
  background-position: 0 0;
  background-repeat: repeat;
  background-size: 20%;
}

/*frameBox（フレームデザイン）------------------*/
.frameBox {
  border: solid 1px #000;
  padding: 6% 12%;
}

.title02,
.title03,
.title04,
.title05,
.title06,
h2,
h3,
h4,
h5 {
  font-family: 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-weight: bold;
}

/* ===============================================
 headerArea（ヘッダーエリア）
=============================================== */
/*.leadArea（リード文）------------------*/
#headerArea .leadArea {
  margin: 3.5% 12% 5%;
  font-family: 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-weight: bold;
}

/*#gNav2（ナビ）------------------*/
#gNav2 {
  overflow: hidden;
}
#gNav2 .naveBox {
  background-color: #063894;
}
#gNav2 .naveBox.active {
  background-color: #e30b20;
}
#gNav2 ul li.swiper-slide + li {
  border-left: solid 1px #fff;
}

/* ===============================================
 #mainArea（メインエリア）
=============================================== */
#mainArea {
  margin: 0;
}
#mainArea .cntsListArea {
  padding-top: 2%;
}

/*.cntsListArea（おすすめツアー枠がない場合）------------------*/
#mainArea > section:only-child {
  margin: 0 0 -3%;
  padding: 2% 0 18%;
  position: relative;
}
#mainArea > section:only-child:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 5px;
  background-image: url('../images/sp/line_001.png');
  background-position: 0 0;
  background-repeat: repeat-x;
  background-size: auto;
  bottom: 0;
}

/* ===============================================
 .cntsListArea（メインコンテンツエリア）
=============================================== */
/*titleArea（タイトル）------------------*/
.cntsListArea .titleArea {
  font-size: 180%;
  padding: 9% 0 2%;
  font-family: 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-weight: bold;
}
.cntsListArea .titleArea.cntsTitle {
  padding: 9% 0 6%;
}

/*phArea（画像）------------------*/
.cntsListArea .phArea {
  margin-bottom: 3%;
}
.ptn01 .descText + .phArea {
  margin-top: 3%;
}

/*descText（テキスト/枠あり）------------------*/
.cntsWrap .descText.flameText {
  border: solid 1px #c9c9c9;
  font-size: 85%;
  line-height: normal;
  padding: 2%;
  margin: 0 12% 4%;
}

/*ptn01（パターン01/一枚画像枠）------------------*/
.ptn01 .phArea {
  padding: 0 12%;
}
.ptn01 .descText {
  padding: 0 12%;
  font-family: 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-weight: bold;
}
.ptn01 .descText .smallText {
  font-size: 85%;
  line-height: normal;
}

/*.cntsList > .descArea（画像横にテキストパターン）------------------*/
.ptn01 .cntsList > .descArea {
  clear: both;
  overflow: hidden;
  padding: 0 12% 7%;
}

.ptn01 .cntsList > .descArea .phArea {
  float: left;
  width: 48%;
  padding: 0 3% 3% 0;
  margin: 0;
}

.ptn01 .cntsList > .descArea .descText {
  padding: 0;
}
.ptn01 .cntsList > .descArea .descText.straight {
  float: left;
  width: 49%;
}

/*title02（タイトル02/下線あり）------------------*/
.title02 {
  margin: 0 12% 4%;
  border-bottom: solid 1px #000;
  padding: 0 0 1%;
  font-family: 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
}

/*title03（タイトル03/下線あり/左右アイコンあり）------------------*/
.title03 {
  padding: 1% 0;
  margin-bottom: 4%;
  border-bottom: solid 1px #000;
}
.title03 span {
  position: relative;
}
.title03 span:before {
  content: '';
  position: absolute;
  background-image: url('../images/sp/titile03_icon_001.png');
  background-position: 0 4px;
  background-repeat: no-repeat;
  background-size: 52%;
  width: 50%;
  height: 100%;
  left: -37%;
}
.title03 span:after {
  content: '';
  position: absolute;
  background-image: url('../images/sp/title03_icon_002.png');
  background-position: 0 4px;
  background-repeat: no-repeat;
  background-size: 52%;
  width: 50%;
  height: 100%;
  left: 109%;
}
.title03 + .phArea {
  margin-top: 10%;
}
.title03.centerTitle.subTitleArea {
  margin: 0 12% 4%;
  font-size: 150%;
  padding-bottom: 2%;
}
.cntsAcd .title03.centerTitle.subTitleArea {
  margin: 0;
  font-size: 125%;
}

/*title04（タイトル04/下線あり/数字あり）------------------*/
.title04 {
  padding: 1% 0 1% 8%;
  margin: 0 12% 4%;
  border-bottom: solid 1px #000;
  background-position: 0.5% 30%;
  background-repeat: no-repeat;
  background-size: 2.1rem;
}
.title04.number01 {
  background-image: url('../images/sp/number_icon_01.png');
}
.title04.number02 {
  background-image: url('../images/sp/number_icon_02.png');
}
.title04.number03 {
  background-image: url('../images/sp/number_icon_03.png');
}
.title04.number04 {
  background-image: url('../images/sp/number_icon_04.png');
}
.title04.number05 {
  background-image: url('../images/sp/number_icon_05.png');
}
.title04.number06 {
  background-image: url('../images/sp/number_icon_06.png');
}

/*title06（タイトル06/背景灰色）------------------*/
.title06 {
  background-color: #e5e5e5;
  padding: 1% 2.5% 1%;
}

/*cntsDesc（コンテンツ大枠）------------------*/
.cntsListArea .cntsDesc {
  margin-top: 13%;
}

/*cntsBox（コンテンツ小枠）------------------*/
.cntsBox + .cntsBox {
  margin-top: 9%;
}

/*tableList（テーブルリストデザイン）------------------*/
.tableList .descText {
  padding: 2% 0;
}
.tableList li + li {
  margin-top: 3%;
}

/* ===============================================
 continueArea（CSSアコーディオンエリア）
=============================================== */
.continueArea {
  position: relative;
}
.continueBox {
  display: none;
}
.continueBtn01,
.continueBtn02 {
  z-index: 2;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 45%;
  margin: auto;
  padding: 0.5em 0;
  border-radius: 5px;
  background-color: #000;
  color: #fff;
  font-size: 1.3rem;
  text-align: center;
  cursor: pointer;
  transition: 0.2s ease;
  box-shadow: 0 2px #b0b1b0;
  line-height: 2.6em;
}
.continueCnts::before {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 13rem;
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 60%);
}
.continueBox:checked + .continueBtn {
  display: none;
}
.continueArea .continueBox:checked + .continueCnts {
  height: auto;
}
.continueArea .continueBox:checked + .continueCnts::before {
  display: none;
}

/*.continueCnts（高さ調節/基本）------------------*/
.continueCnts {
  position: relative;
  overflow: hidden;
  height: 104rem;
}
/*#paris .continueCnts（高さ調節/街歩きパリ）------------------*/
.walkingArea .continueCnts {
  position: relative;
  overflow: hidden;
  height: 92rem;
}
.foodArea .continueCnts {
  position: relative;
  overflow: hidden;
  height: 54em;
}
@media screen and (max-width: 330px) {
  .continueCnts {
    height: 100rem;
  }
  .walkingArea .continueCnts {
    height: 90rem;
  }
}

/* ===============================================
 .accordion（アコーディオン）
=============================================== */
/*ptn02（パターン2/二重線アコーディオン）------------------*/
.ptn02 .accordion {
  margin: 0 3.1%;
  border-top: none;
}
.ptn02 .accordion .descArea {
  padding: 7% 0;
  border-bottom: none;
}
.accordion .title05.tabArea {
  text-indent: 0;
  font-weight: normal;
  line-height: normal;
  border-bottom: none;
  background-image: url('../images/sp/arrow_down_001.png');
  background-size: 23px;
  font-size: 180%;
  padding: 3% 0;
  position: relative;
}
.accordion .title05.tabArea:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 5px;
  background-image: url('../images/sp/line_02.png');
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100% 5px;
  left: 0;
  top: -5%;
}

.accordion .title05.tabArea:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 5px;
  background-image: url('../images/sp/line_02.png');
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100% 5px;
  left: 0;
  bottom: -5%;
}
.accordion .title05.firstRow.tabArea {
  padding: 7% 0;
}
.accordion .title05.tabArea.open {
  background-image: url('../images/sp/arrow_up_001.png');
}

/*bg002（パターン2/二重線アコーディオン/背景付）------------------*/
.accordion .title05.tabArea.bg002 {
  background-image: url('../images/sp/arrow_down_001.png'), url('../images/sp/bg_001.webp');
  background-position:
    97% 50%,
    0 0;
  background-repeat: no-repeat, repeat;
  background-size: 17px, 20%;
  font-size: 130%;
  font-weight: bold;
  padding: 4% 0;
}
.accordion .title05.tabArea.bg002.open {
  background-image: url('../images/sp/arrow_up_001.png'), url('../images/sp/bg_001.webp');
}
.accordion .title05.tabArea.bg002:before {
  background-image: url('../images/sp/line_02.png'), url('../images/sp/bg_001.webp');
  background-repeat: no-repeat, repeat;
  background-size:
    100% 5px,
    20%;
}
.accordion .title05.tabArea.bg002:after {
  background-image: url('../images/sp/line_02.png'), url('../images/sp/bg_001.webp');
  background-repeat: no-repeat, repeat;
  background-size:
    100% 5px,
    20%;
}
.cntsBox.ptn02 .accordion {
  margin: 0 6%;
}
.cntsListArea > ul > .cntsBox > .accordion {
  margin-top: 6%;
}
.accordion .title05.tabArea.firstRow.bg002 {
  padding: 7%;
}
.ptn01.cntsAcd .phArea {
  padding: 0 6%;
}
.ptn01.cntsAcd .descText {
  padding: 0 6%;
}
.ptn01.cntsAcd .linkArea.btn {
  margin: 3% 6% 0;
}

/* ===============================================
 .table（テーブルデザイン）
=============================================== */
.phArea + .table01 {
  margin-top: 10%;
}
.table01 .th01 {
  display: block;
  white-space: nowrap;
  margin-top: 1rem;
}
.table01 .th01 + .td01 {
  padding-left: 5%;
  font-family: 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-weight: bold;
}

/* ===============================================
 .swiper（スライダーデザイン）
=============================================== */
.cntsWrap .swiper-button-next {
  background-image: url('../images/sp/arrow_right_003.png');
  top: 36%;
  background-size: 60%;
  right: 2%;
}
.cntsWrap .swiper-button-prev {
  background-image: url('../images/sp/arrow_left_001.png');
  top: 36%;
  background-size: 60%;
  left: 2%;
}
.cntsWrap .swiper-pagination-bullet-active {
  background: #a0a0a0;
}
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 10px;
}

/* ===============================================
 #tourArea（おすすめツアーエリア）
=============================================== */
/*#tourArea（大枠）------------------*/
#mainArea #tourArea {
  background-color: #efeae7;
  padding: 0 3.1%;
  margin: 0;
  padding-bottom: 4%;
  /*商品掲載のない時*/
  &:not(:has(.product__list--item)) {
    padding-top: 5%;
    #seasonArea & {
      display: none;
    }
  }
}
/*商品掲載のない時*/
#tourArea .titleArea:has(+ .product__list):not(:has(+ .product__list .product__list--item)) {
  display: none !important;
}
.product__list {
  display: flex;
  flex-direction: column;
  color: #333;
  /*商品掲載のない時*/
  &:not(:has(.product__list--item)) {
    display: none;
  }
}
.product__list--item {
  padding: 15px 0;
  border-bottom: 2px dotted #666;
}
.product__list--inner {
  display: grid;
  grid-template-columns: min((240vw / 7.5), 240px) min((420vw / 7.5), 420px);
  gap: min((30vw / 7.5), 30px);
  color: #333;
}
.product__list--image {
  width: 100%;
  height: min((160vw / 7.5), 160px);
  aspect-ratio: 944 / 628;
  object-fit: cover;
  border-radius: 0;
}
.product__list--type {
  background: #0c0c0d;
  color: #fff;
  line-height: 1.2;
  text-align: center;
  padding: 0.4em 0.2em;
}
.product__list--texts {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.product__list--title {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4;
}
.product__list--detail {
  line-height: 1.4;
}
.product__list--price {
  display: flex;
  flex-direction: column;
  gap: 3px;
  line-height: 1.4;
  margin-top: 12px;
  text-align: right;
}
.product__list--minmax {
  font-size: 1.8rem;
  font-weight: bold;
  color: #8c0000;
}
#tourArea .linkArea.btn {
  margin: 9%;
}
/*seasonページ用*/
#mainArea .cntsList #tourArea {
  padding-bottom: 5%;
  margin-bottom: 10%;
  .product__list--item:last-of-type {
    border-bottom: none;
  }
}

/*#container（商品デザイン）------------------*/
#container .tour-preview {
  border-bottom: solid 1px;
  margin-bottom: 2%;
  padding-bottom: 2%;
}
#container .b-box {
  background-color: #000;
}
#container .on-label-text {
  display: none;
  color: #000;
}
#container .tour-api .tour-desc-date {
  color: #000;
}
#container .tour-desc .tour-desc-text03 {
  color: #8c0000;
  text-align: left;
}
#container .tour-api .tour-fuel {
  color: #8c0000;
  text-align: left;
}

/* ===============================================
 categoryArea（カテゴリーエリア）
=============================================== */
/*categoryArea（大枠）------------------*/
#mainArea .categoryArea {
  background-color: #efeae7;
  border-top: dashed 1.5px #6e6e6e;
  margin: 0;
  padding-bottom: 7%;
}

/*categoryArea（コンテンツデザイン）------------------*/
.categoryArea .titleArea {
  padding: 12% 0 0;
}
.categoryArea .descArea {
  margin: 0 12%;
  clear: both;
  overflow: hidden;
}
.categoryArea .descArea .phArea {
  width: 30%;
  margin: 0 5% 5% 0;
  float: left;
}
.categoryArea .descArea .descText {
  width: 65%;
  float: left;
}
.categoryArea .linkArea.btn {
  margin: 3% 10%;
}

/* ===============================================
 #footerArea（ヘッダーエリア）
=============================================== */
#footerArea {
  margin: 0;
}
.linkArea.list.top {
  margin: 0;
}

/* ===============================================
 #searchArea（検索エリア）
=============================================== */
/*（検索ボタン）------------------*/
#searchArea #tour_search_module .squeeze-area .btn-area .orange-btn04 {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, rgb(6, 56, 148)), color-stop(100%, rgb(6, 56, 148)));
  box-shadow: 0 2px #b0b1b0;
  border-radius: 5px;
  font-weight: normal;
}
#searchArea .otherLinkArea {
  border-top: dotted 1px #000;
}
#searchArea #tour_search_module .squeeze-area .btn-area {
  margin: 4% 13% 6%;
}

/* ===============================================
 featureArea（おすすめの特集）
=============================================== */

section #featureArea {
  margin-bottom: 15%;
}
#featureArea a {
  color: inherit;
}

/* featureList（リスト部分）------------------*/
#featureArea .featureList li {
  padding: 0 20px 0 0;
  background: url('/cmn/icon/icon_arrow_right.png') no-repeat 100% 50%;
  background-size: 30px 30px;
  border-bottom: 1px solid #cecece;
}
#featureArea .featureList dl {
  width: 98%;
  margin: 6px 0 2px;
  display: table;
}
#featureArea .featureList .featureBox {
  width: 98%;
}
#featureArea .featureList dl dt {
  width: 80px;
  padding: 0 5px;
  display: table-cell;
  vertical-align: top;
}
#featureArea .featureList dl dd {
  display: table-cell;
  vertical-align: top;
}
#featureArea .featureList dl dd h3 {
  font-weight: bold;
}

/* ===============================================
 #otherArea（その他フランス情報エリア）
=============================================== */
/*#otherArea（大枠）------------------*/
#otherArea {
  background-color: #efeae7;
}

/*.cntsArea .cntsList（各コンテンツボックス基本設定）------------------*/
#otherArea .cntsArea {
  padding: 0 9% 10%;
}
#otherArea .titleArea {
  padding: 12% 0 0;
}
#otherArea .linkArea.btn {
  margin: 6% 4%;
}
#otherArea .cntsList + .cntsList {
  border-top: dashed 1.5px #6e6e6e;
}

/*.cntsBox01（コンテンツボックス01/写真設定）------------------*/
#otherArea .cntsBox01 .phArea {
  padding: 0 13%;
}

/*.cntsBox01（コンテンツボックス02/写真設定）------------------*/
.cntsBox02 .iconList {
  clear: both;
  overflow: hidden;
}
.cntsBox02 .iconList > li {
  width: 48%;
  float: left;
}
.cntsBox02 .iconList > li:nth-child(even) {
  margin-left: 2%;
}
.cntsBox02 .iconList > li .phArea {
  padding: 0 15%;
}

/* ===============================================
 versailles（ヴェルサイユ宮殿調節）
=============================================== */
/*title03（タイトル03/アイコン調節）------------------*/
#versailles .accessArea .title03 {
  border-bottom: none;
  font-size: 140%;
}
#versailles .title03 span.trainText:before {
  width: 230%;
  left: -150%;
}
#versailles .title03 span.trainText:after {
  width: 230%;
  left: 130%;
}

/*title06（タイトル06/幅調整）------------------*/
#versailles .accessArea .title06 {
  margin: 0 12%;
}
#versailles .accessArea .descText {
  margin: 0 12%;
  font-family: 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-weight: bold;
}

/* ===============================================
 season（四季折々の風景調節）
=============================================== */
#seasonArea .phArea + ul > .cntsDesc.ptn01:first-child {
  margin-top: 6%;
}
#seasonArea .cntsList .accordion {
  margin: 0 6% 3%;
  border-top: none;
}

#seasonArea .cntsList .accordion .descArea {
  padding: 0;
  border-bottom: none;
}

#seasonArea .cntsList .accordion .descArea .linkArea.list {
  padding: 0.5% 1%;
  margin: 0;
  width: auto;
  font-weight: normal;
  background-image: url('../images/sp/arrow_right_004.png');
  background-size: 9px 17px;
  background-position: 96% 50%;
  border-bottom: 1px solid #000;
}
#seasonArea .cntsList .accordion .descArea .linkArea.list.newWindow {
  background-image: url('../images/sp/box_002.png');
  background-size: 16px;
  background-position: 97% 50%;
}
#season .ptn01 .descText .smallText {
  margin-bottom: 1rem;
  display: block;
}
/* ===============================================
 #searchApp 修正用
=============================================== */
#searchApp,
#searchApp .rn-searchMod__formTitle {
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
#searchApp .budget {
  background: #fff;
}
