@charset "UTF-8";
/*boxの中央寄せ*/
.Footer {
  margin: 12% 0 0;
  position: relative; }
  @media screen and (max-width: 640px) {
    .Footer {
      margin: 40% 0 0; } }
  .FooterLink__items {
    display: flex;
    justify-content: space-around;
    max-width: 850px;
    padding: 0 20px; }
    @media screen and (max-width: 640px) {
      .FooterLink__items {
        flex-wrap: wrap;
        justify-content: flex-start; } }
  .FooterLink__item--01 {
    flex: 0 1 14.8%; }
  .FooterLink__item--02 {
    flex: 0 1 8.1%; }
  .FooterLink__item--03 {
    flex: 0 1 12.2%; }
  .FooterLink__item--04 {
    flex: 0 1 12.9%; }
    .FooterLink__item--04 .FooterLink__link {
      padding: 3px 0 10px; }
      @media screen and (max-width: 640px) {
        .FooterLink__item--04 .FooterLink__link {
          padding: 5.5% 16% 0%; } }
  .FooterLink__item--05 {
    flex: 0 1 11.2%; }
  .FooterLink__item--06 {
    flex: 0 1 12.9%;
    position: relative;
    cursor: pointer; }
    .FooterLink__item--06 .FooterLink__link {
      padding: 14px 0 10px;
      margin: -10px 0 0; }
      @media screen and (min-width: 641px) and (max-width: 999px) {
        .FooterLink__item--06 .FooterLink__link {
          padding: 1.4vw 0 1vw;
          margin: -1vw 0 0; } }
      @media screen and (max-width: 640px) {
        .FooterLink__item--06 .FooterLink__link {
          padding: 5.5% 16% 0%;
          margin: 0; } }
    .FooterLink__item--06:hover ul {
      display: block;
      position: absolute;
      background-color: #8FD1D1;
      width: 165px;
      right: 0px;
      left: -30px;
      bottom: 70px;
      margin: 0 auto;
      border-radius: 5px; }
      .FooterLink__item--06:hover ul::before {
        position: absolute;
        content: "";
        border-right: 10px solid transparent;
        border-top: 15px solid #8FD1D1;
        border-left: 10px solid transparent;
        left: 0;
        right: 0;
        margin: 0 auto;
        bottom: -10px;
        width: 0; }
        @media screen and (min-width: 641px) and (max-width: 999px) {
          .FooterLink__item--06:hover ul::before {
            bottom: -1vw;
            border-right: 1vw solid transparent;
            border-top: 1.5vw solid #8FD1D1;
            border-left: 1vw solid transparent; } }
      @media screen and (min-width: 641px) and (max-width: 999px) {
        .FooterLink__item--06:hover ul {
          left: -3vw;
          bottom: 7vw;
          width: 16.5vw;
          border-radius: .5vw; } }
      @media screen and (max-width: 640px) {
        .FooterLink__item--06:hover ul {
          width: 100%;
          left: 0;
          bottom: 15vw; } }
      .FooterLink__item--06:hover ul li {
        margin: 0 auto;
        width: 90%;
        border-bottom: solid 1px #fff; }
        .FooterLink__item--06:hover ul li:last-child {
          border-bottom: none; }
        .FooterLink__item--06:hover ul li a {
          padding: 13px 2px 7px; }
          @media screen and (min-width: 641px) and (max-width: 999px) {
            .FooterLink__item--06:hover ul li a {
              padding: 1.3vw .2vw .7vw; } }
    .FooterLink__item--06 .GlobalNav__link::after {
      content: none; }
  @media screen and (max-width: 640px) {
    .FooterLink__item {
      flex: 0 1 48%;
      border: #b3b3b3 1px solid;
      margin: 0 4% 3vw 0;
      max-width: 48%; }
      .FooterLink__item:nth-child(2n) {
        margin: 0 0 3vw; } }
  .FooterLink__link {
    position: relative;
    display: inline-block;
    padding: .4em;
    text-decoration: none;
    padding: 13px 0 10px;
    width: 100%; }
    .FooterLink__link:hover {
      opacity: 1; }
    .FooterLink__link::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 1px;
      transform: scaleX(0);
      background-color: #333333;
      transition: all .3s ease; }
      .FooterLink__item--06 .FooterLink__link::after {
        content: none; }
    .FooterLink__link:hover::after {
      transform: scaleX(1); }
      @media screen and (max-width: 640px) {
        .FooterLink__link:hover::after {
          transform: scaleX(0); } }
    @media screen and (max-width: 640px) {
      .FooterLink__link {
        width: 100%;
        display: block;
        padding: 10.3% 10.5%;
        box-sizing: border-box; } }
  .Footer2Col {
    background: url(../../images/footer/footer_bg_01.jpg) center top no-repeat;
    background-size: cover;
    margin: 1% 0 0;
    padding: 0 0 1%; }
    @media screen and (max-width: 640px) {
      .Footer2Col {
        padding: 0 0 4%;
        background: url(../../images/footer/footer_bg_01_sp.jpg) center top no-repeat;
        background-size: cover; } }
    .Footer2ColLeft {
      order: 1;
      flex: 0 1 40%; }
      @media screen and (max-width: 640px) {
        .Footer2ColLeft {
          order: 0; } }
      .Footer2ColLeft__cal, .Footer2ColLeft__desc {
        color: #fff;
        margin: 0 0 1.6%; }
        .Footer2ColLeft__cal .u-TextSize--10, .Footer2ColLeft__desc .u-TextSize--10 {
          color: #fff; }
      .Footer2ColLeft__cal {
        margin: 0; }
        @media screen and (max-width: 640px) {
          .Footer2ColLeft__cal {
            margin: 0 0 2.9%; } }
        .Footer2ColLeft__caltext {
          color: #fff;
          letter-spacing: -.05rem;
          margin: 0 0 1.3%; }
      .Footer2ColLeft__img {
        display: inline-block;
        width: 15.06849315068493%;
        margin: 0 1.8% 0 0; }
      .Footer2ColLeft__desc {
        padding-left: .625rem;
        text-indent: -.625rem; }
        @media screen and (max-width: 640px) {
          .Footer2ColLeft__desc {
            padding-left: 3.3vw;
            text-indent: -3.3vw; } }
    .Footer2ColRight {
      order: 2;
      flex: 0 1 46.84931%; }
      @media screen and (max-width: 640px) {
        .Footer2ColRight {
          order: 0;
          margin: 0 0 11.4%; } }
      .Footer2ColRight__text--01 {
        width: 91%;
        margin: 0 0 6%; }
        @media screen and (max-width: 640px) {
          .Footer2ColRight__text--01 {
            width: 88%;
            margin: 0 0 4% 0; } }
      .Footer2ColRight__text--02 {
        width: 82%;
        margin: 0 0 0 5%; }
        @media screen and (max-width: 640px) {
          .Footer2ColRight__text--02 {
            width: 77%;
            margin: 0 0 0 7%; } }
      .Footer2ColRight__logo {
        margin: 26% auto 6.8%;
        width: 55%; }
        @media screen and (max-width: 640px) {
          .Footer2ColRight__logo {
            margin: 8% auto;
            width: 50.7%; } }
    .Footer2ColLeft .cal_wrapper #biz_calendar .bizcal .calbtn img {
      max-width: 16px; }
  @media screen and (max-width: 640px) {
    .Footer__ttl {
      position: relative; }
      .Footer__ttl::after {
        content: "";
        width: 100%;
        height: 1px;
        background: #fff;
        display: block; } }
  .Footer__ttl--01 {
    width: 40.411%;
    margin: 0 0 4.4%; }
    @media screen and (max-width: 640px) {
      .Footer__ttl--01 {
        width: 100%; } }
  .Footer__ttl--02 {
    width: 45.6140350877193%;
    margin: 0 0 8.4%; }
    @media screen and (max-width: 640px) {
      .Footer__ttl--02 {
        width: 100%;
        margin: 0 0 4%; } }
  @media screen and (max-width: 640px) {
    .Footer__ttlInner {
      display: block;
      width: 45%;
      padding: 0 0 2.1%; }
      .Footer__ttlInner--01 {
        display: block;
        width: 33%;
        padding: 0 0 2.4%; } }
  .FooterFlex {
    display: flex;
    justify-content: space-between;
    max-width: 800px;
    padding: 37px 0 0 70px; }
    @media screen and (max-width: 870px) {
      .FooterFlex {
        padding: 4% 2% 0; } }
    @media screen and (max-width: 640px) {
      .FooterFlex {
        display: block;
        padding: 9.5% 3.2% 0; } }
  .FooterNav__items {
    letter-spacing: -.4rem;
    margin: 0 2.8%; }
    @media screen and (max-width: 800px) {
      .FooterNav__items {
        margin: 0;
        text-align: center; } }
    @media screen and (max-width: 640px) {
      .FooterNav__items {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0; } }
  .FooterNav__item {
    border-right: 1px solid #fff;
    line-height: 0.8;
    padding: 0 3.5% 0.6%;
    display: inline-block;
    letter-spacing: normal; }
    .FooterNav__item:last-child {
      border-right: none; }
    @media screen and (max-width: 800px) {
      .FooterNav__item {
        padding: 0 1.5% 0.6%; } }
    @media screen and (max-width: 640px) {
      .FooterNav__item {
        display: block;
        border: #fff 1px solid;
        padding: 0;
        flex: 0 1 32%;
        text-align: center;
        line-height: 1.4;
        border-radius: 5px; }
        .FooterNav__item:last-child {
          border: #fff 1px solid; } }
  .FooterNav__link, .FooterNav__link:visited {
    color: #fff;
    padding: 1% 0 1%;
    display: block; }
    @media screen and (max-width: 640px) {
      .FooterNav__link, .FooterNav__link:visited {
        display: block;
        width: 100%;
        min-height: 9.2vw;
        padding: 13% 0; } }
  @media screen and (max-width: 640px) {
    .FooterNav__link--02 {
      padding: 19% 0 7%; } }
  .Footer__copyright {
    text-align: center;
    color: #fff;
    margin: 1.2% 0 0; }
    @media screen and (max-width: 640px) {
      .Footer__copyright {
        margin: 3.2% 0 0; } }
  .FooterAcc {
    display: none;
    position: relative; }
    .FooterAcc__item .GlobalNav__link {
      font-weight: lighter;
      color: #fff;
      text-align: center; }

/*下層ページ用Class*/
@media screen and (max-width: 640px) {
  .l-underlayer .Footer {
    margin: 40% 0 0; } }

.FooterLink__items .active::after {
  transform: scaleX(1); }
  @media screen and (max-width: 640px) {
    .FooterLink__items .active::after {
      transform: scaleX(0); } }

#biz_calendar table.bizcal tbody tr td {
  color: #666666; }
  #biz_calendar table.bizcal tbody tr td.holiday {
    background-color: #fee;
    color: red; }
  #biz_calendar table.bizcal tbody tr td:last-child {
    background: #c7e8ef;
    color: blue; }
