@charset "UTF-8";


@font-face{font-family:'Roboto';font-style:normal;font-weight:normal;src:url(//fonts.gstatic.com/s/roboto/v16/oMMgfZMQthOryQo9n22dcuvvDin1pK8aKteLpeZ5c0A.woff2) format("woff2");}
@font-face{font-family:'Roboto';font-style:normal;font-weight:bold;src:url(//fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fBBc4AMP6lQ.woff2) format("woff2");}
@font-face{font-family:"YakuHanJP";font-style:normal;font-weight:400;src:url("/assets/fonts/YakuHanJP-Demilight.woff") format("woff");}
@font-face{font-family:"YakuHanJP";font-style:normal;font-weight:700;src:url("/assets/fonts/YakuHanJP-Medium.woff") format("woff");}
@font-face{font-family:'BaseFont-JP';src:url("/assets/fonts/Basefont-Demilight.woff") format("woff");font-style:normal;font-weight:normal;}
@font-face{font-family:'BaseFont-JP';font-style:normal;font-weight:bold;src:url("/assets/fonts/Basefont-Medium.woff") format("woff");}
@font-face{font-family:'BaseFont-JP--strong';font-style:normal;font-weight:normal;src:url("/assets/fonts/Basefont-Medium.woff") format("woff");}
/* =========================
   Reset — scoped to footer area (viewport系は除外)
   Targets: .l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop
   ========================= */
html{margin:0;padding:0;}
body{margin:0;padding:0;}
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop){
  margin:0;
  padding:0;
  position:relative;
  color:#333;
  line-height:1.9;
  font-family:"Roboto","YakuHanJP","BaseFont-JP",Helvetica,Arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  -ms-text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
  -webkit-print-color-adjust:exact;
  letter-spacing:.05em;
  word-wrap:break-word;
  overflow-wrap:break-word;
}

/* box-sizing とタップハイライト（自身+配下） */
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop),
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) *{
  box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
}

/* Elements */
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) figure{margin:0;}
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) h1,
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) h2,
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) h3,
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) h4{margin:0;padding:0;line-height:1;font-weight:normal;}
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) ul,
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) ol{margin:0;padding-left:0;}
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) li{margin-left:0;list-style-type:none;}
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) a img{border:none;margin:0;padding:0;}
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) p{margin:0;}
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) img{line-height:1;max-width:100%;vertical-align:bottom;}
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) hr{border:none;margin:0;padding:0;}
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) table{border-collapse:collapse;border:0;}
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) input{
  font-family:"Roboto","YakuHanJP","BaseFont-JP",Helvetica,Arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
}

/* Focus / pseudo-elements */
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) *:focus{outline:none;}
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) *::before,
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) *::after{box-sizing:border-box;}

/* Links */
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) a{color:inherit;text-decoration:none;cursor:pointer;}

/* Superscript */
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) sup{line-height:0;}

/* aria-hidden transition */
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) [aria-hidden]{-webkit-transition:opacity .2s;transition:opacity .2s;}
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) [aria-hidden="true"]{overflow:hidden;height:0;opacity:0;}
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) [aria-hidden="false"]{height:auto;opacity:1;}

/* Tables */
:where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) tr{word-break:break-all;}

/* -------- Media Queries (scoped) -------- */
@media screen and (min-width:769px), print{
  :where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) a:hover,
  :where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) a:active,
  :where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) a:focus{ text-decoration:underline; }
  :where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) sup{font-size:10px;}
  :where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) ruby rt{
    font-size:10px;
    -webkit-transform:scale(0.8);
    -ms-transform:scale(0.8);
    transform:scale(0.8);
  }
}

@media screen and (max-width:768px){
  :where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) *{max-width:99999px;}
  :where(.l-footer, .l-footer__sub, .l-footer__copy, .l-pagetop) sup{font-size:2.66667vw;}
}


