@charset "utf-8";

/*================================================
 *  CSSリセット
 ================================================*/
 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,
 main,
 menu,
 nav,
 section,
 summary,
 time,
 mark,
 audio,
 video {
   margin: 0;
   padding: 0;
   border: 0;
   outline: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: transparent;
   font-weight: normal;
 }
 body {
   line-height: 1;
 }
 article,
 aside,
 details,
 figcaption,
 figure,
 footer,
 header,
 hgroup,
 menu,
 nav,
 section {
   display: block;
 }
 ul {
   list-style: none;
 }
 blockquote,
 q {
   quotes: none;
 }
 blockquote:before,
 blockquote:after,
 q:before,
 q:after {
   content: none;
 }
 a {
   margin: 0;
   padding: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: transparent;
 }
 del {
   text-decoration: line-through;
 }
 abbr[title],
 dfn[title] {
   border-bottom: 1px dotted;
   cursor: help;
 }
 table {
   border-collapse: collapse;
   border-spacing: 0;
 }
 hr {
   display: block;
   height: 1px;
   border: 0;
   border-top: 1px solid #ccc;
   margin: 1em 0;
   padding: 0;
 }
 input,
 select {
   vertical-align: middle;
 }
 
 * {
   box-sizing: border-box;
 }
 html {
   font-size: 62.5%;
   scroll-behavior: smooth;
 }
 
 body {
   margin: 0px;
   padding: 0;
   font-size: 14px;
   font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka,
     "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
   line-height: 1.5;
   background-color: #ffffff;
   color: #191919;
 }
 
 p {
   font-feature-settings: "palt";
   text-align: justify; /* 両端揃え */
   line-break: strict; /* 禁則処理を適用 */
   word-break: break-all; /* 半角英数字の連続に対応（必要に応じて） */
 }
 .u-accessibility {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
 }
 .u-accessibility:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
 }
 /* #header / #footer
 ----------------------------------------- */
 #header {
   max-width: 100%;
   box-shadow: 0px 0 10px 0px rgba(0, 0, 0, 0.1);
   position: relative;
   z-index: 2;
   background-color: #fff;
   height: 51px;
 }
 @media screen and (min-width: 960px) {
   #header {
     max-width: 100%;
     box-shadow: 0px 0 10px 0px rgba(0, 0, 0, 0.1);
     position: relative;
     z-index: 2;
     background-color: #fff;
     height: 57px;
   }
 }
 
 #header #logo {
   max-width: 1050px;
   width: 100%;
   margin: 0 auto;
   padding: 8px;
 }
 @media screen and (min-width: 960px) {
   #header #logo {
     max-width: 1050px;
     width: 100%;
     margin: 0 auto;
     padding: 10px;
   }
 }
 #footer {
   background-color: #fff;
 }
 
 /* footer */
 #footer {
   clear: both;
   position: static;
   font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック",
     "MS PGothic", sans-serif;
 }
 
 #footer #greenbelt {
   background: url(../images/bg_greenbelt.png) 0 0 repeat;
 }
 
 #footer #greenbelt .inner {
   margin: 0 auto;
   max-width: 1100px;
   background: #009261;
   color: #fff;
   overflow: hidden;
 }
 
 #footer #greenbelt .inner .ftbox {
   float: none;
   max-width: 800px;
 }
 @media screen and (min-width: 960px) {
   #footer #greenbelt .inner .ftbox {
     float: left;
     max-width: 800px;
     width: 800px;
   }
 }
 #footer #greenbelt .inner p.link {
   display: block;
   padding: 18px 15px 0;
   font-size: 1.2rem;
   line-height: 1.4;
   text-align: center;
 }
 @media screen and (min-width: 768px) {
   #footer #greenbelt .inner p.link {
     padding: 18px 24px 0;
     font-size: 1.36rem;
     line-height: 1;
     text-align: left;
   }
 }
 @media screen and (min-width: 960px) {
   #footer #greenbelt .inner p.link {
     padding: 18px 0 0 24px;
     font-size: 1.36rem;
     line-height: 1;
     text-align: left;
   }
 }
 
 #footer #greenbelt .inner p.link span {
   display: block;
   margin: 0 0 0 0;
   padding: 15px 0 0 0;
   background: none;
   text-align: left;
 }
 @media screen and (min-width: 768px) {
   #footer #greenbelt .inner p.link span {
     margin: 0 0 0 10px;
     padding: 0 0 0 10px;
     background: url(../images/line_dot_separate.png) 0 0 no-repeat;
     display: inline;
   }
 }
 @media screen and (min-width: 960px) {
   #footer #greenbelt .inner p.link span {
     margin: 0 0 0 10px;
     padding: 0 0 0 10px;
     background: url(../images/line_dot_separate.png) 0 0 no-repeat;
     display: inline;
   }
 }
 
 #footer #greenbelt .inner p.copy {
   padding: 15px 0 0 0;
   font-size: 1.2rem;
   line-height: 1;
   text-align: center;
 }
 @media screen and (min-width: 768px) {
   #footer #greenbelt .inner p.copy {
     padding: 18px 0 0 24px;
     font-size: 1.36rem;
     line-height: 1;
     text-align: left;
   }
 }
 @media screen and (min-width: 960px) {
   #footer #greenbelt .inner p.copy {
     padding: 18px 0 0 24px;
     font-size: 1.36rem;
     line-height: 1;
     text-align: left;
   }
 }
 
 #footer #greenbelt .inner a {
   color: #fff;
 }
 
 #footer #greenbelt .inner p.bn {
   background: url(../images/bg_ftbn.jpg) 0 0 no-repeat;
   float: none;
   margin: 9px auto 14px;
   width: 264px;
   height: 54px;
 }
 @media screen and (min-width: 768px) {
   #footer #greenbelt .inner p.bn {
     float: right;
     background: url(../images/bg_ftbn.jpg) 0 0 no-repeat;
     width: 264px;
     height: 54px;
     margin: 9px 17px 14px 0;
   }
 }
 @media screen and (min-width: 960px) {
   #footer #greenbelt .inner p.bn {
     float: right;
     background: url(../images/bg_ftbn.jpg) 0 0 no-repeat;
     width: 264px;
     height: 54px;
     margin: 9px 17px 14px 0;
   }
 }
 
 #footer #greenbelt .inner p.bn a {
   color: #666;
   text-decoration: none;
 }
 
 #footer #greenbelt .inner p.bn a span {
   display: block;
   width: 120px;
   padding: 16px 0 0 7px;
   font-size: 1rem;
   line-height: 1.4;
 }
 
 #footer #whitebelt {
   clear: both;
   margin: 0 auto;
   max-width: 1100px;
   background: #fff;
   text-align: center;
 }
 @media screen and (min-width: 768px) {
   #footer #whitebelt {
     clear: both;
     margin: 0 auto;
     max-width: 1100px;
     background: #fff;
     text-align: right;
   }
 }
 @media screen and (min-width: 960px) {
   #footer #whitebelt {
     clear: both;
     margin: 0 auto;
     max-width: 1100px;
     background: #fff;
     text-align: right;
   }
 }
 
 #footer #whitebelt p {
   padding: 12px 0 13px;
   line-height: 0;
 }
 
 .pagetop {
   clear: both;
   font-size: 1.2rem;
   width: 100%;
   margin: 0 auto 20px;
   text-align: right;
 }
 @media screen and (min-width: 960px) {
   .pagetop {
     clear: both;
     font-size: 1.2rem;
     margin: 0 auto 60px;
     text-align: right;
     max-width: 1100px;
     width: 100%;
   }
 }
 
 .pagetop a {
   background: url(../images/icon_pagetop.png) left center no-repeat;
   padding: 0 15px;
   line-height: 40px;
   display: inline-block;
 }
 @media screen and (min-width: 960px) {
   .pagetop a {
     background: url(../images/icon_pagetop.png) left center no-repeat;
     padding: 2px 0 2px 16px;
   }
 }
 
 .sp-block {
   display: block;
 }
 .tb-block {
   display: none;
 }
 .pc-block {
   display: none;
 }
 @media screen and (min-width: 768px) and (max-width: 959px) {
   .sp-block {
     display: none;
   }
   .tb-block {
     display: block;
   }
   .pc-block {
     display: none;
   }
 }
 @media screen and (min-width: 960px) {
   .sp-block {
     display: none;
   }
   .tb-block {
     display: block;
   }
   .pc-block {
     display: block;
   }
 }
 
 /* ==========================================================================
    Campaign 50th - Layout
    ========================================================================== */
 
 /* .l-page */
 .l-page {
   min-height: 100vh;
   background-color: #0a1040;
 }
 @media screen and (min-width: 520px) {
   .l-page {
     background: url(../images/common/img_bg_pc.png) no-repeat center top;
     background-size: contain;
     background-repeat: repeat;
   }
 }
 
 /* .l-header */
 .l-header {
   background-color: #1d2088;
 }
 @media screen and (min-width: 520px) {
   .l-header {
     max-width: 37.5rem;
     margin-left: auto;
     margin-right: auto;
   }
 }
 
 /* .l-header__inner */
 .l-header__inner {
   display: flex;
   align-items: center;
   height: 5rem;
   padding: 1.2rem 1.6rem;
 }
 
 /* .l-header__logo */
 .l-header__logo {
   line-height: 0;
   margin: 0;
 }
 
 /* .l-header__logo-link */
 .l-header__logo-link {
   display: block;
   width: 13.6rem;
 }
 
 /* .l-header__logo-img */
 .l-header__logo-img {
   display: block;
   width: 100%;
   height: auto;
   vertical-align: top;
 }
 
 /* .l-main */
 .l-main {
   max-width: 100%;
   margin-left: auto;
   margin-right: auto;
   min-height: calc(100vh - 5rem);
   background-color: #0a1040;
   background-image: url(../images/img_bg_universe01.png), url(../images/img_bg_star01.png);
   background-repeat: no-repeat, no-repeat;
   background-position: center top, center top;
   background-size: contain,contain;
 }
 @media screen and (min-width: 520px) {
   .l-main {
     max-width: 37.5rem;
     margin-left: auto;
     margin-right: auto;
   }
 }
 
