@charset "UTF-8";
html {
  scroll-behavior: smooth;
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  background: #FFF;
  font-size: 1em;
  line-height: 1.5;
  font-family: Helvetica Neue, Helvetica, Roboto, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Noto, "メイリオ", Meiryo, sans-serif;
  color: #000;
  height: 100%;
}

img {
  border: none;
  vertical-align: bottom;
}

h1, h2, h3, h4, h5, h6, p, ul, li, dl, dt, dd, section, figure {
  margin: 0;
  padding: 0;
}

ul {
  list-style: none;
}

a {
  display: inline-block;
  text-decoration: underline;
  color: #0c7dc3;
}

a:hover {
  text-decoration: none;
}

a img {
  transition: opacity 300ms;
}

a:hover img {
  opacity: 0.85;
}

.cap {
  font-family: sans-serif;
}

.indent {
  padding-left: 1em;
  text-indent: -1em;
}

@media (min-width: 768px) {
  body {
    font-size: 14px;
    line-height: 1.5;
  }
  .sp-view {
    display: none;
  }
  .inner {
    margin: 0 auto;
    width: 980px;
  }
  .container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
  }
  .header {
    box-sizing: border-box;
    padding: 22px 0 0 0;
    width: 100%;
    min-width: 980px;
    height: 87px;
  }
  .main {
    flex: 1;
    width: 100%;
    min-width: 980px;
  }
  .cp-message {
    padding: 20px 0;
    background: #fafafa;
    width: 100%;
    min-width: 980px;
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
  }
  .cp-message h1 {
    font-weight: normal;
    font-size: 30px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #000;
  }
  .cp-link {
    padding: 50px 0;
    width: 100%;
    min-width: 980px;
  }
  .cp-link a {
    text-decoration: none;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #237be1;
  }
  .cp-link a[target=_blank]:after {
    content: "";
    display: inline-block;
    margin-left: 8px;
    margin-right: 6px;
    margin-bottom: 1px;
    background: url("/promotion/giftcard_campaign/20251020/close/images/icon_link_ext_blue.svg") 50% 50% no-repeat;
    width: 13px;
    height: 13px;
    vertical-align: -1px;
  }
  .footer {
    padding: 30px 0 40px 0;
    background: #000;
    width: 100%;
    min-width: 980px;
    border-top: 4px solid #237be1;
  }
  .footer-link ul {
    display: flex;
  }
  .footer-link li {
    margin: 0 0 0 20px;
  }
  .footer-link li:first-child {
    margin: 0;
  }
  .footer-link a {
    font-size: 14px;
    line-height: 1.5;
    color: #FFF;
  }
  .footer-link a[target=_blank]:after {
    content: "";
    display: inline-block;
    margin-left: 8px;
    margin-right: 6px;
    margin-bottom: 1px;
    background: url("/promotion/giftcard_campaign/20251020/close/images/icon_link_ext_white.svg") 50% 50% no-repeat;
    width: 13px;
    height: 13px;
    vertical-align: -2px;
  }
  .footer-bottom {
    display: flex;
    margin: 15px 0 0 0;
  }
  .footer-bottom-copyright {
    flex: 1;
    padding: 3px 0 0 22px;
  }
  .footer-bottom-copyright p {
    font-size: 14px;
    line-height: 1.5;
    color: #FFF;
  }
  .pagetop {
    position: fixed;
    right: 40px;
    bottom: 40px;
    z-index: 20;
  }
  .pagetop a {
    display: inline-block;
  }
  .pagetop a:focus {
    outline: none;
  }
}
@media (max-width: 767px) {
  img {
    width: 100%;
    height: auto;
  }
  .pc-view {
    display: none;
  }
  .container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
  }
  @supports (height: 100dvh) {
    .container {
      min-height: 100dvh;
    }
  }
  .header {
    box-sizing: border-box;
    width: 100%;
    height: calc(87 / 750 * 100vw);
  }
  .header-logo {
    margin: calc(21 / 750 * 100vw) 0 0 calc(27 / 750 * 100vw);
    width: calc(58 / 750 * 100vw);
  }
  .main {
    flex: 1;
    width: 100%;
  }
  .cp-message {
    box-sizing: border-box;
    padding: calc(12 / 750 * 100vw) calc(30 / 750 * 100vw);
    background: #fafafa;
    width: 100%;
    border-top: calc(2 / 750 * 100vw) solid #e8e8e8;
    border-bottom: calc(2 / 750 * 100vw) solid #e8e8e8;
  }
  .cp-message h1 {
    padding: calc((1lh - 1em) / 2 + calc(2 / 750 * 100vw)) 0;
    font-weight: normal;
    font-size: 3.6vw;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #000;
  }
  .cp-link {
    box-sizing: border-box;
    padding: calc(75 / 750 * 100vw) calc(30 / 750 * 100vw);
    width: 100%;
  }
  .cp-link a {
    text-decoration: none;
    font-size: 2.6vw;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #237be1;
  }
  .cp-link a[target=_blank]:after {
    content: "";
    display: inline-block;
    margin-left: calc(6 / 750 * 100vw);
    margin-right: calc(6 / 750 * 100vw);
    margin-bottom: calc(-1 / 750 * 100vw);
    background: url("/promotion/giftcard_campaign/20251020/close/images/icon_link_ext_blue.svg") 50% 50% no-repeat;
    background-size: contain;
    width: calc(19 / 750 * 100vw);
    height: calc(19 / 750 * 100vw);
  }
  .footer {
    box-sizing: border-box;
    padding: calc(115 / 750 * 100vw) calc(35 / 750 * 100vw) calc(50 / 750 * 100vw) calc(35 / 750 * 100vw);
    background: #000;
    width: 100%;
    border-top: calc(8 / 750 * 100vw) solid #237be1;
  }
  .footer-link ul {
    display: flex;
  }
  .footer-link li {
    margin: 0 0 0 calc(20 / 750 * 100vw);
  }
  .footer-link li:first-child {
    margin: 0;
  }
  .footer-link a {
    font-size: 2.6vw;
    line-height: 1.5;
    color: #FFF;
  }
  .footer-link a[target=_blank]:after {
    content: "";
    display: inline-block;
    margin-left: calc(6 / 750 * 100vw);
    margin-right: calc(6 / 750 * 100vw);
    margin-bottom: calc(-1 / 750 * 100vw);
    background: url("/promotion/giftcard_campaign/20251020/close/images/icon_link_ext_white.svg") 50% 50% no-repeat;
    background-size: contain;
    width: calc(19 / 750 * 100vw);
    height: calc(19 / 750 * 100vw);
  }
  .footer-bottom {
    margin: calc(30 / 750 * 100vw) 0 0 0;
  }
  .footer-bottom-logo {
    width: calc(86 / 750 * 100vw);
  }
  .footer-bottom-copyright {
    margin: calc(15 / 750 * 100vw) 0 0 0;
  }
  .footer-bottom-copyright p {
    font-size: 2.8vw;
    line-height: 1.5;
    color: #FFF;
  }
  .pagetop {
    position: fixed;
    right: calc(20 / 750 * 100vw);
    bottom: calc(200 / 750 * 100vw);
    width: calc(60 / 750 * 100vw);
    z-index: 20;
  }
  .pagetop a {
    display: inline-block;
  }
  .pagetop a:focus {
    outline: none;
  }
}