@charset "UTF-8";
body {
	font: 150%/1.4 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	background: #4E5869;
	margin: 0;
	padding: 0;
	color: #666;
}
/* ~~ エレメント / タグセレクター ~~ */
ul, ol, dl { /* ブラウザー間の相違により、リストの余白とマージンをゼロにすることをお勧めします。一貫性を保つために、量をここで指定するか、リストに含まれるリスト項目 (LI、DT、DD) で指定できます。より詳細なセレクターを記述しない限り、ここで指定する内容が .nav リストにも適用されることに注意してください。 */
	padding: 0;
	margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
	margin-top: 0;	 /* 上マージンを削除すると、マージンを含む div からマージンがはみ出す場合があるという問題を回避できます。残った下マージンにより、後続のエレメントからは離されます。 */
	padding-right: 20px;
	padding-left: 20px; /* div 自体ではなく div 内でエレメントの両側に余白を追加すると、ボックスモデル計算が不要になります。代わりに、両側に余白を指定した div をネストして使用することもできます。 */
}
h2 {
	color: #6eb92b;
}
#shushin h2 {
	color: #369;
}

p {
	line-height: 2em;
	margin-bottom: 1em;
}
a img { /* このセレクターは、一部のブラウザーでイメージをリンクで囲んだ場合にイメージの周囲に表示される初期設定の青いボーダーを削除します。 */
	border: none;
}
/* ~~ サイトのリンクのスタイル付けは、ホバー効果を作成するセレクターグループも含め、この順序にする必要があります。~~ */
a:link {
	color: #414958;
	text-decoration: underline; /* 非常に特殊な表示方法でリンクをスタイル付けする場合を除き、一目で見分けられるように下線を指定することをお勧めします。 */
}
a:visited {
	color: #4E5869;
	text-decoration: underline;
}
a:hover, a:active, a:focus { /* このセレクターグループは、キーボードを使用するユーザーに対し、マウスを使用するユーザーと同じホバー効果を提供します。 */
	text-decoration: none;
}
/* ~~ このコンテナが他のすべての div を囲み、パーセンテージに基づいた幅を指定します。~~ */
.container {
	width: 100%;
	max-width: 1150px;/* 1260pxレイアウトが大型モニターで広がりすぎないように、最大幅を指定することをお勧めします。これにより、読みやすい行の長さを保つことができます。IE6 ではこの宣言は無視されます。 */
	min-width: 360px;/* レイアウトが狭くなりすぎないように、最小幅を指定することをお勧めします。これにより、サイドカラムで読みやすい行の長さを保つことができます。IE6 ではこの宣言は無視されます。 */
	background: #FFF;
	margin: 0 auto; /* 幅に加え、両側を自動値とすることで、レイアウトが中央に揃います。.container の幅を 100% に設定した場合、これは必要ありません。 */
}
/* ~~ これはレイアウト情報です。~~ 

1) 余白は、div の上部または下部にのみ配置されます。この div 内のエレメントには、それ自体に余白があるので、ボックスモデル計算を行う必要がありません。ただし、div 自体に両側の余白やボーダーを指定した場合、その値が加算されたものが合計幅になることに注意してください。div 内のエレメントの余白を削除し、さらにその div 内に、全体のデザインに必要な幅や余白を指定していない 2 つ目の div を追加することもできます。

*/
.content {
	padding: 0 0 10px;
}
/* ~~ このセレクターグループは、.content 内のリストに領域間隔を指定します。~~ */
.content ul, .content ol {
	padding: 0 15px 15px 40px; /* この余白は、上述の見出しと段落ルールの右の余白を表します。下の余白はリスト内の他のエレメントとの間隔用に配置され、左の余白はインデント作成用に配置されています。これは必要に応じて調整できます。 */
}
/* ~~ その他の float/clear クラス ~~ */
.fltrt {  /* このクラスを使用すると、ページ内でエレメントを右にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: right;
	margin-left: 8px;
}
.fltlft { /* このクラスを使用すると、ページ内でエレメントを左にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* このクラスは、.container で overflow:hidden が削除されている場合に、<br /> または空の div で、フローティングさせる最後の div に続く最後のエレメントとして (#container 内に) 配置できます。 */
	clear: both;
	height: 0;
	font-size: 1px;
	line-height: 0px;
}
img {
	max-width: 100%;
	height: auto;
	margin: 2em 0;
}
a.linkbtn {
	display: block;
	margin: 3em auto;
	font-weight: bold;
	font-size: 1.5em;
	padding: 10px 20px;
	background-color: #6eb92b;
	text-align: center;
	color: #fff;
	text-decoration: none;
	border-radius: 5px; /* CSS3草案 */
	-webkit-border-radius: 5px; /* Safari,Google Chrome用 */
	-moz-border-radius: 5px; /* Firefox用 */
}
a.linkbtn:hover {
	background-color: #bddb93;
}
.pagetop {
	display: none;
	position: fixed;
	bottom: 30px;
	right: 15px;
}
.pagetop a {
	display: block;
	background-color: #ccc;
	text-align: center;
	color: #222;
	font-size: 30px;
	text-decoration: none;
	padding: 20px 40px;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}
.pagetop a:hover {
	display: block;
	background-color: #b2d1fb;
	text-align: center;
	color: #fff;
	font-size: 30px;
	text-decoration: none;
	padding: 20px 40px;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}
