@charset "utf-8";



/*PC・タブレット・スマホ共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;padding: 0px;
	color: #666;	/*全体の文字色*/
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-size: 15px;	/*文字サイズ*/
	line-height: 2;		/*行間*/
	-webkit-text-size-adjust: none;
	background: #f0f0f0;	/*背景色（古いブラウザ用）*/
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 100%;}
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: #666;	/*リンクテキストの色*/
	-webkit-transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
	transition: 0.5s;			/*同上*/
}
a:hover {
	color: #0000ff;				/*マウスオン時の文字色*/
	text-decoration: none;		/*マウスオン時にリンクの下線を消す設定*/
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
header {
	background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
}
header .inner {
	height: 110px;
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	padding-left: 3%;
}
/*ロゴ画像*/
#logo img {
	width: 50px;
	height: 50px;
	object-fit: contain;
}
/*サイトタイトル*/
#site-title {
	margin-left: 20px;
	color: #fff;
}
#site-title h1 {
	font-size: 24px;
	margin: 0;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.3;
}
#site-title .subtitle {
	font-size: 12px;
	opacity: 0.9;
	line-height: 1.5;
}
/*ヘッダー右側のアイコン類*/
#h-nav {
	position: absolute;
	right: 3%;	/*右から3%の場所に配置*/
	top: 34px;	/*上から34pxの場所に配置*/
}
/*ヘッダー右側のアイコン類（１個あたり）*/
#h-nav li {
	float: left;
	margin-left: 20px;	/*アイコン間の余白*/
}
/*ヘッダー右側のアイコン類（画像）*/
#h-nav li img {
	display: block;
	width: 30px;	/*幅*/
	height: 30px;	/*高さ*/
	background: #fff;	/*背景色*/
	border-radius: 4px;	/*角丸のサイズ。50%にすると正円になる。*/
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロックの設定*/
#menubar {
	background: #1e40af;
	overflow: hidden;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
#menubar ul {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
}
/*メニュー１個あたりの設定*/
#menubar li {
	float: left;
	margin-left: 3%;
	overflow: hidden;
	letter-spacing: 0.2em;
}
#menubar li a {
	text-decoration: none;
	display: block;
	color: #fff;	/*文字色*/
	line-height: 46px;	/*高さ。ここを変える場合、fixmenu.cssの「body.is-fixed header」のサイズも変える。*/
	padding-top: 4px;	/*上にあける余白。下の「border-bottom」のサイズと合わせる。*/
	padding-left: 0.2em;	/*上のletter-spacingの数字と揃える*/
}
/*下線のアニメーション設定*/
#menubar li::after {
	-webkit-transition: 0.5s;transition: 0.5s;	/*0.5秒かけてアニメーションを実行する。*/
	content: "";
	display: block;
	border-bottom: 4px solid #6495ed;	/*下線の幅、線種、色*/
	position: relative;left: 0px;bottom: -4px;	/*bottomのサイズは上のborder-bottomの数字と合わせる。マイナス記号は残したまま。*/
}
#menubar li:hover::after,#menubar li.current::after {
	bottom: 0px;
}
/*小さい端末用(画面幅800px以下)メニューを表示させない*/
#menubar-s {
	display: none;
}
/*３本バーアイコンを表示させない*/
#menubar_hdr {
	display: none;
}

/*コンテンツ
---------------------------------------------------------------------------*/
#contents {
	clear: both;
	margin: 3%;	/*ボックスの外側にとる余白*/
}

/*メインコンテンツ
---------------------------------------------------------------------------*/
/*メインコンテンツブロック*/
#main {
	float: right;	/*右に回り込み*/
	width: 72%;		/*ボックス幅*/
}
/*メインコンテンツブロック（１カラム時）*/
.c1 #main {
	float: none;
	width: 100%;
}
/*メインコンテンツのh2タグ*/
#main h2 {
	clear: both;
	margin-bottom: 20px;
	padding: 12px 20px;
	background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
	color: #fff;
	border-radius: 4px;
	font-size: 18px;
}
#main h2 i {
	margin-right: 10px;
}
/*メインコンテンツのh3タグ*/
#main h3 {
	clear: both;
	margin-bottom: 20px;
	padding: 10px 20px;
	border-left: 4px solid #3b82f6;
	background: #f8fafc;
	font-size: 16px;
	color: #1e40af;
}
#main h3 i {
	margin-right: 8px;
	color: #3b82f6;
}
/*メインコンテンツの段落タグ*/
#main p {
	padding: 0px 20px 20px;	/*上、左右、下への余白*/
}
#main h2 + p,
#main h3 + p {
	margin-top: -10px;
}

