@charset "UTF-8";
@import url("reset.css");
@import url("d_menu.css");
@import url("swiper-bundle.min.css");
/*共通設定-------------------------------------------------------------------------------------------------------------------------------------*/
/*基本設定*/
html {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.5;
  position: relative; }

main {
  display: block; }

header a img, main a img, footer a img {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease; }

header a:hover img, main a:hover img, footer a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8; }

.fade {
  /*margin-top: 10vh;*/
  opacity: 0;
  transition: opacity 2s; }

.fade.view {
  opacity: 1; }

/*ヘッダー*/
#header_wrap.invert {
  -webkit-transition: all 0.8s ease;
  -moz-transition: all 0.8s ease;
  -o-transition: all 0.8s ease;
  transition: all  0.8s ease;
  background: rgba(255, 255, 255, 0.5);
  /* スクロール後の色 */ }

header {
  width: 100%; }
  header #header_wrap {
    width: 100%;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 50;
    background-color: rgba(255, 255, 255, 0); }
    header #header_wrap #header_inner {
      width: 96%;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      height: 130px; }
      header #header_wrap #header_inner h1 {
        width: 350px; }
      header #header_wrap #header_inner #c_banner {
        width: 230px;
        margin: 0 80px 0 0; }
  header .video {
    position: relative;
    aspect-ratio: 16 / 9;
    /*sp用は9/16に*/
    overflow: hidden; }
    header .video iframe {
      width: 100%;
      /*height: 100vh;*/
      /*sp用*/
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      aspect-ratio: 1 / 1;
      border-width: initial;
      border-style: none;
      border-color: initial;
      border-image: initial; }

/*メイン*/
#chapter01_one {
  width: 80%;
  margin: 5em auto 0; }
  #chapter01_one #c01 {
    width: 200px; }
  #chapter01_one h2 {
    margin: 1em 0;
    font-size: 200%;
    border-left: 10px solid #232584;
    padding: 0 0 0 1em; }
  #chapter01_one .c_inner01 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    #chapter01_one .c_inner01 figure {
      width: 48%; }
    #chapter01_one .c_inner01 dl {
      width: 48%; }
      #chapter01_one .c_inner01 dl dt {
        color: #232584;
        font-size: 187%;
        font-weight: bold; }
      #chapter01_one .c_inner01 dl dd {
        margin: 1em 0 0; }

#chapter01_two {
  margin: 5em 0 0; }
  #chapter01_two h2 {
    width: calc(80% - 1em);
    margin: 1em auto;
    font-size: 200%;
    border-left: 10px solid #232584;
    padding: 0 0 0 1em; }
  #chapter01_two p {
    width: 80%;
    margin: 0 auto; }
  #chapter01_two #back_area {
    margin: 2em 0 0;
    width: 100%;
    position: relative; }
    #chapter01_two #back_area img {
      height: 800px;
      object-fit: cover;
      /* この一行を追加するだけ！ */ }
    #chapter01_two #back_area #b_area_inner {
      position: absolute;
      bottom: -3em;
      left: 0;
      padding: 2em 2% 2em 10%;
      width: 56%;
      background-color: rgba(35, 37, 132, 0.5);
      border-top-right-radius: 20px;
      border-bottom-right-radius: 20px; }
      #chapter01_two #back_area #b_area_inner h3 {
        color: #fff;
        display: inline-block;
        font-size: 187%;
        background-color: #232584;
        padding: 0.25em 2%;
        border-radius: 10px; }
      #chapter01_two #back_area #b_area_inner dl {
        margin: 1em 0 0;
        color: #fff; }
        #chapter01_two #back_area #b_area_inner dl dt {
          font-size: 156%;
          font-weight: bold; }
        #chapter01_two #back_area #b_area_inner dl dd {
          margin: 1em 0 0; }
          #chapter01_two #back_area #b_area_inner dl dd i {
            font-style: normal;
            font-weight: bold;
            display: block; }