.video-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	margin-bottom: 2em;
}
.video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.video-wrapper {
	margin: 1em auto;
	width: 800px;
	max-width: 100%;
}
ul {
	margin-bottom: 2em;
}
li {
	margin-left: 20px;
	padding-bottom: 0.5em;
}
/*グローバルメニュー*/
#menu-box {
	background: #333;
	position: fixed;
	width: 100%;
	max-width: 1150px;
}
#menu {
	width: 100%;
	max-width: 1150px;
	margin: 0 auto;
	padding: 0;
	display: table;
	table-layout: fixed;
}
#menu li {
	display: block;
	float: left;
	width: calc(100% / 6);
	margin: 0;
	padding: 0;
}
#menu li a {
	display: block;
	padding: 12px 0 10px;
	background: #333;
	color: #fff;
	text-align: center;
	text-decoration: none;
	font-size: 18px;
}
#menu li a:hover {
	background: #444;
}
#toggle {
	display: none;
}
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_qa .cp_actab {
	position: relative;
	overflow: hidden;
	width: 95%;
	margin: 0 0 1em 2.5%;
	color: #666;
}
.cp_qa .cp_actab input {
	position: absolute;
	opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
	font-weight: bold;
	line-height: 1.6em;
	position: relative;
	display: block;
	margin: 0 0 0 0;
	padding: 1em 3em 1em 2.5em;
	cursor: pointer;
	text-indent: 1.5em;
	border-radius: 0.5em;
	background: rgba(27,37,56,0.1);
}
.cp_qa .cp_actab label::before {
	font-family: serif;
	font-size: 1.5em;
	margin-left: -2em;
	padding-right: 0.5em;
	content: 'Q';
}
.cp_qa .cp_actab label:hover {
	transition: all 0.3s;
	color: #6eb92b;
}
/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
	font-size: 1.7em;
	font-weight: bold;
	line-height: 2em;
	position: absolute;
	top: 0;
	right: 0em;
	content: '+';
	display: inline-block;
	width: 2em;
	height: 2em;
	-webkit-transition: transform 0.4s;
	transition: transform 0.4s;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
	position: relative;
	overflow: hidden;
	max-height: 0;
	padding: 0 0 0 2.5em;
	-webkit-transition: max-height 0.2s;
	transition: max-height 0.2s;
	border-radius: 0 0 0.5em 0.5em;
}
.cp_qa .cp_actab .cp_actab-content::before {
	font-family: serif;
	font-size: 1.5em;
	position: absolute;
	margin: 0.4em 0 0 -1em;
	padding: 0;
	content: 'A';
}
.cp_qa .cp_actab .cp_actab-content p {
	margin: 1em 1em 1em 0;
}
/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
	max-height: 40em;
	border: 10px solid rgba(27,37,56,0.1);
}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked ~ label {
	color: #6eb92b;
	border-radius: 0.5em 0.5em 0 0;
}
/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
	-webkit-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
}
.tbl-r02 {
	width: 90%;
	margin: 0 auto 60px;
	border-collapse: collapse;
}
.tbl-r02 th {
	background: #e9727e;
	border: solid 1px #ccc;
	color: #fff;
	padding: 10px 20px;
	white-space: nowrap;
	font-weight: normal;
	width: 6em;
}
#shushin .tbl-r02 th {
	background: #667;
}
.tbl-r02 td {
	　background: #fff;
	border: solid 1px #ccc;
	color: #666;
	padding: 10px;
	font-size: 0.8em;
	line-height: 1.6em;
}
div#ikuji-seitai {
	background-color: #Fee;
	padding: 0 0 2em 0;
}
img.ikuji {
	width: 60%;
	padding: 0 20%;
}

[class^="flex-col"] {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

/* コンテンツ下のマージン */
.flex-child { margin-bottom: 0px; }

/* 各カラム毎のコンテンツと疑似要素の横幅 */
.flex-col2 .flex-child { width: calc( (100% - 10px) / 2 ); }

.flex-col3::after,
.flex-col3 .flex-child { width: calc( (100% - 20px) / 3 ); }

.flex-col4::before,
.flex-col4::after,
.flex-col4 .flex-child { width: calc( (100% - 10px) / 4 ); }
	
/* 最終行は両端揃えにしない */
.flex-col3::after,
.flex-col4::before,
.flex-col4::after { content: ""; }

.flex-col4::before { order: 1; }

.flex-child img {margin:0 0 20px;}

 @media only screen and (max-width: 768px) {
h2 {
	font-size: 130%
}
p {
	font-size: 0.9em;
	line-height: 1.7em;
}
#menu {
	display: none;
}
#menu li {
	width: 100%;
}
#toggle {
	display: block;
	position: relative;
	width: 100%;
	background: #222;
}
#toggle a {
	display: block;
	position: relative;
	padding: 12px 0 10px;
	border-bottom: 1px solid #444;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
#toggle:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: #fff;
}
#toggle a:before, #toggle a:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 20px;
	height: 4px;
	background: #222;
}
#toggle a:before {
	margin-top: -6px;
}
#toggle a:after {
	margin-top: 2px;
}
.last td:last-child {
	border-bottom: solid 1px #ccc;/*width: 95%;*/
}
.tbl-r02 {
	width: 100%;
}
.tbl-r02 td {
	border-top: none;
	　　border-bottom: none;
	display: block;
	width: 95%;
	padding: 10px 2.5%;
}
.tbl-r02 th {
	border-top: none;
	　　border-bottom: none;
	display: block;
	width: 100%;
	padding: 10px 0;
}
img.ikuji {
	width: 100%;
	padding: 0;
}
}
