@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=Noto+Sans+SC:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");

@media screen and (max-width: 768px) {
  main{
    line-height: 0!important;
  }
}
.page p, .page span, .page a, .page h2, .page h3 {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  letter-spacing: normal;
}

.page a {
  display: block;
  -webkit-transition: all 0.3s ease-in 0s;
  transition: all 0.3s ease-in 0s;
  transition: all 0.3s ease-in 0s;
  letter-spacing: normal;
}

.page a:focus,
.page a:hover,
.page a:active {
  text-decoration: none!important;
}

.page a:hover {
  opacity: 0.6;
	text-decoration:none;
}

.page img {
  max-width: 100%;
  height: auto;
  margin: 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 (max-width: 768px) {
  main{
    line-height: 0!important;
  }
}

@media screen and (min-width: 769px) {
  .view--pc {
    display: block;
  }
  .view--sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .view--pc {
    display: none;
  }
  .view--sp {
    display: block;
  }
}
body {
  font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP", sans-serif;
}

.page {
  overflow: hidden;
  background: #fff;
  margin-bottom: 20px;
  /*=============================
  item
  =============================*/
}
.page__inner {
  margin: auto;
  max-width: 980px;
}
@media screen and (min-width: 769px) and (max-width: 980px) {
  .page__inner {
    padding: 0 20px;
  }
}
@media screen and (max-width: 768px) {
  .page__inner {
    width: 89.6vw;
  }
}
.page .title-inner {
  margin: 120px auto -50px;
  display: block;
  width: 980px;
}
@media screen and (max-width: 768px) {
  .page .title-inner {
    width: 100%;
    margin: 14vw auto -10vw;
  }
}
.page .title-inner .title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 38px;
  text-align: center;
  font-weight: bold;
  letter-spacing: -0.1em;
}
@media screen and (max-width: 768px) {
  .page .title-inner .title {
    font-size: 6.5vw;
  }
}
.page .title-inner .title-sub {
  font-family: "Roboto", sans-serif;
  color: #23B2BC;
  font-size: 16px;
  display: block;
  padding-top: 6px;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .page .title-inner .title-sub {
    font-size: 3.1vw;
    padding-top: 6px;
  }
}
.page .item__list {
  max-width: 770px;
  margin: 60px auto 0;
}
@media screen and (max-width: 768px) {
  .page .item__list {
    max-width: 100%;
    margin: 2.6vw auto 0;
  }
}
.page .item__list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .page .item__list ul {
    display: block;
  }
}
.page .item__list ul li {
  max-width: 230px;
  width: 29.9%;
  margin-right: 5.1%;
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .page .item__list ul li {
    width: 0%;
    max-width: 100%;
    margin-top: 0;
    margin-right: 0;
    margin: 0 1.3vw;
  }
}
@media screen and (min-width: 769px) {
  .page .item__list ul li :nth-child(3n) {
    margin-right: 0;
  }
  .page .item__list ul li :nth-child(-n+3) {
    margin-top: 0;
  }
}
.page .item__list__img {
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .page .item__list__img {
    position: relative;
    margin: auto;
    width: 42.2vw;
    height: 68.5vw;
  }
  .page .item__list__img img {
    -webkit-transform-origin: top center;
    transform-origin: top center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transform: scale(1.65, 1.65);
    transform: scale(1.65, 1.65);
  }
}
.page .item__list__text {
  text-align: center;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .page .item__list__text {
    margin-top: 2.6vw;
  }
}
.page .item__list__text p {
  color: #333;
}
.page .item--name,
.page .item--price {
  font-size: 1.6rem;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .page .item--name,
.page .item--price {
    font-size: 4.2vw;
    font-size: 4.2vw;
  }
}
.page .item--name .item--price,
.page .item--price .item--price {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .page .item--name .item--price,
.page .item--price .item--price {
    margin-top: 1.3vw;
  }
}
.page .item--name .item--btn,
.page .item--price .item--btn {
  width: 100%;
  background: #C2CCDA;
  line-height: 40px;
  font-size: 1.4rem;
  font-weight: 400;
  text-align: center;
  margin-top: 10px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .item--name .item--btn,
.page .item--price .item--btn {
    line-height: 13vw;
    font-size: 4.2vw;
    margin-top: 3.3vw;
  }
}
.page .item--name .item--btn :after,
.page .item--price .item--btn :after {
  content: ">";
  display: inline-block;
  position: absolute;
  right: 11px;
  -webkit-transform: scale(0.6, 1);
  transform: scale(0.6, 1);
}
@media screen and (max-width: 768px) {
  .page .slick-arrow {
    position: absolute;
    z-index: 100;
    top: 50.7vw;
    width: 2.1vw;
    height: 5.2vw;
  }
}
.page .prev-arrow {
  left: -2.1vw;
}
.page .next-arrow {
  right: -2.1vw;
}
.page .preface {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .page .preface {
    margin-top: 12.5vw;
  }
}
.page .preface__text01 {
  font-size: 20px;
  color: #333333;
  margin-bottom: 36px;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .page .preface__text01 {
    font-size: 4.6vw;
    text-align: left;
    margin-bottom: 9.1vw;
    line-height: 1.8;
  }
}
.page .preface__text02 {
  font-size: 20px;
  color: #333333;
  margin-bottom: 32px;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .page .preface__text02 {
    font-size: 4.6vw;
    text-align: left;
    margin-bottom: 5.2vw;
    line-height: 2.12;
  }
}
.page .preface__text03 {
  font-size: 24px;
  line-height: 2;
  color: #333333;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: #23B2BC;
  text-underline-offset: 10px;
}
@media screen and (max-width: 768px) {
  .page .preface__text03 {
    line-height: 2.12;
    font-size: 5.2vw;
    text-decoration-thickness: 0.5vw;
    text-underline-offset: 1.8vw;
    text-align: left;
  }
}
.page .style-cont2 {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .page .style-cont2 {
    max-width: 89.6vw;
    margin-right: auto;
  }
}
.page .style-cont1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.page .style-cont1 .style {
  max-width: 100%;
  width: 100%;
  padding: 32px 0 32px;
}
@media screen and (max-width: 768px) {
  .page .style-cont1 .style {
    max-width: 100%;
    padding: 6.3vw 0 6.3vw;
  }
}
.page .style-cont1 .style_bg01 {
  background: #BDD7EE;
}
.page .style-cont1 .style_bg02 {
  background: #CBF1EA;
}
.page .style-cont1 .style_bg02 .style__icon {
  max-width: 110px;
}
@media screen and (max-width: 768px) {
  .page .style-cont1 .style_bg02 .style__icon {
    max-width: 19.8vw;
  }
}
.page .style-cont1 .style_bg02 .style__heading span {
  color: #23B2BC;
}
.page .style-cont1 .style_bg03 {
  background: #E7FBF7;
}
.page .style-cont1 .style_bg03 .style__icon {
  max-width: 110px;
}
@media screen and (max-width: 768px) {
  .page .style-cont1 .style_bg03 .style__icon {
    max-width: 19.8vw;
  }
}
.page .style-cont1 .style_bg03 .style__heading span {
  color: #23B2BC;
}
.page .style-cont1 .style__icon {
  max-width: 250px;
  width: 100%;
  margin: auto;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .page .style-cont1 .style__icon {
    max-width: 45.8vw;
    margin-bottom: 3.1vw;
  }
}
.page .style-cont1 .style__heading {
  font-size: 32px;
  font-weight: 700;
  color: #333333;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .page .style-cont1 .style__heading {
    font-size: 5.7vw;
    margin-bottom: 5.2vw;
  }
}
.page .style-cont1 .style__heading span {
  font-size: 16px;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  color: #0B3860;
  margin-top: 3px;
}
@media screen and (max-width: 768px) {
  .page .style-cont1 .style__heading span {
    font-size: 3.6vw;
    margin-top: 1.3vw;
  }
}
.page .style-cont1 .style__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 791px;
  width: 100%;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .page .style-cont1 .style__list .slick-arrow {
    width: 10.4vw;
    height: 10.4vw;
    top: 42.6vw;
  }
}
.page .style-cont1 .style__list .s-prev-arr {
  background: url("/ec/img/usr/pg/campaign/rw_guideline/ico_prev_next.png") no-repeat;
  background-size: 100% auto;
  left: 0;
}
.page .style-cont1 .style__list .s-next-arr {
  background: url("/ec/img/usr/pg/campaign/rw_guideline/ico_arr_next.png") no-repeat;
  background-size: 100% auto;
  right: 0;
}
.page .style-cont1 .style__item {
  margin-right: 10px;
  max-width: 257px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .page .style-cont1 .style__item {
    margin-left: 31px;
    max-width: 95.6vw;
  }
}
.page .style-cont1 .style__item:last-child {
  margin-right: 0;
}
.page .style-cont1 .style__btn {
  max-width: 261px;
  width: 100%;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .page .style-cont1 .style__btn {
    max-width: 55.2vw;
  }
}
.page .style-cont1 .style__btn a {
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  color: white;
  background-color: #23B2BC;
  padding: 15.5px 0;
  border-radius: 31px;
  margin-top: 24px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .style-cont1 .style__btn a {
    font-size: 4.6vw;
    padding: 4.1vw 0;
    border-radius: 7.6vw;
    margin-top: 5.2vw;
  }
}
.page .style-cont1 .style__btn a::after {
  content: "";
  width: 8px;
  height: 13px;
  display: block;
  background-image: url("/ec/img/usr/pg/campaign/rw_guideline/btn-arrow.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 25.5px;
  right: 16px;
}
@media screen and (max-width: 768px) {
  .page .style-cont1 .style__btn a::after {
    width: 1.4vw;
    height: 2.7vw;
    top: 6.2vw;
    right: 4.2vw;
  }
}
.page .suite-style {
  max-width: 980px;
  width: 100%;
}
.page .suite-style .style {
  max-width: 100%;
  width: 100%;
  padding: 0 0 79px;
}
@media screen and (max-width: 768px) {
  .page .suite-style .style {
    padding-top: 0;
    padding-bottom: 12.5vw;
  }
}
.page .suite-style .style__icon {
  max-width: 250px;
  width: 100%;
  margin: auto;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .page .suite-style .style__icon {
    max-width: 45.8vw;
    margin-bottom: 3.1vw;
  }
}
.page .suite-style .style__icon-02 {
  max-width: 110px;
}
@media screen and (max-width: 768px) {
  .page .suite-style .style__icon-02 {
    max-width: 19.8vw;
  }
}
.page .suite-style .style__heading {
  font-size: 32px;
  font-weight: 700;
  color: #333333;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .page .suite-style .style__heading {
    font-size: 5.7vw;
    margin-bottom: 7.3vw;
  }
}
.page .suite-style .style__heading span {
  font-size: 16px;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  color: #23B2BC;
  margin-top: 3px;
}
@media screen and (max-width: 768px) {
  .page .suite-style .style__heading span {
    font-size: 3.6vw;
    margin-top: 1.2vw;
    line-height: 4.8vw;
  }
}
.page .suite-style .style__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin: auto;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.page .suite-style .style__list02 {
  margin-top: 65px;
}
@media screen and (max-width: 768px) {
  .page .suite-style .style__list02 {
    margin-top: 8.3vw;
  }
}
@media screen and (max-width: 768px) {
  .page .suite-style .style__list .slick-arrow {
    width: 10.4vw;
    height: 10.4vw;
    top: 42.6vw;
  }
}
.page .suite-style .style__list .s-prev-arr {
  background: url("/ec/img/usr/pg/campaign/rw_guideline/ico_prev_next.png") no-repeat;
  background-size: 100% auto;
  left: 0;
}
.page .suite-style .style__list .s-next-arr {
  background: url("/ec/img/usr/pg/campaign/rw_guideline/ico_arr_next.png") no-repeat;
  background-size: 100% auto;
  right: 0;
}
.page .suite-style .style__item {
  margin-right: 1.3%;
  max-width: 482px;
  width: 49.35%;
  position: relative;
}
.page .suite-style .style__item .pop-btn {
  position: absolute;
  top: 0;
  right: 40px;
  width: 116px;
  height: 44px;
}
@media screen and (max-width: 768px) {
  .page .suite-style .style__item .pop-btn {
    width: 21.1vw;
    height: 9vw;
    top: 3.1vw;
    right: 3.1vw;
    z-index: 1;
  }
}
@media screen and (max-width: 768px) {
  .page .suite-style .style__item {
    max-width: 89.6vw;
    margin-right: 0;
  }
}
.page .suite-style .style__item:nth-child(2) {
  margin-right: 0;
}
.page .suite-style .style__item:nth-child(3) {
  margin-top: 65px;
}
@media screen and (max-width: 768px) {
  .page .suite-style .style__item:nth-child(3) {
    margin-top: 0;
  }
}
.page .suite-style .style__item .view--pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .page .suite-style .style__item .view--pc {
    display: none;
  }
}
.page .suite-style .style__item .view--sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .page .suite-style .style__item .view--sp {
    display: block;
  }
}
.page .suite-style .style__text {
  border-top: 1px solid #23B2BC;
  border-bottom: 1px solid #23B2BC;
  padding: 27px 24px 40px 24px;
  margin-top: 37px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .suite-style .style__text {
    border-top: 0.3vw solid #23B2BC;
    border-bottom: 0.3vw solid #23B2BC;
    padding: 7.3vw 0 7.3vw 0;
    margin-top: 8.6vw;
    position: relative;
  }
}
.page .suite-style .style__text p {
  font-size: 16px;
  font-weight: 400;
  color: #333333;
  line-height: 2;
  letter-spacing: normal;
}
@media screen and (max-width: 768px) {
  .page .suite-style .style__text p {
    font-size: 3.6vw;
    line-height: 1.5;
  }
}
.page .suite-style .style__text::after {
  content: "";
  display: block;
  width: 54px;
  height: 27px;
  background-image: url("/ec/img/usr/pg/campaign/rw_guideline/point-icon-pc.png");
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: -14px;
  left: 0;
}
@media screen and (max-width: 768px) {
  .page .suite-style .style__text::after {
    background-image: url("/ec/img/usr/pg/campaign/rw_guideline/point-icon.png");
    left: 37.4vw;
    width: 14.8vw;
    height: 6.9vw;
    top: -3.4vw;
  }
}
.page .suite-style__btns {
  max-width: 424px;
  width: 100%;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .page .suite-style__btns {
    max-width: 89.6vw;
  }
}
.page .suite-style__btns .btn {
  font-size: 20px;
  color: #fff;
  font-weight: 500;
  background-color: #23B2BC;
  border-radius: 58px;
  padding: 13.5px 0;
  text-align: center;
  margin-bottom: 24px;
  position: relative;
  line-height: 1.7;
  border: none;
}
@media screen and (max-width: 768px) {
  .page .suite-style__btns .btn {
    font-size: 4.6vw;
    padding: 3.6vw 0;
    margin-bottom: 5.2vw;
  }
}
.page .suite-style__btns .btn:nth-child(2) {
  margin-bottom: 0;
}
.page .suite-style__btns .btn::after {
  content: "";
  display: block;
  width: 6px;
  height: 12px;
  background-image: url("/ec/img/usr/pg/campaign/rw_guideline/btn-arrow.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: absolute;
  right: 0;
  top: 24px;
  margin-right: 24px;
}
@media screen and (max-width: 768px) {
  .page .suite-style__btns .btn::after {
    width: 1.3vw;
    height: 2.6vw;
    margin-right: 4.2vw;
    top: 6.2vw;
  }
}
.page .formality {
  background: #F1F1F1;
  padding: 32px 0 32px;
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .page .formality {
    padding: 7.3vw 5.2vw 6.6vw 5.2vw;
    margin-top: 12.5vw;
  }
}
.page .formality__heading {
  text-align: center;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.5;
  margin-bottom: 16px;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .page .formality__heading {
    font-size: 5.2vw;
    margin-bottom: 4vw;
  }
}
.page .formality__text {
  font-size: 16px;
  text-align: center;
  line-height: 2;
  font-weight: 400;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .page .formality__text {
    font-size: 3.6vw;
    text-align: left;
    line-height: 1.5;
  }
}
.page .formality__text .underline {
  text-align: center;
  text-decoration: underline;
}
.page .troubles {
  max-width: 600px;
  width: 100%;
  margin: auto;
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .page .troubles {
    max-width: 89.6vw;
    margin-top: 12.5vw;
  }
}
.page .troubles__heading {
  max-width: 100%;
  width: 100%;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .page .troubles__heading {
    max-width: 69.3vw;
    margin: auto;
    margin-bottom: 4.2vw;
  }
}
.page .troubles__heading-txt {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .page .troubles__heading-txt {
    margin-top: 7.8vw;
  }
}
.page .troubles__heading-txt p {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .page .troubles__heading-txt p {
    font-size: 5.2vw;
    margin-bottom: 4.2vw;
  }
}
.page .troubles__img {
  max-width: 600px;
  width: 100%;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .page .troubles__img {
    max-width: 100%;
  }
}
.page .bk-c {
  background-color: #D4E5EF;
  padding-top: 80px;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .page .bk-c {
    padding-top: 20px;
    margin-bottom: 30px;
  }
}
.page .l_bk {
  background-color: #cc99b4 !important;
}
.page .l_bk2 {
  background-color: #ecd9e3 !important;
}
.page .l_cor {
  color: #cc99b4 !important;
}

.l-wrap {
  overflow: initial;
}

/* ------------------------------------------------------
TOP KV用
------------------------------------------------------ */
.page_kv {
  margin: 0 auto;
  text-align: center;
  background-color: #fff;
}

/* ------------------------------------------------------
nav
------------------------------------------------------ */
.link-page {
  margin-bottom: 40px;
  padding-top: 80px;
}
@media screen and (max-width: 768px) {
  .link-page {
    margin-bottom: 7.2vw;
    padding-top: 15.6vw;
  }
}
.link-page ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.link-page ul li {
  width: 490px;
  width: 100%;
  font-size: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .link-page ul li {
    font-size: 3.1vw;
  }
}
.link-page ul li span,
.link-page ul li a {
  padding: 18.5px 0;
  color: #333333;
  font-size: 24px;
  font-weight: 700;
  background: #ECECEC;
  display: block;
}
@media screen and (max-width: 768px) {
  .link-page ul li span,
.link-page ul li a {
    font-size: 4.2vw;
    padding: 3.3vw 0;
  }
}
.link-page ul li span:after,
.link-page ul li a:after {
  position: absolute;
  content: " ";
  display: inline-block;
  background-image: url("/ec/img/usr/pg/campaign/rw_guideline/icon_01.png");
  background-repeat: no-repeat;
  background-size: contain;
  width: 42px;
  height: 42px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 10px;
}
@media screen and (max-width: 768px) {
  .link-page ul li span:after,
.link-page ul li a:after {
    position: initial;
    -webkit-transform: none;
            transform: none;
    display: block;
    margin: auto;
    margin-top: 2.6vw;
    width: 7.8vw;
    height: 7.8vw;
  }
}
.link-page ul li span,
.link-page ul li .l_icon {
  position: relative;
}
.link-page ul li .l_icon2:after {
  background-image: url("l_/ec/img/usr/pg/campaign/rw_guideline/icon_01.png");
}
.link-page ul li a,
.link-page ul li .l_icon {
  position: relative;
}
.link-page ul li .act {
  background: #E7FBF7;
  cursor: default;
}

/* ------------------------------------------------------
bw_guidebook Top
------------------------------------------------------ */
#bw-guidebook #gb-information {
  font-family: "Noto Sans JP", "Noto Sans SC", sans-serif;
  padding: 44px 0 94px;
}
@media screen and (max-width: 768px) {
  #bw-guidebook #gb-information {
    padding: 5.729vw 0 8vw;
  }
}
#bw-guidebook #gb-information .page__inner {
  max-width: 1020px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 40px;
}
@media screen and (max-width: 768px) {
  #bw-guidebook #gb-information .page__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 0;
  }
}
#bw-guidebook #gb-information .gb-photo {
  position: relative;
}
@media screen and (max-width: 768px) {
  #bw-guidebook #gb-information .gb-photo {
    width: 100%;
    margin-bottom: 5vw;
  }
}
@media screen and (max-width: 768px) {
  #bw-guidebook #gb-information .gb-photo img {
    width: 100%;
  }
}
#bw-guidebook #gb-information .gb-photo .gb-photo-title {
  color: #fff;
  position: absolute;
  top: 56.5%;
  left: 27px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#bw-guidebook #gb-information .gb-photo .gb-photo-title .ttl01 {
  font-size: 14px;
  margin-bottom: 6px;
}
@media screen and (max-width: 768px) {
  #bw-guidebook #gb-information .gb-photo .gb-photo-title .ttl01 {
    font-size: 2.865vw;
  }
}
#bw-guidebook #gb-information .gb-photo .gb-photo-title .ttl02 {
  font-size: 53px;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 12px;
}
@media screen and (max-width: 768px) {
  #bw-guidebook #gb-information .gb-photo .gb-photo-title .ttl02 {
    font-size: 10.417vw;
  }
}
#bw-guidebook #gb-information .gb-photo .gb-photo-title .ttl02 span {
  display: block;
  font-size: 46px;
  font-weight: 900;
  letter-spacing: -0.05em;
  color: #b3b3b3;
}
@media screen and (max-width: 768px) {
  #bw-guidebook #gb-information .gb-photo .gb-photo-title .ttl02 span {
    font-size: 9.115vw;
  }
}
#bw-guidebook #gb-information .gb-photo .gb-photo-title .gb-symbol {
  width: 100%;
  max-width: 214px;
  height: 33px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #22263c;
  font-size: 22px;
  padding: 0 0 3px;
  margin-left: -47px;
}
@media screen and (max-width: 768px) {
  #bw-guidebook #gb-information .gb-photo .gb-photo-title .gb-symbol {
    max-width: 41.667vw;
    height: 6.51vw;
    font-size: 4.427vw;
    margin-left: -8.724vw;
  }
}
#bw-guidebook #gb-information .gb-frame {
  width: 100%;
  max-width: 420px;
  margin-left: 40px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  #bw-guidebook #gb-information .gb-frame {
    max-width: 100%;
    margin-left: 0;
  }
}
#bw-guidebook #gb-information .gb-frame h3 {
  font-size: 26px;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 26px;
}
@media screen and (max-width: 768px) {
  #bw-guidebook #gb-information .gb-frame h3 {
    font-size: 5.208vw;
    margin-bottom: 6vw;
  }
}
#bw-guidebook #gb-information .gb-frame h3 span {
  display: block;
  font-size: 18px;
  color: #1c478b;
  margin: 6px 0 0;
}
@media screen and (max-width: 768px) {
  #bw-guidebook #gb-information .gb-frame h3 span {
    font-size: 3.646vw;
  }
}
#bw-guidebook #gb-information .gb-frame p {
  font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "メイリオ", "Meiryo", "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 2.03;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  #bw-guidebook #gb-information .gb-frame p {
    font-size: 3.6vw;
    text-align: justify;
    margin-bottom: 3vw;
  }
}
#bw-guidebook #gb-information .gb-frame :last-child {
  margin-bottom: 0;
}