/* ==========================================================================
   Campaign 50th - Top
   ========================================================================== */


/* .l-main */
.l-main {
  background-image: url(../images/top/bg_01@2x.png);
  background-repeat: no-repeat;
  background-position: center -3rem;
  background-size: 100% auto;
  overflow: hidden;
}

/* .p-top-ribbon */
.p-top-ribbon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.6rem;
  margin: 0 auto;
  /* padding: 0.8rem 1.4rem; */
}
.p-top-ribbon--dark {
  background-color: rgba(255, 255, 255, 0.96);
}

/* .p-top-ribbon__logo */
.p-top-ribbon__logo {
  display: block;
  flex-shrink: 0;
  height: auto;
  margin-right: 0.5rem;
}

/* .p-top-ribbon__num */
.p-top-ribbon__num {
  flex-shrink: 0;
  margin-right: 0.4rem;
  font-family: "Outfit", sans-serif;
  font-size: 4rem;
  font-weight: 900;
  line-height: 1;
  color: #d6a129;
  text-shadow: 0 0 0.8rem rgba(255, 255, 255, 0.9);
}

/* .p-top-ribbon__text */
.p-top-ribbon__text {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1.5;
  color: #1a2188;
  letter-spacing: -0.18rem;
  white-space: nowrap;
}

