@charset "utf-8";



/*リセットCSS（sanitize.css）の読み込み
---------------------------------------------------------------------------*/
@import url("https://unpkg.com/sanitize.css");

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

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

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





/*全体の設定
---------------------------------------------------------------------------*/
html,body {
	margin: 0;padding: 0;
	font-size: 14px;	/*基準となるフォントサイズ。下の方にある「画面幅900px以上」で基準を大きなサイズに再設定しています。*/
}

body {
	font-family: "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-text-size-adjust: none;
	background: #fff;	/*背景色*/
	color: #323232;		/*全体の文字色*/
	line-height: 2;		/*行間*/
	overflow-x: hidden;
}

/*リセット*/
figure {margin: 0;}
dd {margin: 0;}
nav {margin: 0;padding: 0;}

/*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%;}

/*ul,olタグ*/
ul, ol {margin-bottom: 30px;}

/*他*/
section + section {
	margin-top: 50px;
}
.bar_top {
	border-top: 3px solid #d8d8d8;
	padding-top: 50px;
}

/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: #2263cb;
	transition: 0.3s;
}

a:hover {
	opacity: 0.5;
}


/*containerブロック（左右のブロックを囲むボックス）
---------------------------------------------------------------------------*/
#container {
	margin: 5% 2%;
	display: flex;
	justify-content: space-between;	/*並びかたの種類の指定*/
}


/*headerブロック
---------------------------------------------------------------------------*/
header {
	background: #4d72ad url(../images/nav_bg.gif) repeat 0 0;
	color: #fff;
	display: flex;
	justify-content: space-between;	/*並びかたの種類の指定*/
	padding: 10px 20px;
	border-bottom: 8px solid #a87db6;
}
.home header {
	justify-content: right;
}

/*ヘッダー内のリンクテキスト*/
header a {
	color: #fff;	/*文字色*/
	text-decoration: none;	/*デフォルトで入る下線を非表示にする*/
}

/*ロゴ画像*/
header #logo {
	margin: 0;
	line-height: 0;
	width: 300px;
}

/*ヘッダー内のメニュー*/
header ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;	/*横並びにする*/
}
header ul a {
	margin-left: 2em;	/*メニュー同士に空ける余白*/
}


/*pagettl_boxブロック（詳細ページのページタイトル）
---------------------------------------------------------------------------*/
.pagettl_box {
	background: #4d72ad url(../images/pagettl_box.jpg) repeat 0 0;
	width: 100%;
	display: flex;
	background-size: cover;
}
.pagettl_box h1 {
	background: #4d72ad url(../images/nav_bg2.gif) repeat 0 0;
	margin: 0;
	padding: 30px;
	font-family: "Noto Serif JP",serif;
	letter-spacing: .2em;
	color: #2263cb;
	font-weight: bold;
	font-size: 2.2em;
}



/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロック内の主にh2タグ*/
.ttl01 {
	margin: 0;
	margin: 0 0 30px;		/*上、左右、下に空けるスペース*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くとる設定*/
	text-align: center;		/*中身をセンタリング*/
	font-size: 2.2em;		/*文字サイズ。親要素の2.2倍に。*/
	font-family: "Noto Serif JP",serif;
	line-height: 1.7em;
}
/*飾り文字用*/
.ttl01 span {
	display: block;
	font-size: 0.5em;
	color: #a87db6;
	background: url(../images/ttl01bg.png) no-repeat center top;
	font-family: "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	padding-top: 20px;
}

.ttl02 {
	position: relative;
	padding: 0.2rem 0;
	margin-bottom: 1rem;
	overflow: hidden;
	font-weight: bold;
	font-size: 1.6em;
	font-family: "Noto Serif JP",serif;
	line-height: 1.5em;
}

.ttl02:before, .ttl02:after {
	position: absolute;
	width: 100%;
	bottom: 0;
	content: '';
}

.ttl02:before {
	border-bottom: 3px solid #a87db6;
}

.ttl02:after {
	border-bottom: 3px solid #839dc7;
}
.ttl03 {
	padding: 0 20px;
	font-size: 1.2em;
	margin-bottom: 1em;
	border-bottom: 3px dotted #89a3cd;
	color: #2b5190;
}

/*mainブロックのpタグ*/
main p {
	margin: 0 20px 30px;	/*上、左右、下へ空けるスペース*/
}

