@charset "UTF-8";
.home_cover {
  height: 95vh !important;
  min-height: 95vh !important; }
  .home_cover .wp-block-cover__inner-container {
    height: 100vh;
    padding: 3vw; }
    .home_cover .wp-block-cover__inner-container h1.cover_title {
      font-weight: 400;
      margin: 0 0 0 0;
      padding: 0 0 0 0;
      background: rgba(57, 57, 57, 0.16);
      display: inline;
      -webit-box-decoration-break: clone;
      box-decoration-break: clone; }
    @media screen and (max-width: 599px) {
      .home_cover .wp-block-cover__inner-container h1.cover_title {
        margin: 17vw 0 0 0;
        font-size: 18px !important; } }
    .home_cover .wp-block-cover__inner-container .cover_logo {
      width: 100%;
      max-width: 230px; }
    .home_cover .wp-block-cover__inner-container .sp.cover_logo {
      display: none; }
    @media screen and (max-width: 599px) {
      .home_cover .wp-block-cover__inner-container .sp.cover_logo {
        display: block;
        margin-top: 10vw; } }
    .home_cover .wp-block-cover__inner-container .coupon {
      position: absolute;
      right: 3vw;
      bottom: 3vw;
      margin-top: 0; }
      .home_cover .wp-block-cover__inner-container .coupon img {
        width: 100%;
        min-width: 250px; }
      @media screen and (max-width: 599px) {
        .home_cover .wp-block-cover__inner-container .coupon img {
          min-width: 180px; } }
    @media screen and (max-width: 599px) {
      .home_cover .wp-block-cover__inner-container .coupon {
        position: relative;
        bottom: auto;
        right: -20%;
        left: auto;
        margin: 0 0 0 0;
        max-width: 100%; } }
  @media screen and (max-width: 599px) {
    .home_cover .wp-block-cover__inner-container {
      padding: 0;
      display: flex;
      justify-content: flex-start;
      flex-direction: column; } }

.gradient_bg01 {
  width: 100%;
  height: 100%;
  background-image: linear-gradient(0deg, rgba(158, 222, 242, 0.3), rgba(255, 255, 255, 0)); }

/*旅先納税とは？*/
#about {
  position: relative;
  margin-top: 10em; }
  #about h2 {
    font-weight: 500; }
    #about h2 span {
      display: inline-block;
      position: relative; }
    @media screen and (max-width: 599px) {
      #about h2 span {
        display: block; } }
    #about h2 span::before {
      display: block;
      content: "";
      background: url("../images/about_title_img.svg") no-repeat;
      background-position: 0 0;
      background-size: 100%;
      position: absolute;
      top: -4vw;
      left: -7vw;
      z-index: 1;
      width: 13vw;
      max-width: 187px;
      height: 20vw; }
    @media screen and (max-width: 599px) {
      #about h2 span::before {
        top: -9vw;
        left: 3vw;
        width: 24vw; } }
  #about .about_img_grp01 {
    width: 100%;
    display: flex;
    justify-content: space-between;
    position: absolute;
    top: -5em;
    z-index: 0; }
    #about .about_img_grp01 .img01 {
      width: 25%;
      max-width: 452px;
      margin: 0 0 0 1em !important; }
    @media screen and (max-width: 599px) {
      #about .about_img_grp01 .img01 {
        width: 40%;
        margin: 0 0 0 0 !important; } }
    #about .about_img_grp01 .img02 {
      width: 25%;
      max-width: 506px;
      margin: 2em 0 0 0 !important; }
    @media screen and (max-width: 599px) {
      #about .about_img_grp01 .img02 {
        width: 40%;
        margin: 5em 0 0 0 !important; } }
  @media screen and (max-width: 599px) {
    #about .about_img_grp01 {
      position: relative;
      top: -1em; } }
  #about .about_img_grp02 {
    width: 100%;
    display: flex;
    justify-content: space-around;
    position: relative;
    margin-top: 7vw; }
    #about .about_img_grp02 .img01 {
      width: 25%;
      max-width: 630px;
      margin: 0 0 0 1em !important; }
    @media screen and (max-width: 599px) {
      #about .about_img_grp02 .img01 {
        width: 50%;
        margin: 0 0 0 0 !important; } }
    #about .about_img_grp02 .img02 {
      width: 25%;
      max-width: 555px;
      margin: -5em 4em 0 0 !important; }
    @media screen and (max-width: 599px) {
      #about .about_img_grp02 .img02 {
        width: 40%;
        margin: 4em 1em 0 0 !important; } }
  @media screen and (max-width: 599px) {
    #about .about_img_grp02 {
      margin-top: 10vw; } }