/* .p-top-hero */
.p-top-hero {
  position: relative;
  padding: 0 0 3.8rem;
  /* background:
    radial-gradient(circle at 50% 18%, rgba(80, 70, 190, 0.85) 0%, rgba(18, 21, 105, 0.78) 32%, rgba(10, 16, 64, 0) 58%),
    #0a1040; */
}

/* .p-top-hero__inner */
.p-top-hero__inner {
  position: relative;
  /* padding-top: 3.2rem; */
}

/* .p-top-hero__title */
.p-top-hero__title {
  position: relative;
  padding: 5.8rem 1.4rem 0;
  text-align: center;
}

/* .p-top-hero__balloon */
.p-top-hero__balloon {
  display: inline-block;
  margin: 0 0 0.8rem -18rem;
  padding: 0.8rem 1.2rem;
  border: 0.2rem solid #ffffff;
  border-radius: 999rem;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 0 0.8rem #1d2088;
  transform: rotate(-15deg);
}

/* .p-top-hero__main-title */
.p-top-hero__main-title {
  margin: 0;
  font-size: 4.1rem;
  font-weight: 900;
  line-height: 1.05;
  color: #ffffff;
  text-align: center;
  letter-spacing: -0.12em;
  text-shadow:
    0 0 0.8rem rgba(255, 255, 255, 0.9),
    0.2rem 0.2rem 0 #ff7bdc,
    -0.2rem -0.2rem 0 #73efff;
}
.p-top-hero__main-title span {
  display: block;
}

