@charset "UTF-8";
/* CSS Document */

/*-----------------------------------------------------------------------------
	Reset
-----------------------------------------------------------------------------*/

ul,ol {
	margin-left: 0;
	 padding: 0;
}
ul li{
	list-style:none;
}
ul.fa-ul {
    margin-left: 2em;
}
img {
    outline: none;
    border: none;
    max-width: 100%;
    height: auto;
}
figure img {
	width: auto;
    max-width: 100%;
    height: auto;
}
/*-----------------------------------------------------------------------------
	Typography
-----------------------------------------------------------------------------*/
html {
  	width: 100%;
    height: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    font-size: 10px;
}
body {
	position: relative;
	color: #212121;
	font-size: 1.5rem;
	font-weight: 500;
	font-style: normal;
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,"游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif;
	line-height: 2;
	letter-spacing: .025em;
	overflow-x: hidden;
}
h2,h3,h4 {
	line-height: 1.5;
}
h4 {
	font-size: 1.1em;
}
h5 {
	font-size: 1em;
}
h2.color {
	color: #4082bb;
	font-size: 2.6rem;
	margin-bottom: 1em;
}
h2.border3 {
	color: #000000;
	line-height: 1.5;
	border-bottom: 5px solid rgba(0,88,164,.25);
}
.border4 {
	border-bottom: 3px solid #66CC33;
	font-size: 2rem;
	padding-left: 1.5em;
    text-indent: -1.25em;
    position: relative;
}
h3.bg {
	color: #fff;
	background: #0058a4;
	padding: 1em;
	margin-bottom: 1rem;
}
h3.bg-2 {
	color: #fff;
	background: #0058a4;
	padding: .45em 1em;
	margin-bottom: 1em;
	position: relative;
}
h3.bg-2:before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border: 10px solid #fff;
	border-top: 10px solid rgba(0, 0, 0, 0.2);
	border-left: 10px solid rgba(0, 0, 0, 0.2);
}
h3.bg-2 i {
	margin-right: .5em;
}

h3.bg-3 {
	color: #fff;
	background: #FFC000;
	padding: .45em 1em;
	margin-bottom: 1em;
	position: relative;
}
h3.bg-3:before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border: 10px solid #fff;
	border-top: 10px solid rgba(0, 0, 0, 0.2);
	border-left: 10px solid rgba(0, 0, 0, 0.2);
}
h3.bg-3 i {
	margin-right: .5em;
}

h3.bg-4 {
	color: #fff;
	background: #00B050;
	padding: .45em 1em;
	margin-bottom: 1em;
	position: relative;
}
h3.bg-4:before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border: 10px solid #fff;
	border-top: 10px solid rgba(0, 0, 0, 0.2);
	border-left: 10px solid rgba(0, 0, 0, 0.2);
}
h3.bg-4 i {
	margin-right: .5em;
}

h3.bg-5 {
	color: #000;
	background: #92D050;
	padding: .45em 1em;
	margin-bottom: 1em;
	position: relative;
}
h3.bg-5:before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border: 10px solid #fff;
	border-top: 10px solid rgba(0, 0, 0, 0.2);
	border-left: 10px solid rgba(0, 0, 0, 0.2);
}
h3.bg5 i {
	margin-right: .5em;
}

h3.bg-6 {
	color: #fff;
	background: #FF66CC;
	padding: .45em 1em;
	margin-bottom: 1em;
	position: relative;
}
h3.bg-6:before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border: 10px solid #fff;
	border-top: 10px solid rgba(0, 0, 0, 0.2);
	border-left: 10px solid rgba(0, 0, 0, 0.2);
}
h3.bg-6 i {
	margin-right: .5em;
}

h3.bg-7 {
	color: #fff;
	background: #990099;
	padding: .45em 1em;
	margin-bottom: 1em;
	position: relative;
}
h3.bg-7:before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border: 10px solid #fff;
	border-top: 10px solid rgba(0, 0, 0, 0.2);
	border-left: 10px solid rgba(0, 0, 0, 0.2);
}
h3.bg-7 i {
	margin-right: .5em;
}

