/* 全体の設定
–––––––––––––––––––––––––––––––––––––––––––––––––– */
html {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

body {
	color: #000;
	font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
	font-size: 16px;
	font-weight: 500;
	margin: 0;
	padding: 0;
	line-height: 180%;
}

.full-background {
	background-image: url(img/bk.webp);
	/* 画像ファイルのパスを指定 */
	background-size: cover;
	/* 要素の全面を覆えるサイズに自動調整 */
	background-attachment: fixed;
	/* 背景画像をスクロールしないよう固定 */
	min-height: 100vh;
	/* 画面の縦幅いっぱいに要素の高さを設定 */
	width: 100%;
	/* 要素の横幅を画面いっぱいに設定 */
	background-repeat: no-repeat;
	background-position: 80px;
}

.background {
	width: 100%;
	height: 100vh;
	position: relative;
	background-image: url(../img/bk.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center 0px;
	background-attachment: fixed;
}

.filter {
	width: 100%;
	height: 100%;
	position: fixed;
	background-color: rgba(255, 255, 255, 0.5);
	overflow-y: scroll;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: #006699;
	text-decoration: underline;
	font-weight: bold;
}

a:hover {
	text-decoration: none;
	color: #006666;
}

.sma {
	display: block;
}

/* 
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.topimg {
	text-decoration: none;
	list-style-type: none;
	width: 100%;
}

.rslides {
	position: relative;
	list-style: none;
	overflow: hidden;
	width: 100%;
	margin: 0px;
	padding: 0px;
}

.rslides li {
	-webkit-backface-visibility: hidden;
	position: absolute;
	display: none;
	width: 100%;
	left: 0;
	top: 0;
	list-style-type: none;
}

.rslides li:first-child {
	position: relative;
	display: block;
	float: left;
}

.rslides img {
	display: block;
	height: auto;
	float: left;
	width: 100%;
	border: 0;
}

nav {
	display: block;
	margin: 0px;
	padding: 0px;
}

/*ヘッダー
-------------------------------------*/
.head {
	flex-direction: row;
	height: 80px;
}

header {
	width: 100%;
	margin: 0px;
}

.head img {
	float: left;
}

/*----------------------------------------------------------*/
/*メニューブロック全体の設定*/

nav ul {
	/*max-width: 1200px;*/
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	list-style: none;
	padding-bottom: 0px;
	width: 100%;
	background-image: linear-gradient(#4897dc, #00f2fe);
	margin-top: 0px;
	margin-bottom: 5px;
	color: #fff;
}

/*メニュー１個ごとの設定*/
nav ul li {
	text-align: center;
	list-style: none;
}

nav #navi ul li a {
	color: #fff;
	text-decoration: none;
	display: block;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	line-height: 20px;
	padding-top: 10px;
}

/*最初のメニューの設定*/
nav #navi ul li:first-child {
	border-left: 1px solid #fff;
}

/*マウスオン時の設定*/
nav #navi ul li a:hover {
	background: #1f366d;
}

/*2行目表記の設定*/
nav #navi ul li a span {
	font-size: 18px;
	color: #fff;
	display: block;
	letter-spacing: 0.2em;
	line-height14px;
	padding-bottom: 14px;
}

/*コンテンツ（main,subを囲むブロック）
nav ul {
	max-width: 1200px;
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	list-style: none;
	padding-bottom: 0px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
background-image: linear-gradient(177deg, #4375a8, #244386);	margin-top: 0px;
	margin-bottom: 5px;
	color: #fff;}
nav li {
	display: block;
	flex: 1 0 auto;
	margin-right: 5px;
	margin-left: 5px;
	border-right: 1px solid #fff;	
	padding-top: 10px;
	padding-bottom: 10px;
	color: #FFF;
}
nav #navi ul li a {
	color: #FFF;
	background-color: #069;
	display: block;
	text-align: center;
	text-decoration: none;
	padding: 10px;
}
nav #navi ul li a:hover {
	background-color: #38A5FE;
}*/

.container {
	max-width: 1200px;
	position: relative;
	width: 100%;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	padding-top: 0;
	padding-right: 0.5em;
	padding-bottom: 1em;
	padding-left: 0.5em;
	/*background: #ffffff;*/
	background-color: rgba(255, 255, 255, 0.5);
}

.row {
	display: flex;
	flex-direction: column;
	padding: 0;
	width: 100%;
	clear: both;
}

.col {
	display: block;
	flex: 1 1 auto;
	margin-left: 0;
	max-width: 100%;
	width: 100%;
}