/*SERVICEページ
---------------------------------------------------------------------------*/
/*各ボックスの設定（共通）*/
.list {
	background: #fff;	/*背景色*/
	position: relative;
	overflow: hidden;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.2);	/*影の設定。右へ、下へ、広げる幅、0,0,0は黒で0.2は透明度20%の事。*/
	margin-bottom: 20px;
}
.list a {
	text-decoration: none;
	display: block;
	overflow: hidden;
}
/*画像の設定*/
.list img.img {
	float: left;
	width: 25%;	/*画像の幅。ここを変更する場合は、下の.list .textのmargin-leftの数字も調整する。*/
}
/*右側のテキスト欄*/
.list .text {
	padding: 2% 60px 2% 2%;	/*上、右、下、左への余白*/
	margin-left: 27%;		/*左の画像とのバランスをとって設定*/
}
/*h4見出しタグの設定*/
.list h4 {
	color: #00008b;	/*文字色*/
}
/*pタグの設定*/
.list p {
	padding: 0 !important;
}
/*３カラムタイプのボックス設定*/
.list.c3 {
	width: 31%;	/*ボックスの幅*/
	margin: 0 1% 20px;	/*上、左右、下へのボックスの外側にとる余白*/
	float: left;
	height: 300px;	/*高さ。下の「.list.c3 a」のheightと合わせる。*/
	text-align: center;	/*文字をセンタリング*/
}
.list.c3 a {
	height: 300px;
}
/*３カラムタイプの画像設定*/
.list.c3 img.img {
	float: none;
	width: 100%;
}
.list.c3 .text {
	padding: 0;
	margin-left: 0;
}
/*ボックスにリンク指定がされた場合に出る「→」マーク*/
.list a::before {
	content: "→";	/*この文字を出す。他の文字に変えても可だが機種依存文字は化けるので使わない。*/
	position: absolute;
	right: 20px;	/*ボックスの右から20pxの場所に配置*/
	top: 20px;		/*ボックスの上から20pxの場所に配置*/
	background: #000;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.5);	/*rgb指定での背景色。「0,0,0」は黒の事で「0.5」が透明度50%の事。*/
	color: #fff;	/*文字色*/
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
	border-radius: 4px;		/*角丸のサイズ*/
	width: 30px;		/*幅*/
	line-height: 30px;	/*高さ*/
	text-align: center;
	-webkit-transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
	transition: 0.5s;			/*同上*/
}
/*マウスオン時の「→」マーク*/
.list a:hover::before {
	background: #000;	/*背景色*/
	width: 40px;		/*幅*/
	line-height: 40px;	/*高さ*/
}
/*１カラムでページを表示時の３カラムボックスの高さ*/
.c1 .list.c3,
.c1 .list.c3 a {
	height: 400px;
}

/*一覧ページの各物件ボックス内のテーブル（CMS用）
---------------------------------------------------------------------------*/
.list table {
	font-size: 10px;	/*文字サイズ*/
	width: 100%;
}
.list table,
.list table td,
.list table th {
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
}
.list table td,
.list table th {
	padding: 1%;	/*テーブル内の余白*/
}
/*色のついた見出しブロック*/
.list table th {
	width: 18%;		/*幅*/
	background: #f5f5f5;	/*背景色*/
	text-align: center;		/*文字をセンタリング*/
	font-weight: normal;	/*デフォルトの太字を標準にする設定*/
}
/*白い説明用ブロック*/
.list table td {
	width: 30%;	/*幅*/
}