h3.bg-8 {
	color: #fff;
	background: #0099FF;
	padding: .45em 1em;
	margin-bottom: 1em;
	position: relative;
}
h3.bg-8:before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border: 10px solid #fff;
	border-top: 10px solid rgba(0, 0, 0, 0.2);
	border-left: 10px solid rgba(0, 0, 0, 0.2);
}
h3.bg-8 i {
	margin-right: .5em;
}

h3.bg-9 {
	color: #FFFF00;
	background: #FF0000;
	padding: .45em 1em;
	margin-bottom: 1em;
	position: relative;
}
h3.bg-9:before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border: 10px solid #fff;
	border-top: 10px solid rgba(0, 0, 0, 0.2);
	border-left: 10px solid rgba(0, 0, 0, 0.2);
}
h3.bg-9 i {
	margin-right: .5em;
}

h3.border2 {
	border-bottom: 3px solid #4082bb;
	margin-bottom: 1em;
	padding-bottom: 5px;
	font-size: 2rem;
	padding-left: 1.5em;
    text-indent: -1.25em;
    position: relative;
}
h3.border2_2 {
	margin-bottom: 1em;
	padding-bottom: 5px;
	font-size: 2rem;
	padding-left: 1.5em;
    text-indent: -1.25em;
    position: relative;
}
h3.border2 span.num {
	margin-right: 5px;
}
h3.border2.icon {
	padding-left: 1.5em;
	text-indent: 0;
	position: relative;
}
h3.border2.icon i {
	position: absolute;
	top: .27em;
	left: .2em;
	color: #4082bb;
}
h3.border-l {
	padding-left: .5em;
	border-left: 6px solid #0058a4;
	margin-bottom: 1.5em;
}
h3.font-l {
	margin-bottom: 1em;
	padding-bottom: 5px;
	font-size: 2rem;
	padding-left: 1.5em;
    text-indent: -1.25em;
    position: relative;
}

h4.border-l {
	padding-left: .5em;
	border-left: 5px solid #0058a4;
	margin-bottom: .5em;
}
h4.border-l.mb-20 {
	margin-bottom: 20px;
}
h4.border {
	border-bottom: 1px solid #0058a4;
	padding-bottom: 5px;
	padding-left: .25em;
	margin-bottom: .75em;
}


.mincho {
	font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.font-xxl {
	font-size: 2rem;
}

.font-m {
	font-size: 1.6rem;
}
.font-l {
	font-size: 1.2em;
}
.font-xl {
	font-size: 1.5em;
}
.en {
	font-family: 'Cardo', serif;
}

h3.border {
	border-bottom: 1px solid #0058a4;
    padding-bottom: 1.6rem;
    font-size: 2rem;
    font-weight: 500;
}
h2.c-line {
	position: relative;
	text-align: center;
	font-size: 2.6rem;
}
h2.c-line span {
    position: relative;
    z-index: 2;
    display: inline-block;
    margin: 0 2.5em;
    text-align: center;
    line-height: 1.4;
    padding: 4px 1em;
    background: #fff;    
    color: #4082bb;
}
h2.c-line::before {
    position: absolute;
    top: 50%;
    z-index: 1;
    content: '';
    display: block;
    width: 100%;
    height: 4px;
    background-color: #ddd;
}
h4.bg {
	display: inline-block;
	font-size: 1.4rem;
	background: rgba(0,88,164,.075);
	padding: 5px 1.5em;
	border-radius: 200px;
}
h4.bg.font-m {
	font-size: 1.6rem;
}

.color-blue-1 {
	color: #0058a4;
}

/*-----------------------------------------------------------------------------
	レイヤーアニメ
-----------------------------------------------------------------------------*/
.fromLeft,.fromRight {
	position: relative;
	overflow: hidden;
}
.fromLeft:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 200%;
	background-color: #f1f1f1;
	z-index: -1;
	-webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    -webkit-transition: -webkit-clip-path 1.25s cubic-bezier(0.475, 0.425, 0, 0.995) 0.2s;
    transition: -webkit-clip-path 1.25s cubic-bezier(0.475, 0.425, 0, 0.995) 0.2s;
    transition: clip-path 1.25s cubic-bezier(0.475, 0.425, 0, 0.995) 0.2s;
    transition: clip-path 1.25s cubic-bezier(0.475, 0.425, 0, 0.995) 0.2s, -webkit-clip-path 1.25s cubic-bezier(0.475, 0.425, 0, 0.995) 0.2s;
}
.fromRight:before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	height: 200%;
	background-color: #f1f1f1;
	z-index: -1;
	-webkit-clip-path: inset(0 0 0 100%);
    clip-path: inset(0 0 0 100%);
    -webkit-transition: -webkit-clip-path 1.25s cubic-bezier(0.475, 0.425, 0, 0.995) 0.2s;
    transition: -webkit-clip-path 1.25s cubic-bezier(0.475, 0.425, 0, 0.995) 0.2s;
    transition: clip-path 1.25s cubic-bezier(0.475, 0.425, 0, 0.995) 0.2s;
    transition: clip-path 1.25s cubic-bezier(0.475, 0.425, 0, 0.995) 0.2s, -webkit-clip-path 1.25s cubic-bezier(0.475, 0.425, 0, 0.995) 0.2s;
}
.fromLeft.isPlay:before,.fromRight.isPlay:before {
	-webkit-clip-path: inset(0);
    clip-path: inset(0);
}