#chapter01_three {
  width: 80%;
  margin: 8em auto 0; }
  #chapter01_three h2 {
    margin: 1em 0;
    font-size: 200%;
    border-left: 10px solid #232584;
    padding: 0 0 0 1em; }
  #chapter01_three .c_inner03 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between; }
    #chapter01_three .c_inner03 figure {
      width: 38%; }
    #chapter01_three .c_inner03 dl {
      width: 58%; }
      #chapter01_three .c_inner03 dl dt {
        font-size: 156%;
        font-weight: bold;
        text-align: center;
        margin: 0 0 1em; }
      #chapter01_three .c_inner03 dl dd {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        #chapter01_three .c_inner03 dl dd figure {
          width: 31.333%;
          font-weight: bold; }
          #chapter01_three .c_inner03 dl dd figure img {
            border-radius: 50%; }
          #chapter01_three .c_inner03 dl dd figure figcaption {
            display: block;
            text-align: center;
            margin: 1em 0 0; }
  #chapter01_three h3 {
    color: #232584;
    font-size: 200%;
    text-align: center;
    margin: 1em 0 0; }
    #chapter01_three h3 i {
      display: block;
      width: 80px;
      margin: 0 auto 0; }
  #chapter01_three .field {
    margin: 1em 0 0;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    #chapter01_three .field li {
      width: 23%;
      position: relative; }
      #chapter01_three .field li figure {
        width: 100%; }
        #chapter01_three .field li figure figcaption {
          display: block;
          font-size: 130%;
          font-weight: bold;
          text-align: center;
          padding: 0 0 2em; }
          #chapter01_three .field li figure figcaption a {
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            display: flex;
            justify-content: center;
            align-items: center;
            width: 75%;
            margin: 0.25em auto 0;
            padding: .5em 0.5em;
            border: 1px solid #355691;
            border-radius: 5px;
            background-color: #fff;
            color: #355691;
            font-size: 0.7em;
            text-decoration: none; }
            #chapter01_three .field li figure figcaption a::after {
              transform: rotate(45deg);
              width: 5px;
              height: 5px;
              margin-left: 10px;
              border-top: 2px solid #355691;
              border-right: 2px solid #355691;
              content: ''; }
            #chapter01_three .field li figure figcaption a:hover {
              background-color: #355691;
              color: #fff; }

#back01 {
  background-color: #355691;
  padding: 3em 0 13em;
  margin: 5em 0 0;
  position: relative; }

#message {
  width: 80%;
  margin: 0 auto;
  color: #fff; }
  #message h2 {
    font-size: 250%;
    font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif; }
  #message p {
    width: 100%;
    margin: 1em 0 0; }
  #message #name {
    position: absolute;
    right: 10%;
    bottom: 2em; }
    #message #name span {
      font-size: 187%;
      margin: 0 0 0 1em;
      vertical-align: middle;
      font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif; }
  #message figure {
    position: absolute;
    bottom: 2em;
    left: 10%;
    width: 800px; }

#bottom_menu {
  width: 80%;
  margin: 5em auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  #bottom_menu li {
    width: 31.333%; }
    #bottom_menu li p {
      margin: 1em 0 0;
      font-size: 120%;
      font-weight: bold; }
      #bottom_menu li p img {
        width: 150px;
        display: block; }
      #bottom_menu li p a {
        color: #000;
        text-decoration: none; }
        #bottom_menu li p a:hover, #bottom_menu li p a:active {
          color: #000;
          text-decoration: underline; }

/*フッター*/
footer {
  width: 100%;
  background-color: #000;
  color: #fff;
  background-image: url("../img/base/f_back.png");
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding: 2.5em 0 0; }
  footer #footer_inner {
    width: 80%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between; }
    footer #footer_inner #f_left {
      width: 350px;
      padding: 0; }
      footer #footer_inner #f_left dl dt {
        width: 100%;
        margin: 0 0 1em; }
      footer #footer_inner #f_left dl dd a {
        color: #fff;
        text-decoration: none; }
        footer #footer_inner #f_left dl dd a:hover, footer #footer_inner #f_left dl dd a:active {
          color: #fff;
          text-decoration: underline; }
      footer #footer_inner #f_left .g-map {
        width: 100%;
        margin: 1em 0 0;
        position: relative;
        padding-top: 56.25%; }
        footer #footer_inner #f_left .g-map iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; }
    footer #footer_inner #f_right {
      width: calc(100% - 400px); }
      footer #footer_inner #f_right figure {
        width: 250px;
        margin: 0 0 0 auto; }
      footer #footer_inner #f_right #f_navi {
        margin: 1em 0 3em; }
        footer #footer_inner #f_right #f_navi ul {
          display: flex;
          flex-wrap: wrap;
          justify-content: flex-end; }
          footer #footer_inner #f_right #f_navi ul li + li {
            border-left: 1px solid #fff;
            padding: 0 0 0 1em;
            margin: 0 0 0 1em; }
          footer #footer_inner #f_right #f_navi ul li a {
            color: #fff;
            text-decoration: none; }
            footer #footer_inner #f_right #f_navi ul li a:hover, footer #footer_inner #f_right #f_navi ul li a:active {
              color: #fff;
              text-decoration: underline; }
  footer address {
    width: 88%;
    text-align: right;
    font-size: 87.5%;
    font-style: normal;
    padding: 1em 10% 1em 2%; }

