@charset "utf-8";



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

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

/*lightbox.cssの読み込み
---------------------------------------------------------------------------*/
@import url(https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.10.0/css/lightbox.css);

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

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





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

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

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

	}/*画面幅900px以上の追加指定ここまで*/


body {
	font-family: 'Zen Maru Gothic', sans-serif;	/*フォント種類（ゴシック）*/
	-webkit-text-size-adjust: none;
	background: #fff;	/*背景色*/
	color: #333;		/*文字色*/
	line-height: 2;		/*行間*/
	animation: opa1 0.3s 0.5s both;	/*0.5秒の間だけ非表示にし、その後0.3秒かけてフェードイン表示。上部のメインメニューのデフォルトが一瞬見えてしまうのを回避する為の応急措置です。*/
}

h1, h2, h3{
	font-family: 'Zen Maru Gothic', sans-serif;
}

p{
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 17px;
}

.setsumei{
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 17px;
	width: fit-content;
    margin: auto;
	text-align: center;
	display: block;
}
.setsumei ul{
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 17px;
	padding-left: 0;
	list-style: none;
	display: inline-block;
}
.setsumei ul li{
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 17px;
	text-align: left;
}
caption{
	font-family: 'Zen Maru Gothic', sans-serif;
}

th{
	font-family: 'Zen Maru Gothic', sans-serif;
}

td{
	font-family: 'Zen Maru Gothic', sans-serif;
	width: 25%;
}

ul{
	padding-left:0;
  }
  
li{
	list-style:none;
  }

#side-menu{
	position: fixed;
	right: 3vw;
}

#side-menu ul{
	display: flex;
}

#side-menu ul li a{
	padding: 3px;
}

#side-menu img{
	width: 40px;
}


/*画面幅1050px以下の追加指定ここから*/
@media screen and (max-width: 1050px) {
	#side-menu{
		right: 3vw;
	}
}

/*画面幅900px以下の追加指定ここから*/
@media screen and (max-width: 900px) {
	#side-menu img{
		width: 30px;
	}
	#side-menu{
		right: 7.5vw;
	}

}

@media screen and (max-width: 750px) {
	#side-menu{
		right: 9.5vw;
	}

}

@media screen and (max-width: 500px) {
	#side-menu{
		right: 12.5vw;
	}

}
	
/*画面幅375px以下の追加指定ここから*/
@media screen and (max-width: 375px) {
#side-menu img{
	width: 30px;
}
#side-menu{
	right: 16vw;
}

}

/*リセット*/
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%;}

/*他*/
input {font-size: 1rem;}
section + section {
	margin-top: 3rem;
}


/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: #000;	/*文字色*/
	transition: 0.3s;	/*hoverまでにかける時間。0.3秒。*/
	font-weight: bold;	/*太字にする*/
}

/*マウスオン時*/
a:hover {
	opacity: 0.8;	/*色を80%だけ出す*/
}


/*コンテナー（サイト全体を囲むブロック）
---------------------------------------------------------------------------*/
#container {
	height: 100%;
	display: flex;	/*flexボックスを使う指定*/
	flex-direction: column;	/*子要素を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	max-width: 100%;	/*サイトの最大幅。これ以上広がらない。*/
	margin: 0 auto;
}


/*コンテンツ（フッター関連「以外」を囲むブロック）
---------------------------------------------------------------------------*/
#contents {
	flex: 1;
	padding: 100px 3% 3%;	/*コンテンツ内の余白*/
}

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

	#contents {
		padding-top: 80px;	/*コンテンツ内の上の余白だけ上書き*/
	}

	}/*画面幅600px以下の追加指定ここまで*/


/*header（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	display: flex;					/*flexボックスを使う指定*/
	align-items: center;			/*垂直揃えの指定。天地中央に配置されるように。*/
	padding: 0 30px;				/*ヘッダー内の余白。上下、左右への順番。*/
	height: 70px;					/*ヘッダーの高さ*/
	position: fixed;				/*スクロールしても動かないようにする指定。*/
	z-index: 1;						/*スクロール中、コンテンツの上になるように*/
	margin: 0px;					/*headerの外側にとるスペース*/
	width: 100%;					/*pxの値は、上のmargin(両サイドなので6倍)を合計した数字です。*/
	background: #65A6DC;		/*ヘッダー背景*/
}



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

	/*ヘッダーブロック*/
		header {
			display: flex;					/*flexボックスを使う指定*/
			align-items: center;			/*垂直揃えの指定。天地中央に配置されるように。*/
			padding: 0 30px;				/*ヘッダー内の余白。上下、左右への順番。*/
			height: 70px;					/*ヘッダーの高さ*/
			position: fixed;				/*スクロールしても動かないようにする指定。*/
			z-index: 1;						/*スクロール中、コンテンツの上になるように*/
			margin: 0px;					/*headerの外側にとるスペース*/
			width: 100%;					/*pxの値は、上のmargin(両サイドなので6倍)を合計した数字です。*/
			background: #65A6DC;		/*ヘッダー背景*/
		}
	}/*画面幅1919px以下の追加指定ここまで*/


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

	/*ヘッダーブロック*/
	header {
		padding: 0px 0px;	/*ヘッダー内の余白。上下、左右への順番。*/
		height: 70px;		/*ヘッダーの高さ*/
		margin: 0px;					/*headerの外側にとるスペース*/
		width: 100%;					/*pxの値は、上のmargin(両サイドなので6倍)を合計した数字です。*/
	}

	}/*画面幅600px以下の追加指定ここまで*/


