@charset "UTF-8";
body {
  color: #031350;
  margin: 0;
  padding: 0;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6; }

a, a:hover {
  color: #445dbd;
  text-decoration: none;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s; }

#container {
  position: relative;
  overflow: hidden; }

@media only screen and (max-width: 749px) {
  img {
    width: 100%;
    height: auto; } }

/*________________________________________________________

	ページトップボタン
	________________________________________________________
*/
a.pagetop {
  position: fixed;
  display: block;
  right: 40px;
  bottom: 40px;
  width: 40px;
  height: 40px;
  padding: 8px;
  cursor: pointer;
  color: #FFF;
  font-size: 80%;
  line-height: .8;
  text-align: center;
  text-decoration: none;
  border-radius: 100px;
  background-color: rgba(18, 42, 136, 0.7);
  z-index: 10; }
  a.pagetop::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    display: block;
    margin-bottom: 4px;
    content: '\f106'; }

/*________________________________________________________

	utility
	________________________________________________________
*/
@media only screen and (min-width: 750px) {
  .sp_br {
    display: none !important; } }

@media only screen and (max-width: 749px) {
  .pc_br {
    display: none !important; } }

.big {
  font-size: 130% !important; }

.small {
  font-size: 85% !important; }

.txt_C {
  text-align: center !important; }

.red{color: red;}