@media screen and (max-width: 599px) {
  #about {
    margin-top: 5em; } }
/*倶知安e街ギフトKU-KURUとは？*/
#whats .pc_bgimg {
  position: relative; }
#whats .pc_bgimg::before {
  display: block;
  content: "";
  background: url("../images/what_img01.png") no-repeat;
  background-position: right 0;
  background-size: contain;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  right: 0; }
@media screen and (max-width: 599px) {
  #whats .pc_bgimg::before {
    display: none; } }
#whats h2 {
  font-weight: 500; }
@media screen and (max-width: 599px) {
  #whats h2 {
    text-align: center; } }
#whats p {
  margin-left: 0 !important;
  margin-right: 0 !important; }
@media screen and (max-width: 599px) {
  #whats p {
    max-width: 100%; } }
#whats p.half {
  width: 50%;
  margin-left: 0 !important;
  margin-right: 0 !important; }
@media screen and (max-width: 599px) {
  #whats p.half {
    width: 100%;
    max-width: 100%; } }

@media screen and (max-width: 599px) {
  #whats {
    margin-top: 5em; } }
/*寄附金はこんなことに使います*/
#purpose {
  padding-top: 0 !important;
  padding-bottom: 7em !important; }
  #purpose .stripe {
    width: 100%;
    max-width: 820px;
    position: relative;
    padding-bottom: 1em;
    padding-left: 1em;
    padding-right: 1em; }
    #purpose .stripe h3 {
      font-weight: 500;
      margin: 0 0 0 0 !important;
      padding: 0 0 0 0 !important;
      position: absolute;
      top: -18px;
      left: 65px;
      z-index: 2; }
    @media screen and (max-width: 599px) {
      #purpose .stripe h3 {
        text-align: center;
        margin: 0 auto !important;
        left: 0;
        right: 0; } }
  #purpose .stripe::before {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background-image: repeating-linear-gradient(45deg, #06b6d4, #06b6d4 2px, transparent 2px, transparent 15px);
    position: absolute;
    right: -1em;
    bottom: -1em;
    z-index: 0; }
  #purpose .border_box {
    border: solid 1px var(--wp--preset--color--theme-black);
    border-top: 0;
    position: relative;
    z-index: 0; }
  #purpose .border_box::before {
    display: block;
    content: "";
    width: 5%;
    height: 1px;
    background: var(--wp--preset--color--theme-black);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2; }
  @media screen and (max-width: 599px) {
    #purpose .border_box::before {
      width: 5%; } }
  #purpose .border_box::after {
    display: block;
    content: "";
    width: 60%;
    height: 1px;
    background: var(--wp--preset--color--theme-black);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2; }
  @media screen and (max-width: 599px) {
    #purpose .border_box::after {
      width: 5%; } }
  #purpose .clms_btn {
    position: relative;
    z-index: 1; }
  #purpose .clms_btn::before {
    display: block;
    content: "";
    width: 100%;
    height: 15px;
    background: #d8eaec;
    position: absolute;
    left: 0;
    bottom: -16px; }
  @media screen and (max-width: 599px) {
    #purpose .clms_btn::before {
      height: 5px;
      bottom: -6px; } }
  #purpose .clms_btn::after {
    display: block;
    content: "";
    width: 15px;
    height: 105%;
    background: #d8eaec;
    position: absolute;
    top: 0;
    right: -16px; }
  @media screen and (max-width: 599px) {
    #purpose .clms_btn::after {
      width: 5px;
      right: -6px; } }
  #purpose .purpose_clms {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.5em;
    position: relative;
    z-index: 1;
    padding: 3em 0 0 0;
    margin: 0 0 0 0 !important; }
    #purpose .purpose_clms .clm {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.25em;
      margin: 0 0 0 0 !important; }
    @media screen and (max-width: 599px) {
      #purpose .purpose_clms .clm {
        width: 45%;
        padding-bottom: 2em; } }
  @media screen and (max-width: 599px) {
    #purpose .purpose_clms {
      justify-content: center;
      flex-wrap: wrap;
      gap: 0; } }
  #purpose .wp-block-button a::after {
    display: none; }