/*ロゴ*/
#logo img {display: block;}
#logo {
	width: 185px;	/*ロゴ画像の幅*/
}

/*画面幅375px以下の追加指定ここから*/
@media screen and (max-width: 375px) {
	#logo {width: 140px;}
}


/*メニューブロック設定
---------------------------------------------------------------------------*/
#menubar a {display: block;text-decoration: none;}
#menubar ul {list-style: none;margin: 0;padding: 0;font-family: "Font Awesome 5 Free";}
#menubar.d-n, #menubar_hdr.d-n, #menubar .ddmenu_parent ul {display: none;}
#menubar.d-b {display: block;}
#menubar_hdr.d-b {display: flex;}
#menubar {
	position: relative;z-index: 1;	/*スライドショーがある場合に下に隠れないようにするため*/
	font-size: 18px;	/*文字サイズ。端末サイズで文字サイズが変わると不具合が出る場合があるので、ここで統一しています。*/
}

/*ドロップダウンメニューのリンクタグ*/
#menubar .ddmenu {
	cursor: default;	/*リンク要素のカーソルを矢印に変更しておく*/
}

/*ddmenuを指定しているメニューに矢印アイコンをつける設定*/
a.ddmenu::before {
	content: "\f078";	/*使いたいアイコン名をここで指定。Font Awesomeに記載されています。詳しくは当テンプレートのマニュアルを読んで下さい。*/
	font-weight: bold;	/*この手の設定がないとアイコンが出ない場合があります*/
	margin-right: 0.5em;	/*アイコンとテキストとの間に空けるスペース*/
	display: inline-block;
	transform: scale(0.7);	/*元々のサイズの70%に。*/
	
}


/*大きな端末用のメニューブロック設定
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
.p #menubar > nav > ul {
	display: flex;		/*flexボックスを使う指定*/
	margin-left: 30px;	/*左側にとるスペース。ロゴとの間の間隔を調整します。*/
	font-size: 0.85rem;	/*文字サイズ。85%。*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くとる*/
}

/*メニュー１個あたりの設定*/
.p #menubar a {
	padding: 10px;	/*メニュー同士の余白*/
	color: #fff;
}


/*大きな端末用のドロップダウンメニュー
---------------------------------------------------------------------------*/
/*ドロップダウンメニューブロック全体*/
.p #menubar ul ul {
	position: absolute;z-index: 100;
	border-radius: 10px;	/*角を丸くする指定*/
	overflow: hidden;
	text-align: center;		/*文字をセンタリング*/
	color: #fff;			/*文字色*/

}

/*メニュー１個あたり*/
.p #menubar ul ul a {
	color: inherit;
	background: rgba(0,0,0,0.7);	/*背景色。0,0,0は黒のことで0.7は色が70%出た状態*/
	padding: 8px 16px;				/*上下、左右へのメニュー内の余白*/
	letter-spacing: -0.2px;			/*文字の間隔を狭く*/
}


/*小さな端末用の開閉ブロック
---------------------------------------------------------------------------*/
/*メニューブロック設定*/
.s #menubar.d-b {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding: 100px 20px 20px;			/*ブロック内の余白。上、左右、下。*/
	background: rgba(0,0,0,0.9);		/*背景色。0,0,0は黒の事で0.9は色が90%出た状態。*/
	text-align: center;					/*内容をセンタリング*/
	animation: animation1 0.2s both;	/*animation.cssのanimation1を実行する。0.2sは0.2秒の事。*/
	color: #fff;						/*文字色*/
}

/*メニュー１個あたりの設定*/
.s #menubar a {
	color: inherit;
	padding: 10px;		/*メニュー内の余白*/
}


/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*３本バーを囲むブロック*/
#menubar_hdr {
	position: fixed;
	z-index: 101;
	cursor: pointer;
	right: 15px;			/*右からの配置場所指定*/
	top: 12px;				/*上からの配置場所指定*/
	padding: 16px 14px;		/*上下、左右への余白*/
	width: 46px;			/*幅（３本バーが出ている場合の幅になります）*/
	height: 46px;			/*高さ*/
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素（３本バー）を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
}

	/*画面幅600px以下の追加指定*/
	@media screen and (max-width:600px) {
	
	/*３本バーを囲むブロック*/
	#menubar_hdr {
		right: 15px;		/*右からの配置場所指定*/
		top: 12px;			/*上からの配置場所指定*/
		padding: 16px 14px;
	}
	
	}/*画面幅600px以下の追加指定ここまで*/
	
	
/*バー１本あたりの設定*/
#menubar_hdr span {
	display: block;
	transition: 0.3s;			/*アニメーションにかける時間。0.3秒。*/
	border-top: 2px solid #777;	/*バーの色。線の幅、線種、色*/
}

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

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


/*フッター設定
---------------------------------------------------------------------------*/
footer small {font-size: 100%;}
footer {
	font-size: 0.7rem;		/*文字サイズ。bodyのfont-sizeの70%です。*/
	background: #eee;		/*背景色*/
	text-align: center;		/*内容をセンタリング*/
	padding: 20px;			/*ボックス内の余白*/
	width: 100vw;
    margin: 0 calc(50% - 50vw);
}

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

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


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

/*ボタンの設定*/
.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%;	/*円形にする*/
}


/*その他
---------------------------------------------------------------------------*/
.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;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;}

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

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

	}/*画面幅900px以上の追加指定ここまで*/

