@charset "UTF-8";
/*-------------------------------------------
 variable
-------------------------------------------*/
/***  color  ***/
/***  font-size  ***/
/***  screen  ***/
/***  font(google)  ***/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
/***  point  ***/
/*-------------------------------------------
 reset
-------------------------------------------*/
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,
main {
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: baseline;
  caret-color: transparent; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-appearance: none !important;
  border-radius: 0; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

/*-------------------------------------------
 style - tag -
-------------------------------------------*/
html {
  font-size: 62.5%; }
  @media screen and (max-width: 1040px) {
    html {
      font-size: 57.5%; } }
  @media screen and (max-width: 700px) {
    html {
      font-size: 52.5%; } }

body {
  font-family: 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif;
  font-weight: 400;
  color: #261a0c;
  font-size: 1.8rem;
  line-height: 1; }
  @media screen and (max-width: 1040px) {
    body {
      padding-top: 105px; } }
  @media screen and (max-width: 700px) {
    body {
      padding-top: 60px; } }

ul {
  margin: 0;
  padding: 0;
  list-style-type: none; }
  ul li {
    list-style-type: inherit; }

button {
  background: none;
  border: none;
  padding: 0; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt"; }

a {
  text-decoration: none;
  -webkit-transition: all ease-in-out .2s;
  transition: all ease-in-out .2s; }
  a:hover {
    opacity: 0.6;
    -webkit-transition: all ease-in-out .2s;
    transition: all ease-in-out .2s; }

article {
  max-width: 100%;
  width: 100%;
  overflow: hidden; }

section {
  max-width: 1140px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 100px; }
  @media screen and (max-width: 700px) {
    section {
      margin-bottom: 80px; } }
  @media screen and (max-width: 360px) {
    section {
      padding-left: 15px;
      padding-right: 15px; } }

p {
  color: #261a0c;
  font-size: 1.8rem;
  text-align: justify;
  line-height: 1.8;
  margin-bottom: 20px; }

b {
  font-weight: 700; }

u {
  color: #EC1212;
  text-decoration: none; }

/*-------------------------------------------
 style - class -
-------------------------------------------*/
/***  header  ***/
.slogan {
  background-color: #003E85;
  width: 100%;
  max-width: 100%;
  padding: 7px 20px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1040px) {
    .slogan {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      height: 25px;
      padding-top: 0;
      padding-bottom: 0;
      position: fixed;
      top: 0;
      z-index: 999; } }
  @media screen and (max-width: 700px) {
    .slogan {
      display: none; } }
  .slogan .wrap {
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.3;
    display: block;
    max-width: 1140px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px; }
    @media screen and (max-width: 360px) {
      .slogan .wrap {
        padding-left: 15px;
        padding-right: 15px; } }
    @media screen and (max-width: 1040px) {
      .slogan .wrap > span {
        display: none; } }

.nav-menu-wrap {
  background-color: #ffffff;
  width: 100%;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 20px;
  padding-bottom: 20px;
  position: relative;
  z-index: 999;
  /* .right */ }
  @media screen and (max-width: 1040px) {
    .nav-menu-wrap {
      height: 80px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-top: 0;
      padding-bottom: 0;
      -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
              box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
      position: fixed;
      top: 25px;
      z-index: 999; } }
  @media screen and (max-width: 700px) {
    .nav-menu-wrap {
      height: 60px;
      top: 0; } }
  .nav-menu-wrap .nav-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px; }
    @media screen and (max-width: 360px) {
      .nav-menu-wrap .nav-menu {
        padding-left: 15px;
        padding-right: 15px; } }
  .nav-menu-wrap .left a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
    .nav-menu-wrap .left a .wrap {
      color: #000000;
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1.0;
      margin-right: 10px; }
      @media screen and (max-width: 700px) {
        .nav-menu-wrap .left a .wrap {
          font-size: 1.3rem;
          margin-right: 5px; } }
      .nav-menu-wrap .left a .wrap h1 {
        margin-top: 5px; }
        @media screen and (max-width: 1040px) {
          .nav-menu-wrap .left a .wrap h1 img {
            width: 175px; } }
        @media screen and (max-width: 700px) {
          .nav-menu-wrap .left a .wrap h1 img {
            width: 140px; } }
    .nav-menu-wrap .left a b {
      color: #33649D;
      font-size: 3.2rem;
      font-weight: 500;
      line-height: 1.0; }
      @media screen and (max-width: 700px) {
        .nav-menu-wrap .left a b {
          font-size: 2rem; } }
  .nav-menu-wrap .right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 100%;
    /* .top */
    /* .burger */ }
    .nav-menu-wrap .right .top {
      width: 100%; }
      @media screen and (max-width: 1040px) {
        .nav-menu-wrap .right .top {
          display: none; } }
      .nav-menu-wrap .right .top ul.menu-connect {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        margin-bottom: 20px; }
        .nav-menu-wrap .right .top ul.menu-connect li {
          margin-left: 10px; }
          .nav-menu-wrap .right .top ul.menu-connect li:nth-of-type(1) {
            margin-left: 0; }
          .nav-menu-wrap .right .top ul.menu-connect li:nth-last-of-type(1) a {
            padding-right: 0; }
          .nav-menu-wrap .right .top ul.menu-connect li a {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            padding-left: 10px;
            padding-right: 10px; }
            .nav-menu-wrap .right .top ul.menu-connect li a img {
              margin-right: 5px; }
            .nav-menu-wrap .right .top ul.menu-connect li a span {
              color: #21A48F;
              font-size: 1.6rem;
              font-weight: 700; }
    @media screen and (max-width: 1040px) {
      .nav-menu-wrap .right .bottom {
        display: none; } }
    .nav-menu-wrap .right .bottom ul.menu {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      .nav-menu-wrap .right .bottom ul.menu li {
        margin-left: 15px; }
        .nav-menu-wrap .right .bottom ul.menu li:nth-last-of-type(1) a {
          padding-right: 0; }
        .nav-menu-wrap .right .bottom ul.menu li.current-menu-item a {
          font-weight: 900;
          position: relative; }
          .nav-menu-wrap .right .bottom ul.menu li.current-menu-item a::before {
            content: '';
            background-color: #FDE6E6;
            width: 100%;
            height: 10px;
            position: absolute;
            bottom: -2px;
            left: 0; }
        .nav-menu-wrap .right .bottom ul.menu li a {
          color: #000000;
          font-size: 1.6rem;
          font-weight: 700;
          padding-left: 10px;
          padding-right: 10px; }
          .nav-menu-wrap .right .bottom ul.menu li a span {
            position: relative;
            z-index: 9; }
    .nav-menu-wrap .right .burger {
      display: none;
      width: 90px;
      height: 60px;
      padding: 10px 20px;
      border-radius: 0.2rem;
      cursor: pointer;
      position: relative;
      right: -20px;
      z-index: 999; }
      @media screen and (max-width: 1040px) {
        .nav-menu-wrap .right .burger {
          display: block; } }
      @media screen and (max-width: 700px) {
        .nav-menu-wrap .right .burger {
          padding-top: 15px;
          padding-bottom: 15px; } }
      .nav-menu-wrap .right .burger.open .icon span.line-1 {
        bottom: 0;
        margin: auto;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg); }
      .nav-menu-wrap .right .burger.open .icon span.line-2 {
        opacity: 0.0; }
      .nav-menu-wrap .right .burger.open .icon span.line-3 {
        top: 0;
        margin: auto;
        -webkit-transform: rotate(-45deg);
                transform: rotate(-45deg); }
      .nav-menu-wrap .right .burger .icon {
        position: relative;
        width: 100%;
        height: 100%; }
        .nav-menu-wrap .right .burger .icon span {
          background-color: #003E85;
          display: block;
          width: 100%;
          height: 4px;
          position: absolute;
          right: 0;
          -webkit-transition: all ease-out .3s;
          transition: all ease-out .3s; }
          .nav-menu-wrap .right .burger .icon span.line-1 {
            top: 0; }
          .nav-menu-wrap .right .burger .icon span.line-2 {
            opacity: 1.0;
            top: calc(50% - 2px); }
          .nav-menu-wrap .right .burger .icon span.line-3 {
            bottom: 0; }