main p + p {margin-top: -10px;}


/*メニュー初期設定
---------------------------------------------------------------------------*/
#menubar ul {list-style: none;margin: 0;padding: 0;}
#menubar {display: none;}
#menubar.db {display: block;}
#menubar.dn {display: none;}
#menubar ul.submenu {padding-top: 40px;}


/*小さな端末用の設定（開閉ブロック）
---------------------------------------------------------------------------*/
/*メニューブロック設定*/
.s #menubar.db {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding: 70px 0;	/*上下、左右へのブロック内の余白*/
	background: rgba(0,0,0,0.9);		/*背景色。0,0,0は黒の事で0.9は色が90%出た状態の事。*/
	animation: animation1 0.2s both;	/*animation.cssの、animation1を実行する。0.2sは0.2秒の事。*/
	text-align: center;	/*内容をセンタリング*/
	color: #fff;		/*文字色*/
}
.s #menubar.db a {
	display: block;
	text-decoration: none;
	padding: 15px 5px;
	font-weight: bold;
	color: #fff;
	line-height: 1.4;
}
/*マウスオン時*/
.s #menubar.db a:hover {
	background: #4d72ad url(../images/nav_bg2.gif) repeat 0 0;
	border-left: 4px solid #a87db6;
	color: #2263cb;
}
#p_home #menubar.db li#home a,
#p_outline #menubar.db li#outline a,
#p_greeting #menubar.db li#greeting a,
#p_registration #menubar.db li#registration a,
#p_accommodation #menubar.db li#accommodation a,
#p_access #menubar.db li#access a,
#p_participant #menubar.db li#participant a {
	background: #4d72ad url(../images/nav_bg.gif) repeat 0 0;
	color: #fff;
	border-left: 4px solid #a87db6;
}

/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*開閉用のスタイル*/
#menubar_hdr.db {display: flex;}
#menubar_hdr.dn {display: none;}

/*３本バーを囲むブロック*/
#menubar_hdr {
	position: fixed;z-index: 101;
	cursor: pointer;
	left: 5px;			/*左からの配置場所指定*/
	top: 2px;			/*上からの配置場所指定*/
	padding: 16px 14px;	/*上下、左右への余白*/
	width: 46px;		/*幅（３本バーが出ている場合の幅になります）*/
	height: 46px;		/*高さ*/
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素（３本バー）を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	background: rgba(0,0,0,0.5);	/*背景色*/
	border-radius: 50%;				/*円形にする*/
}

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

/*×印が出ている状態の設定。※１本目および２本目のバーの共通設定。*/
#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;	/*２本目は使わないので非表示にする*/
}

/*スポンサーバナー（フッター）を表示にする*/
#footerbnr {display: block;}
/*スポンサーバナー（左サイド）を非表示にする*/
#menubar .bnrmenu {display: none;}


/*「最近チェックした情報」ブロック
---------------------------------------------------------------------------*/
#check {
	background: #f0f0f0;	
	padding: 2%;
}

/*h2見出し*/
#check h2 {
	text-align: center;	/*テキストをセンタリング*/
}


/*スポンサーバナー
---------------------------------------------------------------------------*/
#footerbnr {display: block;}
#footerbnr {margin: 0;}
#footerbnr ul.bnrmenu {
	background: #f0f0f0;	
	padding: 20px 0;
	text-align: center;
	margin: 0;
}
#footerbnr ul.bnrmenu li {
	margin: 20px;
	list-style-type: none;
	display: inline-block;
}


/*フッターメニュー設定
---------------------------------------------------------------------------*/
#footerinfo {
	background: #d7a1e9;
	color: #fff;
	padding: 20px 40px;
	text-align: center;
	line-height: 1.4em;
}

/*ボックス全体の設定*/
#footermenu {
	background: #333;
	color: #999;
	font-size: 0.7em;
	padding: 20px 40px;
}

/*ボックス内のリンクテキスト設定*/
#footermenu a {
	text-decoration: none;
	color: #999;
}

/*リンクテキストのマウスオン時*/
#footermenu a:hover {
	color: #ccc;
}

