@charset "UTF-8";
/* ================================================================= 
 License : e-TRUST Inc.
 File name : common.css
 Style : common
================================================================= */
/* gradation */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

body {
  counter-reset: number 0;
  line-height: 1.7;
  font-weight: 500;
  letter-spacing: 0.6;
  color: #101010;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  word-wrap: break-word; }

html, 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-weight: 500; }

.inner {
  margin: 0 auto;
  max-width: 1200px;
  padding: 0 10px; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .inner {
      padding-left: 20px !important;
      padding-right: 20px !important; } }
  @media only screen and (max-width: 468px) {
    .inner {
      padding-left: 10px !important;
      padding-right: 10px !important; } }

#contents_wrap {
  width: 100%;
  min-width: 100%;
  margin-bottom: 100px;
  overflow: hidden; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    #contents_wrap {
      margin-bottom: 70px; } }
  @media only screen and (max-width: 468px) {
    #contents_wrap {
      margin-bottom: 50px; } }

#contents {
  width: 100%;
  max-width: 1200px;
  padding: 0 10px; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    #contents {
      padding-left: 20px !important;
      padding-right: 20px !important; } }
  @media only screen and (max-width: 468px) {
    #contents {
      padding-left: 10px !important;
      padding-right: 10px !important; } }

#main {
  width: 100%; }

#main #col_main {
  width: 100%; }

.pankuzu {
  margin: 5px 0 50px 0;
  font-size: 13px; }
  .pankuzu a {
    color: #0d47a0; }
    @media only screen and (max-width: 468px) {
      .pankuzu a {
        display: block; } }
    .pankuzu a:hover {
      text-decoration: underline; }

.policy h2 {
  margin: 50px 0 15px 0;
  padding: 0 0 5px;
  border-bottom: 1px solid #11aacb;
  font-size: 18px;
  font-weight: bold; }

.policy p {
  margin: 0 0 20px; }

.error_link a {
  display: inline-block;
  margin-top: 50px;
  color: #0d47a0; }
  .error_link a:hover {
    text-decoration: underline; }

.map {
  margin: 50px 20px 0; }

.map li {
  margin: 0 0 15px;
  padding: 0 0 0 10px;
  border-left: 5px solid #0d47a0;
  list-style: none;
  text-align: left; }
  .map li:last-of-type {
    display: none; }
  .map li a {
    color: #101010; }
    .map li a:hover {
      color: #0d47a0; }

table {
  table-layout: fixed; }

table td {
  padding: 0 !important; }

.tlauto table {
  table-layout: auto; }

table td img {
  height: auto !important; }

.pdtd10 td {
  padding: 10px !important; }

pre {
  margin: 0;
  padding: 0;
  white-space: pre-line; }

b, strong {
  font-weight: bold; }

u {
  text-decoration: line-through; }

img {
  max-width: 100%;
  height: auto !important; }

small {
  font-size: 80%; }

hr {
  border: none;
  height: 0;
  border-bottom: 1px dashed #B3B3B3; }

span {
  font-weight: inherit; }

u {
  text-decoration: underline; }

b {
  font-weight: bold; }

input[type="button"] {
  cursor: pointer;
  padding: 5px 10px; }

a {
  text-decoration: none;
  -webkit-transition: all .8s;
  transition: all .3s; }

a:hover {
  opacity: 1; }

@media screen and (min-width: 469px) and (max-width: 768px) {
  .imgR, .imgL {
    max-width: 30% !important; } }
@media only screen and (max-width: 468px) {
  .imgR, .imgL {
    display: block;
    float: none;
    margin: 0 auto 10px;
    max-width: 100% !important;
    text-align: center; } }

.mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; }

.gothic {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

@media only screen and (max-width: 468px) {
  .fltL {
    float: none;
    width: 100% !important; }

  .fltR {
    float: none;
    width: 100% !important; }

  .sptal {
    text-align: left !important; }

  .sptar {
    text-align: right !important; }

  .sptac {
    text-align: center !important; }

  .spcenter {
    text-align: center;
    display: block;
    margin-top: 10px; } }
header#global_header {
  max-width: 100%;
  width: 100%;
  min-width: 100%;
  height: auto; }
  @media only screen and (max-width: 768px) {
    header#global_header {
      padding-top: 48px; } }
  header#global_header:after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: #0d47a0;
    background: -moz-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, #0d47a0), color-stop(100%, #11aacb));
    background: -webkit-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
    background: -o-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
    background: -ms-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
    background: linear-gradient(to right, #0d47a0 0%, #11aacb 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$start-color', endColorstr='$end-color',GradientType=1 ); }

.hed_inner {
  max-width: 1880px;
  margin: 0 auto;
  padding: 0 10px; }

#header {
  width: 100%;
  padding: 10px 0;
  background: #0d47a0;
  background: -moz-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, #0d47a0), color-stop(100%, #11aacb));
  background: -webkit-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
  background: -o-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
  background: -ms-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
  background: linear-gradient(to right, #0d47a0 0%, #11aacb 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$start-color', endColorstr='$end-color',GradientType=1 ); }
  #header .hed_inner {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media only screen and (max-width: 768px) {
      #header .hed_inner {
        display: block; } }
  #header .hed_txt {
    width: 84%;
    font-size: 13px;
    color: #fff;
    text-align: left; }
  #header .hed_btn {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    width: 16%;
    min-width: 310px;
    color: #fff;
    font-size: 15px; }
    @media screen and (min-width: 469px) and (max-width: 768px) {
      #header .hed_btn {
        justify-content: flex-end; } }
    @media only screen and (max-width: 468px) {
      #header .hed_btn {
        width: 100%;
        min-width: auto; } }
    #header .hed_btn li {
      width: 48%;
      margin-right: 10px; }
      @media only screen and (max-width: 468px) {
        #header .hed_btn li {
          width: 48%; } }
      #header .hed_btn li:last-of-type {
        margin-right: 0; }
    #header .hed_btn a {
      display: block;
      padding: 1.5px 3px;
      border: 1px solid #fff;
      text-align: center;
      color: #fff;
      font-size: 15px; }
      @media only screen and (max-width: 468px) {
        #header .hed_btn a {
          width: 100%; } }
      #header .hed_btn a:hover {
        background-color: rgba(255, 255, 255, 0.2); }
    #header .hed_btn i {
      margin-right: 5px;
      font-size: 20px;
      vertical-align: middle; }
    #header .hed_btn .linkTel {
      padding: 1.5px 3px;
      border: 1px solid #fff; }
      @media only screen and (max-width: 468px) {
        #header .hed_btn .linkTel {
          width: 48%;
          padding: 0;
          border: none; } }