.gb-sidemenu {
  position: fixed;
  top: 200px;
  right: 0;
  z-index: 8888;
}
@media screen and (max-width: 1080px) {
  .gb-sidemenu {
    bottom: 0;
    top: auto;
    left: 0;
    z-index: 2;
  }
}
@media screen and (max-width: 1080px) {
  .gb-sidemenu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.gb-sidemenu ul li {
  width: 100%;
  height: 223px;
}
@media screen and (max-width: 1080px) {
  .gb-sidemenu ul li {
    height: 50px;
  }
}
.gb-sidemenu ul li a {
  font-size: 14px;
  color: #fff;
  width: 48px;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 1080px) {
  .gb-sidemenu ul li a {
    width: 100%;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
  }
}
@media screen and (max-width: 768px) {
  .gb-sidemenu ul li a {
    width: 100%;
    font-size: 3.6vw;
    text-align: center;
  }
}
.gb-sidemenu ul li.top a {
  background: #C3F5F3;
  color: #333333;
}
.gb-sidemenu ul li.formal a {
  background: #23B2BC;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .gb-sidemenu ul li {
    height: 10.4vw;
  }
}

/*=============================
 contents01
=============================*/
.pb20 {
  padding-bottom: 20px !important;
}

.page .center {
  text-align: center;
}