/*-----------------------------------------------------------------------------
	Links
-----------------------------------------------------------------------------*/

a {
	color: #0058a4;
	text-decoration:none;
	outline: none;
	-webkit-transition: 0.25s;
    -moz-transition: 0.25s;
    -o-transition: 0.25s;
    -ms-transition: 0.25s;
    transition: 0.25s;
}
a:visited {
	color: #0058a4;
}
a:hover,
a:focus {
	text-decoration: none;
	color: #8cb4d6;
}
a.text-link {
	text-decoration: underline;
}
a.text-link:hover {
	text-decoration: none;
}

a.button {
  display: inline-block;
  color: #fff;
  width: 240px;
  height: 50px;
  text-align: center;
  text-decoration: none;
  line-height: 48px;
  outline: none;
  white-space: nowrap;
  font-weight: bold;
  background: #0058a4;
  position: relative;
}
a.button:hover {
	background: #528ec1;
}
a.button i {
	position: absolute;
	right: 1rem;
	top: calc(50% - .5em);
	transition: transform .25s ease-out;
}
a.button:hover i {
	transform: translateX(4px);
}

a.button_b {
  display: inline-block;
  color: #fff;
  width: 400px;
  height: 50px;
  text-align: center;
  text-decoration: none;
  line-height: 48px;
  outline: none;
  white-space: nowrap;
  font-weight: bold;
  background: #558ED5;
  position: relative;
}
a.button_b:hover {
	background: #6699CC;
}
a.button_b i {
	position: absolute;
	right: 1rem;
	top: calc(50% - .5em);
	transition: transform .25s ease-out;
}
a.button_b:hover i {
	transform: translateX(4px);
}

a.button2 {
  display: inline-block;
  color: #fff;
  width: 100%;
  height: 60px;
  text-align: center;
  text-decoration: none;
  line-height: 30px;
  outline: none;
  white-space: nowrap;
  font-weight: bold;
  background: #0058a4;
  position: relative;
}
a.button2:hover {
	background: #528ec1;
}
a.button2 i {
	position: absolute;
	right: 1rem;
	top: calc(50% - .5em);
	transition: transform .25s ease-out;
}
a.button2:hover i {
	transform: translateX(4px);
}

a.button3 {
  display: inline-block;
  color: #fff;
  width: 240px;
  height: 50px;
  text-align: center;
  text-decoration: none;
  line-height: 48px;
  outline: none;
  white-space: nowrap;
  font-weight: bold;
  background: #F79646;
  position: relative;
}
a.button3:hover {
	background: #FFCC66;
}
a.button3 i {
	position: absolute;
	right: 1rem;
	top: calc(50% - .5em);
	transition: transform .25s ease-out;
}
a.button3:hover i {
	transform: translateX(4px);
}

