@charset "UTF-8";
.page p, .page span, .page a, .page h2, .page h3 {
  line-height: 1.5;
}
.page a {
  display: block;
  -webkit-transition: all 0.3s ease-in 0s;
  transition: all 0.3s ease-in 0s;
}
.page a:hover {
  opacity: 0.6;
}
.page img {
  max-width: 100%;
  height: auto;
}
.page div, .page span, .page applet, .page object, .page iframe,
.page h1, .page h2, .page h3, .page h4, .page h5, .page h6, .page p,
.page blockquote, .page pre, .page a, .page abbr, .page acronym, .page address,
.page big, .page cite, .page code, .page del, .page dfn, .page em, .page img, .page ins, .page kbd, .page q, .page s, .page samp, .page small, .page strike, .page strong, .page sub, .page sup, .page tt, .page var, .page b, .page u, .page i, .page center,
.page dl, .page dt, .page dd, .page ol, .page ul, .page li,
.page fieldset, .page form, .page label, .page legend,
.page table, .page caption, .page tbody, .page tfoot, .page thead, .page tr, .page th, .page td,
.page article, .page aside, .page canvas, .page details, .page embed, .page figure, .page figcaption, .page footer, .page header, .page hgroup,
.page menu, .page nav, .page output, .page ruby, .page section, .page summary, .page time, .page mark, .page audio, .page video, .page picture {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.page article, .page aside, .page details, .page figcaption, .page figure, .page footer, .page header, .page hgroup, .page menu, .page nav, .page section, .page summary, .page picture {
  display: block;
}
.page *, .page *:before, .page *:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.page button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.l-wrap {
  overflow: initial;
}

@media screen and (min-width: 769px) {
  .view--pc {
    display: block;
  }
  .view--sp {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .view--pc {
    display: none !important;
  }
  .view--sp {
    display: block !important;
  }
}
.pane-main {
  margin: 0 !important;
  padding: 0 !important;
}

.page {
  font-family: "Shippori Mincho", serif;
}
.page .kv {
  background-image: url("/ec/img/usr/pg/campaign/formal-guide/kv_pc.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  aspect-ratio: 3.16/1;
}
@media screen and (max-width: 768px) {
  .page .kv {
    background-image: url("/ec/img/usr/pg/campaign/formal-guide/kv_sp.png");
    aspect-ratio: 192/341;
  }
}
.page .kv-text {
  padding-top: 100px;
}
@media screen and (max-width: 768px) {
  .page .kv-text {
    padding-top: 20.8vw;
    max-width: 89.6vw;
    margin: 0 auto;
  }
}
.page .kv-text img {
  max-width: 591px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .kv-text img {
    max-width: 84.4vw;
  }
}
.page .kv-text p {
  font-size: 16px;
  text-align: center;
  line-height: 2;
  color: #616161;
  margin-top: 36px;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .page .kv-text p {
    font-size: 3.6vw;
    margin-top: 6.3vw;
  }
}
.page .kv-tab {
  max-width: 880px;
  margin: 60px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 90px;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .page .kv-tab {
    max-width: 89.6vw;
    margin-top: 7.8vw;
    gap: 2.6vw;
    padding-bottom: 28.6vw;
  }
}
.page .kv-tab a {
  width: 180px;
  background-color: #fff;
  border-radius: 30px;
  font-size: 12px;
  padding: 7px 0;
  color: #95A7B9;
  padding-left: 20px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .kv-tab a {
    width: 43.5vw;
    border-radius: 7.8vw;
    font-size: 2.9vw;
    padding: 2vw 0;
    padding-left: 4.2vw;
  }
}
.page .kv-tab a::after {
  content: "↓";
  display: inline-block;
  position: absolute;
  top: 23%;
  right: 20px;
}
@media screen and (max-width: 768px) {
  .page .kv-tab a::after {
    right: 2.1vw;
  }
}
.page .kv-bottom {
  max-width: 100%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .kv-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.page .kv-bottom-link {
  position: absolute;
  bottom: 17%;
  width: 100%;
}
.page .kv-bottom-link a {
  max-width: 291px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .kv-bottom-left {
    max-width: 100%;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .page .kv-bottom-text {
    padding: 0 5.2vw;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .page .kv-bottom-text h2 {
    font-size: 6.8vw;
    margin-top: 15.6vw;
    text-align: center;
    color: #616161;
  }
}
@media screen and (max-width: 768px) {
  .page .kv-bottom-text p {
    font-size: 3.6vw;
    margin-top: 5.2vw;
    line-height: 2;
    color: #616161;
  }
}
.page .kv-bottom-text a {
  font-size: 20px;
  color: #616161;
  margin-top: 30px;
  position: relative;
  max-width: 291px;
  margin: 0 auto;
  text-align: center;
  padding-left: 26px;
  margin-top: 30px;
  -webkit-text-decoration: underline #616161 1px;
          text-decoration: underline #616161 1px;
}
@media screen and (max-width: 768px) {
  .page .kv-bottom-text a {
    font-size: 4.7vw;
    margin: 6.3vw auto 18.2vw;
    max-width: 67.7vw;
    padding-left: 10.7vw;
  }
}
.page .kv-bottom-text a::before {
  content: "";
  background-image: url("/ec/img/usr/pg/campaign/formal-guide/link_btn.png");
  background-repeat: no-repeat;
  background-size: cover;
  width: 34px;
  height: 34px;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .page .kv-bottom-text a::before {
    width: 8.3vw;
    height: 8.3vw;
  }
}
.page .kv-bottom-right {
  max-width: 668px;
  width: 35%;
}
@media screen and (max-width: 768px) {
  .page .kv-bottom-right {
    max-width: 100%;
    width: 100%;
  }
}
.page .scene {
  max-width: 100%;
  background-color: #F4F7FA;
  padding: 80px 0 120px;
}
@media screen and (max-width: 768px) {
  .page .scene {
    padding: 20.8vw 0 26vw;
  }
}
.page .scene-top-text {
  max-width: 129px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .scene-top-text {
    max-width: 28.1vw;
  }
}
.page .scene-top p {
  font-size: 32px;
  color: #616161;
  text-align: center;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .page .scene-top p {
    font-size: 6.8vw;
    margin-top: 3.1vw;
  }
}
.page .scene-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 40px;
  color: #616161;
}
@media screen and (max-width: 768px) {
  .page .scene-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.2vw;
    margin-top: 10.4vw;
  }
}
.page .scene-content-item {
  max-width: 288px;
  background-color: #fff;
  padding: 30px 20px;
}
@media screen and (max-width: 768px) {
  .page .scene-content-item {
    max-width: 89.6vw;
    padding: 5.2vw 7.8vw;
    margin: 0 auto;
  }
}
.page .scene-content-item .mark {
  max-width: 100px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .scene-content-item .mark {
    max-width: 26vw;
  }
}
.page .scene-content-item .scene-title {
  text-align: center;
  font-size: 22px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .page .scene-content-item .scene-title {
    font-size: 5.2vw;
    margin-top: 4.2vw;
  }
}
.page .scene-content-item .scene-text {
  font-size: 16px;
  margin: 12px auto 40px;
}
@media screen and (max-width: 768px) {
  .page .scene-content-item .scene-text {
    font-size: 3.6vw;
    margin: 2.1vw auto 6.3vw;
  }
}
.page .scene-content-item .scene-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .page .scene-content-item .scene-flex {
    gap: 4.2vw;
  }
}
.page .scene-content-item .scene-flex .scene-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .page .scene-content-item .scene-flex .scene-link {
    gap: 2.1vw;
  }
}
.page .scene-content-item .scene-flex .scene-link-btn {
  width: 38px;
  height: 38px;
}
@media screen and (max-width: 768px) {
  .page .scene-content-item .scene-flex .scene-link-btn {
    width: 8.9vw;
    height: 8.9vw;
  }
}
.page .scene-content-item .scene-flex .scene-link-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.6px;
}
@media screen and (max-width: 768px) {
  .page .scene-content-item .scene-flex .scene-link-text {
    gap: 0.7vw;
  }
}
.page .scene-content-item .scene-flex .scene-link-text img {
  max-width: 61px;
}
@media screen and (max-width: 768px) {
  .page .scene-content-item .scene-flex .scene-link-text img {
    max-width: 14.3vw;
  }
}
.page .scene-content-item .scene-flex .scene-link-text a {
  font-size: 15px;
  -webkit-text-decoration: underline #616161 1px;
          text-decoration: underline #616161 1px;
}
@media screen and (max-width: 768px) {
  .page .scene-content-item .scene-flex .scene-link-text a {
    font-size: 3.4vw;
  }
}
.page .feature {
  max-width: 100%;
  padding: 81px 0 120px;
  color: #616161;
}
@media screen and (max-width: 768px) {
  .page .feature {
    padding: 20.8vw 0 26vw;
  }
}
.page .feature-top-text {
  max-width: 150px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .feature-top-text {
    max-width: 32.8vw;
  }
}
.page .feature-top p {
  font-size: 32px;
  text-align: center;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .page .feature-top p {
    font-size: 6.8vw;
    margin-top: 3.1vw;
  }
}
.page .feature-recommend {
  max-width: 888px;
  margin: 40px auto 0;
  border: #95A7B9 solid 1px;
  border-radius: 30px;
  padding: 0 30px;
}
@media screen and (max-width: 768px) {
  .page .feature-recommend {
    max-width: 89.6vw;
    margin-top: 10.4vw;
    border-radius: 2.7vw;
    padding: 0 5.2vw;
  }
}
.page .feature-recommend-title {
  font-size: 22px;
  text-align: center;
  margin-top: 16px;
}
@incluide mq() {
  .page .feature-recommend-title {
    font-size: 5.2vw;
    margin-top: 4.2vw;
  }
}
.page .feature-recommend-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: #95A7B9 1px solid;
  margin: 10px auto 30px;
  padding-top: 24px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .page .feature-recommend-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 2.6vw auto 7.8vw;
    padding-top: 6.3vw;
    gap: 5.2vw;
  }
}
.page .feature-recommend-flex-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  max-width: 390px;
}
@media screen and (max-width: 768px) {
  .page .feature-recommend-flex-item {
    gap: 3.1vw;
    max-width: 79.2vw;
  }
}
.page .feature-recommend-flex-item a {
  max-width: 168px;
}
@media screen and (max-width: 768px) {
  .page .feature-recommend-flex-item a {
    max-width: 41.7vw;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.page .feature-recommend-flex-item .feature-recommend-text .recommend-text-top {
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .page .feature-recommend-flex-item .feature-recommend-text .recommend-text-top {
    font-size: 3.6vw;
  }
}
.page .feature-recommend-flex-item .feature-recommend-text .recommend-text-center {
  font-size: 12px;
  font-family: "Noto Sans JP", sans-serif;
  margin: 6px 0;
}
@media screen and (max-width: 768px) {
  .page .feature-recommend-flex-item .feature-recommend-text .recommend-text-center {
    font-size: 2.9vw;
    margin: 1.6vw 0;
  }
}
.page .feature-recommend-flex-item .feature-recommend-text .recommend-tag {
  width: 64px;
  background-color: #E0F4F4;
  border-radius: 30px;
  color: #42A7A7;
  font-size: 11px;
  text-align: center;
  padding: 2px 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 11px;
}
@media screen and (max-width: 768px) {
  .page .feature-recommend-flex-item .feature-recommend-text .recommend-tag {
    font-size: 2.9vw;
    width: 16.7vw;
  }
}
.page .feature-flex {
  max-width: 1200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 60px auto 0;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 60px 96px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .page .feature-flex {
    max-width: 89.6vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 15.6vw;
    gap: 15.6vw;
  }
}
.page .feature-flex-mens {
  max-width: 552px;
}
@media screen and (max-width: 768px) {
  .page .feature-flex-mens {
    max-width: 89.6vw;
  }
}
.page .feature-flex-mens-top {
  max-width: 552px;
}
@media screen and (max-width: 768px) {
  .page .feature-flex-mens-top {
    max-width: 89.6vw;
  }
}
.page .feature-flex-mens-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px 24px;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .page .feature-flex-mens-content {
    gap: 5.2vw 6.3vw;
    margin-top: 5.2vw;
  }
}
.page .feature-flex-ladies {
  max-width: 552px;
}
@media screen and (max-width: 768px) {
  .page .feature-flex-ladies {
    max-width: 89.6vw;
  }
}
.page .feature-flex-ladies-top {
  max-width: 552px;
}
@media screen and (max-width: 768px) {
  .page .feature-flex-ladies-top {
    max-width: 89.6vw;
  }
}
.page .feature-flex-ladies-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px 24px;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .page .feature-flex-ladies-content {
    gap: 5.2vw 6.3vw;
    margin-top: 5.2vw;
  }
}
.page .feature-flex-rental {
  max-width: 552px;
}
@media screen and (max-width: 768px) {
  .page .feature-flex-rental {
    max-width: 89.6vw;
  }
}
.page .feature-flex-rental-top {
  max-width: 552px;
}
@media screen and (max-width: 768px) {
  .page .feature-flex-rental-top {
    max-width: 89.6vw;
  }
}
.page .feature-flex-rental-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px 24px;
  margin-top: 30px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .page .feature-flex-rental-content {
    gap: 5.2vw 6.3vw;
    margin-top: 5.2vw;
  }
}
.page .feature-flex .bnr-set {
  max-width: 168px;
}
@media screen and (max-width: 768px) {
  .page .feature-flex .bnr-set {
    max-width: 40.6vw;
  }
}
.page .feature-flex .bnr-set-title {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: -0.01em;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .page .feature-flex .bnr-set-title {
    font-size: 3.6vw;
    margin-bottom: 2.1vw;
  }
}
.page .feature-flex .bnr-set-text {
  font-size: 12px;
  font-family: "Noto Sans JP", sans-serif;
  margin: 6px 0;
}
@media screen and (max-width: 768px) {
  .page .feature-flex .bnr-set-text {
    font-size: 2.9vw;
    margin: 1.6vw 0;
  }
}
.page .feature-flex .bnr-set .tag-green {
  width: 64px;
  background-color: #E0F4F4;
  border-radius: 30px;
  color: #42A7A7;
  font-size: 11px;
  text-align: center;
  padding: 2px 0;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .page .feature-flex .bnr-set .tag-green {
    width: 16.7vw;
    border-radius: 7.8vw;
    font-size: 2.9vw;
    padding: 0.5vw;
  }
}
.page .feature-flex .bnr-set .tag-orange {
  width: 64px;
  background-color: #F5EAD4;
  border-radius: 30px;
  color: #A86D43;
  font-size: 11px;
  text-align: center;
  padding: 2px 0;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .page .feature-flex .bnr-set .tag-orange {
    width: 16.7vw;
    border-radius: 7.8vw;
    font-size: 2.9vw;
    padding: 0.5vw;
  }
}
.page .feature-flex .bnr-set .tag-gray {
  width: 64px;
  background-color: #E6EDF6;
  border-radius: 30px;
  color: #95A7B9;
  font-size: 11px;
  text-align: center;
  padding: 2px 0;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .page .feature-flex .bnr-set .tag-gray {
    width: 16.7vw;
    border-radius: 7.8vw;
    font-size: 2.9vw;
    padding: 0.5vw;
  }
}
.page .keyword {
  max-width: 100%;
  background-color: #E6EDF6;
  padding: 80px 0 120px;
  color: #616161;
}
@media screen and (max-width: 768px) {
  .page .keyword {
    padding: 20.8vw 0 26vw;
  }
}
.page .keyword-top-text {
  max-width: 163px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .keyword-top-text {
    max-width: 35.7vw;
  }
}
.page .keyword-top p {
  font-size: 32px;
  margin-top: 16px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .keyword-top p {
    font-size: 6.8vw;
    margin-top: 3.1vw;
  }
}
.page .keyword-list {
  max-width: 1200px;
  margin: 40px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .page .keyword-list {
    max-width: 99vw;
    margin-top: 10.4vw;
    gap: 2.6vw 2.1vw;
  }
}
.page .keyword-list a {
  background-color: #fff;
  border-radius: 30px;
  border: #95A7B9 1px solid;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 7px 19px;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .page .keyword-list a {
    border-radius: 7.8vw;
    padding: 1.6vw 3.6vw;
    font-size: 2.9vw;
  }
}
.page .keyword-list a span {
  width: 64px;
  background-color: #E0F4F4;
  border-radius: 30px;
  color: #42A7A7;
  font-size: 11px;
  text-align: center;
  padding: 2px 0;
  font-family: "Noto Sans JP", sans-serif;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .page .keyword-list a span {
    width: 15.6vw;
    border-radius: 7.8vw;
    font-size: 2.6vw;
    padding: 0.5vw;
  }
}
.page .category {
  max-width: 100%;
  background-color: #F4F7FA;
  padding: 80px 0 120px;
  color: #616161;
}
@media screen and (max-width: 768px) {
  .page .category {
    padding: 20.8vw 0 26vw;
  }
}
.page .category-top-text {
  max-width: 160px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .category-top-text {
    max-width: 35.2vw;
  }
}
.page .category-top p {
  font-size: 32px;
  text-align: center;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .page .category-top p {
    font-size: 6.8vw;
    margin-top: 3.1vw;
  }
}
.page .category-flex {
  max-width: 1200px;
  margin: 40px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .page .category-flex {
    max-width: 89.6vw;
    margin-top: 10.4vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 15.6vw;
  }
}
.page .category-flex-item {
  max-width: 552px;
}
@media screen and (max-width: 768px) {
  .page .category-flex-item {
    max-width: 89.6vw;
  }
}
.page .category-flex-item-all {
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  font-size: 16px;
  margin: 30px auto;
  text-align: center;
  padding-left: 30px;
  position: relative;
  -webkit-text-decoration: underline #616161 1px;
          text-decoration: underline #616161 1px;
}
@media screen and (max-width: 768px) {
  .page .category-flex-item-all {
    font-size: 3.6vw;
    margin: 5.2vw auto;
    padding-left: 8.1vw;
  }
}
.page .category-flex-item-all::before {
  content: "";
  background-image: url("/ec/img/usr/pg/campaign/formal-guide/link_btn.png");
  background-repeat: no-repeat;
  background-size: cover;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .page .category-flex-item-all::before {
    width: 5.7vw;
    height: 5.7vw;
  }
}
.page .category-flex-item-set {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .page .category-flex-item-set {
    gap: 6.3vw;
  }
}
.page .category-flex-item-set .category-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  width: 256px;
}
@media screen and (max-width: 768px) {
  .page .category-flex-item-set .category-group {
    gap: 5.2vw;
    width: 41.7vw;
  }
}
.page .category-flex-item-set .category-group-content p {
  font-size: 12px;
  background-color: #95A7B9;
  width: 166px;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  padding: 3px 0;
  padding-left: 10px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .category-flex-item-set .category-group-content p {
    font-size: 2.9vw;
    width: 38.5vw;
    padding: 0.7vw 0;
    padding-left: 2.6vw;
  }
}
.page .category-flex-item-set .category-group-content p::after {
  content: "";
  position: absolute;
  top: 0;
  right: -12px;
  width: 0;
  height: 0;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 12px solid #95A7B9;
}
@media screen and (max-width: 768px) {
  .page .category-flex-item-set .category-group-content p::after {
    border-top: 3.1vw solid transparent;
    border-bottom: 3.1vw solid transparent;
    border-left: 12px solid #95A7B9;
  }
}
.page .category-flex-item-set .category-group-content a {
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  font-size: 16px;
  margin-top: 8px;
  padding-left: 30px;
  position: relative;
  -webkit-text-decoration: underline #616161 1px;
          text-decoration: underline #616161 1px;
}
@media screen and (max-width: 768px) {
  .page .category-flex-item-set .category-group-content a {
    font-size: 3.6vw;
    margin-top: 2.1vw;
    padding-left: 8.1vw;
  }
}
.page .category-flex-item-set .category-group-content a::before {
  content: "";
  background-image: url("/ec/img/usr/pg/campaign/formal-guide/link_btn.png");
  background-repeat: no-repeat;
  background-size: cover;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .page .category-flex-item-set .category-group-content a::before {
    width: 5.7vw;
    height: 5.7vw;
  }
}
.page .topic {
  max-width: 100%;
  padding: 80px 0 120px;
  color: #616161;
}
@media screen and (max-width: 768px) {
  .page .topic {
    padding: 20.8vw 0 26vw;
  }
}
.page .topic-top-text {
  max-width: 129px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .topic-top-text {
    max-width: 28.1vw;
  }
}
.page .topic-top p {
  font-size: 32px;
  margin-top: 16px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .topic-top p {
    font-size: 6.8vw;
    margin-top: 3.1vw;
  }
}
.page .topic .aoyama-journal {
  max-width: 180px;
  display: block;
  margin: 40px auto 0;
}
@media screen and (max-width: 768px) {
  .page .topic .aoyama-journal {
    max-width: 41.7vw;
    margin-top: 10.4vw;
  }
}
.page .topic-content {
  max-width: 980px;
  margin: 40px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 28px;
}
@media screen and (max-width: 768px) {
  .page .topic-content {
    max-width: 89.6vw;
    margin-top: 10.4vw;
    gap: 5.2vw 6.3vw;
  }
}
.page .topic-content-article {
  max-width: 224px;
}
@media screen and (max-width: 768px) {
  .page .topic-content-article {
    max-width: 40.6vw;
  }
}
.page .topic-content-article .article-tag {
  font-size: 12px;
  background-color: #95A7B9;
  width: 120px;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  padding: 3px 0;
  padding-left: 10px;
  position: relative;
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .page .topic-content-article .article-tag {
    font-size: 2.9vw;
    width: 29.9vw;
    padding: 0.7vw 0;
    padding-left: 2.6vw;
    margin-top: 3.1vw;
  }
}
.page .topic-content-article .article-tag::after {
  content: "";
  position: absolute;
  top: 0;
  right: -12px;
  width: 0;
  height: 0;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 12px solid #95A7B9;
}
@media screen and (max-width: 768px) {
  .page .topic-content-article .article-tag::after {
    border-top: 3.1vw solid transparent;
    border-bottom: 3.1vw solid transparent;
    border-left: 12px solid #95A7B9;
  }
}
.page .topic-content-article .article-text {
  font-size: 16px;
  margin-top: 5px;
}
@media screen and (max-width: 768px) {
  .page .topic-content-article .article-text {
    font-size: 3.6vw;
    margin-top: 1.6vw;
  }
}
.page .online {
  max-width: 888px;
  margin: 0 auto 160px;
  color: #616161;
}
@media screen and (max-width: 768px) {
  .page .online {
    max-width: 89.6vw;
    margin-bottom: 36.5vw;
  }
}
.page .online-top-text {
  max-width: 205px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .online-top-text {
    max-width: 45.3vw;
  }
}
.page .online-top p {
  font-size: 32px;
  text-align: center;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .page .online-top p {
    font-size: 6.8vw;
    margin-top: 3.1vw;
  }
}
.page .online-text {
  font-size: 16px;
  text-align: center;
  margin-top: 40px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .page .online-text {
    font-size: 3.6vw;
    margin-top: 10.4vw;
  }
}
.page .online-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  margin: 30px auto 0;
}
@media screen and (max-width: 768px) {
  .page .online-btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5.2vw;
    margin-top: 7.8vw;
  }
}
.page .online-btn a {
  max-width: 280px;
}
@media screen and (max-width: 768px) {
  .page .online-btn a {
    max-width: 70.6vw;
    margin: 0 auto;
  }
}
.page .ribbon {
  max-width: 64px;
  display: block;
  margin: 16px auto 0;
}
@media screen and (max-width: 768px) {
  .page .ribbon {
    max-width: 16.7vw;
    margin-top: 3.1vw;
  }
}