.hedInfo {
  padding: 30px 0; }
  .hedInfo .hed_inner {
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: center; }
  @media screen and (min-width: 469px) and (max-width: 610px) {
    .hedInfo #siteID {
      margin: 0 auto; } }
  @media only screen and (max-width: 468px) {
    .hedInfo #siteID {
      margin: 0 auto; } }
  .hedInfo #siteID a {
    opacity: 1; }
  .hedInfo #nav_global {
    width: 82%;
    max-width: 600px; }
    @media only screen and (max-width: 768px) {
      .hedInfo #nav_global {
        display: none; } }
    .hedInfo #nav_global ul {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: flex-start;
      justify-content: flex-start; }
      .hedInfo #nav_global ul li {
        -webkit-flex-grow: 1;
        flex-grow: 1; }
        .hedInfo #nav_global ul li a {
          display: block;
          font-size: 15px;
          font-weight: bold;
          color: #101010;
          line-height: 1.5; }
          .hedInfo #nav_global ul li a:hover {
            color: #0d47a0; }
            .hedInfo #nav_global ul li a:hover .nav_suv {
              color: #0d47a0; }
          .hedInfo #nav_global ul li a .nav_suv {
            display: block;
            font-size: 10px;
            font-weight: 500;
            color: #616161;
            letter-spacing: 0.2em; }

#mainArea {
  width: 100%;
  overflow: hidden;
  padding: 9.2% 0;
  background: linear-gradient(45deg, rgba(13, 71, 160, 0.4), rgba(17, 170, 203, 0.4)), url(../images/contents/img_main.jpg);
  background-size: cover; }
  @media only screen and (max-width: 768px) {
    #mainArea img {
      width: 90%; } }

.mean-container .mean-bar {
  background: #0d47a0 !important;
  position: fixed !important; }