a.grd-button {
	display: block;
	color: #0058a4;
	border: 2px solid #0058a4;
	text-align: center;
	padding-left: 1rem;
	padding-right: 1rem;
	white-space: nowrap;
	position: relative;
	height: 5.4rem;
	border-radius: 6px;
	font-weight: bold;
	font-size: 1.6rem;
	background: rgb(251,252,254);
	background: linear-gradient(180deg, rgba(251,252,254,1) 0%, rgba(215,215,215,1) 100%);
	margin-bottom: 1rem;
	z-index: 0;
}
a.grd-button.border-red {
	color: #fb5357;
	border: 2px solid #fb5357;
}
a.grd-button::before {
	content:"";
	width:100%;
	height:100%;
	border-radius: 6px;
	position:absolute;
	z-index:-1;
	left:0;
	transition:0.25s;
	background: rgb(251,252,254);
	background: linear-gradient(180deg, rgba(251,252,254,1) 0%, rgba(215,215,215,1) 100%);
}
a.grd-button::after {
	content:"";
	width:100%;
	height:100%;
	border-radius: 6px;
	position:absolute;
	z-index:-2;
	left:0;
	background: linear-gradient(180deg, rgba(215,215,215,1) 0%, rgba(251,252,254,1) 100%);
}
a.grd-button:hover::before {
	opacity:0;
}
a.grd-button.icon-btn {
	padding-left: 3rem;
}
a.grd-button.icon-btn img.icon {
	width: 36px;
    position: absolute;
    left: 0.5rem;
    top: calc(50% - 18px);
}


/* サイドバーボタン */
a.side-button {
	display: block;
	color: #0058a4;
	border: 2px solid #0058a4;
	text-align: left;
	padding-left: 3rem;
	padding-right: 1rem;
	position: relative;
	height: 7.4rem;
	border-radius: 6px;
	font-weight: bold;
	font-size: 1.6rem;
	background: rgb(251,252,254);
	background: linear-gradient(180deg, #fff 20%, #ccdeed 100%);
	z-index: 0;
	line-height: 1.25;
	position: relative;
}
a.side-button::before {
	content:"";
	width:100%;
	height:100%;
	border-radius: 6px;
	position:absolute;
	z-index:-1;
	left:0;
	transition:0.25s;
	background: rgb(251,252,254);
	background: linear-gradient(180deg, #fff 20%, #ccdeed 100%);
}
a.side-button::after {
	content:"";
	width:100%;
	height:100%;
	border-radius: 6px;
	position:absolute;
	z-index:-2;
	left:0;
	background: linear-gradient(180deg, #ccdeed 20%, #fff 100%);
}
a.side-button:hover::before {
	opacity:0;
}
a.side-button i {
	position: absolute;
	color: #0058a4;
	opacity: .3;
	left: 1.5rem;
	top: calc(50% - .45em);
	font-size: 2rem;
}
a.side-button:hover i {
	opacity: 1 !important;
}
a.side-button.icon-btn {
	padding-right: 4rem;
}
a.side-button img.icon {
    width: 36px;
    position: absolute;
    right: 0.5rem;
    top: calc(50% - 18px);
}

a.side-button.gray-button {
	background: rgb(251,252,254);
    background: linear-gradient(180deg, rgba(251,252,254,1) 0%, rgba(215,215,215,1) 100%);
}
a.side-button.gray-button::before {
    background: rgb(251,252,254);
    background: linear-gradient(180deg, rgba(251,252,254,1) 0%, rgba(215,215,215,1) 100%);
}
a.side-button.gray-button::after {
	background: linear-gradient(180deg, rgba(215,215,215,1) 0%, rgba(251,252,254,1) 100%);
}
a.side-button.gray-button.color-green {
	color: #006500;
	border-color: #006500;
}
a.side-button.gray-button.color-green i {
	color: #006500;
	opacity: .3;
}
a.side-button.gray-button.color-orange {
	color: #f13000;
	border-color: #f13000;
}
a.side-button.gray-button.color-orange i {
	color: #f13000;
	opacity: .3;
}

a.side-button.justify-content-center {
	text-align: center;
	padding-left: 1rem;
}

/*-----------------------------------------------------------------------------
	Layout
-----------------------------------------------------------------------------*/
.container {
	max-width: 1200px;
    margin: 0 auto;
}
/*-----------------------------------------------------------------------------
	Footer
-----------------------------------------------------------------------------*/
#footer-btn-area {
	border-top: 1px solid #e6e6e6;
}
#footer {
	background-color: rgba(0,88,164,.075);
	padding: 0;
}
#footer > .container {
	padding-top: 4rem;
	padding-bottom: 4rem;
}
#footer ul {
	margin: 0;
}
#footer ul li {
	display: inline-block;
	margin-left: 1.5em;
}
#footer ul li a {
	font-size: 1.4rem;
}
#footer ul li i {
	color: rgba(0,88,164,.3);
	padding-right: .35em;
}
#footer ul li i.fa-external-link-alt {
	color: #00655a;
	margin-left: .25em;
}
.copyright {
	color: #fff;
	background-color: rgba(0,88,164,1);
	padding: 1rem 1.5rem;
	text-align: center;
	font-size: 1.2rem;
}