.border {
  border: 1px solid #dddddd; }

.grayBox {
  background-color: #f3f3f3; }

.blueBox {
  background-color: #c1cfe2; }

.borderBox {
  border: 1px solid #dddddd; }
  .borderBox.imgL img {
    margin-bottom: 0; }
.borderBox .col4 {margin-bottom: 0;}
.borderBox .col4 strong {
	display: block;
	font-size: 120%;
	margin-bottom: 8px;
	padding: 5px;
	text-align: center;
	border-top: 1px solid #dddddd;
	border-bottom: 1px solid #dddddd;
}

@media only screen and (min-width: 750px) {
  .grayBox, .blueBox, .borderBox {
    margin-bottom: 16px;
    padding: 16px 32px; } }

@media only screen and (max-width: 749px) {
  .grayBox, .blueBox, .borderBox {
    margin-bottom: 16px;
    padding: 8px; } }

.arrowRight {
  position: relative; }
  .arrowRight::after {
    position: absolute;
    margin: auto;
    border-color: #c1cfe2;
    border-style: solid;
    content: '';
    z-index: 5; }
  @media only screen and (min-width: 750px) {
    .arrowRight::after {
      right: -48px;
      top: 0;
      bottom: 0;
      width: 0px;
      height: 2px;
      border-width: 24px;
      border-top-color: transparent;
      border-right-color: transparent;
      border-bottom-color: transparent; } }
  @media only screen and (max-width: 749px) {
    .arrowRight::after {
      right: 0;
      left: 0;
      bottom: -48px;
      width: 2px;
      height: 0px;
      border-width: 24px;
      border-bottom-color: transparent;
      border-right-color: transparent;
      border-left-color: transparent; } }

.arrowBottom {
  position: relative; }
  .arrowBottom::after {
    position: absolute;
    right: 0;
    left: 0;
    bottom: -48px;
    width: 2px;
    height: 0px;
    margin: auto;
    border-color: #445dbd;
    border-style: solid;
    content: '';
    border-width: 24px;
    border-bottom-color: transparent;
    border-right-color: transparent;
    border-left-color: transparent;
    z-index: 5; }

/*________________________________________________________

	リンク
	________________________________________________________
*/
a.linkTxt {
  text-decoration: underline;
  color: #d9620f; }

.hoverBig li {
  position: relative;
  height: 200px; }
  .hoverBig li a {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    z-index: 0;
    height: 200px;
    overflow: hidden; }
    .hoverBig li a strong {
      position: absolute;
      bottom: 0;
      width: 100%;
      padding: 8px;
      background-color: rgba(3, 19, 80, 0.8);
      color: #FFF;
      text-align: center;
      display: block;
      z-index: 10; }
  .hoverBig li img {
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s; }
  .hoverBig li:hover img {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }

@media only screen and (min-width: 750px) {
  .btnMore {
    padding: 8px 48px; } }

@media only screen and (max-width: 749px) {
  .btnMore {
    padding: 8px 24px; } }

input, button, textarea {
  max-width: 100%; }

button {
  display: block;
  text-align: center;
  border: none;
  color: #FFF;
  background-color: #445dbd;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s; }

/*________________________________________________________

	2カラム、画像横並べ
	________________________________________________________
*/
.col div {
  border: 1px solid #dddddd; }
  .col div p {
    margin: 24px 0;
    text-align: center; }
  .col div a {
    display: block;
    margin-top: 16px; }
  @media only screen and (max-width: 749px) {
    .col div {
      margin-bottom: 16px;
      padding: 16px 8px 0 8px; } }

@media only screen and (min-width: 750px) {
  .col2, .col3, .col4 {
    margin-bottom: 40px; }
  .col2 li {
    display: inline-block;
    vertical-align: top;
    width: 47.8%; }
    .col2 li:nth-child(2) {
      margin-left: 40px; }
    .col2 li img {
      width: 100%; }
    .col2 li p {
      text-align: left; }
  .col3 li {
    display: inline-block;
    vertical-align: top;
    width: 31.5%; }
    .col3 li:nth-child(2) {
      margin: 0 24px; }
  .col4 li {
    display: inline-block;
    vertical-align: top;
    width: 23%;
    margin-right: 24px; }
    .col4 li:last-child,  .borderBox .col4 li:last-child {
      margin: 0; }
    .col4 li a {
      width: 100%; }
  .borderBox .col4 li { margin-right: 20px;}
}

@media only screen and (max-width: 749px) {
  .col2 li, .col3 li, .col4 li {
    margin-bottom: 16px; } }

@media only screen and (min-width: 750px) {
  .col div {
    display: inline-block;
    width: 420px;
    min-height: 200px;
    margin: 8px;
    padding: 0 8px 8px 8px;
    vertical-align: top; }
  .imgR, .imgL {
    zoom: 1;
    margin-bottom: 40px; }
    .imgR::before, .imgR::after, .imgL::before, .imgL::after {
      content: "";
      display: table; }
    .imgR::after, .imgL::after {
      clear: both; }
    .imgR img, .imgL img {
      display: block; }
    .imgR p, .imgL p {
      text-align: left !important; }
  .imgR img {
    float: right;
    margin: 0 0 32px 40px; }
  .imgL img {
    float: left;
    margin: 0 40px 32px 0; } }

/*________________________________________________________

	TABLE
	________________________________________________________
*/
.tbl {
  border-collapse: collapse;
  border: 1px solid #dddddd;
  background-color: #FFF;
  color: #031350; }
  @media only screen and (min-width: 750px) {
    .tbl {
      width: 90%;
      margin: 0 auto 40px auto; } }
  @media only screen and (max-width: 749px) {
    .tbl {
      width: 100%;
      margin: 16px auto 24px auto; }
      .tbl.tbl_sp th, .tbl.tbl_sp td {
        display: block; } }
  .tbl th, .tbl td {
    padding: 16px;
    border: 1px solid #dddddd;
    border-collapse: collapse; }
  .tbl th {
    letter-spacing: .2em;
    background-color: #f3f3f3;
    text-align: center;
    letter-spacing: .1em; }
    .tbl th.th_blue {
      padding: 24px;
      background-color: #031350;
      color: #FFF;
      font-size: 100%; }
  .tbl td {
    text-align: left; }
    .tbl td ul.list {
      margin: 0; }
    .tbl td a {
      margin-top: 8px; }
  .tbl p {
    margin: 8px 0 !important; }
  .tbl strong {
    display: block;
    margin: 8px 0;
    padding: 4px 16px;
    background-color: #031350;
    color: #FFF;
    letter-spacing: .3em;
    font-weight: normal; }

/*________________________________________________________

	LIST
	________________________________________________________
*/
ul li {
  list-style: none; }

ul.list {
  margin: 16px 0;
  padding-left: 24px; }
  ul.list li {
    margin-bottom: 8px;
    list-style: inside square none; }
    ul.list li:last-child {
      margin-bottom: 0px; }

ul.note {
  margin: 24px 0 0 32px;
  font-size: 90%;
  color: #969696; }
  ul.note li {
    padding-left: .9em;
    text-indent: -.9em; }
    ul.note li::before {
      display: inline-block;
      margin-right: 8px;
      content: '※'; }

ul.hrizontal {
  display: inline-block;
  margin: 8px 0; }
  ul.hrizontal li {
    display: inline-block;
    margin-right: 24px; }
    ul.hrizontal li::before {
      display: inline-block;
      margin-right: 4px;
      font-size: 60%;
      vertical-align: middle;
      content: '■'; }
