/* CSS Document */
.header .page-logo {
  display: none;
}

.l-mv {
  padding: 20px 22px 20px 22px;
  position: relative;
}
@media screen and (max-width: 991px) {
  .l-mv .mv-menu {
    display: none;
  }
}
@media screen and (min-width: 992px) {
  .l-mv .mv-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    position: absolute;
    right: 10%;
    top: 50%;
  }
}
.l-mv .mv-menu li {
  margin-left: 30px;
}
@media screen and (max-width: 1023px) {
  .l-mv .mv-menu li {
    margin-left: 20px;
  }
}
.l-mv .mv-menu li a {
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  letter-spacing: 0.2em;
  font-size: 17px;
  line-height: 1.1;
  position: relative;
  font-size: clamp(12px, 1.1vw, 17px);
}
.l-mv .mv-menu li a::before {
  content: "";
  display: block;
  height: 0;
  width: 100%;
  background-color: #ff6b44;
  top: -2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
  position: absolute;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.l-mv .mv-menu li a:hover::before {
  height: calc(100% + 4px);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 576px) {
  .l-mv .bar-top {
    position: absolute;
    top: 38px;
    width: 1.6%;
    left: 25px;
  }
}
@media screen and (min-width: 992px) {
  .l-mv .bar-top {
    left: 65px;
  }
}
.l-mv .bar-bottom {
  margin-top: 26px;
}
@media screen and (min-width: 576px) {
  .l-mv .bar-bottom {
    top: 12px;
    right: 20px;
    width: 1.1%;
    position: absolute;
  }
}
@media screen and (min-width: 992px) {
  .l-mv .bar-bottom {
    right: 67px;
  }
}
.l-mv .logo {
  width: 136px;
  margin: 20px auto 0;
}
@media screen and (min-width: 576px) {
  .l-mv .logo {
    position: absolute;
    width: 18.4%;
    left: 10.4%;
    top: 49.4%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.l-mv__catch {
  max-width: 66.8%;
  margin: 0 auto;
  margin-top: 38px;
}
@media screen and (min-width: 576px) {
  .l-mv__catch {
    width: 29.9%;
    margin-top: 16px;
  }
}
.l-mv__txt {
  max-width: 57%;
  margin-left: auto;
  margin-top: -16px;
}
@media screen and (min-width: 576px) {
  .l-mv__txt {
    position: absolute;
    left: 10.5%;
    top: 66.5%;
    max-width: 18.4%;
  }
}
@media screen and (min-width: 992px) {
  .l-mv__txt {
    top: 59.5%;
  }
}

.p-topmenu {
  margin-top: 10px;
}
@media screen and (min-width: 992px) {
  .p-topmenu {
    margin-top: 30px;
  }
}
.p-topmenu__list li {
  border-top: 1px solid #d8d8d8;
  padding-top: 48px;
  padding-bottom: 50px;
}
@media screen and (min-width: 992px) {
  .p-topmenu__list li {
    padding-top: 120px;
    padding-bottom: 153px;
  }
}
@media screen and (min-width: 992px) {
  .p-topmenu__list li:nth-of-type(even) {
    padding-bottom: 120px;
  }
}
@media screen and (min-width: 992px) {
  .p-topmenu__list li:nth-of-type(even) .flex-wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media screen and (min-width: 992px) {
  .p-topmenu__list li:nth-of-type(3) {
    padding-bottom: 120px;
  }
}
@media screen and (min-width: 992px) {
  .p-topmenu__list li:nth-of-type(3) .img {
    width: 40.5%;
  }
}
@media screen and (min-width: 992px) {
  .p-topmenu__list li:nth-of-type(3) .txt-wrap {
    width: 55%;
  }
}
@media screen and (min-width: 992px) {
  .p-topmenu__list li .flex-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width: 992px) {
  .p-topmenu__list li .txt-wrap {
    width: 37.5%;
  }
}
.p-topmenu__list li .button {
  margin-top: 28px;
}
@media screen and (min-width: 992px) {
  .p-topmenu__list li .button {
    margin-top: 36px;
  }
}
.p-topmenu__list li .button:nth-of-type(2) {
  margin-top: 20px;
}
.p-topmenu__list li .img {
  margin-top: 30px;
}
@media screen and (min-width: 992px) {
  .p-topmenu__list li .img {
    margin-top: 0;
    width: 57.5%;
  }
}

.p-blog {
  background-color: #f4f4f4;
  padding-top: 45px;
  padding-bottom: 48px;
}
@media screen and (min-width: 992px) {
  .p-blog {
    padding-top: 175px;
    padding-bottom: 122px;
  }
}
@media screen and (min-width: 992px) {
  .p-blog .flex-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width: 992px) {
  .p-blog .flex-wrap .ttl-wrap {
    width: 55%;
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 992px) {
  .p-blog .flex-wrap .txt-wrap {
    width: 42.5%;
  }
}
.p-blog .button {
  margin-top: 16px;
}
@media screen and (min-width: 992px) {
  .p-blog .button {
    margin-top: 34px;
  }
}
.p-blog .button:nth-of-type(2) {
  margin-top: 20px;
}
.p-blog .list-blog {
  margin-top: 30px;
}
@media screen and (min-width: 992px) {
  .p-blog .list-blog {
    margin-top: 80px;
  }
}
.p-blog .list-blog li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-top: 1px solid #d8d8d8;
  color: #333333;
  padding: 10px 0;
}
@media screen and (min-width: 992px) {
  .p-blog .list-blog li a {
    padding: 34px 0;
  }
}
.p-blog .list-blog li a .post-date {
  display: block;
  width: 25%;
  line-height: 2.14285714;
  color: #ff6b45;
}
@media screen and (min-width: 992px) {
  .p-blog .list-blog li a .post-date {
    width: 12.8%;
  }
}
.p-blog .list-blog li a .post-ttl {
  line-height: 2.14285714;
  width: 75%;
}
@media screen and (min-width: 992px) {
  .p-blog .list-blog li a .post-ttl {
    width: 87.2%;
  }
}
.p-blog .list-blog li:last-of-type a {
  border-bottom: 1px solid #d8d8d8;
}