/*サブコンテンツ
---------------------------------------------------------------------------*/
/*メインコンテンツブロック*/
#sub {
	float: left;	/*左に回り込み*/
	width: 24%;		/*幅*/
	background: #fff;	/*背景色*/
}
/*メインコンテンツブロック（１カラム時）*/
.c1 #sub {
	display: none;	/*非表示にする設定*/
}
/*subコンテンツ内のh2タグ設定*/
#sub h2 {
	padding: 40px 15px;	/*上下左右へのボックス内の余白*/
	font-weight: normal;	/*hタグのデフォルトの太字を標準にする設定*/
	letter-spacing: 0.2em;	/*文字間隔を少し広くとる設定*/
	font-size: 28px;		/*文字サイズ*/
	line-height: 1.5;	/*行間*/
	color: #000;		/*文字色*/
	background: #fff;	/*背景色（サンプルテンプレートでは以下のキーボードやグリーンの背景画像とともに設定しているので注意）*/
	border-top: 1px solid #ccc;	/*上の線の幅、線種、色*/
	border-bottom: 1px solid #ccc;	/*下の線の幅、線種、色*/
}
/*navの直後にnavとh2が続いた場合と、navタグの直後にh2が続いた場合に、h2の上のラインを消す設定*/
#sub nav + nav h2,
#sub nav + h2 {
	border-top: none;
}
/*subコンテンツ内のh2タグ内のspanタグ設定*/
#sub h2 span {
	display: block;
	font-size: 13px;	/*文字サイズ*/
	letter-spacing: normal;	/*文字間隔を標準に戻す設定*/
}
/*bg1背景（キーボード）*/
#sub h2.bg1 {
	background: #fff url(../images/bg1.png) no-repeat right center;	/*背景色、背景画像読み込み、rightは右寄せ、center上下の中央という意味*/
}
/*bg2背景（グリーン）*/
#sub h2.bg2 {
	background: #fff url(../images/bg2.png) no-repeat right center;	/*背景色、背景画像読み込み、rightは右寄せ、center上下の中央という意味*/
}
/*subコンテンツ内のpタグ設定*/
#sub p {
	padding: 15px;
}

/*サブコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー全体の設定*/
#sub ul.submenu {
	border-top: 1px solid #ccc;	/*上の線の幅、線種、色*/
}
/*h2タグの直後にsubmenuが入った場合にsubmenuの上のラインを消す設定*/
#sub h2 + ul.submenu {
	border-top: none;
}
/*メニュー１個ごとの設定*/
#sub ul.submenu li a {
	text-decoration: none;
	display: block;
	padding: 15px;	/*メニュー内の余白*/
	border-bottom: 1px solid #ccc;	/*下の線の幅、線種、色*/
}
/*マウスオン時*/
#sub ul.submenu li a:hover {
	background: #999;	/*背景色*/
	color: #fff;	/*文字色*/
}
/*「>」マーク*/
#sub ul.submenu li a::before {
	display: block;
	float: right;	/*右側に配置*/
	content: ">";	/*このテキストを表示させる。変更してもOKですが機種依存文字は使わないように。*/
	color: #999;	/*文字色*/
}
/*マウスオン時の「>」マーク*/
#sub ul.submenu li a:hover::before {
	color: #fff;	/*文字色*/
}

/*PAGE TOP設定
---------------------------------------------------------------------------*/
#pagetop {
	clear: both;
}
#pagetop a {
	text-decoration: none;
	text-align: center;
	display: block;
	float: right;
	margin-right: 3%;
	color: #FFF;		/*文字色*/
	font-size: 20px;	/*文字サイズ*/
	padding: 0px 30px;	/*上下、左右へのボックス内余白*/
	background: #4169e1;	/*背景色*/
	border-radius: 4px 4px 0px 0px;	/*角丸のサイズ。左上、右上、右下、左下。*/
}
/*マウスオン時*/
#pagetop a:hover {
	background: #999;	/*背景色*/
	color: #FFF;			/*文字色*/
}

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);
	color: #fff;
	text-align: center;
	padding: 30px 20px;
}
footer .footer-content {
	max-width: 1200px;
	margin: 0 auto;
}
footer .footer-info {
	margin-bottom: 15px;
}
footer .footer-info p {
	margin: 5px 0;
}
footer .footer-links {
	margin: 15px 0;
}
footer .footer-links a {
	color: #fff;
	text-decoration: none;
	margin: 0 10px;
}
footer .footer-links a:hover {
	text-decoration: underline;
}
footer a {
	color: #fff;
	text-decoration: none;
}
footer a:hover {
	color: #93c5fd;
}
footer .copyright {
	font-size: 12px;
	margin-top: 15px;
	opacity: 0.8;
}
footer .pr {
	display: block;
	font-size: 80%;
}
/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#new dl {
	padding-left: 15px;
	margin-bottom: 15px;
	height: 120px;	/*高さ*/
	overflow: auto;	/*高さの設定を超えるとスクロールが自動で出る設定。全部表示させていたいならこの行と上の行を削除。*/
}
/*日付設定*/
#new dt {
	font-weight: bold;	/*太字にする設定。標準がいいならこの行削除。*/
	float: left;
	width: 8em;
}
/*記事設定*/
#new dd {
	padding-left: 8em;
}

