@charset "UTF-8";
/*************************************/
.news div .no_single {
  font: 1.5rem/1em "Noto Serif JP", serif;
  font-weight: 500;
  padding: 0 20px; }

.report .box01 li.no_single, .report .box02 li.no_single {
  font: 1.8rem/1em "Noto Serif JP", serif;
  font-weight: 500;
  padding: 25px 25px 130px; }

.link .no_single {
  width: 100% !important;
  margin: 0 auto !important;
  font: 1.8rem/1em "Noto Serif JP", serif;
  font-weight: 500;
  padding: 25px 25px;
  text-align: center; }

/*************************************/
body {
  background-color: #F6F6F4;
  position: relative; }
  body.menu_active {
    overflow: hidden; }

body {
  padding: 160px 0 0; }

@media (max-width: 1024px) {
  body {
    padding: 140px 0 0; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  body {
    padding: 110px 0 0; } }
/*max-width:768px*/
@media (max-width: 480px) {
  body {
    padding: 95px 0 0; } }
/*max-width:480px*/
/*************************************/
header {
  background-color: #F6F6F4 !important;
  width: 100%;
  position: absolute;
  z-index: 9999;
  left: 0;
  top: 0; }
  header h1 {
    width: 260px;
    height: 290px;
    position: absolute;
    top: 0;
    left: 100px;
    background-color: #F6F6F4;
    transition: .3s;
    z-index: 888; }
    header h1 a {
      transition: .3s;
      margin: 55px 0 0;
      display: block;
      background: url("../images/common/header_win.svg") center left no-repeat;
      background-size: contain;
      display: block;
      width: 198px;
      height: 189px;
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap; }
  header.active {
    position: fixed;
    top: 0;
    left: 0;
    height: 141px;
    transform: translateY(-100%);
    animation: slideDown 0.5s ease-out forwards; }
    header.active h1 {
      top: 33px;
      width: fit-content;
      height: fit-content; }
      header.active h1 a {
        margin: 0;
        background: url("../images/common/fixed_logo.svg") center left no-repeat;
        background-size: contain;
        width: 224px;
        height: 75px; }

@keyframes slideDown {
  from {
    transform: translateY(-100%);
    opacity: 0; }
  to {
    transform: translateY(0);
    opacity: 1; } }
@media (max-width: 1280px) {
  header h1 {
    left: 80px; }
  header.menu_active {
    transition: .3s;
    position: fixed;
    top: 0;
    left: 0; }
    header.menu_active h1 {
      top: 13px;
      width: fit-content;
      height: fit-content; }
      header.menu_active h1 a {
        margin: 0;
        background: url("../images/common/fixed_logo.svg") center left no-repeat;
        background-size: contain;
        width: 224px;
        height: 75px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  header h1 {
    width: 200px;
    height: 185px;
    top: 40px;
    left: 60px; }
    header h1 a {
      margin: 0;
      display: block;
      background: url("../images/common/header_tb.svg") top left no-repeat;
      background-size: contain;
      display: block;
      width: 152px;
      height: 151px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  header {
    height: 100px;
    width: 100%; }
    header h1 {
      transition: .3s;
      width: 178px;
      height: 173px;
      top: 30px;
      left: 50px; }
      header h1 a {
        width: 138px;
        height: 138px; }
    header.active {
      height: 100px;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 9999; }
      header.active h1 {
        top: 13px;
        width: fit-content;
        height: fit-content; }
        header.active h1 a {
          margin: 0;
          background: url("../images/common/fixed_logo.svg") center left no-repeat;
          background-size: contain;
          width: 224px;
          height: 75px; }
    header.menu_active {
      transition: .3s;
      position: fixed;
      top: 0;
      left: 0; }
      header.menu_active h1 {
        top: 13px;
        width: fit-content;
        height: fit-content; }
        header.menu_active h1 a {
          margin: 0;
          background: url("../images/common/fixed_logo.svg") center left no-repeat;
          background-size: contain;
          width: 224px;
          height: 75px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  header {
    height: 90px;
    width: 100%; }
    header h1 {
      transition: .3s;
      width: 165px;
      height: 160px;
      top: 25px;
      left: 20px; }
      header h1 a {
        width: 133px;
        height: 130px; }
    header.active h1, header.menu_active h1 {
      top: 8px;
      width: fit-content;
      height: fit-content; }
      header.active h1 a, header.menu_active h1 a {
        margin: 0;
        background: url("../images/common/fixed_logo.svg") center left no-repeat;
        background-size: contain;
        width: 224px;
        height: 75px; } }
/*max-width:480px*/
/*************************************/
.header_box {
  position: relative;
  max-width: 1920px;
  width: 100%;
  padding: 30px 100px 15px;
  margin: 0 auto;
  /* ▼▼▼ `.dropdown-content` が最初に表示される ▼▼▼ */
  /* ▼▼▼ max-height の動作はそのまま維持 ▼▼▼ */
  /* ▼▼▼ 各アーカイブの初期状態 ▼▼▼ */
  /* ▼▼▼ `.dropdown-content` が表示された後に `.archive01` から順に降りる ▼▼▼ */
  /* ▼▼▼ `.archive03` → `.archive02` → `.archive01` の順に閉じる ▼▼▼ */
  /* ▼▼▼ `.dropdown-content` は `.archive01` が完全に消えた後に閉じる ▼▼▼ */ }
  .header_box > div {
    margin: 0 0 0 auto;
    width: 100%; }
  .header_box .header_top {
    transition: .3s;
    width: 100%;
    margin: 0 0 0 auto;
    max-width: 280px;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    border: 1px solid #707070;
    text-align: center;
    margin-bottom: 20px;
    font: 1.5rem/1em "Noto Sans JP", sans-serif;
    font-weight: 500;
    text-decoration: none; }
    .header_box .header_top p {
      letter-spacing: 0.05em;
      color: #000;
      text-decoration: none;
      position: relative; }
      .header_box .header_top p:before {
        position: absolute;
        content: "";
        display: block;
        left: 0; }
      .header_box .header_top p.access {
        padding: 0 0 0 22px; }
        .header_box .header_top p.access:before {
          background: url("../images/common/icon_point.svg") center center no-repeat;
          background-size: contain;
          width: 14px;
          height: 20px;
          top: -3px; }
      .header_box .header_top p.contact {
        padding: 0 0 0 22px; }
        .header_box .header_top p.contact:before {
          background: url("../images/common/icon_tel.svg") center center no-repeat;
          background-size: contain;
          top: 0;
          aspect-ratio: 393/512;
          height: auto;
          width: 100%;
          max-width: 15px; }
    .header_box .header_top span {
      font: 1.8rem/1em "Noto Sans JP", sans-serif;
      font-weight: 500;
      color: #707070;
      padding: 0 10px; }
  .header_box .header_btm {
    max-width: 750px;
    margin: 35px 0 0 auto; }
    .header_box .header_btm ul {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-around;
      align-items: flex-start;
      position: relative; }
      .header_box .header_btm ul:before {
        position: absolute;
        content: "";
        display: block;
        width: 1px;
        height: 20px;
        right: 0;
        top: -2px;
        background-color: #707070; }
    .header_box .header_btm li {
      text-align: center;
      position: relative; }
      .header_box .header_btm li.toggle_none {
        display: none; }
      .header_box .header_btm li:before {
        position: absolute;
        content: "";
        display: block;
        width: 1px;
        height: 20px;
        left: 0;
        top: -2px;
        background-color: #707070; }
      .header_box .header_btm li span,
      .header_box .header_btm li > a {
        padding: 0 19px 20px;
        display: block;
        width: 100%;
        text-decoration: none;
        font: 1.6rem/1em "Noto Sans JP", sans-serif;
        font-weight: 400;
        letter-spacing: 0.05em;
        position: relative;
        cursor: pointer; }
  .header_box .dropdown-content {
    position: absolute;
    top: 26px;
    right: 0;
    width: 200px;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    max-height: 0;
    transition: opacity 0.2s ease-out, max-height 0.3s ease-out, visibility 0.3s;
    z-index: 10;
    background: white;
    pointer-events: none; }
  .header_box .header_btm li.active .dropdown-content {
    opacity: 1;
    visibility: visible;
    pointer-events: auto; }
  .header_box .header_btm li.active .dropdown-content.archive_box {
    max-height: 200px !important; }
  .header_box .header_btm li.active .dropdown-content.report_box {
    max-height: 250px !important; }
  .header_box .archive01,
  .header_box .archive02,
  .header_box .archive03 {
    background-color: #fff;
    color: #000;
    display: block;
    text-decoration: none;
    font: 1.5rem/38px "Noto Sans JP", sans-serif;
    height: 40px;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-align: left;
    padding: 0 20px;
    opacity: 0;
    transform: translateY(-10px); }
  .header_box .header_btm li.active .archive01 {
    opacity: 1;
    transform: translateY(0);
    transition: transform 0.2s ease-out, opacity 0.2s ease-out;
    transition-delay: 0.1s;
    /* 背景が表示された後に動き始める */ }
  .header_box .header_btm li.active .archive02 {
    opacity: 1;
    transform: translateY(0);
    transition: transform 0.5s ease-out, opacity 0.5s ease-out;
    transition-delay: 0.2s; }
  .header_box .header_btm li.active .archive03 {
    opacity: 1;
    transform: translateY(0);
    transition: transform 0.5s ease-out, opacity 0.5s ease-out;
    transition-delay: 0.3s; }
  .header_box .header_btm li:not(.active) .archive03 {
    opacity: 0;
    transform: translateY(-10px);
    transition-delay: 0s; }
  .header_box .header_btm li:not(.active) .archive02 {
    opacity: 0;
    transform: translateY(-10px);
    transition-delay: 0s; }
  .header_box .header_btm li:not(.active) .archive01 {
    opacity: 0;
    transform: translateY(-10px);
    transition-delay: 0s; }
  .header_box .header_btm li:not(.active) .dropdown-content {
    opacity: 0;
    visibility: hidden;
    transition-delay: 0s;
    pointer-events: none; }

@media (hover: hover) {
  .header_box .header_top:hover {
    background-color: #fff; }
  .header_box .header_btm li {
    cursor: pointer;
    text-align: center;
    position: relative; }
    .header_box .header_btm li span:hover,
    .header_box .header_btm li > a:hover {
      cursor: pointer;
      text-decoration: underline;
      text-underline-offset: 8px;
      text-decoration-color: #707070; }
  .header_box .header_btm div a:hover {
    background-color: #E8EBEB; } }
@media (max-width: 1280px) {
  .header_box::-webkit-scrollbar {
    background: #E8EBEB;
    width: 3px; }

  .header_box::-webkit-scrollbar-thumb {
    background-color: white;
    border: 1px solid #E8EBEB; }

  .header_box::-webkit-scrollbar-thumb:hover {
    background-color: #ffffff; }

  .header_box {
    position: fixed;
    /* 画面いっぱいに表示 */
    top: -100%;
    left: 0;
    width: 100vw;
    /* ビューポート全幅 */
    height: 100vh;
    /* ビューポート全高 */
    background-color: #F6F6F4;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 30px 80px 50%;
    overflow: auto;
    /* スクロール可能に */
    opacity: 0;
    pointer-events: none;
    /* 非表示時はクリック不可 */
    z-index: -9999;
    transition: 0.3s;
    /* ▼▼▼ ドロップダウンの初期状態（背景） ▼▼▼ */ }
    .header_box.active {
      top: 100px;
      opacity: 1;
      pointer-events: auto;
      z-index: 1000; }
    .header_box .header_top {
      order: 2;
      margin: 0 0 30px;
      height: auto;
      padding: 10px 0; }
    .header_box .header_btm {
      order: 1;
      width: 100%;
      max-width: 100%;
      margin: 0 0 30px; }
      .header_box .header_btm ul {
        border-top: 1px solid #B2B2B2;
        display: block; }
        .header_box .header_btm ul:before {
          display: none; }
      .header_box .header_btm li {
        text-align: left;
        position: relative;
        border-bottom: 1px solid #B2B2B2; }
        .header_box .header_btm li.toggle_none {
          display: block; }
        .header_box .header_btm li:before {
          display: none; }
        .header_box .header_btm li span,
        .header_box .header_btm li > a {
          color: #000;
          padding: 20px 20px;
          display: block;
          width: 100%;
          text-decoration: none;
          font: 1.6rem/1em "Noto Sans JP", sans-serif;
          font-weight: 400;
          letter-spacing: 0.05em;
          position: relative;
          cursor: pointer; }
          .header_box .header_btm li span:hover,
          .header_box .header_btm li > a:hover {
            text-decoration: none !important; }
        .header_box .header_btm li span {
          position: relative; }
          .header_box .header_btm li span:before {
            transition: .3s;
            position: absolute;
            content: "";
            display: block;
            background: url("../images/common/arrow_,menu.svg") center center no-repeat;
            width: 12px;
            height: 100%;
            top: 0;
            right: 15px; }
          .header_box .header_btm li span.open:before {
            transform: rotate(-180deg); }
    .header_box .dropdown-content,
    .header_box .header_btm li.active .dropdown-content,
    .header_box .header_btm li:not(.active) .dropdown-content,
    .header_box .header_btm li.active .dropdown-content.archive_box,
    .header_box .header_btm li.active .dropdown-content.report_box {
      position: relative;
      top: auto;
      right: auto;
      width: 100%;
      opacity: 1;
      visibility: visible;
      max-height: 100% !important;
      pointer-events: all;
      z-index: 10;
      background: #F6F6F4;
      transition: 0;
      display: none;
      padding: 0 20px 10px; }
    .header_box .archive01,
    .header_box .archive02,
    .header_box .archive03,
    .header_box .header_btm li.active .archive01,
    .header_box .header_btm li.active .archive02,
    .header_box .header_btm li.active .archive03,
    .header_box .header_btm li:not(.active) .archive03,
    .header_box .header_btm li:not(.active) .archive02,
    .header_box .header_btm li:not(.active) .archive01 {
      background-color: #F6F6F4;
      color: #000;
      display: block;
      text-decoration: none;
      font: 1.5rem/43px "Noto Sans JP", sans-serif;
      height: 45px;
      font-weight: 400;
      letter-spacing: 0.05em;
      text-align: left;
      padding: 0 0 0 1.5rem;
      opacity: 1;
      transform: none;
      position: relative; }
      .header_box .archive01:before,
      .header_box .archive02:before,
      .header_box .archive03:before,
      .header_box .header_btm li.active .archive01:before,
      .header_box .header_btm li.active .archive02:before,
      .header_box .header_btm li.active .archive03:before,
      .header_box .header_btm li:not(.active) .archive03:before,
      .header_box .header_btm li:not(.active) .archive02:before,
      .header_box .header_btm li:not(.active) .archive01:before {
        position: absolute;
        content: "・";
        left: 0; } }
/*max-width:768px*/
@media (max-width: 1024px) {
  .header_box {
    padding: 30px 60px 50%; } }
/*max-width:480px*/
@media (max-width: 768px) {
  .header_box {
    padding: 30px 50px 50%; }
    .header_box.active {
      top: 95px; } }
/*max-width:480px*/
@media (max-width: 480px) {
  .header_box {
    padding: 30px 20px 140px; } }
/*max-width:480px*/
/*************************************/
.toggle {
  display: none; }

@media (max-width: 1280px) {
  .toggle {
    display: block;
    position: absolute;
    width: 40px;
    height: 70px;
    top: 40px;
    right: 80px;
    z-index: 9999;
    transition: .3s; }
    .toggle span {
      width: 40px;
      height: 1px;
      background: #707070;
      display: block;
      position: relative;
      transition: .3s; }
      .toggle span:nth-of-type(1) {
        top: 35%;
        left: 50%;
        transform: translate(-50%, -50%); }
      .toggle span:nth-of-type(2) {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
      .toggle span:nth-of-type(3) {
        top: 65%;
        left: 50%;
        transform: translate(-50%, -50%); }
    .toggle.active span:nth-of-type(1) {
      top: 50%;
      transform: translate(-50%, -50%) rotate(-45deg); }
    .toggle.active span:nth-of-type(2) {
      opacity: 0; }
    .toggle.active span:nth-of-type(3) {
      top: 50%;
      transform: translate(-50%, -50%) rotate(45deg); }

  .active .toggle {
    top: 35px; }

  .menu_active .toggle {
    top: 10px; } }
/*max-width:768px*/
@media (max-width: 1024px) {
  .toggle {
    right: 60px; } }
@media (max-width: 768px) {
  .toggle {
    right: 50px;
    top: 30px; }

  .active .toggle,
  .menu_active .toggle {
    top: 10px; } }
@media (max-width: 480px) {
  .toggle {
    top: 25px;
    right: 20px; } }
/*max-width:480px*/
/*************************************/
/*************************************/
footer {
  background: url("../images/common/footer.jpg") center top no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 648px; }

/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  footer {
    background: url("../images/common/footer.jpg") center center no-repeat;
    background-size: cover;
    width: 100%;
    min-height: 500px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  footer {
    background: url("../images/common/footer_sp.jpg") center center no-repeat;
    background-size: cover;
    width: 100%;
    min-height: 480px; } }
/*max-width:480px*/
/*************************************/
.footer_box {
  max-width: 1720px;
  width: calc(100% - 200px);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start;
  padding: 90px 0 80px; }

@media (max-width: 1280px) {
  .footer_box {
    width: calc(100% - 160px); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .footer_box {
    padding: 80px 0 0;
    width: calc(100% - 120px); } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .footer_box {
    padding: 80px 0 50px;
    width: calc(100% - 100px); } }
/*max-width:768px*/
@media (max-width: 480px) {
  .footer_box {
    padding: 140px 0 50px;
    width: calc(100% - 60px); } }
/*max-width:480px*/
/*************************************/
.footer_right {
  width: calc(100% - 560px);
  max-width: 480px;
  padding: 75px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start; }
  .footer_right ul:nth-of-type(1) {
    padding: 0 15px 0 0; }
  .footer_right li {
    margin: 0 0 35px; }
    .footer_right li a.top,
    .footer_right li span {
      color: #CBDEE5;
      font: 1.6rem/1em "Noto Sans JP", sans-serif;
      font-weight: 400;
      letter-spacing: 0.08em;
      padding: 0 0 0 20px;
      border-left: 2px solid #CBDEE5;
      margin: 0 0 17px;
      display: block; }
    .footer_right li a {
      width: fit-content;
      display: block;
      text-decoration: none;
      margin: 0 0 17px 20px;
      color: #CBDEE5;
      font: 1.6rem/1em "Noto Sans JP", sans-serif;
      font-weight: 400;
      letter-spacing: 0.08em; }

@media (hover: hover) {
  .footer_right li a:hover {
    color: #ffffff; } }
@media (max-width: 1280px) {
  .footer_right {
    width: calc(100% - 430px);
    max-width: 480px;
    padding: 75px 0 0; }
    .footer_right li {
      margin: 0 0 35px; }
      .footer_right li a.top,
      .footer_right li span {
        padding: 0 0 0 15px; }
      .footer_right li a {
        margin: 0 0 17px 15px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .footer_right {
    width: calc(100% - 425px);
    max-width: 240px;
    padding: 22px 0 0;
    display: block; }
    .footer_right ul {
      padding: 0 !important; }
    .footer_right li {
      margin: 0 0 35px; }
      .footer_right li a.top,
      .footer_right li span {
        padding: 0 0 0 15px; }
      .footer_right li a {
        margin: 0 0 17px 15px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .footer_right {
    display: none; } }
/*max-width:768px*/
/*max-width:480px*/
/*************************************/
.footer_left .footer_ttl {
  background: url("../images/common/footer_pc.svg") center center no-repeat;
  background-size: contain;
  width: 245px;
  height: 261px;
  display: block;
  margin: 0 0 45px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap; }
.footer_left address {
  color: #fff;
  font: 1.6rem/1.8em "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin: 0 0 15px;
  display: block; }
  .footer_left address span {
    margin: 0 16px 0 0; }
  .footer_left address br {
    display: none; }
.footer_left .tel {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  align-items: flex-start; }
  .footer_left .tel dd {
    letter-spacing: 0.1em; }
  .footer_left .tel a {
    font: 2.5rem/1em "Noto Sans JP", sans-serif;
    font-weight: 500;
    text-decoration: none; }
  .footer_left .tel .universe {
    margin: 0 0 8px;
    display: block;
    font: 1.7rem/1.8em "Noto Sans JP", sans-serif;
    font-weight: 500; }
  .footer_left .tel small {
    margin: 8px 0 0;
    display: block;
    font: 1.5rem/1.8em "Noto Sans JP", sans-serif;
    font-weight: 400; }
  .footer_left .tel dt {
    text-align: center;
    display: block;
    margin: 0 20px 0 0;
    font: 1.6rem/40px "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em;
    border: 1px solid #fff;
    width: 110px;
    height: 42px; }

@media (max-width: 1280px) {
  .footer_left address br {
    display: block; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .footer_left .footer_ttl {
    width: 190px;
    height: 205px;
    margin: 0 0 35px; }
  .footer_left address br {
    display: block; }
  .footer_left .tel {
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start; }
    .footer_left .tel dd {
      letter-spacing: 0.1em; }
    .footer_left .tel a {
      font: 2.5rem/1em "Noto Sans JP", sans-serif;
      font-weight: 500;
      text-decoration: none; }
    .footer_left .tel .universe {
      margin: 0 0 8px;
      display: block;
      font: 1.7rem/1.8em "Noto Sans JP", sans-serif;
      font-weight: 500; }
    .footer_left .tel small {
      margin: 8px 0 0;
      display: block;
      font: 1.5rem/1.8em "Noto Sans JP", sans-serif;
      font-weight: 400; }
    .footer_left .tel dt {
      text-align: center;
      display: block;
      margin: 0 20px 0 0;
      font: 1.6rem/40px "Noto Sans JP", sans-serif;
      font-weight: 400;
      letter-spacing: 0.05em;
      border: 1px solid #fff;
      width: 110px;
      height: 42px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .footer_left {
    width: 100%;
    padding: 0; }
    .footer_left .footer_ttl {
      background: url("../images/common/footer_tb.svg") center center no-repeat;
      background-size: contain;
      width: 307px;
      height: 129px;
      margin: 0 0 35px; }
    .footer_left address {
      color: #fff;
      font: 1.6rem/1.8em "Noto Sans JP", sans-serif;
      font-weight: 400;
      letter-spacing: 0.05em;
      margin: 0 0 15px;
      display: block; }
      .footer_left address span {
        margin: 0 16px 0 0; }
      .footer_left address br {
        display: block; }
    .footer_left .tel dd {
      letter-spacing: 0.1em;
      width: calc(100% - 120px); }
    .footer_left .tel small {
      font: 1.4rem/1.8em "Noto Sans JP", sans-serif;
      font-weight: 400; }
    .footer_left .tel dt {
      font: 1.5rem/40px "Noto Sans JP", sans-serif;
      font-weight: 400;
      width: 100px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .footer_left {
    width: 100%;
    padding: 0; }
    .footer_left .footer_ttl {
      background: url("../images/common/footer_sp.svg") center center no-repeat;
      background-size: contain;
      width: 283px;
      height: 122px;
      margin: 0 0 35px; }
    .footer_left address {
      color: #fff;
      font: 1.4rem/1.8em "Noto Sans JP", sans-serif;
      font-weight: 400;
      letter-spacing: 0.05em;
      margin: 0 0 15px;
      display: block; }
      .footer_left address span {
        margin: 0 12px 0 0; }
      .footer_left address br {
        display: block; }
    .footer_left .tel dd {
      letter-spacing: 0.1em;
      width: 100%;
      margin: 8px 0 0 0; }
    .footer_left .tel small {
      font: 1.4rem/1.8em "Noto Sans JP", sans-serif;
      font-weight: 400; }
    .footer_left .tel dt {
      height: 35px;
      font: 1.5rem/32px "Noto Sans JP", sans-serif;
      font-weight: 400;
      width: 100px; } }
/*max-width:480px*/
/*************************************/
.footer_btm {
  max-width: 1720px;
  width: calc(100% - 200px);
  margin: 0 auto;
  padding: 0 0 80px;
  color: #fff;
  font: 1.4rem/1em "Noto Sans JP", sans-serif;
  font-weight: 300;
  letter-spacing: 0.05em;
  position: relative; }

@media (max-width: 1280px) {
  .footer_btm {
    width: calc(100% - 160px); }
    .footer_btm img {
      right: -40px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .footer_btm {
    width: calc(100% - 120px);
    padding: 0;
    margin: -40px auto 0; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .footer_btm {
    width: calc(100% - 100px);
    padding: 0;
    margin: 0 auto; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .footer_btm {
    width: calc(100% - 60px);
    padding: 0 0 50px; } }
/*max-width:480px*/
/*************************************/
#page-top {
  bottom: 30px;
  position: fixed;
  right: 20px;
  display: block;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 1px solid #707070;
  z-index: 8888;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  /* opacity のみアニメーション */
  background-color: #F6F6F4;
  text-align: center;
  font: 1.5rem/130px cardo, serif;
  font-weight: 400;
  letter-spacing: 0.05em; }
  #page-top:before {
    transition: .3s;
    position: absolute;
    content: "";
    display: block;
    width: 14px;
    height: 25px;
    background-image: url("../images/common/arrow_top.svg");
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    top: 35%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    /* Safari用 */
    transform: translate(-50%, -50%); }

#page-top.active {
  opacity: 1;
  pointer-events: all; }

@media (hover: hover) {
  #page-top:hover {
    cursor: pointer; }
    #page-top:hover:before {
      top: 30%; } }
@media (max-width: 768px) {
  #page-top {
    right: 10px;
    width: 60px;
    height: 60px;
    font: 1.2rem/75px cardo, serif;
    font-weight: 400; }
    #page-top:before {
      width: 8px;
      height: 15px; } }
@media (max-width: 768px) and (hover: hover) {
  #page-top:hover {
    background-position: center top 8px; } }
/*max-width:768px*/
/*max-width:480px*/
/*************************************/
.bread {
  max-width: 1720px;
  width: calc(100% - 200px);
  margin: 0 auto 50px;
  padding: 10px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  align-items: flex-start;
  font: 1.3rem/1.5em "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.06em; }
  .bread a {
    padding: 0 30px 0 0;
    text-decoration: none;
    position: relative; }
    .bread a:before {
      position: absolute;
      content: "";
      top: 6px;
      right: 15px;
      width: 6px;
      height: 6px;
      border-top: 1px solid #1E1E1E;
      border-right: 1px solid #1E1E1E;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }

@media (max-width: 1280px) {
  .bread {
    width: calc(100% - 160px); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .bread {
    width: calc(100% - 120px); } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .bread {
    width: calc(100% - 100px); } }
/*max-width:768px*/
@media (max-width: 480px) {
  .bread {
    max-width: 315px;
    margin: 0 auto 40px;
    font: 1.1rem/1.5em "Noto Sans JP", sans-serif;
    width: calc(100% - 60px); } }
/*max-width:480px*/
@media (hover: hover) {
  .bread a:hover {
    color: #0D5068; } }
/***************************************/
.pagination {
  max-width: 300px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: center; }
  .pagination a, .pagination span {
    font: 1.6rem/1em "Noto Serif JP", serif;
    font-weight: 400;
    display: block;
    text-align: center;
    line-height: 30px;
    margin: 3px;
    color: #1B1B1B; }
  .pagination a:hover {
    opacity: 0.5s; }
  .pagination a {
    text-decoration: none; }
  .pagination span {
    text-decoration: underline; }
    .pagination span.dots {
      text-decoration: none; }

@media (max-width: 480px) {
  .pagination {
    max-width: 280px;
    margin: 0 auto 60px; } }
/*max-width:480px*/