/*ulタグ（メニューの列単位）*/
#footermenu ul {
	display: flex;		/*flexボックスを使う指定*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	align-items: flex-start;		/*垂直揃えの指定。上に配置されるように。*/
	margin: 0;
	padding: 0 2px;
	flex: 1;
	list-style: none;
}
#footermenu ul li {
	text-align: center;
}

#footermenu .title {
	font-weight: bold;
	color: #ccc;
	padding-bottom: 5px;
}


/*フッター設定
---------------------------------------------------------------------------*/
footer small {font-size: 100%;}

footer {
	font-size: 0.6em;		/*文字サイズ*/
	background: #222;	/*背景色*/
	color: #999;			/*文字色*/
	text-align: center;		/*内容をセンタリング*/
	padding: 20px;			/*ボックス内の余白*/
}

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

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



/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*お知らせブロック*/
.scroll_bar {
	overflow-y: scroll;
	width: ;
	height: 8em;
	/* overflow: scroll; */
	overflow-y: scroll;
}
.scroll_bar::-webkit-scrollbar{
	width: 8px;
}
.scroll_bar::-webkit-scrollbar-track{
	background-color: #eee;
}
.scroll_bar::-webkit-scrollbar-thumb{
	background-color: #839dc7;
}

#new {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	padding: 0 20px;
}

/*日付(dt)、記事(dd)共通設定*/
#new dt,
#new dd {
	padding: 5px 0;		/*上下、左右へのボックス内の余白*/
}

/*日付(dt)設定*/
#new dt {
	width: 8em;	/*幅。8文字(em)分。※下の「900px以上」の端末用の設定に再設定があります。*/
}

/*日付の横のマーク（共通設定）*/
#new dt span {
	display: none;	/*小さな端末では非表示にしておく。*/
}

/*記事(dd)設定*/
#new dd {
	width: calc(100% - 8em);	/*「8em」は上の「#new dt」のwidthの値です。※下の「900px以上」の端末用の設定に再設定があります。*/
}

/*NEWアイコン*/
#new .newicon {
	display: inline-block;
	background: #ff0000;	/*背景色*/
	color: #fff;			/*文字色*/
	font-size: 0.8em;		/*文字サイズ*/
	line-height: 1;
	padding: 3px 5px;		/*上下、左右へのアイコン内の余白*/
	border-radius: 3px;		/*角を丸くする指定*/
}


/*スライドショー（slickを使用）
---------------------------------------------------------------------------*/
.mainimg {
	position: relative;
}
.mainimg img {
	border-radius: 0% 0% 40% 0% / 0% 0% 50% 0%;	/*角丸の指定。スラッシュより前半は水平方向、後半は垂直方向。それぞれ左上、右上、右下、左下の順番。*/
	overflow: hidden;
}

.home #logo {
	position: absolute;
	z-index: 1;
	width: 75%;
	left: 15%;
	top: 0px;
}

/*丸いページナビボタン全体を囲むブロック*/
ul.slick-dots {
	margin:0;padding: 0;
	line-height: 1;
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: 30px;	/*下からの配置場所指定*/
}

/*丸いページナビボタン１個あたりの設定*/
ul.slick-dots li {
	display: inline-block;
	margin: 0 10px;
	cursor: pointer;
}

/*buttonタグ*/
ul.slick-dots li button {
	border: none;padding: 0;
	display: block;
	text-indent: -9999px;	/*デフォルトで文字が出るので画面の外に追い出す指定*/
	width: 15px;			/*ボタンの幅*/
	height: 15px;			/*ボタンの高さ*/
	border-radius: 50%;		/*丸くする指定*/
	cursor: pointer;		/*クリックで画像へジャンプするので、わかりやすいようhover時にpointerになるように。*/
	background: #fff;		/*背景色。白。*/	
}

/*buttonのアクティブ時（現在表示されている画像を示すボタン）*/
ul.slick-dots li.slick-active button {
	background: #a87db6;
}


/*スライドショーの右下にある「毎日更新中」アイコン
---------------------------------------------------------------------------*/
#mainimg {position: relative;}

/*「毎日更新中」アイコン*/
.kazari {
	position: absolute;
	right: 2%;		/*mainimgブロックの右からの配置場所指定。*/
	bottom: 2%;	/*mainimgブロックの下からの配置場所指定。*/
	width: 15%;		/*画像の幅*/
	animation-name: rotate1;				/*下の@keyframesの指定*/
	animation-fill-mode: both;
	animation-duration: 4S;					/*アニメーションを実行する時間。「s」は秒の事。*/
	animation-iteration-count: infinite;	/*実行する回数。「infinite」は無限に繰り返す意味。*/
	animation-timing-function: linear;		/*アニメーションのパターン。速度を一定に変化させる指定。*/
}


