@charset "UTF-8";
.hero_area {
  width: 100%;
  height: calc(100vh - 0px);
  background: url(../../img/index/img01.jpg) center top no-repeat;
  background-size: cover;
  background-attachment: fixed;
  top: 90px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  @media screen and (max-width: 1024px) {
    .hero_area {
      top: 0px;
      height: calc(70vh - 0px);
      background: url(../../img/index/img01_sp.jpg) center top no-repeat;
      background-size: cover;
      background-attachment: scroll; } }
  .hero_area .tit {
    font-family: "Sawarabi Mincho", "Noto Serif Japanese", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 24px;
    color: #000;
    text-align: center;
    text-shadow: 0px 0px 3px white; }
    @media screen and (max-width: 768px) {
      .hero_area .tit {
        font-size: 18px; } }
    .hero_area .tit strong {
      font-size: 42px;
      display: block;
      margin-top: 10px; }
      @media screen and (max-width: 768px) {
        .hero_area .tit strong {
          font-size: 24px;
          margin-top: 5px; } }
      .hero_area .tit strong::after {
        content: "";
        width: 60px;
        height: 1px;
        background-color: #000;
        display: block;
        margin: 25px auto 25px; }
        @media screen and (max-width: 768px) {
          .hero_area .tit strong::after {
            width: 40px;
            margin: 15px auto 15px; } }
    .hero_area .tit i {
      font-size: 26px;
      display: block; }
      @media screen and (max-width: 768px) {
        .hero_area .tit i {
          font-size: 18px; } }
  .hero_area .cur_under {
    position: absolute;
    left: calc(50% - 20px);
    bottom: -70px;
    width: 30px;
    height: 30px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
    @media screen and (max-width: 768px) {
      .hero_area .cur_under {
        left: calc(50% - 20px);
        width: 20px;
        height: 20px;
        border: 1px solid #fff;
        border-top: none;
        border-left: none; } }

main {
  width: 100%;
  background-color: #fff;
  position: relative;
  z-index: 100;
  padding-top: 100px; }
  @media screen and (max-width: 768px) {
    main {
      padding-top: 50px; } }
  main .sec_com {
    margin-bottom: 120px; }
    @media screen and (max-width: 768px) {
      main .sec_com {
        margin-bottom: 50px; } }
    main .sec_com .sec_com_in {
      width: 71.74%;
      max-width: 980px;
      margin: 0px auto; }
      @media screen and (max-width: 768px) {
        main .sec_com .sec_com_in {
          width: 100%;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; } }
    main .sec_com .tit_com01 {
      text-align: center;
      font-size: 20px;
      font-weight: bold;
      font-family: "Lexend Deca", sans-serif; }
      @media screen and (max-width: 768px) {
        main .sec_com .tit_com01 {
          font-size: 18px; } }
      main .sec_com .tit_com01::after {
        content: "";
        width: 60px;
        height: 1px;
        background-color: #707070;
        display: block;
        margin: 20px auto 40px; }
        @media screen and (max-width: 768px) {
          main .sec_com .tit_com01::after {
            width: 40px;
            margin: 15px auto 25px; } }
    main .sec_com .tit_com02 {
      font-size: 24px;
      font-family: "Sawarabi Mincho", "Noto Serif Japanese", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
      text-align: center;
      color: #000;
      margin-bottom: 45px; }
      @media screen and (max-width: 768px) {
        main .sec_com .tit_com02 {
          font-size: 18px;
          margin-bottom: 20px; } }
    main .sec_com .txt_com01 {
      text-align: center;
      margin-bottom: 70px;
      font-size: 18px;
      color: #454545; }
      @media screen and (max-width: 768px) {
        main .sec_com .txt_com01 {
          margin-bottom: 40px;
          font-size: 15px;
          line-height: 2; } }
      main .sec_com .txt_com01 a {
        display: inline;
        text-decoration: underline;
        color: #707070;
        font-weight: bold; }
  main .sec01 .img_area {
    width: 71.74%;
    max-width: 980px;
    margin: 0px auto; }
    @media screen and (max-width: 768px) {
      main .sec01 .img_area {
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0px 35px; } }
    main .sec01 .img_area ul {
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      main .sec01 .img_area ul li {
        margin-bottom: 25px; }
        @media screen and (max-width: 768px) {
          main .sec01 .img_area ul li {
            margin-bottom: 10px; } }
        main .sec01 .img_area ul li img {
          width: 100%; }
      main .sec01 .img_area ul li:nth-child(1), main .sec01 .img_area ul li:nth-child(4) {
        width: 58.77%; }
        @media screen and (max-width: 768px) {
          main .sec01 .img_area ul li:nth-child(1), main .sec01 .img_area ul li:nth-child(4) {
            width: 100%; } }
      main .sec01 .img_area ul li:nth-child(2), main .sec01 .img_area ul li:nth-child(3) {
        width: 38.77%; }
        @media screen and (max-width: 768px) {
          main .sec01 .img_area ul li:nth-child(2), main .sec01 .img_area ul li:nth-child(3) {
            width: 100%; } }
  main .sec02 .txt_com01 {
    margin-bottom: 20px; }
  main .sec02 .img_logo {
    width: 5.63%;
    max-width: 77px;
    margin: 0px auto;
    margin-bottom: 25px; }
    @media screen and (max-width: 768px) {
      main .sec02 .img_logo {
        width: 100%;
        margin-bottom: 15px; } }
  main .sec02 .txt_box {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 70px; }
    @media screen and (max-width: 768px) {
      main .sec02 .txt_box {
        width: 100%;
        margin-bottom: 40px; } }
    main .sec02 .txt_box .img_area {
      position: absolute;
      top: 0px;
      right: 0px;
      width: 62.34%; }
      @media screen and (max-width: 768px) {
        main .sec02 .txt_box .img_area {
          width: 100%;
          position: static; }
          main .sec02 .txt_box .img_area img {
            width: 100%; } }
    main .sec02 .txt_box .txt_area {
      margin-top: 170px;
      width: 41.12%;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      background-color: #F4F4F4;
      padding: 50px;
      z-index: 100;
      position: relative; }
      @media screen and (max-width: 768px) {
        main .sec02 .txt_box .txt_area {
          margin-top: 0px;
          width: 100%;
          padding: 25px; } }
      main .sec02 .txt_box .txt_area .tit01 {
        font-weight: bold;
        font-size: 20px;
        margin-bottom: 25px;
        color: #454545; }
        @media screen and (max-width: 768px) {
          main .sec02 .txt_box .txt_area .tit01 {
            font-size: 16px;
            margin-bottom: 10px; } }
        main .sec02 .txt_box .txt_area .tit01 span {
          display: block;
          font-size: 16px; }
          @media screen and (max-width: 768px) {
            main .sec02 .txt_box .txt_area .tit01 span {
              font-size: 14px; } }
      main .sec02 .txt_box .txt_area .txt01 {
        font-size: 18px;
        color: #454545; }
        @media screen and (max-width: 768px) {
          main .sec02 .txt_box .txt_area .txt01 {
            font-size: 14px; } }
  main .sec02 .txt_box:nth-child(odd) {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end; }
    main .sec02 .txt_box:nth-child(odd) .img_area {
      left: 0px;
      right: auto; }
  main .sec02 .menu_btn {
    width: 100%; }
    @media screen and (max-width: 768px) {
      main .sec02 .menu_btn {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0px 35px; } }
    main .sec02 .menu_btn ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      @media screen and (max-width: 768px) {
        main .sec02 .menu_btn ul {
          display: block; } }
      main .sec02 .menu_btn ul li {
        width: 48.26%;
        margin-bottom: 30px; }
        @media screen and (max-width: 768px) {
          main .sec02 .menu_btn ul li {
            width: 100%;
            margin-bottom: 15px; } }
        main .sec02 .menu_btn ul li a {
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          display: block;
          border: 1px solid #707070;
          text-align: center;
          color: #707070;
          font-family: "Lexend Deca", sans-serif;
          font-size: 22px;
          padding: 40px 0px;
          background: url(../../img/common/icon_pdf.png) 95% center no-repeat; }
          @media screen and (max-width: 768px) {
            main .sec02 .menu_btn ul li a {
              font-size: 16px;
              padding: 25px 0px;
              background-size: 25px auto; } }

.sec03 {
  background-color: #F4F4F4;
  padding: 45px 0px; }
  @media screen and (max-width: 768px) {
    .sec03 {
      padding: 30px 0px; } }
  .sec03 .txt_box02 {
    width: 75.1%;
    margin: 0px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin-bottom: 45px; }
    @media screen and (max-width: 768px) {
      .sec03 .txt_box02 {
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0px 35px; } }
    .sec03 .txt_box02 .img_area {
      width: 47.75%; }
      @media screen and (max-width: 768px) {
        .sec03 .txt_box02 .img_area {
          width: 100%;
          margin-bottom: 10px; } }
      .sec03 .txt_box02 .img_area img {
        width: 100%; }
    .sec03 .txt_box02 .txt_area {
      width: 38.98%;
      font-size: 18px;
      margin: 0px auto;
      color: #454545; }
      @media screen and (max-width: 768px) {
        .sec03 .txt_box02 .txt_area {
          width: 100%;
          font-size: 15px; } }
  .sec03 .txt_box02:nth-child(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row; }
  .sec03 .txt_r {
    text-align: right; }
    @media screen and (max-width: 768px) {
      .sec03 .txt_r {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-right: 35px; } }

.sec05 dl {
  width: 40.99%;
  margin: 0px auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 15px; }
  @media screen and (max-width: 768px) {
    .sec05 dl {
      width: 100%;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 0px 35px;
      margin-bottom: 25px; } }
  .sec05 dl dt, .sec05 dl dd {
    color: #6C6C6C;
    font-size: 18px;
    color: #454545; }
    @media screen and (max-width: 768px) {
      .sec05 dl dt, .sec05 dl dd {
        font-size: 15px; } }
  .sec05 dl dt {
    font-weight: bold;
    width: 20%; }
    @media screen and (max-width: 768px) {
      .sec05 dl dt {
        width: 100%;
        display: block;
        margin-bottom: 5px; } }
  .sec05 dl dd {
    width: 80%; }
    @media screen and (max-width: 768px) {
      .sec05 dl dd {
        width: 100%; } }
    .sec05 dl dd a {
      color: #6C6C6C; }
    .sec05 dl dd .icon {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding-right: 80px;
      min-height: 42px;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        .sec05 dl dd .icon {
          padding-right: 0px;
          margin-bottom: 10px; } }
    .sec05 dl dd .icon01 {
      background: url(../../img/common/icon01.png) 60% center no-repeat;
      background-size: 79px auto; }
      @media screen and (max-width: 1024px) {
        .sec05 dl dd .icon01 {
          background-position: right center; } }
    .sec05 dl dd .icon02 {
      background: url(../../img/common/icon02.png) 60% center no-repeat;
      background-size: 79px auto; }
      @media screen and (max-width: 1024px) {
        .sec05 dl dd .icon02 {
          background-position: right center; } }
    .sec05 dl dd .icon03 {
      background: url(../../img/common/icon03.png) 60% center no-repeat;
      background-size: 79px auto; }
      @media screen and (max-width: 1024px) {
        .sec05 dl dd .icon03 {
          background-position: right center; } }

.sec06 {
  background-color: #b9b8b8;
  padding: 45px 0px; }
  @media screen and (max-width: 768px) {
    .sec06 {
      padding: 30px 30px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; } }
  .sec06 .tit_com01, .sec06 .txt_com01 {
    color: #fff !important; }
    .sec06 .tit_com01::after, .sec06 .txt_com01::after {
      background-color: #fff !important; }
  .sec06 .txt_com01 {
    margin-bottom: 20px; }
  .sec06 .sec_com_in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .sec06 .sec_com_in .sec06_inin {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 30px; }
      @media screen and (max-width: 768px) {
        .sec06 .sec_com_in .sec06_inin {
          padding: 30px 15px; } }
    .sec06 .sec_com_in .tit01 {
      width: 100%;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 10px;
      color: #fff;
      background-color: #707070;
      text-align: center; }
      @media screen and (max-width: 768px) {
        .sec06 .sec_com_in .tit01 {
          padding: 7px; } }
    .sec06 .sec_com_in .info_area {
      width: 63.67%;
      background-color: #fff; }
      @media screen and (max-width: 768px) {
        .sec06 .sec_com_in .info_area {
          width: 100%;
          margin-bottom: 20px; } }
      .sec06 .sec_com_in .info_area dl {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 15px; }
        .sec06 .sec_com_in .info_area dl dt, .sec06 .sec_com_in .info_area dl dd {
          color: #454545; }
        .sec06 .sec_com_in .info_area dl dt {
          width: 25%;
          font-weight: bold; }
          @media screen and (max-width: 768px) {
            .sec06 .sec_com_in .info_area dl dt {
              width: 100%; } }
        .sec06 .sec_com_in .info_area dl dd {
          width: 75%; }
          @media screen and (max-width: 768px) {
            .sec06 .sec_com_in .info_area dl dd {
              width: 100%; } }
    .sec06 .sec_com_in .ent_area {
      width: 34.69%;
      background-color: #fff; }
      @media screen and (max-width: 768px) {
        .sec06 .sec_com_in .ent_area {
          width: 100%; } }
      .sec06 .sec_com_in .ent_area .txt01 {
        margin-bottom: 40px;
        margin-top: 20px; }
        @media screen and (max-width: 768px) {
          .sec06 .sec_com_in .ent_area .txt01 {
            margin-bottom: 20px;
            margin-top: 0px; } }
      .sec06 .sec_com_in .ent_area .txt02 i {
        font-weight: bold; }

.sec07 .link01 {
  text-align: center;
  margin-bottom: 100px; }
  @media screen and (max-width: 768px) {
    .sec07 .link01 {
      margin-bottom: 50px; } }

.sec07 .sns_area {
  margin-bottom: 100px;
 display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .sec07 .sns_area li {
    margin: 0px 10px; }
    @media screen and (max-width: 768px) {
      .sec07 .sns_area li {
        margin: 0px 0px; } }

.sec_com.sec08 {
  background-color: #454545;
  padding: 70px 0px;
  margin-bottom: 0px; }
  @media screen and (max-width: 768px) {
    .sec_com.sec08 {
      padding: 35px 0px; } }
  .sec_com.sec08 .sec08_in {
    width: 50.14%;
    margin: 0px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      .sec_com.sec08 .sec08_in {
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0px 30px; } }
    .sec_com.sec08 .sec08_in .txt_area {
      text-align: left; }
      .sec_com.sec08 .sec08_in .txt_area .tit_com01 {
        text-align: left;
        color: #fff !important; }
        .sec_com.sec08 .sec08_in .txt_area .tit_com01::after {
          background-color: #fff !important;
          margin-left: 0px; }
      .sec_com.sec08 .sec08_in .txt_area .txt_com01 {
        text-align: left;
        color: #fff !important; }
    .sec_com.sec08 .sec08_in .img_area {
      width: 56.2%; }
      @media screen and (max-width: 768px) {
        .sec_com.sec08 .sec08_in .img_area {
          width: 100%; } }
      .sec_com.sec08 .sec08_in .img_area ul li {
        margin-bottom: 40px; }
        @media screen and (max-width: 768px) {
          .sec_com.sec08 .sec08_in .img_area ul li {
            margin-bottom: 20px; } }
      .sec_com.sec08 .sec08_in .img_area ul li:nth-last-child(1) {
        margin-bottom: 0px; }
      .sec_com.sec08 .sec08_in .img_area ul img {
        width: 100%; }
      .sec_com.sec08 .sec08_in .img_area ul iframe {
        height: 250px; }
        @media screen and (max-width: 768px) {
          .sec_com.sec08 .sec08_in .img_area ul iframe {
            height: 200px; } }

.fadein_top {
  opacity: 0;
  -webkit-transform: translate(0, -10px);
  -ms-transform: translate(0, -10px);
  transform: translate(0, -10px);
  -webkit-transition: all 2.0s;
  transition: all 2.0s; }

.fadein {
  opacity: 0;
  -webkit-transform: translate(0, 20px);
  -ms-transform: translate(0, 20px);
  transform: translate(0, 20px);
  -webkit-transition: all 1.0s;
  transition: all 1.0s; }

.fadein.scrollin, .fadein_top.scrollin {
  opacity: 1 !important;
  -webkit-transform: translate(0, 0) !important;
  -ms-transform: translate(0, 0) !important;
  transform: translate(0, 0) !important; }
