.news_lists .item_link, .faq_btn {
  display: flex !important;
}

@media only screen and (min-width: 768px) {
  .flow_step .item {
    display: flex !important;
  }
}
.news_lists .item_link {
  flex-direction: row !important;
}

.mv img, .popup_context .item_video img,
.popup_context .item_video video {
  object-fit: cover;
}

.mv img, .popup_context .item_video img,
.popup_context .item_video video {
  width: 100%;
  height: 100%;
}

.popup, .popup_mask {
  position: fixed !important;
}

.popup_close {
  position: absolute !important;
}

.news_lists .item_link, .flow_step .item, .flow_step .item_order, .flow_step .item_detail, .faq, .faq_btn, .activities, .popup_context, .popup_context .item_video {
  position: relative !important;
}

.regional_box .item_heading, .intro_txt, .flow .title_slash, .flow_step .item_order, .faq_leading {
  text-align: center !important;
}

@media only screen and (min-width: 768px) {
  .regional_leading, .regional_box .item_lists, .flow_leading {
    text-align: center !important;
  }
}
.news_lists .item_date, .news_lists .item_new, .flow_step .item_order .order, .faq_lists .item_q .char, .faq_lists .item_a .char {
  font-family: "Oswald", sans-serif !important;
}

.faq_lists .item_a .txt {
  font-size: 1.4rem;
}
@media only screen and (min-width: 768px) {
  .faq_lists .item_a .txt {
    font-size: 1.8rem;
  }
}

.popup_close {
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .popup_close {
    font-size: 1.9rem;
  }
}

.flow_step .item_order .name {
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .flow_step .item_order .name {
    font-size: clamp(18px, 18px + 3 / 832 * (100vw - 768px), 21px);
  }
}

.news_lists .item_date {
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .news_lists .item_date {
    font-size: 2.2rem;
  }
}

.regional_box .item_desc {
  font-size: 1.8rem;
}
@media only screen and (min-width: 768px) {
  .regional_box .item_desc {
    font-size: 2.3rem;
  }
}

.news_lists .item_detail {
  font-size: 1.8rem;
}
@media only screen and (min-width: 768px) {
  .news_lists .item_detail {
    font-size: 2.4rem;
  }
}

.intro_txt, .flow_step .item_detail {
  font-size: 1.8rem;
}
@media only screen and (min-width: 768px) {
  .intro_txt, .flow_step .item_detail {
    font-size: clamp(23px, 23px + 3 / 832 * (100vw - 768px), 26px);
  }
}

.regional_leading, .faq_lists .item_q .txt {
  font-size: 1.8rem;
}
@media only screen and (min-width: 768px) {
  .regional_leading, .faq_lists .item_q .txt {
    font-size: clamp(23px, 23px + 4 / 832 * (100vw - 768px), 27px);
  }
}

.faq_lists .item_q .char, .faq_lists .item_a .char {
  font-size: 2rem;
}
@media only screen and (min-width: 768px) {
  .faq_lists .item_q .char, .faq_lists .item_a .char {
    font-size: clamp(24px, 24px + 8 / 832 * (100vw - 768px), 32px);
  }
}

.flow_leading, .faq_leading {
  font-size: 2rem;
}
@media only screen and (min-width: 768px) {
  .flow_leading, .faq_leading {
    font-size: clamp(26px, 26px + 8 / 832 * (100vw - 768px), 34px);
  }
}

.regional_box .item_detail {
  font-size: 2rem;
}
@media only screen and (min-width: 768px) {
  .regional_box .item_detail {
    font-size: clamp(26px, 26px + 10 / 832 * (100vw - 768px), 36px);
  }
}

.faq_btn {
  font-size: 2rem;
}
@media only screen and (min-width: 768px) {
  .faq_btn {
    font-size: clamp(26px, 26px + 11 / 832 * (100vw - 768px), 37px);
  }
}

.flow_step .item_order .order {
  font-size: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .flow_step .item_order .order {
    font-size: clamp(28px, 28px + 15 / 832 * (100vw - 768px), 43px);
  }
}