/* .p-top-hero__lead */
.p-top-hero__lead {
  /* margin: 2rem 0 1.6rem; */
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 1.75;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 0 0.8rem rgba(255, 255, 255, 0.6);
}


/* .p-top-carousel */
.p-top-carousel {
  position: relative;
  /* min-height: 36rem; */
  /* margin-top: 2.4rem; */
  overflow: hidden;
}

/* .p-top-carousel__slider */
.p-top-carousel__slider {
  width: 100%;
}
.p-top-carousel__slider:not(.slick-initialized) .p-top-carousel__slide:not(:first-child) {
  display: none;
}
.p-top-carousel__slider:not(.slick-initialized) .p-top-carousel__card {
  transform: scale(1);
  border-color: #9d5bf0;
  box-shadow: 0 0 1.6rem #ff76df;
  opacity: 1;
}

/* .p-top-carousel__slide */
.p-top-carousel__slide {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 28rem;
  padding: 0 0 2.5rem;
}

/* .p-top-carousel__card */
.p-top-carousel__card {
  flex-shrink: 0;
  overflow: hidden;
  width: 16rem;
  height: 28rem;
  border: 0.4rem solid transparent;
  /* background-color: #ffffff; */
  border-radius: 0.8rem;
  /* box-shadow: 0 0 0.8rem rgba(255, 255, 255, 0.7); */
  opacity: 0.9;
  transform: scale(0.65);
  transition:
    border-color 0.4s ease,
    box-shadow 0.4s ease,
    opacity 0.4s ease,
    transform 0.4s ease;
}
.p-top-carousel__card--landscape {
  width: 28rem;
  height: 16rem;
}

.p-top-carousel__slider .slick-center .p-top-carousel__card {
  /* border-color: #9d5bf0; */
  /* box-shadow: 0 0 1.6rem #ff76df; */
  opacity: 1;
  transform: scale(1);
}
.p-top-carousel__slider .is-landscape-prev .p-top-carousel__card {
  transform: translateX(-2.4rem) scale(0.65);
}
.p-top-carousel__slider .is-landscape-next .p-top-carousel__card {
  transform: translateX(2.4rem) scale(0.65);
}