/*rotate1（左右にスイング）
---------------------------------------------------------------------------*/
@keyframes rotate1 {
	0% {transform: rotate(0deg);}
	30% {transform: rotate(-7deg);}
	80% {transform: rotate(7deg);}
	100% {transform: rotate(0deg);}
}


/*listブロック
---------------------------------------------------------------------------*/
/*listブロック全体を囲むブロック*/
.list-container {
	display: flex;		/*flexボックスを使う指定*/
	flex-wrap: wrap;	/*折り返す指定*/
}

/*１個あたりのボックス設定*/
.list {
	display: flex;				/*flexボックスを使う指定*/
	flex-direction: column;		/*子要素を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	margin-bottom: 30px;	/*ボックス同士の上下間に空けるスペース*/
	padding: 10px;			/*ボックス内の余白*/
	background: #fff;		/*背景色*/
	width: 48%;				/*幅*/
	margin-right: 4%;		/*右側に空けるスペース*/
	border: 4px solid #839dc7;	/*枠線の幅、線種、色*/
	border-radius: 10px;	/*角丸のサイズ*/
	overflow: hidden;		/*飛び出る要素があれば非表示にする*/
	position: relative;		/*子要素でabsolute(絶対配置)を使うための指定*/
}

/*２の倍数のlistブロックへの追加設定*/
.list:nth-of-type(2n) {
	margin-right: 0;	/*右側の余白をなくす*/
}

/*ボックス内のfigure画像*/
.list figure {
	margin: -10px -10px 0;	/*上の.listで設定しているpadding分を相殺して画像をブロックいっぱいに出す*/
}

/*ボックス内のh4タグ*/
.list h4 {
	margin: 0.5em 0 0;
}
/*ボックス内のtextブロック*/
.list .text {
	flex: 1;
}
.list h4 {
	line-height: 1.5;
	padding-bottom: .5em;
}

/*ボックス内のpタグ*/
.list p {
	margin: 0;
	font-size: 0.8em;	/*文字サイズを80%に*/
	line-height: 1.5;	/*行間を少し狭くする*/
}



/*調理時間アイコン*/
.list .icon {
	width: 40px;		/*幅*/
	height: 40px;		/*高さ*/
	position: absolute;	/*親のrelativeに対して絶対配置させる指示*/
	right: 3px;			/*listブロックに対して右からの配置場所の指定*/
	top: 3px;			/*listブロックに対して上からの配置場所の指定*/
}
/*マウスオン時*/
.list .icon a:hover {
	opacity: 1;	/*デフォルトで半透明になるのを、しないように*/
	filter: brightness(1.2);	/*明るくする*/
}

/*NEWアイコン、UPアイコン共通*/
.list .newicon {
	font-size: 10px;	/*文字サイズ*/
	position: absolute;
	right: 0px;			/*右からの配置場所指定*/
	bottom: 0px;		/*下からの配置場所指定*/
	width: 100px;		/*幅*/
	height: 26px;		/*高さ*/
	text-align: center;	/*テキストをセンタリング*/
	transform: translate(40px) rotate(-45deg);	/*右に40px移動し、45度半時計回りに回転。*/
}
/*NEWアイコン*/
.list .newicon {
	background: #be57e5;	/*背景色*/
	color: #fff;			/*文字色*/
}
/*UPアイコン*/
.list .up {
	background: #4385ff;	/*背景色*/
	color: #fff;			/*文字色*/
}


/* dl
---------------------------------------------------------------------------*/
.dl_name, .dl_name2, .dl_name3 {
	margin: 0;
	padding: 0 20px 20px;
}
.dl_name dt, .dl_name2 dt, .dl_name3 dt {
	clear: left;
	float: left;
	font-weight: bold;
	color: #839dc7;
}
.dl_name dd {
	padding-left: 6em;
	margin-bottom: 1em;
}
.dl_name2 dd {
	padding-left: 4em;
	margin-bottom: 1em;
}
.dl_name3 dd {
	padding-left: 8em;
	margin-bottom: 1em;
}
.name_post .dl_name2 dd {
	margin-bottom: 0;
}
.dl_name dd p, .dl_name2 dd p, .dl_name3 dd p {
	margin: 0 0 1em 0 !important;
}
.dl_at {
	margin: 0 20px 30px;
}
.dl_at dt {
	clear: left;
	float: left;
}
.dl_at dd {
	padding-left: 1.5em;
}