/*mainブロック設定
---------------------------------------------------------------------------*/
main {
	margin: 2rem 0;			/*ブロックの外側（上下、左右）に空けるスペース*/
}

/*.listブロック共通
---------------------------------------------------------------------------*/
.list {
	position: relative;
}

/*figure画像*/
.list figure {
	margin-bottom: 2rem;
}


/*2カラムブロック（※900px未満では１カラム）
---------------------------------------------------------------------------*/
/*２カラムを囲むブロック*/
.list-half .list {
	display: flex;			/*flexボックスを使う指定*/
	flex-direction: column;	/*子要素を縦並びにする*/
	margin-bottom: 2rem;	/*ボックスの下に2文字分のスペースを空ける*/
}

/*画像ブロック共通*/
.list-half .image-l, .list-half .image-r {
	margin-left: 2rem;margin-right: 2rem;	/*画像の左右に1文字分のスペースを空ける*/
	position: relative;	/*子要素のアイコンを絶対配置する為の設定*/
}
.list-half .image-l img, .list-half .image-r img {
	border-radius: 30px;	/*角を丸くする指定。*/
	box-shadow: 10px 10px rgba(0,0,0,0.1);	/*ボックスの影。右へ、下へ、0,0,0は黒の事で0.1は色が10%出た状態。*/
}

/*テキストブロック*/
.list-half .text{
	margin-left: 2rem;
	margin-right: 2rem;
}

/*テキストブロック*/
.list-half .text2{
	margin-left: 2rem;
	margin-right: 2rem;
}

.list-half .text2 a{
	color: blue;
}

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

		/*２カラムを囲むブロック*/
		.list-half .list {
			flex-direction: row;			/*子要素を横並びにする*/
			justify-content: space-between;	/*並びかたの種類の指定*/
			align-items: center;			/*垂直揃えの指定。天地中央に配置されるように。*/
		}
		
		/*画像ブロック共通*/
		.list-half .image-l, .list-half .image-r {
			width: 50%;			/*幅。下のテキストブロックのwidthと調整して下さい。*/
		}
		
		/*画像を右に配置する場合*/
		.list-half .image-r {
			margin-left: 1rem;	/*画像の左側に空けるスペース*/
			margin-right: 3rem;
		}
		
		/*画像を左に配置する場合*/
		.list-half .image-l {
			order: -1;
			margin-right: 1rem;	/*画像の右側に空けるスペース*/
			margin-left: 3rem;
		}

		/*テキストブロック*/
		.list-half .text{
			margin-left: 4rem;
			margin-right: 4rem;
			width: 50%;			/*幅。上の「画像ブロック共通」のwidthと調整して下さい。*/
		}

		/*テキストブロック*/
		.list-half .text2{
			margin-left: 4rem;
			margin-right: 4rem;
			width: 50%;			/*幅。上の「画像ブロック共通」のwidthと調整して下さい。*/
		}
		
	}/*画面幅900px以上の追加指定ここまで*/

/*フッターメニュー設定
---------------------------------------------------------------------------*/
/*ボックス全体の設定*/
#footermenu {
	background: #333;	/*背景色*/
	color: #ccc;		/*文字色*/
	font-size: 0.8rem;	/*文字サイズ。bodyのfont-sizeの80%です。*/
	padding: 20px 50px;	/*上下、左右へのボックス内の余白*/
	display: flex;		/*flexボックスを使う指定*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	align-items: flex-start;		/*垂直揃えの指定。上に配置されるように。*/
	width: 100vw;
    margin: 0 calc(50% - 50vw);
}

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

/*ulタグ（メニューの１列あたり）*/
#footermenu ul {
	margin: 0;list-style: none;
	padding: 0 2px;
	flex: 1;
}

/*メニューの見出し(title)*/
#footermenu .title {
	font-weight: bold;		/*太字にする*/
	color: #ffffff;			/*文字色*/
	padding-bottom: 5px;	/*下に空けるスペース*/
}

@media screen and (max-width: 460px){
	#footermenu {display:none}
	}


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

/*ta1テーブルブロック設定*/
.ta1 {
	width: 100%;
	margin: 0 auto 2em;		/*最後の「2em」がテーブルの下に空けるスペースです*/
}

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

.ta1 a{
	color: blue;
}

/*th（左側）のみの設定*/
.ta1 th {
	width: 10%;				/*幅*/
	text-align: center;		/*中央にする*/
	background: #f7f7f7;	/*背景色*/
}

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

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

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

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

	}/*画面幅900px以上の追加指定ここまで*/

/*テーブル
---------------------------------------------------------------------------*/
/*ta2テーブルブロック設定*/
.ta2 {
	width: 100%;
	margin: 0 auto 2em;		/*最後の「2em」がテーブルの下に空けるスペースです*/
}

.ta2, .ta2 td, .ta2 th {
	word-break: break-all;
	border: 1px solid #000;	/*テーブルの枠線の幅、線種、色*/
	padding: 5px;			/*ボックス内の余白*/
}

/*th（左側）のみの設定*/
.ta2 th {
	width: 20%;				/*幅*/
	text-align: center;		/*中央にする*/
	background: #65A6DC;	/*背景色*/
}

.ta2 td {
	text-align: center;
}
	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

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

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

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

	}/*画面幅900px以上の追加指定ここまで*/

.ta2 tbody tr th {
	color:#fff;
}