/*-----------------------------------------------------------------------------
	トップへ戻るボタン
-----------------------------------------------------------------------------*/
a.topBtn {
	position:fixed; /*固定*/
	bottom:0; /*場所を右下に移動*/
	right: 0; /*場所を右下に移動*/
	display:block; /*aタグをblock要素に変更*/
	background-color: rgba(0,88,164,1);
	color:#fff;
	text-decoration:none;
	font-weight: bold;
	font-size: 2rem;
	width:60px;
	height:60px;
	text-align:center;
	line-height:60px;
	box-sizing:border-box;
	z-index: 99999;
}
a.topBtn:hover {
	background-color: #4082bb;
}
/*-----------------------------------------------------------------------------
	Misc
-----------------------------------------------------------------------------*/

.w-100 {
	width: 100%;
}

.w-30 {
	width: 30%;
}
.mt-10 {
	margin-top: 1rem;
}
.mt-20 {
	margin-top: 2rem;
}
.mb-0 {
	margin-bottom: 0;
}
.mb-5 {
	margin-bottom: 5px;
}
.mb-10 {
	margin-bottom: 10px;
}
.mb-20 {
	margin-bottom: 20px;
}
.mb-30,.mb20-30 {
	margin-bottom: 30px;
}
.mb20-0 {
	margin-bottom: 0;
}
.mb-40,.mb20-40 {
	margin-bottom: 40px;
}
.mb-50,.mb30-50 {
	margin-bottom: 50px;
}
.mb-60 ,.mb30-60 {
	margin-bottom: 60px;
}
.mb30-80 {
	margin-bottom: 80px;
}
.ptb40,.ptb20-40 {
	padding-top: 40px;
	padding-bottom: 40px;
}
.ptb50,.ptb30-50 {
	padding-top: 50px;
	padding-bottom: 50px;
}
.ptb30-80 {
	padding-top: 80px;
	padding-bottom: 80px;
}
.pt40 {
	padding-top: 40px;
}
.ptb30 {
	padding-top: 30px;
	padding-bottom: 30px;
}
.ptb50 {
	padding-top: 50px;
	padding-bottom: 50px;
}
.ptb20 {
	padding-top: 20px;
	padding-bottom: 20px;
}
.ex1{
line-height:30px;
}
.pt30 {
	padding-top: 30px;
}
.f-left{
	float:left;
}
.f-right{
	float:right;
}
.box-link:hover {
	cursor: pointer;
}
.bg-gray {
	background: #f1f1f1;
}
.color-red {
	color: #FF0000;
}
.color-yellow {
	color: #ffbe12;
}
.color-orange {
	color: #f39700;
}
.color-green {
	color: #008000;
}
.color-brown {
	color: #a52a2a;
}
.color-white {
	color: #fff;
}
.color-purple {
	color: #6666cc;
}
.color-pink {
	color: #ff00ff;
}
.color-blue {
	color: #0000ff;
} 
.color-blue3 {
	color: #4082bb;
}
.text-right {
	text-align: right;
}
.text-left{
	text-align: left;
}
.text-center-left {
	text-align: left;
}
.text-center,.text-left-center {
	text-align: center;
}
.yellow-line {
	background:linear-gradient(transparent 70%, #f3ef7f 30%);
}
.nowrap {
	white-space: nowrap;
}
.gmap {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}
.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
.ind {
	text-indent: 1em;
}
p.note {
	padding-left: 1.1em;
    position: relative;
}
p.note:before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0;
}
p.star {
	padding-left: 1.1em;
    position: relative;
}
p.star:before {
    content: "★";
    position: absolute;
    left: 0;
    top: 0;
}
.bg-blue {
	background: rgba(0,88,164,.075);
	padding: 1em;
	border-radius: 5px;
}
.rotate {
	transform: rotate(45deg);
}
/*-----------------------------------------------------------------------------
	ページタイトル
-----------------------------------------------------------------------------*/
#page-title {
	padding-top: 3rem;
	padding-bottom: 3rem;
}
#page-title h2 {
	font-size: 3.2rem;
	letter-spacing: .1em;
}

