@charset "UTF-8";
/* Scss Document */
@import url(reset.css);
@import url("https://fonts.googleapis.com/css?family=Homemade+Apple");
/*=======================================================
    css
========================================================*/
/*-------------- ブレークポイント作成 ここから ----------------*/
/*-------------- ブレークポイント作成 ここまで ----------------*/
/*-------------- calc mixin ここから ----------------*/
/*-------------- calc mixin ここまで ----------------*/
html {
  font-size: 62.5%; }

body {
  -webkit-text-size-adjust: 100%;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif;
  color: #333;
  line-height: 1.8;
  font-size: 1.6rem; }

p {
  font-size: 1.6rem; }
  @media screen and (max-width: 767px) {
    p {
      font-size: 1.3rem; } }

main {
  display: block; }

a {
  -webkit-backface-visibility: hidden;
  /* 追加 */
  backface-visibility: hidden;
  /* 追加 */
  text-decoration: none;
  webkit-transition: 0.2s ease-in;
  -moz-transition: 0.2s ease-in;
  -ms-transition: 0.2s ease-in;
  -webkit-transition: 0.2s ease-in;
  -o-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
  filter: alpha(opacity=100);
  vertical-align: top;
  zoom: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }
  a:hover {
    visibility: visible;
    -webkit-opacity: 0.7;
    -moz-opacity: 0.7;
    opacity: 0.7;
    filter: alpha(opacity=70);
    display: inline-block;
    zoom: 1;
    cursor: pointer; }
  a:visited, a:link {
    color: #333; }

img {
  line-height: 0; }

.wrapper {
  overflow: hidden;
  margin: 0 auto; }

.clearfix::after {
  content: "";
  display: table;
  clear: both; }

.inner {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 1000px) {
    .inner {
      padding: 0 3%; } }
  @media screen and (max-width: 767px) {
    .inner {
      padding: 0 3%; } }

@media screen and (max-width: 767px) {
  .pc {
    display: none !important; } }

@media screen and (min-width: 768px) {
  .sp {
    display: none !important; } }

.title {
  color: #1376bd;
  border-bottom: 1px solid #1376bd;
  display: inline-block;
  margin: 0px auto;
  font-size: 3.0rem; }
  @media screen and (max-width: 767px) {
    .title {
      font-size: 2.0rem; } }
  .title span {
    display: block;
    font-size: 1.4rem; }
    @media screen and (max-width: 767px) {
      .title span {
        font-size: 1.0rem; } }

.link {
  position: relative; }
  .link::after {
    position: absolute;
    right: -16px;
    font-family: "LigatureSymbols";
    content: "\E095";
    margin-left: 5px; }

.full img {
  max-width: none !important;
  width: 100% !important;
  height: auto; }

.color1{
	color: #FF0004;
}
.fw-b{
	font-weight: bold;
}
.margin-t40{
	margin-top: 40px;
}
.margin-b40{
	margin-bottom: 40px;
}
.pad-t40{
	padding-top: 40px;
}
.pad-b40{
	padding-bottom: 40px;
}
/*=======================================================

     header

========================================================*/
.header_top {
  background: #fff;
  text-align: center;
  padding: 20px 0px; }
  @media screen and (max-width: 767px) {
    .header_top h1 img {
      width: 200px; } }

.header_inner {
  background: url(../img/img_hero.jpg) no-repeat center top;
  background-size: cover;
  text-align: center;
  min-height: 400px;
  padding: 80px 0px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 767px) {
    .header_inner {
      padding: 30px 0px;
      min-height: 330px; } }
  @media screen and (max-width: 767px) {
    .header_inner p img {
      width: 100%; } }

.header #gNav {
  text-align: center;
  margin: 50px auto 0px; }
  @media screen and (max-width: 767px) {
    .header #gNav {
      width: 80%;
      margin: 30px auto 0px; } }
  .header #gNav li {
    display: inline-block;
    margin: 0px 10px 0px 0px;
    width: 150px;
    vertical-align: top; }
    @media screen and (max-width: 991px) {
      .header #gNav li {
        width: 135px; } }
    @media screen and (max-width: 767px) {
      .header #gNav li {
        display: block;
        float: left;
        width: calc((100% - 10px)/2);
        margin: 0px 10px 10px 0px; }
        .header #gNav li:last-child {
          width: 100%; } }
    @media screen and (max-width: 767px) {
      .header #gNav li:nth-child(2n) {
        margin: 0px 0px 10px 0px; } }
    .header #gNav li a {
      display: block;
      position: relative;
      background: rgba(23, 120, 191, 0.8);
      color: #fff;
      border: 1px solid #fff;
      font-size: 1.8rem;
      vertical-align: middle;
      padding: 15px 0px;
      font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
      .header #gNav li a:hover {
        opacity: 1;
        background: #1778bf; }
      .header #gNav li a p {
        line-height: 1; }
        @media screen and (min-width: 768px) {
          .header #gNav li a p {
            position: relative;
            top: 50%;
            -webkit-transform: translateY(-50%);
            /* Safari用 */
            -ms-transform: translateY(-50%);
            transform: translateY(-50%); } }
        .header #gNav li a p span {
          display: block; }
        .header #gNav li a p img {
          width: auto; }
          @media screen and (max-width: 767px) {
            .header #gNav li a p img {
              width: 10px;
              height: auto; } }
    .header #gNav li:last-child {
      margin: 0px 0px; }
      .header #gNav li:last-child a {
        background: rgba(206, 22, 28, 0.8);
        padding: 15px 0px; }
        @media screen and (max-width: 767px) {
          .header #gNav li:last-child a {
            padding: 20px 0px; } }
        .header #gNav li:last-child a::after {
          background: none; }
        .header #gNav li:last-child a:hover {
          opacity: 1;
          background: #ce161c; }