/*よく頂く質問ページ
---------------------------------------------------------------------------*/
/*ブロック全体*/
.faq {
	padding: 0px 15px;	/*上下、左右への余白*/
}
/*質問の設定*/
.faq dt {
	color: #00008b;	/*文字色*/
	font-weight: bold;	/*太字*/
	padding-top: 15px;
}
.faq dt a {
	color: #00008b;	
}
/*回答の設定*/
.faq dd {
	border-bottom: 1px solid #CCC;	/*下線の幅、線種、色*/
	overflow: hidden;
	padding-bottom: 15px;
}

/*一覧ページのボックス右下のオプションマーク
（CMSの場合は管理ページの「オプション1」～のプルダウンと、setup.phpの「オプション選択肢」に関連します）
---------------------------------------------------------------------------*/
.option1 {
	font-size: 10px;
	color: #FFF;
	background: #F00;
	text-align: center;
	display: block;
	width: 120px;
	position: absolute;
	left: 0px;
	top: 0px;
	-webkit-transform: rotate(-45deg) translate(-35px);
	transform: rotate(-45deg) translate(-35px);
}
h2 span.option1 {
	width: auto;
	padding: 0px 5px;
	position: static;
	-webkit-transform: none;
	transform: none;
	display: inline-block;
}
.option2 {
	font-size: 10px;
	color: #FFF;
	background: #069;
	text-align: center;
	display: block;
	width: 120px;
	position: absolute;
	left: 0px;
	top: 0px;
	-webkit-transform: rotate(-45deg) translate(-35px);
	transform: rotate(-45deg) translate(-35px);
}
h2 span.option2 {
	width: auto;
	padding: 0px 5px;
	position: static;
	-webkit-transform: none;
	transform: none;
	display: inline-block;
}

/*テーブル ta1
---------------------------------------------------------------------------*/
/*ta1設定*/
.ta1 {
	width: 96%;
	margin: 0 2% 20px;
	background: #fff;	/*背景色*/
}
.ta1, .ta1 td, .ta1 th {
	border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px;	/*ボックス内の余白*/
	word-break: break-all;
}
/*テーブル１行目に入った見出し部分*/
.ta1 th.tamidashi {
	width: auto;
	text-align: left;		/*左よせ*/
	background: #eee;	/*背景色*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 140px;	/*幅*/
	text-align: center;	/*センタリング*/
}
/*左側ボックスに画像を入れた場合の設定*/
.ta1 th img {
	width: 100%;
}

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

/*その他
---------------------------------------------------------------------------*/
.look {color:#fff;background: #666;padding:5px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px;}
.clear {clear: both;}
ul.disc {padding: 0em 25px 1em;list-style: disc;}
.color1 {color: #0000cd;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center;}
.r {text-align: right;}
.l {text-align: left;}
.fr {float: right;margin-left: 1%;margin-bottom: 15px;width: 45%;}
.fl {float: left;margin-right: 1%;margin-bottom: 15px;width: 45%;}
.big1 {font-size: 30px;letter-spacing: 0.2em;}
.mini1 {font-size: 11px;}
.sh {display: none;}
.dn {display: none;}



/*画面幅1200px以上の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width:1200px){

/*SERVICEページ
---------------------------------------------------------------------------*/
/*３カラムタイプのボックスの高さ*/
.list.c3,
.list.c3 a {
	height: 380px;
}
/*１カラムでページを表示時の３カラムボックスの幅*/
.c1 .list.c3 {
	width: 23%;
}

}



/*画面幅1600px以上の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width:1600px){

/*SERVICEページ
---------------------------------------------------------------------------*/
/*３カラムタイプのボックスの高さ*/
.list.c3,
.list.c3 a {
	height: 450px;
}
/*１カラムでページを表示時の３カラムボックスの幅*/
.c1 .list.c3 {
	width: 18%;
}
/*共通*/
.list.c3,
.c1 .list.c3 {
	max-width: 400px;	/*この幅以上には広がらないようにする*/
}

}



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

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダー右側のアイコン類*/
#h-nav {
	right: 20%;	/*右から20%の場所に配置*/
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロックの設定*/
#menubar-s {
	display: block;	/*小さい端末用(画面幅800px以下)メニューを非表示から表示に切り替える*/
	background: #0000cd;
	overflow: hidden;
}
/*メニュー１個あたりの設定*/
#menubar-s li {
	float: left;
	width: 50%;		/*幅*/
}
#menubar-s li a {
	text-decoration: none;
	display: block;
	text-align: center;
	line-height: 50px;		/*行間（高さ）*/
	color: #fff;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
}
#menubar-s li:nth-child(even) a {
	border-right: none;
}
/*大きな端末用(画面幅801px以上)メニューを非表示にする*/
#menubar {
	display: none;
}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	z-index: 4;
	position: absolute;
	top: 25px;		/*上から25pxの場所に配置*/
	right: 3%;		/*右から3%の場所に配置*/
	width: 30px;	/*幅*/
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
	padding: 12px 10px 5px;	/*上、左右、下へのボックス内余白*/
}
#top #menubar_hdr {
	border: 1px solid #fff;	/*トップページでの枠線の幅、線種、色*/
}
/*３本のバー（1本あたり）*/
#menubar_hdr span {
	display: block;
	border-top: 3px solid #fff;	/*枠線の幅、線種、色*/
	margin-bottom: 7px;			/*バー同士の余白*/
}
#top #menubar_hdr span {
	border-top: 3px solid #fff;	/*トップページでの枠線の幅、線種、色*/
}

