@charset "utf-8";


/*Font Awesomeの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css");

/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&display=swap');

/*slick.cssの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");

/*テンプレート専用cssファイルの読み込み
---------------------------------------------------------------------------*/
@import url("slide.css");
@import url("inview.css");


/*CSSカスタムプロパティ（サイト全体を一括管理する為の設定）
---------------------------------------------------------------------------*/
:root {

	/*テンプレートのメインまたはアクセントとなる色*/
	 --primary-color: #001e43;
	/*上のprimary-colorの対となる色*/
	--primary-inverse-color: #fff;
	
	/*サイト内の左右へとる余白を一括管理しています。画面幅100%＝100vwです。*/
	--global-space: 3vw;
}


/*animation1のキーフレーム設定（開閉ブロックのアニメーションに使用）
---------------------------------------------------------------------------*/
@keyframes animation1 {
	0% {left: -200px;}
	100% {left: 0px;}
}


/*opa1のキーフレーム設定（汎用的）
---------------------------------------------------------------------------*/
@keyframes opa1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}


/*全体の設定
---------------------------------------------------------------------------*/
body * {box-sizing: border-box;}
html,body {
	font-size: 13px;	/*基準となるフォントサイズ。*/
}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

	html, body {
		font-size: 16px;	/*基準となるフォントサイズ。*/
	}

	}/*追加指定ここまで*/