#contents01 .page__inner {
  max-width: 940px;
}

.head-box {
  background: #9bbcd0;
}
.head-box ul {
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .head-box ul {
    height: auto;
    padding: 8px 0;
  }
}
.head-box ul li {
  font-family: "Noto Sans JP", "Noto Sans SC", sans-serif;
  font-size: 12px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .head-box ul li {
    font-size: 2.667vw;
  }
}
.head-box ul li span {
  font-family: "Noto Serif JP", "Noto Sanslif SC", sans-serif;
  display: block;
  font-size: 14px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .head-box ul li span {
    font-size: 3.2vw;
  }
}
.head-box ul li span::after {
  content: "★★★★★";
  font-size: 12px;
  margin: 0 0 0 5px;
}
.head-box ul li :last-child {
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .head-box ul li :last-child {
    font-size: 3.906vw;
  }
}

.h-yer {
  font-size: 38px;
  text-align: center;
  font-weight: bold;
  letter-spacing: -0.1em;
  padding: 46px 0 49px;
}
@media screen and (max-width: 768px) {
  .h-yer {
    font-size: 6.5vw;
    padding: 7.8vw 0;
  }
}

.h-txt {
  font-size: 28px;
  margin: 0 auto 80px;
}
@media screen and (max-width: 768px) {
  .h-txt {
    font-size: 3.6vw;
    margin: 0 auto 10.4vw;
    line-height: 2;
  }
}

