@charset "UTF-8";
html, body {
  width: 100%;
  margin: 0;
  padding: 0; }

body {
  font-family: Arial, Helvetica, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

ul, li {
  list-style: none; }

.text-center {
  text-align: center; }

@media only screen and (max-width: 481px) {
  .sp-none {
    display: none
  }
}

@media only screen and (min-width: 482px) {
  .pc-none {
    display: none
  }
}

header {
  width: 100%;
  height: 80px;
  line-height: 50px;
  background: #ffffff;
  color: #004d9a;
  position: relative;
  border-top: #004d9a 4px solid;
  border-bottom: #d9d9d9 2px solid;
  z-index: 1000; }
  header h1 {
    position: relative;
    width: 80%;
    height: 50px;
    margin: 0 auto 0 auto; }
    header h1 img {
      height: 70px; }

.top_background {
  position: relative; }
  .top_background .background_image {
    width: 100%;
    height: 400px;
    overflow: hidden; }

.back_top {
  position: relative;
  text-align: center;
  margin: 0 auto 0 auto; }
  .back_top a {
    display: block;
    width: 100%;
    background: #d2d2d2;
    text-decoration: none;
    color: #ffffff;
    height: 65px;
    line-height: 65px;
    letter-spacing: 0.2em;
    font-weight: bold; }
    @media only screen and (max-width: 767px) {
      .back_top a {
        height: 50px;
        line-height: 50px; } }
    .back_top a:before {
      content: "\f077";
      display: inline-block;
      font-family: FontAwesome;
      padding-right: 0.5em;
      text-decoration: none; }

footer .footer {
  width: 100%;
  margin: 0 auto 0 auto; }
  footer .footer .navigation {
    width: 100%; }
    footer .footer .navigation ul {
      padding: 0;
      margin: 40px 0 0;
      list-style: none;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        footer .footer .navigation ul {
          margin: 20px 0 0; } }
    footer .footer .navigation li {
      display: inline-block;
      color: #807E74;
      text-align: center; }
      footer .footer .navigation li:before {
        content: '|';
        padding: 0 10px; }
      footer .footer .navigation li:first-child:before {
        content: '';
        padding: 0; }
      footer .footer .navigation li a {
        text-decoration: none;
        color: #8e8e8e;
        letter-spacing: 0.2em;
        font-size: 12px; }
        @media only screen and (max-width: 767px) {
          footer .footer .navigation li a {
            letter-spacing: 0em; } }
        footer .footer .navigation li a:hover {
          text-decoration: underline; }
  footer .footer #copyright {
    margin: 60px 0 30px;
    color: #8e8e8e;
    clear: both;
    font-size: 11px;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      footer .footer #copyright {
        margin: 25px 0; } }

header {
  width: 100%;
  height: 50px;
  line-height: 50px;
  background: #ffffff;
  color: #004d9a;
  position: relative;
  border-top: #004d9a 3px solid; }
  header .title {
    position: relative;
    width: 80%;
    height: 50px;
    margin: 0 auto 0 auto; }

.top_background {
  position: relative; }
  .top_background .background_image {
    width: 100%;
    height: 400px;
    overflow: hidden; }

.grid {
  text-align: left;
  margin: 0 0 0 0; }

.grid:after {
  content: "";
  clear: both;
  display: block;
  visibility: hidden;
  height: 0; }

.grid-1,
.grid-2,
.grid-3,
.grid-4,
.grid-5,
.grid-6,
.grid-7,
.grid-8,
.grid-9,
.grid-10,
.grid-11 {
  float: left;
  overflow: hidden;
  padding: 0 0 0.1em 0;
  margin: 0 2% 0 0; }

.grid-1 {
  width: 6.5%; }

.grid-2 {
  width: 15%; }

.grid-3 {
  width: 23.5%; }

.grid-4 {
  width: 32%; }

.grid-5 {
  width: 40.5%; }

.grid-6 {
  width: 49%; }

.grid-7 {
  width: 57.5%; }

.grid-8 {
  width: 66%; }

.grid-9 {
  width: 74.5%; }

.grid-10 {
  width: 83%; }

.grid-11 {
  width: 91.5%; }

.grid-12 {
  width: 100%; }

.grid-1:nth-last-child(2),
.grid-2:nth-last-child(2),
.grid-3:nth-last-child(2),
.grid-4:nth-last-child(2),
.grid-5:nth-last-child(2),
.grid-6:nth-last-child(2),
.grid-7:nth-last-child(2),
.grid-8:nth-last-child(2),
.grid-9:nth-last-child(2),
.grid-10:nth-last-child(2),
.grid-11:nth-last-child(2) {
  margin: 0; }

/*
.grid-1:last-child,
.grid-2:last-child,
.grid-3:last-child,
.grid-4:last-child,
.grid-5:last-child,
.grid-6:last-child,
.grid-7:last-child,
.grid-8:last-child,
.grid-9:last-child,
.grid-10:last-child,
.grid-11:last-child {float:right; margin:0;}
*/
span.required {
  background: #ee7c1a;
  color: #FFFFFF;
  margin: 0 3px 0 0;
  padding: 3px; }

input.box_red {
  border: 1px solid red; }

.font_red {
  color: red; }

html, body, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  font: inherit;
  font-size: 100%;
  box-sizing: border-box; }