.menu-all-wrap {
  display: none;
  background-color: #ffffff;
  right: 0;
  width: 100%;
  height: calc(100% - 105px);
  overflow-y: auto;
  position: fixed;
  top: 105px;
  z-index: 999; }
  @media screen and (max-width: 700px) {
    .menu-all-wrap {
      height: calc(100% - 60px);
      top: 60px; } }
  .menu-all-wrap ul.menu {
    border-top: 1px dashed #dde9f4; }
    .menu-all-wrap ul.menu li {
      border-bottom: 1px dashed #dde9f4; }
      .menu-all-wrap ul.menu li a {
        color: #003E85;
        font-weight: 500;
        padding: 20px 20px;
        display: block;
        position: relative; }
        .menu-all-wrap ul.menu li a::after {
          content: '';
          background-image: url(../img/common/icon_arrow_02.svg);
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center center;
          width: 10px;
          height: 100%;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          position: absolute;
          top: 0;
          right: 20px; }

/***  footer  ***/
.page-top {
  display: none;
  background-color: #003E85;
  width: 6.0rem;
  height: 6.0rem;
  padding: 1.5rem;
  border-radius: 6.0rem;
  position: fixed;
  bottom: 1.0rem;
  right: 1.0rem;
  z-index: 100;
  cursor: pointer; }
  @media screen and (max-width: 700px) {
    .page-top {
      display: none !important; } }
  .page-top img {
    width: 100%; }

.footer-bottom {
  background-color: #003E85;
  max-width: 100%;
  width: 100%;
  margin-top: 50px; }
  .footer-bottom .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 1140px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 3.5rem 2.0rem; }
    @media screen and (max-width: 1040px) {
      .footer-bottom .wrap {
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: end; } }
    @media screen and (max-width: 700px) {
      .footer-bottom .wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
    .footer-bottom .wrap .left a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: end;
          -ms-flex-align: end;
              align-items: end; }
      .footer-bottom .wrap .left a h1 {
        color: #ffffff;
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 1.0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-right: 10px; }
        .footer-bottom .wrap .left a h1 img {
          margin-top: 10px; }
          @media screen and (max-width: 700px) {
            .footer-bottom .wrap .left a h1 img {
              max-width: 250px;
              width: 100%; } }
      .footer-bottom .wrap .left a span {
        color: #33649D;
        font-size: 3.2rem;
        font-weight: 500;
        line-height: 1.0; }
        @media screen and (max-width: 700px) {
          .footer-bottom .wrap .left a span {
            font-size: 2.5rem; } }
    .footer-bottom .wrap .right {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .footer-bottom .wrap .right ul.menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (max-width: 1040px) {
          .footer-bottom .wrap .right ul.menu {
            display: none; } }
        .footer-bottom .wrap .right ul.menu li a {
          color: #ffffff;
          font-size: 1.5rem;
          font-weight: 500;
          line-height: 1.3;
          padding-left: 12px;
          margin-left: 25px;
          position: relative; }
          .footer-bottom .wrap .right ul.menu li a::before {
            content: '';
            background-image: url(../img/common/icon_arrow_03.svg);
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center center;
            width: 7px;
            height: 100%;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            position: absolute;
            top: 1px;
            left: 0; }
      .footer-bottom .wrap .right small {
        color: #ffffff;
        font-size: 1.3rem;
        text-align: right; }
        @media screen and (max-width: 700px) {
          .footer-bottom .wrap .right small {
            padding-top: 20px; } }

/***  common  ***/
body .pt00 {
  padding-top: 0; }
body .pt05 {
  padding-top: 5px; }
body .pt10 {
  padding-top: 10px; }
body .pt15 {
  padding-top: 15px; }
body .pt20 {
  padding-top: 20px; }
body .pt25 {
  padding-top: 25px; }
body .pt30 {
  padding-top: 30px; }
body .pt35 {
  padding-top: 35px; }
body .pt40 {
  padding-top: 40px; }
body .pt45 {
  padding-top: 45px; }
body .pt50 {
  padding-top: 50px; }
body .pt55 {
  padding-top: 55px; }
body .pt60 {
  padding-top: 60px; }
body .pt65 {
  padding-top: 65px; }
body .pt70 {
  padding-top: 70px; }
body .pt75 {
  padding-top: 75px; }
body .pt80 {
  padding-top: 80px; }
body .pt85 {
  padding-top: 85px; }
body .pt90 {
  padding-top: 90px; }
body .pt95 {
  padding-top: 95px; }
body .pt100 {
  padding-top: 100px; }
body .pr00 {
  padding-right: 0; }
body .pr05 {
  padding-right: 5px; }
body .pr10 {
  padding-right: 10px; }
body .pr15 {
  padding-right: 15px; }
body .pr20 {
  padding-right: 20px; }
body .pr25 {
  padding-right: 25px; }
body .pr30 {
  padding-right: 30px; }
body .pr35 {
  padding-right: 35px; }
body .pr40 {
  padding-right: 40px; }
body .pr45 {
  padding-right: 45px; }
body .pr50 {
  padding-right: 50px; }
body .pr55 {
  padding-right: 55px; }
body .pr60 {
  padding-right: 60px; }
body .pr65 {
  padding-right: 65px; }
body .pr70 {
  padding-right: 70px; }
body .pr75 {
  padding-right: 75px; }
body .pr80 {
  padding-right: 80px; }
body .pr85 {
  padding-right: 85px; }
body .pr90 {
  padding-right: 90px; }
body .pr95 {
  padding-right: 95px; }
body .pr100 {
  padding-right: 100px; }
body .pl00 {
  padding-left: 0; }
body .pl05 {
  padding-left: 5px; }
body .pl10 {
  padding-left: 10px; }
body .pl15 {
  padding-left: 15px; }
body .pl20 {
  padding-left: 20px; }
body .pl25 {
  padding-left: 25px; }
body .pl30 {
  padding-left: 30px; }
body .pl35 {
  padding-left: 35px; }
body .pl40 {
  padding-left: 40px; }
body .pl45 {
  padding-left: 45px; }
body .pl50 {
  padding-left: 50px; }
body .pl55 {
  padding-left: 55px; }
body .pl60 {
  padding-left: 60px; }
body .pl65 {
  padding-left: 65px; }
body .pl70 {
  padding-left: 70px; }
body .pl75 {
  padding-left: 75px; }
body .pl80 {
  padding-left: 80px; }
body .pl85 {
  padding-left: 85px; }
body .pl90 {
  padding-left: 90px; }
body .pl95 {
  padding-left: 95px; }
body .pl100 {
  padding-left: 100px; }
body .mt00 {
  margin-top: 0; }
body .mt05 {
  margin-top: 5px; }
body .mt10 {
  margin-top: 10px; }
body .mt15 {
  margin-top: 15px; }
body .mt20 {
  margin-top: 20px; }
body .mt25 {
  margin-top: 25px; }
body .mt30 {
  margin-top: 30px; }
body .mt35 {
  margin-top: 35px; }
body .mt40 {
  margin-top: 40px; }
body .mt45 {
  margin-top: 45px; }
body .mt50 {
  margin-top: 50px; }
body .mt55 {
  margin-top: 55px; }
body .mt60 {
  margin-top: 60px; }
body .mt65 {
  margin-top: 65px; }
body .mt70 {
  margin-top: 70px; }
body .mt75 {
  margin-top: 75px; }
body .mt80 {
  margin-top: 80px; }
body .mt85 {
  margin-top: 85px; }
body .mt90 {
  margin-top: 90px; }
body .mt95 {
  margin-top: 95px; }
body .mt100 {
  margin-top: 100px; }
body .mr00 {
  margin-right: 0; }
body .mr05 {
  margin-right: 5px; }
body .mr10 {
  margin-right: 10px; }
body .mr15 {
  margin-right: 15px; }
body .mr20 {
  margin-right: 20px; }
body .mr25 {
  margin-right: 25px; }
body .mr30 {
  margin-right: 30px; }
body .mr35 {
  margin-right: 35px; }
body .mr40 {
  margin-right: 40px; }
body .mr45 {
  margin-right: 45px; }
body .mr50 {
  margin-right: 50px; }
body .mr55 {
  margin-right: 55px; }
body .mr60 {
  margin-right: 60px; }
body .mr65 {
  margin-right: 65px; }
body .mr70 {
  margin-right: 70px; }
body .mr75 {
  margin-right: 75px; }
body .mr80 {
  margin-right: 80px; }
body .mr85 {
  margin-right: 85px; }
body .mr90 {
  margin-right: 90px; }
body .mr95 {
  margin-right: 95px; }
body .mr100 {
  margin-right: 100px; }
body .ml00 {
  margin-left: 0; }
body .ml05 {
  margin-left: 5px; }
body .ml10 {
  margin-left: 10px; }
body .ml15 {
  margin-left: 15px; }
body .ml20 {
  margin-left: 20px; }
body .ml25 {
  margin-left: 25px; }
body .ml30 {
  margin-left: 30px; }
body .ml35 {
  margin-left: 35px; }
body .ml40 {
  margin-left: 40px; }
body .ml45 {
  margin-left: 45px; }
body .ml50 {
  margin-left: 50px; }
body .ml55 {
  margin-left: 55px; }
body .ml60 {
  margin-left: 60px; }
body .ml65 {
  margin-left: 65px; }
body .ml70 {
  margin-left: 70px; }
body .ml75 {
  margin-left: 75px; }
body .ml80 {
  margin-left: 80px; }
body .ml85 {
  margin-left: 85px; }
body .ml90 {
  margin-left: 90px; }
body .ml95 {
  margin-left: 95px; }
body .ml100 {
  margin-left: 100px; }
body .mt-05 {
  margin-top: -5px; }
body .mt-10 {
  margin-top: -10px; }
body .mt-15 {
  margin-top: -15px; }
body .mt-20 {
  margin-top: -20px; }
body .mt-25 {
  margin-top: -25px; }
body .mt-30 {
  margin-top: -30px; }
body .mt-35 {
  margin-top: -35px; }
body .mt-40 {
  margin-top: -40px; }
body .mt-45 {
  margin-top: -45px; }
body .mt-50 {
  margin-top: -50px; }
body .mt-55 {
  margin-top: -55px; }
body .mt-60 {
  margin-top: -60px; }
body .mt-65 {
  margin-top: -65px; }
body .mt-70 {
  margin-top: -70px; }
body .mt-75 {
  margin-top: -75px; }
body .mt-80 {
  margin-top: -80px; }
body .mt-85 {
  margin-top: -85px; }
body .mt-90 {
  margin-top: -90px; }
body .mt-95 {
  margin-top: -95px; }
body .mt-100 {
  margin-top: -100px; }
body .mb00 {
  margin-bottom: 0; }
body .mb05 {
  margin-bottom: 5px; }
body .mb10 {
  margin-bottom: 10px; }
body .mb15 {
  margin-bottom: 15px; }
body .mb20 {
  margin-bottom: 20px; }
body .mb25 {
  margin-bottom: 25px; }
body .mb30 {
  margin-bottom: 30px; }
body .mb35 {
  margin-bottom: 35px; }
body .mb40 {
  margin-bottom: 40px; }
body .mb45 {
  margin-bottom: 45px; }
body .mb50 {
  margin-bottom: 50px; }
body .mb55 {
  margin-bottom: 55px; }
body .mb60 {
  margin-bottom: 60px; }
body .mb65 {
  margin-bottom: 65px; }
body .mb70 {
  margin-bottom: 70px; }
body .mb75 {
  margin-bottom: 75px; }
body .mb80 {
  margin-bottom: 80px; }
body .mb85 {
  margin-bottom: 85px; }
body .mb90 {
  margin-bottom: 90px; }
body .mb95 {
  margin-bottom: 95px; }
body .mb100 {
  margin-bottom: 100px; }
body .tl {
  text-align: left; }
body .tc {
  text-align: center; }
body .tr {
  text-align: right; }
body .bb00 {
  border-bottom: none; }

.sp {
  display: none; }
  @media screen and (max-width: 700px) {
    .sp {
      display: block; } }

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

.wide {
  max-width: 100%;
  width: 100%;
  padding-left: 0;
  padding-right: 0; }

.medium {
  max-width: 1140px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px; }
  @media screen and (max-width: 360px) {
    .medium {
      padding-left: 15px;
      padding-right: 15px; } }

.bk-thought {
  background-image: url(../img/page/top_bk_02.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center bottom;
  padding-bottom: 20px; }
  @media screen and (min-width: 1500px) {
    .bk-thought {
      max-width: 1500px; } }

.bk-future {
  background-image: url(../img/page/vision_bk_01.jpg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  padding-bottom: 20px; }

.head {
  color: #000000;
  font-size: 1.3rem;
  border-bottom: 1px solid #21A48F;
  margin-top: 1.5rem;
  padding-bottom: 1.0rem;
  margin-bottom: 2.5rem; }

.band {
  width: 100%;
  max-width: 1140px;
  padding-left: 20px;
  padding-right: 20px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 100px; }
  @media screen and (max-width: 700px) {
    .band {
      padding-left: 0;
      padding-right: 0;
      margin-bottom: 70px; } }
  .band .wrap {
    background-image: url(../img/common/band_01.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    width: 100%;
    height: 250px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: relative; }
    @media screen and (max-width: 700px) {
      .band .wrap {
        height: 200px; } }
  .band .report {
    background-image: url(../img/common/band_02.jpg);
    height: 730px; }
    @media screen and (max-width: 700px) {
      .band .report {
        background-position-x: calc(100% + 150px); } }
    .band .report .board {
      background: rgba(255, 255, 255, 0.85);
      max-width: 400px;
      padding-right: 40px;
      padding-left: 20px; }
      .band .report .board .orna {
        color: #21A48F; }
      .band .report .board p {
        margin-bottom: 0;
        margin-top: 10px;
        padding-bottom: 20px; }
  .band .topic {
    height: auto; }
    .band .topic img {
      width: 100%; }
  .band .board {
    background-color: #ffffff;
    border-top-right-radius: 40px;
    padding-top: 20px;
    padding-right: 30px;
    position: absolute;
    left: 0;
    bottom: 0; }
    @media screen and (max-width: 700px) {
      .band .board {
        padding-top: 10px;
        padding-right: 20px;
        padding-left: 20px; } }
    @media screen and (max-width: 360px) {
      .band .board {
        padding-right: 15px;
        padding-left: 15px; } }
    .band .board .bread {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      margin-bottom: 10px; }
      @media screen and (max-width: 700px) {
        .band .board .bread {
          margin-bottom: 5px; } }
      .band .board .bread li {
        font-size: 1.2rem;
        margin-right: 2.0rem; }
        .band .board .bread li a {
          color: #003E85;
          font-size: 1.6rem;
          font-weight: 500;
          position: relative; }
          .band .board .bread li a::after {
            content: '';
            width: 4px;
            height: 4px;
            border-top: solid 1px #999999;
            border-right: solid 1px #999999;
            -webkit-transform: rotate(45deg);
                    transform: rotate(45deg);
            position: absolute;
            top: calc(50% - 2px);
            right: -12px; }
    .band .board h1 {
      color: #261a0c;
      font-size: 4.5rem;
      font-weight: 900;
      line-height: 1.3;
      letter-spacing: 4px;
      margin-bottom: 12px; }
      @media screen and (max-width: 700px) {
        .band .board h1 {
          font-size: 3.6rem;
          margin-bottom: 5px;
          letter-spacing: 2px; } }
      @media screen and (max-width: 360px) {
        .band .board h1 {
          letter-spacing: 0; } }
    .band .board .orna {
      color: #cccccc;
      font-weight: 400;
      font-size: 2.2rem;
      letter-spacing: 8px; }
      @media screen and (max-width: 700px) {
        .band .board .orna {
          letter-spacing: 4px; } }
      @media screen and (max-width: 360px) {
        .band .board .orna {
          letter-spacing: 0; } }

/* new */
.heading {
  color: #003E85;
  font-size: 3.6rem;
  font-weight: 900;
  line-height: 1.3;
  margin-bottom: 10px;
  position: relative;
  z-index: 1; }

.deco {
  color: #21A48F;
  font-size: 1.6rem;
  font-weight: 700;
  display: block;
  margin-bottom: 30px; }
  .deco.tc span::after {
    width: 10px;
    right: calc(0% - 20px); }
  .deco.tc span::before {
    content: '';
    background-color: #21A48F;
    width: 10px;
    height: 1px;
    margin-top: auto;
    margin-bottom: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -20px; }
  .deco.orange {
    color: #FF6200; }
    .deco.orange span::after {
      background-color: #FF6200; }
    .deco.orange span::before {
      background-color: #FF6200; }
  .deco span {
    display: inline-block;
    position: relative; }
    .deco span::after {
      content: '';
      background-color: #21A48F;
      width: 40px;
      height: 1px;
      margin-top: auto;
      margin-bottom: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      right: calc(0% - 50px); }

.sub-heading {
  color: #EC1212;
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1.3;
  margin-bottom: 35px;
  position: relative; }
  .sub-heading::after {
    content: '';
    background-color: #E8F6F4;
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: -5px;
    right: 0; }
  .sub-heading.orange {
    color: #FF6200; }
  .sub-heading.tc::after {
    content: none; }
  .sub-heading.tc > div {
    display: inline-block;
    position: relative; }
    .sub-heading.tc > div::after {
      content: '';
      background-color: #E8F6F4;
      width: 100%;
      height: 10px;
      position: absolute;
      bottom: -5px;
      right: 0; }
  .sub-heading span {
    position: relative;
    z-index: 9; }

.heads {
  color: #EC1212;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.3;
  margin-bottom: 10px; }

.appeal {
  color: #000000;
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1.8;
  padding-left: 20px;
  padding-right: 20px; }
  @media screen and (max-width: 360px) {
    .appeal {
      padding-left: 15px;
      padding-right: 15px; } }

.btn.tc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
.btn a {
  background-color: #003E85;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 700;
  width: 255px;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 5px;
  border-radius: 10px; }
  .btn a.vast {
    width: 355px; }
  .btn a img {
    margin-left: 15px; }

.kome {
  display: block;
  padding-left: 2.0rem;
  position: relative; }
  .kome::before {
    content: '※';
    color: inherit;
    font-size: inherit;
    line-height: inherit;
    margin-top: auto;
    margin-bottom: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0; }

ul.connect {
  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;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  ul.connect > li {
    margin-left: 10px;
    margin-right: 10px; }
    @media screen and (max-width: 1040px) {
      ul.connect > li {
        margin-bottom: 10px; } }
    @media screen and (max-width: 360px) {
      ul.connect > li {
        width: 100%; } }
    ul.connect > li a {
      background-color: #ffffff;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 370px;
      height: 80px;
      padding: 5px;
      border: 2px solid #003E85;
      -webkit-box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.15);
              box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.15); }
      @media screen and (max-width: 1040px) {
        ul.connect > li a {
          width: 310px; } }
      @media screen and (max-width: 360px) {
        ul.connect > li a {
          width: 100%; } }
      ul.connect > li a img {
        margin-right: 15px; }
        @media screen and (max-width: 1040px) {
          ul.connect > li a img {
            margin-right: 10px; } }
      ul.connect > li a span {
        color: #003E85;
        font-size: 2rem;
        font-weight: 700; }

.box-one {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: 100%;
  padding-bottom: 50px;
  position: relative; }
  @media screen and (max-width: 700px) {
    .box-one {
      padding-bottom: 25px;
      padding-right: 20px; } }
  .box-one.vision::before {
    content: '';
    background-image: url(../img/page/vision_visula_01.png);
    width: 426px;
    height: 649px; }
    @media screen and (max-width: 1040px) {
      .box-one.vision::before {
        background-position-x: 20px;
        width: 340px;
        height: 519px; } }
    @media screen and (max-width: 700px) {
      .box-one.vision::before {
        background-position-x: 80px; } }
  .box-one.profile::before {
    content: '';
    background-image: url(../img/page/vision_profile_01.png);
    width: 449px;
    height: 795px; }
    @media screen and (max-width: 1040px) {
      .box-one.profile::before {
        background-position-x: 90px; } }
    @media screen and (max-width: 700px) {
      .box-one.profile::before {
        background-position-x: 150px; } }
  .box-one.top::before {
    background-image: url(../img/page/top_visula_01.png);
    width: 390px;
    height: 630px; }
    @media screen and (max-width: 1040px) {
      .box-one.top::before {
        width: 312px;
        height: 504px; } }
    @media screen and (max-width: 700px) {
      .box-one.top::before {
        background-position-x: 50px; } }
  .box-one::before {
    content: '';
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    bottom: 0;
    right: 0; }
    @media screen and (max-width: 700px) {
      .box-one::before {
        right: -20px; } }
  .box-one .cont {
    padding-right: 350px;
    position: relative; }
    @media screen and (max-width: 1040px) {
      .box-one .cont {
        padding-right: 250px; } }
    @media screen and (max-width: 700px) {
      .box-one .cont {
        padding-right: 80px !important; } }
    .box-one .cont h3 {
      margin-bottom: 15px; }
    .box-one .cont p {
      position: relative; }
      @media screen and (max-width: 1040px) {
        .box-one .cont p {
          text-shadow: 0 0 2px #ffffff, 0 0 2px #ffffff, 0 0 2px #ffffff, 0 0 2px #ffffff, 0 0 2px #ffffff, 0 0 2px #ffffff, 0 0 2px #ffffff, 0 0 2px #ffffff; } }
      .box-one .cont p span {
        display: block; }
        @media screen and (max-width: 700px) {
          .box-one .cont p span {
            display: inline; } }
    .box-one .cont .sign {
      max-width: 410px;
      width: 100%; }
      .box-one .cont .sign img {
        width: 100%; }

ul.tag-list {
  width: 100%;
  max-width: 1140px;
  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;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
  padding-left: 20px;
  padding-right: 20px; }
  @media screen and (max-width: 1040px) {
    ul.tag-list {
      margin-bottom: 30px; } }
  @media screen and (max-width: 700px) {
    ul.tag-list {
      margin-bottom: 20px; } }
  @media screen and (max-width: 360px) {
    ul.tag-list {
      padding-left: 15px;
      padding-right: 15px; } }
  ul.tag-list > li {
    background: rgba(255, 215, 0, 0.8);
    color: #003E85;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.3;
    padding: 20px 30px;
    border-radius: 30px;
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 15px; }
    @media screen and (max-width: 1040px) {
      ul.tag-list > li {
        padding: 10px 15px;
        margin-bottom: 10px; } }
    @media screen and (max-width: 700px) {
      ul.tag-list > li {
        font-size: 1.8rem;
        width: 100%;
        padding: 8px 15px;
        margin-bottom: 8px; } }

ul.news-list {
  max-width: 1140px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  ul.news-list.home {
    padding-left: 20px;
    padding-right: 20px; }
    @media screen and (max-width: 360px) {
      ul.news-list.home {
        padding-left: 15px;
        padding-right: 15px; } }
    ul.news-list.home > li {
      margin-bottom: 0; }
      @media screen and (max-width: 700px) {
        ul.news-list.home > li {
          width: 100%;
          margin-bottom: 20px; } }
      @media screen and (max-width: 700px) {
        ul.news-list.home > li:nth-of-type(odd) {
          padding-left: 0;
          padding-right: 0; } }
      @media screen and (max-width: 700px) {
        ul.news-list.home > li:nth-of-type(even) {
          padding-left: 0;
          padding-right: 0; } }
  ul.news-list > li {
    width: 33.3%;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 40px; }
    @media screen and (max-width: 1040px) {
      ul.news-list > li {
        padding-left: 10px;
        padding-right: 10px; } }
    @media screen and (max-width: 700px) {
      ul.news-list > li {
        width: 50%;
        margin-bottom: 30px; } }
    @media screen and (max-width: 700px) {
      ul.news-list > li:nth-of-type(odd) {
        padding-left: 0;
        padding-right: 5px; } }
    @media screen and (max-width: 700px) {
      ul.news-list > li:nth-of-type(even) {
        padding-left: 5px;
        padding-right: 0; } }
    ul.news-list > li a {
      display: block; }
      ul.news-list > li a figure {
        -webkit-mask-image: url(../img/common/mask_01.svg);
                mask-image: url(../img/common/mask_01.svg);
        background-repeat: no-repeat;
        background-size: cover;
        -webkit-mask-size: 100%;
                mask-size: 100%; }
        ul.news-list > li a figure img {
          width: 100%; }
      ul.news-list > li a .wrap {
        padding-left: 5px;
        padding-right: 5px; }
        ul.news-list > li a .wrap time {
          color: #003E85;
          font-size: 1.6rem;
          font-weight: 700;
          line-height: 1.0;
          display: inline-block;
          margin-bottom: 5px; }
        ul.news-list > li a .wrap h3 {
          color: #003E85;
          font-size: 1.8rem;
          font-weight: 700;
          line-height: 1.3; }

ul.idea-list {
  padding-bottom: 100px; }
  ul.idea-list.ptn01 > li:nth-of-type(even) .img {
    padding-left: 0; }
  ul.idea-list.ptn01 > li:nth-of-type(even) .cont {
    text-align: right;
    padding-left: 80px;
    padding-right: 30px; }
    @media screen and (max-width: 1040px) {
      ul.idea-list.ptn01 > li:nth-of-type(even) .cont {
        padding-left: 0; } }
    @media screen and (max-width: 700px) {
      ul.idea-list.ptn01 > li:nth-of-type(even) .cont {
        text-align: center;
        padding-right: 0; } }
    ul.idea-list.ptn01 > li:nth-of-type(even) .cont p {
      margin-bottom: 5px; }
  ul.idea-list.ptn01 > li .img {
    padding-right: 0; }
  ul.idea-list.ptn01 > li .cont {
    padding-left: 30px;
    padding-right: 80px; }
    @media screen and (max-width: 1040px) {
      ul.idea-list.ptn01 > li .cont {
        padding-right: 0; } }
    @media screen and (max-width: 700px) {
      ul.idea-list.ptn01 > li .cont {
        text-align: center;
        padding-left: 0; } }
    ul.idea-list.ptn01 > li .cont h3 {
      font-weight: 700; }
    @media screen and (max-width: 700px) {
      ul.idea-list.ptn01 > li .cont p {
        margin-bottom: 10px; } }
  ul.idea-list > li {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 30px; }
    @media screen and (max-width: 700px) {
      ul.idea-list > li {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse; } }
    ul.idea-list > li:nth-of-type(even) {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; }
      @media screen and (max-width: 700px) {
        ul.idea-list > li:nth-of-type(even) {
          -webkit-box-orient: vertical;
          -webkit-box-direction: reverse;
              -ms-flex-direction: column-reverse;
                  flex-direction: column-reverse; } }
      ul.idea-list > li:nth-of-type(even) .img {
        padding-right: 0;
        padding-left: 30px; }
        @media screen and (max-width: 700px) {
          ul.idea-list > li:nth-of-type(even) .img {
            padding-left: 0; } }
        ul.idea-list > li:nth-of-type(even) .img figure img.mask {
          -webkit-mask-image: url(../img/common/mask_03.svg);
                  mask-image: url(../img/common/mask_03.svg); }
      ul.idea-list > li:nth-of-type(even) .cont {
        text-align: right;
        padding-left: 20px;
        padding-right: 0; }
        @media screen and (max-width: 700px) {
          ul.idea-list > li:nth-of-type(even) .cont {
            text-align: left;
            padding-left: 0; } }
    ul.idea-list > li:nth-last-of-type(1) {
      margin-bottom: 0; }
    ul.idea-list > li .img {
      width: 50%;
      padding-right: 30px;
      padding-left: 0; }
      @media screen and (max-width: 700px) {
        ul.idea-list > li .img {
          width: 90%;
          padding-right: 0; } }
      @media screen and (max-width: 360px) {
        ul.idea-list > li .img {
          width: 100%; } }
      ul.idea-list > li .img figure img {
        width: 100%; }
        ul.idea-list > li .img figure img.mask {
          -webkit-mask-size: 100%;
                  mask-size: 100%;
          -webkit-mask-image: url(../img/common/mask_02.svg);
                  mask-image: url(../img/common/mask_02.svg); }
      ul.idea-list > li .img figure figcaption {
        color: #261a0c;
        font-size: 1.6rem;
        font-weight: 500;
        text-align: center; }
    ul.idea-list > li .cont {
      width: 50%;
      padding-right: 20px; }
      @media screen and (max-width: 700px) {
        ul.idea-list > li .cont {
          width: 100%;
          padding-right: 0; } }
      @media screen and (max-width: 700px) {
        ul.idea-list > li .cont .wrap {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
      ul.idea-list > li .cont img {
        margin-bottom: 10px; }
        @media screen and (max-width: 700px) {
          ul.idea-list > li .cont img {
            margin-bottom: 0;
            margin-right: 10px; } }
      ul.idea-list > li .cont h3 {
        color: #FF6200;
        font-size: 4rem;
        font-weight: 900;
        line-height: 1.2;
        margin-bottom: 10px; }
        @media screen and (max-width: 700px) {
          ul.idea-list > li .cont h3 {
            font-size: 3.2rem;
            display: inline-block;
            margin-bottom: 5px; } }
        ul.idea-list > li .cont h3 span {
          display: block; }
          @media screen and (max-width: 700px) {
            ul.idea-list > li .cont h3 span {
              display: inline-block; } }
      ul.idea-list > li .cont p {
        color: #261a0c;
        font-size: 1.8rem;
        line-height: 1.8;
        text-align: left; }
        @media screen and (max-width: 700px) {
          ul.idea-list > li .cont p {
            text-align: justify; } }

table.summary {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1.0rem;
  margin-bottom: 1.0rem; }
  table.summary th, table.summary td {
    font-size: 1.4rem;
    line-height: 1.8;
    border: 1px solid #dde9f4;
    padding-top: 30px;
    padding-bottom: 30px; }
    @media screen and (max-width: 700px) {
      table.summary th, table.summary td {
        padding-top: 20px;
        padding-bottom: 20px; } }
  table.summary th {
    font-weight: 500;
    text-align: center;
    width: 145px;
    padding-left: 5px;
    padding-right: 5px; }
    @media screen and (max-width: 700px) {
      table.summary th {
        width: 80px; } }
  table.summary td {
    padding-left: 50px;
    padding-right: 20px; }
    @media screen and (max-width: 700px) {
      table.summary td {
        padding-left: 20px; } }

.unite {
  width: 100%;
  margin-bottom: 40px;
  position: relative; }
  .unite::before {
    content: '';
    background-color: #F0E08B;
    width: 100%;
    height: 300px;
    position: absolute;
    left: 0;
    bottom: 0; }
  .unite .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    position: relative;
    z-index: 9; }
    .unite .wrap .explan {
      width: 445px;
      z-index: 9; }
      @media screen and (max-width: 1040px) {
        .unite .wrap .explan {
          width: 350px; } }
      @media screen and (max-width: 700px) {
        .unite .wrap .explan {
          width: 100px; } }
      @media screen and (max-width: 1040px) {
        .unite .wrap .explan img {
          width: 350px; } }
      @media screen and (max-width: 700px) {
        .unite .wrap .explan img {
          width: 150px; } }
    .unite .wrap .cont {
      width: calc(100% - 445px); }
      @media screen and (max-width: 1040px) {
        .unite .wrap .cont {
          width: calc(100% - 350px); } }
      @media screen and (max-width: 1040px) {
        .unite .wrap .cont {
          width: calc(100% - 100px); } }
      .unite .wrap .cont figure {
        width: 100%;
        max-width: 670px; }
        .unite .wrap .cont figure a {
          display: block;
          position: relative; }
        .unite .wrap .cont figure img {
          -webkit-transform: rotate(3deg);
                  transform: rotate(3deg); }
          @media screen and (max-width: 1040px) {
            .unite .wrap .cont figure img {
              width: 470px;
              position: absolute;
              bottom: -100%;
              right: 0; } }
          @media screen and (max-width: 700px) {
            .unite .wrap .cont figure img {
              width: 200px;
              right: auto;
              left: 50px; } }
      .unite .wrap .cont figcaption {
        color: #EC1212;
        font-size: 4.5rem;
        font-weight: 900;
        line-height: 1.3;
        padding-top: 30px;
        padding-bottom: 35px;
        position: relative;
        z-index: 1; }
        @media screen and (max-width: 1040px) {
          .unite .wrap .cont figcaption {
            font-size: 3.6rem; } }
        @media screen and (max-width: 700px) {
          .unite .wrap .cont figcaption {
            font-size: 2rem;
            text-align: left;
            padding-top: 20px;
            padding-bottom: 25px;
            padding-left: 50px; } }

ul.report-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 40px; }
  ul.report-list > li {
    width: calc(33.3% - 15px); }
    @media screen and (max-width: 700px) {
      ul.report-list > li {
        width: calc(33.3% - 5px); } }
    ul.report-list > li figure a {
      display: block;
      position: relative; }
      ul.report-list > li figure a::after {
        content: '';
        background: url(../img/common/icon_jump_01.svg);
        background-size: cover;
        width: 50px;
        height: 50px;
        position: absolute;
        right: calc(50% - 25px);
        top: calc(50% - 25px); }
        @media screen and (max-width: 700px) {
          ul.report-list > li figure a::after {
            width: 30px;
            height: 30px;
            right: calc(50% - 15px);
            top: calc(50% - 15px); } }
      ul.report-list > li figure a img {
        width: 100%;
        border: 1px solid #dddddd;
        margin-bottom: 15px; }
    ul.report-list > li figure figcaption {
      color: #261a0c;
      font-size: 2rem;
      font-weight: 700;
      text-align: center;
      line-height: 1.3; }
      @media screen and (max-width: 700px) {
        ul.report-list > li figure figcaption {
          font-size: 1.8rem; } }

ul.report-lsit-all {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 15px;
  margin-bottom: 40px;
  border: 1px solid #dde9f4; }
  @media screen and (max-width: 700px) {
    ul.report-lsit-all {
      padding: 10px; } }
  ul.report-lsit-all > li {
    width: calc(20% - 15px);
    margin-right: 15px; }
    @media screen and (max-width: 700px) {
      ul.report-lsit-all > li {
        width: calc(33.3% - 10px); } }
    @media screen and (max-width: 700px) {
      ul.report-lsit-all > li {
        width: calc(33.3% - 6.6px);
        margin-right: 10px; } }
    ul.report-lsit-all > li figure a {
      display: block;
      position: relative; }
      ul.report-lsit-all > li figure a::after {
        content: '';
        background: url(../img/common/icon_jump_01.svg);
        background-size: cover;
        width: 50px;
        height: 50px;
        position: absolute;
        right: calc(50% - 25px);
        top: calc(50% - 25px); }
        @media screen and (max-width: 700px) {
          ul.report-lsit-all > li figure a::after {
            width: 30px;
            height: 30px;
            right: calc(50% - 15px);
            top: calc(50% - 15px); } }
      ul.report-lsit-all > li figure a img {
        width: 100%;
        border: 1px solid #dddddd;
        margin-bottom: 5px; }
    ul.report-lsit-all > li figure figcaption {
      color: #261a0c;
      font-size: 1.4rem;
      font-weight: 700;
      text-align: center;
      line-height: 1.3; }

.carousel-wrap {
  background-color: #F3FAF9;
  position: relative;
  margin-top: 50px;
  margin-bottom: 45px;
  padding-top: 5px;
  padding-bottom: 5px; }
  .carousel-wrap::before {
    content: '';
    background-image: url(../img/page/top_bk_04.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    width: 100%;
    height: 45px;
    position: absolute;
    top: -45px;
    left: 0; }
  .carousel-wrap::after {
    content: '';
    background-image: url(../img/page/top_bk_05.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    width: 100%;
    height: 45px;
    position: absolute;
    bottom: -45px;
    left: 0; }
  .carousel-wrap .carousel {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 100%;
    margin: auto;
    overflow: hidden; }
    .carousel-wrap .carousel .in {
      height: auto;
      margin-right: 10px;
      margin-left: 10px; }
      .carousel-wrap .carousel .in iframe {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
        -o-object-fit: cover;
           object-fit: cover; }
    .carousel-wrap .carousel .slick-prev:before,
    .carousel-wrap .carousel .slick-next:before {
      display: none;
      color: black; }

.parallax {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 600px;
  margin-top: 165px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative; }
  .parallax::before {
    content: '';
    background-image: url(../img/page/top_chara_01.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    width: 790px;
    height: 152px;
    position: absolute;
    top: -80px;
    right: 100px;
    opacity: 0.4;
    z-index: 1; }
    @media screen and (max-width: 1040px) {
      .parallax::before {
        width: 90vw;
        height: 17vw;
        top: -55px;
        right: 20px; } }
    @media screen and (max-width: 700px) {
      .parallax::before {
        top: -40px; } }
  .parallax .img {
    width: 100%;
    height: 600px;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0; }
    .parallax .img img {
      background-image: url(../img/page/top_bk_03.jpg);
      background-attachment: fixed;
      background-position-x: 30%;
      background-position-y: 10%;
      background-size: cover;
      background-repeat: no-repeat;
      width: 100%;
      height: 600px;
      top: 0;
      left: 0; }
      @media screen and (max-width: 1040px) {
        .parallax .img img {
          background-position-x: 50%; } }
  .parallax .cont {
    width: 50%;
    position: relative;
    left: -60px; }
    @media screen and (max-width: 1040px) {
      .parallax .cont {
        width: 60%;
        left: -20px; } }
    @media screen and (max-width: 700px) {
      .parallax .cont {
        width: 65%; } }
    .parallax .cont figure img {
      width: 280px;
      position: relative;
      left: -15px; }
      @media screen and (max-width: 360px) {
        .parallax .cont figure img {
          width: 100%; } }
    .parallax .cont figure figcaption {
      color: #ffffff;
      font-size: 2rem;
      font-weight: 500;
      line-height: 1.0;
      text-shadow: 0 0 6px black, 0 0 6px black;
      margin-top: -10px;
      margin-bottom: 30px; }
      .parallax .cont figure figcaption b {
        font-size: 2.5rem;
        font-weight: 400;
        text-shadow: 2px 2px 10px black, 2px 2px 10px black;
        margin-bottom: 10px;
        display: block; }
    .parallax .cont p {
      color: #ffffff;
      text-shadow: 0px 0px 6px black, 0px 0px 6px black; }
      .parallax .cont p span {
        display: block; }
        @media screen and (max-width: 360px) {
          .parallax .cont p span {
            display: inline; } }
    .parallax .cont .btn a {
      max-width: 255px;
      width: 100%; }

/***  home  ***/
.fview {
  background-image: url(../img/page/top_bk_01.jpg?20251002);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center bottom;
  text-align: center;
  max-width: 1350px;
  width: 100%;
  height: 750px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  @media screen and (max-width: 1040px) {
    .fview {
      background-size: 900px;
      height: 500px; } }
  @media screen and (max-width: 700px) {
    .fview {
      background-position-x: 80%; } }
  .fview .wrap {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    top: 0;
    left: 0; }
  .fview figure {
    max-width: 1140px;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-bottom: 3.0rem; }
    .fview figure img.pn01 {
      margin-bottom: 25px; }
      @media screen and (max-width: 1040px) {
        .fview figure img.pn01 {
          max-width: 600px;
          width: 100%; } }
      @media screen and (max-width: 700px) {
        .fview figure img.pn01 {
          max-width: 65%; } }
    .fview figure img.pn02 {
      margin-top: -20px;
      margin-left: 20px; }
      @media screen and (max-width: 700px) {
        .fview figure img.pn02 {
          max-width: 300px; } }

.form-wrap {
  margin-top: 10px; }
  .form-wrap ul.in {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
    border-top: 1px solid #eeeeee; }
    .form-wrap ul.in > li {
      font-size: 1.8rem;
      line-height: 1.3;
      word-break: break-all;
      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;
      padding-top: 15px;
      padding-bottom: 15px;
      border-bottom: 1px solid #eeeeee; }
      .form-wrap ul.in > li:nth-of-type(odd) {
        font-weight: 700;
        display: block;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        width: 340px;
        padding-top: 22px;
        padding-left: 30px;
        padding-right: 20px; }
        @media screen and (max-width: 1040px) {
          .form-wrap ul.in > li:nth-of-type(odd) {
            width: 200px; } }
        @media screen and (max-width: 700px) {
          .form-wrap ul.in > li:nth-of-type(odd) {
            width: 120px;
            padding-left: 0;
            padding-right: 5px; } }
      .form-wrap ul.in > li:nth-of-type(even) {
        width: calc(100% - 340px);
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        padding-right: 30px; }
        @media screen and (max-width: 1040px) {
          .form-wrap ul.in > li:nth-of-type(even) {
            width: calc(100% - 200px); } }
        @media screen and (max-width: 700px) {
          .form-wrap ul.in > li:nth-of-type(even) {
            width: calc(100% - 120px);
            padding-right: 0; } }
  .form-wrap .send {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 50px; }
    .form-wrap .send span {
      position: relative; }
      .form-wrap .send span::after {
        content: '';
        background-image: url(../img/common/icon_arrow_01.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center center;
        width: 5.5rem;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: absolute;
        top: 0;
        right: 4.0rem; }
      .form-wrap .send span input {
        background-color: #EC1212;
        color: #ffffff;
        font-size: 1.8rem;
        min-width: 310px;
        padding: 20px 100px 20px 40px;
        border-radius: 8px;
        cursor: pointer; }
      .form-wrap .send span input[name="submitBack"] {
        color: #261a0c;
        background-color: #dde9f4;
        min-width: 100px;
        margin-right: 10px; }
  .form-wrap input[type="text"], .form-wrap input[type="email"], .form-wrap textarea {
    font-size: 1.4rem;
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #cccccc;
    caret-color: auto; }
  .form-wrap .mwform-checkbox-field-text {
    padding-right: 40px; }

.mw_wp_form_confirm.mw_wp_form_preview .form-wrap ul.in {
  border-top: 1px dotted #cccccc; }
  @media screen and (max-width: 700px) {
    .mw_wp_form_confirm.mw_wp_form_preview .form-wrap ul.in {
      border-top: none;
      border-bottom: 1px dotted #cccccc; } }
  .mw_wp_form_confirm.mw_wp_form_preview .form-wrap ul.in > li {
    border-bottom: 1px dotted #cccccc; }
    @media screen and (max-width: 700px) {
      .mw_wp_form_confirm.mw_wp_form_preview .form-wrap ul.in > li {
        border-bottom: none; } }
    @media screen and (max-width: 700px) {
      .mw_wp_form_confirm.mw_wp_form_preview .form-wrap ul.in > li:nth-of-type(odd) {
        border-top: 1px dotted #cccccc; } }

.req {
  background-color: #FF6200;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.0;
  display: inline-block;
  padding: 5px 5px;
  border-radius: 5px;
  margin-left: 5px;
  margin-right: 5px; }

.post h2 {
  color: #003E85;
  font-size: 3.6rem;
  font-weight: 900;
  line-height: 1.3;
  margin-bottom: 30px; }
.post h3 {
  color: #EC1212;
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1.3;
  margin-bottom: 35px;
  position: relative; }
  .post h3::before {
    content: '';
    background-color: #E8F6F4;
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: -5px;
    right: 0; }
.post time {
  color: #003E85;
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 10px;
  display: block; }

.mw_wp_form .error {
  color: #EC1212;
  font-size: 1.6rem;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-top: 0.5rem; }

.mw_wp_form .horizontal-item {
  padding-bottom: 0.5rem; }

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0; }