.jppalt {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.page .normal {
  display: block;
}
.page .normal p {
  font-size: 15px;
  line-height: 2;
  font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP", sans-serif;
  padding-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .page .normal p {
    padding-bottom: 20px;
  }
}
.page .normal .bold {
  font-weight: bold;
  color: #000;
}
.page .ttl-2 {
  font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP", sans-serif;
  font-size: 15px;
  padding-bottom: 15px;
  display: block;
  font-weight: bold;
  margin: 0 auto;
  text-align: center;
}
.page .flex-box {
  font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP", sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .page .flex-box {
    display: block;
    padding-bottom: 30px;
  }
}
.page .flex-box .img {
  width: 50%;
  padding: 10px 0 0 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .flex-box .img {
    width: 100%;
    padding-top: 0;
    padding-bottom: 20px;
  }
}
.page .flex-box .ttl-2 {
  font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP", sans-serif;
  font-size: 15px;
  padding-bottom: 15px;
  display: block;
  font-weight: bold;
  margin: 0 auto;
  text-align: center;
}
.page .flex-box .box {
  width: 50%;
  padding-left: 30px;
}
@media screen and (max-width: 768px) {
  .page .flex-box .box {
    width: 100%;
    padding-top: 0;
    padding-left: 0;
  }
}
.page .flex-box p {
  font-size: 15px;
  line-height: 2;
  font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP", sans-serif;
  padding-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .page .flex-box p {
    padding-bottom: 20px;
  }
}
.page .flex-box :last-child {
  padding-bottom: 0;
}
.page .flex-box .bold {
  font-weight: bold;
  color: #000;
}
.page .star {
  text-align: center;
  padding-bottom: 80px;
  font-size: 18px;
  color: #D4E5EF;
}
@media screen and (max-width: 768px) {
  .page .star {
    padding-bottom: 30px;
  }
}