.ta2 tbody tr th {
	color: #FFF;
}




/*h1タグ
---------------------------------------------------------------------------*/
#contents h1 {
	line-height: 1.2; /*h1の文字が改行されている場合の文字間隔。（これを消すと行間が広くなる）*/
}

/*h2タグ
---------------------------------------------------------------------------*/
#contents h2 {
	margin: 0 0 1rem;	/*h2の外側にとるスペース。上、左右、下への順番。*/
	font-size: 2.0rem;	/*文字サイズ*/
	padding: 7px 1rem;	/*h2内の余白。上下、左右への順番。*/
	border-bottom: 3px solid #fff;	/*下線の幅、線種、色*/
	text-align: center;	/*テキストをセンタリング*/
	font-family: 'Zen Maru Gothic', sans-serif;
	line-height: 1.4; /*h2の文字が改行されている場合の文字間隔。（これを消すと行間が広くなる）*/
}

.image-3, .image-4{
	display: block;
	margin: auto;
	border-radius: 50px;	/*角を丸くする指定。*/
}

/*btnの設定（「btn1」と「btn2」）
---------------------------------------------------------------------------*/
/*ボタン共通*/
a.btn1, a.btn2 {
	display: inline-block;text-decoration: none;
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くとる*/
	border-radius: 3px;		/*角を丸くする指定*/
	padding: 0.3rem 2rem;	/*上下、左右へのボタン内の余白*/
	box-shadow: 1px 2px 3px rgba(0,0,0,0.2);	/*ボックスの影。右へ、下へ、ぼかし幅。0,0,0は黒の事で0.2は色が20%出た状態。*/
	transition: 0.3s;	/*hoverまでにかける時間。0.3秒。*/
}

/*iタグ共通（アイコンの事）*/
a.btn1 i, a.btn2 i {
	padding-left: 1em;	/*アイコンとテキストの間の余白*/
}

/*btn1の追加指定*/
a.btn1 {
	background: #fff;		/*背景色*/
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/	
}

/*btn1内のiタグ（アイコンの事）*/
a.btn1 i {
	color: #999;	/*アイコンの色*/
}

/*btn2の追加指定*/
a.btn2 {
	background: #999;	/*背景色*/
	color: #fff;		/*文字色*/
}

/*マウスオン時*/
a:hover.btn1, a:hover.btn2 {
	transform: scale(1.03);		/*103%に拡大する*/
	filter: brightness(1.1);	/*少しだけ明るくする*/
}

.c .btn1 a{
	color: #333;
}	



/*アニメーションボタン。（枠線をぐるっとなぞるアニメーション）
---------------------------------------------------------------------------*/
@keyframes w {0% {width: 0px;} 100% {width: 100%;}}
@keyframes h {0% {height: 0px;} 100% {height: 100%;}}

/*ボタンの一番の外側のボックス*/
.animation-btn {
	position: relative;		/*枠線をアニメーションさせる為に必要な指定*/
	display: inline-block;
	box-shadow: 0px 0px 0px 1px #ccc inset;	/*デフォルトで見えている枠線の設定*/
}

/*上のanimation-btnの内側にあるボックス*/
.animation-btn-inner {
	display: block;text-decoration: none;
	padding: 0.5em 3em;		/*ボタン内の余白。上下、左右へ。emは文字の単位。1emが1文字分という事です。*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くとる*/
	text-indent: 0.1em;		/*letter-spacingを設定するとその分全体のテキスト位置がずれるので、戻す設定。同じ数字にしておけばOKです。*/
}

/*ボタン内でiタグを使う場合の設定*/
.animation-btn-inner i {
	display: inline-block;
	transition: 0.3s;		/*アニメーションにかける時間。0.3秒。*/
	padding-left: 1em;		/*テキストと、iタグの間の余白*/
}
.animation-btn-inner:hover i {
	transform: translateX(5px);	/*マウスオン時にiタグを5pxだけ右に移動する*/
}

/*枠線共通*/
.animation-btn::before,
.animation-btn::after,
.animation-btn-inner::before,
.animation-btn-inner::after {
	content: "";
	position: absolute;
	background-color: rgb(102, 102, 102);		/*background(背景)スタイルですが、hover時の枠線の色になります。*/
	animation-duration: 0.2s;	/*アニメーションにかける時間。１辺あたり0.2秒。*/
	animation-fill-mode: forwards;	/*アニメーション完了時に最後のフレームを維持。この１行を外してみると別の動作になって面白い動きになります。*/
	animation-timing-function: linear;	/*アニメーションの速度のタイプ。同じ速度にする。*/
}

/*ラインアニメーション１（左上→右上）*/
.animation-btn:hover::before {
	left: 0px;				/*開始地点の指示*/
	top: 0px;				/*開始地点の指示*/
	height: 1px;			/*線の幅の代わりになります*/
	animation-name: w;		/*上の「@keyframes」で使うアニメーション名の指定。*/
}

/*ラインアニメーション２（右上→右下）*/
.animation-btn:hover::after {
	right: 0px;				/*開始地点の指示*/
	top: 0px;				/*開始地点の指示*/
	width: 1px;				/*線の幅の代わりになります*/
	animation-name: h;		/*上の「@keyframes」で使うアニメーション名の指定。*/
	animation-delay: 0.2s;	/*アニメーションを0.2秒遅れてスタートさせる。*/
}