@media screen and (max-width: 599px) {
  #purpose {
    margin-top: 0 !important;
    padding-top: 0 !important; } }
#point .takaku_box {
  padding: 3em 0;
  background: linear-gradient(45deg, transparent 20px, rgba(255, 255, 255, 0.9) 20px), linear-gradient(135deg, transparent 20px, rgba(255, 255, 255, 0.9) 20px), linear-gradient(225deg, transparent 20px, rgba(255, 255, 255, 0.9) 20px), linear-gradient(315deg, transparent 20px, rgba(255, 255, 255, 0.9) 20px);
  background-position: bottom left, top left, top right, bottom right;
  background-size: 50% 50%;
  background-repeat: no-repeat; }
  #point .takaku_box .point_clms .wp-block-column {
    position: relative;
    padding-bottom: 2em; }
    #point .takaku_box .point_clms .wp-block-column h3 {
      font-weight: bold; }
    #point .takaku_box .point_clms .wp-block-column figure img {
      width: 100%; }
    #point .takaku_box .point_clms .wp-block-column p {
      padding-left: 1em;
      padding-right: 1em; }
  #point .takaku_box .point_clms .wp-block-column::before,
  #point .takaku_box .point_clms .wp-block-column::after {
    display: block;
    content: "";
    height: 1px;
    background: var(--wp--preset--color--theme-black);
    position: absolute;
    z-index: 1; }
  #point .takaku_box .point_clms .wp-block-column::before {
    width: 88%;
    left: 0;
    bottom: 0; }
  #point .takaku_box .point_clms .wp-block-column::after {
    width: 7%;
    right: 0;
    bottom: 0; }
  @media screen and (max-width: 599px) {
    #point .takaku_box .point_clms {
      width: 80%; } }

#with {
  padding-top: 10em;
  padding-bottom: 5em; }
  #with h2 {
    font-weight: 500; }
    #with h2 span {
      display: inline-block;
      position: relative; }
    @media screen and (max-width: 599px) {
      #with h2 span {
        display: block; } }
    #with h2 span::before {
      display: block;
      content: "";
      background: url("../images/with_title_img.svg") no-repeat;
      background-position: 0 0;
      background-size: 100%;
      position: absolute;
      top: -6vw;
      left: -10vw;
      z-index: 1;
      width: 24vw;
      max-width: 395px;
      height: 20vw; }
    @media screen and (max-width: 599px) {
      #with h2 span::before {
        top: -22vw;
        left: 3vw;
        width: 60vw; } }
  #with .with_clms .wp-block-column {
    position: relative;
    padding: 0 1em; }
    #with .with_clms .wp-block-column h3 {
      position: relative;
      padding-bottom: 2.5em; }
    #with .with_clms .wp-block-column h3::before {
      display: block;
      content: "";
      background: url("../images/with_under_line.svg") no-repeat;
      background-position: 0 0;
      background-size: 100%;
      width: 100%;
      height: 14px;
      position: absolute;
      bottom: 0em;
      left: 0;
      right: 0;
      margin: 0 auto; }
  #with .with_clms .wp-block-column::before {
    display: block;
    content: "";
    width: 83px;
    height: 30%;
    background-image: linear-gradient(0deg, rgba(255, 255, 255, 0), rgba(252, 137, 21, 0.5) 40%, #fc8915);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0; }
  #with .with_clms .wp-block-column:nth-child(2) {
    margin-top: 2em; }
  #with .with_clms .wp-block-column:nth-child(3) {
    margin-top: 4em; }
  @media screen and (max-width: 599px) {
    #with .with_clms .wp-block-column:nth-child(3) {
      margin-top: 2em; } }

