@charset "UTF-8";
/*　方面別ページのスタイルシート更新版　*/



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

body{ font-family: "ms pゴシック","ヒラギノ角ゴ ProN";
      -webkit-text-size-adjust:100%;
      background: -webkit-gradient(
      linear, left top, left bottom,
      from(#f7f7f7),to(#fff));
      margin: 0 auto;}
a:hover{color:red;}

h1 {　font-size:1.1em; margin-top:0;
      margin-bottom:0; color:#666666}
h2 { font-size:1.1em; font-weight:600;
color:white; max-width:100%;
margin-top:1em ; margin-bottom:0.5em;
background-color:rgba(0,144,168,0.9);
height:1.2em; padding:3px;}

h2 a{ text-decoration: none;}
h2 a:hover{color: white;}

h3  { font-size:1em; font-weight:bold;
      margin:10px 0px;
      line-height:120%;
      text-decoration:underline dotted;
text-underline-offset:0.3em;}
h3 a:hover{ color:red;}
h4{ margin-bottom:10px;
  font-weight:bold; font-size:0.8em;}

h5{font-size:1em;
font-weight:600;
color:white;
width:98%;
margin-top:0.5em ;
margin-bottom:0.2em;
background-color:rgba(0,144,168,0.9);
height:1.1em;
padding:3px;}

img{ max-width:100%;
height:auto;}

.logo{ position: relative;
text-align: center;height:auto;}

.logo image{ width:100%; height:auto;}

.logo p{
	position: absolute;
	top:40%;
	left:50%;
	transform:translate(-50%,-90%);
	padding:0;
	margin:0;
	font-size:25px;
	color:navy;
	font-weight: bold;}

/******* header *************************************/

.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:1em;
    font-weight:bold;
    line-height:1em;
    padding:5px;
	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;
  
	margin:4px; ;}
}
@media screen and (max-width:370px){
	.fixed-element{
		top:55px;}
.tab{ font-size:0.9em;
	top:55px; ;}
.tabs{height:40px;	}
li.headlist{ margin:2px;
    padding:0px 2px;
  font-size:0.6em;
  border-radius:5px;
	height:40px;
	vertical-align:center;}}


@media screen and (max-width:800px){
img{max-width:100%; width /***/:auto; }
  body{ width:auto;}}
  
/* sp-pc ******************/ 
.sp_br {
  display: none; /*480px */}
@media screen and (max-width: 480px) {
  .sp_br { display: block; /*480px */}}

/* パソコンで見たときは"pc"のclassがついた要素が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた要素が表示される */
@media only screen and (max-width: 799px) {
    .pc { display: none !important; }
    .sp { display: block !important; }}


/* 4.メインの枠組み　********************/
.contents{
  width:auto; height:auto;
  margin-left:auto; margin-right:auto;
  background-color:white; }

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

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

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

.box_2{ /* ???C??g?p?[?g?I?gu?e??N --------*/
   max-width: calc(100% - 300px);
  margin-left: 310px;
  padding: 0px 5px;}

.dest{ font-size:0.9em;}
.dest a:hover{
  background-color:white;}
.triangle{font-size:0.7em;
color:grey;}

@media screen and (max-width: 800px) {
.contents{ width:100%;
	margin:0px;	padding: 0px;} 
.box-wrap{ flex-direction: column;
           margin:0px;
	padding: 0px;
           width:100%;}
	
.box_1 {
    position:relative;
    width: 100%;
    max-width: 100%;
    margin:0px 0px 0px 0px;
  　　　　order:2;}

 .box_2 {
   max-width:100%;
    margin:0px;
    width:100%;
   
    order:1;}
.dest{
    line-height:60px;
  border:1px solid grey;
  margin:5px;
  padding:10px;
  background-color:lightgray;
	font-weight:bold;
	border-radius: 5px;}
  .dest a:hover{
    font-weight:600;
    backgcolor-color:white;}
.box_2{ width:100%;  }
.triangle{display:none;}}

.saiko{
    font-weight:500;
    height:35px;
    vertical-align:middle;
    margin-bottom:5px;
    background-color:#fdb86d;
    border-radius:4px;
  color:black;}



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


.saiko a:hover{
    background-color:white;
    color:red;}


.wrap{ display: flex;
       flex-wrap: wrap;
       margin-bottom:15px;}

/*** 新着情報　*********/

.news_box{ padding:0px 0px;
  margin:0px 0px;
  border-radius:4px;
  font-size:1em;}

.news_info{
  background-color:white;
  border:solid 1px grey;
  padding:10px 5px;
	margin-bottom: 10px;
   max-height: 300px;
	overflow-y: auto;
  size:1em;}
.news_info a{ text-decoration:underline;}
.news_innerbox{ background-color:white;
  font-size:0.9em;
 max-height: 240px;
	overflow-y: scroll;
	line-height: 1.2em;}

table.news_innerbox a:hover{ color:red;}
table.news_innerbox {
  border-collapse:separate;
  border-spacing:0px;
  size:12px;
  margin:3px;}
table.news_innerbox td{
  padding-bottom:7px;}
table.news_innerbox a{
  font-weight:600;}
table.news_innerbox tr th:nth-of-type(1){
white-space:nowrap;
padding-right:5px;}

@media screen and (max-width:480px){
  table.news_innerbox a{
    color:blue;  }}

@media screen and (max-width: 480px) {
  .news_innerbox {
    display: block;}

  table.news_innerbox a {
    color: blue;}

  table.news_innerbox th,
  table.news_innerbox td {
    display: block;
    width: 100%;
    box-sizing: border-box;
	  font-size:em;
	  line-height:1.2em; }

  table.news_innerbox th {
    white-space: normal;
    padding-right: 0;}

  table.news_innerbox tr {
    margin-bottom: 10px;}}





.tourtitle { color: #001e43;
             font-size:1.1em;
             text-align:left;
             font-weight: bolder;}

.tour_box{
  font-size:0.9em;
  margin-bottom:20px;
  border: 1px solid white;}

.tour_box th{
  border: 1px solid white;
  font-weight:600;
  background-color:lightgray;
  white-space:nowrap;}

.tour_box th,td{
  padding:2px;
  border:1px solid white;
  text-height:center;}

.tour_box tr:nth-child(3){ color:red;}
.tour_box tr th:nth-of-type(1){ color:black;}
.tour_box a{ text-decoration: underline;
	line-height: 1.5em;}

.homen{
	background: lightgrey;
	padding:4px 10px;
	margin:15px 5px 0px 0px;
	border-radius: 2px;
	line-height: 3em;
	font-weight: bold;
}
a.anchor{
	display: block;
	margin-top:-110px;
	padding-top:110px;}


.end{ padding:5px;
  background-color:lightgray;}

.business{
  border:solid 1px red;
  margin:5px 0px;
  padding:5px;}
.busi{ color:red; font-weight:bold;}


.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用 */}

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