/*TOPへ戻るボタン設定*/
#page-top {
  position: fixed;
  bottom: 10px;
  right: 20px;
  z-index: 999;
  font-weight: bold;
  font-size: 70%; }
  #page-top img {
    width: 50px;
    display: block;
    margin: 0 auto 0.5em; }
  #page-top a {
    display: block;
    text-decoration: none;
    color: #fff;
    text-align: center;
    width: 100px;
    background-color: #1d2088;
    border-radius: 8px;
    padding: 0.5em 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease; }
  #page-top a:hover, #page-top a:active {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -moz-opacity: 0.7; }

/*共通設定ここまで-------------------------------------------------------------------------------------------------------------------------------------*/
/* pc */
@media screen and (min-width: 1300px) {
  /*ヘッダー*/
  .other {
    display: none; }

  /*メイン*/
  .sp {
    display: none; }

  /*フッター*/ }
/* tablet1 */
@media only screen and (min-width: 1024px) and (max-width: 1299px) {
  /*基本設定*/
  html {
    font-size: 16px; }

  /*ヘッダー*/
  /*メイン*/
  .sp {
    display: none; }

  #message figure {
    position: absolute;
    bottom: 2em;
    left: 10%;
    width: 500px; } }
/* tablet2  */
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  /*基本設定*/
  html {
    font-size: 85%; }

  /*ヘッダー*/
  /*メイン*/
  .sp {
    display: none; }

  #chapter01_one {
    width: 80%;
    margin: 5em auto 0; }
    #chapter01_one #c01 {
      width: 200px; }
    #chapter01_one h2 {
      margin: 1em 0;
      font-size: 200%;
      border-left: 10px solid #232584;
      padding: 0 0 0 1em; }
    #chapter01_one .c_inner01 {
      width: 100%;
      flex-direction: column; }
      #chapter01_one .c_inner01 figure {
        width: 80%;
        margin: 0 auto 1em; }
      #chapter01_one .c_inner01 dl {
        width: 100%; }

  #chapter01_three .c_inner03 {
    width: 100%;
    flex-direction: column; }
    #chapter01_three .c_inner03 figure {
      width: 80%;
      margin: 0 auto 1em; }
    #chapter01_three .c_inner03 dl {
      width: 100%; }
      #chapter01_three .c_inner03 dl dd figure figcaption br {
        display: none; }
  #chapter01_three h3 {
    color: #232584;
    font-size: 187%;
    text-align: center;
    margin: 1em 0 0; }
    #chapter01_three h3 i {
      display: block;
      width: 80px;
      margin: 0 auto 0; }
  #chapter01_three .field li figure figcaption br {
    display: none; }
  #chapter01_three .field li figure figcaption a {
    width: 80%; }

  #back01 {
    background-color: #355691;
    padding: 3em 0 8em;
    margin: 5em 0 0;
    position: relative; }

  #message h2 {
    font-size: 200%; }
  #message figure {
    width: 350px; }

  #bottom_menu {
    margin: 3em auto; } }