/*-----------------------------------------------------------------------------
	パンくずリスト
-----------------------------------------------------------------------------*/
ul.breadcrumbs {
	padding: 2rem 0 0;
	margin: 0;
}
ul.breadcrumbs li {
	display: inline-block;
	font-size: 1.4rem;
}
ul.breadcrumbs li:not(:first-child):before {
    content: "＞";
    display: inline-block;
    padding: 0 4px;
}
ul.breadcrumbs li a {
	color: #212121;
}
ul.breadcrumbs li a:hover {
	color: #0058a4;
}

/*-----------------------------------------------------------------------------
	Tables
-----------------------------------------------------------------------------*/
table.table-simple th {
	font-weight: normal;
	vertical-align: top;
}
table.table-simple td {
	vertical-align: top;
}
/* 点線 */
table.table-dash {
	min-width: 100%;
	font-size: 1.6rem;
	border-top: 1px dashed #ccc;
}
table.table-dash th {
	vertical-align: top;
	white-space: nowrap;
	padding: 1.5em 1em;
	border-bottom: 1px dashed #ccc;
}
table.table-dash td {
	padding: 1.5em 0;
	border-bottom: 1px dashed #ccc;
}
/* ボーダー */
table.table-border {
	min-width: 100%;
	font-size: 1.6rem;
}
table.table-border th {
	padding: .5em 1em;
	border: 1px solid rgba(0,88,164,.2);
}
table.table-border td {
	padding: .5em 1em;
	border: 1px solid rgba(0,88,164,.2);
}
table.table-border.even tr:nth-child(even) {
	background-color: rgba(0,88,164,.07);
}

table.table-border.gray th {
	border: 1px solid #ccc;
	background: #f1f1f1;
}
table.table-border.gray td {
	border: 1px solid #ccc;
}
/* ボーダー2 */
table.table-blue {
	min-width: 100%;
}
table.table-blue th {
	padding: .5em 1em;
	border: 1px solid rgba(0,88,164,.2);
	background: rgba(0,88,164,.045);
	white-space: nowrap;
}
table.table-blue td {
	padding: .5em 1em;
	border: 1px solid rgba(0,88,164,.2);
}

table.table-blue2 {
	min-width: 100%;
}
table.table-blue2 th {
	padding: .5em 1em;
	border: 1px solid rgba(0,88,164,.2);
	background: rgba(0,88,164,.045);
	white-space: nowrap;
}
table.table-blue2 td {
	padding: .5em 1em;
	border: 1px solid rgba(0,88,164,.2);
}

table.table-blue2 tr td:nth-of-type(1){
  	border-right-style: none;
}
table.table-blue2 tr td:nth-of-type(2){
	padding-left: 0em;
	padding-right: 0em;
	border-left-style: none;
	text-align: left;
	white-space: nowrap;
}



/*-----------------------------------------------------------------------------
	リスト
-----------------------------------------------------------------------------*/
ul.style {
	padding-left: 1.25em;
}
ul.style li {
	
	list-style-type: disc;
	list-style-position: outside;
}
ol.numbering {
	list-style: none;
	counter-reset: number 0;
	padding-left: .25em;
}
ol.numbering > li {
	position: relative;
	padding-left: 2.25em;
}
ol.numbering > li:before {
	counter-increment: number 1; 
	content: "(" counter(number) ") ";
	position: absolute;
	left: 0;
}

ol.numbering2 {
	list-style: none;
	counter-reset: number 0;
	padding-left: .25em;
}
ol.numbering2 > li {
	position: relative;
	padding-left: 2.25em;
}
ol.numbering2 > li:before {
	counter-increment: number 1; 
	content: counter(number) " "; 
	position: absolute;
	left: 0;
}

/* ナンバリング　ドット */
ol.numbering3 {
	list-style: none;
	counter-reset: number 0;
	padding-left: .25em;
}
ol.numbering3 > li {
	position: relative;
	padding-left: 2.25em;
}
ol.numbering3 > li:before {
	counter-increment: number 1; 
	content: counter(number) ". "; 
	position: absolute;
	left: 0;
}



