@charset "UTF-8";

/*　方面別ページのスタイルシート更新版　*/

/* 2.ベース　********************/

body { font-family: "Helvetica Neue",
    Arial, "Hiragino Kaku Gothic ProN",
    "Hiragino Sans", Meiryo,
    sans-serif; width:auto;}

img{ max-width: 100%; height: auto;
  margin-bottom: 5px; /* スマホ対応のものを残す */}

h1 {  font-size:1.4em;
      font-weight:600;
      margin-top:0.6em ;
	line-height: 1.4em;
      margin-bottom:0.2em;        
      padding-bottom:1px;}
h1 a:hover{ color:red;}

h2 /* タイトル下の帯キャプション */
{  font-size:1em; line-height: 1.4em;
	color: black; font-weight:bold;
      margin-bottom:10px; }

h3 /* 出発日/料金　見どころ　などの小見出し */
{  font-size:1.1em; color:#333333;
      font-weight:bolder; line-height:1.4em;
      margin-top:2em; margin-bottom:10px;
      border-bottom:solid grey; padding-bottom:5px;}
	
.parent-container { display: inline-block;
  flex-wrap: wrap; gap: 10px; /* 要素間の間隔 */
  line-height: 1.8em;}

.parent-container h4 { /* parent-container内のh4にのみ適用 */
  display: inline; font-weight: bold;
  font-size: 0.9em; padding: 2px 5px;
  border-radius: 2px; line-height: 1.4em;
  margin-right: 10px; /* marginをリセット */}