/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	font-weight: bold;		/*太字に*/
	padding: 10px 5px;		/*上下、左右へのボックス内の余白。基本的に数行下の「.ta1 th, .ta1 td」のpaddingと揃えておけばOKです。*/
	border: 3px solid #2b5190;	/*枠線の幅、線種、色*/
	color: #2b5190;			/*文字色*/
	background: #fff;	/*背景色*/
	font-size: 1.2em;		/*文字サイズ。親要素の1.2倍。*/
	margin-bottom: 15px;	/*下に空けるスペース*/
	border-radius: 5px;		/*角を丸くする指定*/
}

/*ta1テーブルブロック設定*/
.tablebox {
	padding: 0 5px 0 5px;
}
.ta1, .ta2 {
	border-top: 1px solid #ccc;
	width: 100%;
	margin: 0 auto 30px;
}
.ta1 tr, .ta2 tr  {
	border-bottom: 1px solid #ccc;
}
.ta1 th, .ta1 td, .ta2 th, .ta2 td {
	line-height: 1.6em;
	padding: 10px 5px;		/*上下、左右へのボックス内の余白*。基本的に数行上の「.ta1 caption」のpaddingと揃えておけばOKです。*/
	word-break: break-all;	/*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
}
.ta1 th {
	text-align: left;
	background: #f7f7f7;
}
.ta1 th.yellow {
	background: #fff1e0;
}
.ta2 th {
	background: #fff1e0;
}
.ta2 th.green {
	background: #ddebff;
}
.ta2 th.gray {
	background: #f7f7f7;
}
.ta2 .hotel-divider td, .ta2  .hotel-divider th {
	border-top: 2px solid #999;
	padding-top: 14px;
}


/*こだわりアイコンのフロート指定(CMS用)*/
.ta1 td label {
	float: left;
	display: inline-block;
	margin-right: 10px;
}


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

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


/*btn
---------------------------------------------------------------------------*/
.btn a, .btn2 a {
	display: inline-block;
	text-decoration: none;
	text-align: center;	
	background: #839dc7;
	color: #fff;
	margin: 10px auto 0;
	border-radius: 5px;
	width: auto;
	padding: 10px 20px;
	font-weight: bold;
	letter-spacing: 2px;
}
.btn2 a {
	background: #a87db6;
}

/*inputタグの場合*/
input[type="submit"].btn,
input[type="button"].btn,
input[type="reset"].btn {
	-webkit-appearance: none;
	outline: none;
	padding: 5px 20px;		/*上下、左右へのボックス内の余白*/
	font-size: 130%;		/*文字サイズ*/
	border-radius: 3px;		/*角丸のサイズ*/
}

/*リスト
---------------------------------------------------------------------------*/
ul.decimal {
	list-style-type: decimal;
}



/*その他
---------------------------------------------------------------------------*/
.clear {clear: both;}
.clearfix::after {content: "";display: block;clear: both;}
.c {text-align: center !important;}
.ws {width: 95%;display: block;}
.wl {width: 90%;display: block; margin: 0 auto;}
.mb30 {margin-bottom: 30px !important;}
.look {display: inline-block;padding: 0px 10px;background: #666; color: #fff; border-radius: 3px;margin: 5px 0; word-break: break-all;}
.look .color-check {color: #ffcc00 !important;}
.small {font-size: 0.6em;}
.large {font-size: 2.5em; letter-spacing: 0.1em;}
.thumbnail {width: 70px;}


/*追加
---------------------------------------------------------------------------*/
.c {text-align: center !important;}
.r {text-align: right !important;}
.l {text-align: left !important;}
.fl {float: left;}
.fr {float: right;}

/* margin */
.mt0 {margin-top: 0 !important;}
.mt10m {margin-top: -10px !important;}

.mt10 {margin-top: 10px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mt40 {margin-top: 40px !important;}
.mt60 {margin-top: 60px !important;}

.mb0 {margin-bottom: 0 !important;}
.mb10 {margin-bottom: 10px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb60 {margin-bottom: 60px !important;}

.ml5 {margin-left: 5px !important;}

.pt0 {padding-top: 0px !important;}
.pt10 {padding-top: 10px !important;}
.pt20 {padding-top: 20px !important;}
.pt30 {padding-top: 30px !important;}
.pt40 {padding-top: 40px !important;}
.pt60 {padding-top: 60px !important;}

.pb0 {padding-bottom: 0 !important;}
.pb10 {padding-bottom: 10px !important;}
.pb20 {padding-bottom: 20px !important;}
.pb30 {padding-bottom: 30px !important;}
.pb40 {padding-bottom: 40px !important;}
.pb60 {padding-bottom: 60px !important;}

.pd_off {padding: 0 !important;}
.mg_off {margin: 0 !important;}

.pl10 {padding-left: 10px !important;}
.pl20 {padding-left: 20px !important;}
.pl40 {padding-left: 40px !important;}

.plr20 {padding-left: 20px !important; padding-right: 20px !important;}


/* text */
.bold {font-weight: bold;}
.normal {font-weight: normal;}
.line {text-decoration: underline;}
.through {text-decoration: line-through;}

.tx_small2 {font-size: 90%;}
.tx_small {font-size: 80%;}
.tx_large {font-size: 120%;}
.tx_large2 {font-size: 140%;}
.tx_large3 {font-size: 160%;}

.color-theme, .color-theme a {color: #2b5190 !important;}
.color-check, .color-check a {color: #f00 !important;}
.color0 {color: #323232 !important;}
.color1 {color: #839dc7 !important;}
.color2 {color: #a87db6 !important;}

hr {
	height: 1px;
	border: none;
	border-top: 1px #928458 solid;
}
.hover:hover {
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
}



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


/*headerブロック
---------------------------------------------------------------------------*/
/*ヘッダー内のメニュー*/
header ul {
	display: none;	/*面積が狭くなるので非表示に。サブコンテンツに同じメニューがあるのが予備です。*/
}

.home #logo {
	padding-top: 2%;
	margin: 0;
}

/*pagettl_boxブロック（詳細ページのページタイトル）
---------------------------------------------------------------------------*/
.pagettl_box h1 {
	padding: 30px 10px;
	font-size: 1.6em;
}

/*mainブロック設定
---------------------------------------------------------------------------*/
.ttl01 {
	font-size: 1.6em;
}

/* dl
---------------------------------------------------------------------------*/
.dl_name, .dl_name2, .dl_name3 {
	padding: 0 5px 5px;
}
.dl_name dt, .dl_name2 dt, .dl_name3 dt {
	float: none;
}

.dl_name dd, .dl_name2 dd, .dl_name3 dd {
	padding-left: 0;
}

/*フッターメニュー設定
---------------------------------------------------------------------------*/
#footermenu ul {
	display: block;
}

/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/
}





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


/*全体の設定
---------------------------------------------------------------------------*/
html, body {
	font-size: 16px;	/*基準となるフォントサイズの上書き*/
}


/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*ハンバーガーメニューを非表示にする*/
#menubar_hdr {display: none;}

/*スポンサーバナー（フッター）を非表示にする*/
#footerbnr {display: none;}
/*スポンサーバナー（左サイド）を表示にする*/
#menubar .bnrmenu {display: block;}

/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロックの設定*/
main {	
	width: calc(100% - 230px);	/*ブロックの幅。230pxというのは、下で設定している#menubarの幅に30px分の余白を足した数字です。*/
	order: 2;	/*mainと#menubarの左右の配置指定。数字が小さい方が先(左)にきます。*/
}

/*１カラム使用時*/
.c1 main {
	width: 100%;
}

.home #logo {
	width: 50%;
	left: 7%;
}

/*サブブロック設定
---------------------------------------------------------------------------*/
/*ブロック全体*/
#menubar {
	width: 200px;	/*ブロックの幅*/
	order: 1;		/*mainと#menubarの左右の配置指定。数字が小さい方が先(左)にきます。*/
	text-align: center;	/*テキストをセンタリング*/
}

/*１カラム使用時*/
.c1 #menubar {
	display: none;
}

#menubar ul.mainmenu {list-style: none;margin: 0;padding: 0;}
#menubar ul.mainmenu a {
	display: block;
	text-decoration: none;
	text-align: left;
	font-weight: bold;
	padding: 14px 5px;
	letter-spacing: .2em;
}
#menubar ul.mainmenu li a:hover {
	opacity: 1;
	background: #4d72ad url(../images/nav_bg2.gif) repeat 0 0;
	border-left: 4px solid #a87db6;
}
#p_home #menubar ul.mainmenu li#home a,
#p_outline #menubar ul.mainmenu li#outline a,
#p_greeting #menubar ul.mainmenu li#greeting a,
#p_registration #menubar ul.mainmenu li#registration a,
#p_accommodation #menubar ul.mainmenu li#accommodation a,
#p_access #menubar ul.mainmenu li#access a,
#p_participant #menubar ul.mainmenu li#participant a {
	opacity: 1;
	background: #4d72ad url(../images/nav_bg.gif) repeat 0 0;
	color: #fff;
	border-left: 4px solid #a87db6;
}


/*メニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/
ul.submenu {
	padding: 50px 0 !important;
}

/*メニュー１個あたりの設定*/
ul.submenu li a {
	display: block;
	border-radius: 30px;
}

/*マウスオンj時の背景色*/
ul.submenu:not(.btn) li a:hover {
	background: #f0f0f0;
}


/*スポンサーバナー
---------------------------------------------------------------------------*/
#menubar ul.bnrmenu {
	display: block;
	border-top: 3px solid #d8d8d8;
	padding-top: 50px !important;
}
#menubar ul.bnrmenu li {
	margin: 0 0 15px 0;
}
#menubar ul.bnrmenu li a {
	display: block;
}