ol.numbering.num-dot > li {
	padding-left: 2.25em;
}
ol.numbering.num-dot > li:before {
	content: "" counter(number) ". ";
}
/* ナンバリング　青丸 */
ol.numbering.num-circle li {
	padding-left: 2em;
}
ol.numbering.num-circle > li:before {
	content: "" counter(number) "";
	display: inline-block;
	color: #fff;
	background: #0058a4;
	width: 2.4rem;
	line-height: 2.4rem;
	text-align: center;
	border-radius: 50%;
	top: .25em;
}


/*sup,sub {
  display: inline-block;
} */

.line {
  line-height: 1.2;  /* borderの位置はline-heightを使って微調整が必要 */
  display: inline-block;
  border-bottom: solid 1px #000;
}

/* 992px以上 */
@media (min-width: 992px) {

}


/* 991px以下 */
@media (max-width: 991px) {
	/* =Footer
-----------------------------------------------------------------------------*/	
	.footer-contact-title {
	    font-size: 1.5rem;
	    margin-bottom: 2rem;
	    padding-left: 2rem;
	}
	.footer-contact-title:before {
	    left: 0;
	    top: 0;
	    width: 2px;
	    transform: rotate(0);
	}
	#footer ul li a {
		font-size: 1.3rem;
	}
	.footer-gaibu ul li a {
		font-size: 1.3rem;
		padding: 0 1.5rem;
		border-left: none;
	}
	.footer-gaibu ul li a:hover {
		color: #f39700;
	}
/* =Contents
-----------------------------------------------------------------------------*/
	.img-content .text {
		width: 100%;
		padding: 30px 20px 30px;
		margin: 0 !important;
		font-size: 1.4rem;
	}
	.img-content .text h3 {
		font-size: 2.4rem;
		margin-bottom: .5em;
	}
	.img-left-content .text {
		margin-left: 0;
	}
	.img-right-content .text {
		margin-right: 0;
	}

	
}

@media (max-width: 767px) {
/* =Typography
-----------------------------------------------------------------------------*/
	body {
		font-size: 1.3rem;
		line-height: 1.75;
	}
	h2.color {
		font-size: 2rem;
		margin-bottom: .65em;
	}
	h3.border {
	    padding-bottom: 1rem;
	    font-size: 1.6rem;
	}
	h2.c-line {
		font-size: 1.8rem;
	}
	h2.c-line span {
	    margin: 0 2em;
	    padding: 4px .65em;
	}
	h2.c-line::before {
	    height: 3px;
	}
	h3.border2 {
		border-bottom: 2px solid #4082bb;
		margin-bottom: .65em;
		padding-bottom: 5px;
		font-size: 1.6rem;
	}
	h3.border-l {
		margin-bottom: 1em;
	}
	h4.bg.font-m {
		font-size: 1.4rem;
	}


	
/* =button
-----------------------------------------------------------------------------*/	
	a.button {
	    height: 40px;
	    line-height: 40px;
	}
	a.button2 {
	    height: 80px;
	    line-height: 80px;
		width:300px;
	}

	.row-10.grd-button-row {
	    margin-left: -3px;
	    margin-right: -3px;
	}
	.row-10.grd-button-row > div{
	    padding-right: 3px;
	    padding-left: 3px;
	}

	a.grd-button {
		padding-left: 1rem;
		padding-right: 1rem;
		height: 4rem;
		font-size: 1.2rem;
		margin-bottom: .5rem;
	}
	a.grd-button img.icon {
		width: 20px;
		left: .4rem;
		top: calc(50% - 10px);
	}
	a.grd-button span img {
		width: 50px;
	}
	a.side-button {
		padding-left: 2.4rem;
		height: 5.4rem;
		font-size: 1.3rem;
	}
	a.side-button i {
	    left: 1.25rem;
	    font-size: 1.6rem;
	}
	a.grd-button.icon-btn img.icon {
		width: 20px;
		left: .4rem;
		top: calc(50% - 10px);
	}
	a.side-button.icon-btn {
		padding-right: 3rem;
	}
	a.side-button img.icon {
	    width: 28px;
	    right: .5rem;
	    top: calc(50% - 14px);
	}

	
	
/* =Misc
-----------------------------------------------------------------------------*/
	.mb20-0 {
		margin-bottom: 20px;
	}
	.mb20-40,.mb20-30 {
		margin-bottom: 20px;
	}
	.mb30-50 ,.mb30-60,.mb30-80 {
		margin-bottom: 30px;
	}
	.ptb20-40 {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.ptb30-50,.ptb30-80  {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.text-left-center {
		text-align: left;
	}
	.text-center-left {
		text-align: center;
	}
	/* ボタン */
	a.btn {
		display: inline-block;
		font-size: 1.4rem;
		width: 270px;
		height: 40px;
		line-height: 40px;
	}
/* =トップへ戻るボタン
-----------------------------------------------------------------------------*/
	a.topBtn {
		font-size: 1.4rem;
		width:40px;
		height:40px;
		line-height:40px;
	}
/* =Footer
-----------------------------------------------------------------------------*/	
	#footer > .container {
	    padding-top: 2rem;
	    padding-bottom: 2rem;
	}
	#footer > .container img {
		width: 200px;
	}
	#footer ul {
		margin-bottom: 1.5rem;
		text-align: center;
	}
	#footer ul li {
		margin: 0;
	}
	#footer ul li a {
		padding: 5px;
		font-size: 1.1rem;
	}
	.copyright {
	    text-align: center;
	    font-size: 1rem;
	}