/* tablet3  */
@media only screen and (max-width: 767px) {
  /*基本設定*/
  html {
    font-size: 85%; }

  /*ヘッダー*/
  .pc {
    display: none; }

  header #header_wrap #header_inner {
    height: 50px; }
    header #header_wrap #header_inner h1 {
      width: 150px; }
    header #header_wrap #header_inner #c_banner {
      width: 80px;
      margin: 0 50px 0 0; }

  /*メイン*/
  #chapter01_one {
    width: 90%;
    margin: 2.5em auto 0; }
    #chapter01_one #c01 {
      width: 150px; }
    #chapter01_one h2 {
      font-size: 156%; }
    #chapter01_one .c_inner01 {
      flex-direction: column; }
      #chapter01_one .c_inner01 figure {
        width: 100%; }
      #chapter01_one .c_inner01 dl {
        margin: 1em 0 0;
        width: 100%; }
        #chapter01_one .c_inner01 dl dt {
          font-size: 130%; }

  #chapter01_two {
    margin: 2.5em 0 0; }
    #chapter01_two h2 {
      font-size: 156%;
      width: calc(88% - 1em); }
    #chapter01_two p {
      width: 90%; }
    #chapter01_two #back_area img {
      height: 400px; }
    #chapter01_two #back_area #b_area_inner {
      bottom: -3em;
      width: 90%;
      padding: 2em 2% 2em 2%; }
      #chapter01_two #back_area #b_area_inner h3 {
        font-size: 156%; }
      #chapter01_two #back_area #b_area_inner dl dt {
        font-size: 130%; }
        #chapter01_two #back_area #b_area_inner dl dt br {
          display: none; }

  #chapter01_three {
    width: 90%;
    margin: 6.5em auto 0; }
    #chapter01_three h2 {
      font-size: 156%; }
    #chapter01_three .c_inner03 {
      flex-direction: column; }
      #chapter01_three .c_inner03 figure {
        width: 80%;
        margin: 0 auto 1em; }
      #chapter01_three .c_inner03 dl {
        width: 100%; }
        #chapter01_three .c_inner03 dl dt {
          font-size: 130%; }
        #chapter01_three .c_inner03 dl dd {
          flex-direction: column; }
          #chapter01_three .c_inner03 dl dd figure {
            width: 80%;
            margin: 1em auto 0; }
    #chapter01_three h3 {
      font-size: 156%; }
    #chapter01_three .field {
      flex-direction: column; }
      #chapter01_three .field li {
        width: 80%;
        margin: 1em auto 0; }
        #chapter01_three .field li figure figcaption {
          font-size: 130%; }
          #chapter01_three .field li figure figcaption br {
            display: none; }

  #back01 {
    background-color: #355691;
    padding: 1.5em 0 7.5em;
    margin: 2.5em 0 0; }

  #message {
    width: 90%;
    margin: 0 auto;
    color: #fff; }
    #message h2 {
      font-size: 130%; }
    #message #name {
      position: absolute;
      right: 5%;
      bottom: 4em; }
      #message #name span {
        font-size: 156%; }
    #message figure {
      position: absolute;
      bottom: 1em;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      width: 90%; }

  /*フッター*/
  footer {
    width: 100%; }
    footer #footer_inner {
      width: 90%;
      flex-direction: column;
      padding: 3em 0 0; }
      footer #footer_inner #f_left {
        width: 100%;
        padding: 0; }
        footer #footer_inner #f_left dl dt {
          width: 80%; }
      footer #footer_inner #f_right {
        width: 100%; }
        footer #footer_inner #f_right figure {
          width: 150px;
          margin: 1em 0 0 auto; }
        footer #footer_inner #f_right #f_navi {
          margin: 1em 0 3em; }
          footer #footer_inner #f_right #f_navi ul {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end; }
            footer #footer_inner #f_right #f_navi ul li + li {
              border-left: 1px solid #fff;
              padding: 0 0 0 1em;
              margin: 0 0 0 1em; }
            footer #footer_inner #f_right #f_navi ul li a {
              color: #fff;
              text-decoration: none; }
              footer #footer_inner #f_right #f_navi ul li a:hover, footer #footer_inner #f_right #f_navi ul li a:active {
                color: #fff;
                text-decoration: underline; }
    footer address {
      width: 88%;
      text-align: right;
      font-size: 87.5%;
      font-style: normal;
      padding: 1em 10% 1em 2%; }

  #bottom_menu {
    width: 90%;
    margin: 2.5em auto;
    flex-direction: column; }
    #bottom_menu li {
      width: 100%; }
      #bottom_menu li:nth-child(n+2) {
        margin: 2em 0 0; } }
/* smartPhone1 */
@media only screen and (max-width: 499px) {
  /*基本設定*/
  html {
    font-size: 80%; }

  /*ヘッダー*/
  /*メイン*/
  /*フッター*/ }