/* .p-top-carousel__img */
.p-top-carousel__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* slick dots */
.p-top-carousel .slick-dots {
  position: absolute;
  bottom: 0.4rem;
  left: 50%;
  display: flex;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
  transform: translateX(-50%);
}
.p-top-carousel .slick-dots li {
  width: 1.2rem;
  height: 0.4rem;
}
.p-top-carousel .slick-dots button {
  display: block;
  width: 1.2rem;
  height: 0.4rem;
  padding: 0;
  border: 0;
  border-radius: 999rem;
  background-color: #0c7b54;
  box-shadow: 0 0 0.8rem rgba(255, 255, 255, 0.6);
  color: transparent;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
}
.p-top-carousel .slick-dots .slick-active button {
  background-color: #80f2ff;
}

/* .p-top-present */
.p-top-present {
  position: relative;
  /* padding: 0 0 5.2rem; */
  margin: 0 1rem;
}

/* .p-top-present__inner */
.p-top-present__inner {
  width: calc(100% - 1.8rem);
  margin: 0 auto;
  padding: 0.9rem 0 2.8rem;
  /* background-color: rgba(255, 255, 255, 0.1); */
}
.p-top-present__inner::before {
  content: "";
  position: absolute;
  inset: -0.4rem;
  z-index: 1;
  pointer-events: none;
  background: url(../images/top/bg_present_frame.png) no-repeat center / 100% 100%;
}

/* .p-top-present__pay */
.p-top-present__pay {
  border-radius: 16px;
background: #FFF0F8;
box-shadow: 0 0 4px 2px #BAF5FF;
max-width: 206px;
height: 46px;
margin: 24px auto 0;
display: flex;
align-items: center;
}
.p-top-present-card__pay-img {
  flex-shrink: 1;
}

/* .p-top-present__amount */
.p-top-present__amount {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.6rem;
  color: #ffffff;
  text-shadow: 0 0 0.8rem rgba(255, 255, 255, 0.6);
}

/* .p-top-present__label */
.p-top-present__label,
.p-top-present__catch {
  margin: 0;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.23;
  text-align: center;
}

/* .p-top-present__num */
.p-top-present__num {
  max-width: 169px;
}
.p-top-present__num span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 4.2rem;
}

/* .p-top-present__cards */
.p-top-present__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.6rem;
  margin-top: 1.6rem;
  padding: 0 1.4rem;
}

/* .p-top-present-card */
.p-top-present-card {
  overflow: hidden;
  border-radius: 0.8rem;
  /* background-color: #ffffff; */
  text-align: center;
  box-shadow: 0 0 0.4rem 0.4rem rgba(255, 255, 255, 0.35);
}
.p-top-present-card--pink,.p-top-present-card--blue {
  position: relative;
  overflow: visible;
  isolation: isolate;
  border-radius: 0.8rem;
  box-shadow: none;
}
.p-top-present-card--pink::before,.p-top-present-card--blue::before {
  content: "";
  position: absolute;
  inset: -0.4rem;
  z-index: 1;
  pointer-events: none;
}
.p-top-present-card--pink::before {
  background: url(../images/top/bg_pink_frame.png) no-repeat center / 100% 100%;
}
.p-top-present-card--blue::before {
  background: url(../images/top/bg_blue_frame.png) no-repeat center / 100% 100%;
}
.p-top-present-card--pink > *,.p-top-present-card--blue > * {
  position: relative;
  z-index: 1;
}
.p-top-present-card__post {
  text-align: center;
}
.p-top-present-card__post-img {
  width: 80%;
}
.c-heading--h3 {
  min-height: 7rem;
  margin: 0;
  padding: 1.5rem 0.8rem 1rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  color: #ffffff;
  text-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.5);
}
.c-heading--h3 .small {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  color: #ffffff;
  text-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.5);
}
/* .p-top-present-card--pink h3 {
  background: linear-gradient(to bottom, #bf0380 0%, #ebc0d7 15%, #bf0380 100%);
}
.p-top-present-card--blue h3 {
  background: linear-gradient(to bottom, #00a9c7 0%, #92eeff 15%, #00a9c7 100%);
} */
.p-top-present-card__lottery {
  margin: 1.2rem 0 0;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  color: #222222;
  text-align: center;
}
.p-top-present-card__pay {
  margin: 0.8rem auto 0;
  color: #1d2088;
  font-size: 1.9rem;
  font-weight: 900;
  line-height: 1;
  text-align: center;
}
.p-top-present-card__point {
  margin: -0.2rem 0 1.2rem;
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1.1;
  color: #ff40ff;
  text-align: center;
  text-shadow: 0 0 0.8rem rgba(255, 255, 255, 0.6);
}
.p-top-present-card--blue .p-top-present-card__point {
  color: #00a9c7;
}
.p-top-present-card__point span {
  font-family: "Outfit", sans-serif;
  font-size: 6.4rem;
  line-height: 1;
}
.p-top-present-card__point small {
  font-size: 1.6rem;
}