.h4-fes{ color:white; background-color: darkorange;}
.h4-sekaiisan{ background-color:#E3EDE3; color:black;}
.h4-nenyu{ background-color:#dc143c; color:white;}
.h4-hotel{ color:black; background-color:#deedf9;}
.h4-country{ color:black; background-color: lightgrey;}
.h4-hiking{background-color: #f7eedf; color: black;}
.h4-navy{ background-color: navy; color:white; }
.h4-pink{background-color: #F7def2; color:black;}
.h4-purple { background-color: #eee9f7; color: black;}
.h4-orange { background-color: #FFE3BC; color: black;}

h5 /* box-1の方面帯 */{ font-size:1em;
      font-weight:600; color:white;
      width:98%; margin-top:0.5em ;
	margin-right: 5px;
      background-color:rgba(0,144,168,0.9);
      height:1.2em; padding:3px;}

a.anchor{ display: block;
    padding-top: 6em; margin-top: -6em;}

/* 3.ヘッダー部分の設定　********************/
	

.logo-container { position: relative; /* responsive-linksの基準となるように設定 */}

.responsive-links { display: none; /* 通常時は非表示 */
text-align:left;}
.responsive-links a,.responsive-links p {
    display: block; padding: 10px 15px;
    text-decoration: none; color: #333;
    border-bottom: 1px solid #eee;
    text-align: left;}
.responsive-links a:hover, .responsive-links p:hover {
    background-color: #eee;}
.responsive-links p { margin-bottom: 0; /* p要素の下マージンを削除 */}
.category-column { width: 100%; margin-bottom: 5px;}
.category-column .destination {
    margin-top: 0;
    margin-bottom: 5px;text-align: left;
    padding: 10px; cursor: pointer;}
.category-column .destination a:hover{
	color:red;}

.link-list { list-style: none;
    padding: 0; margin: 0;
    display: none; /* デフォルトは非表示 */}

.link-list li a {
    display: block;
    padding: 12px 8px ;
    text-decoration: none;
    color: #333;
    border-bottom: 1px solid #eee;}

.link-list li a:hover {
    background-color: #eee;color:red;}

/* 最初から表示する項目 */
.initial-visible .link-list { display: block;}

/* 最初から表示する項目の見た目調整 (必要に応じて) */
.initial-visible .destination {
    display: none; /* 見出しが不要な場合は非表示 */}

/* SP表示 (例: 最大800px) */
@media screen and (max-width: 800px) {
    .head_container { max-width: 100%;
        padding: 5px 0px; display: flex; /* SP表示でも横並びを維持 */
        align-items: center; /* 中央揃えを維持 */
        flex-direction: row; /* 追加: 子要素を横並びにする */
        justify-content: space-between; /* 追加: 左右にスペースを配分 */}

    .logo-container { display: flex;
        justify-content: flex-start; /* ロゴを左寄せ */
        align-items: center;
        margin-right: 10px; /* ナビゲーションとのスペース */}

    .responsive-links { position: absolute;
        top: 100%; left: 0;
        background-color: #f9f9f9;
        border: 1px solid #ccc;
        border-top: none;
        width: 100%; z-index: 10;
        font-size: 0.8em;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        display: none; /* SP表示では最初は非表示 */
        flex-direction: column; /* SP表示では縦に並べる */}
.responsive-links .sp {
    display: none; /* SP表示ではJavaScriptで制御するため、最初は非表示を維持 */
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #f9f9f9;
    border: 1px solid #ccc;
    border-top: none;
    width: 100%;
    z-index: 10;
    font-size: 0.8em;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    flex-direction: column;
  }
nav {margin: 0; /* SP表示ではマージンをリセット */}
nav ul {
        display: flex; /* ナビゲーションのリストを横並びに戻す */
        align-items: center;
        margin: 0;
        padding: 0;
        list-style: none; /* リストの点を非表示 */}
nav li {margin: 0 0 0 5px; /* リストアイテム間のスペースを調整 */
        font-size: 0.8em;}
nav li .pc a {vertical-align: top;  }

.head_tab { display: flex; /* head_tab自体もFlexbox */
        align-items: center;}

.headlist {
        height: auto;
        display: flex; /* Flexboxで要素を横並びにする */
        align-items: center;
        text-align: center;
        padding: 5px; border-radius: 5px;
        background-color: #444;
        color: white;
        margin-left: 5px; /* リストアイテム間のスペース */}

li.headlist:nth-child(2), .headlist:nth-child(1){
        background-color: blue;}

li.headlist:hover { background-color: white;
        color: black; border: solid 1px gray;}

.logo-image { width: 100%; /* 親要素の幅いっぱいに表示 */
        max-width: 269px; /* 必要に応じて、最大幅を設定 */}}

/* PC表示 (例: 801px以上) */
@media screen and (min-width: 801px) 
	{.initial-visible .link-list {
        display: none !important; /* 必要に応じて !important */
    }
	
    .responsive-links {
        flex-direction: row;
        justify-content: space-around; }
 .responsive-links.sp {display: none;}
		
    .category-column {
        width: auto;
        min-width: 150px;
		padding:10 0 ;
        margin-bottom: 0;}

    .logo-image {
        width: auto; /* デフォルトは元のサイズ */
        max-width: 269px; /* 必要に応じて、最大幅を設定 */
        height: 40px; /* 元の高さに戻すか、auto にするか調整 */
    }}

.logo-image { display: block; /* 必要に応じて */
    height: auto; /* 高さは縦横比を維持するために auto に設定 */}

.kotei { position: fixed; width: 100%;
    text-align: center;z-index: 9999;}	
	
.head_container{ padding:10px;
                 max-width: 100%;
	
   width:1250px;
   margin-left:auto;
   margin-right:auto;
   display: flex;
   align-items: center;
   font-size:16px;
   background-color:white;}  
	
nav {  margin: 0 0 0 auto;}
nav ul {list-style: none; 
         margin: 0;
         display: flex;}
nav li .pc a{ vertical-align:top;}
nav li { margin: 0 0 0 15px;
         font-size: 1em;}
nav li a:hover{ color:red;} 

@media (min-width: 751px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;}}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important;}
.sp { display: none !important; }
.tb { display: none;}
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */

@media only screen and (max-width: 800px){
	.tb { display:block; }}
	
@media only screen and (max-width: 479px) {
    .pc { display: none !important; }
    .sp { display: block !important; }}

.sp_br { display: none; /*480px以上では改行タグを無効に。*/}
.dp_br { display: none; /*480px以上では改行タグを無効に。*/}	
@media screen and (max-width: 480px) {
  .sp_br { display: block; /*480px未満で改行タグを有効に。*/}
  .dp_br {display: block; /* 480px未満で改行タグを有効に。*/ }}


.head_tab{display:flex ; align-items: center ; }
.headlist{ height:25px; display:flex;
  align-items:center;}
.tel{ font-weight:600; color:orange;}

li.headlist{ border-radius:5px;
  background-color:#444; color:white;
  padding:5px; text-align:center;
  vertical-align:top;} 
li.headlist:nth-child(2){ background-color: blue;}
li.headlist:hover{ background-color:white;
  color:black; border:solid 1px grey;}
	
.fixed-element {　z-index:0;
  background-color: #444;
  color: #fff;
  height: 0px;
  position: fixed;
  top: 55px;
  left: 0;
  right: 0;
  z-index: 1;
  text-align: center;
  line-height: 15px;}
.tabs {
	vertical-align: middle;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  background-color: gray;
  color: #fff;}
.tab{color:black;
	background-color: lightgray;
	border-radius: 5px;
    font-size:15px;
    font-weight:bold;
    line-height:1em;
    padding:4px 8px;
	margin:5px 10px 10px;}
.tab:hover { background-color:white;color:red;}
.tab.active {background-color: #444；}
.sp-navigation{ font-size: 0.8em;
		font-weight: bold; color: navy;
		margin-bottom: 10px;}
.sp-navigation a:hover{	color: red;}

@media screen and (max-width:800px){
	
.head_container{ max-width:100%;
  padding:5px 0px;}
	
li.headlist{ margin:3px;
    padding:5px; font-size:0.8em;
  border-radius:5px; vertical-align:center;}}

@media screen and (max-width:600px){
 
.fixed-element { background-color: #444;
  color: #fff; top:50px;}
	
.tabs{vertical-align:middle;
	background-color: gray;
	height:35px;}
.tab{color:black;
	background-color: lightgray;
	border-radius: 5px;
    font-size:0.9em;
    font-weight:bold;
    line-height:1em;
    padding:2px 4px;
	margin:4px; ;}
}
@media screen and (max-width:350px){
	.fixed-element{
		top:45px;}
.tab{ font-size:0.8em;
	padding: 3px;}
li.headlist{ margin:2px;
    padding:0px 3px;
  font-size:0.6em;
  border-radius:5px;
	height:35px;
	vertical-align:center;}}

/* 4.メインの枠組み　********************/


.box_wrap{ /*  ------- */
  position: relative;
  top:120px; /* ヘッダーの高さ分を下げる */
  height: calc(100% - 110px); /* ヘッダーの高さ分を引く */
  width: 1200px; /* 幅を1024pxに指定 */
  margin: 0 auto; /* 中央寄せする */
  display: flex;
  justify-content: space-between;
  z-index:0; }
/*
.box_2 {
   max-width:100%;
    margin:0px;
  width: 100%;
    padding:10px;
    order:1;} */

	
.box_2{ /*  --------*/
   max-width: calc(100% - 300px);
  margin-left: 320px;
  padding:0px 0px 0px 20px;
  order:-1;}


/* 左カラムの設定 *******/

.box_1{ /* */
  width: 300px; font-size:1em;
  background-color:white; position:fixed;
  top: 115px; left: auto; padding:7px;
  margin:5px; border:1px black solid;
  border-radius:5px; order:1;}
.box_1 a{ font-size:1em;
  line-height:1.5em; padding:2px;}

.box_1 a:hover{ color:red;
  font-weight:bold;}

.dest{ font-size:0.8em;}
.dest a:hover{ background-color:white}
.triangle{font-size:0.7em;color:grey;}
.saiko{
    font-weight:500;
    height:35px;
    vertical-align:center;
    margin-bottom:10px;
    background-color:#fdb86d;
    border-radius:4px;
  color:black;}

.saiko a{
    text-decoration:none;
    width:100%;
    height:100%;
    display:block;
    padding:5px 10px;
   border-radius:4px; }

.saiko a:hover{
    background-color:white; color:red;
    text-decoration:underline dotted;
text-underline-offset:0.3em;}


.wrap{ display: flex;
       flex-wrap: wrap;
       margin-bottom:15px;}
	
.date_and_price{/* 出発日/料金枠の大枠 --------*/
  border: 1px solid grey;
  padding:15px;
  margin-bottom:15px;
  background-color:#BCE1DF;
	vertical-align: middle;}

.pdf{ vertical-align: middle;
      padding: 1px 5px 1px 0px;
	  display: inline-block; text-align: center;
	  font-size:0.9em;}

.box_1 .pdf a{ font-size: 0.9em;}
.pdf a{ background-color:orangered;
  font-weight:bold;
  color:white;
  padding: 2px 5px;
  text-align:center;
 border-radius: 2px;
	vertical-align: bottom;}

.pdf a:hover{
  color:red;
  background-color:white;
  border:1px solid;}

/* 旅行期間/PDF *******************/
.tour-period {
	width: 100%;	
	border: solid 1px grey;
	background-color: white;
	margin-bottom: 20px;
	vertical-align: middle;
	display: table;}

.tour-period th {
  font-weight: normal;
	text-align: center;
	font-size: 1em;
  background-color: lightgray;
  vertical-align: middle;
  white-space: nowrap;}
 .tour-period th, td {
    display: table-cell;
	 vertical-align: middle;
	  padding:10px 5px;}
.tour-period a hover{color:red;}

/* 出発日/旅行代金/一人部屋/催行状況 */

.date-price-sgl{
	width:100%;
	display: table;
  margin-bottom:20px;
  background-color:white;
}
.date-price-sgl th{
	width: 100%;
	padding:4px 10px;
	font-weight: normal;
	white-space: nowrap;
	background-color: lightgray;
	text-align: center;}

.date-price-sgl th, .date-price-sgl td {
border:solid 1px grey;
	display: table-cell;
	padding: 5px;}
.date-price-sgl tr{	max-width: 100%;}

.date-price-sgl th:nth-child(1){width:0px;}
.date-price-sgl th:nth-child(2){width:0px;}
.date-price-sgl th:nth-child(3){width:0px;font-size:0.9em;} 
.date-price-sgl td{
	background-color: white;
	padding: 4px 10px;}
.date-price-sgl th{
  background-color:lightgray;
text-align:center;}
.date-price-sgl td:nth-child(1){
  white-space:nowrap;
	padding:0px 10px;
text-align:center;}
.date-price-sgl td:nth-child(2){
  white-space:nowrap;
	padding:0px 15px;
  text-align:center;}
 .date-price-sgl td:nth-of-type(3){
  white-space:nowrap;
  text-align:center;}
.date-price-sgl td:nth-child(4){
	padding: 5px;}
.date-price-sgl td:nth-of-type(5){
	padding: 0px 5px;
	white-space: nowrap;
  color:white;}
.date-price-sgl td:nth-child(6){
	white-space: nowrap;}

.box_1 .date-price-sp {	width:300px;}
.box_1 .date-price-sp th{
	background-color: lightgray;
	padding: 4px;
	font-size: 0.8em;	
	font-weight: normal;}
.box_1 .date-price-sp td{
	padding: 4px;
	font-size: 0.8em;}

.date-price-twn {
  max-width: 100%;
  margin-bottom: 10px;
  background-color: white;
  border-collapse: collapse; /* テーブルの境界線をまとめる */
}

.date-price-twn th,
.date-price-twn td {
  border: 1px solid gray;
  white-space: nowrap; padding: 5px;
  text-align: center;}

.date-price-twn th {
  background-color: lightgrey;
  font-weight: normal;}

.date-price-twn td {
  background-color: white;}

/* 列の幅調整 */
.date-price-twn th:nth-child(1),
.date-price-twn td:nth-child(1) {
  width: 15%;}
.date-price-twn th:nth-child(2),
.date-price-twn td:nth-child(2) {
  width: 20%;font-size: 0.9em;}
.date-price-twn th:nth-child(3),
.date-price-twn td:nth-child(3),
.date-price-twn th:nth-child(4),
.date-price-twn td:nth-child(4){ 
	width:20%; font-size: 0.9em;}

.date-price-twn th:nth-child(5),
.date-price-twn td:nth-child(5) {
  width: 20%; font-size: 0.9em;}

.date-price-twn td:nth-child(6) {
   color: white;}

.status-label {
  padding: 2px 5px;
  margin: 0 2px;
  border: 0px solid #777;
  border-radius: 2px;
  font-family: inherit;
  font-size: 0.9em;
  color: white;
  white-space: nowrap;
  text-align: center;
  background-color: var(--status-color); /* CSS変数を適用 */}

.kakutei { --status-color: #f15b55;}
.mikomi { --status-color: #28598f;}
.toi { --status-color: #999900;}
.boshu { --status-color: gray;}

.box_1 .status-label{
	width: 83px;
	margin:0 5px;
	padding:3px 5px;}

@media screen and (max-width:640px){
	.date-price-twn sp{width:100%;}
	.date-price-twn th{	width:100px;}
	.date-price-twn td:nth-child(5){display:none;}	
	.date-price-twn th:nth-child(5){display:none;}}

.discount-outer{
	display: flex; margin-bottom: 15px;
	background-color: white;}  
.discount-outer th{
  background-color: navy; color: white;
	padding: 4px; white-space: nowrap;
	font-size:1em; font-weight: 300;
	border: solid navy 2px;}
.discount-outer td{
  background-color: white; color:black;
	border: solid 2px navy;
    font-size:0.9em;line-height: 1.3em;
	padding: 5px;}
.discount-inner{ margin-top: 10px;}


.flight-section{
	background-color: navy;
	color:white;
	font-size:0.9em;
	border-radius:2px;
	padding:3px 5px 3px 5px;
	margin-bottom: 5px;}

.tour_condition{/* ご案内とご注意 --------*/
  border: solid 1px;
  padding:10px;
  background-color:white;
	line-height: 1.3em;}
.condition_header{
  font-weight:bold;
  padding-bottom:10px;
  font-size:1em;}
.tour_condition p{
  font-size:0.9em;}

/** 画像のキャプション ********************/

.credit{
	text-align: right;
	margin:3px;
	color:darkblue;
	font-size: 0.9em;}

.town-cap2{ text-align: left; margin-bottom:5px; color:darkblue; font-size: 0.9em; text-decoration: none; line-height:1.6em;}
.caption-08,.cap-08{ text-align: left; margin-bottom:5px; color:darkblue; font-size: 0.8em;
	text-decoration: none; line-height:1.5em;}
.cap-08-r{ text-align: right; margin-bottom:5px; color:darkblue; font-size: 0.8em; text-decoration: none; line-height:1.2em;}
.cap-09{ text-align: left; margin-bottom:5px; color:darkblue; font-size: 0.9em; text-decoration: none; line-height:1.2em;}
.cap-09-r{ text-align: right; margin-bottom:5px; color:darkblue; font-size: 0.9em; text-decoration: none; line-height:1.2em;}

.point-cap{font-weight: bold;
	color:#dc143c;
    margin-top:20px;}
.point-cap-2{font-weight: bold;
	color:#dc143c;
	font-size: 1.2em;
	margin-bottom: 5px;
    margin-top:20px;}
.sight{font-weight: bold; color:#dc143c;}
.sight-2{font-weight: bold; color:#dc143c; font-size:1.2em}

.ss{font-weight: bold; color:#00178c;}

.kikakusha{
	border:5px #654321 dashed;
	padding:10px;
	margin-bottom: 10px;}

ul.kikaku li {
	margin-bottom: 5px;
	margin-left:5px;
	padding-top:10px;
	padding-bottom: 10px;
font-weight: bold; 
color:navy;
	line-height: 1.2em;}

.kikakusha ul li {
	margin-bottom: 5px;
	margin-left:10px;
	padding-top:5px;
	padding-bottom: 5px;
font-weight: bold; 
color:navy;
	text-decoration: none;
	line-height: 1.2em;}

.kikakusha-logo{
	color:#654321;
	background-color:#dabca5;
	font-weight: bold;
	padding:2px 10px;
	border-radius: 5px;
	margin-top:10px;
	margin-bottom: 20px;
}
.kikakusha p{
	font-size: 1em;
	margin-top:10px;
	margin-bottom:10px;
	line-height:1.3em;
 	font-weight: bold;
	color:#00178c; }

.ml{ color:#f30100;} /*日程中の食事メニュー */

.gourmet-flame{ border: 4px #ff6a4d dashed;
	margin: 10px 0px 15px 0px;}

/** 最も美しい村の装飾　**/

.topic-beauty-v{
	background-color:#f7eedf;
	padding: 10px;
	margin-top: 10px;
border-radius: 4px;
border: 2px solid #dc143c;}
.beauty-v-title{
color:#dc143c;
	font-weight: 600;}

.beauty-list{ line-height: 2em;}

.beauty_v{ 
  background-color:#dc143c; /*#FE7F9C; */
  color:white;
	font-weight: normal;
	font-size: 0.9em;
  padding:2px 4px ;
  margin:0px 4px;
border-radius: 3px;}

/*/////////////////////////*/

.green-frame{
	background-color:white;
	padding: 10px;
	margin: 10px 0px;
border-radius: 4px;
border: 2px solid #006478;}

.topic-hiking{
	background-color:beige;
	padding: 10px;
	margin-top: 10px;
	border-radius: 4px;}
.topic-hiking-route{
	color:#4a3016;
	background-color:#dabca5;
	font-weight: bold;
	padding:3px 10px;
	border-radius: 5px;
	margin-bottom: 10px;}

.topic-sekaiisan{
	background-color:beige;
	padding: 10px;
	margin-top: 10px;
border-radius: 4px;
border: 2px solid #006478;}

.sekaiisan-title{
	color:#006478;
	font-weight: 600;}

.sekaiisan-list{
	line-height: 2em;
	margin-top:10px;}

.sekaiisan{font-weight:bold;
	background-color:#006478; 
	color:white;
	font-size: 0.9em;
  padding:1px 4px ;
  margin:0px 3px;
border-radius: 3px;}

.sekaiisan-cap{font-weight:bold;
	background-color:#006478; 
	color:white;
	font-size: 0.9em;
  padding:1px 4px ;
  margin:15px 3px;
border-radius: 3px;}

.time-table{width:100%;}
.time-table th{	background-color: lightgray;}

.itinerary{	width:100%;
	border:solid 2px darkgray;
	line-height:1.3em;}
.itinerary th{
	background:lightgray;
	padding:5px;
	border:solid 2px darkgray;
	text-align: center;}
.itinerary td{ border:solid 2px darkgray;}
.itinerary td:nth-child(1){
	background: lightgray;
	text-align: center;
	font-weight: bold;
	color:#444444;}
.itinerary td:nth-child(2){
	font-weight: bold;
	padding-top:5px;
	white-space: nowrap;
	vertical-align: top;}
.itinerary td:nth-child(3){
	padding-top: 5px;
	vertical-align: top;}
.iti{margin-bottom: 10px;}


.sp-cap{
	background-color: lightgray;
	padding:2px;
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 0.8em;}

.sp-cap-w{
	padding:2px;
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 0.8em;}



.city-kion-wrapper {
  overflow-x: auto;
  width: 100%; /* 必要に応じて調整 */}
.city-kion {
  width: 100%;
  border-collapse: collapse; /* テーブルのボーダーをまとめる */}
.city-kion th,.city-kion td {
  background-color: lightgray;
  padding: 5px;
  font-size: 0.9em;
  text-align: center;
  white-space: nowrap;
  border: 1px solid #ddd; /* 必要に応じてボーダーを追加 */}
.city-kion td {
  text-align: right;
	background-color: white;}

/*自由行動の枠 **************************/	
.freetime-pad{
background-color:#e6f2ff;
	padding:5px;
  margin:0px 0px 10px 0px;}
.freetime{
  background-color:#e6f2ff;
  margin:10px 5px;}
.freetime_lec{
  border:px solid grey;
  margin:10px 5px;
  padding:10px;
  background-color:#e6f2ff;}
.freetime_lecture{
  border:px solid grey;
  margin:px;
  padding:0px;
  background-color:#e6f2ff;}
.flex_freetime{
  display:flex;
  padding:10px;}


/*トラベルインフォメーションの中の気温表 */
.tour-info-table{
	border:solid 1px gray;
	border-collapse: collapse;
	margin: 10px 5px;
	text-decoration: transparent;
}
.tour-info-table tr, th, td{
padding:0px 0px 0px 5px;
	border:1px solid grey;
	text-decoration: transparent;
	vertical-align: middle;
}
.tour-info-table th{
	background-color: lightgrey;
	font-weight:300;}

.hotel-info-box{
	background-color: #85a7cc;
	color: white;padding: 5px;}

.tour_info{ margin-top:10px;width:100%;}
.tour_info th{background-color: lightgray;}
.tour_info th,tr,td{padding:5px;}

.similar_tour{ /* 関連ツアー　***/
  border:1px solid; padding:5px;
	line-height: 1.5em;
  background-color:white;}

.similar_tour p{margin-bottom: 5px;}
.similar_tour a{
	text-decoration: underline;
	text-underline-offset:0.2em;}
.similar_tour a:hover{ color:red;}
.s-tour{ display: flex;font-size:0.9em;
	font-weight: bold;}

.map_lec{ font-size:0.8em;}

.text-with-und {
  line-height: 1.6em; margin: 5px 0px;
  text-decoration: underline 0px dotted;
  -webkit-text-decoration: underline 0px dotted; /* Safari用 */
  text-underline-offset: 0.4em;
  -webkit-text-underline-offset: 0.4em; /* Safari用 */
  text-decoration-skip-ink: none; /* 下線が文字を避けないように */
  -webkit-text-decoration-skip: none; /* Safari用 */}

.text-with-und-2{
	font-size: 0.9em;
	line-height:1.6em;
  margin: 0px 0px 5px;
  text-decoration:underline 0px
    dotted;
	 -webkit-text-decoration: underline 0px dotted; /* Safariのため */
  text-underline-offset: 0.4em; 
	text-decoration-skip-ink: none; /* 下線が文字を避けないように */
  -webkit-text-decoration-skip: none; /* Safari用 */}


.eat{ /* 日程の食事（朝昼夜）*/
	text-align: right;
	font-size: 0.9em;
	color:#514882;
	font-weight: 600;
  padding:2px 4px 0px 4px;
  border-radius:3px;}


/* 複数画像イメージ処理　*/

.four-images {
    width: 880px; /* 通常時の幅 */
    margin: 0 auto; /* 中央揃え */
    display: flex;
    flex-wrap: wrap; /* 画面幅が狭い場合に折り返し */
    justify-content: space-between;}
.four-images img {
    width: calc((880px - 30px) / 4); /* 4枚並べるときのサイズ */
    height: auto;
    margin-bottom: 10px; /* 下の画像との間隔 */}
.container-4{ display: grid; gap: 10px;
	grid-template-columns: 1fr 1fr 1fr 1fr;}
.container-2{ display: grid; gap:10px;
	grid-template-columns: 1fr 1fr;}
.container-2-column{ display: grid; gap:10px;
	grid-template-columns: 1fr 1fr;}
.container-3{display: grid; gap:5px;
	grid-template-columns: 1fr 1fr 1fr;}
.container-3-gap15{display: grid; gap:15px;
	grid-template-columns: 1fr 1fr 1fr;}
.container-3-caption{
	font-size:0.8em; line-height:1.2em;}
.item{ width:100%;}
.item-text{	margin:15 0;}


@media (max-width: 600px) {
    .four-images {
        width: 100%; /* 画面幅いっぱいに */
        justify-content: center; /* 画像を中央揃え */
		gap:0 10px; }
    .four-images img {
        width: calc((100% - 10px) / 2); /* 2枚並べるときのサイズ */}

.container-4 { display: grid; gap: 10px;
  grid-template-columns: repeat(2, 1fr); /* 2列 */}
.container-2-column{
	display:block;gap:10px;
	grid-template-columns: 1fr 1fr;}}


/* ホテル関連の修飾 *******/

.hot-text{ color:#514882;
	font-weight: bold;}
.hot{/*n日程表のホテル表記*/
	text-align: right;
	color:#514882;
	font-size: 0.9em;
	font-weight: bold;
	margin-top: 10px;
	margin-right: 4px;
	margin-bottom:0px;}

.extra_stay{
  border:1px solid red;
  margin:10px;
  padding:10px;
  max-width:100%;}

.extra-lec{
	margin:10px 0px;
	font-size:0.9em;}

.flex_town-box,.flex_hotel-box{ display:flex;}
.flex_town1{margin:5px; width:50%;}
.flex_town2{margin:5px 0px; witdh:50%;}
.flex_photo-left{margin: 5px 5px 0px 0px; width: 50%;}
.flex_photo-right{margin:5px 0px 0px 5px;
width: 50%;}
.flex_text{width:60%; margin-right: 10px;}
.flex_air{ width:40%;}

.map { max-width: 600px; height: 300px;
	overflow: hidden;}

.map-wien{ max-width: 890px;
	height: 480px;
	overflow: hidden;}
.map iframe { margin-top: -67px;
	filter: grayscale(60%);}
.map-wien iframe { margin-top: -67px;
	filter: grayscale(60%);}


/* 5. == footer =================
フッター部分の設定 =========== */

footer{ background-color:#d3d3d3;
margin-top:300px;}
.footer{ background-color:#d3d3d3;
	width:100%;
margin-top:300px;}
.footer_wrap{
	height:auto;
	width:900px;
  padding-left:310px;
	margin-left:auto;
  	margin-right:auto;
	display:flex;
  	justify-content:center;
  	flex-wrap:nowrap;}
.foot_1{ text-align:left;
	       width: 360px;
		     width:100%;
		     margin:20px;
		     padding:5px;}
.foot_2{ width: 360px;
	       width: 100%;
	       text-align:left;
	       margin:20px;
       	 padding:5px;
	       line-height:150%;}
.foot_2 ul{ list-style:disc;}
.foot_2 ul a:hover{ color:red;
	text-decoration:underline;}

  /* ----- flexコンテナ ----- */
.wrap{
  display : -webkit-box;     /* old Android */
  display : -webkit-flex;    /* Safari etc. */
  display : -ms-flexbox;     /* IE10        */}

  #page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 15px;
  bottom: 10px;
  background: black;
  opacity: 0.8;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align:center;}	


/* 5. == responsive =================
　　スマホ対応の設定 ============= */

@media screen and (max-width:800px){
	body{max-width:100%;}
	.pc800{display: none;}
.head_container{max-width:100%;
  padding:5px 0px;}

.contents{ width:95%;} 
	
.box_wrap{
  display:flex;
  flex-wrap:wrap-reverse;
  max-width:100%;
  padding:10px;
  margin: 0 auto;
  font-size:0.9em; 
	top:110px;}

.box_1 {
    position:relative;
    width: 100%;
    max-width: 100%;
    margin:0px 0px 0px 0px;
  　order:2;} 
	
.dest{
  line-height:60px;
  border:1px solid grey;
  margin:5px;
  padding:10px;
  background-color:#fff1f4;}
.dest a:hover{font-weight:600;
	backgcolor-color:white;}

.box_2 {
   max-width:100%;
    margin:0px;
    width:100%;
    padding:0px;
    order:1;} 
.triangle{display:none;}
/* */ 
h1{ font-size:1.3em;
          font-weight:bold;}
h3{ font-size:1em;}	
h2 { padding-top:10px;
	font-weight:bold;}
a.anchor{ display: block;
    padding-top: 8em;
  margin-top: -8em;}
	
.tour-info-table{ border: 1px solid grey;}
.tour_info{ font-size: 0.8em;}
	
 .flexbox .box1 { width: 100%; margin: 0 auto;}
 .flexbox .box2 { width: 100%; margin: 0 auto;}

.img-yokonarabi{ display: flex;}
	
.tourabout{ font-size:small;}
.flex_tour-box{
    flex-direction:column;
    padding:10px;}
  .fixed-element {　max-width:100%;}

.wrap{ display: flex;
       flex-wrap: wrap;}
.saiko{ width:100%;}
  
.footer_wrap{ max-width:100%;
  padding-left:0; display:block;}
.foot_1{font-size:0.9em;line-height: 1.4em;
  margin:10px 5px;}
.foot_2{ display:block;
	font-size: 0.9em;}
 .flex_freetime{ display:block;}}
	
@media screen and (max-width:640px){
	.box_wrap{top:110px;}
	h2{font-size: 0.9em;
	line-height: 1.4em;}
	h4{font-size: 0.8em;
	padding: 1 5;
    margin-bottom: 5px;}
  .date_and_price{
    max-width:100%;
    border:0px;
    padding:0px;
	background-color: white;}
  .date_price{font-size:0.9em; }
  .date-price-sgl{width:auto;
			　padding:2px;font-size:0.9em;}

	.date-price-sgl td:nth-child(2){
		text-align: left;
		padding: 4px;
		white-space: nowrap;}

	.date-price-sp{
		width: 100%;
		margin:5px 5px 10px 0px;}
	.date-price-sp th{
		background-color:lightgrey;
		font-size:0.9em;
		padding:5px;
		white-space:nowrap;
		border:solid 1px grey;
		text-align: left;
	}
	.date-price-sp td{
		width:100%;
		line-height: 1.4em;
		border:1px grey solid;
		font-weight: 600;
		font-size: 0.9em;}
	.date-price-sp　td:last-child{
		line-height: 2em;
	}

	.pdf a{
		padding:2px 5px;
		margin-bottom: 5px;}
.tour-period tr, th, td {
	  max-width: 100%;}
.tour-period th, .tour-period td {
  padding: 5px;
	display: block;
  text-align: center;
  white-space: nowrap;	
	border: transparent;}
	
.tour-period td:nth-of-type(2) {
  display:block;
  background-color: white;
  max-width: 100%;
	vertical-align: middle;
	padding:5px 5px 10px ;
	text-align: center;}
 

@media screen and (max-width: 480px) {
	.box_wrap{ padding-top:0px;
		top:110px;
	}
	.itinerary th:nth-child(2){
		display: none;}
	.itinerary td:nth-child(2){
		display: none;}

.credit{
	text-align: right;
	margin:0px;
	color:darkblue;
	font-size: 0.8em;}
	
.kakutei {--status-color: #f15b55;
	width:95px;}

.mikomi {--status-color: #28598f;
	width:95px;}

.toi {--status-color: #999900;width:95px;}

.boshu {--status-color: grey;width:95px;}
	
.pdf a{padding: 2px 5px;margin:0;
	display:block;text-align: left;	}
	
	
.map-wien{max-width:100%;}
.map_lec{ display:none;}
	
.flex_hotel-box{display:block;}
.town{margin:10px;}
.flex_town-box{display:block;}
.flex_town1{width:100%;
	margin:5px 0px;
	margin-bottom:10px;}
	
.flex_photo-left,.flex_photo-right
	{margin:5px 0 0 0; width:100%;}

.flex_text{	width:100%; margin-right: 0px;}
.flex_air{width: 100%;}
	
.city-kion{width: 100%;}
 .city-kion th{background-color: lightgray;
	padding:5px;font-size:0.9em;
	text-align: center;	white-space: nowrap;}
.city-kion td{text-align: left;
	white-space: nowrap;width: 100%;}

.flex_tour-box{ padding: 0px; border:0px;}
.flex_tour-item{ border: 0px; padding: 0px;}
.flex-info{ border:0px;	padding: 5px;} }
.hotel{ padding:10px; max-width: 100%;}
.hotel_name{ font-size:1em; }
.iti_box{margin-bottom: 15px;}}





