@charset "UTF-8";
/*
	Base
	-base
*/
html {
  font-size: 1rem;
}

body {
  font-family: "M PLUS 1p", sans-serif;
  font-optical-sizing: auto;
  font-size: 1rem;
  font-weight: normal;
  font-style: normal;
  font-variation-settings: "slnt" 0;
  color: rgb(18 7 0 / 1);
  line-height: 1;
  overflow-x: clip;
}
body :where(a) {
  color: inherit;
  text-decoration: none;
}
body :where(ul, ol) {
  list-style-type: "";
  padding: unset;
}
body :where(img) {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
body :where(button) {
  letter-spacing: 0.1em;
  touch-action: manipulation;
}

:lang(ja) {
  --leading-trim: calc((1em - 1lh) / 2);
}

:lang(en) {
  --leading-trim: calc((1cap - 1lh) / 2);
}

.leading-trim::before, .leading-trim::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.leading-trim::before {
  -webkit-margin-after: var(--leading-trim);
          margin-block-end: var(--leading-trim);
}
.leading-trim::after {
  -webkit-margin-before: var(--leading-trim);
          margin-block-start: var(--leading-trim);
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  padding: 0;
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  border: 0;
  outline: 0;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

a {
  padding: 0;
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  color: #000;
  text-decoration: none;
  background-color: #ff9;
}

/* change colours to suit your needs */
mark {
  color: #000;
  font-style: italic;
  font-weight: bold;
  background-color: #ff9;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  padding: 0;
  margin: 1em 0;
  border: 0;
  border-top: 1px solid #ccc;
}

input, select {
  vertical-align: middle;
}

* {
  box-sizing: border-box;
}

svg, img {
  vertical-align: middle;
  max-width: 100%;
}

li {
  list-style: none;
}

h1, h2, h3, h4, h5, h6, th, dt {
  font-weight: normal;
}

article, main, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, picture {
  display: block;
}

@media (max-width: 1100px) {
  img {
    width: 100%;
  }
}
/*----------------------------------------------------
	レスポンシブ
----------------------------------------------------*/
.hide {
  display: none;
}

.pc {
  display: inline;
}

.pc.block {
  display: block;
}

.sp {
  display: none;
}

.sp.block {
  display: none;
}

@media (max-width: 960px) {
  .sp {
    display: inline;
  }
  .sp.block {
    display: block;
  }
  .pc {
    display: none;
  }
  .pc.block {
    display: none;
  }
  img {
    width: 100%;
  }
}
/*----------------------------------------------------
	フォント
----------------------------------------------------*/
html {
  font-size: 16px;
}

@media (max-width: 960px) {
  html {
    font-size: 3vw;
  }
}
body {
  color: rgb(var(--color-222222));
  /* font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo", sans-serif; */
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  background-color: rgb(var(--color-ffffff));
}

.serif {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ 明朝", serif;
}

/*----------------------------------------------------
	リンク
----------------------------------------------------*/
a {
  color: inherit;
}

/* a:hover {
    opacity: 0.5;
} */
a {
  transition: opacity 0.3s ease-out;
}

@media (max-width: 960px) {
  a:hover {
    opacity: 1;
  }
}
/*
	Layouts
	-general
*/
/***********************************************
** section
***********************************************/
.l-section {
  position: relative;
  z-index: 0;
}
.l-section-header {
  display: none;
  position: fixed;
  inset: 0;
  background-position: center top;
}
.l-section-contents {
  position: relative;
  margin-inline: auto;
  min-height: 100svh;
  max-width: 100%;
  width: 100%;
  background-image: url(../img/header_bg_mobile.png);
  background-repeat: repeat;
  background-size: 100%;
  background-position: center top;
  box-shadow: 0px 3px 6px rgb(18 7 0 / 0.16);
  z-index: 10;
  overflow-x: clip;
}

@media print, screen and (min-width: 751px) and (max-width: 1300px) {
  .l-section-header {
    display: block;
    background-image: url(../img/header_bg_desktop.png);
    background-size: 2357px;
    background-position: left top;
  }
  .l-section-contents {
    margin-inline: auto 0;
    width: 520px;
  }
}
@media print, screen and (min-width: 1301px) {
  .l-section-header {
    display: block;
    background-image: url(../img/header_bg_desktop.png);
    background-size: 2357px;
  }
  .l-section-contents {
    margin-inline: auto;
    width: 520px;
  }
}
/***********************************************
** outline
***********************************************/
.l-outline-logo {
  display: grid;
  place-items: center;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: calc(50% - 260px);
  padding-block: 1rem;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-outline-logo::-webkit-scrollbar {
  display: none;
}
.l-outline-logo > div:not([class]) {
  width: 61.0715%;
}
.l-outline-logo > div:not([class]) p > img {
  width: 100%;
}
.l-outline-logo-list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 5.5715% auto 0;
  width: 95.9065%;
}
.l-outline-logo-list li {
  width: 48.7805%;
  line-height: 0;
}
.l-outline-logo-list li a {
  display: block;
}
.l-outline-logo-list li a > img {
  width: 100%;
}
.l-outline-nav {
  display: grid;
  place-items: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: calc(50% - 260px);
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-outline-nav::-webkit-scrollbar {
  display: none;
}
.l-outline-btn {
  margin-top: 4.792%;
  width: 18.8096%;
}
.l-outline-btn a {
  display: block;
  transition: opacity 0.2s ease-in-out;
}
.l-outline-btn a > img {
  width: 100%;
}
.l-outline-btn a:focus-visible {
  opacity: 0.5;
}
@media (any-hover: hover) {
  .l-outline-btn a:where(:-webkit-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .l-outline-btn a:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .l-outline-btn a:where(:any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-outline-btn a.touch-active {
      opacity: 0.5;
    }
  }
}

@media print, screen and (min-width: 751px) and (max-width: 1300px) {
  .l-outline-logo {
    width: calc(100% - 520px);
  }
  .l-outline.left {
    display: none;
  }
}
/*
	Components
	-accordion
*/
.accordion__btn {
  position: relative;
  display: block;
  width: 100%;
}
.accordion__btn > img {
  width: 100%;
}
.accordion__content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease-in;
}
.accordion__inner {
  transition: padding-top 0.4s ease-in;
  overflow: hidden;
}
.accordion__area {
  padding: 6.2696% 6.2696% 8.7775% 6.2696%;
  background-color: rgb(255 255 255 / 1);
}
.accordion:has(.accordion__btn[aria-expanded=true]) .p-info-accordion__ttl::after {
  transform: rotate(0deg);
}
.accordion:has(.accordion__btn[aria-expanded=true]) .accordion__content {
  grid-template-rows: 1fr;
}

/*
	Animation
	-an-main
*/
.fadeIn {
  --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
  translate: 0 0.6em;
  opacity: 0;
}
.fadeIn.is-show {
  transition: opacity 0.8s var(--ease-out-cubic), translate 0.8s var(--ease-out-cubic);
  translate: 0;
  opacity: 1;
}

@-webkit-keyframes waveFlowRight {
  0% {
    -webkit-mask-position: 100% 0%;
    mask-position: 100% 0%;
  }
  100% {
    -webkit-mask-position: -100% 0%;
    mask-position: -100% 0%;
  }
}

@keyframes waveFlowRight {
  0% {
    -webkit-mask-position: 100% 0%;
    mask-position: 100% 0%;
  }
  100% {
    -webkit-mask-position: -100% 0%;
    mask-position: -100% 0%;
  }
}
@-webkit-keyframes waveFlowLeft {
  0% {
    -webkit-mask-position: 100% 100%;
    mask-position: 100% 100%;
  }
  100% {
    -webkit-mask-position: -100% 100%;
    mask-position: -100% 100%;
  }
}
@keyframes waveFlowLeft {
  0% {
    -webkit-mask-position: 100% 100%;
    mask-position: 100% 100%;
  }
  100% {
    -webkit-mask-position: -100% 100%;
    mask-position: -100% 100%;
  }
}
@-webkit-keyframes waveBlurRight {
  0% {
    background-position: 100% 0%;
  }
  100% {
    background-position: -100% 0%;
  }
}
@keyframes waveBlurRight {
  0% {
    background-position: 100% 0%;
  }
  100% {
    background-position: -100% 0%;
  }
}
@-webkit-keyframes draw {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes draw {
  to {
    stroke-dashoffset: 0;
  }
}
@-webkit-keyframes position-wiggle {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
  }
  25% {
    transform: translate(10px, -5px);
  }
  50% {
    transform: translate(-15px, 15px);
  }
  75% {
    transform: translate(5px, -10px);
  }
}
@keyframes position-wiggle {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
  }
  25% {
    transform: translate(10px, -5px);
  }
  50% {
    transform: translate(-15px, 15px);
  }
  75% {
    transform: translate(5px, -10px);
  }
}
@-webkit-keyframes rotate-wiggle {
  0%, 100% {
    transform: rotate(0deg);
  }
  30% {
    transform: rotate(4deg);
  }
  70% {
    transform: rotate(-5deg);
  }
}
@keyframes rotate-wiggle {
  0%, 100% {
    transform: rotate(0deg);
  }
  30% {
    transform: rotate(4deg);
  }
  70% {
    transform: rotate(-5deg);
  }
}
[data-animate-category=rotate] {
  opacity: 0;
  transform: rotateY(-90deg);
  transition: opacity 0.6s ease-in-out, transform 0.6s ease-in-out;
}

[data-animate-category=rotate].is-show {
  opacity: 1;
  transform: rotateY(0deg);
}

[data-animate-category=fade] {
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
}

[data-animate-category=fade].is-show {
  opacity: 1;
}

/*
	Pages
	-home
*/
/*----------------------------------------------------
	おでかけアプリ
----------------------------------------------------*/
/* common */
img {
  height: auto;
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}
/* root */
:root {
  /* part1 */
  --color-ffffff: 255 255 255;
  --color-333333: 51 51 51;
  --color-29afaa: 41 175 170;
  --color-1b8487: 27 132 135;
  --color-fff039: 255 240 57;
  --color-fffb8b: 255 251 139;
  --color-e23e70: 226 62 112;
  --color-319092: 49 144 146;
  --color-fffed6: 255 254 214;
  --color-e3f4f0: 227 244 240;
  /* part2 */
  --color-000000: 0 0 0;
  --color-222222: 34 34 34;
  --color-106aa0: 16 106 160;
  --color-1675ad: 22 117 173;
  --color-163e55: 22 62 85;
  --color-7fc5eb: 127 197 235;
  --color-cfe1ec: 207 225 236;
  --color-fff093: 255 240 147;
  --color-fffbdf: 255 251 223;
  --color-1775ad: 23 117 173;
  --color-e8f5fc: 232 245 252;
  --color-006baa: 0 107 170;
  --color-ea5532: 234 85 50;
  --color-ffec76: 255 236 118;
  --color-fff19f: 255 241 159;
  --color-b8e6ff: 184 230 255;
  --color-1f7dB4: 31 125 180;
  --color-d2ecfa: 210 236 250;
  --color-00588d: 0 88 141;
  --color-eff0f0: 239 240 240;
  --color-eaf8ff: 234 248 255;
  --color-cddb00: 205 219 0;
  --color-e7346e: 231 52 110;
  --color-1978af: 25 120 175;
  --color-e3f3fd: 227 243 253;
  --color-d9e6de: 217 230 222;
  --color-006955: 0 105 85;
  --color-faf7ef: 250 247 239;
  --color-d5e6d8: 213 230 216;
  --color-dde9dd: 221 233 221;
  --color-f4f0e5: 244 240 229;
  --color-f3f0e5: 243 240 229;
  --color-d30808: 211 8 8;
  --color-9b7216: 155 114 22;
  --color-571904: 87 25 4;
  --color-e2efe2: 226 239 226;
  --color-faf7e5: 250 247 229;
  --color-dff048: 223 240 72;
  --color-f1f5c6: 241 245 198;
  --color-007c30: 0 124 48;
  --color-fbf7ef: 251 247 239;
  --color-fefdfa: 254 253 250;
  --color-e2eddf: 226 237 223;
  --color-f13774: 241 55 116;
  --color-f4f4f4: 244 244 244;
  --color-fffaeb: 255 250 235;
  --color-ffffb9: 255 255 185;
  --color-dc2e7f: 220 46 127;
  --color-f8e6e9: 248 230 233;
  --color-4f1f00: 79 31 0;
  --color-acacac: 172 172 172;
  --color-ec3169: 236 49 105;
  --font-outfit: "Outfit", sans-serif;
  --font-roboto: "Roboto", sans-serif;
  --font-bebas: "Bebas Neue", sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --leading-trim: calc((1em - 1lh) / 2);
  --transition-duration-fast: 0.2s;
  --transition-duration-medium: 0.4s;
  --transition-duration-slow: 0.6s;
  --z-index-download: 1000;
  --z-index-footer: 1500;
  --z-index-header: 2000;
}

/* utility */
.br_sp {
  display: none;
}

.br_pc {
  display: block;
}

@media screen and (max-width: 767px) {
  .br_sp {
    display: block;
  }
  .br_pc {
    display: none;
  }
}
/* component */
.c-sec_head {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  row-gap: 4px;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.c-sec_ttl {
  padding-block: var(--leading-trim);
  font-size: 74px;
  line-height: 1.257;
  letter-spacing: 0.08em;
  font-weight: var(--font-weight-bold);
  font-family: var(--font-outfit);
  color: rgb(var(--color-ffffff));
  text-transform: uppercase;
}

.c-sec_sub {
  padding-block: var(--leading-trim);
  font-size: 32px;
  line-height: 1.438;
  font-weight: var(--font-weight-bold);
  text-align: center;
}

.c-sec_sub[data-name=point] {
  color: rgb(var(--color-006baa));
}

.c-sec_sub[data-name=campaign] {
  color: rgb(var(--color-ea5532));
}

.c-btn-more {
  --_border-radius: 50vh;
  --_drop-shadow-y: 2px;
  --_drop-shadow-b: 4px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--_border-radius);
  filter: drop-shadow(0 var(--_drop-shadow-y) var(--_drop-shadow-b) rgb(var(--color-000000)/0.08));
  --webkit-filter: drop-shadow(0 var(--_drop-shadow-y) var(--_drop-shadow-b) rgb(var(--color-000000) /.08));
  text-decoration: none;
  transition: var(--transition-duration-medium) linear;
  overflow: clip;
}

.c-btn-more[data-size=sm] {
  padding-block: calc(11px + var(--leading-trim)) calc(12px + var(--leading-trim));
  padding-inline: 20px;
  inline-size: min(100%, 264px);
  font-size: 16px;
  line-height: 1;
  font-weight: var(--font-weight-bold);
}

.c-btn-more[data-size=sm]::after {
  --_mask-image: url(../img/i-btn-arrow-sm.svg);
  right: 20px;
  width: 12px;
  aspect-ratio: 12/10;
  -webkit-mask-image: var(--_mask-image);
          mask-image: var(--_mask-image);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  --webkit-mask-image: var(--_mask-image);
  --webkit-mask-repeat: no-repeat;
  --webkit-mask-size: 100% auto;
}

.c-btn-more[data-size=lg] {
  padding-block: calc(20px + var(--leading-trim)) calc(22px + var(--leading-trim));
  padding-inline: 28px;
  inline-size: min(100%, 344px);
  font-size: 18px;
  line-height: 1;
  font-weight: var(--font-weight-bold);
}

.c-btn-more[data-size=lg]::after {
  --_mask-image: url(../img/i-btn-arrow-lg.svg);
  right: 28px;
  width: 15px;
  aspect-ratio: 15/12;
  -webkit-mask-image: var(--_mask-image);
          mask-image: var(--_mask-image);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  --webkit-mask-image: var(--_mask-image);
  --webkit-mask-repeat: no-repeat;
  --webkit-mask-size: 100% auto;
}

.c-btn-more[data-color=yellow] {
  color: rgb(var(--color-ea5532));
  background: rgb(var(--color-ffec76));
}

.c-btn-more[data-color=yellow]::before {
  background: rgb(var(--color-fff19f));
}

.c-btn-more[data-color=blue] {
  color: rgb(var(--color-ffffff));
  background: rgb(var(--color-006baa));
}

.c-btn-more[data-color=blue]::before {
  background: rgb(var(--color-1f7dB4));
}

.c-btn-more::before {
  --_z-index: -1;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(0 0, 28% 0, 12% 100%, 0% 100%);
          clip-path: polygon(0 0, 28% 0, 12% 100%, 0% 100%);
  transition: var(--transition-duration-fast) linear;
  z-index: var(--_z-index);
}

.c-btn-more::after {
  content: "";
  position: absolute;
  background-color: currentColor;
  transition: var(--transition-duration-fast) linear;
}

@media (any-hover: hover) {
  .c-btn-more:hover {
    --_drop-shadow-y: 0px;
    --_drop-shadow-b: 0px;
  }
  .c-btn-more:hover::before {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
  .c-btn-more[data-size=sm]:hover::after {
    transform: translateX(4px);
  }
  .c-btn-more[data-size=lg]:hover::after {
    transform: translateX(4px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
  .c-sec_head {
    row-gap: 0.313vw;
  }
  .c-sec_ttl {
    font-size: 5.782vw;
  }
  .c-sec_sub {
    font-size: 2.5vw;
  }
  .c-btn-more {
    --_drop-shadow-y: 0.157vw;
    --_drop-shadow-b: 0.313vw;
  }
  .c-btn-more[data-size=sm] {
    padding-block: calc(0.86vw + var(--leading-trim)) calc(0.938vw + var(--leading-trim));
    padding-inline: 1.563vw;
    inline-size: min(100%, 20.625vw);
    font-size: 1.25vw;
  }
  .c-btn-more[data-size=sm]::after {
    right: 1.563vw;
    width: 0.938vw;
  }
  .c-btn-more[data-size=lg] {
    padding-block: calc(1.563vw + var(--leading-trim)) calc(1.719vw + var(--leading-trim));
    padding-inline: 2.188vw;
    inline-size: min(100%, 26.875vw);
    font-size: 1.407vw;
  }
  .c-btn-more[data-size=lg]::after {
    right: 2.188vw;
    width: 1.172vw;
  }
}
@media screen and (max-width: 767px) {
  .c-sec_head {
    row-gap: 1.334vw;
  }
  .c-sec_ttl {
    font-size: 11.734vw;
  }
  .c-sec_sub {
    font-size: 5.334vw;
    line-height: 1.6;
  }
  .c-btn-more {
    --_border-radius: 50vh;
    --_drop-shadow-y: 0.534vw;
    --_drop-shadow-b: 1.067vw;
  }
  .c-btn-more[data-size=sm] {
    padding-block: calc(3.734vw + var(--leading-trim)) calc(3.734vw + var(--leading-trim));
    padding-inline: 5.334vw;
    inline-size: min(100%, 70.134vw);
    font-size: 3.734vw;
  }
  .c-btn-more[data-size=sm]::after {
    right: 5.334vw;
    width: 2.667vw;
    aspect-ratio: 10/8;
  }
  .c-btn-more[data-size=lg] {
    padding-block: calc(4vw + var(--leading-trim)) calc(4.534vw + var(--leading-trim));
    padding-inline: 5.334vw;
    inline-size: min(100%, 80.8vw);
    font-size: 4.267vw;
  }
  .c-btn-more[data-size=lg]::after {
    right: 5.334vw;
    width: 2.667vw;
    aspect-ratio: 10/8;
  }
}
/* header */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  padding: 12px 12px 0 0;
  z-index: var(--z-index-header);
}

.l-header .p-header-hamburger {
  --_border-radius: 8px;
  --_border-size: 2px;
  --_drop-shadow-b: 8px;
  --_z-index: 1;
  position: relative;
  display: block;
  margin-left: auto;
  padding-inline: unset;
  width: 80px;
  height: 80px;
  border-radius: var(--_border-radius);
  border: var(--_border-size) solid rgb(var(--color-ffffff));
  background-color: rgb(var(--color-106aa0));
  filter: drop-shadow(0 0 var(--_drop-shadow-b) rgb(var(--color-000000)/0.08));
  --webkit-filter: drop-shadow(0 0 var(--_drop-shadow-b) rgb(var(--color-000000) /.08));
  cursor: pointer;
  z-index: var(--_z-index);
}

.l-header .p-header-hamburger[aria-expanded=true] {
  --_border-radius: 24px;
  --_border-size: 3px;
  --_drop-shadow-b: 0px;
  padding-left: 6px;
  border-color: transparent;
  background-color: transparent;
}

.l-header .p-header-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  padding-top: 12px;
}

.l-header .p-header-btn .p-header-btn-line {
  --_border-radius: 3px;
  position: relative;
  display: inline-block;
  width: 28px;
  height: 3px;
  border-radius: var(--_border-radius);
  background-color: rgb(var(--color-ffffff));
}

.l-header .p-header-btn .p-header-btn-line::before {
  --_border-radius: 3px;
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  border-radius: var(--_border-radius);
  background-color: rgb(var(--color-ffffff));
  transform: translateY(-10px);
  transform-origin: left;
  transition: transform var(--transition-duration-fast);
}

.l-header .p-header-btn .p-header-btn-line::after {
  --_border-radius: 3px;
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  border-radius: var(--_border-radius);
  background-color: rgb(var(--color-ffffff));
  transform: translateY(10px);
  transform-origin: left;
  transition: transform var(--transition-duration-fast);
}

.l-header .p-header-hamburger[aria-expanded=true] .p-header-btn .p-header-btn-line {
  background-color: transparent;
}

.l-header .p-header-hamburger[aria-expanded=true] .p-header-btn .p-header-btn-line::before {
  transform: translateY(-9px) rotate(40deg);
}

.l-header .p-header-hamburger[aria-expanded=true] .p-header-btn .p-header-btn-line::after {
  transform: translateY(9px) rotate(-40deg);
}

.l-header .p-header-btn .p-header-btn-text {
  display: inline-block;
  margin-top: 12px;
  max-height: unset;
  font-size: 16px;
  line-height: 1.438;
  letter-spacing: 0.02em;
  font-weight: var(--font-weight-bold);
  font-family: var(--font-outfit);
  color: rgb(var(--color-ffffff));
}

.l-header .p-header-hamburger[aria-expanded=true] .p-header-btn .p-header-btn-text {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
}

.l-header .p-header-nav {
  --_border-radius: 24px;
  --_border-size: 3px;
  --_z-index: -1;
  position: absolute;
  top: 12px;
  right: 12px;
  width: 660px;
  height: auto;
  max-height: calc(100dvh - 22px);
  border-radius: var(--_border-radius);
  border: var(--_border-size) solid rgb(var(--color-ffffff));
  background-color: rgb(var(--color-006baa));
  overflow-x: hidden;
  overflow-y: auto;
  transform-origin: top right;
  transition: var(--transition-duration-medium) ease-in-out;
  z-index: var(--_z-index);
  opacity: 0;
  visibility: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.l-header .p-header-nav::-webkit-scrollbar {
  display: none;
}

.l-header .p-header-nav.active {
  opacity: 1;
  visibility: visible;
}

.l-header .p-header-nav .p-header-list {
  margin-inline: auto;
  padding-block: 49px 29px;
  max-width: 500px;
}

.l-header .p-header-nav .p-header-list li + li {
  --_border-size: 2px;
  border-top: var(--_border-size) solid rgb(var(--color-7fc5eb));
}

.l-header .p-header-nav .p-header-list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 24px 27px;
  font-size: 24px;
  line-height: 1.334;
  font-weight: var(--font-weight-bold);
  color: rgb(var(--color-ffffff));
  text-decoration: none;
}

.l-header .p-header-nav .p-header-app {
  padding-block: 34px 43px;
  background-color: rgb(var(--color-00588d));
}

.l-header .p-header-nav .p-header-app .lead {
  margin-bottom: 20px;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 18px;
  line-height: 1.278;
  font-weight: var(--font-weight-bold);
  color: rgb(var(--color-ffffff));
}

.l-header .p-header-nav .p-header-app .list {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 20px;
       column-gap: 20px;
}

.l-header .p-header-nav .p-header-app .list li a {
  display: block;
  line-height: 1;
}

.l-header .p-header-nav .p-header-app .list li:first-child {
  width: 142px;
}

.l-header .p-header-nav .p-header-app .list li:nth-child(2) {
  width: 175px;
}

.l-header .p-header-mask {
  --_z-index: -2;
  display: none;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100dvh;
  background-color: rgb(var(--color-163e55)/0.6);
  z-index: var(--_z-index);
}

.l-header .p-header-mask.active {
  display: block;
}

@media screen and (min-width: 768px) and (max-width: 1280px) {
  .l-header {
    padding: 0.938vw 0.938vw 0 0;
  }
  .l-header .p-header-hamburger {
    --_border-radius: 0.625vw;
    --_border-size: 0.157vw;
    --_drop-shadow-b: 0.625vw;
    width: 6.25vw;
    height: 6.25vw;
  }
  .l-header .p-header-hamburger[aria-expanded=true] {
    --_border-radius: 1.875vw;
    --_border-size: 0.235vw;
    --_drop-shadow-b: 0px;
    padding-left: 0.469vw;
  }
  .l-header .p-header-btn {
    padding-top: 0.938vw;
  }
  .l-header .p-header-btn .p-header-btn-line {
    --_border-radius: 0.235vw;
    width: 2.188vw;
    height: 0.235vw;
  }
  .l-header .p-header-btn .p-header-btn-line::before {
    --_border-radius: 0.235vw;
    height: 0.235vw;
    transform: translateY(-0.782vw);
  }
  .l-header .p-header-btn .p-header-btn-line::after {
    --_border-radius: 0.235vw;
    height: 0.235vw;
    transform: translateY(0.782vw);
  }
  .l-header .p-header-hamburger[aria-expanded=true] .p-header-btn .p-header-btn-line::before {
    transform: translateY(-0.704vw) rotate(40deg);
  }
  .l-header .p-header-hamburger[aria-expanded=true] .p-header-btn .p-header-btn-line::after {
    transform: translateY(0.704vw) rotate(-40deg);
  }
  .l-header .p-header-btn .p-header-btn-text {
    margin-top: 0.938vw;
    font-size: 1.25vw;
  }
  .l-header .p-header-nav {
    --_border-radius: 1.875vw;
    --_border-size: 0.235vw;
    top: 0.938vw;
    right: 0.938vw;
    width: 51.563vw;
  }
  .l-header .p-header-nav .p-header-list {
    padding-block: 3.829vw 2.266vw;
    max-width: unset;
    width: 39.063vw;
  }
  .l-header .p-header-nav .p-header-list li + li {
    --_border-size: 0.157vw;
  }
  .l-header .p-header-nav .p-header-list li a {
    padding-block: 1.875vw 2.11vw;
    font-size: 1.875vw;
  }
  .l-header .p-header-nav .p-header-app {
    padding-block: 2.657vw 3.36vw;
  }
  .l-header .p-header-nav .p-header-app .lead {
    margin-bottom: 1.563vw;
    font-size: 1.407vw;
  }
  .l-header .p-header-nav .p-header-app .list {
    -moz-column-gap: 1.563vw;
         column-gap: 1.563vw;
  }
  .l-header .p-header-nav .p-header-app .list li:first-child {
    width: 11.094vw;
  }
  .l-header .p-header-nav .p-header-app .list li:nth-child(2) {
    width: 13.672vw;
  }
}
@media screen and (max-width: 767px) {
  .l-header {
    padding: 4px 4px 0 0;
  }
  .l-header .p-header-hamburger {
    --_border-radius: 5px;
    --_border-size: 1.5px;
    --_drop-shadow-b: 8px;
    width: 52px;
    height: 52px;
  }
  .l-header .p-header-hamburger[aria-expanded=true] {
    --_border-radius: 24px;
    --_border-size: 3px;
    --_drop-shadow-b: 0px;
    padding-left: 6px;
  }
  .l-header .p-header-btn {
    padding-top: 0;
  }
  .l-header .p-header-btn .p-header-btn-line {
    --_border-radius: 2px;
    width: 18px;
    height: 1.5px;
  }
  .l-header .p-header-btn .p-header-btn-line::before {
    --_border-radius: 2px;
    height: 1.5px;
    transform: translateY(-5px);
  }
  .l-header .p-header-btn .p-header-btn-line::after {
    --_border-radius: 2px;
    height: 1.5px;
    transform: translateY(5px);
  }
  .l-header .p-header-hamburger[aria-expanded=true] .p-header-btn .p-header-btn-line::before {
    transform: translateY(-2.5px) rotate(40deg);
  }
  .l-header .p-header-hamburger[aria-expanded=true] .p-header-btn .p-header-btn-line::after {
    transform: translateY(9px) rotate(-40deg);
  }
  .l-header .p-header-btn .p-header-btn-text {
    margin-top: 8px;
    font-size: 11px;
  }
  .l-header .p-header-nav {
    --_border-radius: 12px;
    --_border-size: 2px;
    top: 4px;
    right: 4px;
    width: 95.734vw;
    max-height: calc(100dvh - 8px);
  }
  .l-header .p-header-nav .p-header-list {
    margin-inline: auto;
    padding-block: 43px 10px;
    max-width: unset;
    width: 81.895%;
  }
  .l-header .p-header-nav .p-header-list li + li {
    --_border-size: 2px;
  }
  .l-header .p-header-nav .p-header-list li a {
    padding-block: 22px 25px;
    font-size: 18px;
  }
  .l-header .p-header-nav .p-header-app {
    padding-block: 26px 40px;
  }
  .l-header .p-header-nav .p-header-app .lead {
    margin-bottom: 16px;
    font-size: 16px;
  }
  .l-header .p-header-nav .p-header-app .list {
    -moz-column-gap: 12px;
         column-gap: 12px;
  }
  .l-header .p-header-nav .p-header-app .list li:first-child {
    width: 125px;
  }
  .l-header .p-header-nav .p-header-app .list li:nth-child(2) {
    width: 155px;
  }
}
/* main */
.l-main {
  overflow-x: hidden;
}

/* mv */
.l-mv {
  position: relative;
}
.l-mv img {
  width: 100%;
}

/* campaign */
.l-campaign {
  padding-block: 8.5334% 16%;
}

.l-campaign .p-campaign-content {
  --_border-radius: 6px;
  --_border-size: 2px;
  margin-inline: auto;
  width: 91.4667%;
  border-radius: var(--_border-radius);
  border: var(--_border-size) solid rgb(var(--color-222222));
  overflow: hidden;
}

.l-campaign .p-campaign-heading {
  padding-block: 6.4407% 5.7628%;
  background-color: rgb(var(--color-222222));
}

.l-campaign .p-campaign-heading .main-ttl > img {
  width: 100%;
}

.l-campaign .p-campaign-outline {
  padding: 8.2596% 6.4897% 14.7493%;
  background-color: rgb(var(--color-f4f4f4));
}

.l-campaign .p-campaign-dist .term {
  margin-inline: auto;
  width: 60.339%;
}

.l-campaign .p-campaign-dist .term img {
  width: 100%;
}

.l-campaign .p-campaign-dist .desc {
  margin-top: 2.7119%;
}

.l-campaign .p-campaign-dist .desc .txt {
  font-size: calc((18 / 375) * 100vw);
  line-height: 1.6667;
  font-weight: var(--font-weight-bold);
  text-align: center;
}

.l-campaign .p-campaign-dist .desc .lottery {
  margin-top: 7.4577%;
}

.l-campaign .p-campaign-dist .p-campaign-notice {
  margin-top: 2.7119%;
  font-size: calc((12 / 375) * 100vw);
  line-height: 1.4167;
}

.l-campaign .p-campaign-list {
  display: flex;
  flex-direction: column;
  row-gap: calc((32 / 375) * 100vw);
  margin-top: 10.8475%;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-ttl {
  padding: 4.4068% 7.4577% 5.7628%;
  font-size: calc((15 / 375) * 100vw);
  line-height: 1.6;
  letter-spacing: 0.01em;
  font-weight: var(--font-weight-bold);
  color: rgb(var(--color-ffffb9));
  background-color: rgb(var(--color-222222));
  text-align: center;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-ttl .large {
  display: block;
  font-size: calc((18 / 375) * 100vw);
  line-height: 1.3334;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-txt {
  margin-top: 5.4238%;
  font-size: calc((16 / 375) * 100vw);
  line-height: 1.625;
  letter-spacing: 0.02em;
  font-weight: var(--font-weight-bold);
  text-align: center;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-txt.txt-left {
  text-align: left;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-txt .color {
  color: rgb(var(--color-ec3169));
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-txt .small {
  font-size: calc((12 / 375) * 100vw);
  line-height: 2.1667;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-entry {
  --_border-radius: 4px;
  position: relative;
  margin-top: 8.1354%;
  padding: 5.7628% 4.7458% 6.1017%;
  border-radius: var(--_border-radius);
  background-color: rgb(var(--color-f8e6e9));
  text-align: center;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-entry::after {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  width: 7.4577%;
  aspect-ratio: 22/14;
  background-color: rgb(var(--color-f8e6e9));
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-entry p:nth-child(1) {
  font-size: calc((15 / 375) * 100vw);
  line-height: 1.4667;
  font-weight: var(--font-weight-bold);
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-entry p:nth-child(2) {
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.5715;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow {
  margin-top: 10.1695%;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li {
  position: relative;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li:not(:nth-child(1)) {
  padding-top: 17.6272%;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li:nth-child(2)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 30%) rotate(90deg);
  width: 5.4238%;
  aspect-ratio: 1/2;
  -webkit-mask-image: url(../img/i-campaign-triangle.svg);
          mask-image: url(../img/i-campaign-triangle.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: rgb(var(--color-acacac));
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li:nth-child(2)::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 50%) rotate(90deg);
  width: 5.4238%;
  aspect-ratio: 1/2;
  -webkit-mask-image: url(../img/i-campaign-triangle.svg);
          mask-image: url(../img/i-campaign-triangle.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: rgb(var(--color-acacac));
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li .num {
  margin-inline: auto;
  width: 21.695%;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li .txt {
  margin: 5.4238%;
  font-size: calc((16 / 375) * 100vw);
  line-height: 1.625;
  font-weight: var(--font-weight-bold);
  text-align: center;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li .txt .regular {
  display: block;
  font-size: calc((16 / 375) * 100vw);
  line-height: 1.625;
  font-weight: var(--font-weight-regular);
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li .visual {
  margin: 6.7797% auto 0;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li .qr {
  display: none;
  margin: 6.7797% auto 0;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li .btn {
  margin: 6.7797% auto 0;
  width: 84.0678%;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li .btn a {
  --_border-radius: 100vmax;
  position: relative;
  display: block;
  padding: 5.242% 6.4517%;
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.4286;
  font-weight: var(--font-weight-bold);
  color: rgb(var(--color-ffffff));
  border-radius: var(--_border-radius);
  background-color: rgb(var(--color-dc2e7f));
  text-align: center;
}

.l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li .btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 6.4517%;
  transform: translateY(-50%);
  width: 3.6291%;
  aspect-ratio: 1;
  background-image: url(../img/i-download-target.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

@media (any-hover: hover) {
  .l-campaign .p-campaign-note li a:hover {
    text-decoration: unset;
  }
}
@media screen and (min-width: 751px) {
  .l-campaign .p-campaign-content {
    width: 91.4667%;
  }
  .l-campaign .p-campaign-dist .desc .txt {
    font-size: calc((18 / 375 * 520) * 1px);
  }
  .l-campaign .p-campaign-dist .p-campaign-notice {
    font-size: calc((12 / 375 * 520) * 1px);
  }
  .l-campaign .p-campaign-list {
    row-gap: calc((32 / 375 * 520) * 1px);
  }
  .l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-txt {
    font-size: calc((16 / 375 * 520) * 1px);
  }
  .l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-txt .small {
    font-size: calc((12 / 375 * 520) * 1px);
  }
  .l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-ttl {
    font-size: calc((15 / 375 * 520) * 1px);
  }
  .l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-ttl .large {
    font-size: calc((18 / 375 * 520) * 1px);
  }
  .l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-entry p:nth-child(1) {
    font-size: calc((15 / 375 * 520) * 1px);
  }
  .l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-entry p:nth-child(2) {
    font-size: calc((14 / 375 * 520) * 1px);
  }
  .l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li .txt {
    font-size: calc((16 / 375 * 520) * 1px);
  }
  .l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li .txt .regular {
    font-size: calc((16 / 375 * 520) * 1px);
  }
  .l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li .qr {
    display: block;
  }
  .l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li .btn {
    display: none;
  }
  .l-campaign .p-campaign-list .p-campaign-item .p-campaign-item-flow li .btn a {
    font-size: calc((14 / 375 * 520) * 1px);
  }
}
/* about */
.l-about {
  padding-block: 23.4667% 0;
  background-color: rgb(var(--color-f4f4f4));
}

.l-about .p-about-content {
  --_border-radius: 6px;
  margin-inline: auto;
  padding: 0 6.4% 13.0667%;
  width: 91.4667%;
  border-radius: var(--_border-radius);
  background-color: rgb(var(--color-ffffff));
}

.l-about .p-about-heading .sub-ttl {
  margin: 0 auto -4.7458%;
  width: 81.695%;
  transform: translateY(-50%);
}

.l-about .p-about-heading .main-ttl {
  font-size: calc((18 / 375) * 100vw);
  line-height: 1.6667;
  letter-spacing: 0.02em;
  font-weight: var(--font-weight-bold);
  color: rgb(var(--color-222222));
  text-align: center;
}

.l-about .p-about-heading .main-ttl .large {
  display: inline-block;
  font-size: calc((24 / 375) * 100vw);
  line-height: 1.5417;
  letter-spacing: 0.02em;
}

.l-about .p-about-heading .main-ttl .large .en {
  line-height: 1.5417;
  font-family: var(--font-roboto);
}

.l-about .p-about-list {
  display: flex;
  flex-direction: column;
  row-gap: calc((43 / 375) * 100vw);
  margin-top: 10.5085%;
}

.l-about .p-about-list .p-about-item .p-about-item-ttl {
  --_border-size: 2px;
  padding-bottom: calc((9 / 375) * 100vw);
  font-size: calc((16 / 375) * 100vw);
  line-height: 1.625;
  letter-spacing: 0.02em;
  font-weight: var(--font-weight-bold);
  color: rgb(var(--color-222222));
  border-bottom: var(--_border-size) solid rgb(var(--color-dff048));
}

.l-about .p-about-list .p-about-item div:not([class]) {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin-top: 5.7628%;
}

.l-about .p-about-list .p-about-item.item-02 div:not([class]) {
  flex-direction: column-reverse;
}

.l-about .p-about-list .p-about-item .p-about-item-detail-txt {
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.6429;
}

.l-about .p-about-list .p-about-item .p-about-item-detail-txt.bold {
  font-weight: var(--font-weight-bold);
}

.l-about .p-about-list .p-about-item .p-about-item-detail-notice {
  display: flex;
  flex-direction: column;
  margin-top: 3.0509%;
}

.l-about .p-about-list .p-about-item .p-about-item-detail-notice li {
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: calc((2 / 375) * 100vw);
       column-gap: calc((2 / 375) * 100vw);
  font-size: calc((12 / 375) * 100vw);
  line-height: 1.4167;
}

.l-about .p-about-list .p-about-item .p-about-item-detail-notice li::before {
  content: "※";
}

.l-about .p-about-list .p-about-item .p-about-item-detail-notice.large {
  margin-top: 4.4068%;
}

.l-about .p-about-list .p-about-item .p-about-item-detail-notice.large li {
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: calc((2 / 375) * 100vw);
       column-gap: calc((2 / 375) * 100vw);
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.6429;
}

.l-about .p-about-list .p-about-item.item-01 .p-about-item-visual {
  position: absolute;
  top: calc((210 / 375) * 100vw);
  right: 0;
  width: 32.2034%;
}

.l-about .p-about-list .p-about-item.item-02 .p-about-item-visual {
  padding-bottom: 5.4238%;
}

.l-about .p-about-list .p-about-item .p-about-item-site {
  margin-top: 9.8306%;
}

.l-about .p-about-list .p-about-item .p-about-item-site .p-about-item-site-phrase {
  --_border-radius: 100vmax;
  display: grid;
  place-content: center;
  width: 60.339%;
  aspect-ratio: 1;
  font-size: calc((16 / 375) * 100vw);
  line-height: 1.375;
  font-weight: var(--font-weight-bold);
  color: rgb(var(--color-007c30));
  background-color: rgb(var(--color-f1f5c6));
  border-radius: var(--_border-radius);
  text-align: center;
}

.l-about .p-about-list .p-about-item .p-about-item-site .p-about-item-site-overview {
  margin-top: 9.4916%;
}

.l-about .p-about-list .p-about-item .p-about-item-site .p-about-item-site-overview .p-about-item-site-overview-ttl {
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.6429;
  letter-spacing: 0.02em;
  font-weight: var(--font-weight-bold);
}

.l-about .p-about-list .p-about-item .p-about-item-site .p-about-item-site-overview .p-about-item-site-overview-txt {
  margin-top: 5.4238%;
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.6429;
}

.l-about .p-about-list .p-about-item .p-about-item-site .p-about-item-site-overview .p-about-item-site-overview-notice {
  margin-top: 3.0509%;
}

.l-about .p-about-list .p-about-item .p-about-item-site .p-about-item-site-overview .p-about-item-site-overview-notice li {
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: calc((2 / 375) * 100vw);
       column-gap: calc((2 / 375) * 100vw);
  font-size: calc((12 / 375) * 100vw);
  line-height: 1.4167;
}

.l-about .p-about-list .p-about-item .p-about-item-site .p-about-item-site-overview .p-about-item-site-overview-notice li::before {
  content: "※";
}

.l-about .p-about-list .p-about-item .p-about-item-site .p-about-item-site-overview .p-about-item-site-overview-more {
  margin-top: 4.7458%;
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.625;
}

.l-about .p-about-list .p-about-item .p-about-item-site .p-about-item-site-overview .p-about-item-site-overview-more a {
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (any-hover: hover) {
  .l-about .p-about-outline .outline-desc .head .txt a:hover {
    text-decoration: unset;
  }
  .l-about .p-about-outline .outline-question a:hover {
    text-decoration: unset;
  }
}
@media screen and (min-width: 751px) {
  .l-about .p-about-heading .main-ttl {
    font-size: calc((18 / 375 * 520) * 1px);
  }
  .l-about .p-about-heading .main-ttl .large {
    font-size: calc((24 / 375 * 520) * 1px);
  }
  .l-about .p-about-list {
    row-gap: calc((43 / 375 * 520) * 1px);
  }
  .l-about .p-about-list .p-about-item .p-about-item-ttl {
    padding-bottom: calc((9 / 375 * 520) * 1px);
    font-size: calc((16 / 375 * 520) * 1px);
  }
  .l-about .p-about-list .p-about-item .p-about-item-detail-txt {
    font-size: calc((14 / 375 * 520) * 1px);
  }
  .l-about .p-about-list .p-about-item .p-about-item-detail-notice li {
    -moz-column-gap: calc((2 / 375 * 520) * 1px);
         column-gap: calc((2 / 375 * 520) * 1px);
    font-size: calc((12 / 375 * 520) * 1px);
  }
  .l-about .p-about-list .p-about-item .p-about-item-detail-notice.large li {
    -moz-column-gap: calc((2 / 375 * 520) * 1px);
         column-gap: calc((2 / 375 * 520) * 1px);
    font-size: calc((14 / 375 * 520) * 1px);
  }
  .l-about .p-about-list .p-about-item.item-01 .p-about-item-visual {
    top: calc((210 / 375 * 520) * 1px);
  }
  .l-about .p-about-list .p-about-item .p-about-item-site .p-about-item-site-phrase {
    font-size: calc((16 / 375 * 520) * 1px);
  }
  .l-about .p-about-list .p-about-item .p-about-item-site .p-about-item-site-overview .p-about-item-site-overview-ttl {
    font-size: calc((14 / 375 * 520) * 1px);
  }
  .l-about .p-about-list .p-about-item .p-about-item-site .p-about-item-site-overview .p-about-item-site-overview-txt {
    font-size: calc((14 / 375 * 520) * 1px);
  }
  .l-about .p-about-list .p-about-item .p-about-item-site .p-about-item-site-overview .p-about-item-site-overview-notice li {
    -moz-column-gap: calc((2 / 375 * 520) * 1px);
         column-gap: calc((2 / 375 * 520) * 1px);
    font-size: calc((12 / 375 * 520) * 1px);
  }
  .l-about .p-about-list .p-about-item .p-about-item-site .p-about-item-site-overview .p-about-item-site-overview-more {
    font-size: calc((14 / 375 * 520) * 1px);
  }
}
/* point */
.l-point {
  padding-block: 12% 16%;
  background-color: rgb(var(--color-f4f4f4));
}

.l-point .main-ttl {
  font-size: calc((16 / 375) * 100vw);
  line-height: 1.625;
  letter-spacing: 0.02em;
  font-weight: var(--font-weight-bold);
  text-align: center;
}

.l-point .p-point-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: calc((36 / 375) * 100vw);
  margin: 10.6667% auto 0;
  width: 91.4667%;
}

.l-point .p-point-list .p-point-item {
  --_border-radius: vw(4);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 48.689%;
  aspect-ratio: 167/158;
  border-radius: var(--_border-radius);
  background-color: rgb(var(--color-fefdfa));
}

.l-point .p-point-list .p-point-item .num {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 65.8683%;
  order: 0;
}

.l-point .p-point-list .p-point-item .txt {
  margin-inline: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.5;
  font-weight: var(--font-weight-bold);
  text-align: center;
  order: 2;
}

.l-point .p-point-list .p-point-item .badge {
  margin: 0 auto;
  width: 55.6887%;
  order: 1;
}

@media (any-hover: hover) {
  .l-point .p-point-note li a:hover {
    text-decoration: unset;
  }
}
@media screen and (min-width: 751px) {
  .l-point .main-ttl {
    font-size: calc((16 / 375 * 520) * 1px);
  }
  .l-point .p-point-list {
    row-gap: calc((36 / 375 * 520) * 1px);
  }
  .l-point .p-point-list .p-point-item {
    --_border-radius: px(4);
  }
  .l-point .p-point-list .p-point-item .txt {
    font-size: calc((14 / 375 * 520) * 1px);
  }
}
/* download */
.l-download {
  padding-block: 16%;
  background-color: rgb(255 255 255 / 1);
}

.l-download .p-download-ttl {
  font-size: calc((16 / 375) * 100vw);
  line-height: 1.625;
  letter-spacing: 0.02em;
  font-weight: var(--font-weight-bold);
  color: rgb(var(--color-222222));
  text-align: center;
}

.l-download .p-download-lead {
  order: 2;
  margin: 8.5334% auto 0;
  width: 87.2%;
  text-align: center;
}

.l-download .p-download-lead a {
  --_border-radius: 100vmax;
  position: relative;
  display: block;
  margin: 0 auto;
  padding: 4.893% 7.3395% 5.1988%;
  width: 100%;
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.429;
  font-weight: var(--font-weight-bold);
  color: rgb(var(--color-ffffff));
  border-radius: var(--_border-radius);
  background-color: rgb(var(--color-222222));
  text-align: center;
  pointer-events: all;
}

.l-download .p-download-lead a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 7.3395%;
  transform: translateY(-50%);
  width: 3.0286%;
  aspect-ratio: 1;
  background-image: url(../img/i-download-target.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.l-download .p-download-icon {
  --_box-shadow-b: 8px;
  margin: 7.4667% auto 0;
  width: 21.3334%;
  filter: drop-shadow(0 0 var(--_drop-shadow-b) rgb(var(--color-000000)/0.2));
  --webkit-filter: drop-shadow(0 0 var(--_drop-shadow-b) rgb(var(--color-000000) /.2));
}

.l-download .p-download-list {
  display: none;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: calc((16 / 375) * 100vw);
  margin: 4.2667% auto 0;
  padding-inline: 2.0409%;
  width: 91.4667%;
}

.l-download .p-download-list li a {
  display: block;
}

.l-download .p-download-list li:nth-child(1) {
  width: 43.1611%;
}

.l-download .p-download-list li:nth-child(2) {
  width: 53.4955%;
}

.l-download .p-download-list li:nth-child(3) {
  width: 100%;
}

.l-download .p-download-list li:nth-child(3) img {
  display: block;
  margin-inline: auto;
  width: 29.1794%;
}

.l-download .p-download-notice {
  display: none;
  flex-direction: column;
  align-items: center;
  margin: 6.4% auto 0;
  width: 91.4667%;
  font-size: calc((12 / 375) * 100vw);
  line-height: 1.6667;
}

@media screen and (min-width: 751px) {
  .l-download .p-download-ttl {
    font-size: calc((16 / 375 * 520) * 1px);
  }
  .l-download .p-download-lead a {
    padding: unset;
    color: unset;
    border-radius: unset;
    background-color: unset;
  }
  .l-download .p-download-lead a {
    font-size: calc((14 / 375 * 520) * 1px);
    line-height: 1;
    letter-spacing: 0.02em;
    text-decoration: none;
    pointer-events: none;
  }
  .l-download .p-download-lead a::after {
    display: none;
  }
  .l-download .p-download-list {
    display: flex;
    row-gap: calc((16 / 375 * 520) * 1px);
  }
  .l-download .p-download-notice {
    display: flex;
    font-size: calc((12 / 375 * 520) * 1px);
  }
}
/* float */
.l-float {
  position: fixed;
  bottom: -2px;
  left: 0;
  right: 0;
  z-index: 100;
}

.l-float .p-float-list {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.l-float .p-float-list li {
  width: 42.6667%;
}

.l-float .p-float-list li:nth-child(2) {
  margin-left: -2px;
}

.l-float .p-float-list li a {
  --_border-radius: 8px;
  --_border-size: 2px;
  display: grid;
  place-content: center;
  width: 100%;
  aspect-ratio: 160/47;
  font-size: calc((14 / 375) * 100vw);
  line-height: 1;
  font-weight: var(--font-weight-bold);
  color: rgb(var(--color-ffffff));
  border-radius: var(--_border-radius) var(--_border-radius) 0 0;
  border: var(--_border-size) solid rgb(var(--color-ffffff));
  text-decoration: none;
}

.l-float .p-float-list li:nth-child(1) a {
  background-color: rgb(var(--color-222222));
}

.l-float .p-float-list li:nth-child(2) a {
  background-color: rgb(var(--color-007c30));
}

@media screen and (min-width: 751px) {
  .l-float {
    display: none !important;
  }
  .l-float .p-float-list li a {
    font-size: calc((14 / 375 * 520) * 1px);
  }
}
/* footer */
.l-footer {
  position: relative;
  padding-block: 16% 0;
  background-color: rgb(var(--color-fffaeb));
}

.l-footer .p-footer-banner .p-footer-banner-list {
  display: flex;
  align-items: center;
  justify-content: center;
}

.l-footer .p-footer-banner .p-footer-banner-list .p-footer-banner-item {
  width: 87.2%;
}

.l-footer .p-footer-banner .p-footer-banner-list .p-footer-banner-item:nth-child(1) {
  --_drop-shadow-b: 8px;
  filter: drop-shadow(0 0 var(--_drop-shadow-b) rgb(var(--color-000000)/0.08));
  --webkit-filter: drop-shadow(0 0 var(--_drop-shadow-b) rgb(var(--color-000000) /.08));
}

.l-footer .p-footer-address {
  display: flex;
  flex-direction: column;
  margin: 6.4% auto 0;
  padding-block: 0 16%;
  width: 82.9334%;
}

.l-footer .p-footer-address .p-footer-address-ttl {
  --_border-size: 1px;
  display: grid;
  place-content: center;
  padding-bottom: 3.7901%;
  font-size: calc((16 / 375) * 100vw);
  line-height: 1.5;
  font-weight: var(--font-weight-bold);
  color: rgb(var(--color-4f1f00));
  border-bottom: var(--_border-size) solid rgb(var(--color-4f1f00));
}

.l-footer .p-footer-address .p-footer-address-dist {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 3.7901%;
  color: rgb(var(--color-4f1f00));
}

.l-footer .p-footer-address .p-footer-address-dist .term {
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.7143;
  font-weight: var(--font-weight-bold);
}

.l-footer .p-footer-address .p-footer-address-dist .desc {
  margin-top: 1.9293%;
}

.l-footer .p-footer-address .p-footer-address-dist .desc a {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  -moz-column-gap: calc((12 / 375) * 100vw);
       column-gap: calc((12 / 375) * 100vw);
  font-size: calc((32 / 375) * 100vw);
  line-height: 1;
  font-weight: var(--font-weight-bold);
  font-family: var(--font-roboto);
  text-decoration: none;
}

.l-footer .p-footer-address .p-footer-address-dist .desc a::before {
  content: "";
  inline-size: calc((20 / 375) * 100vw);
  aspect-ratio: 20/28;
  background-image: url(../img/i-footer-tel.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.l-footer .copy {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 1.8667% 16%;
  font-size: calc((10 / 375) * 100vw);
  line-height: 1;
  font-family: var(--font-roboto);
  color: rgb(var(--color-333333));
  background-color: rgb(var(--color-ffffff));
}

@media screen and (min-width: 751px) {
  .l-footer .p-footer-address .p-footer-address-ttl {
    font-size: calc((16 / 375 * 520) * 1px);
  }
  .l-footer .p-footer-address .p-footer-address-dist .term {
    font-size: calc((14 / 375 * 520) * 1px);
  }
  .l-footer .p-footer-address .p-footer-address-dist .desc a {
    -moz-column-gap: calc((12 / 375 * 520) * 1px);
         column-gap: calc((12 / 375 * 520) * 1px);
    font-size: calc((32 / 375 * 520) * 1px);
  }
  .l-footer .p-footer-address .p-footer-address-dist .desc a::before {
    inline-size: calc((20 / 375 * 520) * 1px);
  }
  .l-footer .copy {
    padding-block: 1.8667%;
    font-size: calc((10 / 375 * 520) * 1px);
  }
}
/* pagetop */
.page-top {
  position: fixed;
  bottom: 4px;
  right: 4px;
  width: 44px;
  aspect-ratio: 1;
  z-index: 100;
}

@media screen and (min-width: 751px) {
  .page-top {
    bottom: 12px;
    right: 12px;
    width: 60px;
  }
}
/*
	Utilities
	-u-color
*/
.u-color-orange {
  background-color: rgb(232 56 13 / 1);
}
.u-color-green {
  background-color: rgb(142 197 144 / 1);
}
.u-color-amber {
  background-color: rgb(246 156 84 / 1);
}
.u-color-blue {
  background-color: rgb(140 174 220 / 1);
}
.u-color-pink {
  background-color: rgb(238 162 181 / 1);
}
.u-color-yellow {
  background-color: rgb(255 210 21 / 1);
}

/*
	Utilities
	-u-font
*/
.u-font-ls0 {
  letter-spacing: 0 !important;
}

/*
	Accessibility
	-a-main
*/
*:focus-visible {
  outline-width: 2px !important;
  outline-style: solid !important;
  outline-offset: 2px !important;
  outline-color: rgb(66 139 202 / 1);
}

.sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
}

a[href^="tel:"] {
  pointer-events: all;
}
@media print, screen and (min-width: 751px) and (max-width: 1300px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media print, screen and (min-width: 1301px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/*# sourceMappingURL=style.css.map */