/* .p-top-present__period */
.p-top-present__period {
  margin-top: 1rem;
  color: #ffffff;
  text-shadow: 0 0 0.8rem rgba(255, 255, 255, 0.6);
}
.p-top-present__period-label {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: normal;
  text-align: center;
  max-width: 120px;
  margin: 0 auto;
}
.p-top-present__period-label-img {
  max-width: 100%;
}
.p-top-present__period-date {
  margin: 1rem 0 0;
  font-size: 1.7rem;
  font-weight: 900;
  line-height: normal;
  text-align: center;
}
.p-top-present__period-note {
  width: 33.6rem;
  max-width: calc(100% - 2.8rem);
  margin: 0.4rem auto 0;
  font-size: 1.1rem;
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
}

/* ==========================================================================
   Campaign 50th - Top: Detail / Contact / Footer
   ========================================================================== */

/* .p-entry__detail */
.p-entry__detail {
  position: relative;
}

/* .p-entry__detail-head */
.p-entry__detail-head {
  position: relative;
  margin-bottom: 0;
}

/* .p-entry__detail-line */
.p-entry__detail-line {
  display: block;
  width: calc(100% + 9.6rem);
  height: auto;
}

/* .p-entry__detail-line--top */
.p-entry__detail-line--top {
  margin-top: 0;
}

/* .p-entry__detail-title */
.p-entry__detail-title {
  position: relative;
  z-index: 1;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: normal;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 0 0.8rem rgba(255, 255, 255, 0.6);
}

/* .p-entry__detail-body */
.p-entry__detail-body {
  position: relative;
  padding-top: 10rem;
}

/* .p-entry__detail-deco */
.p-entry__detail-deco {
  position: absolute;
  z-index: 0;
  display: block;
  height: auto;
  pointer-events: none;
}

/* .p-entry__detail-deco--kirakira */
.p-entry__detail-deco--kirakira {
  left: -1.2rem;
  bottom: 4rem;
  width: 6.6rem;
  transform: rotate(22deg);
}

/* .p-entry__detail-card */
.p-entry__detail-card {
  position: relative;
  z-index: 1;
  padding: 3.2rem 1.6rem;
  background-color: #ffffff;
  border-radius: 0.8rem;
  box-shadow: 0 0 0.4rem 0.4rem rgba(255, 255, 255, 0.5);
}

/* .p-entry__detail-block */
.p-entry__detail-block + .p-entry__detail-block {
  margin-top: 1.6rem;
}

/* .p-entry__detail-block-title */
.p-entry__detail-block-title {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 1.2rem;
  padding: 0.2rem 0 0.5rem 1.2rem;
  font-family: Inter, sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
  color: #222222;
  text-decoration: none;
  border-bottom: 0.1rem solid #222222;
}

.p-entry__detail-block-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: -0.4rem;
  bottom: 0;
  width: 0.5rem;
  background-color: #222222;
}

/* .p-entry__detail-block-text */
.p-entry__detail-block-text {
  margin: 0 0 2rem;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: normal;
  color: #222222;
}