body {
  font-size: 14px;
  background: #f6f6f3; }

img {
  max-width: 100%;
  height: auto; }

input {
  -webkit-appearance: none;
  border-radius: 0; }

input:focus {
  outline: 2px #FF931E solid; }

/*
背景画像の設定
*/
.top_background {
  position: relative;
  background: url(../images/1.jpg) no-repeat center center;
  background-size: cover;
  width: 100%;
  height: 470px;
  padding: 50px 0; }

.top_visual_text {
  width: 535px;
  padding: 25px 50px 20px;
  background: #fff;
  border: #c6d2e0 solid 5px;
  border-radius: 7px;
  margin: 0 auto; }
  .top_visual_text h2 {
    position: relative;
    color: #004d9a;
    font-size: 66px;
    font-weight: normal;
    line-height: 75px;
    margin: 5px 0 0; }
    .top_visual_text h2 .visual_text_icon {
      position: absolute;
      right: 0;
      top: 20px;
      padding: 10px 7px;
      color: #ffff9c;
      font-size: 16px;
      font-weight: bold;
      background: #ff6200;
      border-radius: 3px;
      margin: 0;
      line-height: 1;
      letter-spacing: 0.1em; }

.top_visual_text_sholder {
  width: 344px;
  margin: 0 auto; }

.top_visual_text_promoword {
  padding: 0;
  margin: 10px 0 0; }
  .top_visual_text_promoword li {
    margin: 0;
    line-height: 2.2;
    color: #444;
    font-weight: bold;
    letter-spacing: 0.05em; }
    .top_visual_text_promoword li:before {
      content: url(../images/ico_check.png);
      position: relative;
      top: 2px;
      margin-right: 6px; }

.table-title, .main_list_row_grid.table-title {
  color: #004d9a;
  font-weight: bold;
  padding: 10px 0;
  float: none; }

/*
mainの設定
*/
.main {
  position: relative;
  margin: -40px auto 80px auto;
  left: 0;
  right: 0;
  background: #fff;
  padding: 40px 50px 50px;
  width: 80%; }

.main_list_grid_first {
  border-collapse: collapse; }
  .main_list_grid_first td, .main_list_grid_first th {
    border: 1px solid #BDB8B7;
    float: none; }
    .main_list_grid_first td p, .main_list_grid_first th p {
      line-height: 1.5; }
  .main_list_grid_first th {
    background: #dce7eb; }

.main_list_row_grid {
  padding: 20px; }
  .main_list_row_grid h1, .main_list_row_grid h1 a {
    margin: 0;
    color: #004d9a;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none; }
  .main_list_row_grid p {
    margin: 10px 0 0; }

.main_list {
  position: relative;
  margin: 20px auto 50px auto; }
  .main_list .grid {
    text-align: left;
    margin: 0 0 0 0; }
  .main_list .request_btn {
    display: inline-block;
    width: 150px;
    height: 50px;
    line-height: 50px;
    color: #FFFFFF;
    font-weight: bold;
    background: #ff7500;
    cursor: pointer;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -webkit-appearance: none;
    text-decoration: none;
    border-bottom: 3px #bd4700 solid; }
    .main_list .request_btn:hover {
      background: #ffa355; }
    @media only screen and (max-width: 767px) {
      .main_list .request_btn:hover {
        background: #ff7500; } }
    .main_list .request_btn:before, .main_list .request_btn:after {
      position: absolute;
      z-index: -1;
      display: block;
      content: '';
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-transition: all .3s;
      transition: all .3s; }
  .main_list .request_btn_arrow:after {
    content: "\f054";
    display: inline-block;
    font-family: FontAwesome;
    padding-left: 0.5em;
    text-decoration: none; }
  .main_list .line-height {
    vertical-align: middle; }
  .main_list .grid-3 {
    margin: 0;
    width: 25.5%;
    text-align: center; }
    .main_list .grid-3 a {
      margin: 0 auto; }

.main_list_note {
  color: #4d4d4d;
  font-size: 12px; }
  .main_list_note br {
    display: none; }
  .main_list_note:before {
    position: relative;
    display: inline-block;
    content: '';
    background: url(../images/ico_camera.png) no-repeat;
    background-size: cover;
    width: 19px;
    height: 14px;
    top: 2px;
    margin-right: 1.5%; }

img {
  height: auto; }

.top_list {
  margin: 0 auto 0 auto; }

.top_list_thumb {
  margin: 10px 0 0;
  padding: 0;
  overflow: hidden; }
  .top_list_thumb li {
    margin-top: 2%; }
    .top_list_thumb li:nth-last-child(2) {
      margin-top: 2%; }
    .top_list_thumb li img {
      border: #eee 1px solid; }

.top_list_title {
  position: relative;
  text-align: center;
  color: #004d9a;
  font-size: 18px;
  font-weight: bold;
  margin: 0 auto 0 auto;
  white-space: nowrap; }

.lines-on-sides, .top_list_title {
  display: table;
  text-align: center;
  white-space: nowrap; }
  .lines-on-sides:after, .top_list_title:after, .lines-on-sides:before, .top_list_title:before {
    content: '';
    display: table-cell;
    width: 50%;
    background: linear-gradient(transparent 50%, #C7C7C7, #C7C7C7, transparent calc(50% + 2px));
    background-clip: padding-box; }
  .lines-on-sides:after, .top_list_title:after {
    border-left: 1em solid transparent; }
  .lines-on-sides:before, .top_list_title:before {
    border-right: 1em solid transparent; }

/*
次に行くボタンの設定
*/
.list-button ul {
  list-style: none;
  text-align: center;
  margin: 0;
  padding: 0; }

.list-button li {
  display: inline-block; }
  .list-button li span {
    display: block;
    margin: 0 4px;
    background: #ffffff;
    color: #004d9a;
    width: 30px;
    height: 30px;
    text-decoration: none;
    text-align: center;
    border-radius: 3px;
    border: 2px solid #004d9a;
    font-weight: bold;
    padding: 5px 0; }
  .list-button li a {
    font-weight: bold;
    display: block;
    margin: 0 4px;
    background: #004d9a;
    color: #ffffff;
    width: 30px;
    height: 30px;
    text-decoration: none;
    text-align: center;
    border-radius: 3px;
    border: 2px solid #004d9a;
    padding: 5px 0; }
    .list-button li a:hover {
      background: #ffffff;
      color: #004d9a; }

@media only screen and (max-width: 767px) {
  body {
    background: none; }
  .main {
    margin: 0 auto;
    padding: 8% 5%;
    width: 100%; }
  .top_visual_text {
    width: 90%; }
  .top_background {
    padding: 6% 0;
    height: inherit; }
  .top_list_title {
    font-size: 14px; }
  .top_visual_text {
    padding: 5%;
    border-radius: 3px;
    margin: 0 auto; }
    .top_visual_text h2 {
      position: relative;
      color: #004d9a;
      font-size: 11.5vw;
      font-weight: normal;
      line-height: 1.2;
      margin: 0; }
      .top_visual_text h2 .visual_text_icon {
        position: absolute;
        right: 0;
        top: 12%;
        padding: 5px;
        font-size: 3vw;
        font-weight: bold;
        line-height: 1;
        letter-spacing: 0.1em; }
  .top_visual_text_sholder {
    width: 190px; }
  .top_visual_text_promoword {
    padding: 0;
    margin: 5px 0 0; }
    .top_visual_text_promoword li {
      margin: 0;
      line-height: 2;
      font-size: 2.5vw; }
      .top_visual_text_promoword li:before {
        display: inline-block;
        content: '';
        background: url(../images/ico_check.png) no-repeat;
        background-size: cover;
        width: 13px;
        height: 13px;
        top: 2px;
        margin-right: 1.5%; }
  .top_list_thumb {
    margin-left: -2%; }
    .top_list_thumb .grid-2 {
      width: 31.2%;
      padding: 0;
      margin: 2% 0 0 2%; }
      .top_list_thumb .grid-2 a, .top_list_thumb .grid-2 img {
        display: inline-block;
        max-width: inherit;
        width: 100%; }
      .top_list_thumb .grid-2:last-child {
        float: left;
        margin-left: 2%; }
  .main_list_grid_first {
    display: block;
    border: 0; }
    .main_list_grid_first tr {
      display: inline; }
    .main_list_grid_first td {
      padding: 0 0 30px; }
      .main_list_grid_first td img {
        border: 1px solid #ccc;
        box-sizing: inherit; }
      .main_list_grid_first td:first-child {
        padding-top: 20px;
        border-top: 1px solid #ccc; }
      .main_list_grid_first td h1 {
        line-height: 1; }
    .main_list_grid_first th.grid-3, .main_list_grid_first th.grid-6 {
      display: none; }
    .main_list_grid_first .grid-3, .main_list_grid_first .grid-6 {
      display: block;
      width: 100%;
      border: 0; }
  .main_list {
    margin: 0 0 20px;
    border-bottom: 1px solid #ccc; }
  .main_list_row_grid {
    padding: 0; }
  .main_list_note {
    padding-left: 2em;
    text-indent: -2em; }
    .main_list_note br {
      display: block; } }