#method {
  padding-top: 5em;
  padding-bottom: 5em; }
  #method h2 {
    font-weight: 500; }
  #method .title_grp p span {
    display: inline-block;
    position: relative; }
  #method .title_grp p span::before, #method .title_grp p span::after {
    display: block;
    content: "";
    width: 27px;
    height: 3px;
    border-top: dotted 3px var(--wp--preset--color--theme-green);
    position: absolute;
    top: 50%; }
  #method .title_grp p span::before {
    left: -1.5em;
    transform: rotate(55deg); }
  #method .title_grp p span::after {
    right: -1.5em;
    transform: rotate(-55deg); }
  #method .method_clms .wp-block-column {
    position: relative; }
  @media screen and (max-width: 599px) {
    #method .method_clms .wp-block-column {
      padding: 0 1em 5em 1em; } }
  #method .method_clms .wp-block-column::after {
    display: block;
    content: "";
    background: url("../images/kadomaru_arrow.svg") no-repeat;
    background-position: 0 0;
    background-size: 100%;
    width: 21px;
    height: 24px;
    position: absolute;
    top: 50%;
    right: -2em;
    margin: -3em 0 0 0; }
  @media screen and (max-width: 599px) {
    #method .method_clms .wp-block-column::after {
      top: auto;
      bottom: 1em;
      left: 0;
      right: 0;
      margin: 0 auto 0 auto;
      transform: rotate(90deg); } }
  #method .method_clms .wp-block-column:last-child::after {
    display: none; }
  #method .wp-block-button a::after {
    display: none; }

#shop {
  position: relative;
  padding-top: 7em;
  padding-bottom: 7em; }
  #shop h2 {
    position: relative;
    font-weight: 500; }
    #shop h2 span {
      display: inline-block;
      position: relative; }
    @media screen and (max-width: 599px) {
      #shop h2 span {
        display: block; } }
    #shop h2 span::before {
      display: block;
      content: "";
      background: url("../images/check_title_img.svg") no-repeat;
      background-position: 0 0;
      background-size: 100%;
      position: absolute;
      top: -3vw;
      left: -9vw;
      z-index: 1;
      width: 12vw;
      max-width: 192px;
      height: 20vw; }
    @media screen and (max-width: 599px) {
      #shop h2 span::before {
        top: -14vw;
        left: 3vw;
        width: 30vw; } }
  @media screen and (max-width: 599px) {
    #shop h2::after {
      display: block;
      content: "";
      background: url("../images/shop_img02.png") no-repeat;
      background-position: 0 0;
      background-size: 100%;
      width: 100%;
      height: 100%;
      max-width: 53px;
      max-height: 53px;
      position: absolute;
      top: -2.5em;
      right: 0em;
      margin: 0 0 0 0; } }
  #shop .cate_menu {
    position: relative;
    z-index: 10; }
    #shop .cate_menu .wp-block-column figure a img {
      box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16); }
    #shop .cate_menu .wp-block-column figure a:hover {
      translate: 0 -0.5em; }
      #shop .cate_menu .wp-block-column figure a:hover img {
        box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0); }
    @media screen and (max-width: 599px) {
      #shop .cate_menu .wp-block-column {
        flex-basis: auto !important;
        width: 45%; } }
  @media screen and (max-width: 599px) {
    #shop .cate_menu {
      flex-wrap: wrap; } }
  @media screen and (max-width: 599px) {
    #shop .cate_menu::after {
      display: block;
      content: "";
      width: 45%; } }
  #shop .wp-block-buttons {
    position: relative; }
  #shop .wp-block-buttons::before {
    display: block;
    content: "";
    background: url("../images/shop_img02.png") no-repeat;
    background-position: 0 0;
    background-size: 100%;
    width: 100%;
    height: 100%;
    max-width: 53px;
    max-height: 53px;
    position: absolute;
    top: 0;
    left: -5em;
    margin: 0 0 0 0; }
  @media screen and (max-width: 599px) {
    #shop .wp-block-buttons::before {
      display: none; } }
  #shop .wp-block-button {
    min-width: max-content;
    max-width: max-content; }
    #shop .wp-block-button a::after {
      display: none; }
    #shop .wp-block-button .wp-block-button__link:hover {
      color: var(--wp--preset--color--theme-emegreen) !important; }