/*=======================================================

     footer

========================================================*/
.footer {
  background: #424343;
  color: #fff;
  text-align: center;
  padding: 15px; }
  .footer .footer_address,
  .footer .footer_copy {
    font-size: 1.2rem; }

/*=======================================================

     home

========================================================*/
.block {
  text-align: center; }
  .block .box {
    background: #fff; }
  .block.block-01 {
    background: #ecf1f5;
    padding-bottom: 100px; }
    @media screen and (max-width: 767px) {
      .block.block-01 {
        padding-bottom: 50px; } }
    .block.block-01 .box {
      padding: 4%;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      .block.block-01 .box_img {
        width: 40%;
        float: left; }
        .block.block-01 .box_img img {
          width: 100%; }
        @media screen and (max-width: 767px) {
          .block.block-01 .box_img {
            width: 100%;
            float: none; } }
      .block.block-01 .box_txt {
        width: 57%;
        float: right;
        text-align: left; }
        @media screen and (max-width: 767px) {
          .block.block-01 .box_txt {
            width: 100%;
            float: none; } }
        .block.block-01 .box_txt p a {
          color: #bf1a20;
          text-decoration: underline; }
          .block.block-01 .box_txt p a:hover {
            text-decoration: none; }
      .block.block-01 .box_title {
        font-size: 2.4rem;
        border-bottom: 1px solid #b5b5b5;
        padding-bottom: 10px;
        margin-bottom: 10px;
        line-height: 1.5;
        font-weight: bold; }
        @media screen and (max-width: 767px) {
          .block.block-01 .box_title {
            font-size: 1.8rem;
            margin-top: 15px; } }
      .block.block-01 .box li {
        clear: both;
        overflow: hidden; }
        .block.block-01 .box li span {
          display: block;
          float: left;
          width: 2rem; }
        .block.block-01 .box li p {
          float: left;
          width: calc(100% - 2rem); }
      .block.block-01 .box_btn {
        margin-top: 20px; }
        .block.block-01 .box_btn a {
          color: #fff;
          display: block;
          text-align: center;
          background: #1778bf;
          border-radius: 30px;
          font-size: 1.8rem;
          padding: 10px;
          position: relative; }
          .block.block-01 .box_btn a::after {
            position: absolute;
            content: "";
            background: url(../img/icon_link.png) no-repeat right center;
            width: 21px;
            height: 19px;
            right: 5%;
            top: 50%;
            margin-top: -1rem; }
            @media screen and (max-width: 767px) {
              .block.block-01 .box_btn a::after {
                background-size: 15px;
                width: 15px;
                height: 14px; } }
          @media screen and (max-width: 767px) {
            .block.block-01 .box_btn a {
              font-size: 1.3rem; } }
  .block .txt_right {
    text-align: right; }
  .block .title {
    margin: 80px auto 20px;
    line-height: 1.4;
    padding-bottom: 10px;
    font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
    @media screen and (max-width: 767px) {
      .block .title {
        margin: 40px auto 20px; } }
  .block.block-02 {
    margin-bottom: 100px; }
    @media screen and (max-width: 767px) {
      .block.block-02 {
        margin-bottom: 50px; } }
    .block.block-02 h3 {
      background: url(../img/bg_stripe.jpg) repeat 0 0;
      color: #fff;
      padding: 5px 20px;
      text-align: left;
      font-size: 2.0rem;
      font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
      @media screen and (max-width: 767px) {
        .block.block-02 h3 {
          font-size: 1.8rem;
          padding: 10px 20px; } }
      .block.block-02 h3 span {
        font-size: 1.6rem; }
        @media screen and (max-width: 767px) {
          .block.block-02 h3 span {
            display: block;
            font-size: 1.2rem; } }
    .block.block-02 ul {
      margin: 10px 20px 50px; }
      @media screen and (max-width: 767px) {
        .block.block-02 ul {
          margin: 10px 15px 25px; } }
      .block.block-02 ul li {
        clear: both;
        overflow: hidden;
        text-align: left;
        font-size: 1.4rem; }
        @media screen and (max-width: 767px) {
          .block.block-02 ul li {
            font-size: 1.2rem;
            margin-bottom: 10px; } }
        .block.block-02 ul li span {
          display: block;
          float: left;
          width: 2rem;
          font-size: 1.4rem; }
          @media screen and (max-width: 767px) {
            .block.block-02 ul li span {
              font-size: 1.2rem;
              width: 1rem; } }
        .block.block-02 ul li p {
          float: left;
          width: calc(100% - 2rem);
          font-size: 1.4rem; }
          @media screen and (max-width: 767px) {
            .block.block-02 ul li p {
              width: calc(100% - 1rem);
              font-size: 1.2rem; } }
        .block.block-02 ul li:last-child {
          color: #1172ba; }
    .block.block-02 ol {
      width: 100%; }
      .block.block-02 ol li {
        display: inline-block;
        width: 24%;
        margin: 0px 1% 0px 0px;
        float: left; }
        @media screen and (max-width: 767px) {
          .block.block-02 ol li {
            line-height: 1;
            width: 49%; }
            .block.block-02 ol li:nth-child(2n) {
              margin: 0px; } }
        .block.block-02 ol li img {
          width: 100%; }
  .block.block-03 {
    background: #f7f7f7;
    padding: 50px 0px; }
    @media screen and (max-width: 767px) {
      .block.block-03 {
        padding: 0px 0px 25px; } }
    .block.block-03 .box {
      background: #f7f7f7; }
      .block.block-03 .box table {
        width: 100%;
        border-top: 1px dotted #1172ba; }
        @media screen and (max-width: 767px) {
          .block.block-03 .box table {
            width: 90%;
            margin: 0px auto; } }
        .block.block-03 .box table tr {
          border-bottom: 1px dotted #1172ba; }
        .block.block-03 .box table th {
          color: #1172ba;
          text-align: right;
          width: 35%;
          padding: 20px 0px;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
          @media screen and (max-width: 767px) {
            .block.block-03 .box table th {
              display: block;
              padding: 20px 0px 0px;
              width: 100%;
              text-align: left;
              -webkit-box-sizing: border-box;
              box-sizing: border-box;
              font-size: 1.4rem; } }
        .block.block-03 .box table td {
          padding: 20px 0px 20px 6rem;
          width: 60%;
          text-align: left;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
          @media screen and (max-width: 767px) {
            .block.block-03 .box table td {
              display: block;
              width: 100%;
              padding: 0px 0px 20px;
              -webkit-box-sizing: border-box;
              box-sizing: border-box;
              font-size: 1.3rem; } }
  .block.block-04 {
    background: #f7f7f7;
    padding-bottom: 100px; }
    @media screen and (max-width: 767px) {
      .block.block-04 {
        padding-bottom: 50px; } }
    .block.block-04 .box {
      padding: 4%; }
      .block.block-04 .box_top .box_img {
        width: 30%;
        float: left; }
        @media screen and (max-width: 767px) {
          .block.block-04 .box_top .box_img {
            width: 100%;
            float: none; } }
        .block.block-04 .box_top .box_img img {
          width: 100%; }
          @media screen and (max-width: 767px) {
            .block.block-04 .box_top .box_img img {
              width: 60%;
              margin: 0px auto; } }
      .block.block-04 .box_top .box_txt {
        width: 65%;
        float: right;
        text-align: left; }
        @media screen and (max-width: 767px) {
          .block.block-04 .box_top .box_txt {
            width: 100%;
            float: none; } }
        .block.block-04 .box_top .box_txt p {
          text-align: left; }
          .block.block-04 .box_top .box_txt p span {
            margin-right: 1.2em; }
            @media screen and (max-width: 767px) {
              .block.block-04 .box_top .box_txt p span {
                margin-right: 0px;
                color: #89a8be; } }
      .block.block-04 .box_top .box_name {
        font-size: 2.0rem;
        font-weight: bold;
        margin-bottom: 10px; }
      .block.block-04 .box_top .box_txtinner p{
        font-size: 1.5rem;
        line-height: 2.0;}
        @media screen and (max-width: 767px) {
          .block.block-04 .box_top .box_name {
            font-size: 1.6rem; } }
      .block.block-04 .box_bottom {
        border-top: 1px solid #b5b5b5;
        padding-top: 30px;
        margin-top: 30px; }
        @media screen and (max-width: 767px) {
          .block.block-04 .box_bottom {
            padding-top: 20px;
            margin-top: 20px; } }
        .block.block-04 .box_bottom .box_img {
          width: 48%;
          float: left; }
          @media screen and (max-width: 767px) {
            .block.block-04 .box_bottom .box_img {
              width: 100%;
              float: none; } }
          .block.block-04 .box_bottom .box_img li {
            width: 48%;
            float: left; }
            .block.block-04 .box_bottom .box_img li img {
              width: 100%; }
            .block.block-04 .box_bottom .box_img li:last-child {
              float: right; }
        .block.block-04 .box_bottom .box_txt {
          width: 48%;
          float: right;
          text-align: left; }
          @media screen and (max-width: 767px) {
            .block.block-04 .box_bottom .box_txt {
              width: 100%;
              float: none; } }
          .block.block-04 .box_bottom .box_txt li {
            border-bottom: 1px dotted #b5b5b5; }
            @media screen and (max-width: 767px) {
              .block.block-04 .box_bottom .box_txt li {
                border-bottom: 1px dotted #b5b5b5;
                font-size: 1.2rem; }
                .block.block-04 .box_bottom .box_txt li:last-child {
                  border-bottom: 0px; } }