.faq .heading_pri .jp {
  font-size: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .faq .heading_pri .jp {
    font-size: clamp(28px, 28px + 16 / 832 * (100vw - 768px), 44px);
  }
}

.regional_box .item_heading {
  font-size: 2.8rem;
}
@media only screen and (min-width: 768px) {
  .regional_box .item_heading {
    font-size: clamp(30px, 30px + 25 / 832 * (100vw - 768px), 55px);
  }
}

.news_lists .item_date, .news_lists .item_new {
  font-weight: 400;
}

.flow_step .item_order .order, .faq_lists .item_q .char, .faq_lists .item_a .char, .faq_lists .item_a .txt {
  font-weight: 500;
}

.regional_box .item_desc {
  font-weight: 600;
}

.regional_box .item_detail, .news_lists .item_detail {
  font-weight: 700;
}

.regional_leading, .regional_box .item_heading, .intro_txt, .flow_leading, .flow_step .item_order .name, .flow_step .item_detail, .faq_leading, .faq_btn, .faq_lists .item_q .txt, .popup_close {
  font-weight: 900;
}

.activities {
  padding-top: 40px;
  padding-bottom: 110px;
}
@media only screen and (min-width: 768px) {
  .activities {
    padding-top: 99px;
    padding-bottom: 254px;
  }
}
.activities .btn_more_wrap {
  margin-top: 45px;
}
@media only screen and (min-width: 768px) {
  .activities .btn_more_wrap {
    margin-top: 50px;
  }
}

