@charset "utf-8";


/*PC・タブレット・スマホ(全端末)共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;
	padding: 0px;
	-webkit-text-size-adjust: none;
	color: #666;
	/*全体の文字色*/
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/*フォント種類*/
	font-size: 16px;
	/*文字サイズ*/
	line-height: 2;
	/*行間*/
	background: #fff;
	/*背景色*/
}

h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
li,
dl,
dt,
dd,
form,
figure,
form,
select,
input,
textarea {
	margin: 0px;
	padding: 0px;
	font-size: 100%;
	font-weight: normal;
}

ul {
	list-style-type: none;
}

ol {
	padding-left: 40px;
	padding-bottom: 15px;
}

img {
	border: none;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

table {
	border-collapse: collapse;
	font-size: 100%;
	border-spacing: 0;
}

iframe {
	width: 100%;
}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #0047cc;
	/*リンクテキストの色*/
	transition: 0.3s;
	margin: 0;
	padding: 0;
	vertical-align: middle;
	/*マウスオン時の移り変わるまでの時間設定。0.3秒。*/
}

a:hover {
	color: #224acf;
	/*マウスオン時の文字色*/
}


/*========= LoadingのためのCSS ===============*/

/* Loading背景画面設定　*/

#splash {
	/*fixedで全面に固定*/
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100%;
	background: #333;
	text-align: center;
	color: #fff;
}

/* Loadingバー中央配置　*/
#splash_text {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 999;
	width: 100%;
	transform: translate(-50%, -50%);
	color: #fff;
}

/*IE11対策用バーの線の高さ※対応しなければ削除してください*/
#splash_text svg {
	height: 2px;
}

/*コンテナー（ホームページを囲む一番外側のブロック）
---------------------------------------------------------------------------*/
#container {
	max-width: 1400px;
	/*ブロックの最大幅*/
	margin: 0 auto;
	padding: 0 3%;
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*headerブロック*/
header {
	text-align: center;
	/*内容を中央よせ*/
}

/*ロゴ画像設定*/
#logo img {
	width: 400px;
	/*画像幅*/
	margin: 40px auto 40px;
	/*ロゴの上と下に40pxスペースを空ける設定*/
}

/*トップページのメイン画像
---------------------------------------------------------------------------*/
/*画像ブロック*/
#mainimg img {
	border-radius: 10px;
	/*角を丸くする指定。この１行を削除すれば角丸がなくなります。*/
	margin-bottom: 40px;
	/*下に空けるスペース*/
}

/*メニュー
---------------------------------------------------------------------------*/
/*メニュー全体を囲むブロック*/
#menubar {
	text-align: center;
	/*文字をセンタリング*/
	font-size: 18px;
	/*文字サイズ*/
	margin-bottom: 40px;
	/*下に空けるスペース*/
}

/*メニュー１個あたりの設定*/
#menubar li {
	display: inline;
	/*横並びにする設定*/
}

#menubar li a {
	text-decoration: none;
	padding: 15px 30px;
	/*各メニュー内の余白。上下に15px、左右に30pxあけるという意味。*/
}

/*マウスオン時の設定*/
#menubar li a:hover {
	color: #224acf;
	/*文字色*/
	border-bottom: 4px solid #224acf;
	/*下線の幅、線種、色*/
}

/*コンテンツ（見出しバーや文字などが入っているブロック）
---------------------------------------------------------------------------*/
/*コンテンツのh1タグの設定*/
#contents h1 {
	font-size: 200%;
	font-weight: bold;
	color: #464646;
	background: linear-gradient(transparent 70%, #224acf 70%);
}

/*コンテンツのh2タグの設定*/
#contents h2 {
	font-size: 150%;
	padding: 8px 20px;
	font-weight: bold;
	color: #464646;
	background: linear-gradient(transparent 70%, #00bfff 70%);
}

/*コンテンツのh3タグの設定*/
#contents h3 {
	clear: both;
	margin-bottom: 20px;
	padding: 8px 20px;
	/*上下、左右への余白*/
	background: #fff;
	/*背景色*/
	border: 1px solid #ccc;
	/*枠線の幅、線種、色*/
	border-radius: 10px;
	/*角を丸くする指定。この１行を削除すれば角丸がなくなります。*/
}