/*main,subコンテンツ
---------------------------------------------------------------------------*/
#main, #sub {
	float: none;
	width: auto;
}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
section#new h2.open {
	background: #0000cd url(../images/btn_minus.png) no-repeat right center/34px 34px;
}
section#new h2.close {
	background: #0000cd url(../images/btn_plus.png) no-repeat right center/34px 34px;
}

/*その他
---------------------------------------------------------------------------*/
body.s-n #sub {display: none;}

}



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

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ロゴ画像*/
#logo img {
	width: 70px;	/*画像幅*/
	height: 70px;
}

}



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

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ロゴ画像*/
#logo img {
	width: 60px;
	height: 60px;
}
/*ヘッダー右側のアイコン類*/
#h-nav {
	left: 0px;	/*左から0pxの場所に配置*/
	top: 55px;	/*上から55pxの場所に配置*/
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*メニュー１個あたりの設定*/
#menubar-s li {
	float: none;
	width: 100%;
}
#menubar-s li a {
	border-right: none;
}

/*SERVICEページ
---------------------------------------------------------------------------*/
/*画像の設定*/
.list img.img {
	float: none;
	width: 100%;
}
/*右側のテキスト欄*/
.list .text {
	padding: 2%;
	margin-left: 0;
}
/*３カラムタイプのボックス設定*/
.list.c3 {
	width: auto;
	margin: 0 0 20px;
	float: none;
	height: auto;
}
.list.c3 a {
	height: auto;
}

/*テーブル
---------------------------------------------------------------------------*/
/*テーブル内の左側*/
.ta1 th {
	width: 90px;
	padding: 5px;
}
/*テーブル内の右側*/
.ta1 td {
	width: auto;
	padding: 5px;
}

/*その他
---------------------------------------------------------------------------*/
.ws,.wl {width: 95%;}
.fr,.fl {float: none;margin: 0;margin-bottom: 10px;width: 100%;}
.sh {display: block;}
.pc {display: none;}

}


/*===========================================================================
  追加スタイル - 西南交通大学日本校友会
===========================================================================*/

/*ウェルカムセクション
---------------------------------------------------------------------------*/
.welcome-section {
	background: #fff;
	padding: 20px;
	margin-bottom: 20px;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.welcome-content {
	padding: 10px 0;
}
.quick-links {
	margin-top: 20px;
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
}
.btn-primary {
	display: inline-block;
	padding: 12px 24px;
	background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
	color: #fff;
	text-decoration: none;
	border-radius: 6px;
	font-weight: bold;
	transition: all 0.3s ease;
}
.btn-primary:hover {
	background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
	color: #fff;
}
.btn-secondary {
	display: inline-block;
	padding: 12px 24px;
	background: #fff;
	color: #1e40af;
	text-decoration: none;
	border: 2px solid #1e40af;
	border-radius: 6px;
	font-weight: bold;
	transition: all 0.3s ease;
}
.btn-secondary:hover {
	background: #1e40af;
	color: #fff;
}
.btn-large {
	display: inline-block;
	padding: 16px 32px;
	background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
	color: #fff;
	text-decoration: none;
	border-radius: 8px;
	font-size: 18px;
	font-weight: bold;
	transition: all 0.3s ease;
}
.btn-large:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4);
	color: #fff;
}
.btn-small {
	display: inline-block;
	padding: 6px 12px;
	background: #3b82f6;
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	font-size: 12px;
	transition: all 0.3s ease;
}
.btn-small:hover {
	background: #1e40af;
	color: #fff;
}

