@charset "utf-8";

/*---------------------------------------------
	初期化
  ---------------------------------------------*/
* { margin: 0; padding: 0; }
*,
*::before,
*::after { box-sizing: border-box; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
ul { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; }
form label { cursor: pointer; }
a img { border: none; }
img { vertical-align: bottom; }
th { font-weight: normal; }

/*---------------------------------------------
	body
  ---------------------------------------------*/
body {
	color: #333333;
	color: #333333;
	font-size: 16px;
	line-height: 2.2;
	text-align: left;
	-webkit-text-size-adjust: none;
	overflow-x:hidden;
	background-color: #ffffff;
	animation: fadeIn 2.0s ease 0s 1 normal;
	-webkit-animation: fadeIn 2.0s ease 0s 1 normal;
	image-rendering:auto;
}
/* chrome opera */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
    body {
        image-rendering: -webkit-optimize-contrast;
    }
}
@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}

/*---------------------------------------------
	Text
  ---------------------------------------------*/
html {
    font-family: sans-serif;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 10px;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
	overflow-x:hidden;
	scroll-behavior: smooth;
}
body { font-size: 16px; font-size: 1.6rem; }
h1, h2, h3, h4, h5 {
	color: #003F73;
	line-height: 1.7;
}
h2 {
	margin: 100px auto 80px;
	text-align: center;
	color: #003F73;
	font-size: 50px; font-size: 5.0rem;
}
h3 { font-size: 32px; font-size: 3.2rem; padding: 50px 0 30px; text-align: center; }
h4 { font-size: 22px; font-size: 2.2rem; padding: 40px 0 25px; }

p { line-height: 2.2; margin-bottom: 0.7em; }
.text12 { font-size: 12px; font-size: 1.2rem; }
.text13 { font-size: 13px; font-size: 1.3rem; }
.text14 { font-size: 14px; font-size: 1.4rem; }
.text16 { font-size: 16px; font-size: 1.6rem; }
.text18 { font-size: 18px; font-size: 1.8rem; }
.text20 { font-size: 20px; font-size: 2.0rem; }
.text24 { font-size: 24px; font-size: 2.4rem; }

@media (max-width: 520px) {
	h2 { font-size: 3.0rem; padding: 50px 0 40px; }
	h3 { font-size: 2.4rem; padding: 40px 0 30px; }
	h4 { font-size: 1.8rem; padding: 40px 0 30px; }
	body, p { font-size: 1.4rem; }
}


/*---------------------------------------------
	Anchor
  ---------------------------------------------*/