.popup {
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 300ms linear;
}
.popup.is_open {
  opacity: 1;
  visibility: visible;
}
.popup.is_open + .popup_mask {
  opacity: 1;
  visibility: visible;
}
.popup_mask {
  z-index: 800;
  inset: 0;
  opacity: 0;
  background-color: #2e2e2e;
  mix-blend-mode: multiply;
  opacity: 0;
  visibility: hidden;
  transition: 300ms linear;
}
.popup_inner {
  width: 457px;
  max-width: calc(100% - 40px);
  pointer-events: all;
}
@media only screen and (min-width: 768px) {
  .popup_inner {
    max-height: 100%;
  }
}
.popup_item {
  display: none;
}
.popup_item.is_open {
  display: block;
}
.popup_context {
  padding-bottom: 60px;
}
@media only screen and (min-width: 768px) {
  .popup_context {
    padding-bottom: 83px;
  }
}
.popup_context .item_video {
  border-radius: 9px;
  overflow: hidden;
  height: calc(100vh - 160px);
  max-height: 500px;
}
@media only screen and (min-width: 768px) {
  .popup_context .item_video {
    max-height: 813px;
  }
}
.popup_context .item_video::after {
  width: 60px;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  background-image: url(../images/specialsettinglp/icon_play.svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  opacity: 0.5;
  pointer-events: none;
}
@media only screen and (min-width: 768px) {
  .popup_context .item_video::after {
    width: 140px;
  }
}
.popup_context .item_video img,
.popup_context .item_video video {
  cursor: pointer;
  object-position: top;
}
.popup_close {
  width: 127px;
  height: 41px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 99px;
  border: 1px solid #fff;
  background-color: #fff;
  color: #501c16;
  left: 0;
  right: 0;
  bottom: 0;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 768px) {
  .popup_close {
    margin-top: 42px;
    cursor: pointer;
    transition: 300ms ease-out;
  }
  .popup_close:hover {
    color: #fff;
    background-color: #501c16;
  }
}

.faq {
  padding-top: 40px;
  padding-bottom: 60px;
}
@media only screen and (min-width: 768px) {
  .faq {
    padding-top: 152px;
    padding-bottom: 223px;
  }
}
.faq::after {
  content: "";
  width: 100%;
  background-image: url("../images/specialsettinglp/img_decorate_01.png");
  background-repeat: repeat-x;
  opacity: 0.5;
  position: absolute;
  left: -8px;
  bottom: 0;
}
@media only screen and (min-width: 768px) {
  .faq::after {
    height: 143px;
  }
}
@media only screen and (min-width: 768px) {
  .faq .heading_pri .jp::before, .faq .heading_pri .jp::after {
    max-width: 50px;
  }
}
@media only screen and (min-width: 768px) {
  .faq .heading_pri .jp::before {
    margin-right: 20px;
  }
}
@media only screen and (min-width: 768px) {
  .faq .heading_pri .jp::after {
    margin-left: 20px;
  }
}
@media only screen and (min-width: 768px) {
  .faq .heading_ff {
    margin-top: -27px;
  }
}
@media only screen and (min-width: 768px) {
  .faq .heading_ff .jp {
    padding-left: 98px;
  }
}
.faq .heading_ff .img {
  translate: -6.7% -56%;
}
@media only screen and (min-width: 768px) {
  .faq .heading_ff .img {
    width: 30%;
    max-width: 341px;
    translate: -6.7% -64.5%;
  }
}
.faq_leading {
  line-height: 1.6764705882;
  margin-top: 14px;
}
.faq_leading .other {
  color: #d51100;
}
.faq_more {
  max-width: 440px;
  background-color: #7e443d;
  border-radius: 999px;
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 768px) {
  .faq_more {
    max-width: 716px;
    margin-top: 127px;
  }
}
.faq_btn {
  line-height: 1.2432432432;
  color: #fff;
  min-height: 81px;
  background-color: #501c16;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 10px 40px 10px 10px;
  translate: 0 -10px;
}
@media only screen and (min-width: 768px) {
  .faq_btn {
    transition: translate 300ms ease-out;
    padding-left: 50px;
    padding-right: 50px;
  }
  .faq_btn:hover {
    translate: none;
  }
}
.faq_btn::after {
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  top: 53%;
  right: 20px;
  translate: 0 -50%;
  rotate: 45deg;
  border: 0;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
@media only screen and (min-width: 768px) {
  .faq_btn::after {
    right: 39px;
  }
}
.faq_box {
  border-radius: 20px;
  background-color: #fff;
  margin-top: 40px;
  padding: 40px 20px;
}
@media only screen and (min-width: 768px) {
  .faq_box {
    border-radius: 57px;
    margin-top: 102px;
    padding-top: 64px;
    padding-bottom: 92px;
  }
}
.faq_lists {
  counter-reset: q-order;
  margin-top: 30px;
}
@media only screen and (min-width: 768px) {
  .faq_lists {
    max-width: 1024px;
    margin-top: 42px;
    margin-left: auto;
    margin-right: auto;
  }
}
.faq_lists .item {
  counter-increment: q-order;
}
.faq_lists .item + .item {
  margin-top: 40px;
}
@media only screen and (min-width: 768px) {
  .faq_lists .item + .item {
    margin-top: 69px;
  }
}
.faq_lists .item_q, .faq_lists .item_a {
  display: flex;
}
.faq_lists .item_q .char, .faq_lists .item_a .char {
  line-height: 1.46875;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border-radius: 999px;
}
@media only screen and (min-width: 768px) {
  .faq_lists .item_q .char, .faq_lists .item_a .char {
    width: 60px;
    height: 60px;
  }
}
.faq_lists .item_q .txt, .faq_lists .item_a .txt {
  width: calc(100% - 44px);
  padding-left: 16px;
}
@media only screen and (min-width: 768px) {
  .faq_lists .item_q .txt, .faq_lists .item_a .txt {
    width: calc(100% - 60px);
    padding-left: 25px;
  }
}
.faq_lists .item_q {
  align-items: center;
}
.faq_lists .item_q .char {
  background-color: #415eaa;
}
.faq_lists .item_q .char::before {
  content: "Q" counter(q-order);
}
@media only screen and (min-width: 768px) {
  .faq_lists .item_q .char::before {
    padding-bottom: 5px;
  }
}
.faq_lists .item_q .txt {
  line-height: 1.4;
  color: #415eaa;
}
.faq_lists .item_a {
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .faq_lists .item_a {
    margin-top: 12px;
  }
}
.faq_lists .item_a .char {
  position: relative;
  top: -2px;
  background-color: #ff9d00;
}
.faq_lists .item_a .char::before {
  content: "A";
}
.faq_lists .item_a .txt {
  line-height: 1.7222222222;
  color: #454545;
}

.flow {
  background-color: rgba(255, 255, 255, 0.65);
  padding-top: 60px;
  padding-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  .flow {
    padding-top: 103px;
    padding-bottom: 138px;
  }
}
@media only screen and (min-width: 768px) {
  .flow .title_slash {
    max-width: 1002px;
  }
}
@media only screen and (min-width: 768px) {
  .flow .heading_ff {
    margin-top: -27px;
  }
}
@media only screen and (min-width: 768px) {
  .flow .heading_ff .jp {
    padding-right: 100px;
  }
}
.flow .heading_ff .img {
  right: -20px;
  translate: 0 -56%;
}
@media only screen and (min-width: 768px) {
  .flow .heading_ff .img {
    width: 30%;
    max-width: 341px;
    right: -38px;
    translate: 0 -67.5%;
  }
}
.flow_leading {
  line-height: 1.6764705882;
  margin-top: 7px;
}
.flow_leading br {
  display: none;
}
@media only screen and (min-width: 768px) {
  .flow_leading br {
    display: block;
  }
}
.flow .btn_more_wrap {
  margin-top: 30px;
}
@media only screen and (min-width: 768px) {
  .flow .btn_more_wrap {
    margin-top: 47px;
  }
}
@media only screen and (min-width: 768px) {
  .flow .btn_more_wrap .item_txt::before {
    margin-right: 22px;
  }
}
@media only screen and (min-width: 768px) {
  .flow .btn_more_wrap .item_txt::after {
    margin-left: 22px;
  }
}
@media only screen and (min-width: 768px) {
  .flow .btn_more_wrap .item_link {
    margin-top: 7px;
  }
}
.flow_step {
  counter-reset: step-order;
  margin-top: 40px;
}
@media only screen and (min-width: 768px) {
  .flow_step {
    margin-top: 75px;
  }
}
.flow_step .item {
  counter-increment: step-order;
}
@media only screen and (min-width: 768px) {
  .flow_step .item {
    align-items: flex-start;
  }
}
.flow_step .item + .item {
  margin-top: 60px;
}
@media only screen and (min-width: 768px) {
  .flow_step .item + .item {
    margin-top: 84px;
  }
}
.flow_step .item + .item::before {
  content: "";
  position: absolute;
  top: -39px;
  left: 50%;
  translate: -50% 0;
  border: 0;
  border-top: 25px solid #d51100;
  border-left: 23px solid rgba(213, 17, 0, 0);
  border-right: 23px solid rgba(213, 17, 0, 0);
}
@media only screen and (min-width: 768px) {
  .flow_step .item + .item::before {
    border-top-width: 49px;
    border-left-width: 47px;
    border-right-width: 47px;
    top: -48px;
  }
}
.flow_step .item_order {
  max-width: 227px;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
  border-radius: 10px;
  background-color: #d51100;
  color: #fff;
  padding: 18px 5px;
}
@media only screen and (min-width: 768px) {
  .flow_step .item_order {
    width: 227px;
    min-height: 140px;
    border-radius: 20px;
    margin: 0;
    padding: 18px 5px 16px;
  }
}
.flow_step .item_order .order {
  line-height: 1.4651162791;
}
.flow_step .item_order .order::before {
  content: "STEP " counter(step-order);
}
.flow_step .item_order .name {
  line-height: 1.55;
  margin-top: 8px;
}
@media only screen and (min-width: 768px) {
  .flow_step .item_order .name {
    margin-top: 4px;
    margin-left: -5px;
    margin-right: -5px;
  }
}
.flow_step .item_detail {
  line-height: 1.8846153846;
  z-index: 0;
  background-color: #fff;
  border-radius: 20px;
  margin-top: -30px;
  padding: 16px;
  padding-top: 46px;
}
@media only screen and (min-width: 768px) {
  .flow_step .item_detail {
    width: calc(100% - 227px);
    border-radius: 47px;
    margin-top: 33px;
    padding: 28px 64px 28px 45px;
  }
}
.flow_step .item_detail::before {
  content: "";
  width: 50%;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  background-color: inherit;
  border-radius: 20px;
}
@media only screen and (min-width: 768px) {
  .flow_step .item_detail::before {
    border-radius: 47px;
    left: -10.5%;
  }
}

.intro {
  padding-top: 30px;
  padding-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .intro {
    padding-top: 45px;
    padding-bottom: 45px;
  }
}
.intro_txt {
  line-height: 1.8076923077;
}

.mv {
  width: 100%;
}
.news {
  padding-top: 30px;
  padding-bottom: 60px;
}
@media only screen and (min-width: 768px) {
  .news {
    padding-top: 71px;
    padding-bottom: 32px;
  }
}
.news_box {
  background-color: #fff;
  border-radius: 10px;
  margin-top: 20px;
  padding: 20px;
  padding-bottom: 39px;
}
@media only screen and (min-width: 768px) {
  .news_box {
    border-radius: 24px;
    margin-top: 41px;
    padding-top: 38px;
    padding-bottom: 71px;
  }
}
@media only screen and (min-width: 768px) {
  .news_lists {
    max-width: 1096px;
    margin-left: auto;
    margin-right: auto;
  }
}
.news_lists .item {
  border-bottom: 1px dashed #bcbcbc;
}
@media only screen and (min-width: 768px) {
  .news_lists .item + .item {
    margin-top: 12px;
  }
}
.news_lists .item_date {
  line-height: 1.4545454545;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .news_lists .item_date {
    width: 110px;
    padding-left: 10px;
  }
}
.news_lists .item_new {
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  width: 50px;
  background-color: #d51100;
  border-radius: 4px;
  display: inline-block;
  margin-left: 5px;
  margin-right: 5px;
  padding-top: 2px;
}
@media only screen and (min-width: 768px) {
  .news_lists .item_new {
    font-size: 1.9rem;
    padding-top: 1px;
  }
}
.news_lists .item_detail {
  line-height: 1.5;
  width: 100%;
  padding-right: 20px;
}
@media only screen and (min-width: 768px) {
  .news_lists .item_detail {
    width: calc(100% - 170px);
  }
}
.news_lists .item_link {
  gap: 2px 10px;
  flex-wrap: wrap;
  color: #454545;
  padding-top: 22px;
  padding-bottom: 14px;
}
@media only screen and (min-width: 768px) {
  .news_lists .item_link {
    gap: 0px;
    padding-bottom: 6px;
    align-items: center;
  }
}
@media only screen and (min-width: 768px) {
  .news_lists a.item_link:hover {
    opacity: 0.6;
  }
}

.regional {
  background-image: url("../images/specialsettinglp/img_regional_bg.jpg");
  background-size: 100% 100%;
  padding-top: 40px;
  padding-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  .regional {
    padding-top: 102px;
    padding-bottom: 98px;
  }
}
.regional_leading {
  line-height: 1.8888888889;
  margin-top: 30px;
}
@media only screen and (min-width: 768px) {
  .regional_leading {
    margin-top: 24px;
  }
}
@media only screen and (min-width: 768px) {
  .regional_leading + .regional_leading {
    margin-top: 48px;
  }
}
.regional_leading .other {
  color: #d51100;
}
.regional_leading br {
  display: none;
}
@media only screen and (min-width: 768px) {
  .regional_leading br {
    display: block;
  }
}
.regional_box {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 20px;
  margin-top: 30px;
  padding: 20px;
}
@media only screen and (min-width: 768px) {
  .regional_box {
    max-width: 1018px;
    margin-top: 65px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 43px;
    padding-top: 40px;
    padding-bottom: 44px;
  }
}
@media only screen and (min-width: 768px) {
  .regional_box .item {
    max-width: 916px;
    margin-left: auto;
    margin-right: auto;
  }
}
.regional_box .item_heading {
  line-height: 1.8181818182;
  color: #d51100;
}
@media only screen and (min-width: 768px) {
  .regional_box .item_lists {
    margin-top: 10px;
  }
}
.regional_box .item_detail {
  line-height: 1.8333333333;
  color: #d51100;
}
.regional_box .item_desc {
  line-height: 1.8695652174;
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .regional_box .item_desc {
    margin-top: 28px;
  }
}

/*# sourceMappingURL=specialsettinglp.css.map */