.l-footer {
  border-top: 1px solid #ddd;
  background-color: #f2f2f2; }
  @media screen and (min-width: 769px), print {
    .l-footer {
      margin-top: 125px; } }
  .l-footer .l-footer__main__inner {
    position: relative; }
    @media screen and (min-width: 769px), print {
      .l-footer .l-footer__main__inner {
        width: 1040px;
        margin: 0 auto;
        padding-top: 126px; } }
    @media screen and (max-width: 768px) {
      .l-footer .l-footer__main__inner {
        padding-bottom: 26.5vw; } }
  @media screen and (min-width: 769px), print {
    .l-footer .l-footer__search {
      position: absolute;
      top: 43px;
      left: 0;
      z-index: 1; } }
  @media screen and (max-width: 768px) {
    .l-footer .l-footer__search {
      display: none; } }
  .l-footer .l-footer__search__input {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none; }
    @media screen and (min-width: 769px), print {
      .l-footer .l-footer__search__input {
        width: 331px;
        height: 40px;
        padding-left: 30px;
        color: #b8b8b8;
        font-size: 13px;
        border: none;
        border-radius: 20px;
        background-color: #fff;
        outline: 0; } }
    .l-footer .l-footer__search__input::-webkit-input-placeholder {
      color: #aaa; }
    .l-footer .l-footer__search__input::placeholder {
      color: #aaa; }
    .l-footer .l-footer__search__input:focus {
      box-shadow: 0 0 5px #aaa inset; }
  .is-user-tabbing .l-footer .l-footer__search__input:focus {
    outline: 2px solid #e4002b;
    outline-offset: -2px; }
  .l-footer .l-footer__search__btn {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    text-indent: -99999px; }
    @media screen and (min-width: 769px), print {
      .l-footer .l-footer__search__btn {
        position: absolute;
        top: 12px;
        right: 30px;
        z-index: 2;
        width: 17px;
        height: 15px;
        border: none;
        background-image: url(/assets/img/common/ico_search-01.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: auto 100%;
        background-color: transparent; } }
  .l-footer .l-footer-btn-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    position: absolute;
    z-index: 1; }
    @media screen and (min-width: 769px), print {
      .l-footer .l-footer-btn-list {
        top: 43px;
        right: 0; } }
    @media screen and (max-width: 768px) {
      .l-footer .l-footer-btn-list {
        bottom: 30px;
        bottom: 8vw;
        padding-left: 20px;
        padding-left: 5.33333vw;
        padding-left: 20px;
        padding-left: 5.33333vw; } }
    .l-footer .l-footer-btn-list .l-footer-btn-list__itm {
      font-weight: bold;
      line-height: 1.5; }
      @media screen and (min-width: 769px), print {
        .l-footer .l-footer-btn-list .l-footer-btn-list__itm {
          width: 242px;
          height: 40px;
          margin-left: 24px; } }
      @media screen and (max-width: 768px) {
        .l-footer .l-footer-btn-list .l-footer-btn-list__itm {
          width: 160px;
          width: 42.66667vw;
          height: 40px;
          height: 10.66667vw;
          margin-left: 13.5px;
          margin-left: 3.6vw; } }
      .l-footer .l-footer-btn-list .l-footer-btn-list__itm:nth-of-type(1) {
        margin-left: 0; }
    .l-footer .l-footer-btn-list .l-footer-btn-list__itm__link {
      display: block;
      position: relative;
      overflow: hidden;
      width: 100%;
      height: 100%;
      color: #e4002b;
      text-decoration: none;
      border: 1px solid #e4002b;
      border-radius: 100px; }
      .l-footer .l-footer-btn-list .l-footer-btn-list__itm__link:before {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        z-index: 1;
        border-right: 1px solid #e4002b;
        border-bottom: 1px solid #e4002b;
        -webkit-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
                transform: rotate(-45deg);
        -webkit-transition: border-color .65s ease;
        transition: border-color .65s ease; }
      @media screen and (min-width: 769px), print {
        .l-footer .l-footer-btn-list .l-footer-btn-list__itm__link {
          font-size: 14px;
          -webkit-transition: color .65s ease;
          transition: color .65s ease; }
          .l-footer .l-footer-btn-list .l-footer-btn-list__itm__link:before {
            right: 21px;
            width: 5px;
            height: 5px;
            margin-top: -3px; }
          .l-footer .l-footer-btn-list .l-footer-btn-list__itm__link:after {
            content: '';
            position: absolute;
            top: 0;
            left: -200%;
            z-index: 0;
            width: 150%;
            height: 450%;
            border-radius: 50%;
            background-color: #e4002b;
            -webkit-transition: top .65s ease, left .65s ease;
            transition: top .65s ease, left .65s ease; } }
      @media screen and (max-width: 768px) {
        .l-footer .l-footer-btn-list .l-footer-btn-list__itm__link:before {
          right: 25px;
          right: 6.66667vw;
          width: 4px;
          width: 1.06667vw;
          height: 4px;
          height: 1.06667vw;
          margin-top: -2px;
          margin-top: -0.53333vw; } }
      .l-footer .l-footer-btn-list .l-footer-btn-list__itm__link .l-footer-btn-list__itm__cnt {
        display: inline-block;
        width: 100%;
        text-align: center;
        position: absolute;
        top: 50%;
        left: 0;
        z-index: 1;
        -webkit-transform: translate(0, -50%);
            -ms-transform: translate(0, -50%);
                transform: translate(0, -50%); }
  .l-footer .l-footer-btn-list__itm__link[target="_blank"]:before {
    display: none; }
  .l-footer .l-footer-btn-list__itm__link[target="_blank"] .l-footer-btn-list__itm__cnt {
    position: relative; }
    .l-footer .l-footer-btn-list__itm__link[target="_blank"] .l-footer-btn-list__itm__cnt:before, .l-footer .l-footer-btn-list__itm__link[target="_blank"] .l-footer-btn-list__itm__cnt:after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      z-index: 1; }
      @media screen and (min-width: 769px), print {
        .l-footer .l-footer-btn-list__itm__link[target="_blank"] .l-footer-btn-list__itm__cnt:before, .l-footer .l-footer-btn-list__itm__link[target="_blank"] .l-footer-btn-list__itm__cnt:after {
          width: 8px;
          height: 8px;
          -webkit-transition: border-color .4s ease;
          transition: border-color .4s ease; } }
      @media screen and (max-width: 768px) {
        .l-footer .l-footer-btn-list__itm__link[target="_blank"] .l-footer-btn-list__itm__cnt:before, .l-footer .l-footer-btn-list__itm__link[target="_blank"] .l-footer-btn-list__itm__cnt:after {
          width: 8px;
          width: 2.13333vw;
          height: 8px;
          height: 2.13333vw; } }
    .l-footer .l-footer-btn-list__itm__link[target="_blank"] .l-footer-btn-list__itm__cnt:before {
      border-left: 1px solid #e4002b;
      border-bottom: 1px solid #e4002b; }
      @media screen and (min-width: 769px), print {
        .l-footer .l-footer-btn-list__itm__link[target="_blank"] .l-footer-btn-list__itm__cnt:before {
          right: 23px;
          margin-top: -1px; } }
      @media screen and (max-width: 768px) {
        .l-footer .l-footer-btn-list__itm__link[target="_blank"] .l-footer-btn-list__itm__cnt:before {
          right: 17px;
          right: 4.53333vw;
          margin-top: -2px;
          margin-top: -0.53333vw; } }
    .l-footer .l-footer-btn-list__itm__link[target="_blank"] .l-footer-btn-list__itm__cnt:after {
      border: 1px solid #e4002b;
      content: '';
      overflow: hidden;
      text-indent: -99999px; }
      @media screen and (min-width: 769px), print {
        .l-footer .l-footer-btn-list__itm__link[target="_blank"] .l-footer-btn-list__itm__cnt:after {
          right: 21px;
          margin-top: -4px; } }
      @media screen and (max-width: 768px) {
        .l-footer .l-footer-btn-list__itm__link[target="_blank"] .l-footer-btn-list__itm__cnt:after {
          right: 15.5px;
          right: 4.13333vw;
          margin-top: -4px;
          margin-top: -1.06667vw; } }
  @media screen and (min-width: 769px), print {
    .l-footer .l-footer-btn-list__itm__link:hover {
      color: #fff;
      -webkit-transition: color .5s ease .08s;
      transition: color .5s ease .08s; }
      .l-footer .l-footer-btn-list__itm__link:hover:before {
        border-color: #fff;
        -webkit-transition: border-color .4s ease .185s;
        transition: border-color .4s ease .185s; }
      .l-footer .l-footer-btn-list__itm__link:hover:after {
        top: -100%;
        left: -20%; }
      .l-footer .l-footer-btn-list__itm__link:hover .l-footer-btn-list__itm__cnt:before, .l-footer .l-footer-btn-list__itm__link:hover .l-footer-btn-list__itm__cnt:after {
        border-color: #fff;
        -webkit-transition: border-color .4s ease .185s;
        transition: border-color .4s ease .185s; } }
  @media screen and (max-width: 768px) {
    .l-footer .l-funav {
      display: none; } }
  @media screen and (min-width: 769px), print {
    .l-footer .l-funav__list {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      width: 100%;
      height: 80px;
      margin-bottom: 46px;
      border-left: 1px solid #aaa; }
      .l-footer .l-funav__list .l-funav__list__itm {
        width: 16.66%;
        border-right: 1px solid #aaa; }
      .l-footer .l-funav__list .l-funav__list__itm__link {
        display: block;
        width: 100%;
        height: 100%;
        text-align: center;
        text-decoration: none;
        line-height: 1.5;
        font-weight: bold;
        font-size: 13px;
        background-repeat: no-repeat;
        background-position-x: center; }
        .l-footer .l-funav__list .l-funav__list__itm__link:hover {
          color: #e4002b; }
        .l-footer .l-funav__list .l-funav__list__itm__link.r-1line {
          padding-top: 50px; }
        .l-footer .l-funav__list .l-funav__list__itm__link.r-2line {
          padding-top: 44px; }
        .l-footer .l-funav__list .l-funav__list__itm__link.r-contact {
          position: relative;
          background-image: url(/assets/img/common/ico_footer_contact-01.svg);
          background-position-y: 10px;
          background-size: 30px 22px; }
          .l-footer .l-funav__list .l-funav__list__itm__link.r-contact:hover {
            background-image: url(/assets/img/common/ico_footer_contact-01_on.svg);
            color: #e4002b; }
            .l-footer .l-funav__list .l-funav__list__itm__link.r-contact:hover:before, .l-footer .l-funav__list .l-funav__list__itm__link.r-contact:hover:after {
              border-color: #e4002b; }
          .l-footer .l-funav__list .l-funav__list__itm__link.r-contact:before, .l-footer .l-funav__list .l-funav__list__itm__link.r-contact:after {
            content: '';
            display: block;
            position: absolute;
            top: 50%;
            z-index: 1; } }
        @media screen and (min-width: 769px) and (min-width: 769px), print {
          .l-footer .l-funav__list .l-funav__list__itm__link.r-contact:before, .l-footer .l-funav__list .l-funav__list__itm__link.r-contact:after {
            width: 8px;
            height: 8px; } }
        @media screen and (min-width: 769px) and (max-width: 768px) {
          .l-footer .l-funav__list .l-funav__list__itm__link.r-contact:before, .l-footer .l-funav__list .l-funav__list__itm__link.r-contact:after {
            width: 8px;
            width: 2.13333vw;
            height: 8px;
            height: 2.13333vw; } }
  @media screen and (min-width: 769px), print {
          .l-footer .l-funav__list .l-funav__list__itm__link.r-contact:before {
            border-left: 1px solid #333;
            border-bottom: 1px solid #333; } }
        @media screen and (min-width: 769px) and (min-width: 769px), print {
          .l-footer .l-funav__list .l-funav__list__itm__link.r-contact:before {
            right: 32px;
            margin-top: 15px; } }
        @media screen and (min-width: 769px) and (max-width: 768px) {
          .l-footer .l-funav__list .l-funav__list__itm__link.r-contact:before {
            right: 17px;
            right: 4.53333vw;
            margin-top: -2px;
            margin-top: -0.53333vw; } }
  @media screen and (min-width: 769px), print {
          .l-footer .l-funav__list .l-funav__list__itm__link.r-contact:after {
            border: 1px solid #333;
            content: '';
            overflow: hidden;
            text-indent: -99999px; } }
        @media screen and (min-width: 769px) and (min-width: 769px), print {
          .l-footer .l-funav__list .l-funav__list__itm__link.r-contact:after {
            right: 30px;
            margin-top: 13px; } }
        @media screen and (min-width: 769px) and (max-width: 768px) {
          .l-footer .l-funav__list .l-funav__list__itm__link.r-contact:after {
            right: 15.5px;
            right: 4.13333vw;
            margin-top: 24px;
            margin-top: 6.4vw; } }
  @media screen and (min-width: 769px), print {
        .l-footer .l-funav__list .l-funav__list__itm__link.r-ir-doc {
          background-image: url(/assets/img/common/ico_footer_ir-doc-01.svg);
          background-position-y: 3px;
          background-size: 29px 24px; }
          .l-footer .l-funav__list .l-funav__list__itm__link.r-ir-doc:hover {
            background-image: url(/assets/img/common/ico_footer_ir-doc-01_on.svg); }
        .l-footer .l-funav__list .l-funav__list__itm__link.r-settle-brief {
          background-image: url(/assets/img/common/ico_footer_settle-brief-01.svg);
          background-position-y: 0;
          background-size: 28px 34px; }
          .l-footer .l-funav__list .l-funav__list__itm__link.r-settle-brief:hover {
            background-image: url(/assets/img/common/ico_footer_settle-brief-01_on.svg); }
        .l-footer .l-funav__list .l-funav__list__itm__link.r-annual {
          background-image: url(/assets/img/common/ico_footer_annual-01.svg);
          background-position-y: 0;
          background-size: 33px 33px; }
          .l-footer .l-funav__list .l-funav__list__itm__link.r-annual:hover {
            background-image: url(/assets/img/common/ico_footer_annual-01_on.svg); }
        .l-footer .l-funav__list .l-funav__list__itm__link.r-financial {
          background-image: url(/assets/img/common/ico_footer_financial-01.svg);
          background-position-y: 0;
          background-size: 43px 24px; }
          .l-footer .l-funav__list .l-funav__list__itm__link.r-financial:hover {
            background-image: url(/assets/img/common/ico_footer_financial-01_on.svg); }
        .l-footer .l-funav__list .l-funav__list__itm__link.r-social-environment {
          background-image: url(/assets/img/common/ico_footer_report-01.svg);
          background-position-y: 0;
          background-size: 35px 28px; }
          .l-footer .l-funav__list .l-funav__list__itm__link.r-social-environment:hover {
            background-image: url(/assets/img/common/ico_footer_report-01_on.svg); } }
  @media screen and (min-width: 769px), print {
    .l-footer .l-fnav {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      width: 100%;
      padding: 28px 0 80px;
      border-top: 1px solid #c2c2c2; } }
  @media screen and (max-width: 768px) {
    .l-footer .l-fnav {
      margin-top: -1px;
      border-bottom: 1px solid #ddd;
      background-color: #fff; } }
  @media screen and (min-width: 769px), print {
    .l-footer .l-fnav .l-fnav__itm:not(.r-grid) {
      width: 160px;
      margin-left: 20px; }
  .l-footer .l-fnav .l-fnav__itm.r-grid {
    width: 100%;
  }
  .l-footer .l-fnav .l-fnav__itm.r-grid .l-fnav__list {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* 幅は等分で5列 */
    grid-template-rows: auto auto; /* 行ごとの高さは成り行き */
    gap: 20px;
    width: 100%;
  }
    .l-footer .l-fnav .l-fnav__itm:not(.r-grid):first-child {
        margin-left: 0; } }
  @media screen and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__itm {
      position: relative;
      border-top: 1px solid #ddd; } }
  @media screen and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__itm span[role=button] {
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 1;
      cursor: pointer;
      width: 45px;
      width: 12vw;
      height: 51px;
      height: 13.6vw; } }
  @media screen and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__itm span[role=button]:before, .l-footer .l-fnav .l-fnav__list__itm span[role=button]:after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      z-index: 1;
      background-color: #e4002b;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); } }
  @media screen and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__itm span[role=button]:before {
      width: 8px;
      width: 2.13333vw;
      height: 1px;
      height: 0.26667vw; } }
  @media screen and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__itm span[role=button][aria-expanded="true"] + .l-fnav__list__sublist {
      height: auto;
      opacity: 1; } }
  @media screen and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__itm span[role=button]:not([aria-expanded="true"]):after {
      width: 1px;
      width: 0.26667vw;
      height: 8px;
      height: 2.13333vw; } }
  @media screen and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__itm:not(.role-has-sublist) .l-fnav__list__itm__link:after,
    .l-footer .l-fnav .l-fnav__list__itm .l-fnav__list__sublist__itm__link:after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      z-index: 1;
      border-right: 1px solid #e4002b;
      border-bottom: 1px solid #e4002b;
      -webkit-transform: translate(0, -50%) rotate(-45deg);
          -ms-transform: translate(0, -50%) rotate(-45deg);
              transform: translate(0, -50%) rotate(-45deg);
      right: 20px;
      right: 5.33333vw;
      width: 4px;
      width: 1.06667vw;
      height: 4px;
      height: 1.06667vw; } }
  .l-footer .l-fnav .l-fnav__list__itm__link {
    display: block;
    position: relative;
    text-decoration: none;
    line-height: 1.5; }
    @media screen and (min-width: 769px), print {
      .l-footer .l-fnav .l-fnav__list__itm__link {
        padding-bottom: 9.75px;
        padding-top: 9.75px;
        line-height: 1.5;
        padding-left: 0.8em; } }
  @media screen and (min-width: 769px) and (min-width: 769px), print {
    .l-footer .l-fnav .l-fnav__list__itm__link {
      padding-bottom: calc(13px - (((0.86667rem * 1.5) - 0.86667rem) / 2));
      padding-top: calc(13px - (((0.86667rem * 1.5) - 0.86667rem) / 2));
      font-size: 0.86667rem; } }
  @media screen and (min-width: 769px) and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__itm__link {
      padding-bottom: 1.3vw;
      padding-top: 1.3vw;
      font-size: 6.5px;
      font-size: 1.73333vw; } }
    @media screen and (min-width: 769px), print {
        .l-footer .l-fnav .l-fnav__list__itm__link:before {
          content: '';
          display: block;
          position: absolute;
          top: 50%;
          left: 0;
          z-index: 1;
          width: .3em;
          height: .3em;
          margin-top: -.15em;
          border-right: 1px solid #333;
          border-bottom: 1px solid #333;
          -webkit-transform: rotate(-45deg);
              -ms-transform: rotate(-45deg);
                  transform: rotate(-45deg); }
        .l-footer .l-fnav .l-fnav__list__itm__link:hover {
          color: #e4002b;
          text-decoration: underline; }
          .l-footer .l-fnav .l-fnav__list__itm__link:hover:before {
            border-color: #e4002b; }
          .l-footer .l-fnav .l-fnav__list__itm__link:hover .r-blank:before, .l-footer .l-fnav .l-fnav__list__itm__link:hover .r-blank:after {
            border-color: #e4002b; } }
    @media screen and (max-width: 768px) {
      .l-footer .l-fnav .l-fnav__list__itm__link {
        padding-right: 20px;
        padding-right: 5.33333vw;
        padding-left: 20px;
        padding-left: 5.33333vw;
        padding-bottom: 31.5px;
        padding-top: 31.5px;
        line-height: 1.5; } }
  @media screen and (max-width: 768px) and (min-width: 769px) {
    .l-footer .l-fnav .l-fnav__list__itm__link {
      padding-bottom: calc(38px - (((1.73333rem * 1.5) - 1.73333rem) / 2));
      padding-top: calc(38px - (((1.73333rem * 1.5) - 1.73333rem) / 2));
      font-size: 1.73333rem; } }
  @media screen and (max-width: 768px) and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__itm__link {
      padding-bottom: 4.2vw;
      padding-top: 4.2vw;
      font-size: 13px;
      font-size: 3.46667vw; } }
    .l-footer .l-fnav .l-fnav__list__itm__link .r-blank {
      position: relative;
      padding-right: 1.2em; }
      .l-footer .l-fnav .l-fnav__list__itm__link .r-blank:before {
        right: -16px;
        margin-top: -3px;
        border-bottom: 1px solid #333;
        border-left: 1px solid #333;
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        z-index: 1;
        width: 7px;
        height: 7px; }
      .l-footer .l-fnav .l-fnav__list__itm__link .r-blank:after {
        content: '';
        overflow: hidden;
        text-indent: -99999px;
        display: block;
        position: absolute;
        top: 50%;
        z-index: 1;
        width: 7px;
        height: 7px;
        right: -18px;
        margin-top: -5px;
        border: 1px solid #333; }
  @media screen and (min-width: 769px),print {
    .l-footer .l-fnav .r-bind .l-fnav__list__itm__link {
        padding-bottom: 0;
    }
    .l-footer .l-fnav .r-bind .l-fnav__list__itm__link:before {
      top: 63%;
    }
  }
  @media screen and (min-width: 769px), print {
    .l-footer .l-fnav .l-fnav__list__sublist {
      display: none; } }
  @media screen and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__sublist {
      overflow: hidden;
      height: 0;
      -webkit-transition: opacity .3s;
      transition: opacity .3s;
      opacity: 0;
      border-top: 1px solid #ddd; } }
  .l-footer .l-fnav .l-fnav__list__sublist__itm {
    position: relative; }
    @media screen and (max-width: 768px) {
      .l-footer .l-fnav .l-fnav__list__sublist__itm:last-child .l-fnav__list__sublist__itm__link {
        border-bottom: none !important; } }
    @media screen and (max-width: 768px) {
      .l-footer .l-fnav .l-fnav__list__sublist__itm.is-current {
        background-color: #f9f9f9; } }
  @media screen and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__sublist__itm__link {
      display: block;
      padding-right: 20px;
      padding-right: 5.33333vw;
      padding-left: 45px;
      padding-left: 12vw;
      padding-bottom: 31.5px;
      padding-top: 31.5px;
      line-height: 1.5;
      border-bottom: 1px solid #ddd; } }
  @media screen and (max-width: 768px) and (min-width: 769px) {
    .l-footer .l-fnav .l-fnav__list__sublist__itm__link {
      padding-bottom: calc(38px - (((1.73333rem * 1.5) - 1.73333rem) / 2));
      padding-top: calc(38px - (((1.73333rem * 1.5) - 1.73333rem) / 2));
      font-size: 1.73333rem; } }
  @media screen and (max-width: 768px) and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__sublist__itm__link {
      padding-bottom: 4.2vw;
      padding-top: 4.2vw;
      font-size: 13px;
      font-size: 3.46667vw; } }
  .l-footer .l-fnav .l-fnav__list__sublist__itm__link:before {
    content: '';
    display: block;
    position: absolute;
    border-left: 1px solid #e4002b;
    border-bottom: 1px solid #e4002b;
    width: 10px;
    width: 2.66667vw;
    height: 10px;
    height: 2.66667vw;
    left: 25px;
    left: 6.66667vw;
    top: 17px;
    top: 4.53333vw; }
  @media screen and (max-width: 768px) {
    .l-footer .l-fnav__list__itm__link + .l-fnav__list__sublist {
      border-top: 1px solid #ddd; } }

  .l-footer .l-fnav .l-fnav__list__innerlist {
    padding-left: 1.5rem;
  }

  @media screen and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__innerlist__itm {
      position: relative;
      border-top: 1px solid #ddd;
    }
  }

  @media screen and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__innerlist__itm span[role=button] {
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 1;
      cursor: pointer;
      width: 45px;
      width: 12vw;
      height: 51px;
      height: 13.6vw;
    }
  }

  @media screen and (max-width: 768px) {

    .l-footer .l-fnav .l-fnav__list__innerlist__itm span[role=button]:before,
    .l-footer .l-fnav .l-fnav__list__innerlist__itm span[role=button]:after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      z-index: 1;
      background-color: #e4002b;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
    }
  }

  @media screen and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__innerlist__itm span[role=button]:before {
      width: 8px;
      width: 2.13333vw;
      height: 1px;
      height: 0.26667vw;
    }
  }

  @media screen and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__innerlist__itm span[role=button][aria-expanded="true"]+.l-fnav__list__innerlist__sublist {
      height: auto;
      opacity: 1;
    }
  }

  @media screen and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__innerlist__itm span[role=button]:not([aria-expanded="true"]):after {
      width: 1px;
      width: 0.26667vw;
      height: 8px;
      height: 2.13333vw;
    }
  }

  @media screen and (max-width: 768px) {

    .l-footer .l-fnav .l-fnav__list__innerlist__itm:not(.role-has-sublist) .l-fnav__list__innerlist__itm__link:after,
    .l-footer .l-fnav .l-fnav__list__innerlist__itm .l-fnav__list__sublist__itm__link:after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      z-index: 1;
      border-right: 1px solid #e4002b;
      border-bottom: 1px solid #e4002b;
      -webkit-transform: translate(0, -50%) rotate(-45deg);
      -ms-transform: translate(0, -50%) rotate(-45deg);
      transform: translate(0, -50%) rotate(-45deg);
      right: 20px;
      right: 5.33333vw;
      width: 4px;
      width: 1.06667vw;
      height: 4px;
      height: 1.06667vw;
    }
  }

  .l-footer .l-fnav .l-fnav__list__innerlist__itm__link {
    display: block;
    position: relative;
    text-decoration: none;
    line-height: 1.5;
  }

  @media screen and (min-width: 769px),
  print {
    .l-footer .l-fnav .l-fnav__list__innerlist__itm__link {
      padding-bottom: 9.75px;
      padding-top: 0;
      line-height: 1.5;
      padding-left: 1em;
    }
  }

  @media screen and (min-width: 769px) and (min-width: 769px),
  print {
    .l-footer .l-fnav .l-fnav__list__innerlist__itm__link {
      padding-bottom: 6px;
      padding-top: 0;
      font-size: 13px;
    }
  }

  @media screen and (min-width: 769px) and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__innerlist__itm__link {
      padding-bottom: 1.3vw;
      padding-top: 1.3vw;
      font-size: 6.5px;
      font-size: 1.73333vw;
    }
  }

  @media screen and (min-width: 769px),
  print {
    .l-footer .l-fnav .l-fnav__list__innerlist__itm__link:before {
      content: '';
      display: block;
      position: absolute;
      top: 25%;
      left: 0;
      z-index: 1;
      width: .4em;
      height: .4em;
      margin-top: -.15em;
      border-right: 1px solid #333;
      border-bottom: 1px solid #333;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
    }

    .l-footer .l-fnav .l-fnav__list__innerlist__itm__link:hover {
      color: #e4002b;
      text-decoration: underline;
    }

    .l-footer .l-fnav .l-fnav__list__innerlist__itm__link:hover:before {
      border-color: #e4002b;
    }

    .l-footer .l-fnav .l-fnav__list__innerlist__itm__link:hover .r-blank:before,
    .l-footer .l-fnav .l-fnav__list__innerlist__itm__link:hover .r-blank:after {
      border-color: #e4002b;
    }
  }

  @media screen and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__innerlist__itm__link {
      padding-right: 20px;
      padding-right: 5.33333vw;
      padding-left: 20px;
      padding-left: 5.33333vw;
      padding-bottom: 31.5px;
      padding-top: 31.5px;
      line-height: 1.5;
    }
  }

  @media screen and (max-width: 768px) and (min-width: 769px) {
    .l-footer .l-fnav .l-fnav__list__innerlist__itm__link {
      padding-bottom: calc(38px - (((1.73333rem * 1.5) - 1.73333rem) / 2));
      padding-top: calc(38px - (((1.73333rem * 1.5) - 1.73333rem) / 2));
      font-size: 1.73333rem;
    }
  }

  @media screen and (max-width: 768px) and (max-width: 768px) {
    .l-footer .l-fnav .l-fnav__list__innerlist__itm__link {
      padding-bottom: 4.2vw;
      padding-top: 4.2vw;
      font-size: 13px;
      font-size: 3.46667vw;
    }
  }

  .l-footer .l-fnav .l-fnav__list__innerlist__itm__link .r-blank {
    position: relative;
    padding-right: 1.2em;
  }

  .l-footer .l-fnav .l-fnav__list__innerlist__itm__link .r-blank:before {
    right: -16px;
    margin-top: -3px;
    border-bottom: 1px solid #333;
    border-left: 1px solid #333;
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    z-index: 1;
    width: 7px;
    height: 7px;
  }

  .l-footer .l-fnav .l-fnav__list__innerlist__itm__link .r-blank:after {
    content: '';
    overflow: hidden;
    text-indent: -99999px;
    display: block;
    position: absolute;
    top: 50%;
    z-index: 1;
    width: 7px;
    height: 7px;
    right: -18px;
    margin-top: -5px;
    border: 1px solid #333;
  }

  .l-footer .l-fnav__history {
    position: absolute; }
    @media screen and (min-width: 769px), print {
      .l-footer .l-fnav__history {
        right: 0;
        bottom: 16px;
        z-index: 1;
        width: 330px; }
        .l-footer .l-fnav__history .l-fnav__history__link {
          display: block;
          -webkit-transition: opacity .2s ease;
          transition: opacity .2s ease; }
          .l-footer .l-fnav__history .l-fnav__history__link:hover {
            opacity: .7; } }
    @media screen and (max-width: 768px) {
      .l-footer .l-fnav__history {
        right: 0;
        bottom: 105px;
        bottom: 58vw;
        left: 0;
        width: 335px;
        width: 89.33333vw;
        height: 95.5px;
        height: 25.46667vw;
        margin: 0 auto; } }
  .l-footer .l-footer__sub {
    background-color: #fff; }
    .l-footer .l-footer__sub .l-footer__sub__inner {
      position: relative; }
      @media screen and (min-width: 769px), print {
        .l-footer .l-footer__sub .l-footer__sub__inner {
          width: 1040px;
          margin: 0 auto; } }
      @media screen and (max-width: 768px) {
        .l-footer .l-footer__sub .l-footer__sub__inner {
          padding-top: 13px;
          padding-top: 3.46667vw;
          padding-right: 20px;
          padding-right: 5.33333vw;
          padding-bottom: 68px;
          padding-bottom: 18.13333vw;
          padding-left: 20px;
          padding-left: 5.33333vw; } }
  .l-footer .l-fsnav {
    position: relative; }
  @media screen and (min-width: 769px), print {
    .l-footer .l-fsnav__list {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      padding: 38px 0;
      font-size: 13px;
      line-height: 1.3; } }
  @media screen and (max-width: 768px) {
    .l-footer .l-fsnav__list {
      text-align: center;
      font-size: 3.46667vw;
      line-height: 1.1; } }
  .l-footer .l-fsnav__list__itm {
    border-left-style: solid;
    border-left-color: #7d7d7d; }
    @media screen and (min-width: 769px), print {
      .l-footer .l-fsnav__list__itm {
        border-left-width: 1px; }
        .l-footer .l-fsnav__list__itm:first-child {
          border-left: none; }
          .l-footer .l-fsnav__list__itm:first-child .l-fsnav__list__itm__link {
            padding-left: 0; } }
    @media screen and (max-width: 768px) {
      .l-footer .l-fsnav__list__itm {
        display: inline-block;
        margin-top: 17px;
        margin-top: 4.53333vw;
        border-left-width: 1px;
        border-left-width: 0.26667vw; }
        .l-footer .l-fsnav__list__itm:nth-child(2), .l-footer .l-fsnav__list__itm:nth-child(3), .l-footer .l-fsnav__list__itm:last-child {
          border-right-style: solid;
          border-right-color: #7d7d7d;
          border-right-width: 1px;
          border-right-width: 0.26667vw; } }
  .l-footer .l-fsnav__list__itm__link {
    display: block; }
    @media screen and (min-width: 769px), print {
      .l-footer .l-fsnav__list__itm__link {
        padding-right: 15px;
        padding-left: 16px; } }
    @media screen and (max-width: 768px) {
      .l-footer .l-fsnav__list__itm__link {
        padding-right: 8px;
        padding-right: 2.13333vw;
        padding-left: 8px;
        padding-left: 2.13333vw; } }
    @media screen and (min-width: 769px), print {
      .l-footer .l-fsnav__list__itm__link:hover, .l-footer .l-fsnav__list__itm__link:focus {
        color: #e4002b;
        text-decoration: underline; } }

.l-footer__copy {
  text-align: center;
  color: #fff;
  background-color: #e4002b; }
  @media screen and (min-width: 769px), print {
    .l-footer__copy {
      height: 32px;
      line-height: 32px;
      font-size: 12px; } }
  @media screen and (max-width: 768px) {
    .l-footer__copy {
      height: 31px;
      height: 8.26667vw;
      font-size: 8px;
      font-size: 2.13333vw;
      line-height: 31px;
      line-height: 8.26667vw; } }





.l-pagetop>a {
  display: block;
  position: absolute;
  overflow: hidden;
  z-index: 9999;
  background-image: url(/assets/img/common/fig_arrow_circle-02.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.l-pagetop>a:after {
  content: 'ページの先頭に移動する';
  position: absolute;
  text-indent: -99999px;
}

@media screen and (min-width: 769px),
print {
  .l-pagetop>a {
    right: 20px;
    bottom: 52px;
    width: 40px;
    height: 40px;
    padding: 50px 0 0 50px;
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
  }

  .l-pagetop>a:hover {
    opacity: .6;
  }
}

@media screen and (max-width: 768px) {
  .l-pagetop>a {
    right: 20px;
    right: 5.33333vw;
    bottom: 50px;
    bottom: 13.33333vw;
    width: 30px;
    width: 8vw;
    height: 30px;
    height: 8vw;
    padding: 40px 0px 0px 40px;
    padding: 10.66667vw 0vw 0vw 10.66667vw;
  }
}

.l-pagetop.is-fixed>a {
  position: fixed;
}

@media screen and (min-width: 769px),
print {
  .l-pagetop.is-fixed>a {
    bottom: 20px;
  }
}

@media screen and (max-width: 768px) {
  .l-pagetop.is-fixed>a {
    bottom: 20px;
    bottom: 5.33333vw;
  }
}

@media screen and (max-width: 768px) {
  .l-pagetop.is-fixed.is-moving {
    opacity: 0;
  }
}

.l-pagetop.is-hide>a {
  opacity: 0;
  pointer-events: none;
}

@media screen and (min-width: 769px),
print {
  .u-txt__14 {
    font-size: 14px !important;
  }
}
@media screen and (max-width: 768px){
.u-none--sp{display:none!important;}
}
@media screen and (min-width: 769px), print{
.u-mb20--pc{margin-bottom:20px!important;}
}
@media screen and (max-width: 768px){
.u-mb30--sp{margin-bottom:30px!important;margin-bottom:4vw!important;}
}
@media screen and (max-width: 768px){
.u-wd30--sp{width:30px!important;width:4vw!important;}
}
@media screen and (max-width: 768px){
.u-wd30--sp{width:30px!important;width:4vw!important;}
}
@media screen and (max-width: 768px){
.u-wd15per--sp{width:15%!important;}
}
.u-wd20per{width:20%!important;}
@media screen and (min-width: 769px), print{
.u-wd227--pc{width:227px!important;}
}
@media screen and (min-width: 769px), print{
.u-wd207--pc{width:207px!important;}
}
@media screen and (min-width: 769px), print{
.u-wd680--pc{width:680px!important;}
.u-wd33per--pc{width:33%!important;}
.u-wd66per--pc{width:66%!important;}
}
.u-txt-to-speech {
  display: inline-block;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}