/*ギャラリーセクション
---------------------------------------------------------------------------*/
.gallery-section {
	background: #fff;
	padding: 20px;
	margin-bottom: 20px;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
	margin-top: 15px;
}
.gallery-grid.large {
	grid-template-columns: repeat(4, 1fr);
}
.gallery-item {
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	aspect-ratio: 4/3;
}
.gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.gallery-item:hover img {
	transform: scale(1.05);
}
.gallery-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(transparent, rgba(0,0,0,0.7));
	color: #fff;
	padding: 20px 10px 10px;
	font-size: 14px;
}

/*情報セクション
---------------------------------------------------------------------------*/
.info-section {
	background: #fff;
	padding: 20px;
	margin-bottom: 20px;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.info-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 15px;
}
.info-card {
	background: #f8fafc;
	padding: 20px;
	border-radius: 8px;
	text-align: center;
	transition: all 0.3s ease;
}
.info-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}
.info-card i {
	font-size: 36px;
	color: #3b82f6;
	margin-bottom: 10px;
}
.info-card h4 {
	color: #1e40af;
	margin-bottom: 10px;
}
.info-card a {
	color: #3b82f6;
	text-decoration: none;
}
.info-card a:hover {
	text-decoration: underline;
}

/*サイドバー
---------------------------------------------------------------------------*/
.sidebar-contact {
	background: #f8fafc;
	padding: 20px;
	border-top: 1px solid #e2e8f0;
}
.sidebar-contact h3 {
	color: #1e40af;
	margin-bottom: 10px;
	font-size: 16px;
}
.sidebar-contact i {
	color: #3b82f6;
	margin-right: 5px;
}