/*ラインアニメーション３（右下→左下）*/
.animation-btn-inner:hover::before {
	right: 0px;				/*開始地点の指示*/
	bottom: 0px;			/*開始地点の指示*/
	height: 1px;			/*線の幅の代わりになります*/
	animation-name: w;		/*上の「@keyframes」で使うアニメーション名の指定。*/
	animation-delay: 0.4s;	/*アニメーションを0.4秒遅れてスタートさせる。*/
}

/*ラインアニメーション４（左下→左上）*/
.animation-btn-inner:hover::after {
	left: 0px;				/*開始地点の指示*/
	bottom: 0px;			/*開始地点の指示*/
	width: 1px;				/*線の幅の代わりになります*/
	animation-name: h;		/*上の「@keyframes」で使うアニメーション名の指定。*/
	animation-delay: 0.6s;	/*アニメーションを0.6秒遅れてスタートさせる。*/
}

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

/*ta3テーブルブロック設定*/
.ta3 {
	border-top: 1px solid #666;	/*テーブルの一番上の線。幅、線種、色*/
	width: 100%;
	margin: 0 auto 2em;		/*最後の「2em」がテーブルの下に空けるスペースです*/
}

/*tr（１行分）タグ設定*/
.ta3 tr {
	border-bottom: 1px solid #666;	/*テーブルの下線。幅、線種、色*/
}

/*th（左側）、td（右側）の共通設定*/
.ta3 th, .ta3 td {
	padding: 10px 5px;		/*上下、左右へのボックス内の余白*。基本的に数行上の「.ta3 caption」のpaddingと揃えておけばOKです。*/
	word-break: break-all;	/*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
}

/*th（左側）のみの設定*/
.ta3 th {
	width: 30%;			/*幅*/
	text-align: center;	/*中央にする*/
	background: #f7f7f7;	/*背景色*/
}


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

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

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

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

	}/*画面幅900px以上の追加指定ここまで*/

/*タブ
---------------------------------------------------------------------------*/

	.tab-001 {
		font-family: 'Zen Maru Gothic', sans-serif;
		display: flex;
		flex-wrap: wrap;
		max-width: 700px;
		box-shadow: 2px 2px 4px;
		margin: auto;
		margin-bottom: 3rem;
	}
	
	.tab-001 > label {
		flex: 1 1;
		order: -1;
		min-width: 70px;
		padding: .7em 1em .5em;
		border-bottom: 1px solid #f0f0f0;
		border-radius: 0;
		background-color: #e9f0f6;
		color: #535353;
		font-size: .9em;
		text-align: center;
		cursor: pointer;
	}
	
	.tab-001 > label:hover {
		opacity: .8;
	}
	
	.tab-001 input {
		display: none;
	}
	
	.tab-001 > div {
		display: none;
		width: 100%;
		padding: 1.5em 1em;
		background-color: #fff;
	}
	
	.tab-001 label:has(:checked) {
		background-color: #fff;
		border-color: #2589d0 #f0f0f0 #fff;
		border-style: solid;
		border-width: 4px 1px 1px;
		border-radius: 5px;
		color: #333333;
	}
	
	.tab-001 label:has(:checked) + div {
		display: block;
	}
	