/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*日付(dt)設定*/
#new dt {
	width: 14em;
	display: flex;
	justify-content: space-between;	/*日付とアイコンをそれぞれ端に寄せる*/
}

/*日付の横のマーク（共通設定）*/
#new dt span {
	display: inline-block;
	width: 7.5em;
	background: #b5b5b5;
	color: #fff;
	font-size: 0.8em;
	text-align: center;
	margin-right: 1em;
	align-self: flex-start;
	line-height: 1.8;
	position: relative;top: 0.4em;
	border-radius: 30px;
}

#new dt span.icon-bg1 {
	background: #2263cb;
}

#new dt span.icon-bg2 {
	background: #be57e5;
}

/*記事(dd)設定*/
#new dd {
	width: calc(100% - 14em);	/*「14em」は上の「#new dt」のwidthの値です。*/
}


/*listブロック
---------------------------------------------------------------------------*/
/*１個あたりのボックス設定*/
.list {
	width: 32%;
	margin-right: 1.33%;	/*右側に空けるスペース*/
}

/*２の倍数のlistブロックへの追加設定。小さな端末用で0と指定しているので、改めて大きな端末用のマージンを指定。*/
.list:nth-of-type(2n) {
	margin-right: 1.33%;
}

/*４の倍数のlistブロックへの追加設定*/
.list:nth-of-type(4n) {
	margin-right: 0;	/*右側の余白をなくす*/
}


/*テーブル
---------------------------------------------------------------------------*/
.tablebox {
	padding: 0 20px 0 20px;
}
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	padding: 5px 15px;		/*上下、左右へのボックス内の余白*/
}

/*th（左側）、td（右側）の共通設定*/
.ta1 th, .ta1 td {
	padding: 20px 15px;		/*上下、左右へのボックス内の余白*/
}

/*th（左側）のみの設定*/
.ta1 th {
	width: 20%;		/*幅*/
}


/*その他
---------------------------------------------------------------------------*/
.ws {width: 48%;display: inline;}
.wl {width: 50%;}
.sh {display: none;}


/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}





/*---------------------------------------------------------------------------
ここから下は画面幅1200px以上の追加指定
---------------------------------------------------------------------------*/
@media screen and (min-width:1200px) {


/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロックの設定*/
main {	
	width: calc(100% - 350px);
}


/*subブロック設定
---------------------------------------------------------------------------*/
#menubar ul {margin: 0;display: block;}
/*メニューブロック全体*/
#menubar {
	width: 300px;
}
.home #logo {
	left: 10%;
	padding-top: 7%;
}

/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}