/* 見出し
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 400;
	letter-spacing: 0.1em;
}

h1 {
	text-align: center;
}

h2 {
	font-size: 140%;
	font-weight: bold;
	background-image: linear-gradient(#4897dc, #00f2fe);
	text-shadow: 0 0 5px rgba(0, 0, 0, 1);
	color: #FFF;
	border: 1px solid #09C;
	clear: both;
	border-radius: 5px;
	margin-bottom: 1em;
	padding-top: 0.5em;
	padding-right: 1em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	margin-top: 1em;
}

/*h3 {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #c3d9ff), color-stop(1.00, #97b0d9));
	background: -webkit-linear-gradient(#c3d9ff, #97b0d9);
	background: -moz-linear-gradient(#c3d9ff, #97b0d9);
	background: -o-linear-gradient(#c3d9ff, #97b0d9);
	background: -ms-linear-gradient(#c3d9ff, #97b0d9);
	background: linear-gradient(#c3d9ff, #97b0d9);
	padding: 0.5em;
	color: #000;
	margin-top: 1em;
	clear: both;
	border-radius: 5px;
}*/
h3 {
	background-image: linear-gradient(#aafbf9, #3e6796);
	text-shadow: 0 0 5px rgba(0, 0, 0, 1);
	color: #FFF;
	margin-top: 1em;
	margin-bottom: 1em;
	padding-top: 0.5em;
	padding-right: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	font-weight: bold;
	border-radius: 5px;
}

.side h3 {
	background-image: linear-gradient(#accbee, #e7f0fd);
	text-shadow: 0 0 5px rgba(0, 0, 0, 0);
	border-radius: 5px;
	color: #000;
	border: 1px solid #063;
}

.side a {
	color: #2164AC;
	margin-top: 1em;
	margin-bottom: 1em;
	padding-top: 0.5em;
	padding-right: 0.5em;
	padding-bottom: 0.5em;
	text-decoration: none;
}

.side a:hover {
	color: #F00;
	margin-top: 1em;
	margin-bottom: 1em;
	padding-top: 0.5em;
	padding-right: 0.5em;
	padding-bottom: 0.5em;
}

.list01 li {
	padding-left: 1em;
	text-indent: -1.2em;
	list-style-type: none;
	margin-left: 1em;
}

.list01 li span {
	font-weight: bold;
}

.list01 li:before {
	content: "●";
	color: #0066cc;
	padding-right: .2em;
}

h4 {
	color: #FFFFFF;
	font-weight: bold;
	margin-top: 1em;
	margin-bottom: 1em;
}

h5 {
	font-size: 1.8rem;
	letter-spacing: -.05rem;
}

h6 {
	font-size: 1.5rem;
	letter-spacing: 0;
}

h4 {
	color: #FFFFFF;
	font-weight: bold;
	background-color: #2164AC;
	padding: 0.5em;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 10px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: double;
	border-top-color: #999;
	border-right-color: #999;
	border-bottom-color: #999;
	border-left-color: #FFF;
}

h5 {
	font-size: 18px;
	letter-spacing: -.05rem;
	font-weight: bold;
	color: #000;
	padding-top: 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	padding-left: 1em;
	margin-left: 1em;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #2164AC;
	margin-top: 0.5em;
}

h6 {
	font-size: 1.5rem;
	letter-spacing: 0;
}

th,
td {
	border: solid 1px;
}

.side {
	background-color: #eee;
	padding: 1em;
}

table {
	border-collapse: collapse;
}

.topimg {
	max-width: 1200px;
	width: 100%;
	margin-top: 5;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	clear: both;
}

/* 全幅
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.full-width {
	width: 100%;
	box-sizing: border-box;
	margin-right: auto;
	margin-left: auto;
}

.max-full-width {
	max-width: 1200px;
	box-sizing: border-box;
}

.pull-right {
	float: right;
}

.pull-left {
	float: left;
}

footer .copyright {
	color: #FFF;
	background-image: linear-gradient(#4897dc, #00f2fe);
	text-align: center;
	padding: 10px;
}

main #pagetop a {
	color: #FFF;
	background-color: #1f366d;
	padding: 18px;
}

main {
	margin-top: 1em;
	margin-bottom: 1em;
	font-weight: 600;
	color: #000;
}

/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
	position: fixed;
	bottom: 15px;
	right: 15px;
}

#pagetop a {
	display: block;
	color: #fff;
	width: 80px;
	padding: 20px 5px;
	text-align: center;
	border-radius: 90%;
	border: 1px solid #fff;
	background-color: #1F366D;
}

#pagetop a:hover {
	background: #E74E40;
	color: #fff;
}

.box1 {
	margin-left: 1em;
}

.box {
	background-color: rgba(255, 255, 255, 0.8);
	padding-top: 1em;
	padding-bottom: 1em;
	margin-top: 1em;
	margin-bottom: 1em;
	border: 1px solid #099;
	border-radius: 10px;
	font-weight: 600;
}

.box2 {
	padding: 1em;
}

.full-width {
	width: 96%;
	box-sizing: border-box;
	margin-right: auto;
	margin-left: auto;
}

.type2 table {
	border: 1px solid #999;
	border-collapse: separate;
	width: 100%;
	font-size: 98%;
	margin: 1px auto 1em;
}

.type2 td {
	border-top: 1px solid #CCC;
	border-right: 1px solid #FFF;
	border-bottom: none;
	border-left: 1px solid #CCC;
	padding: 0.5em;
}

.type1 tbody tr:nth-child(even),
.type2 tbody tr:nth-child(even),
.type3 tbody tr:nth-child(even) {
	background-color: #ECECEC;
	padding: 5px;
}

.type2 th,
.type3 th {
	border: 1px solid #CCC;
}

.type2 thead tr,
.type3 thead tr {
	border-right: 1px solid #CCC;
	border-bottom: 1px solid #666;
	border-left: 1px solid #FFF;
	margin: 1px;
}

.type2 tbody tr,
.type3 tbody tr {
	border-bottom: 2px solid #999;
}

.fonttype2 {
	font-size: 100%;
	font-weight: 700;
	color: #297FB8;
	clear: both;
	border: 1px solid #39F;
	padding: 0.5em;
	margin-top: 1em;
	margin-bottom: 1em;
}

.fontposition-r {
	text-align: right;
	margin-right: 1em;
}

.fontposition-c {
	text-align: center;
	margin-right: 1em;
	margin-left: 1em;
}

.fontposition-a {
	margin-left: 50%;
}

.kon {
	background-color: #1f366d;
	color: #FFF;
}

.cream {
	background-color: #E5E9BE;
	color: #000;
}

.gray {
	background-color: #eee;
	color: #000;
}

.mizuiro {
	color: #000;
	background-image: linear-gradient(#c3d9ff, #97b0d9);
	font-weight: bold;
}

#sfwrapper {
	margin: 0 3em;
}

/*header.sfmaker {
	background-color: #339966;
	color: white;
	border-radius: 5px;
	padding: 1em;
}

header.sfmaker h1 {
	text-shadow: 1px 1px 2px gray;
}

header.sfmaker a {
	color: white;
}

form.sfmaker {
	display: table;
	margin: 0.5em auto;
	width: 100%;
}

form.sfmaker .form-group {
	display: table-row;
	margin: 0.5em;
	width: 100%;
}

form.sfmaker .form-group>div {
	display: table-cell;
	padding: 0.5em;
}

form.sfmaker .form-group>label {
	display: inline-block;
	text-align: right;
	margin-right: 0.5em;
	font-weight: bold;
	vertical-align: middle;
	margin-left: 1em;
}

form.sfmaker .form-group>div input[type="text"],
form.sfmaker .form-group>div input[type="email"],
form.sfmaker .form-group>div textarea {
	border-radius: 5px;
	padding: 0.5em;
	border: 1px solid gray;
	width: 100%;
}

form.sfmaker .form-group>div input[size] {
	width: auto;
}

form.sfmaker select {
	border-radius: 5px;
	padding: 0.5em;
	border: 1px solid gray;
}

form.sfmaker input[type=submit] {
	color: #FFF;
	padding: 1em 2em;
	border-radius: 5px;
	border: 1px solid #666;
	font-weight: bold;
	background: #999;
}

form.sfmaker-vert .form-group>div {
	display: block;
	margin-bottom: 1em;
}

form.sfmaker-vert .form-control {
	width: 100%;
}

form.sfmaker-vert .form-inline .form-control {
	display: inline-block;
	width: auto;
}

form.sfmaker-vert .form-group>label {
	display: block;
	width: 100%;
	text-align: left;
	margin-bottom: 0.5em;
}*/

table.table {
	border-collapse: collapse;
	width: 100%;
	margin: 1em 0em;
}

table.table th,
table.table td {
	padding: 0.5em 1em;
}

table.table-border th,
table.table-border td {
	border: 1px solid #ccc;
}

a.retbtn {
	display: inline-block;
	padding: 1em 2em;
	border-radius: 5px;
	border: none;
	font-weight: bold;
	background-color: #339966;
	color: white;
}

#sfwrapper table tr th {
	color: #FFF;
}

.fltrt {
	float: right;
	margin-left: 8px;
}

.fltlft {
	float: left;
	margin-right: 8px;
}

.clearfloat {
	clear: both;
	height: 0;
	font-size: 1px;
	line-height: 0px;
}

/* olのスタイル */
ol {
	padding: 0;
	list-style: none;
	/* デフォルトの数字を非表示に */
	counter-reset: li;
	margin-bottom: 1em;
	margin-left: 1em;
}

/* ol内のliのスタイル */
ol {
	counter-reset: my-counter;
	list-style: none;
	padding: 0;
	margin: 0;
}

ol li {
	font-size: 16px;
	line-height: 1.5;
	padding-left: 30px;
	position: relative;
}

ol li:before {
	content: counter(my-counter);
	counter-increment: my-counter;
	background-color: #1f366d;
	border: 1px solid;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 22px;
	width: 22px;
	color: #ffffff;
	font-size: 85%;
	line-height: 1;
	position: absolute;
	top: 0;
	left: 0;
}