/*円グラフ
---------------------------------------------------------------------------*/

	.pie-chart-001 {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.pie-chart-001 > div {
		width: 200px;
		height: 200px;
		margin: 0;
		border-radius: 50%;
		background-image: conic-gradient(#2589d0 65%, orange 65% 72%, gray 72% 86%, rgb(241, 221, 35) 86% 93%, rgb(72, 220, 72) 93% 100%);
	}
	
	.pie-chart-001 li {
		display: flex;
		list-style-type: none;
		align-items: center;
		font-size: .8em;
	}
	
	.pie-chart-001 li::before {
		display: inline-block;
		width: 1.2em;
		height: .8em;
		margin-right: 5px;
		content: '';
	}
	
	.pie-chart-001 li:nth-child(1)::before {
		background-color: #2589d0;
	}
	
	.pie-chart-001 li:nth-child(2)::before {
		background-color: orange;
	}

	.pie-chart-001 li:nth-child(3)::before {
		background-color: gray;
	}

	.pie-chart-001 li:nth-child(4)::before {
		background-color: rgb(241, 221, 35);
	}
	
	.pie-chart-001 li:nth-child(5)::before {
		background-color: rgb(72, 220, 72);
	}

	.pie-chart-001 span {
		margin-right: 10px;
		font-weight: 600;
	}

.pie-chart-002 {
	display: flex;
	justify-content: center;
	align-items: center;
}

.pie-chart-002 > div {
	width: 200px;
	height: 200px;
	margin: 0;
	border-radius: 50%;
	background-image: conic-gradient(#2589d0 23%, orange 23% 35%, gray 35% 64%, rgb(241, 221, 35) 64% 82%, skyblue 82% 88%, rgb(72, 220, 72) 88% 100%);
}

.pie-chart-002 li {
	display: flex;
	list-style-type: none;
	align-items: center;
	font-size: .8em;
}

.pie-chart-002 li::before {
	display: inline-block;
	width: 1.2em;
	height: .8em;
	margin-right: 5px;
	content: '';
}

.pie-chart-002 li:nth-child(1)::before {
	background-color: #2589d0;
}

.pie-chart-002 li:nth-child(2)::before {
	background-color: orange;
}

.pie-chart-002 li:nth-child(3)::before {
	background-color: gray;
}

.pie-chart-002 li:nth-child(4)::before {
	background-color: rgb(241, 221, 35);
}

.pie-chart-002 li:nth-child(5)::before {
	background-color: skyblue;
}

.pie-chart-002 li:nth-child(6)::before {
	background-color: rgb(72, 220, 72);
}

.pie-chart-002 span {
	margin-right: 10px;
	font-weight: 600;
}

.pie-chart-003 {
	display: flex;
	justify-content: center;
	align-items: center;
}

.pie-chart-003 > div {
	width: 200px;
	height: 200px;
	margin: 0;
	border-radius: 50%;
	background-image: conic-gradient(#2589d0 53%, orange 53% 66%, gray 66% 73%, rgb(241, 221, 35) 73% 93%, skyblue 93% 100%);
}

.pie-chart-003 li {
	display: flex;
	list-style-type: none;
	align-items: center;
	font-size: .8em;
}

.pie-chart-003 li::before {
	display: inline-block;
	width: 1.2em;
	height: .8em;
	margin-right: 5px;
	content: '';
}

.pie-chart-003 li:nth-child(1)::before {
	background-color: #2589d0;
}

.pie-chart-003 li:nth-child(2)::before {
	background-color: orange;
}

.pie-chart-003 li:nth-child(3)::before {
	background-color: gray;
}

.pie-chart-003 li:nth-child(4)::before {
	background-color: rgb(241, 221, 35);
}

.pie-chart-003 li:nth-child(5)::before {
	background-color: skyblue;
}

.pie-chart-003 span {
	margin-right: 10px;
	font-weight: 600;
}

/*円グラフ
---------------------------------------------------------------------------*/

.pie-chart-004 {
	display: flex;
	justify-content: center;
	align-items: center;
}

.pie-chart-004 > div {
	width: 200px;
	height: 200px;
	margin: 0;
	border-radius: 50%;
	background-image: conic-gradient(#2589d0 53%, orange 53% 82%, gray 82% 94%, rgb(241, 221, 35) 94% 100%);
}

.pie-chart-004 li {
	display: flex;
	list-style-type: none;
	align-items: center;
	font-size: .8em;
}

.pie-chart-004 li::before {
	display: inline-block;
	width: 1.2em;
	height: .8em;
	margin-right: 5px;
	content: '';
}

.pie-chart-004 li:nth-child(1)::before {
	background-color: #2589d0;
}

.pie-chart-004 li:nth-child(2)::before {
	background-color: orange;
}

.pie-chart-004 li:nth-child(3)::before {
	background-color: gray;
}

.pie-chart-004 li:nth-child(4)::before {
	background-color: rgb(241, 221, 35);
}

.pie-chart-004 span {
	margin-right: 10px;
	font-weight: 600;
}

/*円グラフ
---------------------------------------------------------------------------*/

.pie-chart-005 {
	display: flex;
	justify-content: center;
	align-items: center;
}

.pie-chart-005 > div {
	width: 200px;
	height: 200px;
	margin: 0;
	border-radius: 50%;
	background-image: conic-gradient(#2589d0 40%, orange 40% 60%, gray 60% 73%, rgb(241, 221, 35) 73% 86%, skyblue 86% 93%, rgb(72, 220, 72) 93% 100%);
}

.pie-chart-005 li {
	display: flex;
	list-style-type: none;
	align-items: center;
	font-size: .8em;
}

.pie-chart-005 li::before {
	display: inline-block;
	width: 1.2em;
	height: .8em;
	margin-right: 5px;
	content: '';
}

.pie-chart-005 li:nth-child(1)::before {
	background-color: #2589d0;
}

.pie-chart-005 li:nth-child(2)::before {
	background-color: orange;
}

.pie-chart-005 li:nth-child(3)::before {
	background-color: gray;
}

.pie-chart-005 li:nth-child(4)::before {
	background-color: rgb(241, 221, 35);
}

.pie-chart-005 li:nth-child(5)::before {
	background-color: skyblue;
}

.pie-chart-005 li:nth-child(6)::before {
	background-color: rgb(72, 220, 72);
}

.pie-chart-005 span {
	margin-right: 10px;
	font-weight: 600;
}

/*css 見出し
---------------------------------------------------------------------------*/
.heading-015 {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #333333;
}

/*css 見出し
---------------------------------------------------------------------------*/

.heading-016 {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #333333;
}

/*css 見出し
---------------------------------------------------------------------------*/
.heading-017 {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #333333;
}

/*Q&A
---------------------------------------------------------------------------*/

.qa-006 {
	font-family: 'Zen Maru Gothic', sans-serif;
    max-width: 700px;
    margin-bottom: 5px;
    border-bottom: 2px solid #d6dde3;
	margin: auto;
}

.qa-006 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
	text-align: left;
}

.qa-006 summary::before,
.qa-006 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-006 summary::before {
    color: #75bbff;
    content: "Q";
}

.qa-006 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}

.qa-006[open] summary::after {
    transform: rotate(225deg);
}

.qa-006 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa-006[open] p {
    transform: none;
    opacity: 1;
}

.qa-006 p::before {
    color: #ff8d8d;
    line-height: 1.2;
    content: "A";
}

/*box
---------------------------------------------------------------------------*/
.box-000 {
	display: flex;
	flex-wrap: wrap;
}

.box-001 {
	font-family: 'Zen Maru Gothic', sans-serif;
    position: relative;
    max-width: 400px;
    margin: 1em auto;
    padding: 1em 2.5em 1em 1.5em;
    border-radius: 3px;
    box-shadow: 0 2px 3px rgb(0 0 0 / 20%);
    background-color: #e0efff;
    color: #333333;
}

.box-001::before,
.box-001::after {
    position: absolute;
    content: '';
}

.box-001::before {
    top: -15px;
    right: 10px;
    height: 50px;
    width: 15px;
    border: 3px solid #999;
    border-radius: 10px;
    box-shadow: 1px 1px 2px rgb(0 0 0 / 30%);
    transform: rotate(10deg);
}

.box-001::after {
    top: 0;
    width: 10px;
    right: 20px;
    border: solid 5px #e0efff;
}



.heading-012 {
    position: relative;
    width: 290px;
    margin: 0 auto;
    padding: .5em .7em;
    background-color: #21c6e7;
    color: #fff;
    text-align: center;
	margin-top: 2.5rem;
	margin-bottom: 2rem;
}

.heading-012::before,
.heading-012::after {
    position: absolute;
    bottom: -10px;
    z-index: -1;
    border-style: solid;
    border-color: #15a4c0;
    content: '';
}

.heading-012::before {
    left: -30px;
    border-width: 25px 25px 25px 15px;
    border-left-color: transparent;
}

.heading-012::after {
    right: -30px;
    border-width: 25px 15px 25px 25px;
    border-right-color: transparent;
}

.heading-012 span::before,
.heading-012 span::after {
    position: absolute;
    bottom: -10px;
    width: 10px;
    height: 10px;
    background-color: #005470;
    content: '';
}

.heading-012 span::before {
    left: 0;
    clip-path: polygon(0 0, 100% 0%, 100% 100%);
}

.heading-012 span::after {
    right: 0;
    clip-path: polygon(0 0, 100% 0%, 0% 100%);
}

/*faq
---------------------------------------------------------------------------*/
.balloon-012 {
    display: grid;
    gap: 1em 0;
    padding: 25px 15px;
    background-color: #769ece;
}

.balloon-012__section {
    display: flex;
    align-items: center;
    gap: 0 15px;
}

.balloon-012__img {
    width: 2.7em;
    height: 2.7em;
    border-radius: 50%;
}

.balloon-012__p {
    display: inline-block;
    position: relative;
    max-width: 80%;
    margin: 0;
    padding: .4em .8em;
    border-radius: 20px;
    color: #333;
    font-size: .9em;
}

.balloon-012__p.left {
    background-color: #fff;
}

.balloon-012__p.right {
    background-color: #30e852;
    margin: 0 10px 0 auto;
}

.balloon-012__p::before {
    position: absolute;
    top: -15px;
    width: 20px;
    height: 30px;
    content: '';
}

.balloon-012__p.left::before {
    left: -10px;
    border-radius: 0 0 0 15px;
    box-shadow: -3px -15px 0 -7px white inset;
}

.balloon-012__p.right::before {
    right: -10px;
    border-radius: 0 0 15px 0;
    box-shadow: 3px -15px 0 -7px #30e852 inset;
}

.box-018 {
	font-family: 'Zen Maru Gothic', sans-serif;
    position: relative;
    max-width: 650px;
    margin: 0 auto;
    padding: 1em calc(1.5em + 9px);
    border-top: 1px solid green;
    border-bottom: 1px solid green;
    color: #333;
}

.box-018::before,
.box-018::after {
    position: absolute;
    width: 1px;
    top: 50%;
    transform: translateY(-50%);
    height: calc(100% + 20px);
    background-color: green;
    content: '';
}

.box-018::before {
    left: 9px;
}

.box-018::after {
    right: 9px;
}

.box-019 {
	font-family: 'Zen Maru Gothic', sans-serif;
    position: relative;
    max-width: 650px;
    margin: 0 auto;
    padding: 1em calc(1.5em + 9px);
    border-top: 1px solid red;
    border-bottom: 1px solid red;
    color: #333;
}

.box-019::before,
.box-019::after {
    position: absolute;
    width: 1px;
    top: 50%;
    transform: translateY(-50%);
    height: calc(100% + 20px);
    background-color: red;
    content: '';
}

.box-019::before {
    left: 9px;
}

.box-019::after {
    right: 9px;
}

.box-020 {
	font-family: 'Zen Maru Gothic', sans-serif;
    position: relative;
    max-width: 650px;
    margin: 0 auto;
    padding: 1em calc(1.5em + 9px);
    border-top: 1px solid orange;
    border-bottom: 1px solid orange;
    color: #333;
}

.box-020::before,
.box-020::after {
    position: absolute;
    width: 1px;
    top: 50%;
    transform: translateY(-50%);
    height: calc(100% + 20px);
    background-color: orange;
    content: '';
}

.box-020::before {
    left: 9px;
}

.box-020::after {
    right: 9px;
}

/* Loading背景画面設定　*/
#splash {
	/*fixedで全面に固定*/
	  position: fixed;
	  width: 100%;
	  height: 100%;
	  z-index: 999;
	  background:#fff;
	  text-align:center;
	  color:#fff;
	}
	
	/* Loading画像中央配置　*/
	#splash_logo {
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  transform: translate(-50%, -50%);
	}
	
	/* Loading アイコンの大きさ設定　*/
	#splash_logo img {
	  width: 430px;
	}
	
	/* fadeUpをするアイコンの動き */
	.fadeUp{
	animation-name: fadeUpAnime;
	animation-duration:1.2s;
	animation-fill-mode:forwards;
	opacity: 0;
	}
	
	@keyframes fadeUpAnime{
	  from {
		opacity: 0;
	  transform: translateY(100px);
	  }
	
	  to {
		opacity: 1;
	  transform: translateY(0);
	  }
	}

.main-photo img{
  display: block;
  margin: auto;
  width: 100%;
  margin-bottom: 10%;
  border-radius: 10px;
}



/*アルバムページ*/

/* スライダー全体のスタイル */
.slider-outer-container {
	position: relative;
	max-width: 900px;
	margin: 10px auto;
	padding: 0 40px;  /* ボタン用のスペース */
}

.album-text{

}

.slider-container {
	width: 100%;
	overflow: hidden;
}

.slider {
	display: flex;
	transition: transform 0.5s ease-in-out;
}

/* スライド（各画像とキャプション）のスタイル */
.slide {
	width: calc(100% / 3);
	flex-shrink: 0;
	text-align: center;
	padding: 0 10px;  /* スライド間のスペース */
}

/* スライド内の画像スタイル */
.slide img {
	width: 100%;
	height: auto;
	border-radius: 15px;  /* 写真の角を丸く */
}

/* 画像の説明文（キャプション）のスタイル */
.caption {
	margin-top: 10px;
	font-size: 14px;
	color: #666;
}

/* 矢印ボタン全体のスタイル */
.slideshow-arrow {
	cursor: pointer;
	fill: #000;  /* 矢印の色 */
	width: 23px;
	height: 39px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	transition: fill 0.3s ease;  /* ホバー時の色変化 */
	padding: 5px;
	border-radius: 50%;
}

/* 左矢印の配置 */
.slideshow-arrow.prev {
	left: 0;
	transform: scaleX(-1) translateY(-50%);  /* 左向きに反転 */
}

/* 右矢印の配置 */
.slideshow-arrow.next {
	right: 0;
}

/* ホバー時の矢印スタイル */
.slideshow-arrow:hover {
	fill: #c0c2c2;  /* 矢印の色を赤に */
}

/* レスポンシブ対応 */
@media screen and (max-width: 767px) {
	/* モバイル用のスライダーコンテナスタイル */
	.slider-outer-container {
		max-width: 300px;
		padding: 0 30px;  /* モバイル用に調整 */
	}

	/* モバイル用のスライドスタイル */
	.slide {
		width: 100%;
		padding: 0;
	}

	/* モバイル用の矢印ボタンスタイル */
	.slideshow-arrow {
		width: 18px;
		height: 30px;
	}
}



.title-header {
	font-weight: bold;		/*太字に*/
	margin-top: 10px;
	background: #555;		/*背景色*/
	margin-bottom: 15px;	/*下に空けるスペース*/
	border-radius: 5px;		/*角を丸くする指定*/
	color: #fff;			/*文字色*/
}


/*企業向けページ*/
.kigyou-text {
	max-width: 900px;
	margin: 10px auto;
}
.list .kigyou-text a{
	color: #65A6DC;
}

/*ta4テーブルブロック設定*/


.ta4 {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #000;
	border-radius: 10px;
	overflow: hidden;
}

.ta4 th, .ta4 td {
	word-break: break-all;
	padding: 5px;
	border-bottom: 1px solid #000;
}

.ta4 th {
	width: 20%;
	text-align: center;
	background: #f7f7f7;
	border-right: 1px solid #000;
}

.ta4 td {
	text-align: center;
}

.ta4 tr:last-child th,
.ta4 tr:last-child td {
	border-bottom: none;
}

.ta4 thead tr th:last-child {
	border-right: none;
}

/*.ta4 {*/
/*	width: 100%;*/

/*}*/

/*.ta4, .ta4 td, .ta4 th {*/
/*	word-break: break-all;*/
/*	padding: 5px;			!*ボックス内の余白*!*/
/*	border: 1px solid #000;	!*テーブルの枠線の幅、線種、色*!*/
/*	border-radius: 10px;*/
/*}*/

/*!*th（左側）のみの設定*!*/
/*.ta4 th {*/
/*	width: 20%;				!*幅*!*/
/*	text-align: center;		!*中央にする*!*/
/*	background: #65A6DC;	!*背景色*!*/
/*}*/

/*.ta4 td {*/
/*	text-align: center;*/
/*}*/

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

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

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

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

	}/*画面幅900px以上の追加指定ここまで*/

.ta4 tbody tr th {
	color:#333;
}

.ta4 tbody tr th {
	color: #333;
}

.Graduation-thesis-theme , .company_name{
	padding: 0.5em 1em;
	margin: 0.8em 0;
	border: solid 1px #000;
	border-radius: 10px;
}

.right-text{
	text-align: right;
}

  /* SNSタイトル中央寄せ */
  .center-text {
    text-align: center;
  }
  
  /* SNSコンテナ */
  .sns-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }
  
  .sns-container > div {
    flex: 1 1 300px;
    max-width: 540px;
  }
  
  .description {
	 font-family: 'Zen Maru Gothic', sans-serif;
    text-align: center;
    margin-bottom: 40px;
  }
  
  .center-text {
    text-align: center;
  }
  .latest-tweet {
	text-align: center;
	margin: 40px 0;
  }
  
  .latest-tweet h2 {
	font-size: 24px;
	margin-bottom: 20px;
  }
  
  .instagram-media {
	width: 100% !important;
	max-width: 540px;
  }
  