/*コンテンツのp(段落)タグ設定*/
#contents p {
	padding: 20px 20px 0px;
	/*上、左右、下への余白*/
}

/*他。微調整。*/
#contents p+p {
	margin-top: -5px;
}

#contents h2+p,
#contents h3+p {
	margin-top: -10px;
}

#contents section+section {
	margin-top: 30px;
}

/*Galleryページ
---------------------------------------------------------------------------*/
/*各ブロックごとの設定*/
.list {
	overflow: hidden;
	border-bottom: 1px solid #ccc;
	/*下線の幅、線種、色*/
	padding: 20px;
	/*ボックス内の余白*/
}

/*h4見出しの設定*/
.list h4 {
	color: #224acf;
	/*文字色*/
}

/*画像の設定*/
.list img {
	width: 20%;
	/*画像幅*/
	float: left;
	/*画像を左に回り込み*/
	margin-right: 3%
		/*画像の右側に空けるスペース*/
}

/*段落タグ*/
.list p {
	padding: 0 !important;
}

/*フッター(ページ最下部のcopyrightのパーツ)設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	text-align: center;
	/*文字をセンタリング*/
	padding: 30px 0px 10px;
	/*上、左右、下へのボックス内の余白*/
}

footer a {
	text-decoration: none;
	border: none;
}

footer .pr {
	display: block;
}

/*トップページ内「ようこそ」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#about dl {
	padding: 0px 20px;
	/*上下、左右へのブロック内の余白*/
	margin-bottom: 20px;
	/*ブロックの下(外側)に空ける余白*/
}

/*日付設定*/
#about dt {
	font-weight: bold;
	/*太字にする設定。標準がいいならこの行削除。*/
	float: left;
	width: 8em;
	padding: 8px 20px;
	/*上下、左右への余白*/
}

/*記事設定*/
#about dd {
	padding: 8px 20px;
	/*上下、左右への余白*/
}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#news dl {
	padding: 0px 20px;
	/*上下、左右へのブロック内の余白*/
	margin-bottom: 20px;
	/*ブロックの下(外側)に空ける余白*/
}

/*日付設定*/
#news dt {
	font-weight: bold;
	/*太字にする設定。標準がいいならこの行削除。*/
	float: left;
	width: 8em;
}

/*記事設定*/
#news dd {
	padding-left: 8em;
}

/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	border: 1px solid #999;
	/*テーブルの枠線の幅、線種、色*/
	border-bottom: none;
	/*下線だけ消す*/
	text-align: left;
	/*文字を左寄せ*/
	background: #eee;
	/*背景色*/
	font-weight: bold;
	/*太字に*/
	padding: 10px;
	/*ボックス内の余白*/
}

/*テーブル１行目に入った見出し部分（※tamidashi）*/
.ta1 th.tamidashi {
	width: auto;
	text-align: left;
	/*左よせ*/
	background: #eee;
	/*背景色*/
}

/*ta1テーブルブロック設定*/
.ta1 {
	table-layout: fixed;
	width: 100%;
	margin: 0 auto 20px;
}

.ta1,
.ta1 td,
.ta1 th {
	word-break: break-all;
	border: 1px solid #999;
	/*テーブルの枠線の幅、線種、色*/
	padding: 10px;
	/*テーブル内の余白*/
}

/*テーブルの左側ボックス*/
.ta1 th {
	text-align: center;
	/*センタリング*/
	width: 30%;
	/*幅*/
}

/*トップページのNEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	background: #F00;
	/*背景色*/
	color: #FFF;
	/*文字色*/
	font-size: 70%;
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

/*その他
---------------------------------------------------------------------------*/
.look {
	background: #e5e5e5;
	padding: 5px 10px;
	border-radius: 4px;
}

.mb15,
.mb1em {
	margin-bottom: 15px;
}

.color1 {
	color: #224acf;
}

.pr {
	font-size: 12px;
}

.wl {
	width: 96%;
}

.ws {
	width: 50%;
}

.c {
	text-align: center;
}