.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;}

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

footer{ background-color:#d3d3d3;
margin-top:300px;}
.footer_wrap{
	height:auto;
	width:900px;
  padding-left:350px;
       margin-top:300px;
	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;}

#page_top { width: 50px; height: 50px; position: fixed; right: 20px; bottom: 50px; background: black; opacity: 0.8; border-radius: 50%; z-index: 99999;}

#page_top a { position: relative; display: block; width: 50px; height: 50px; text-decoration: none;
  z-index: 99999; /* こちらの z-index はどちらを残しても動作に影響は少ないですが、統一しておくと良いでしょう */}

#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; z-index: 99999; /* こちらも同様に統一 */}

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

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


@media screen and (max-width:800px){
	/* */
img{max-width:100%; width /***/:auto; }
body{ width:auto;}
.head_container{
    padding:8px;
    max-width:100%;  }  
.contents{ max-width:100%;}
h1{font-size:1.4em;}
h3{line-height:1.4em;	color:#1a0dab;} 
.flex_tour-box{
    flex-direction:column;
    padding:2px;}
a.anchor{
    display: block;
    padding-top: 8em;
    margin-top: -8em;}
	
.footer_wrap{ display:block;
  max-width:100%;
  padding-left:0;
  font-size:0.9em;}
.box_1{ width:100%;} 
.box_2{ width:100%;}
.box_wrap{
  display:flex;
  flex-wrap:wrap-reverse;
  max-width:100%;
  padding-top:10px;
  margin: 0 auto;
  font-size:0.9em; }
.wrap{ display: flex;
       flex-wrap: wrap;}
.saiko{ width:100%;}

.foot_2{display:block;}
  
  .fixed-element{ margin-top:0px;
	  background-color: lightgray;
    font-size:14px;}


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