.mean-container .mean-nav {
  background: #11aacb !important; }
  .mean-container .mean-nav .inner {
    padding: 0 !important; }

.mean-container .mean-nav ul li a {
  border-top: 1px solid #fff !important; }

footer#global_footer {
  width: 100%;
  min-width: 100% !important;
  height: auto;
  font-size: 13px; }
  footer#global_footer .fot_cont {
    padding: 100px 0;
    background: url(../images/common/bg_contact.jpg);
    background-size: cover; }
    @media only screen and (max-width: 468px) {
      footer#global_footer .fot_cont {
        padding: 50px 0; } }
    footer#global_footer .fot_cont h2 {
      display: -webkit-flex;
      display: flex;
      align-items: center;
      justify-content: space-between;
      max-width: 370px;
      margin: 0 auto 40px auto;
      font-size: 31px;
      font-weight: bold;
      letter-spacing: 0.1em; }
      @media only screen and (max-width: 468px) {
        footer#global_footer .fot_cont h2 {
          margin-bottom: 20px; } }
      footer#global_footer .fot_cont h2:before, footer#global_footer .fot_cont h2:after {
        content: "";
        flex-grow: 1;
        border-top: 1px solid #616161; }
      footer#global_footer .fot_cont h2:before {
        margin-right: 1rem; }
      footer#global_footer .fot_cont h2:after {
        margin-left: 1rem; }
    footer#global_footer .fot_cont .cont_txt {
      margin-bottom: 50px;
      font-weight: bold; }
      @media only screen and (max-width: 468px) {
        footer#global_footer .fot_cont .cont_txt {
          margin-bottom: 20px;
          text-align: left; } }
    footer#global_footer .fot_cont .wrap_btn {
      display: -webkit-flex;
      display: flex;
      align-items: center;
      justify-content: space-between;
      max-width: 1040px;
      margin: 0 auto; }
      @media screen and (min-width: 469px) and (max-width: 610px) {
        footer#global_footer .fot_cont .wrap_btn {
          display: block; } }
      @media only screen and (max-width: 468px) {
        footer#global_footer .fot_cont .wrap_btn {
          display: block; } }
      footer#global_footer .fot_cont .wrap_btn .box {
        width: 48%;
        padding: 36.5px 10px;
        letter-spacing: 0.1em; }
        @media screen and (min-width: 469px) and (max-width: 610px) {
          footer#global_footer .fot_cont .wrap_btn .box {
            width: 100%; } }
        @media only screen and (max-width: 468px) {
          footer#global_footer .fot_cont .wrap_btn .box {
            width: 100%; } }
        footer#global_footer .fot_cont .wrap_btn .box i {
          margin-right: 7px;
          font-size: 31px; }
          @media screen and (min-width: 469px) and (max-width: 768px) {
            footer#global_footer .fot_cont .wrap_btn .box i {
              font-size: 20px; } }
        footer#global_footer .fot_cont .wrap_btn .box .sub {
          display: block;
          font-size: 14px; }
          @media screen and (min-width: 469px) and (max-width: 768px) {
            footer#global_footer .fot_cont .wrap_btn .box .sub {
              font-size: 13px; } }
      footer#global_footer .fot_cont .wrap_btn .linkTel {
        background: #0d47a0;
        background: -moz-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
        background: -webkit-gradient(linear, left top, right top, color-stop(0%, #0d47a0), color-stop(100%, #11aacb));
        background: -webkit-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
        background: -o-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
        background: -ms-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
        background: linear-gradient(to right, #0d47a0 0%, #11aacb 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$start-color', endColorstr='$end-color',GradientType=1 );
        color: #fff;
        font-size: 26px;
        font-weight: bold; }
        @media screen and (min-width: 469px) and (max-width: 768px) {
          footer#global_footer .fot_cont .wrap_btn .linkTel {
            font-size: 20px; } }
        @media screen and (min-width: 469px) and (max-width: 610px) {
          footer#global_footer .fot_cont .wrap_btn .linkTel {
            margin-bottom: 20px; } }
        @media only screen and (max-width: 468px) {
          footer#global_footer .fot_cont .wrap_btn .linkTel {
            margin-bottom: 20px;
            padding: 0;
            background-color: none; } }
      footer#global_footer .fot_cont .wrap_btn a {
        display: block;
        padding: 36.5px 10px;
        background: #0d47a0;
        background: -moz-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
        background: -webkit-gradient(linear, left top, right top, color-stop(0%, #0d47a0), color-stop(100%, #11aacb));
        background: -webkit-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
        background: -o-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
        background: -ms-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
        background: linear-gradient(to right, #0d47a0 0%, #11aacb 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$start-color', endColorstr='$end-color',GradientType=1 );
        color: #fff;
        font-size: 26px;
        font-weight: bold;
        transition: all .8s ease-out;
        -webkit-transition: all .8s ease-out;
        box-shadow: inset 0px 0px main-color, inset 0px 0px main-color;
        overflow: hidden; }
        @media screen and (min-width: 469px) and (max-width: 768px) {
          footer#global_footer .fot_cont .wrap_btn a {
            font-size: 20px; } }
        footer#global_footer .fot_cont .wrap_btn a:hover {
          box-shadow: inset 150px 70px 0px 0px #0d47a0, inset -150px -70px 0px 0px #0d47a0; }
  footer#global_footer #nav_footer {
    padding: 13.5px 0;
    background-color: #0d47a0;
    line-height: 2; }
    @media only screen and (max-width: 768px) {
      footer#global_footer #nav_footer {
        display: block !important; } }
    footer#global_footer #nav_footer li {
      display: inline-block;
      margin: 0 15px; }
      @media only screen and (max-width: 768px) {
        footer#global_footer #nav_footer li {
          display: none; } }
      footer#global_footer #nav_footer li a {
        text-decoration: none;
        color: #fff;
        font-size: 14px; }
        footer#global_footer #nav_footer li a:hover {
          opacity: 0.6; }
    @media only screen and (max-width: 768px) {
      footer#global_footer #nav_footer .sp_blk {
        display: inline-block; } }
  footer#global_footer address {
    padding: 30px 0; }
    footer#global_footer address #fotLogo {
      margin-bottom: 25px; }
    footer#global_footer address .fotID {
      margin-bottom: 10px;
      font-weight: bold; }
    footer#global_footer address .box {
      margin-left: 15px; }
  footer#global_footer #copy {
    display: block;
    padding: 10px 0;
    font-size: 13px;
    color: #616161; }
    footer#global_footer #copy a {
      color: #616161;
      text-decoration: none; }