body {
	margin: 0;padding:0;
	font-family:"メイリオ","Meiryo","ＭＳ Ｐゴシック", Osaka,`Helvetica, sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	-webkit-text-size-adjust: none;
	background: #fff;	/*背景色*/
	color: #333;		/*文字色*/
	line-height: 2;		/*行間*/
}

/*リセット*/
figure {margin: 0;}
dd {margin: 0;}
nav,ul,li,ol {margin: 0;padding: 0;}
nav ul {list-style: none;}
section li {margin-left: 1rem;}
input {font-size: 1rem;}

/*table全般の設定*/
table {border-collapse:collapse;}

/*画像全般の設定*/
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}

/*videoタグ
video {max-width: 100%;}*/

/*iframeタグ*/
iframe {width: 100%;}

/*sectionが続く場合*/
section + section {
	margin-top: 2vw;
}

/*section*/
section {
	overflow-x: hidden;
	padding: var(--space-large);	
}

/*pタグ*/
p {
	padding: 0rem 2rem;	/*上下、左右への余白 */
}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #000033;		/*リンクテキストの色*/
	transition: 0.3s;	/*マウスオン時の移り変わるまでの時間設定。0.3秒。*/
}
a:hover {
	color: #0068b7;
}

/*リンク（強調）設定
---------------------------------------------------------------------------*/
.special-link {
  color: #d70035;
  font-weight: bold;
}

.special-link:hover {
  color: #941f57;
  font-weight: bold;
}


/*ヘッダー
---------------------------------------------------------------------------*/
/*トップページ以外のヘッダー*/
body:not(.home) header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.5rem var(--global-space);	/*上下、左右へのヘッダー内の余白。var〜の部分はcss冒頭で指定しているglobal-spaceを読み込みます*/
}


	/*画面幅900px以下の追加指定*/
	@media (max-width: 900px) {
		body:not(.home) header{
			border-bottom: 1px solid #ddd;	/*薄い色の線の幅、線種、色*/
		}
	}

/*ロゴ画像*/
#logo {margin: 0;padding: 0;}
#logo img {
	display: block;
	width: 190px;	/*ロゴ画像の幅*/
}

	/*画面幅900px以下の追加指定*/
	@media (max-width: 900px) {
		#logo img {
			width: 130px;	/*ロゴ画像の幅*/
		}
	}

/*トップページのヘッダー*/
.home header {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 35%;	/*スライドショーの高さ調整*/
	/* padding-top: 56%;*/
	overflow: hidden;
}

	/*画面幅900px以下の追加指定*/
	@media (max-width: 900px) {
		.home header {
			padding-top: 56%;
			border-bottom: 1px solid  var(--primary-color);	/*薄い色の線の幅、線種、色*/
		}
	}

/*トップページのロゴ*/
.home #logo img {
	width: 40vw;	/*ロゴ画像の幅。画面幅100%=100vwです。*/
	/* width: 35vw;	ロゴ画像の幅。画面幅100%=100vwです。*/
	position: absolute;z-index: 1;
	top: 47%;
	left: 50%;
	transform: translate(-50%, -50%);
}
	/*画面幅900px以下の追加指定*/
	@media (max-width: 900px) {
		.home #logo img {
			width: 53vw;	/*ロゴ画像の幅。画面幅100%=100vwです。*/
			position: absolute;z-index: 1;
			top: 47%;
			left: 50%;
			transform: translate(-50%, -50%);
		}
	}

/*動画*/
header video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
	object-fit: cover;
}

/* ヘッダー　お問い合わせボタン
---------------------------------------------------------------------------*/
.mailform {
  display: flex;
  justify-content: right;
  margin-right: 50px;
}

/*リンクテキスト*/
.mailform a {
	color: #fff;
	text-decoration: none;
}

.mailform-icon {
	display: flex;
	align-items: center;
	gap: 17px;
	width: 120px;
	padding: 12px 16px;

	border: 1px solid #3a799c;
    border-radius: 5px;
    background-color: #fff;
    color: #3a799c;
	cursor: pointer;
}
.mailform-icon:hover {
  background-color: #f0f8fc;
}

/*
.icon {
  margin-left: 6px;
}
*/

/*メニューブロック初期設定
---------------------------------------------------------------------------*/
#menubar {opacity: 0;line-height: 1.5;}
#menubar ul {list-style: none;margin: 0;padding: 0;}

.large-screen #menubar {opacity: 1;}

.small-screen #menubar.display-none {display: none;}
.small-screen #menubar.display-block {display: block;opacity: 1;}

/*3本バーをデフォルトで非表示*/
#menubar_hdr.display-none {display: none;}

/*ドロップダウンをデフォルトで非表示*/
.ddmenu_parent ul {display: none;}

/*ddmenuを指定しているメニューに矢印アイコンをつける設定*/
a.ddmenu::before {
	font-family: "Font Awesome 5 Free";
	content: "\f078";	/*使いたいアイコン名（Font Awesome）をここで指定*/
	font-weight: bold;	/*この手の設定がないとアイコンが出ない場合があります*/
	margin-right: 1em;	/*アイコンとテキストとの間に空けるスペース*/
	position: absolute;
	left: 2rem;	/*左から２文字分のところに配置する。*/
}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

	/*ddmenuを指定しているメニューに矢印アイコンをつける設定*/
	a.ddmenu::before {
		left: 1rem;	/*左から1文字分のところに配置する。*/
	}

	}/*追加指定ここまで*/


/*大きな端末、小さな端末共通のメニューブロック設定
---------------------------------------------------------------------------*/
/*メニュー１個あたりの設定*/
#menubar a {
	display: block;text-decoration: none;
	font-family: 'Vollkorn', serif;
}


/*大きな端末用のメニューブロック設定
---------------------------------------------------------------------------*/
/*メニューブロックを囲むボックス*/
.large-screen #menubar {
    position: sticky;
    top: 0;
    z-index: 2;
    transition: opacity 0.3s;
}

/*メニューブロック全体の設定*/
.large-screen #menubar > nav > ul {
	display: flex;	/*横並びにする*/
	justify-content: space-between;
	align-items: center;
}

/*メニュー１個あたりの設定*/
.large-screen #menubar li {
	flex: 1;			/*個々のメニューを均等にし、幅いっぱいまで使う設定*/
	display: flex;align-items: center;justify-content: center;
	position: relative;	/*ドロップダウンの幅となる基準を作っておく*/
	text-align: center;	/*テキストをセンタリング*/
	font-family: 'Vollkorn', serif;
}

/*リンク（a要素）の設定*/
.large-screen #menubar li a {
	flex: 1;
	display: flex;align-items: center;justify-content: center;
	flex-direction: column;
	background: linear-gradient(#192f60, var(--primary-color));
	color: var(--primary-inverse-color);	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/
	padding: 1.2rem 0.5rem;
	height: 70px;
	/*	
	padding: 1.2rem 1rem;
	height: 65px; */
}

/*マウスオン時に明るくする*/
.large-screen #menubar li a:hover {
	filter: brightness(1.4);
}


/*大きな端末用のメニューブロックが画面上部に到達した場合（fixed）
---------------------------------------------------------------------------*/
/*メニューブロックを囲むボックス*/
.large-screen #menubar.fixed a {
    opacity: 0.8;	/*透明度。色を70%だけ出す。*/
}

/*マウスオン時*/
.large-screen #menubar.fixed a:hover {
	opacity: 1;		/*透明度。色を100%出す。*/
}

/*メニューの上下の余白を狭くする*/
.large-screen #menubar.fixed2 li a {
	padding: 0.4rem 0.5rem;
}

/*小さな端末用の開閉ブロック
---------------------------------------------------------------------------*/
.small-screen #menubar {height: 0px;}

/*メニューブロック設定*/
.small-screen #menubar.display-block {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding-top: 60px;	/*上に空ける余白。*/
	background: var(--primary-color);	/*背景色。css冒頭で指定しているprimary-colorを読み込みます*/
	animation: animation1 0.2s both;	/*animation1を実行する。0.2sは0.2秒の事。*/
}

/*メニュー１個あたりの設定*/
.small-screen #menubar li {
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
	margin: 1rem;			/*メニューの外側に空けるスペース*/
	border-radius: 5px;		/*角を丸くする指定*/
}
.small-screen #menubar > nav > ul > li > a {
	padding: 1.5rem 3rem;		/*メニュー内の余白。上下、左右へ。*/
	display: flex;flex-direction: column;
}
.small-screen #menubar li a {
	padding: 1rem 3rem;	/*子メニュー（ドロップダウン）内の余白。上下、左右へ。*/
}

/*文字色*/
.small-screen #menubar, .small-screen #menubar a {
	color: #fff;
}

/*900px以下でのみ表示させるブロック*/
#menubar .sh {
	padding: 1rem 2rem 2rem;	/*上、左右、下へのブロック内の余白*/
}


/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*３本バーを囲むブロック*/
#menubar_hdr {
	animation: opa1 0s 0.2s both;
	position: fixed;z-index: 101;
	cursor: pointer;
	right: 3vw;				/*右からの配置場所指定*/
	top: 2vw;				/*上からの配置場所指定*/
	padding: 16px 14px;		/*上下、左右への余白*/
	width: 46px;			/*幅（３本バーが出ている場合の幅になります）*/
	height: 46px;			/*高さ*/
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素（３本バー）部分。flexはデフォルトで横並びになるので、それを縦並びに変更。*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	background: rgba(0,0,0,0.5);	/*背景色。0,0,0は黒のことで0.5は色が50%出た状態。*/
}

/*バー１本あたりの設定*/
#menubar_hdr span {
	display: block;
	transition: 0.5s;	/*アニメーションにかける時間。0.5秒。*/
	border-top: 1.5px solid #fff;	/*線の幅、線種、色*/
}

/*×印が出ている状態の3本バーの背景色*/
#menubar_hdr.ham {
	background: #ff0000;
}

/*×印が出ている状態の設定。※１本目および２本目のバーの共通設定。*/
#menubar_hdr.ham span:nth-of-type(1),
#menubar_hdr.ham span:nth-of-type(3) {
	transform-origin: center center;	/*変形の起点。センターに。*/
	width: 20px;						/*バーの幅*/
}

/*×印が出ている状態の設定。※１本目のバー。*/
#menubar_hdr.ham span:nth-of-type(1){
	transform: rotate(45deg) translate(3.8px, 5px);	/*回転45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※３本目のバー。*/
#menubar_hdr.ham span:nth-of-type(3){
	transform: rotate(-45deg) translate(3.8px, -5px);	/*回転-45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※２本目のバー。*/
#menubar_hdr.ham span:nth-of-type(2){
	display: none;	/*２本目は使わないので非表示にする*/
}


/*mainブロック
---------------------------------------------------------------------------*/
/*mainブロック（横スライドslick対策）*/
main * {min-width: 0;}

/*h2見出し*/
main h2 {
	font-family: 'Vollkorn', serif; font-size: 1.6em; color: var(--primary-color);padding: 0;margin: 0;
}

/*h3見出し*/
main h3 {
	color: #fff;
	padding:0.5rem; /*上下左右の余白*/
	background:var(--primary-color);
	border-left:solid 6px #39799bff; /*左線*/
	font-family: 'Vollkorn', serif;
	margin-bottom: 0;
	margin-top: 1rem;
}

/*h4見出し*/
main h4 {
	color: var(--primary-color);
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 1rem 1rem;		/*h4の外側にとるスペース。上、左右、下への順番。*/
	font-size: 1rem;		/*文字サイズ*/
	position: relative;		/*ulineを配置する為に必要な指定*/
	border-bottom: 2px solid #ddd;	/*薄い色の線の幅、線種、色*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くする*/
}

/*h4のアクセントラインの設定*/
main h4 .uline {
	display: inline-block;position: relative;
	bottom: -2px;		/*濃い線を薄い線に重ねる為の指定。枠線の幅と合わせます。*/
	border-bottom: 2px solid var(--primary-color);	/*濃い色の線の幅、線種、varは色の事でcss冒頭で指定しているprimary-colorを読み込みます*/
	padding: 0.5rem 0;	/*h2内の余白。上下、左右への順番。*/
}

/* 外側に空けるスペース */
.spmain {
	margin-top: 2vw;
	margin-left: var(--global-space);	/* 外側に空けるスペース css冒頭で指定しているglobal-spaceを読み込みます*/
	margin-right: var(--global-space);	/* 外側に空けるスペース css冒頭で指定しているglobal-spaceを読み込みます*/
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
#footermenu {
	background: #ddd;
	margin-top: 30px;

	padding: 5px;		/*ブロック内の余白*/
	text-align: center;	/*テキストを中央に*/
	font-size: 0.8rem;	/*文字サイズ。bodyのfont-sizeの80%です。*/
}

/*メニュー１個あたり*/
#footermenu li {
	display: inline-block;	/*簡易的に横並びにする*/
	padding: 0 10px;		/*上下、左右への余白*/
}

#footermenu a {
	text-decoration: none;
}

/*フッター設定
---------------------------------------------------------------------------*/
footer small {font-size: 100%;}
footer {
	background: var(--primary-color);
	font-size: 0.7rem;		/*文字サイズ。bodyのfont-sizeの70%です。*/
	text-align: center;		/*内容をセンタリング*/
	padding: 10px;			/*ボックス内の余白*/
	color: #fff;
}
footer p {
	font-family: 'Vollkorn', serif;
	font-size: 2em;
	color: inherit;
	text-decoration: none;
	text-align: center;		/*内容をセンタリング*/
	padding-left: 30px;	
}
footer span {
	padding-left: 10px;
	font-size: 0.6em;	/*文字サイズを親要素の60%に*/
}

/*リンクテキスト*/
footer a {
	color: #fff;
	text-decoration: none;
}

/*著作部分*/
footer .pr {display: block;}


/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {display: block;}

/*ボタンの設定*/
.pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 99;
	position: fixed;	/*スクロールに追従しない(固定で表示)為の設定*/
	right: 20px;		/*右からの配置場所指定*/
	bottom: 20px;		/*下からの配置場所指定*/
	color: #fff;		/*文字色*/
	font-size: 1.5rem;	/*文字サイズ*/
	background: rgba(0,0,0,0.2);	/*背景色。0,0,0は黒の事で0.2は色が20%出た状態。*/
	width: 60px;		/*幅*/
	line-height: 60px;	/*高さ*/
	border-radius: 50%;	/*円形にする*/
}

/* 共通　アイコン設定
---------------------------------------------------------------------------*/
/* PDFリンクのアイコン */
.pdf-link::after {
  font-family: "Font Awesome 6 Free";
  content: "\f1c1"; /* 外部リンクアイコン */
  font-weight: 900;
  font-size: 1.2em;
  margin-left: 6px;
  color: rgb(180, 86, 91);
}

.pdf-link:hover::after {
 /*  color: #0068b7; */
}

/* 外部リンクのアイコン */
.ex-link {
  text-decoration: none;
}
.ex-link::after {
  font-family: "Font Awesome 6 Free";
  content: "\f35d"; /* 外部リンクアイコン */
  font-weight: 900;
  font-size: 1.2em;
  margin-left: 6px;
  color: rgb(138, 140, 141);
}

.ex-link:hover::after {
  color: #0068b7;
}

/* マップアドレスのアイコン */
.map-link {
  text-decoration: none;
}
.map-link::after {
  font-family: "Font Awesome 6 Free";
  content: "\f3c5"; /* 外部リンクアイコン */
  font-weight: 900;
  font-size: 1.8em;
  margin-left: 6px;
  color: rgb(138, 140, 141);
}

.map-link:hover::after {
  color: #0068b7;
}

/*調整用スタイル
---------------------------------------------------------------------------*/
/*並べ替え*/
.order1 {
	order: 1;	/*orderは数字の小さな順番に並びます。デフォルトは0なので、それより後ろに表示させたいブロックに使います。（※flex内で使用）*/
}


/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.color-check, .color-check a {color: #ff0000 !important;}
.l {text-align: left !important;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb0 {margin-bottom: 0px !important;}
.mb30 {margin-bottom: 30px !important;}
.look {display: inline-block;padding: 0px 10px;background: #eee;color: #333;border: 1px solid #ccc; border-radius: 3px;margin: 5px 0; word-break: break-all;}
.small {font-size: 0.75em;}
.large {font-size: 2em; letter-spacing: 0.1em;}
.pc {display: none;}
.dn {display: none !important;}
.block {display: block !important;}

span.marker {
	color: rgb(180, 86, 91);
	font-weight: bold;
}

.add1 {text-align: center !important; font-family: 'Vollkorn', serif; font-size: 2em; color: var(--primary-color);padding: 0;margin: 0;}
.add2 {text-align: center !important; font-family: 'Vollkorn', serif; font-size: 1em; color: var(--primary-color);padding: 0;margin: 0;}
.add3 {text-align: center !important; font-family: 'Vollkorn', serif; font-size: 1.2em; color: #fff;padding: 0;margin: 0;}
.add4 {text-align: left !important; font-family: 'Vollkorn', serif; font-size: 1.2em; color: var(--primary-color);padding: 0;margin: 0;}
.add5 {text-align: left !important; font-family: 'Vollkorn', serif; font-size: 1em; color: var(--primary-color);padding: 0;margin-left: 15px;font-weight: bold;}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

	.ws {width: 48%;display: inline;}
	.sh {display: none;}
	.pc {display: block;}

	}/*追加指定ここまで*/

/*others-free1-parts（色々なレイアウト用）
---------------------------------------------------------------------------*/
/*ボックス内のh4*/
.others-free1-parts h4{
	margin: 0;
	font-size: 1.1rem;
}

/*画像の影をつける場合*/
.shadow-parts {
	box-shadow: 4vw 4vw rgba(0,0,0,0.05);	/*右へ、下へ、0,0,0は黒のことで0.05は5%だけ色が出た状態。*/
}

/*画像と文字を囲むブロック*/
.others-free1-parts .list-parts {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr)); /* 12等分 */
	gap: 5vw; /*要素間の隙間。画面幅100% = 100vwです。お好みで。*/
	margin-bottom: 5vw;	/*下に空けるスペース。お好みで。*/
	grid-auto-flow: dense;
}
.others-free1-parts .list-parts:last-child {
  margin-bottom: 0;	/*最後のブロックの下マージンをなくす*/
}

/*imageとtextの設定*/
.others-free1-parts .image-parts,
.others-free1-parts .text-parts {
	align-self: center;
	position: relative;
}

/*imageのみの設定*/
.others-free1-parts .image-parts {
	grid-column: 1 / -1;
}

/*textのみの設定*/
.others-free1-parts .text-parts {
	grid-column: 1 / -1;
}

/*image-wide（横長で使う場合）*/
.others-free1-parts .image-wide-parts {
	grid-column: 1 / -1;
}

/*image-01-parts*/
.others-free1-parts .image-01-parts {
	grid-column: 8 / -1;
}
/*.text-01-parts*/
.others-free1-parts .text-01-parts {
	grid-column: 1 / 8;
}
/*image-01-parts（左右入れ替え用）*/
.others-free1-parts .list-parts.reverse-parts .image-01-parts {
	grid-column: 1 / 6;
}
/*text-01-parts（左右入れ替え用）*/
.others-free1-parts .list-parts.reverse-parts .text-01-parts {
	grid-column: 6 / -1;
}

/*image-02-parts*/
.others-free1-parts .image-02-parts {
	grid-column: 1 / 10;
}
/*text-02*/
.others-free1-parts .text-02-parts {
	grid-column: 1 / 10;
}
/*image-02-parts（左右入れ替え用）*/
.others-free1-parts .list-parts.reverse-parts .image-02-parts {
	grid-column: 4 / -1;
}
/*text-02（左右入れ替え用）*/
.others-free1-parts .list-parts.reverse-parts .text-02-parts {
	grid-column: 4 / -1;
}

	/*画面幅500px以下の追加指定*/
	@media screen and (max-width:500px) {

	/*画像と文字を囲むブロック*/
	.others-free1-parts .list-parts {
		display: block;
		margin-bottom: 3rem;
	}
	
	}/*追加指定ここまで*/


/* ------------------------------------------------------------------------*/
/* 各画面設定
---------------------------------------------------------------------------*/

/* トップページ　タイトル下ボックス
---------------------------------------------------------------------------*/
.top-msg {
	overflow: hidden;
}

.top-msg .icon-bg1 {
	color: var(--primary-inverse-color);	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/
	border-color: transparent;			/* 枠線を出したくないので透明にする*/
	
}

.top-msg p{
	margin: 0;
	padding: 0
}

/*見出し設定*/
.top-msg dt {
	/*background: var(--primary-color);
	color: #fff;*/
	padding: 0 2rem 0 0;	/* dt内の余白。上、右、下、左への順番。*/
	margin-bottom: 0;
	font-family: 'Vollkorn', serif;
	color:var(--primary-color);
	font-weight: bold;
}

/内容設定*/
.top-msg dd {
	padding:  0 0 0 1rem;;	/*dd内の余白。上、右、下、左への順番。*/
}

	/*画面幅700px以上の追加指定*/
	@media screen and (min-width:700px) {

	/*ブロック全体*/
	.top-msg {
		display: grid;	/*gridを使う指定*/
		grid-template-columns: auto 1fr;	/*横並びの指定。日付とアイコン部分の幅は自動で、内容が入るブロックは残り幅一杯とる。*/
	}
	
	.top-msg dd {
		font-size: 1.3rem;
	}
	.top-msg dt {
		font-size: 1.4rem;
	}
	
	}/*追加指定ここまで*/


/* トップページ、Registrationページ　Registrationボタン
---------------------------------------------------------------------------*/

.reg-arrow-btn {
  display: inline-block;
  padding: 10px 20px;
  background-color: #192f60;
  color: #fff;
  text-decoration: none;
  position: relative;
  transition: background-color 0.3s;
  border-radius: 5px;
}

/* 矢印 */
.reg-arrow-btn::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg) translateX(0);
  margin-left: 10px;
  transition: transform 0.3s;
}

/* ホバー時 */
.reg-arrow-btn:hover {
  filter: brightness(1.3);
  color: #fff;
}
.reg-wrapper {
  text-align: right;
}


/* トップページ　タイトル下ボックス　背景画像調整用
---------------------------------------------------------------------------*/
.top-div {
	position: relative;
	background: url("../images/back3.jpg") center / cover no-repeat;
	min-height: 280px;
	padding: 10px 0;
	width: 100%;
	display: flex;
	align-items: center; /* 縦中央 */
}

.top-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.03);
}

.top-content {
	position: relative;
	max-width: 1000px;
	margin: 0 auto;   /* 横中央 */
	padding: 0 20px;  /* 左右余白 */
	text-align: left; /* 文字は左揃え */
}

/* 700px以下で縦並び */
@media (max-width: 700px) {
	.top-div  {
		height: 90%;
	}
}


/* トップページ　Organizedボックス　背景画像調整用
---------------------------------------------------------------------------*/
.top-org-div {
	position: relative;
	background: url("../images/back7.jpg") center / cover no-repeat;
	min-height: 150px;
	padding: 10px 0;
	width: 100%;
	display: flex;
	align-items: center; /* 縦中央 */
}

.top-org-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.6);
}
.top-org-content {
	position: relative;
	max-width: 900px;
	margin: 0 auto;   /* 横中央 */
	padding: 0 20px;  /* 左右余白 */
	text-align: left; /* 文字は左揃え */
}


/* トップページ　写真入りブロック
---------------------------------------------------------------------------*/
/*ブロック内にある、全ての写真ブロックを囲むボックス*/
.top-list-menu {
	display: grid;
	grid-template-columns: repeat(3, 1fr);	/*3列にする。*/
	gap: 0;	/*写真ブロック同士に空けるマージン的な要素。*/
	margin-bottom: var(--global-space);	/*ボックスの下に空けるスペース。css冒頭で指定しているglobal-spaceを読み込みます*/
}

/* リスト（写真や文が入ったボックス一個あたり）*/
/*list内の全ての要素のマージンを一旦リセット*/
.top-list * {
	margin: 0;
}

/*ボックス１個あたり*/
.top-list {
	position: relative;
    display: flex;
	flex-direction: column;
	padding: 1rem;			/*ボックス内の余白*/
	background: #fff;		/*背景色*/
	color: #555;			/*文字色*/
	/* box-shadow: 5px 5px 20px rgba(0,0,0,0.1);	ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.1は色が10%出た状態。*/
}

.top-list a {
	color: #555;
	text-decoration: none;
}

.top-list a:hover {
	color: #333;
	text-decoration: none;
}

/*ブロック内のp要素*/
.top-list p {
	margin: 0;padding: 0;
}

/* リスト内見出し */
.top-list h4 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;		/*h2の外側にとるスペース。上、左右、下への順番。*/
	font-size: 1rem;		/*文字サイズ*/
	position: relative;		/*ulineを配置する為に必要な指定*/
	border-bottom: 2px solid #ddd;	/*薄い色の線の幅、線種、色*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くする*/
}

	/*画面幅900px以下の追加指定*/
	@media (max-width: 900px) {
		.list h4{
			letter-spacing: 0;	/*文字間隔を広くしない*/
		}
	}


/*ボックス内のfigure画像*/
.top-list figure img {
	margin-bottom: 0.5rem;	/*画像の下に空けるスペース*/
}

.top-list:hover {
	background-color: #eee;
	color: white;
}

.top-list {
  transition: none;
}


/* トップページ　写真ボックス内の矢印ボタン
---------------------------------------------------------------------------*/
.top-list-arrow-btn {
	display: inline-block;
	text-decoration: none;
	position: relative;
}

/* 矢印 */
.top-list-arrow-btn::after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--primary-color);
	border-right: 2px solid var(--primary-color);
	transform: rotate(45deg) translateX(0);
	margin-right: 10px;
	transition: transform 0.3s;
}

	/*画面幅900px以下の追加指定*/
	@media (max-width: 900px) {
		.top-list-arrow-btn::after {
			width: 5px;
			height: 5px;
		}
	}

/* トップページ　Newsお知らせブロック
---------------------------------------------------------------------------*/
/*お知らせブロック*/
.top-new {
	background: rgba(0,0,0,0.02);	/*背景色。0,0,0は黒のことで0.02は色が2%出た状態。*/
	border-radius: 10px;			/*角を丸くする指定*/
	overflow: hidden;
	margin-bottom: 4rem;	/*ブロックの下に空けるスペース。4文字分。*/
}

/*奇数行目を背景色を少し濃くする。*/
.top-new dt:nth-of-type(odd),
.top-new dd:nth-of-type(odd) {
	background: rgba(0,0,0,0.04);
}

/*日付(dt)設定*/
.top-new dt {
	padding: 1rem 1rem 0;	/*dt内の余白。上、左右、下への順番。*/
}

/*記事(dd)設定*/
.top-new dd {
	padding: 1rem;	/*dd内の余白*/
}

/*ブロック内のspan。日付の横のアイコン的な部分の共通設定*/
.top-new dt span {
	display: inline-block;
	text-align: center;
	line-height: 1.8;		/*行間（アイコンの高さ）*/
	padding: 0 0.5rem;		/*上下、左右へのブロック内の余白*/
	width: 6rem;			/*幅。6文字分。*/
	transform: scale(0.8);	/*80%のサイズに縮小*/
	background: #fff;		/*背景色*/
	color:#777;				/*文字色*/
	border: 1px solid #999;	/*枠線の幅、線種、色*/
}

/*icon-bg1*/
.top-new .icon-bg1 {
	background: var(--primary-color);	/*背景色。css冒頭で指定しているprimary-colorを読み込みます*/
	color: var(--primary-inverse-color);	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/
	border-color: transparent;			/*枠線を出したくないので透明にする*/
}

	/*画面幅700px以上の追加指定*/
	@media screen and (min-width:700px) {

	/*ブロック全体*/
	.top-new {
		display: grid;	/*gridを使う指定*/
		grid-template-columns: auto 1fr;	/*横並びの指定。日付とアイコン部分の幅は自動で、内容が入るブロックは残り幅一杯とる。*/
	}

	/*日付(dt)設定*/
	.top-new dt {
		padding: 1rem 0 1rem 1rem;	/*dt内の余白。上、右、下、左への順番。*/
	}

	/*記事(dd)設定*/
	.top-new dd {
		padding: 1rem 1rem 1rem 0;	/*dd内の余白。上、右、下、左への順番。*/
	}

	}/*追加指定ここまで*/

/* Aboutページ　数値の箇条書き
---------------------------------------------------------------------------*/
ol.num{
	padding: 0 1rem;	/*上下、左右への余白 */
	margin-top: 0;
	margin-left: 1.4em;
	text-indent: -1.4em;
}

ol.num li{
	list-style-type:none;
	counter-increment: number;
}

ol.num li::before{
	content: "(" counter(number) ")  ";
}

/* Programページ　Symposiumの表
---------------------------------------------------------------------------*/
.info-table {
  width: 95%;
  table-layout: fixed;
  border-collapse: collapse;
  margin-left:2rem;
  margin-top:1rem;
  margin-bottom:0rem;
}

/* 1列目：固定幅 */
.info-table td:nth-child(1) {
  width: 80px;
  font-family: 'Vollkorn', serif;
  color:var(--primary-color);
  font-weight: bold;
  
}

/* 2列目：固定幅 */
.info-table td:nth-child(2) {
  width: 145px;
  font-family: 'Vollkorn', serif;
  font-weight: bold;
}

/* 3列目：残りの幅 */
.info-table td:nth-child(3) {
  width: auto;
}

/* セル */
.info-table td {
  padding: 12px 15px;
  border: none;
  border-bottom: 1px solid #ccc;
  text-align: left;
}

/* 表の一番上に線 */
.info-table tr:first-child td {
  border-top: 1px solid #ccc;
}

/* 1行ごとに背景色を変更 */
.info-table tr:nth-child(odd) {
  background-color: #ffffff;
}

.info-table tr:nth-child(even) {
  background-color: #f5f5f5;
}

/* 750px以下で縦並び */
@media (max-width: 750px) {
  .info-table {
    width: 100%;
    margin-left: 0rem;
    margin-top:1rem;
    margin-bottom:0rem;
  }

}

/* Registrationページ　Registration feeの表
---------------------------------------------------------------------------*/
.reg-fee-table {
  border-collapse: collapse;
  /* margin: 0 auto;  横中央 */
  width: 620px;
  table-layout: fixed;
  margin: 2rem;
}
.reg-fee-table th {
  border: 1px solid #333;
  padding: 8px;
  text-align: center;
}

.reg-fee-table td {
  border: 1px solid #333;
  padding: 8px;
  text-align: right;
}

/* 見出しセル共通 */
.reg-fee-table th {
  background-color: #f0f0f0;
  font-weight: bold;
}

/* 750px以下で縦並び */
@media (max-width: 750px) {
  .reg-fee-table {
    width: 90%;
  }

}

/* Registrationページ　Important Datesの表
---------------------------------------------------------------------------*/
.reg-dl-table {
  border-collapse: collapse;
  /* margin: 0 auto;  横中央 */
  width: 500px;
  table-layout: fixed;
  margin: 2rem;
}

.reg-dl-table th {
  border: 1px solid #333;
  padding: 8px;
  text-align: center;
}

.reg-dl-table td {
  border: 1px solid #333;
  padding: 8px;
}

/* 見出しセル共通 */
.reg-dl-table th {
  background-color: #f0f0f0;
  font-weight: bold;
}

/* 750px以下で縦並び */
@media (max-width: 750px) {
  .reg-dl-table {
    width: 90%;
  }

}

/* Accessページ、Programページ　建物写真と説明文（APO会場用）
---------------------------------------------------------------------------*/

.venue-container {
	display: flex;
	gap: 1vw;
	margin-top: 0;
	background: #fff;	/*背景色*/
	align-items: flex-start;
	margin-bottom: 1rem;
}

.venue-text {
	flex: 1;
}

/* APO用写真 */
.venue-image {
	width: 330px;
	margin-left: auto;
}

.venue-image img {
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}

.venue-text dd span{
	font-size: 0.7rem;
}


/* 700px以下で縦並び */
@media (max-width: 700px) {
  .venue-container {
    flex-direction: column;
  }

  .venue-text {
    order: 1; /* 上 */
  }
  
  .venue-image {
   width: 90%;
   	margin: auto;
    order: 2; /* 下 */
  }
}


/* Accessページ、Programページ　写真横の文の書式（APO会場用）
---------------------------------------------------------------------------*/
.venue-msg {
	overflow: hidden;
	display: grid;	/*gridを使う指定*/
	grid-template-columns: auto 1fr;	/*横並びの指定。日付とアイコン部分の幅は自動で、内容が入るブロックは残り幅一杯とる。*/
}

.venue-msg .icon-bg1 {
	color: var(--primary-inverse-color);	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/
	border-color: transparent;			/* 枠線を出したくないので透明にする*/
	
}

.venue-msg p{
	margin: 0;
	padding: 0
}

/*見出し設定*/
.venue-msg dt {
	background: #ddd;
	padding: 0 1rem 0 1rem;	/*dt内の余白。上、右、下、左への順番。*/
	margin-bottom: 1rem;
	margin-left: 1rem;
	min-height: 35px;
	font-weight: bold;
}

/*本文設定*/
.venue-msg dd {
	margin-bottom: 1rem;
	padding: 0 1rem 0 1rem;	/*dd内の余白。上、右、下、左への順番。*/
}

/* Accessページ、Programページ　Mapアイコンのツールチップ
---------------------------------------------------------------------------*/
.tooltip { /* 補足説明するテキストのスタイル */
	position: relative;
	cursor: pointer;
}
 
.tooltip-description { /* ツールチップのスタイル */
	width: 90px; /* 横幅 */
	position: absolute;
	left: 5%;
	bottom: 80%; /* Y軸の位置 */
	transform: translateX(-55%);
	margin-bottom: 8px; /* テキストとの距離 */
	padding: 8px;
	border-radius: 10px; /* 角の丸み */
	background-color: #666;
	font-size: 0.7em;
	color: #fff;
	text-align: center;
	visibility: hidden; /* ツールチップを非表示に */
	opacity: 0; /* 不透明度を0％に */
	z-index: 1;
	transition: 0.5s all; /* マウスオーバー時のアニメーション速度 */
}
 
.tooltip:hover .tooltip-description { /* マウスオーバー時のスタイル */
	bottom: 100%; /* Y軸の位置 */
	visibility: visible; /* ツールチップを表示 */
	opacity: 1; /* 不透明度を100％に */
}

/* Accessページ　写真と説明文(金沢へのアクセス用)
---------------------------------------------------------------------------*/

.ac-getk-container {
	display: flex;
	gap: 1vw;
	margin-top: 1rem;
	background: #fff;	/*背景色*/
	align-items: flex-start;
	margin-bottom: 1rem;
}

.ac-getk-text {
  flex: 1;
}

/* 石川、金沢用写真 */
.ac-getk-image {
	width: 50%;
	/* width: 550px; */
	margin-left: auto;
	padding: 0 3rem 0 0;	/*dd内の余白。上、右、下、左への順番。*/
}
.ac-getk-image img {
  /* box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25); */
}

.ac-getk-text dd span{
  font-size: 0.7rem;
}


/* 1000px以下で縦並び */
@media (max-width: 1000px) {
  .ac-getk-container {
    flex-direction: column;
  }

  .ac-getk-text {
    order: 1; /* 上 */
  }
  
  .ac-getk-image {
   width: 90%;
   	margin: auto;
    order: 2; /* 下 */
  }
}

/* Accessページ　写真横の文の書式(金沢へのアクセス用)
---------------------------------------------------------------------------*/
.ac-getk-msg {
	overflow: hidden;
}

.ac-getk-msg .icon-bg1 {
	color: var(--primary-inverse-color);	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/
	border-color: transparent;			/* 枠線を出したくないので透明にする*/
	
}

.ac-getk-msg p{
	margin: 0;
	padding: 0;
}

/*見出し設定*/
.ac-getk-msg dt {
	padding: 0 1rem 0 1rem;	/*dt内の余白。上、右、下、左への順番。*/
	margin-left: 1rem;
	font-weight: bold;
	font-family: 'Vollkorn', serif;
}

/*本文設定*/
.ac-getk-msg dd {
	margin-bottom: 1rem;
	margin-left: 1rem;
	padding: 0 1rem 0 1rem;	/*dd内の余白。上、右、下、左への順番。*/
}

	/*画面幅700px以上の追加指定*/
	@media screen and (min-width:700px) {

	/*ブロック全体*/
	.ac-getk-msg {
		display: grid;	/*gridを使う指定*/
		grid-template-columns: auto 1fr;	/*横並びの指定。日付とアイコン部分の幅は自動で、内容が入るブロックは残り幅一杯とる。*/
	}
	.ac-getk-msg dt {
		margin-bottom: 1rem;
	}
	.ac-getk-msg dd {
		margin-bottom: 1rem;
	}
	}/*追加指定ここまで*/


/* Accessページ　マップ調整用
---------------------------------------------------------------------------*/
.p_rt{
	text-align: right;
	margin-bottom: -5px;

}

/* Access,Guideページ　言語ごとのリンクボタン
---------------------------------------------------------------------------*/

.lang-btn {
	display: inline-block;
	padding: 2px;
	margin: 2px;
	width:60px;
	height:28px;
	/* background-color: #b38a2b; */
	/*background-color: #b8860b;*/
	background-color: #956f29;
	color: #fff;
	text-decoration: none;
	position: relative;
	transition: background-color 0.3s;
	text-align: center;
	line-height: 1.8;		/*行間（アイコンの高さ）*/
	border-radius: 4px;		/*角を丸くする指定*/
	font-size: 0.9rem;
}

/* ホバー時 */
.lang-btn:hover {
  filter: brightness(1.2);
  color: #fff;
}
/* 小さい画面はアイコン少し小さく */
@media (max-width: 920px) {
  .lang-btn  {
    	width:45px;
    	font-size: 0.8rem;
  }
}



/* Guideページ　写真と説明文(ホテル情報)
---------------------------------------------------------------------------*/

.guide-hotel-container {
	display: flex;
	gap: 1vw;
	margin-top: 1rem;
	background: #fff;	/*背景色*/
	margin-bottom: 1rem;
	align-items: center; 
}

.guide-hotel-text {
  flex: 1;
}

.guide-hotel-image {
	width: 35%;
	/* width: 550px; */
	align-items: center; 
	margin-left: auto;
	padding: 0 1rem 0 0;	/*dd内の余白。上、右、下、左への順番。*/
}
.guide-hotel-image img {
  /* box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25); */
}

.guide-hotel-text dd span{
  font-size: 0.7rem;
}


/* 1000px以下で縦並び */
@media (max-width: 1000px) {
  .guide-hotel-container {
	flex-direction: column;
	align-items: flex-start;
  }

  .guide-hotel-text {
    order: 1; /* 上 */
  }
  
  .guide-hotel-image {
   width: 90%;
   	margin: auto;
    order: 2; /* 下 */
  }
}


/* Guideページ　写真横の文の書式(ホテル情報)
---------------------------------------------------------------------------*/
.guide-hotel-msg {
	overflow: hidden;
}

.guide-hotel-msg .icon-bg1 {
	color: var(--primary-inverse-color);	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/
	border-color: transparent;			/* 枠線を出したくないので透明にする*/
	
}

.guide-hotel-msg p{
	margin: 0;
	padding: 0;
}

/*見出し設定*/
.guide-hotel-msg dt {
	padding: 0 1rem 0 1rem;	/*dt内の余白。上、右、下、左への順番。*/
	margin-left: 1rem;
}
.guide-hotel-msg dt span{
	font-size: 0.7rem;
	color: #888;
}
/*本文設定*/
.guide-hotel-msg dd {
	margin-bottom: 1rem;
	margin-left: 1rem;
	padding: 0 1rem 0 1rem;	/*dd内の余白。上、右、下、左への順番。*/
}
.guide-hotel-msg dd span{
	font-size: 0.7rem;
}

	/*画面幅700px以上の追加指定*/
	@media screen and (min-width:700px) {

	/*ブロック全体*/
	.guide-hotel-msg {
		display: grid;	/*gridを使う指定*/
		grid-template-columns: auto 1fr;	/*横並びの指定。日付とアイコン部分の幅は自動で、内容が入るブロックは残り幅一杯とる。*/
	}
	.guide-hotel-msg dt {
		margin-bottom: 1rem;
	}
	.guide-hotel-msg dd {
		margin-bottom: 1rem;
	}
	}/*追加指定ここまで*/



/* Guideページ　金沢情報へのリンク
---------------------------------------------------------------------------*/
.guide-kanazawa {
	position: relative;
  
  	/* background-color:#eae5e3; */
	/* background: url("../images/k6.jpg") center / cover no-repeat;*/
  
	background: url("../images/k7.jpg") center / cover no-repeat;
	min-height: 200px;
	padding: 10px 0;
    width: 100%;
	display: flex;
	align-items: center; /* 縦中央 */
}

.guide-kanazawa-overlay {
	position: absolute;
	inset: 0;
 	background: rgba(255, 255, 255, 0.3); /* 白で薄くする */
	/* 黒なら rgba(0,0,0,0.3) */
}

.guide-kanazawa-content {
    width: 100%;
	position: relative;
	margin: 0 auto;   /* 横中央 */
	padding: 0 40px;  /* 左右余白 */
	text-align: left; /* 文字は左揃え */
}

/* 小さい画面では余白少なく */
@media (max-width: 700px) {
	.guide-kanazawa {
		padding: 0;
	}
 	.guide-kanazawa-content {
    	padding: 0;  /* 左右余白 */
 	}
}

/* Guideページ　金沢情報へのリンクの書式
---------------------------------------------------------------------------*/
.guide-kanazawa-msg {
	overflow: hidden;
}

.guide-kanazawa-msg p{
	margin: 0;
	padding: 0;
}

/*見出し設定*/
.guide-kanazawa-msg dt {
	padding: 0 1rem 0 0;	/*dt内の余白。上、右、下、左への順番。*/
	margin-bottom: 0;
	margin-left: 1rem;
	font-weight: bold;
	font-family: 'Vollkorn', serif;
}

/*本文設定*/
.guide-kanazawa-msg dd {
	margin-bottom: 1rem;
	padding: 0 0 0 1rem;	/*dd内の余白。上、右、下、左への順番。*/
}

	/*画面幅700px以上の追加指定*/
	@media screen and (min-width:700px) {

	/*ブロック全体*/
	.guide-kanazawa-msg {
		display: grid;	/*gridを使う指定*/
		grid-template-columns: auto 1fr;	/*横並びの指定。日付とアイコン部分の幅は自動で、内容が入るブロックは残り幅一杯とる。*/
	}
	.guide-kanazawa-msg dt {
		margin-bottom: 1rem;
	}
	.guide-kanazawa-msg dd {
		margin-bottom: 1rem;
}
	}/*追加指定ここまで*/

/* Guideページ　Digital Mapボタン
---------------------------------------------------------------------------*/
.guide-map-btn {
	display: inline-block;
	padding: 2px;
	margin: 2px;
	width:125px;
	height:28px;
	/* background-color: #192f60; */
	background-color: #800000;
	color: #fff;
	text-decoration: none;
	position: relative;
	transition: background-color 0.3s;
	text-align: center;
	line-height: 1.8;		/*行間（アイコンの高さ）*/
	border-radius: 4px;		/*角を丸くする指定*/
	font-size: 0.87rem;
}

/* ホバー時 */
.guide-map-btn:hover {
  filter: brightness(1.2);
  color: #fff;
}



/* Guideページ　観光地写真入りボックス
---------------------------------------------------------------------------*/
/* ガイド画面のボックス */
.guide-card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-bottom: 2px;
  margin-left: 25px;
  margin-right: 20px;
}

.guide-card {
  background: #fff;
  text-align: center;
  padding: 10px; /* 内側余白 */
  display: flex;
  flex-direction: column;

  /* box-shadow: 1px 4px 4px rgba(0, 0, 0, 0.15); */
}

.guide-card p{
  	margin: 0;
	padding: 0;
}
.guide-card-title{
	font-family: 'Vollkorn', serif;
	font-weight: bold;
}
.guide-card-text{
	font-size: 0.8rem;
	color: #888;
}
.guide-card img {
  width: 100%;
  height: auto;
  display: block;

  margin-bottom: 3px; /* 画像とテキストの間 */
}

.guide-bottom {
  margin-top: auto;
}

/* 小さい画面では2列 */
@media (max-width: 920px) {
  .guide-card-grid {
    grid-template-columns: repeat(2, 1fr);
    margin-left: 5px;
	margin-right: 5px;
  }
}


/* Guideページ　ホテル地図画像へのリンク
---------------------------------------------------------------------------*/
.guide-h-image-links{
  position:relative;
}

.guide-h-minn{
  position:absolute;
  top:0%;
  left:37%;
  width:13%;
  height:5%;
}

.guide-h-mitsui{
  position:absolute;
  top:1%;
  left:56%;
  width:20%;
  height:4%;
}

.guide-h-intergate{
  position:absolute;
  top:12%;
  left:25%;
  width:15%;
  height:5%;
}

.guide-h-kumu{
  position:absolute;
  top:16.5%;
  left:35%;
  width:13%;
  height:6%;
}

.guide-h-tokyu{
  position:absolute;
  top:33%;
  left:35%;
  width:11%;
  height:5%;
}

.guide-h-newg{
  position:absolute;
  top:50%;
  left:31%;
  width:11%;
  height:8%;
}

/* Guideページ　ホテル地図画像へのリンク
---------------------------------------------------------------------------*/
.guide-w-h-image-links{
  position:relative;
}

.guide-w-h-minn{
  position:absolute;
  top:21%;
  left:19%;
  width:14%;
  height:4%;
}

.guide-w-h-mitsui{
  position:absolute;
  top:25%;
  left:34%;
  width:21%;
  height:5%;
}

.guide-w-h-intergate{
  position:absolute;
  top:30%;
  left:14%;
  width:13%;
  height:4%;
}

.guide-w-h-kumu{
  position:absolute;
  top:27%;
  left:17%;
  width:14%;
  height:3%;
}

.guide-w-h-tokyustay{
  position:absolute;
  top:35%;
  left:11%;
  width:20%;
  height:4%;
}

.guide-w-h-newg{
  position:absolute;
  top:40%;
  left:17%;
  width:11%;
  height:8%;
}

.guide-w-h-resol{
  position:absolute;
  top:10%;
  left:14%;
  width:20%;
  height:4%;
}
.guide-w-h-square{
  position:absolute;
  top:9%;
  left:37%;
  width:12%;
  height:5%;
}
.guide-w-h-onyado{
  position:absolute;
  top:15%;
  left:36%;
  width:17%;
  height:3%;
}
.guide-w-h-sheraton{
  position:absolute;
  top:18%;
  left:36%;
  width:28%;
  height:3%;
}
.guide-w-h-uan{
  position:absolute;
  top:21%;
  left:44%;
  width:6%;
  height:3%;
}
.guide-w-h-sanraku{
  position:absolute;
  top:10%;
  left:60%;
  width:16%;
  height:6%;
}
.guide-w-h-toyoko{
  position:absolute;
  top:65%;
  left:13%;
  width:15%;
  height:5%;
}
.guide-w-h-hen{
  position:absolute;
  top:63%;
  left:30%;
  width:12%;
  height:5%;
}
.guide-w-h-koko{
  position:absolute;
  top:70%;
  left:30%;
  width:16%;
  height:4%;
}
.guide-w-h-first{
  position:absolute;
  top:93%;
  left:33%;
  width:20%;
  height:3%;
}
.guide-w-h-tokyu{
  position:absolute;
  top:84%;
  left:5%;
  width:20%;
  height:6%;
}