/*ニュースアイテム
---------------------------------------------------------------------------*/
.news-item {
	background: #fff;
	padding: 20px;
	margin-bottom: 20px;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.news-item h3 {
	border-left: none;
	background: none;
	padding: 0;
	margin-bottom: 10px;
}
.news-date {
	color: #64748b;
	font-size: 14px;
	margin-bottom: 15px;
}
.news-date i {
	margin-right: 5px;
}
.news-content {
	line-height: 1.8;
}
.news-gallery {
	display: flex;
	gap: 15px;
	margin-top: 15px;
}
.news-gallery img {
	max-width: 200px;
	border-radius: 8px;
}

/*通知セクション
---------------------------------------------------------------------------*/
.notice-section {
	background: #fff;
	padding: 20px;
	margin-bottom: 20px;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.notice-item {
	padding: 20px;
	background: #f8fafc;
	border-radius: 8px;
	margin-bottom: 15px;
	position: relative;
}
.notice-item.highlight {
	border: 2px solid #3b82f6;
	background: #eff6ff;
}
.notice-badge {
	position: absolute;
	top: -10px;
	right: 20px;
	background: #ef4444;
	color: #fff;
	padding: 4px 12px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: bold;
}
.notice-item h4 {
	color: #1e40af;
	margin-bottom: 15px;
	font-size: 18px;
}
.notice-date {
	color: #64748b;
	font-size: 14px;
	margin-bottom: 10px;
}
.notice-note {
	background: #fef3c7;
	padding: 10px 15px;
	border-radius: 4px;
	margin-top: 15px;
	font-size: 14px;
}
.status-done {
	background: #22c55e;
	color: #fff;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 12px;
}
.status-upcoming {
	background: #f59e0b;
	color: #fff;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 12px;
}
.status-progress {
	background: #3b82f6;
	color: #fff;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 12px;
}

/*アバウトセクション
---------------------------------------------------------------------------*/
.about-section {
	background: #fff;
	padding: 20px;
	margin-bottom: 20px;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.about-content {
	line-height: 1.8;
}
.highlight-box {
	background: #eff6ff;
	border-left: 4px solid #3b82f6;
	padding: 15px 20px;
	margin: 15px 0;
	border-radius: 0 8px 8px 0;
}
.highlight-box.warning {
	background: #fef3c7;
	border-left-color: #f59e0b;
}
.mission-list {
	list-style: none;
	padding: 0;
}
.mission-list li {
	padding: 10px 0;
	border-bottom: 1px solid #e2e8f0;
}
.mission-list li:last-child {
	border-bottom: none;
}
.mission-list i {
	color: #22c55e;
	margin-right: 10px;
}
.org-structure {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 15px;
	margin-top: 15px;
}
.org-item {
	background: #f8fafc;
	padding: 20px;
	border-radius: 8px;
	text-align: center;
}
.org-item h4 {
	color: #1e40af;
	margin-bottom: 10px;
}
.cta-box {
	background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
	color: #fff;
	padding: 20px;
	border-radius: 8px;
	margin-top: 20px;
	text-align: center;
}
.cta-box p {
	margin-bottom: 15px;
}
.cta-box .btn-primary {
	background: #fff;
	color: #1e40af;
}
.cta-box .btn-primary:hover {
	background: #f0f0f0;
}

/*タイムライン
---------------------------------------------------------------------------*/
.timeline {
	position: relative;
	padding-left: 30px;
}
.timeline::before {
	content: '';
	position: absolute;
	left: 10px;
	top: 0;
	bottom: 0;
	width: 2px;
	background: #3b82f6;
}
.timeline-item {
	position: relative;
	margin-bottom: 30px;
}
.timeline-item::before {
	content: '';
	position: absolute;
	left: -24px;
	top: 5px;
	width: 12px;
	height: 12px;
	background: #3b82f6;
	border-radius: 50%;
	border: 2px solid #fff;
}
.timeline-date {
	font-weight: bold;
	color: #1e40af;
	margin-bottom: 5px;
}
.timeline-content h4 {
	margin-bottom: 5px;
}

/*サインアップセクション
---------------------------------------------------------------------------*/
.signup-section {
	background: #fff;
	padding: 20px;
	margin-bottom: 20px;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.info-box {
	background: #f8fafc;
	padding: 20px;
	border-radius: 8px;
	line-height: 1.8;
}
.signup-button-container {
	text-align: center;
	margin: 30px 0;
}
.form-embed {
	margin-top: 20px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	overflow: hidden;
}
.form-embed iframe {
	display: block;
}

/*コンタクトセクション
---------------------------------------------------------------------------*/
.contact-section {
	background: #fff;
	padding: 20px;
	margin-bottom: 20px;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.contact-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 15px;
}
.contact-card {
	background: #f8fafc;
	padding: 25px;
	border-radius: 8px;
	text-align: center;
	transition: all 0.3s ease;
}
.contact-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}
.contact-icon {
	font-size: 36px;
	color: #3b82f6;
	margin-bottom: 15px;
}
.contact-card h4 {
	color: #1e40af;
	margin-bottom: 10px;
}
.contact-card .small {
	font-size: 12px;
	color: #64748b;
}
.contact-form {
	margin-top: 20px;
}
.contact-form .required {
	color: #ef4444;
}
.checkbox-label {
	display: flex;
	align-items: center;
	gap: 10px;
}
.form-buttons {
	text-align: center;
	margin-top: 20px;
}
.form-buttons button {
	margin: 0 10px;
	padding: 12px 24px;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	font-size: 14px;
	transition: all 0.3s ease;
}
.form-buttons button[type="submit"] {
	background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
	color: #fff;
}
.form-buttons button[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
}
.form-buttons button[type="reset"] {
	background: #e2e8f0;
	color: #64748b;
}
.form-buttons button[type="reset"]:hover {
	background: #cbd5e1;
}
.contact-info-box {
	background: #eff6ff;
	padding: 20px;
	border-radius: 8px;
	margin-top: 15px;
}
.contact-list {
	list-style: none;
	padding: 0;
}
.contact-list li {
	padding: 8px 0;
}
.contact-list i {
	color: #3b82f6;
	margin-right: 10px;
	width: 20px;
}
.link-list {
	list-style: none;
	padding: 0;
}
.link-list li {
	margin-bottom: 10px;
}
.link-list a {
	display: inline-block;
	padding: 10px 20px;
	background: #f8fafc;
	border-radius: 6px;
	text-decoration: none;
	transition: all 0.3s ease;
}
.link-list a:hover {
	background: #eff6ff;
	transform: translateX(5px);
}
.link-list i {
	margin-right: 10px;
	color: #3b82f6;
}

/*ファイナンスセクション
---------------------------------------------------------------------------*/
.finance-section {
	background: #fff;
	padding: 20px;
	margin-bottom: 20px;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.finance-table {
	width: 100%;
}
.finance-summary {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 15px;
}
.summary-item {
	background: #f8fafc;
	padding: 25px;
	border-radius: 8px;
	text-align: center;
}
.summary-item i {
	font-size: 36px;
	color: #3b82f6;
	margin-bottom: 15px;
}
.summary-item h4 {
	color: #1e40af;
	margin-bottom: 10px;
}

/*寄付セクション
---------------------------------------------------------------------------*/
.donate-section {
	background: #fff;
	padding: 20px;
	margin-bottom: 20px;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.donate-purposes {
	list-style: none;
	padding: 0;
}
.donate-purposes li {
	padding: 10px 0;
	border-bottom: 1px solid #e2e8f0;
}
.donate-purposes li:last-child {
	border-bottom: none;
}
.donate-purposes i {
	color: #22c55e;
	margin-right: 10px;
}
.donate-methods {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin-top: 15px;
}
.donate-method {
	background: #f8fafc;
	padding: 25px;
	border-radius: 8px;
}
.method-icon {
	text-align: center;
	font-size: 48px;
	color: #3b82f6;
	margin-bottom: 15px;
}
.donate-method h4 {
	text-align: center;
	color: #1e40af;
	margin-bottom: 15px;
}
.method-details {
	font-size: 14px;
}
.donate-types {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 15px;
	margin-top: 15px;
}
.donate-type {
	background: #f8fafc;
	padding: 20px;
	border-radius: 8px;
	text-align: center;
}
.donate-type h4 {
	color: #1e40af;
	margin-bottom: 10px;
	font-size: 14px;
}
.donate-type h4 i {
	display: block;
	font-size: 24px;
	margin-bottom: 10px;
	color: #3b82f6;
}
.donate-type p {
	font-size: 12px;
	color: #64748b;
}
.donor-list {
	background: #f8fafc;
	padding: 20px;
	border-radius: 8px;
	margin-bottom: 15px;
}
.donor-list h4 {
	color: #1e40af;
	margin-bottom: 10px;
}
.donor-note {
	color: #64748b;
	font-style: italic;
}
.agreement-box {
	background: #fef3c7;
	padding: 20px;
	border-radius: 8px;
	border-left: 4px solid #f59e0b;
}
.donate-cta {
	background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
	color: #fff;
	padding: 30px;
	border-radius: 8px;
	text-align: center;
	margin-top: 20px;
}
.donate-cta .slogan {
	font-size: 20px;
	margin-top: 10px;
}
.donate-cta .slogan i {
	color: #fbbf24;
}

/*ノート
---------------------------------------------------------------------------*/
.note {
	font-size: 13px;
	color: #64748b;
	margin-top: 10px;
}
.note i {
	margin-right: 5px;
}

/*レスポンシブ対応
---------------------------------------------------------------------------*/
@media screen and (max-width:900px) {
	.gallery-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.gallery-grid.large {
		grid-template-columns: repeat(2, 1fr);
	}
	.info-grid {
		grid-template-columns: 1fr;
	}
	.contact-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.org-structure {
		grid-template-columns: repeat(2, 1fr);
	}
	.donate-methods {
		grid-template-columns: 1fr;
	}
	.donate-types {
		grid-template-columns: repeat(2, 1fr);
	}
	.finance-summary {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width:600px) {
	#site-title {
		margin-left: 15px;
	}
	#site-title h1 {
		font-size: 16px;
	}
	#site-title .subtitle {
		font-size: 10px;
	}
	.gallery-grid,
	.gallery-grid.large {
		grid-template-columns: 1fr;
	}
	.contact-grid {
		grid-template-columns: 1fr;
	}
	.org-structure {
		grid-template-columns: 1fr;
	}
	.donate-types {
		grid-template-columns: 1fr;
	}
	.quick-links {
		flex-direction: column;
	}
	.btn-primary,
	.btn-secondary,
	.btn-large {
		width: 100%;
		text-align: center;
	}
}