/* index.html */
.index_contents #contents_wrap {
  margin-bottom: 0; }

.con01 {
  padding: 100px 0;
  background: url(../images/contents/bg_topL.png), url(../images/contents/bg_topR.png);
  background-position: top left, top right;
  background-repeat: no-repeat; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .con01 {
      padding: 70px 0; } }
  @media only screen and (max-width: 468px) {
    .con01 {
      padding: 50px 0; } }
  .con01 h2 {
    margin-bottom: 40px;
    font-size: 31px;
    font-weight: bold;
    letter-spacing: 0.1em; }
    @media screen and (min-width: 469px) and (max-width: 768px) {
      .con01 h2 {
        font-size: 24px; } }
    @media screen and (min-width: 469px) and (max-width: 610px) {
      .con01 h2 {
        font-size: 20px; } }
    @media only screen and (max-width: 468px) {
      .con01 h2 {
        font-size: 4.2vw; } }
  .con01 .inner {
    max-width: 770px;
    margin: 0 auto; }
  .con01 h2 {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #0d47a0; }
    @media only screen and (max-width: 768px) {
      .con01 h2 {
        display: block; } }
    @media only screen and (max-width: 468px) {
      .con01 h2 {
        margin-bottom: 20px; } }
    .con01 h2:before, .con01 h2:after {
      content: "";
      flex-grow: 1;
      border-top: 1px solid #616161; }
      @media only screen and (max-width: 768px) {
        .con01 h2:before, .con01 h2:after {
          display: none; } }
    .con01 h2:before {
      margin-right: 1rem; }
    .con01 h2:after {
      margin-left: 1rem; }
  @media screen and (min-width: 469px) and (max-width: 610px) {
    .con01 .txt {
      text-align: left !important; } }
  @media only screen and (max-width: 468px) {
    .con01 .txt {
      text-align: left !important; } }

.con02 {
  padding: 100px 0;
  padding-bottom: 70px; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .con02 {
      padding: 70px 0; } }
  @media only screen and (max-width: 468px) {
    .con02 {
      padding: 50px 0; } }
  .con02 h2 {
    margin-bottom: 40px;
    font-size: 31px;
    font-weight: bold;
    letter-spacing: 0.1em; }
    @media screen and (min-width: 469px) and (max-width: 768px) {
      .con02 h2 {
        font-size: 24px; } }
    @media screen and (min-width: 469px) and (max-width: 610px) {
      .con02 h2 {
        font-size: 20px; } }
    @media only screen and (max-width: 468px) {
      .con02 h2 {
        font-size: 4.2vw; } }
  .con02 h2 {
    position: relative;
    margin-bottom: 70px; }
    @media only screen and (max-width: 468px) {
      .con02 h2 {
        margin-bottom: 50px; } }
    .con02 h2:after {
      content: "";
      position: relative;
      bottom: -25px;
      left: 50%;
      transform: translateX(-50%);
      display: block;
      width: 100px;
      height: 2px;
      background-color: #0d47a0; }
      @media only screen and (max-width: 468px) {
        .con02 h2:after {
          bottom: -15px; } }
  .con02 h3 {
    margin-bottom: 30px;
    font-size: 24px;
    line-height: 1.5;
    color: #fff; }
    @media only screen and (max-width: 930px) {
      .con02 h3 {
        font-size: 17px; } }
    @media screen and (min-width: 469px) and (max-width: 610px) {
      .con02 h3 {
        margin-bottom: 20px;
        font-size: 20px; } }
    @media only screen and (max-width: 468px) {
      .con02 h3 {
        margin-bottom: 20px;
        font-size: 20px; } }
    .con02 h3 .sub {
      display: block;
      margin-bottom: 10px;
      font-size: 20px;
      letter-spacing: 0.1em;
      color: #ffc600; }
      @media only screen and (max-width: 468px) {
        .con02 h3 .sub {
          margin-bottom: 20px;
          font-size: 17px; } }
    .con02 h3 .sub + br {
      display: none; }
  .con02 .pnt_img {
    margin-bottom: 30px; }
  .con02 .txt {
    margin-bottom: 30px;
    color: #fff; }

.con03 {
  margin-top: 100px;
  padding-top: 200px;
  background-repeat: no-repeat;
  background-position: top right;
  background-size: contain; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .con03 {
      margin-top: 70px;
      padding-top: 368px; } }
  @media screen and (min-width: 469px) and (max-width: 610px) {
    .con03 {
      padding-top: 65%; } }
  @media only screen and (max-width: 468px) {
    .con03 {
      margin-top: 50px;
      padding-top: 63%; } }
  .con03 .gra01 {
    background: #0d47a0;
    background: -moz-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, #0d47a0), color-stop(100%, #11aacb));
    background: -webkit-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
    background: -o-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
    background: -ms-linear-gradient(left, #0d47a0 0%, #11aacb 100%);
    background: linear-gradient(to right, #0d47a0 0%, #11aacb 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$start-color', endColorstr='$end-color',GradientType=1 );
    max-width: 580px;
    margin-top: 0 auto 0 0;
    padding: 70px 40px; }
    @media only screen and (max-width: 468px) {
      .con03 .gra01 {
        padding: 30px; } }
    .con03 .gra01 h2 {
      position: relative;
      margin-bottom: 60px;
      font-size: 31px;
      font-weight: bold;
      color: #fff;
      letter-spacing: 0.1em; }
      @media screen and (min-width: 469px) and (max-width: 610px) {
        .con03 .gra01 h2 {
          font-size: 20px; } }
      @media only screen and (max-width: 468px) {
        .con03 .gra01 h2 {
          margin-bottom: 40px;
          font-size: 20px; } }
      .con03 .gra01 h2:after {
        content: "";
        position: relative;
        bottom: -20px;
        left: 50%;
        transform: translateX(-50%);
        display: block;
        width: 100px;
        height: 2px;
        background-color: #ffc600; }
        @media only screen and (max-width: 468px) {
          .con03 .gra01 h2:after {
            bottom: -15px; } }
    .con03 .gra01 .txt {
      margin-bottom: 40px;
      color: #fff; }
  .con03 .gra_r {
    margin: 0 0 0 auto; }

.bg_l {
  background-position: top left; }

@media screen and (min-width: 469px) and (max-width: 610px) {
  .wrap_point {
    display: block !important; } }
.wrap_point .box {
  padding: 50px 30px;
  background-color: #0d47a0;
  border: 1px solid #fff; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .wrap_point .box {
      padding: 30px 10px; } }
  @media screen and (min-width: 469px) and (max-width: 610px) {
    .wrap_point .box {
      width: 100% !important;
      margin-right: 0 !important;
      padding: 30px; } }
  @media only screen and (max-width: 468px) {
    .wrap_point .box {
      padding: 30px; } }

.wrap_news {
  padding: 100px 0;
  margin-top: 100px; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .wrap_news {
      padding: 70px 0; } }
  @media only screen and (max-width: 468px) {
    .wrap_news {
      padding: 50px 0; } }
  .wrap_news h2 {
    margin-bottom: 40px;
    font-size: 31px;
    font-weight: bold;
    letter-spacing: 0.1em; }
    @media screen and (min-width: 469px) and (max-width: 768px) {
      .wrap_news h2 {
        font-size: 24px; } }
    @media screen and (min-width: 469px) and (max-width: 610px) {
      .wrap_news h2 {
        font-size: 20px; } }
    @media only screen and (max-width: 468px) {
      .wrap_news h2 {
        font-size: 4.2vw; } }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .wrap_news {
      margin-top: 70px; } }
  @media only screen and (max-width: 468px) {
    .wrap_news {
      margin-top: 50px; } }
  .wrap_news h2 {
    margin-bottom: 70px;
    color: #ffc600; }
    @media only screen and (max-width: 468px) {
      .wrap_news h2 {
        margin-bottom: 50px; } }
    .wrap_news h2:after {
      content: "";
      position: relative;
      bottom: -20px;
      left: 50%;
      transform: translateX(-50%);
      display: block;
      width: 100px;
      height: 2px;
      background-color: #ffc600; }
      @media only screen and (max-width: 468px) {
        .wrap_news h2:after {
          bottom: -15px; } }
  .wrap_news .news_txt {
    padding: 50px 70px;
    background-color: #fff; }
    @media screen and (min-width: 469px) and (max-width: 610px) {
      .wrap_news .news_txt {
        padding: 50px; } }
    @media only screen and (max-width: 468px) {
      .wrap_news .news_txt {
        padding: 30px; } }
  .wrap_news .scroll {
    height: 225px;
    overflow-x: auto;
    padding: 20px 0; }
    .wrap_news .scroll .txt {
      margin: 0 10px 10px 0;
      border-bottom: 1px dotted #616161; }
      .wrap_news .scroll .txt td {
        padding: 10px 0 !important;
        vertical-align: top; }
        .wrap_news .scroll .txt td:first-of-type {
          width: 150px;
          color: #0d47a0;
          font-weight: bold; }

/* flow.html */
.flow_contents #contents_wrap {
  margin-bottom: 0; }

.wrap_flow {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 468px) {
    .wrap_flow {
      display: block; } }
  .wrap_flow .txt {
    width: 67%; }
    @media only screen and (max-width: 468px) {
      .wrap_flow .txt {
        width: 100%; } }
  .wrap_flow .img_l {
    width: 30%; }
    @media only screen and (max-width: 468px) {
      .wrap_flow .img_l {
        margin-top: 20px;
        width: 100%; } }
    .wrap_flow .img_l img {
      width: 100% !important; }

.wrap_flow02 {
  align-items: center;
  margin-top: 30px; }
  @media only screen and (max-width: 768px) {
    .wrap_flow02 {
      display: block !important; } }
  @media only screen and (max-width: 468px) {
    .wrap_flow02 {
      margin-top: 20px; } }
  .wrap_flow02 .box i {
    margin-right: 10px; }
  .wrap_flow02 .linkTel {
    font-size: 28px;
    font-weight: bold;
    color: #0d47a0; }
    @media screen and (min-width: 469px) and (max-width: 768px) {
      .wrap_flow02 .linkTel {
        width: 100% !important; } }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .wrap_flow02 .mail_box {
      width: 100% !important; } }
  .wrap_flow02 .mail_box a {
    display: block;
    padding: 10px;
    background-color: #11aacb;
    color: #fff;
    font-size: 20px;
    font-weight: bold; }
    @media screen and (min-width: 469px) and (max-width: 768px) {
      .wrap_flow02 .mail_box a {
        max-width: 300px;
        margin: 0 auto; } }
    .wrap_flow02 .mail_box a:hover {
      background-color: #0d47a0; }

.wrap_bl01 h3 {
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: bold;
  color: #0d47a0; }
  @media only screen and (max-width: 468px) {
    .wrap_bl01 h3 {
      font-size: 18px; } }
.wrap_bl01 h4 {
  margin: 30px auto 10px auto;
  font-size: 18px;
  font-weight: bold; }
  @media only screen and (max-width: 468px) {
    .wrap_bl01 h4 {
      font-size: 16px; } }

/* works.html */
.wrap_img {
  justify-content: flex-start !important; }

.g_map {
  margin-top: 30px; }
  @media only screen and (max-width: 468px) {
    .g_map iframe {
      height: 300px; } }

.wrap_zasshi {
  margin-top: 30px; }
  .wrap_zasshi .box img {
    margin-bottom: 10px; }
    @media screen and (min-width: 469px) and (max-width: 768px) {
      .wrap_zasshi .box img {
        max-width: 100% !important; } }

/* link.html */
.wrap_link .box {
  padding: 2%;
  background-color: rgba(13, 71, 160, 0.2);
  border-radius: 10px; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .wrap_link .box {
      width: 48% !important;
      margin-right: 4% !important; } }
  .wrap_link .box:nth-of-type(even) {
    margin-right: 0 !important; }
  .wrap_link .box td {
    padding: 10px !important;
    text-align: center; }
    .wrap_link .box td h2 {
      font-size: 18px;
      font-weight: bold; }
      @media only screen and (max-width: 468px) {
        .wrap_link .box td h2 {
          font-size: 16px; } }
    .wrap_link .box td a:hover {
      text-decoration: underline; }

/* contact.html */
.cont_tel .linkTel {
  display: inline-block;
  margin-right: 20px;
  font-size: 28px;
  font-weight: bold;
  color: #0d47a0; }
  @media only screen and (max-width: 468px) {
    .cont_tel .linkTel {
      display: block; } }
  .cont_tel .linkTel i {
    margin-right: 10px; }
  .cont_tel .linkTel a {
    font-weight: bold; }

.cont_fax {
  font-size: 28px;
  font-weight: bold;
  color: #0d47a0; }
  .cont_fax i {
    margin-right: 10px; }

.style_form th, .style_form td {
  padding: 10px !important; }

/* bg_100per */
.con100 {
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1); }

/* box */
.flex02 {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 468px) {
    .flex02 {
      display: block; } }
  .flex02 .box {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 10px; }
    @media only screen and (max-width: 468px) {
      .flex02 .box {
        width: 100% !important;
        margin-right: 0 !important; } }
    .flex02 .box:nth-of-type {
      margin-right: 0; }
    .flex02 .box img {
      width: 100% !important; }

.flex03, .sp03 {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media only screen and (max-width: 468px) {
    .flex03, .sp03 {
      display: block; } }
  .flex03 .box, .sp03 .box {
    width: 32%;
    margin-right: 2%;
    margin-bottom: 30px; }
    @media only screen and (max-width: 468px) {
      .flex03 .box, .sp03 .box {
        width: 100% !important;
        margin-right: 0 !important; } }
    .flex03 .box:nth-of-type(3n), .sp03 .box:nth-of-type(3n) {
      margin-right: 0; }
    .flex03 .box img, .sp03 .box img {
      width: 100% !important; }

@media only screen and (max-width: 468px) {
  .sp03 {
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; } }
@media only screen and (max-width: 468px) {
  .sp03 .box {
    width: 32% !important;
    margin-right: 2% !important; } }
@media only screen and (max-width: 468px) {
  .sp03 .box:nth-of-type(3n) {
    margin-right: 0 !important; } }

.flex05 {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap; }
  .flex05 .box {
    width: 17%;
    margin-right: 3.7%;
    margin-bottom: 50px; }
    @media screen and (min-width: 469px) and (max-width: 768px) {
      .flex05 .box {
        width: 32%;
        margin-right: 2%; } }
    @media only screen and (max-width: 468px) {
      .flex05 .box {
        width: 48%;
        margin-right: 4%; } }
    .flex05 .box:nth-of-type(5n) {
      margin-right: 0; }
      @media screen and (min-width: 469px) and (max-width: 768px) {
        .flex05 .box:nth-of-type(5n) {
          margin-right: 2%; } }
      @media only screen and (max-width: 468px) {
        .flex05 .box:nth-of-type(5n) {
          margin-right: 4%; } }
    @media screen and (min-width: 469px) and (max-width: 768px) {
      .flex05 .box:nth-of-type(3n) {
        margin-right: 0; } }
    @media only screen and (max-width: 468px) {
      .flex05 .box:nth-of-type(even) {
        margin-right: 0; } }
    .flex05 .box img {
      width: 100% !important; }

/* title */
.ttl01 h1 {
  position: relative;
  padding: 30px 0;
  background-color: #0d47a0;
  font-size: 40px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 2px; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .ttl01 h1 {
      font-size: 30px; } }
  @media only screen and (max-width: 468px) {
    .ttl01 h1 {
      font-size: 22px; } }
  .ttl01 h1:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #11aacb;
    background: -moz-linear-gradient(left, #11aacb 0%, #0d47a0 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, #11aacb), color-stop(100%, #0d47a0));
    background: -webkit-linear-gradient(left, #11aacb 0%, #0d47a0 100%);
    background: -o-linear-gradient(left, #11aacb 0%, #0d47a0 100%);
    background: -ms-linear-gradient(left, #11aacb 0%, #0d47a0 100%);
    background: linear-gradient(to right, #11aacb 0%, #0d47a0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$start-color', endColorstr='$end-color',GradientType=1 ); }
.ttl01 h2 {
  margin: 70px auto 20px auto;
  font-size: 24px;
  font-weight: bold; }
  @media only screen and (max-width: 468px) {
    .ttl01 h2 {
      margin-top: 50px;
      font-size: 18px; } }
.ttl01 h3 {
  margin: 30px auto 10px auto;
  font-size: 20px;
  font-weight: bold; }
  @media only screen and (max-width: 468px) {
    .ttl01 h3 {
      font-size: 18px; } }
.ttl01 h2 {
  position: relative;
  border-bottom: 2px solid #f3f3f3;
  font-style: oblique;
  color: #0d47a0; }
  .ttl01 h2:after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 80px;
    height: 2px;
    background-color: #ffc600; }
.ttl01 h3 {
  padding-left: 10px;
  border-left: 7px solid #11aacb;
  color: #101010; }
.ttl01 h3 + br {
  display: none; }

.ttl02 h1 {
  position: relative;
  padding: 30px 0;
  background-color: #0d47a0;
  font-size: 40px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 2px; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .ttl02 h1 {
      font-size: 30px; } }
  @media only screen and (max-width: 468px) {
    .ttl02 h1 {
      font-size: 22px; } }
  .ttl02 h1:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #11aacb;
    background: -moz-linear-gradient(left, #11aacb 0%, #0d47a0 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, #11aacb), color-stop(100%, #0d47a0));
    background: -webkit-linear-gradient(left, #11aacb 0%, #0d47a0 100%);
    background: -o-linear-gradient(left, #11aacb 0%, #0d47a0 100%);
    background: -ms-linear-gradient(left, #11aacb 0%, #0d47a0 100%);
    background: linear-gradient(to right, #11aacb 0%, #0d47a0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$start-color', endColorstr='$end-color',GradientType=1 ); }
.ttl02 h2 {
  margin: 70px auto 20px auto;
  font-size: 24px;
  font-weight: bold; }
  @media only screen and (max-width: 468px) {
    .ttl02 h2 {
      margin-top: 50px;
      font-size: 18px; } }
.ttl02 h3 {
  margin: 30px auto 10px auto;
  font-size: 20px;
  font-weight: bold; }
  @media only screen and (max-width: 468px) {
    .ttl02 h3 {
      font-size: 18px; } }
.ttl02 h2 {
  border-bottom: 2px solid #0d47a0;
  font-style: oblique;
  color: #0d47a0; }
.ttl02 h3 {
  margin-bottom: 20px;
  color: #0d47a0; }
  @media only screen and (max-width: 468px) {
    .ttl02 h3 {
      margin-bottom: 10px;
      text-align: center !important; } }
  .ttl02 h3 .sub {
    display: inline-block;
    margin-right: 10px;
    padding: 0 10px;
    background-color: #11aacb;
    border-radius: 3px;
    color: #fff; }
    @media only screen and (max-width: 468px) {
      .ttl02 h3 .sub {
        display: block;
        margin-bottom: 10px; } }
  .ttl02 h3 .sub + br {
    display: none; }

.bdr_wh h2 {
  border-bottom: 2px solid #fff; }

/* btn */
.btn_ylw01 a {
  display: block;
  padding: 13.5px 10px;
  background-color: #ffc600;
  font-weight: bold;
  color: #101010; }
  .btn_ylw01 a:before {
    content: "\f105";
    font-family: "Font Awesome 5 Pro";
    margin-right: 10px; }
  .btn_ylw01 a:hover {
    opacity: 0.8; }

.btn_ylw02 a {
  display: inline-block;
  padding: 10px 70px;
  text-align: center; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .btn_ylw02 a {
      padding: 10px 30px; } }
  @media only screen and (max-width: 468px) {
    .btn_ylw02 a {
      display: block;
      padding: 10px; } }
  .btn_ylw02 a:hover {
    background-color: #ffc600;
    opacity: 0.8; }

/* txt */
.lh2 {
  line-height: 2; }

/* common */
.max340 {
  max-width: 340px;
  margin: 0 auto; }

.mg_t0, .mg_t0 h2, .mg_t0 h3 {
  margin-top: 0; }

.mg_t30 {
  margin-top: 30px; }

.mg_t100 {
  margin-top: 100px; }

.bg_gry {
  margin-top: 70px;
  padding: 100px 0; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .bg_gry {
      padding: 70px 0; } }
  @media only screen and (max-width: 468px) {
    .bg_gry {
      margin-top: 50px;
      padding: 50px 0; } }

.bg_bl01 {
  margin-top: 50px;
  padding: 4%;
  background-color: rgba(13, 71, 160, 0.1); }

.tbl_st01 td {
  padding: 20px !important; }
  .tbl_st01 td:first-of-type {
    width: 30%;
    background-color: #0d47a0;
    text-align: center;
    color: #fff; }
    @media only screen and (max-width: 468px) {
      .tbl_st01 td:first-of-type {
        text-align: left; } }

.anc {
  margin-top: -100px;
  padding-top: 100px; }

.ob_fit img {
  width: 30% !important;
  height: 204px !important;
  object-fit: cover;
  font-family: 'object-fit: cover; object-position: center top;'; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .ob_fit img {
      height: 15vh !important; } }
  @media only screen and (max-width: 468px) {
    .ob_fit img {
      width: 100% !important;
      height: auto !important; } }

.ob_fit02 img {
  width: 100%;
  height: 245px !important;
  object-fit: cover;
  font-family: 'object-fit: cover; object-position: center top;'; }
  @media screen and (min-width: 469px) and (max-width: 768px) {
    .ob_fit02 img {
      height: 155px !important; } }
  @media only screen and (max-width: 468px) {
    .ob_fit02 img {
      height: 99px !important; } }

.sp_br {
  display: block; }
  @media screen and (min-width: 469px) and (max-width: 610px) {
    .sp_br {
      display: none; } }
  @media only screen and (max-width: 468px) {
    .sp_br {
      display: none; } }

@media only screen and (max-width: 468px) {
  .sp_left {
    text-align: left !important; } }

/*# sourceMappingURL=common.css.map */