a { outline: none; }
a:link { text-decoration: none; color: #0059AF; }
a:visited { text-decoration: none; color: #0059AF; }
a:hover { text-decoration: underline; color: #0059AF; }
a:active { text-decoration: underline; color: #0059AF; }
a img:hover {
	filter: alpha(opacity=90);
	-moz-opacity:0.9;
	opacity:0.9;
}

/*---------------------------------------------
	一般設定
  ---------------------------------------------*/
img { max-width: 100%; height: auto; width: auto\9; /* ie8 */ }
img.full { width: 100%; }
img.boder { border: 1px solid #cccccc; }
.zero { margin: 0; padding: 0; }
.zero-top {	margin-top: 0; padding-top: 0; }
.zero-bottom {	margin-bottom: 0; padding-bottom: 0; }
.round { border-radius: 20px; }
.circle { border-radius: 50%; }
.center { text-align:center; }
.left { text-align:left; }
.right { text-align:right; }
.shadow { box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2); }
.space10 { margin-bottom: 10px; }
.space15 { margin-bottom: 15px; }
.space20 { margin-bottom: 20px; }
.space30 { margin-bottom: 30px; }
.space40 { margin-bottom: 40px; }
.space50 { margin-bottom: 50px; }
.space60 { margin-bottom: 60px; }
.space80 { margin-bottom: 80px; }
.space100 { margin-bottom: 100px; }
.underline { border-bottom: 1px solid #999999; margin-bottom: 30px; padding-bottom: 30px; }
.underline-dot { border-bottom: 1px dotted #999999; margin-bottom: 30px; padding-bottom: 30px; }
.underline-dot.wide { margin-bottom: 50px; padding-bottom: 50px; }
.float-right { float: right; position: relative; }
.float-left { float: left; position: relative; }
.caution { color:#cc0000; }
.bold { font-weight: 700; }
.mincho { font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }
.copy-guard { pointer-events: none; }
i.fa { margin: 0 0.3em 0 0.3em; }
.read span { display:inline-block }
.img-full { width: 100%; }
.waku { border: 1px solid #cccccc; padding: 30px; margin: 40px 0; background-color: #ffffff; }
.waku-blue { border-color: #0059af; background-color: #ffffff; }

/* ------ 余白 ------ */
.mt1em { margin-top: 0.5em !important; }
.mt2em { margin-top: 1.5em !important; }
.mt3em { margin-top: 2.5em !important; }
.mt4em { margin-top: 4em !important; }
.mt5em { margin-top: 5em !important; }
.mb1em { margin-bottom: 0.5em !important; }
.mb2em { margin-bottom: 1.5em !important; }
.mb3em { margin-bottom: 2.5em !important; }
.mb4em { margin-bottom: 4em !important; }
.mb5em { margin-bottom: 5em !important; }
.pb1em { padding-bottom: 0.5em !important; }
.pb2em { padding-bottom: 1.5em !important; }
.pb3em { padding-bottom: 2.5em !important; }
.pb4em { padding-bottom: 4em !important; }
.pb5em { padding-bottom: 5em !important; }
@media (max-width: 767px) {
	.mt1em { margin-top: 0.3em !important; }
	.mt2em { margin-top: 1.2em !important; }
	.mt3em { margin-top: 1.8em !important; }
	.mt4em { margin-top: 2.5em !important; }
	.mt5em { margin-top: 4em !important; }
	.mb1em { margin-bottom: 0.3em !important; }
	.mb2em { margin-bottom: 1.2em !important; }
	.mb3em { margin-bottom: 1.8em !important; }
	.mb4em { margin-bottom: 2.5em !important; }
	.mb5em { margin-bottom: 4em !important; }
}

/* ------ float clear ------ */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.clearfix:before {
　　　　content: "";
	display: block;
	clear: both;
}
.clearfix {
	display: block;
}

/*---------------------------------------------
	Table
  ---------------------------------------------*/
table {
	width:100%;
    border-collapse: collapse;
    border-spacing: 0;
	margin: 20px 0;
}
table.general th, table.general td {
	padding: 10px;
	background-color: #ffffff;
	border: 1px solid #cccccc;
	line-height: 1.6;
}
table.general th {
	font-weight: normal;
	background-color: #FFF7E8;
}
/* テーブル 横スクロール */
.table {
	overflow: auto;
	position: relative;
	border: none;
}
.table.memo-before { padding-top:2em; }
.table.memo-after { padding-bottom: 2em; }
.table.memo-before:before,
.table.memo-after:after {
	line-height:1;
	content: "※横スクロールで表全体を見ることが出来ます";
	position: absolute;
	left: 0;
	font-size: 80%;
}
.table.memo-before:before { top: 1em; }
.table.memo-after:after { bottom: 1em; }
@media (min-width: 520px) {
	.table.memo-before { padding-top: 0; }
	.table.memo-after { padding-top: 0; padding-bottom: 0; }
	.table.memo-before:before,
	.table.memo-after:after { padding-top: 0; content: ""; }
}


/*---------------------------------------------
	コンテンツ
  ---------------------------------------------*/

#contents-container { max-width: 100%; margin: 70px 0 50px; }
@media (max-width: 850px) {
	#contents-container { margin-bottom: 40px; }
}
.contents1200,
.contents1100,
.contents1000,
.contents800,
.contents720,
.contents600 { margin: 0 auto; position: relative; padding: 0 25px; }
.contents1200 { max-width: 1250px; }
.contents1100 { max-width: 1150px; }
.contents1000 { max-width: 1050px; }
.contents800 { max-width: 850px; }
.contents720 { max-width: 770px; }
.contents600 { max-width: 650px; }

.title {
	max-width: 140px;
	margin: 100px auto 80px;
}
.title.top {
	max-width: 280px;
	margin: 100px auto;
}

.btn a {
	position: relative;
	color: #003F73;
	text-align: center;
	font-size: 16px; font-size: 1.6rem;
	line-height: 50px;
	padding: 0 20px;
	max-width: 320px;
	border-radius: 10px;
	border: 1px solid #003F73;
	display: block;
	margin: 60px auto 20px;
	transition: all 0.2s;
}
.btn a:hover {
	color: #ffffff;
	background-color: #003F73;
	text-decoration: none;
}

/* ------ リスト ------ */
ul.list li {
	margin: 8px 0;
	padding-left: 20px;
	background: url(../image/icon-arrow.png) no-repeat top 11px left 3px / auto 10px;
}
ul.list-line {
	margin-bottom: 30px;
}
ul.list-line li {
	margin-bottom: 10px;
	border-bottom: 1px dotted #999999;
	padding-bottom: 10px;
}

/*---------------------------------------------
	ページの先頭へ
  ---------------------------------------------*/
#page-top { width:50px; height:50px; display:none; position:fixed; right:20px; bottom:20px; z-index: 101; }
#page-top p { margin: 0; padding: 0; text-align: center; background-color: #003F73; }
#page-top p:hover { background-color: rgba(0,89,175,0.8); transition: 0.4s; }
#move-page-top { color:#fff; line-height:50px; text-decoration:none; display:block; cursor:pointer; }
@media (max-width: 767px) {
	#page-top { width:40px; height:40px; right:15px; bottom:20px; }
	#move-page-top { line-height:40px; }
}

/*---------------------------------------------
	フッタ
  ---------------------------------------------*/
footer {
	max-width: 100%;
	text-align: center;
	font-size: 12px; font-size: 1.2rem;
	margin-top: 80px;
	border-top: 1px dotted #999999;
	padding-top: 30px;
}
.footer .typo {
	max-width: 120px;
	margin: 0 auto 15px;
}
.footer p {
	line-height: 1.8;
}
footer .copy {
	margin-bottom: 20px;
}

/*---------------------------------------------
	レスポンシブ
  ---------------------------------------------*/
@media (min-width: 521px) {
	.forSP { display:none }
	.forPC { display:block }
}
@media (max-width: 520px) {
	.forPC { display:none }
	.forSP { display:block }
}