/*=============================
 contents02
=============================*/
#contents02 .list01 {
  border-top: 1px solid #b3b3b3;
  margin-top: -11px;
}
@media screen and (max-width: 768px) {
  #contents02 .list01 {
    padding-bottom: 20px;
  }
}
#contents02 .list01 dt span {
  font-weight: bold;
  padding: 19px 0 0 5px;
  display: inline-block;
}
#contents02 .list01 dd {
  margin-top: -1.5em;
  padding: 0 0 19px 115px;
  border-bottom: 1px solid #b3b3b3;
}
@media screen and (max-width: 768px) {
  #contents02 .list01 dd {
    padding-left: 100px;
  }
}
#contents02 .list01 dd:last-child {
  border-bottom: 1px solid #b3b3b3;
}
#contents02 .flex-box .img span {
  font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP", sans-serif;
  padding-bottom: 15px;
  display: block;
  font-weight: bold;
}
#contents02 .flex-box .point,
#contents02 .flex-box .l_point {
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  text-align: center;
  color: #676c80;
  position: relative;
  line-height: 1;
  padding: 0;
  margin: 35px 0 15px;
}
@media screen and (max-width: 768px) {
  #contents02 .flex-box .point,
#contents02 .flex-box .l_point {
    margin-top: 10px;
  }
}
#contents02 .flex-box .point span,
#contents02 .flex-box .l_point span {
  padding: 0 30px;
  z-index: 1000;
  position: relative;
  font-size: 16px;
}
#contents02 .flex-box .point:before,
#contents02 .flex-box .l_point:before {
  position: absolute;
  content: "POINT";
  font-family: "Roboto", sans-serif;
  font-size: 10px;
  color: #fffefe;
  width: 60px;
  height: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #9bbcd0;
  bottom: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 0 0 2px;
  z-index: 2;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  #contents02 .flex-box .point:before,