#shop::before, #shop::after {
  display: block;
  content: "";
  width: 100%;
  position: absolute; }

#shop::before {
  background: url("../images/shop_img01.png") no-repeat;
  background-position: 0 0;
  background-size: 100%;
  max-width: 129px;
  max-height: 143px;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  margin: 0 0 0 0; }

@media screen and (max-width: 599px) {
  #shop::before {
    max-width: 95px;
    max-height: 106px;
    top: -5em;
    left: 2em; } }
#shop::after {
  background: url("../images/shop_img03.png") no-repeat;
  background-position: 0 0;
  background-size: 100%;
  max-width: 112px;
  max-height: 154px;
  height: 100%;
  right: 0;
  bottom: 0;
  z-index: 1;
  margin: 0 0 0 0; }

@media screen and (max-width: 599px) {
  #shop::after {
    max-width: 95px;
    max-height: 133px;
    right: 2em;
    bottom: 10em; } }
@media screen and (max-width: 599px) {
  #shop {
    padding-top: 7em;
    padding-left: 1em;
    padding-right: 1em;
    padding-bottom: 3em; } }
#faq h2 {
  font-weight: 500; }
  #faq h2 span {
    display: inline-block;
    position: relative; }
  @media screen and (max-width: 599px) {
    #faq h2 span {
      display: block; } }
  #faq h2 span::before {
    display: block;
    content: "";
    background: url("../../qa/images/qa_title_img.svg") no-repeat;
    background-position: 0 0;
    background-size: 100%;
    position: absolute;
    top: -5vw;
    left: -12vw;
    z-index: 1;
    width: 20vw;
    max-width: 152px;
    height: 20vw; }
  @media screen and (max-width: 599px) {
    #faq h2 span::before {
      top: -9vw;
      left: 3vw;
      width: 20vw;
      max-width: 142px; } }
#faq details {
  border-bottom: solid 1px #393939;
  padding: 2em 0; }
  #faq details summary {
    font-family: var(--wp--preset--font-family--theme-mincho-text);
    font-size: var(--wp--preset--font-size--x-large);
    list-style: none;
    position: relative;
    padding-left: calc(1em + 0.5rem);
    padding-right: calc(1em + 0.5rem); }
  @media screen and (max-width: 599px) {
    #faq details summary {
      padding-right: 3.5em; } }
  #faq details summary::before {
    content: "Q";
    color: var(--wp--preset--color--theme-emegreen);
    padding-right: 0.5rem; }
  #faq details summary::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: calc(1em + 0.5rem);
    margin: auto;
    width: 1em;
    height: 1em;
    font-size: 1.4rem;
    text-align: center;
    line-height: 1;
    background-repeat: no-repeat;
    background-position: center; }
  #faq details p {
    width: 97%;
    margin-left: auto;
    margin-right: 0; }
#faq details:not([open]) summary::after {
  background-image: url("../../assets/images/icon_plus.svg"); }
#faq details[open] summary::after {
  background-image: url("../../assets/images/icon_minus.svg"); }

#home {
  height: 100vh;
  overflow-y: hidden; }
  #home::after {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background-color: var(--wp--preset--color--theme-emegreen);
    z-index: 9000; }
  #home.-loaded {
    width: auto;
    height: auto;
    overflow-y: inherit; }
    #home.-loaded::after {
      display: none; }
  #home .loading_cover {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 9100; }
    #home .loading_cover video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
    #home .loading_cover .video_skip {
      position: absolute;
      bottom: 0;
      right: 0;
      margin: 1.5rem;
      border: none;
      background: none;
      color: #FFFFFF;
      font-size: var(--wp--preset--font-size--x-small);
      text-decoration: none;
      letter-spacing: 0.1em;
      text-shadow: 0 0 1px var(--wp--preset--color--theme-emegreen), 0 0 2px var(--wp--preset--color--theme-emegreen), 0 0 3px var(--wp--preset--color--theme-emegreen);
      opacity: 0.6; }
      #home .loading_cover .video_skip:hover {
        opacity: 1; }
  @media (scripting: none) {
    #home {
      width: auto;
      height: auto;
      overflow-y: inherit; }
      #home::after {
        display: none; } }

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