.r {
	text-align: right;
}

.l {
	text-align: left;
}



/*画面幅580px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:580px) {

	/*全体の設定
---------------------------------------------------------------------------*/
	body {
		font-size: 12px;
		/*文字サイズ*/
		line-height: 1.5;
		/*行間*/
	}

	/*メニュー
---------------------------------------------------------------------------*/
	/*メニュー１個あたりの設定*/
	#menubar li {
		display: block;
		/*縦並びにする設定*/
		margin-bottom: 10px;
	}

	#menubar li a {
		text-decoration: none;
		padding: 8px 30px;
		/*各メニュー内の余白。*/
	}

	/*Galleryページ
---------------------------------------------------------------------------*/
	/*各ブロックごとの設定*/
	.list {
		padding: 10px;
		/*ボックス内の余白*/
	}

	/*その他
---------------------------------------------------------------------------*/
	.ws,
	.wl {
		width: 94%;
	}

}

@charset "utf-8";

/*==================================================
スライダーのためのcss
===================================*/
.slider {
	/*横幅94%で左右に余白を持たせて中央寄せ*/
	width: 94%;
	margin: 0 auto;
}

.slider img {
	width: 60vw;
	/*スライダー内の画像を60vwにしてレスポンシブ化*/
	height: auto;
}

.slider .slick-slide {
	transform: scale(0.8);
	/*左右の画像のサイズを80%に*/
	transition: all .5s;
	/*拡大や透過のアニメーションを0.5秒で行う*/
	opacity: 0.5;
	/*透過50%*/
}

.slider .slick-slide.slick-center {
	transform: scale(1);
	/*中央の画像のサイズだけ等倍に*/
	opacity: 1;
	/*透過なし*/
}


/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev,
.slick-next {
	position: absolute;
	/*絶対配置にする*/
	top: 42%;
	cursor: pointer;
	/*マウスカーソルを指マークに*/
	outline: none;
	/*クリックをしたら出てくる枠線を消す*/
	border-top: 2px solid #666;
	/*矢印の色*/
	border-right: 2px solid #666;
	/*矢印の色*/
	height: 15px;
	width: 15px;
}

.slick-prev {
	/*戻る矢印の位置と形状*/
	left: -1.5%;
	transform: rotate(-135deg);
}

.slick-next {
	/*次へ矢印の位置と形状*/
	right: -1.5%;
	transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.slick-dots {
	text-align: center;
	margin: 20px 0 0 0;
}

.slick-dots li {
	display: inline-block;
	margin: 0 5px;
}

.slick-dots button {
	color: transparent;
	outline: none;
	width: 8px;
	/*ドットボタンのサイズ*/
	height: 8px;
	/*ドットボタンのサイズ*/
	display: block;
	border-radius: 50%;
	background: #ccc;
	/*ドットボタンの色*/
}

.slick-dots .slick-active button {
	background: #333;
	/*ドットボタンの現在地表示の色*/
}


/*========= レイアウトのためのCSS ===============*/

body {
	background: #eee;
}

ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

a {
	color: #333;
}

a:hover,
a:active {
	text-decoration: none;
}

.center {
	text-align: center;
}

.marquee-right {
	overflow: hidden;
}

.marquee-right ul {
	animation: marquee-right 20s linear infinite;
	animation-play-state: running;
	display: flex;
	margin: 0;
	padding: 0;
	width: max-content;
}

/* ★ 押している間（active）の停止効果 */
.marquee-right:active ul {
	animation-play-state: paused;
}

.marquee-right ul li {
	list-style: none;
	padding: 0 5px;
	width: calc(100vw / 3 - 10px);
}

.marquee-right img {
	display: block;
	width: 100%;
	cursor: pointer;
}

@keyframes marquee-right {
	from {
		transform: translateX(0%);
	}

	to {
		transform: translateX(-50%);
	}
}

/*Youtube*/
.youtube-responsive {
	position: relative;
	width: 100%;
	max-width: 1000px;
	/* 必要に応じて最大幅を設定 */
	aspect-ratio: 16 / 9;
	margin: 0 auto;
}

.youtube-responsive iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}