#contents02 .flex-box .l_point:before {
    font-size: 2.604vw;
    width: 15.625vw;
    height: 3.906vw;
    bottom: 1vw;
    padding: 1px 0 0;
  }
}
#contents02 .flex-box .l_point::before {
  background: #cc99b4;
}
#contents02 .flex-box .point:after,
#contents02 .flex-box .l_point:after {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  height: 1px;
  background: #9bbcd0;
  content: "";
}
#contents02 .flex-box .l_point::after {
  background: #cc99b4;
}
#contents02 .flex-box .last .point {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  #contents02 .item01 {
    max-width: 900px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 769px) {
  #contents02 .item01 .box {
    padding-left: 0;
    width: 47%;
  }
}
@media screen and (min-width: 769px) {
  #contents02 .flex-box {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

/* ------------------------------------------------------
style01
------------------------------------------------------ */
#style-page {
  padding: 0 0 100px;
}
@media screen and (max-width: 768px) {
  #style-page {
    padding: 0 0 10vw;
  }
}
#style-page .h-ttl {
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  #style-page .h-ttl {
    padding-bottom: 0;
  }
}
#style-page .section:not(:last-child) {
  margin-bottom: 73px;
}
@media screen and (max-width: 768px) {
  #style-page .section:not(:last-child) {
    margin-bottom: 3vw;
  }
}
#style-page .style-item-list dt {
  display: inline-block;
  font-family: "Noto Sans JP", "Noto Sans SC", sans-serif;
  font-size: 14px;
  font-weight: 400;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #style-page .style-item-list dt {
    font-size: 3.125vw;
    position: relative;
    top: 16.672vw;
    left: -5.208vw;
    z-index: 1;
    pointer-events: none;
  }
}
#style-page .style-item-list dt > span {
  font-size: 16px;
  font-weight: 400;
  color: #fff;
  width: 140px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #22263c;
  padding: 0 0 3px;
  margin-top: 7px;
}
@media screen and (max-width: 768px) {
  #style-page .style-item-list dt > span {
    font-size: 3.125vw;
    width: 26.042vw;
    height: 5.208vw;
  }
}
#style-page .style-item-list dt > span .sym-vote {
  opacity: 0.1;
}
#style-page .style-item-list dd ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#style-page .style-item-list dd ul li {
  width: 100%;
  max-width: 320px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #style-page .style-item-list dd ul li {
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #style-page .style-item-list dd ul li img {
    width: 100%;
  }
}
#style-page .style-item-list dd ul li .style-photo {
  margin-bottom: 25px;
  position: relative;
}
@media screen and (max-width: 768px) {
  #style-page .style-item-list dd ul li .style-photo {
    margin-bottom: 5vw;
  }
}
#style-page .style-item-list dd ul li .style-photo:before {
  position: absolute;
  content: "POINT";
  font-family: "Roboto", sans-serif;
  font-size: 10px;
  color: #fffefe;
  width: 60px;
  height: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #9bbcd0;
  bottom: -8px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 0 0 2px;
  z-index: 2;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  #style-page .style-item-list dd ul li .style-photo:before {
    font-size: 2.604vw;
    width: 15.625vw;
    height: 3.906vw;
    bottom: -1.823vw;
    padding: 1px 0 0;
  }
}
#style-page .style-item-list dd ul li .style-photo:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background: #9bbcd0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
}
#style-page .style-item-list dd ul li .s-txt {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.54;
}
@media screen and (max-width: 768px) {
  #style-page .style-item-list dd ul li .s-txt {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) {
  #style-page .style-item-list dd .slide-style .slick-arrow {
    width: 10.417vw;
    height: 10.417vw;
    top: 43%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  #style-page .style-item-list dd .slide-style .s-prev-arr {
    background: url(/ec/img/usr/pg/campaign/rw_guideline/ico_prev_next.png) no-repeat;
    background-size: 100% auto;
    left: 0;
  }
  #style-page .style-item-list dd .slide-style .s-next-arr {
    background: url(/ec/img/usr/pg/campaign/rw_guideline/ico_arr_next.png) no-repeat;
    background-size: 100% auto;
    right: 0;
  }
  #style-page .style-item-list dd .slide-style .slick-dots {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: absolute;
    bottom: 6.5vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
  }
  #style-page .style-item-list dd .slide-style .slick-dots li {
    width: 14px;
    height: 14px;
    border-radius: 100%;
    border: 1px solid #707070;
    text-indent: -9999px;
    cursor: pointer;
    margin: 0px 10px 0 0;
    background: #fff;
  }
  #style-page .style-item-list dd .slide-style .slick-dots li:last-child {
    margin: 0;
  }
  #style-page .style-item-list dd .slide-style .slick-dots .slick-active,
#style-page .style-item-list dd .slide-style .slick-dots li:hover {
    background: #9CBCD1;
    border: none;
  }
}
#style-page #gb-related {
  padding: 128px 0 0;
}
@media screen and (max-width: 768px) {
  #style-page #gb-related {
    padding: 10vw 0 0;
  }
}

@media screen and (max-width: 768px) {
  .ladies #style-page .style-item-list dd .slide-style .slick-dots .slick-active,
.ladies #style-page .style-item-list dd .slide-style .slick-dots li:hover {
    background: #d9b2c6;
    border: none;
  }
}
/* ------------------------------------------------------
guide
------------------------------------------------------ */
.tb-guide .table {
  width: 100%;
}
.tb-guide .table .tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.tb-guide .table .th {
  width: 7%;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .th {
    width: 14%;
  }
}
@media all and (-ms-high-contrast: none) {
  .tb-guide .table .th img {
    width: 100%;
  }
}
.tb-guide .table .td {
  width: 30%;
}
.tb-guide .table .vertical-line,
.tb-guide .table .l_vertical-line {
  height: 25px;
  font-size: 19px;
  font-weight: bold;
  color: #9bbcd0;
  padding: 0 0 40px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .vertical-line,
.tb-guide .table .l_vertical-line {
    font-size: 2.5vw;
    padding: 0 0 2.6vw;
  }
}
.tb-guide .table .vertical-line {
  border-bottom: 6px solid #afc7d6;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .vertical-line {
    border-bottom: 3px solid #afc7d6;
  }
}
.tb-guide .table .l_vertical-line {
  border-bottom: 6px solid #cc99b4;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .l_vertical-line {
    border-bottom: 3px solid #cc99b4;
  }
}
.tb-guide .table .vertical-line:nth-child(2):before,
.tb-guide .table .l_vertical-line:nth-child(2):before {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  width: 15px;
  height: 15px;
  position: absolute;
  left: 0px;
  bottom: -10px;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .vertical-line:nth-child(2):before,
.tb-guide .table .l_vertical-line:nth-child(2):before {
    width: 8px;
    height: 8px;
    bottom: -1.5vw;
  }
}
.tb-guide .table .vertical-line:nth-child(2):before {
  background-image: url(/ec/img/usr/pg/campaign/rw_guideline/maru.png);
}
.tb-guide .table .l_vertical-line:nth-child(2):before {
  background-image: url(l_/ec/img/usr/pg/campaign/rw_guideline/maru.png);
}
.tb-guide .table .vertical-line:last-child:before,
.tb-guide .table .l_vertical-line:last-child:before {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  width: 15px;
  height: 15px;
  position: absolute;
  right: 0px;
  bottom: -10px;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .vertical-line:last-child:before,
.tb-guide .table .l_vertical-line:last-child:before {
    width: 8px;
    height: 8px;
    bottom: -1.5vw;
  }
}
.tb-guide .table .vertical-line:last-child:before {
  background-image: url(/ec/img/usr/pg/campaign/rw_guideline/maru.png);
}
.tb-guide .table .l_vertical-line:last-child:before {
  background-image: url(l_/ec/img/usr/pg/campaign/rw_guideline/maru.png);
}
.tb-guide .table .linetxt_left {
  text-align: left;
}
.tb-guide .table .linetxt_right {
  text-align: right;
}
.tb-guide .table .raberu {
  margin: 0 auto 10px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  display: inline-block;
}
.tb-guide .table .w33,
.tb-guide .table .l_w33 {
  width: 33%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .w33,
.tb-guide .table .l_w33 {
    width: 30%;
  }
}
.tb-guide .table .w33 a,
.tb-guide .table .l_w33 a {
  padding: 30px 0;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .w33 a,
.tb-guide .table .l_w33 a {
    padding: 3.9vw 0;
  }
}
.tb-guide .table .w33 :after,
.tb-guide .table .l_w33 :after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;
  margin: 0 0 0 10px;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .w33 :after,