.p-entry__detail-block-text:last-child {
  margin: 0;
}

.p-entry__detail-block-title + .p-entry__detail-block-text {
  margin-top: 0;
  font-family: Inter, sans-serif;
}

/* .p-entry__detail-note */
.p-entry__detail-note {
  display: inline-block;
  padding-left: 1em;
  text-indent: -1em;
}

.p-entry__detail-block-text a {
  word-break: break-all;
}

/* .p-entry__detail--top */
.p-entry__detail.p-entry__detail--top {
  margin: 0;
  padding: 0 1.5rem 4.5rem;
  background-image: url(../images/top/bg_detail_01@2x.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

.p-entry__detail.p-entry__detail--top .p-entry__detail-head {
  position: absolute;
  width: 100%;
  top: -7px;
  left: 50%;
  transform: translateX(-50%);
}

.p-entry__detail.p-entry__detail--top .p-entry__detail-title {

}

.p-entry__detail.p-entry__detail--top .p-entry__detail-line--top {
  margin-bottom: -0.2rem;
}

/* .p-contact */
.p-contact {
  position: relative;
  z-index: 2;
  padding: 0 1.5rem 5.6rem;
  background-image: url(../images/top/bg_contact_01@2x.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

/* .p-contact__head */
.p-contact__head {
  position: absolute;
  top: -6px;
  width: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 0;
}

/* .p-contact__line */
.p-contact__line {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 0 0.2rem;
}

/* .p-contact__title */
.p-contact__title {
  position: relative;
  z-index: 1;
  margin: -0.2rem auto;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: normal;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 0 0.8rem rgba(255, 255, 255, 0.6);
}

/* .p-contact__body */
.p-contact__body {
  padding: 9.7rem 0 0;
  color: #ffffff;
  text-shadow: 0 0 0.8rem rgba(255, 255, 255, 0.6);
}

/* .p-contact__text-wrap */
.p-contact__text-wrap {
  position: relative;
  z-index: 1;
  padding: 3.2rem 1.6rem;
  background-color: #ffffff;
  border-radius: 0.8rem;
  box-shadow: 0 0 0.4rem 0.4rem rgba(255, 255, 255, 0.5);
}

/* .p-contact__text */
.p-contact__text {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: normal;
  color: #222222;
}

/* .p-contact__note */
.p-contact__note {
  display: inline-block;
  padding-left: 1em;
  text-indent: -1em;
}

/* .footer */
.footer {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding: 16px;
  background: #fbf9ff;
}

@media screen and (min-width: 520px) {
  .footer {
    max-width: 37.5rem;
  }
}

.footer-list {
  display: flex;
  margin-bottom: 15px;
  padding: 0 8px;
}

.footer-list__faq {
  display: flex;
  margin-bottom: 15px;
  padding: 0 8px;
}

.footer-list-item {
  position: relative;
  display: flex;
  margin-right: 12px;
}

.footer-list-item:last-child {
  margin-right: 0;
}

.footer-list-item::after {
  content: "";
  display: block;
  width: 2px;
  height: 20px;
  margin-left: 12px;
  transform: skew(-15deg, 0deg);
  background-color: #f0f0f0;
}

.footer-list:nth-child(3) .footer-list-item::after {
  display: none;
}

.footer-list-link {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  line-height: 1.5;
  color: #373737;
}

.footer-list-link__faq {
  display: flex;
  align-items: center;
  font-size: 1.1rem;
  line-height: 1.5;
  color: #373737;
  text-decoration: none;
}

.footer-list-link.is-blank::after,
.footer-list-link__faq.is-blank::after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  margin-left: 4px;
  background: url("../images/common/icon_blank.svg") no-repeat center center / contain;
}

.footer-copyright {
  display: block;
  padding-top: 10px;
  font-size: 1rem;
  text-align: center;
  color: #686868;
  border-top: 1px solid #ccc;
}