/* =パンくずリスト
-----------------------------------------------------------------------------*/
	ul.breadcrumbs {
		padding: .7rem 0 0;
	}
	ul.breadcrumbs li {
		font-size: 1.2rem;
	}
	ul.breadcrumbs li:not(:first-child):before {
	    padding: 0 2px;
	}
/* =ページタイトル
-----------------------------------------------------------------------------*/
	#page-title {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
	#page-title h2 {
		font-size: 2.4rem;
		letter-spacing: .05em;
		line-height: 1.35;
	}
/*-----------------------------------------------------------------------------
	Tables
-----------------------------------------------------------------------------*/
/* スクロールテーブル */
	.scroll-table {
		overflow-x: scroll;
	}
	.scroll-table table {
		white-space: nowrap;
	}
/* 点線 */
	table.table-dash {
		font-size: 1.4rem;
	}
	table.table-dash th {
		padding: 1em 1em;
	}
	table.table-dash td {
		padding: 1em 0;
	}
/* ボーダー */
	table.table-border {
		font-size: 1.4rem;
	}
	table.table-border th {
		padding: .5em .75em;
	}
	table.table-border td {
		padding: .5em .75em;
	}
/* レスポンシブ */
	table.res-table th,table.res-table td {
		display: block;
		width: 100%;
	}
	table.res-table th {
		border-bottom: none !important;
	}
	
/*-----------------------------------------------------------------------------
	Lists
-----------------------------------------------------------------------------*/	
	ol.numbering.num-circle li {
		padding-left: 2em;
	}
	ol.numbering.num-circle > li:before {
		width: 2rem;
		line-height: 2rem;
		top: .1em;
	}



}

@media (max-width: 575px) {
	.font-l {
	    font-size: 1.1em;
	}
}

/*PCで無効*/
.pc_hid{
    display: none;
}

/*スマートフォンで有効*/
@media screen and (max-width:575px) {
    .pc_hid{
        display: block;
    }
}
/*スマホで無効*/
.sm_hid{
    display: none;
}

/*PCで有効*/
@media screen and (min-width:1100px) {
    .sm_hid{
        display: block;
    }
}



@media screen and (max-width: 768px){
  .timg{
    width: 100%;
    height: auto;
	max-width: 20px;
  }
}

/* スマホtable */
/*
table{
  width: 100%;
}
.tb01 th,
.tb01 td{
  padding: 5px;
  text-align:left;
} */

@media screen and (max-width: 767px) {
  .tb01 {
    width: 100%;
  }
  table.tb01 th,
  table.tb01 td {
    display: block;
    width: 100%;
    border-bottom:none;
  }
  .tb01 tr:last-child{
  }
  .tb02 {
    width: 100%;
	table-layout: fixed;
  }
}

@media(min-width:751px){
    .sp{
        width: 60%;
    }
}