.tb-guide .table .l_w33 :after {
    width: 2.6vw;
    height: 2.6vw;
  }
}
.tb-guide .table .w33 a::after {
  background-image: url(/ec/img/usr/pg/campaign/rw_guideline/icon_02.png);
}
.tb-guide .table .l_w33 a::after {
  background-image: url(l_/ec/img/usr/pg/campaign/rw_guideline/icon_02.png);
}
.tb-guide .table .th,
.tb-guide .table .td {
  text-align: center;
}
.tb-guide .table .th {
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .th {
    padding: 0;
  }
}
.tb-guide .table .th p {
  font-family: "Noto Sans JP", "Noto Sans SC", sans-serif;
  font-size: 15px;
  color: #808080;
  -ms-writing-mode: tb-lr;
  -webkit-writing-mode: vertical-lr;
  -moz-writing-mode: vertical-lr;
  -ms-writing-mode: vertical-lr;
  writing-mode: vertical-lr;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .th p {
    font-size: 3.125vw;
  }
}
.tb-guide .table .td {
  font-family: "Noto Sans JP", "Noto Sans SC", sans-serif;
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .td {
    font-size: 3.125vw;
    font-weight: 400;
  }
}
.tb-guide .table .tbody .border {
  border-bottom: 1px solid #e5e5e5;
}
.tb-guide .table .tbody .casual_m {
  border-bottom: 1px solid #afc7d6;
}
.tb-guide .table .tbody .casual_l {
  border-bottom: 1px solid #cc99b4;
}
.tb-guide .table .tbody .th p {
  font-size: 19px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #9bbcd0;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .tbody .th p {
    font-size: 3.125vw;
  }
}
.tb-guide .table .tbody .th .sym-vote {
  opacity: 0.1;
  line-height: 1;
}
.tb-guide .table .tbody .degree .txt-str {
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  width: 50%;
}
.tb-guide .table .tbody .tr .grf_line {
  border-right: 6px solid #9bbcd0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .tbody .tr .grf_line {
    border-right: 3px solid #9bbcd0;
  }
}
.tb-guide .table .tbody .tr .l_grf_line {
  border-right: 6px solid #cc99b4;
  position: relative;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .tbody .tr .l_grf_line {
    border-right: 3px solid #cc99b4;
  }
}
.tb-guide .table .tbody .grf_line-f:before,
.tb-guide .table .tbody .l_grf_line-f:before {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(/ec/img/usr/pg/campaign/rw_guideline/maru.png);
  display: inline-block;
  width: 15px;
  height: 15px;
  position: absolute;
  right: -10px;
  top: 0px;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .tbody .grf_line-f:before,
.tb-guide .table .tbody .l_grf_line-f:before {
    width: 8px;
    height: 8px;
    top: 0vw;
    right: -1.5vw;
  }
}
.tb-guide .table .tbody .l_grf_line-f:before {
  background-image: url(l_/ec/img/usr/pg/campaign/rw_guideline/maru.png);
}
.tb-guide .table .tbody .grf_line-l:before,
.tb-guide .table .tbody .l_grf_line-l:before {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(/ec/img/usr/pg/campaign/rw_guideline/maru.png);
  display: inline-block;
  width: 15px;
  height: 15px;
  position: absolute;
  right: -10px;
  bottom: 0px;
}
@media screen and (max-width: 768px) {
  .tb-guide .table .tbody .grf_line-l:before,
.tb-guide .table .tbody .l_grf_line-l:before {
    width: 8px;
    height: 8px;
    bottom: 0;
    right: -1.5vw;
  }
}
.tb-guide .table .tbody .l_grf_line-l:before {
  background-image: url(l_/ec/img/usr/pg/campaign/rw_guideline/maru.png);
}
.tb-guide .m_td,
.tb-guide .l_td {
  padding: 15px 5px 14px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .tb-guide .m_td,
.tb-guide .l_td {
    padding: 1.953vw 0.651vw 1.953vw;
  }
}
.tb-guide .m_td a,
.tb-guide .l_td a {
  position: relative;
}
.tb-guide .m_td a::before,
.tb-guide .l_td a::before {
  position: absolute;
  content: "";
  background-size: contain;
  width: 20px;
  height: 20px;
  bottom: 7px;
  right: 23px;
}
@media screen and (max-width: 768px) {
  .tb-guide .m_td a::before,
.tb-guide .l_td a::before {
    bottom: 0.911vw;
    right: 2.995vw;
  }
}
.tb-guide .m_td a::before {
  background-image: url(/ec/img/usr/pg/campaign/rw_guideline/ico_link.png);
}
.tb-guide .l_td a::before {
  background-image: url(l_/ec/img/usr/pg/campaign/rw_guideline/ico_link.png);
}
.tb-guide .photo {
  position: relative;
}
@media all and (-ms-high-contrast: none) {
  .tb-guide .photo img {
    width: 200px;
  }
}
.tb-guide .txt {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.54;
}
@media screen and (max-width: 768px) {
  .tb-guide .txt {
    font-size: 3.125vw;
  }
}

#guide-page #gb-related {
  padding: 115px 0 100px;
}
@media screen and (max-width: 768px) {
  #guide-page #gb-related {
    padding: 13vw 0 11vw;
  }
}
#guide-page #gb-related .section .link_wrap {
  width: 100%;
  max-width: 690px;
  display: block;
  margin: 0 auto;
}
#guide-page #gb-related .section .link_bnr {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  #guide-page #gb-related .section .link_bnr {
    margin-bottom: 10vw;
  }
}

.panel.is-show {
  display: block;
}

/*--- popup ---*/
.popup--wrap {
  position: relative;
}

.popup--set {
  position: relative;
}

.mfp-auto-cursor .mfp-content {
  width: 100%;
  max-width: 1592px;
  padding: 40px 20px;
  height: auto;
  overflow: scroll;
  -ms-overflow-style: none;
  /* Edge 対応 */
  scrollbar-width: none;
  z-index: 999;
  /* Firefox 対応 */
}
@media screen and (max-width: 768px) {
  .mfp-auto-cursor .mfp-content {
    max-height: 123.7vw;
    width: 90vw;
    height: auto;
    margin: auto;
    padding: 10vw 0;
  }
}
.mfp-auto-cursor .mfp-content .popup-cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 1200px;
  width: 100%;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .mfp-auto-cursor .mfp-content .popup-cont {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 100%;
  }
}
.mfp-auto-cursor .mfp-content .popup-cont .popup_img {
  max-width: 482px;
  width: 100%;
  margin-right: 6.5%;
}
@media screen and (max-width: 768px) {
  .mfp-auto-cursor .mfp-content .popup-cont .popup_img {
    margin-bottom: 6.5%;
    margin-right: 0;
    max-width: 100%;
  }
}
.mfp-auto-cursor .mfp-content .popup-cont .popup_box {
  background-color: #FFF;
  max-width: 640px;
  width: 100%;
  height: 100%;
  padding: 40px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .mfp-auto-cursor .mfp-content .popup-cont .popup_box {
    padding: 7.3vw 5.2vw;
  }
}
.mfp-auto-cursor .mfp-content .popup-cont .popup_box .title {
  font-size: 24px;
  font-weight: 900;
  font-family: "Roboto", sans-serif;
  text-align: center;
  color: #23B2BC;
}
@media screen and (max-width: 768px) {
  .mfp-auto-cursor .mfp-content .popup-cont .popup_box .title {
    font-size: 5.2vw;
  }
}
.mfp-auto-cursor .mfp-content .popup-cont .popup_box .s-txt {
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  margin-top: 24px;
  font-size: 16px;
  text-align: left;
  line-height: 2;
  font-weight: 400;
  letter-spacing: normal;
}
@media screen and (max-width: 768px) {
  .mfp-auto-cursor .mfp-content .popup-cont .popup_box .s-txt {
    font-size: 3.6vw;
  }
}

.mfp-auto-cursor .mfp-content::-webkit-scrollbar {
  display: none;
}

@media screen and (min-width: 769px) {
  .mfp-close-btn-in .mfp-close {
    padding: 0;
    line-height: none;
    background-color: red;
    top: 0;
    width: 30px;
    height: 30px;
    background-image: url("/ec/img/usr/pg/campaign/rw_guideline/close-btn.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
  }
}
@media screen and (max-width: 768px) {
  .mfp-close-btn-in .mfp-close {
    width: 8.3vw;
    height: 8.3vw;
    background-image: url("/ec/img/usr/pg/campaign/rw_guideline/close-btn.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 0;
  }
}

#zoom_map {
  height: 100%;
  overflow: scroll;
}

@media screen and (max-width: 768px) {
  .product {
    width: 100vw;
  }
}
.product .page__row {
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.product__img {
  width: 36.9%;
}
@media screen and (max-width: 768px) {
  .product__img {
    display: none;
  }
}
.product__box {
  width: 44.2%;
  margin-left: 2.6%;
}
@media screen and (max-width: 768px) {
  .product__box {
    width: 70.3vw;
    margin: auto;
  }
}
.product__box ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.product__box ul li {
  position: relative;
  border-bottom: 1px solid #000;
  padding: 20px 0;
  display: block;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  width: 45%;
}
.product__box ul li:hover {
  background: rgba(251, 154, 133, 0.7);
}
@media screen and (max-width: 768px) {
  .product__box ul li {
    padding: 5.8vw 0;
    width: 48%;
  }
}
.product__box ul li:nth-child(odd) {
  padding: 20px 10px 20px 0;
  margin: 0 10px 0 0;
}
@media screen and (max-width: 768px) {
  .product__box ul li:nth-child(odd) {
    padding: 5.8vw 2.4vw 5.8vw 0;
    margin: 0 2vw 0 0;
  }
}
.product__box ul li:nth-child(even) {
  padding: 20px 0 20px 10px;
}
@media screen and (max-width: 768px) {
  .product__box ul li:nth-child(even) {
    padding: 5.8vw 0 5.8vw 2.4vw;
  }
}
.product__box ul li p {
  font-size: 1.3rem;
}
@media screen and (max-width: 768px) {
  .product__box ul li p {
    font-size: 2.86vw;
  }
}
.product__box ul li .name {
  text-decoration: underline;
}
.product__box ul li .name_none {
  text-decoration: none;
}
.product__box ul li a {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.product img {
  max-width: initial;
  height: auto;
  width: initial;
}
@media screen and (max-width: 768px) {
  .product img {
    max-width: 1000px;
  }
}

.l-concierge.l-fixed {
  display: none;
}

.bottom_banner {
  text-align: center;
  max-width: 980px;
  margin: 100px auto 0 auto;
}
@media screen and (max-width: 768px) {
  .bottom_banner {
    width: 90%;
    margin: 12.63vw auto 0;
  }
}
.bottom_banner h2 {
  margin: 0 auto 35px;
  text-align: center;
  font-weight: bold;
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  .bottom_banner h2 {
    font-size: 6.25vw;
    margin: 0 auto 5.2vw;
  }
}
.bottom_banner .text-Franklin {
  font-family: "Libre Franklin", sans-serif;
}
.bottom_banner .text-Garamond {
  font-family: "EB Garamond", sans-serif;
  font-weight: normal;
}
.bottom_banner .page__row {
  max-width: 810px;
  margin: auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .bottom_banner .page__row {
    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) {
  .bottom_banner .page__row img {
    width: 42.318vw;
    height: 42.318vw;
  }
}
.bottom_banner .page__row-bb {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.bottom_banner .page__row a {
  display: block;
  width: 32%;
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .bottom_banner .page__row a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    margin-bottom: 10px;
    margin-right: 0;
  }
}
.bottom_banner .page__row a:last-child {
  margin-right: 0;
}
.bottom_banner_btn {
  width: 100%;
  max-width: 399px;
  margin: 42px auto 0 auto;
}
@media screen and (max-width: 768px) {
  .bottom_banner_btn {
    display: none;
  }
}

@media all and (-ms-high-contrast: none) {
  .ie {
    height: 100px;
  }
}
@supports (-ms-ime-align: auto) {
  .ie {
    height: 100px;
  }
}
.pdf {
  margin: 60px auto 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .pdf {
    width: 80%;
  }
}

.m-pagetop {
  display: none;
}