@charset "UTF-8";
/* reset:start */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
}

body {
  overflow-x: hidden;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

img {
  width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

ul {
  list-style: none;
}

[hidden] {
  display: none;
}

.cont__center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.cont__center > * {
  min-height: 0%;
}

.kv__container, .cont__container, .plan__container, .capacity__container, .poikatsu__container, .family__container, .welcome__container, .shitadori__container, .kaedoki__container, .cont__container--small {
  box-sizing: content-box !important;
  max-width: 1327px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 768px) {
  .kv__container, .cont__container, .plan__container, .capacity__container, .poikatsu__container, .family__container, .welcome__container, .shitadori__container, .kaedoki__container, .cont__container--small {
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 375px) {
  .kv__container, .cont__container, .plan__container, .capacity__container, .poikatsu__container, .family__container, .welcome__container, .shitadori__container, .kaedoki__container, .cont__container--small {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}

.plan__container, .capacity__container, .poikatsu__container, .family__container, .welcome__container, .shitadori__container, .kaedoki__container, .cont__container--small {
  max-width: 1000px;
}
@media screen and (max-width: 768px) {
  .plan__container, .capacity__container, .poikatsu__container, .family__container, .welcome__container, .shitadori__container, .kaedoki__container, .cont__container--small {
    max-width: 89.3333333333vw;
  }
}

.link {
  color: inherit;
  transition: opacity 0.3s;
  cursor: pointer;
}
.link:hover {
  opacity: 0.7;
}

.anchor__link, .header__link {
  background-color: #ffffff;
  box-shadow: 0px 6px 12px 0px rgba(36, 0, 7, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 887px;
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 25px;
  margin-right: 20px;
}
@media screen and (max-width: 1355px) {
  .anchor__link, .header__link {
    padding-left: 1.4760147601vw;
    padding-right: 1.4760147601vw;
    border-radius: 1.8450184502vw;
  }
}

.anchor__link-item, .header__link-item {
  width: auto;
  height: 100%;
  padding: 0 3.5419126328% 0 3.5419126328%;
  overflow: hidden;
  position: relative;
}
.anchor__link-item::before, .header__link-item::before {
  background: #cc0033;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 250%;
  transform: skewY(-10deg) scale(1, 0);
  transform-origin: left top;
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .anchor__link-item::before, .header__link-item::before {
    content: none;
  }
}
.anchor__link-item img, .header__link-item img {
  position: relative;
  z-index: 1;
  transition: 0.2s filter;
}
.anchor__link-item:hover, .header__link-item:hover {
  opacity: 1;
}
.anchor__link-item:hover img, .header__link-item:hover img {
  filter: invert(1);
}
@media screen and (max-width: 768px) {
  .anchor__link-item:hover img, .header__link-item:hover img {
    filter: invert(0);
  }
}
.anchor__link-item:hover::before, .header__link-item:hover::before {
  transform: skewY(-10deg) scale(1, 1);
}
.anchor__link-item:not(:last-child), .header__link-item:not(:last-child) {
  position: relative;
}
.anchor__link-item:not(:last-child)::after, .header__link-item:not(:last-child)::after {
  position: absolute;
  display: block;
  content: "";
  height: 100%;
  width: 1px;
  background-color: #d0d0d0;
  top: 0;
  right: 0;
}

.plan__container, .capacity__container, .poikatsu__container, .family__container, .welcome__container, .shitadori__container, .kaedoki__container {
  width: 75.3579502638%;
  background-color: #fff;
  padding: 4.5214770158% 2.86360211% 6.0286360211%;
  border-radius: 14px;
  box-shadow: 0px 14px 24px 6px rgba(36, 0, 7, 0.4), inset 0px -3px 14px 0px rgba(180, 125, 135, 0.6);
}
@media screen and (max-width: 768px) {
  .plan__container, .capacity__container, .poikatsu__container, .family__container, .welcome__container, .shitadori__container, .kaedoki__container {
    width: 94.6666666667vw;
    box-shadow: 0px 1.3333333333vw 3.0666666667vw 0.8vw rgba(36, 0, 7, 0.4), inset 0px -0.4vw 1.8666666667vw 0px rgba(180, 125, 135, 0.9);
    border-radius: 1.8666666667vw;
    padding: 8vw 2.6666666667vw;
  }
}

.capacity__detail, .capacity__detail-inner-imp, .family__example, .shitadori__example, .kaedoki__step, .kaedoki__plus-step {
  border: 5px solid #e6e8e7;
  border-radius: 20px;
  width: 94%;
  margin-top: 6%;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0px 5px 20px 0px rgba(126, 0, 14, 0.12);
}
@media screen and (max-width: 1355px) {
  .capacity__detail, .capacity__detail-inner-imp, .family__example, .shitadori__example, .kaedoki__step, .kaedoki__plus-step {
    border-width: 0.36900369vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail, .capacity__detail-inner-imp, .family__example, .shitadori__example, .kaedoki__step, .kaedoki__plus-step {
    border-width: 0.8vw;
    border-radius: 4vw;
    width: 100%;
    margin-top: 10.6666666667vw;
    box-shadow: 0px 0.6666666667vw 2.6666666667vw 0px rgba(126, 0, 14, 0.12);
  }
}

.capacity__detail-accordion, .capacity__detail-inner-imp-accordion, .family__example-accordion, .shitadori__example-accordion, .kaedoki__step-accordion, .kaedoki__plus-step-accordion {
  position: relative;
  background-color: transparent;
  border: none;
  width: 100%;
  color: #000;
}
.capacity__detail-accordion::before, .capacity__detail-inner-imp-accordion::before, .family__example-accordion::before, .shitadori__example-accordion::before, .kaedoki__step-accordion::before, .kaedoki__plus-step-accordion::before {
  position: absolute;
  display: block;
  content: "";
  background-color: #000;
  height: 4px;
  width: 33px;
  right: 35px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1355px) {
  .capacity__detail-accordion::before, .capacity__detail-inner-imp-accordion::before, .family__example-accordion::before, .shitadori__example-accordion::before, .kaedoki__step-accordion::before, .kaedoki__plus-step-accordion::before {
    height: 0.295202952vw;
    width: 2.4354243542vw;
    right: 2.5830258303vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-accordion::before, .capacity__detail-inner-imp-accordion::before, .family__example-accordion::before, .shitadori__example-accordion::before, .kaedoki__step-accordion::before, .kaedoki__plus-step-accordion::before {
    height: 0.5333333333vw;
    width: 4.4vw;
    right: 4.6666666667vw;
  }
}
.capacity__detail-accordion::after, .capacity__detail-inner-imp-accordion::after, .family__example-accordion::after, .shitadori__example-accordion::after, .kaedoki__step-accordion::after, .kaedoki__plus-step-accordion::after {
  position: absolute;
  display: block;
  content: "";
  background-color: #000;
  height: 33px;
  width: 4px;
  right: 49px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1355px) {
  .capacity__detail-accordion::after, .capacity__detail-inner-imp-accordion::after, .family__example-accordion::after, .shitadori__example-accordion::after, .kaedoki__step-accordion::after, .kaedoki__plus-step-accordion::after {
    height: 2.4354243542vw;
    width: 0.295202952vw;
    right: 3.6162361624vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-accordion::after, .capacity__detail-inner-imp-accordion::after, .family__example-accordion::after, .shitadori__example-accordion::after, .kaedoki__step-accordion::after, .kaedoki__plus-step-accordion::after {
    width: 0.5333333333vw;
    height: 4.4vw;
    right: 6.5333333333vw;
  }
}

.capacity__detail-inner, .family__example-inner, .shitadori__example-inner, .kaedoki__step-inner, .kaedoki__plus-step-inner {
  border-top: 5px solid #e6e8e7;
  width: 100%;
  padding-top: 6.8817204301%;
  padding-right: 3.7634408602%;
  padding-bottom: 5.1612903226%;
  padding-left: 3.7634408602%;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner, .family__example-inner, .shitadori__example-inner, .kaedoki__step-inner, .kaedoki__plus-step-inner {
    border-width: 0.36900369vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner, .family__example-inner, .shitadori__example-inner, .kaedoki__step-inner, .kaedoki__plus-step-inner {
    border-width: 0.8vw;
    padding-top: 9.3333333333vw;
    padding-right: 1.8666666667vw;
    padding-bottom: 3.2vw;
    padding-left: 1.8666666667vw;
  }
}

.float__banner, .check__banner, .check__banner-bottom-item, .capacity__btn, .poikatsu__btn, .family__btn, .welcome__btn, .shitadori__btn, .kaedoki__plus-link-btn {
  margin-left: auto;
  margin-right: auto;
}
.float__banner a img, .check__banner a img, .check__banner-bottom-item a img, .capacity__btn a img, .poikatsu__btn a img, .family__btn a img, .welcome__btn a img, .shitadori__btn a img, .kaedoki__plus-link-btn a img {
  transform: scale(1);
  transition: 0.2s transform;
  filter: drop-shadow(0 5px 20px rgba(179, 34, 52, 0.5));
}
@media screen and (max-width: 768px) {
  .float__banner a img, .check__banner a img, .check__banner-bottom-item a img, .capacity__btn a img, .poikatsu__btn a img, .family__btn a img, .welcome__btn a img, .shitadori__btn a img, .kaedoki__plus-link-btn a img {
    border-radius: 8vw;
    filter: drop-shadow(0 0.6666666667vw 2.6666666667vw rgba(179, 34, 52, 0.5));
  }
}
.float__banner a:hover, .check__banner a:hover, .check__banner-bottom-item a:hover, .capacity__btn a:hover, .poikatsu__btn a:hover, .family__btn a:hover, .welcome__btn a:hover, .shitadori__btn a:hover, .kaedoki__plus-link-btn a:hover {
  opacity: 1;
}
.float__banner a:hover img, .check__banner a:hover img, .check__banner-bottom-item a:hover img, .capacity__btn a:hover img, .poikatsu__btn a:hover img, .family__btn a:hover img, .welcome__btn a:hover img, .shitadori__btn a:hover img, .kaedoki__plus-link-btn a:hover img {
  transform: scale(1.1);
}
@media screen and (max-width: 768px) {
  .float__banner a:hover img, .check__banner a:hover img, .check__banner-bottom-item a:hover img, .capacity__btn a:hover img, .poikatsu__btn a:hover img, .family__btn a:hover img, .welcome__btn a:hover img, .shitadori__btn a:hover img, .kaedoki__plus-link-btn a:hover img {
    transform: scale(1);
  }
}

.capacity__detail-inner-btn a img {
  transform: scale(1);
  transition: 0.2s transform;
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-btn a img {
    border-radius: 8vw;
  }
}
.capacity__detail-inner-btn a:hover {
  opacity: 1;
}
.capacity__detail-inner-btn a:hover img {
  transform: scale(1.1);
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-btn a:hover img {
    transform: scale(1);
  }
}

/* common:start */
[v-cloak] {
  display: none;
}

@media screen and (max-width: 768px) {
  .pcOnly {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .spOnly {
    display: none !important;
  }
}

html {
  scroll-behavior: auto;
}

.main {
  font-family: "Noto Sans JP", sans-serif;
  overflow: hidden;
}

a {
  opacity: 1;
  transition: 0.2s opacity;
}
a:hover {
  opacity: 0.75;
}

.bg-blue {
  background: #CFECF7;
  background: linear-gradient(270deg, rgb(207, 236, 247) 0%, rgb(144, 195, 224) 70%);
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .bg-blue {
    padding-bottom: 16vw;
  }
}
.bg-blue .capacity__container,
.bg-blue .poikatsu__container,
.bg-blue .family__container,
.bg-blue .welcome__container,
.bg-blue .shitadori__container,
.bg-blue .kaedoki__container {
  box-shadow: 0px 14px 24px 6px rgba(5, 42, 66, 0.4), inset 0px -3px 14px 0px rgba(180, 125, 135, 0.9);
}
@media screen and (max-width: 768px) {
  .bg-blue .capacity__container,
  .bg-blue .poikatsu__container,
  .bg-blue .family__container,
  .bg-blue .welcome__container,
  .bg-blue .shitadori__container,
  .bg-blue .kaedoki__container {
    box-shadow: 0px 1.3333333333vw 3.0666666667vw 0.8vw rgba(5, 42, 66, 0.4), inset 0px -0.4vw 1.8666666667vw 0px rgba(180, 125, 135, 0.9);
  }
}
.bg-pink {
  background: #FACBD7;
  background: linear-gradient(270deg, rgb(250, 203, 215) 0%, rgb(243, 173, 195) 70%);
}

.ga_delay_inview {
  height: 1px;
}

/* common:end */
/* header:start */
.header {
  position: relative;
  z-index: 1000;
}
@media screen and (max-width: 768px) {
  .header {
    position: fixed;
    width: 100%;
  }
}
.header__container {
  padding: 30px 0;
  max-width: 1920px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .header__container {
    justify-content: space-between;
    background-color: #fff;
    padding: 0;
    box-shadow: 0 0 20px 6px rgba(0, 0, 0, 0.08);
  }
}
.header__logo {
  width: 140px;
  margin-right: 16.9270833333%;
  margin-left: 3.125%;
}
@media screen and (max-width: 768px) {
  .header__logo {
    width: 29.2vw;
    margin-left: 0;
    margin-right: 0;
  }
}
.header__menu {
  background-color: transparent;
  border: none;
}
@media screen and (max-width: 768px) {
  .header__menu {
    width: 14.5333333333vw;
    margin: 0;
  }
}
.header__link {
  position: relative;
}
.header__link-item-white {
  background-color: #fff;
}
.header__link-item-white::before {
  background-color: #cc0033;
}
.header__link-item-white img {
  filter: invert(1);
}
.header__link-item-white:hover {
  opacity: 1;
}
.header__link-item-white:hover img {
  filter: invert(0);
}
@media screen and (max-width: 768px) {
  .header__link-item-white:hover img {
    filter: invert(1);
  }
}
.header__link-item-red {
  background: #cc0033;
}
.header__link-item-red::before {
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 250%;
  transform: skewY(-10deg) scale(1, 0);
  transform-origin: left top;
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .header__link-item-red::before {
    content: none;
  }
}
.header__link-item-red img {
  z-index: 1;
  filter: invert(1);
  transition: 0.2s filter;
}
.header__link-item-red:hover {
  opacity: 1;
}
.header__link-item-red:hover img {
  filter: invert(0);
}
.header__link-item-red:hover .header__link-item-check img {
  filter: invert(0);
}
.header__link-item-check {
  position: absolute;
  width: 9.5828635851%;
  height: 64%;
  top: -14%;
  right: 1.6910935738%;
  pointer-events: none;
  animation: checkmove 2s ease-in-out infinite;
  will-change: transform;
  /* 上下するキーフレームアニメーション */
}
@keyframes checkmove {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20%);
  }
}
.header__link-item-check img {
  filter: invert(0);
}
.header__link-item:last-child {
  position: relative;
}
.header.is-sticky .sticky-none {
  display: none !important;
}
.header.is-sticky .normal-none {
  display: block !important;
}
.header .normal-none {
  display: none;
}
.header .sticky-none {
  display: block;
}

/* xxx:end */
/* kv:start */
.kv {
  padding-top: 30px;
}
@media screen and (max-width: 768px) {
  .kv {
    padding-top: 13.0666666667vw;
    margin: 0 auto;
  }
}
.kv__container {
  position: relative;
  z-index: 20;
}
@media screen and (max-width: 768px) {
  .kv__container {
    padding: 0;
  }
}
.kv__wrapper {
  background-color: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0px 6px 12px 0px rgba(36, 0, 7, 0.4);
}
@media screen and (max-width: 768px) {
  .kv__wrapper {
    border-radius: 0;
    box-shadow: none;
  }
}

/* kv:end */
/* anchor:start */
.anchor {
  margin-top: 7.1590052751%;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .anchor {
    margin-top: 10.6666666667vw;
  }
}
.anchor__link {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  position: relative;
}
.anchor__link::after {
  position: absolute;
  content: "";
  display: block;
  background-image: url(/special_contents/docomo-promotion/iPhone_2026spring/images/pc/anchor__link-item-text.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 12.3756906077%;
  height: 64%;
  top: -48%;
  right: 11.5%;
}
@media screen and (max-width: 768px) {
  .anchor__link::after {
    content: none;
  }
}
@media screen and (max-width: 768px) {
  .anchor__link {
    display: flex;
    flex-wrap: wrap;
    background-color: transparent;
    box-shadow: none;
    padding: 0;
    width: 89.3333333333vw;
    max-width: none;
  }
}
@media screen and (max-width: 768px) {
  .anchor__link-item {
    width: 42.6666666667vw;
    padding: 0;
    background-color: #fff;
    border-radius: 6.6666666667vw;
    overflow: hidden;
    box-shadow: 0 1.6vw 3.2vw 0 rgba(36, 0, 7, 0.4);
  }
}
@media screen and (max-width: 768px) {
  .anchor__link-item:nth-child(2n) {
    margin-left: 4vw;
  }
}
@media screen and (max-width: 768px) {
  .anchor__link-item:nth-child(n+3) {
    margin-top: 2.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .anchor__link-item:nth-child(5) {
    position: relative;
    margin-top: 8vw;
    overflow: visible;
  }
}
.anchor__link-item:nth-child(5) picture {
  position: relative;
}
@media screen and (max-width: 768px) {
  .anchor__link-item:nth-child(5) picture::after {
    position: absolute;
    content: "";
    display: block;
    background-image: url(/special_contents/docomo-promotion/iPhone_2026spring/images/sp/anchor__link-item-text.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 28.6666666667vw;
    height: 4.4vw;
    top: -6vw;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 768px) {
  .anchor__link-item:nth-child(6) {
    margin-top: 8vw;
  }
}
@media screen and (max-width: 768px) {
  .anchor__link-item::after {
    content: none !important;
  }
}
.anchor__link-item-red {
  background: #cc0033;
}
.anchor__link-item-red::before {
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 250%;
  transform: skewY(-10deg) scale(1, 0);
  transform-origin: left top;
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .anchor__link-item-red::before {
    content: none;
  }
}
.anchor__link-item-red img {
  position: relative;
  z-index: 1;
  transition: 0.2s filter;
}
.anchor__link-item-red:hover {
  opacity: 1;
}
.anchor__link-item-red:hover img {
  filter: invert(1);
}
@media screen and (max-width: 768px) {
  .anchor__link-item-red:hover img {
    filter: invert(0);
  }
}

/* xxx:end */
/* anchor:start */
.popup {
  width: 75.3579502638%;
  margin-top: 3.0143180106%;
  margin-left: auto;
  margin-right: auto;
  transition: 0.2s transform;
}
@media screen and (max-width: 768px) {
  .popup {
    width: 84vw;
    margin-top: 8vw;
    height: 18.6666666667vw;
  }
}
.popup img:hover {
  cursor: pointer;
}
.popup:hover {
  transform: scale(1.1);
}
@media screen and (max-width: 768px) {
  .popup:hover {
    transform: scale(1);
  }
}
.popup__image {
  border: none;
  background-color: transparent;
  border-radius: 24px;
  box-shadow: 0 5px 20px 0 rgba(36, 0, 7, 0.4);
}
@media screen and (max-width: 768px) {
  .popup__image {
    border-radius: 3.2vw;
    box-shadow: 0 1.3333333333vw 2.6666666667vw 0 rgba(36, 0, 7, 0.4);
  }
}

/* xxx:end */
/* osusume:start */
.osusume__container {
  max-width: 1327px;
  width: 100%;
  padding-top: 105px;
  padding-bottom: 90px;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 1355px) {
  .osusume__container {
    padding-top: 7.7490774908vw;
    padding-bottom: 6.6420664207vw;
  }
}
@media screen and (max-width: 768px) {
  .osusume__container {
    padding-top: 40vw;
    padding-bottom: 16vw;
  }
}
.osusume__title {
  width: 33.5342878674%;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .osusume__title {
    width: 60.2666666667vw;
  }
}
.osusume__title.deray__animation.js-deray-active {
  animation: smallerBigger 2s ease-in-out infinite;
}
.osusume__title {
  /* 上下するキーフレームアニメーション */
}
@keyframes smallerBigger {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
.osusume__poinco {
  position: absolute;
  width: 27.8824415976%;
  top: 0;
  right: 75px;
  z-index: 10;
}
@media screen and (max-width: 1355px) {
  .osusume__poinco {
    right: 5.4864667154vw;
  }
}
@media screen and (max-width: 768px) {
  .osusume__poinco {
    width: 53.6vw;
    right: 0;
    top: 0;
  }
}
.osusume__poinco.js-fade {
  opacity: 0;
  transform: translateY(20px);
  /* 少し下からスタート */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.osusume__poinco.js-fade-active {
  opacity: 1;
  transform: translateY(0);
  /* 元の位置に戻る */
}

/* osusume:end */
/* kaedoki:start */
.kaedoki {
  position: relative;
  z-index: 20;
}
.kaedoki__container {
  margin-top: 2.7128862095%;
}
@media screen and (max-width: 768px) {
  .kaedoki__container {
    margin-top: 26.6666666667vw;
  }
}
.kaedoki__title {
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .kaedoki__title {
    width: 86.6666666667vw;
  }
}
.kaedoki__lead {
  font-size: 22px;
  text-align: center;
  font-weight: bold;
  line-height: 1.4545454545;
  margin-top: 3.4%;
}
@media screen and (max-width: 1355px) {
  .kaedoki__lead {
    font-size: 1.6236162362vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__lead {
    font-size: 4vw;
    margin-top: 4.5333333333vw;
  }
}
.kaedoki__lead-large {
  display: inline-block;
  font-size: 28px;
  margin-top: 6px;
  line-height: 1;
}
@media screen and (max-width: 1355px) {
  .kaedoki__lead-large {
    font-size: 2.0664206642vw;
    margin-top: 0.442804428vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__lead-large {
    font-size: 5.3333333333vw;
    margin-top: 1.0666666667vw;
  }
}
.kaedoki__aori {
  width: 70.9%;
  margin-top: 4%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .kaedoki__aori {
    width: 77.0666666667vw;
    margin-top: 5.3333333333vw;
  }
}
.kaedoki__logo {
  width: 92.8%;
  margin-top: 4.8%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .kaedoki__logo {
    width: 89.3333333333vw;
    margin-top: 5.3333333333vw;
  }
}
.kaedoki__point {
  width: 86%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 4px solid #cb0f31;
  border-radius: 10px;
  margin-top: 4%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1355px) {
  .kaedoki__point {
    border-width: 0.295202952vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__point {
    width: 84vw;
    margin-top: 6.6666666667vw;
    border-width: 0.5333333333vw;
    border-radius: 2.6666666667vw;
    border-radius: 2.6666666667vw;
  }
}
.kaedoki__point-item {
  padding: 2.5581395349% 0 2.6744186047%;
}
@media screen and (max-width: 768px) {
  .kaedoki__point-item {
    padding: 5.3333333333vw 0 5.6vw;
  }
}
.kaedoki__point-item:first-child {
  position: relative;
  padding-right: 4.5348837209%;
  margin-right: 14.6511627907%;
}
@media screen and (max-width: 768px) {
  .kaedoki__point-item:first-child {
    padding-right: 4.6666666667vw;
    padding-left: 4vw;
    margin-right: 0;
  }
}
.kaedoki__point-item:first-child::after {
  position: absolute;
  display: block;
  content: "";
  background-color: #cb0f31;
  width: 3px;
  height: 60px;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 1355px) {
  .kaedoki__point-item:first-child::after {
    width: 0.221402214vw;
    height: 4.4280442804vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__point-item:first-child::after {
    width: 0.5333333333vw;
    height: 18.6666666667vw;
  }
}
.kaedoki__point-item:last-child {
  padding-right: 1.1627906977%;
}
@media screen and (max-width: 768px) {
  .kaedoki__point-item:last-child {
    padding-right: 0;
    padding-left: 12.6666666667vw;
  }
}
.kaedoki__point-text {
  position: relative;
  font-size: 28px;
  line-height: 1;
  color: #cb0f31;
  font-weight: bold;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1355px) {
  .kaedoki__point-text {
    font-size: 2.0664206642vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__point-text {
    font-size: 4.5333333333vw;
    line-height: 1.2941176471;
  }
}
.kaedoki__point-text::before {
  position: absolute;
  display: block;
  content: "";
  background-image: url("/special_contents/docomo-promotion/iPhone_2026spring/images/pc/kaedoki_point_icon.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 31px;
  height: 29px;
  top: -2px;
  left: -36px;
}
@media screen and (max-width: 1355px) {
  .kaedoki__point-text::before {
    width: 2.2878228782vw;
    height: 2.1402214022vw;
    top: -0.147601476vw;
    left: -2.6568265683vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__point-text::before {
    background-image: url("/special_contents/docomo-promotion/iPhone_2026spring/images/sp/kaedoki_point_icon.png");
    width: 5.6vw;
    height: 5.2vw;
    font-size: 4.5333333333vw;
    top: 0;
    left: -6vw;
  }
}
.kaedoki__point-text-small {
  font-size: 22px;
}
@media screen and (max-width: 1355px) {
  .kaedoki__point-text-small {
    font-size: 1.6236162362vw;
  }
}
.kaedoki__step-title {
  width: 32.7659574468%;
  margin: 0 auto;
  padding-top: 0.3191489362%;
  padding-bottom: 0.5319148936%;
}
@media screen and (max-width: 768px) {
  .kaedoki__step-title {
    width: 55.8666666667vw;
    padding-top: 1.0666666667vw;
    padding-bottom: 1.6vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__step-inner {
    padding-top: 9.6vw;
  }
}
.kaedoki__step-items {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .kaedoki__step-items {
    flex-direction: column;
  }
}
.kaedoki__step-item {
  position: relative;
  width: 48.8372093023%;
  display: flex;
}
@media screen and (max-width: 768px) {
  .kaedoki__step-item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__step-item:last-child {
    margin-top: 9.8666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__step-item:last-child .kaedoki__step-item-body {
    padding-top: 16.4vw;
    padding-bottom: 13.8666666667vw;
  }
}
.kaedoki__step-item-head {
  position: absolute;
  width: 33.3333333333%;
  background-color: #009546;
  border-radius: 25px;
  font-size: 22px;
  font-weight: bold;
  color: #ffffff;
  text-align: center;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  padding-top: 0.3571428571%;
  padding-bottom: 1.1904761905%;
}
@media screen and (max-width: 1355px) {
  .kaedoki__step-item-head {
    top: -1.0332103321vw;
    font-size: 1.6236162362vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__step-item-head {
    width: 26.6666666667vw;
    border-radius: 4.9333333333vw;
    font-size: 4.2666666667vw;
    top: -4.6666666667vw;
  }
}
.kaedoki__step-item-head-num {
  font-size: 30px;
}
@media screen and (max-width: 1355px) {
  .kaedoki__step-item-head-num {
    font-size: 2.2140221402vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__step-item-head-num {
    font-size: 5.8666666667vw;
  }
}
.kaedoki__step-item-body {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border: 5px solid #e6e8e7;
  border-radius: 20px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.7777777778;
  text-align: center;
  padding-top: 13.0952380952%;
  padding-bottom: 9.0476190476%;
}
@media screen and (max-width: 1355px) {
  .kaedoki__step-item-body {
    border-width: 0.36900369vw;
    font-size: 1.3284132841vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__step-item-body {
    border-width: 0.6666666667vw;
    border-radius: 1.3333333333vw;
    font-size: 3.4666666667vw;
    padding-top: 10vw;
    padding-bottom: 8vw;
  }
}
.kaedoki__step-item-body sup {
  font-size: 50%;
}
@media screen and (max-width: 768px) {
  .kaedoki__step-item-body sup {
    font-size: 70%;
  }
}
.kaedoki__step-cancel {
  font-size: 18px;
  line-height: 1.7777777778;
  text-align: center;
  margin-top: 3.3720930233%;
}
@media screen and (max-width: 1355px) {
  .kaedoki__step-cancel {
    font-size: 1.3284132841vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__step-cancel {
    font-size: 3.4666666667vw;
    margin-top: 6.1333333333vw;
  }
}
.kaedoki__step-cancel-marker {
  display: inline-block;
  font-size: 28px;
  margin-top: 7px;
  line-height: 1;
  text-decoration: underline;
  text-decoration-thickness: 16px;
  text-decoration-color: #fef500;
  text-decoration-skip-ink: none;
  text-underline-offset: -0.4em;
  font-weight: bold;
}
@media screen and (max-width: 1355px) {
  .kaedoki__step-cancel-marker {
    font-size: 2.0664206642vw;
    margin-top: 0.5166051661vw;
    text-decoration-thickness: 1.1808118081vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__step-cancel-marker {
    font-size: 5.0666666667vw;
    margin-top: 0.9333333333vw;
    text-decoration-thickness: 3.4666666667vw;
    text-underline-offset: -0.2em;
    font-feature-settings: "palt";
  }
}
.kaedoki__program {
  position: relative;
  border: 2px solid #009546;
  border-radius: 20px;
  width: 100%;
  padding-top: 3.488372093%;
  padding-bottom: 3.2558139535%;
  margin-top: 5.5813953488%;
}
@media screen and (max-width: 1355px) {
  .kaedoki__program {
    border-width: 0.147601476vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__program {
    border-width: 0.2666666667vw;
    border-radius: 1.3333333333vw;
    padding-top: 5.0666666667vw;
    padding-bottom: 3.7333333333vw;
    margin-top: 9.0666666667vw;
  }
}
.kaedoki__program-title {
  position: absolute;
  color: #009546;
  font-size: 18px;
  background-color: #ffffff;
  padding: 0 20px;
  line-height: 1;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
@media screen and (max-width: 1355px) {
  .kaedoki__program-title {
    font-size: 1.3284132841vw;
    padding: 0 1.4760147601vw;
    top: -0.7380073801vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__program-title {
    top: -2vw;
    font-size: 3.4666666667vw;
    padding: 0 4vw;
  }
}
.kaedoki__program-text {
  font-size: 18px;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 1355px) {
  .kaedoki__program-text {
    font-size: 1.3284132841vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__program-text {
    font-size: 3.4666666667vw;
    line-height: 1.6923076923;
  }
}
.kaedoki__list {
  margin-top: 3.023255814%;
}
@media screen and (max-width: 768px) {
  .kaedoki__list {
    margin-top: 16px;
  }
}
.kaedoki__list-item {
  padding-left: 1.75em;
  text-indent: -1.75em;
  font-size: 12px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .kaedoki__list-item {
    line-height: 1.3333333333;
  }
}
.kaedoki__list-item:not(:first-child) {
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .kaedoki__list-item:not(:first-child) {
    margin-top: 8px;
  }
}
.kaedoki__plus-aori {
  position: relative;
  width: 35.9%;
  font-size: 25px;
  text-align: center;
  margin-top: 3.5%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1355px) {
  .kaedoki__plus-aori {
    font-size: 1.8450184502vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-aori {
    font-size: 4vw;
    line-height: 1.3;
    width: 55.2vw;
    margin-top: 4vw;
  }
}
.kaedoki__plus-aori::before {
  position: absolute;
  display: block;
  content: "";
  background-image: url(/special_contents/docomo-promotion/iPhone_2026spring/images/pc/kaedoki_plus_dec.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  height: 34px;
  top: 9.7493036212%;
  left: 0;
}
@media screen and (max-width: 1355px) {
  .kaedoki__plus-aori::before {
    height: 2.5092250923vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-aori::before {
    background-image: url(/special_contents/docomo-promotion/iPhone_2026spring/images/sp/kaedoki_plus_dec.png);
    background-size: cover;
    height: 6.6666666667vw;
    top: 3.3333333333vw;
  }
}
.kaedoki__plus-lead {
  width: 61.2%;
  margin-top: 2.5%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-lead {
    width: 68.8vw;
    margin-top: 6.1333333333vw;
  }
}
.kaedoki__plus-logo {
  width: 90.3%;
  margin-top: 6%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-logo {
    width: 74.9333333333vw;
    margin-top: 5.7333333333vw;
  }
}
.kaedoki__plus-content {
  border: 5px solid #e6e8e7;
  border-radius: 30px;
  overflow: hidden;
  width: 100%;
  padding-bottom: 2.4%;
  margin-top: 8.6%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-content {
    border-width: 0.8vw;
    border-radius: 4vw;
    margin-top: 6.6666666667vw;
    padding-bottom: 6.6666666667vw;
  }
}
.kaedoki__plus-tabs {
  display: flex;
}
.kaedoki__plus-tabs button {
  border: none;
  transition: 0.2s opacity;
}
.kaedoki__plus-tabs button:hover {
  cursor: pointer;
  opacity: 0.75;
}
.kaedoki__plus-tabs-01 {
  width: 49.898989899%;
  background-color: #ee7e84;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-tabs-01 {
    width: 43.8666666667vw;
  }
}
.kaedoki__plus-tabs-02 {
  width: 50.101010101%;
  background-color: #e86c91;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-tabs-02 {
    width: 43.8666666667vw;
  }
}
.kaedoki__plus-table {
  width: 86.8686868687%;
  margin-top: 6.0606060606%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-table {
    width: 78.6666666667vw;
    margin-top: 10.6666666667vw;
  }
}
.kaedoki__plus-list {
  font-size: 12px;
  line-height: 1.8333333333;
  width: 86.8686868687%;
  margin-top: 12px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-list {
    font-size: 3.2vw;
    line-height: 1.3333333333;
    margin-top: 4.2666666667vw;
    width: 84vw;
  }
}
.kaedoki__plus-list-item {
  padding-left: 1.25em;
  text-indent: -1.25em;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-list-item:not(:first-child) {
    margin-top: 2vw;
  }
}
.kaedoki__plus-need {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4545454545;
  margin-top: 4.8%;
}
@media screen and (max-width: 1355px) {
  .kaedoki__plus-need {
    font-size: 1.6236162362vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-need {
    font-size: 4.2666666667vw;
    line-height: 1.75;
    margin-top: 6.1333333333vw;
  }
}
.kaedoki__plus-need-red {
  display: inline-block;
  margin-top: 3px;
  color: #cc0033;
  font-size: 28px;
  line-height: 1.1428571429;
  text-decoration: underline;
  text-decoration-thickness: 14px;
  text-decoration-color: #fef500;
  text-decoration-skip-ink: none;
  text-underline-offset: -0.2em;
}
@media screen and (max-width: 1355px) {
  .kaedoki__plus-need-red {
    border-top: 0.221402214vw;
    font-size: 2.0664206642vw;
    text-decoration-thickness: 1.0332103321vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-need-red {
    display: inline;
    line-height: 1.7;
    text-decoration-thickness: 3.4666666667vw;
    text-underline-offset: -0.3em;
    font-size: 5.3333333333vw;
  }
}
.kaedoki__plus-compensation {
  width: 86.8686868687%;
  margin-top: 3.3333333333%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-compensation {
    width: 78.6666666667vw;
    margin-top: 5.3333333333vw;
  }
}
.kaedoki__plus-link-btn {
  width: 63.8383838384%;
  margin-top: 6.0606060606%;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-link-btn {
    width: 78.6666666667vw;
    margin-top: 8vw;
  }
}
.kaedoki__plus-step {
  margin-top: 3.5353535354%;
  box-shadow: none;
  width: 94.9494949495%;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-step {
    margin-top: 8vw;
  }
}
.kaedoki__plus-step-accordion-title {
  display: block;
  font-size: 26px;
  font-weight: bold;
  line-height: 1;
  padding-top: 1.8279569892%;
  padding-bottom: 1.935483871%;
}
@media screen and (max-width: 1355px) {
  .kaedoki__plus-step-accordion-title {
    font-size: 1.9188191882vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-step-accordion-title {
    font-size: 3.7333333333vw;
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
}
.kaedoki__plus-step-inner {
  padding-top: 5.376344086%;
  padding-bottom: 4.623655914%;
  padding-left: 3.2258064516%;
  padding-right: 3.2258064516%;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-step-inner {
    padding-top: 8vw;
    padding-bottom: 6.6666666667vw;
  }
}
.kaedoki__plus-step-image {
  position: relative;
  width: 82.7586206897%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 10.3448275862%;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-step-image {
    width: 69.3333333333vw;
    padding-bottom: 12vw;
  }
}
.kaedoki__plus-step-image::after {
  position: absolute;
  display: block;
  content: "";
  background-image: url(/special_contents/docomo-promotion/iPhone_2026spring/images/pc/keadoki_plus_step_arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 27.7777777778%;
  height: 50px;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}
@media screen and (max-width: 1355px) {
  .kaedoki__plus-step-image::after {
    height: 3.6900369004vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-step-image::after {
    background-image: url(/special_contents/docomo-promotion/iPhone_2026spring/images/sp/keadoki_plus_step_arrow.png);
    background-size: contain;
    width: 26.6666666667vw;
    height: 6.6666666667vw;
  }
}
.kaedoki__plus-step-btns {
  width: 84.367816092%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 3.4482758621%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-step-btns {
    width: 100%;
    flex-direction: column;
    margin-top: 5.3333333333vw;
  }
}
.kaedoki__plus-step-btns-item {
  width: 46.3215258856%;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-step-btns-item {
    width: 80vw;
  }
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-step-btns-item:last-child {
    width: 83.4666666667vw;
  }
}
.kaedoki__plus-step-btns-item a {
  opacity: 1 !important;
}
.kaedoki__plus-step-btns-item a img {
  transform: scale(1);
  transition: 0.2s transform !important;
}
.kaedoki__plus-step-btns-item a:hover {
  opacity: 1;
}
.kaedoki__plus-step-btns-item a:hover img {
  transform: scale(1.1);
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-step-btns-item a:hover img {
    transform: scale(1);
  }
}
.kaedoki__plus-step-list {
  margin-top: 1.3%;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-step-list {
    margin-top: 0.6666666667vw;
  }
}
.kaedoki__plus-step-list-item {
  padding-left: 1.25em;
  text-indent: -1.25em;
  font-size: 12px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-step-list-item {
    line-height: 1.3245833333;
  }
}
.kaedoki__plus-step-list-item:not(:first-child) {
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-step-list-item:not(:first-child) {
    margin-top: 1.6vw;
  }
}
.kaedoki__plus-chirashi {
  margin-top: 2.5%;
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 5%;
  padding-right: 0;
  padding-left: 1.5%;
  padding-bottom: 4.5%;
  background-color: #f4e7c7;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-chirashi {
    margin-top: 5.3333333333vw;
  }
}
.kaedoki__plus-chirashi-image {
  width: 98.4375%;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-chirashi-image {
    width: 81.3333333333vw;
  }
}
.kaedoki__plus-chirashi-list {
  margin-top: 1.3%;
  padding-right: 1.5625%;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-chirashi-list {
    margin-top: 20px;
  }
}
.kaedoki__plus-chirashi-list-item {
  padding-left: 1.8em;
  text-indent: -1.8em;
  font-size: 12px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-chirashi-list-item {
    line-height: 1.3333333333;
  }
}
.kaedoki__plus-chirashi-list-item:not(:first-child) {
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .kaedoki__plus-chirashi-list-item:not(:first-child) {
    margin-top: 8px;
  }
}
.kaedoki__plus-chirashi-list-item-small {
  padding-right: 0.56em;
}

/* kaedoki:end */
/* shitadori:start */
.shitadori {
  position: relative;
  z-index: 20;
}
.shitadori__container {
  margin-top: 3.0143180106%;
}
@media screen and (max-width: 768px) {
  .shitadori__container {
    margin-top: 12.9333333333vw;
    padding-bottom: 7.0666666667vw;
  }
}
.shitadori__title {
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .shitadori__title {
    width: 86.6666666667vw;
  }
}
.shitadori__logo {
  width: 19.1%;
  margin-top: 4%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .shitadori__logo {
    width: 30.5333333333vw;
    margin-top: 5.3333333333vw;
  }
}
.shitadori__lead {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  margin-top: 3.2%;
}
@media screen and (max-width: 1355px) {
  .shitadori__lead {
    font-size: 1.7712177122vw;
  }
}
@media screen and (max-width: 768px) {
  .shitadori__lead {
    font-size: 4.2666666667vw;
    line-height: 1.6875;
    margin-top: 2.9333333333vw;
  }
}
.shitadori__lead-red {
  color: #cb0f31;
}
.shitadori__lead-marker {
  text-decoration: underline;
  text-decoration-thickness: 10px;
  text-decoration-color: #fef500;
  text-decoration-skip-ink: none;
  text-underline-offset: -0.2em;
}
@media screen and (max-width: 1355px) {
  .shitadori__lead-marker {
    text-decoration-thickness: 0.7380073801vw;
  }
}
@media screen and (max-width: 768px) {
  .shitadori__lead-marker {
    text-decoration-thickness: 3.4666666667vw;
    text-underline-offset: -0.5em;
  }
}
.shitadori__point {
  display: flex;
  justify-content: space-between;
  width: 74%;
  margin-top: 3.3%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .shitadori__point {
    width: 100%;
    margin-top: 4vw;
  }
}
.shitadori__point-item {
  width: 48.6486486486%;
}
@media screen and (max-width: 768px) {
  .shitadori__point-item {
    width: 42vw;
  }
}
.shitadori__increase-image {
  width: 72.1%;
  margin-top: 3.8%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .shitadori__increase-image {
    width: 88vw;
    margin-top: 5.3333333333vw;
  }
}
.shitadori__increase-text {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-top: 2.2%;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1355px) {
  .shitadori__increase-text {
    font-size: 1.7712177122vw;
  }
}
@media screen and (max-width: 768px) {
  .shitadori__increase-text {
    font-size: 4.2666666667vw;
    line-height: 1.5625;
    margin-top: 4.6666666667vw;
  }
}
.shitadori__example {
  margin-top: 3.5%;
}
@media screen and (max-width: 768px) {
  .shitadori__example {
    margin-top: 5.6vw;
  }
}
.shitadori__example-accordion-title {
  display: block;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  padding-top: 2.1505376344%;
  padding-bottom: 2.1505376344%;
}
@media screen and (max-width: 1355px) {
  .shitadori__example-accordion-title {
    font-size: 1.4760147601vw;
  }
}
@media screen and (max-width: 768px) {
  .shitadori__example-accordion-title {
    font-size: 4vw;
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
}
.shitadori__example-inner {
  padding-top: 5.376344086%;
  padding-bottom: 4.8387096774%;
}
@media screen and (max-width: 768px) {
  .shitadori__example-inner {
    padding-top: 8vw;
    padding-bottom: 6.6666666667vw;
  }
}
.shitadori__example-term {
  font-size: 24px;
  text-align: center;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 10px;
  margin-top: 3.8%;
  margin-bottom: 3%;
}
@media screen and (max-width: 1355px) {
  .shitadori__example-term {
    font-size: 1.7712177122vw;
    padding-left: 0.7380073801vw;
  }
}
@media screen and (max-width: 768px) {
  .shitadori__example-term {
    font-size: 4vw;
    padding-left: 2.4vw;
    margin-bottom: 6.4vw;
    margin-top: 6.4vw;
  }
}
.shitadori__example-term-border {
  font-size: 20px;
  letter-spacing: 0.18em;
  border: 2px solid #000;
  display: inline-block;
  padding-left: 14px;
  padding-right: 10px;
  margin-right: 19px;
  line-height: 1.3;
}
@media screen and (max-width: 1355px) {
  .shitadori__example-term-border {
    font-size: 1.4760147601vw;
    border-width: 0.147601476vw;
    padding-left: 1.0332103321vw;
    padding-right: 0.7380073801vw;
    margin-right: 1.4022140221vw;
  }
}
@media screen and (max-width: 768px) {
  .shitadori__example-term-border {
    font-size: 3.4666666667vw;
    border-width: 0.2666666667vw;
    padding-left: 1.3333333333vw;
    margin-right: 2.1333333333vw;
    line-height: 1.5;
  }
}
.shitadori__example-item:not(:last-child) {
  margin-bottom: 3.2258064516%;
}
@media screen and (max-width: 768px) {
  .shitadori__example-item:not(:last-child) {
    margin-bottom: 5.3333333333vw;
  }
}
.shitadori__btn {
  width: 63.2%;
  margin-top: 4%;
}
@media screen and (max-width: 768px) {
  .shitadori__btn {
    width: 78.6666666667vw;
    margin-top: 8vw;
  }
}
.shitadori__list {
  margin-top: 3.5%;
}
@media screen and (max-width: 768px) {
  .shitadori__list {
    margin-top: 20px;
    width: 84vw;
    margin-inline: auto;
  }
}
.shitadori__list-item {
  padding-left: 1.25em;
  text-indent: -1.25em;
  font-size: 12px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .shitadori__list-item {
    line-height: 1.3333333333;
  }
}
.shitadori__list-item:not(:first-child) {
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .shitadori__list-item:not(:first-child) {
    margin-top: 8px;
  }
}

/* shitadori:end */
/* welcome:start */
.welcome {
  position: relative;
  z-index: 20;
}
.welcome__container {
  margin-top: 3.0143180106%;
  padding-bottom: 5.8025621703%;
}
@media screen and (max-width: 768px) {
  .welcome__container {
    margin-top: 8vw;
    padding-bottom: 8.2666666667vw;
  }
}
.welcome__title {
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .welcome__title {
    width: 86.6666666667vw;
  }
}
.welcome__logo {
  width: 25.2%;
  margin-top: 4%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .welcome__logo {
    width: 67.2vw;
    margin-top: 5.3333333333vw;
  }
}
.welcome__lead {
  position: relative;
  width: 53.2527881041%;
  margin-inline: auto;
  font-size: 28px;
  text-align: center;
  font-weight: bold;
  line-height: 1.2857142857;
  margin-top: 2.6%;
}
@media screen and (max-width: 1355px) {
  .welcome__lead {
    font-size: 2.0664206642vw;
  }
}
@media screen and (max-width: 768px) {
  .welcome__lead {
    font-size: 4.2666666667vw;
    width: 83.6vw;
    line-height: 1.6875;
    margin-top: 3.3333333333vw;
  }
}
.welcome__lead-red {
  color: #cb0f31;
}
.welcome__lead sup {
  font-size: 50%;
}
.welcome__lead::before {
  position: absolute;
  display: block;
  content: "";
  background-image: url(/special_contents/docomo-promotion/iPhone_2026spring/images/pc/welcome_aori_dec01.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 34px;
  height: 68px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1355px) {
  .welcome__lead::before {
    width: 2.5092250923vw;
    height: 5.0184501845vw;
  }
}
@media screen and (max-width: 768px) {
  .welcome__lead::before {
    background-image: url(/special_contents/docomo-promotion/iPhone_2026spring/images/sp/welcome_aori_dec.png);
    width: 84.1333333333vw;
    height: 10.8vw;
    left: 50%;
    translate: -50%;
    top: 10.1333333333vw;
  }
}
.welcome__lead::after {
  position: absolute;
  display: block;
  content: "";
  background-image: url(/special_contents/docomo-promotion/iPhone_2026spring/images/pc/welcome_aori_dec02.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 34px;
  height: 68px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1355px) {
  .welcome__lead::after {
    width: 2.5092250923vw;
    height: 5.0184501845vw;
  }
}
@media screen and (max-width: 768px) {
  .welcome__lead::after {
    content: none;
  }
}
.welcome__lead-large {
  font-size: 40px;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 3%;
}
@media screen and (max-width: 1355px) {
  .welcome__lead-large {
    font-size: 2.9520295203vw;
  }
}
@media screen and (max-width: 768px) {
  .welcome__lead-large {
    font-size: 4.8vw;
    margin-top: 6.6666666667vw;
  }
}
.welcome__lead-large sup {
  font-size: 50%;
}
.welcome__example {
  width: 79.1%;
  margin-top: 6%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .welcome__example {
    width: 79.6vw;
    margin-top: 6.6666666667vw;
  }
}
.welcome__btn {
  width: 63.2%;
  margin-top: 5.8%;
}
@media screen and (max-width: 768px) {
  .welcome__btn {
    width: 78.6666666667vw;
    margin-top: 8vw;
  }
}
.welcome__list {
  margin-top: 3.5%;
}
@media screen and (max-width: 768px) {
  .welcome__list {
    margin-top: 16px;
    width: 84vw;
    margin-inline: auto;
  }
}
.welcome__list-item {
  padding-left: 1.75em;
  text-indent: -1.75em;
  font-size: 12px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .welcome__list-item {
    line-height: 1.3333333333;
  }
}
.welcome__list-item:not(:first-child) {
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .welcome__list-item:not(:first-child) {
    margin-top: 7px;
  }
}
.welcome__list-item-text {
  position: relative;
  padding-left: 1.8em;
  text-indent: 0;
}
.welcome__list-item-text::before {
  position: absolute;
  content: "※";
  left: 0;
}

/* welcome:end */
/* family:start */
.family {
  position: relative;
  z-index: 20;
}
.family__container {
  margin-top: 3.0143180106%;
}
@media screen and (max-width: 768px) {
  .family__container {
    margin-top: 8vw;
  }
}
.family__title {
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .family__title {
    width: 86.6666666667vw;
  }
}
.family__logo {
  width: 21.9%;
  margin-top: 4%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .family__logo {
    width: 38vw;
    margin-top: 5.3333333333vw;
  }
}
.family__lead {
  position: relative;
  font-size: 24px;
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 3%;
}
@media screen and (max-width: 1355px) {
  .family__lead {
    font-size: 1.7712177122vw;
  }
}
@media screen and (max-width: 768px) {
  .family__lead {
    font-size: 4.2666666667vw;
    line-height: 1.6875;
  }
}
.family__lead-red {
  color: #cb0f31;
}
.family__lead sup {
  font-size: 50%;
}
.family__lead-small {
  display: block;
  font-size: 20px;
  line-height: 1;
  margin-top: 6px;
}
@media screen and (max-width: 1355px) {
  .family__lead-small {
    font-size: 1.4760147601vw;
    margin-top: 0.442804428vw;
  }
}
@media screen and (max-width: 768px) {
  .family__lead-small {
    font-size: 3.7333333333vw;
    line-height: 1.5714285714;
  }
}
.family__lead-caution {
  font-size: 12px;
  text-align: center;
  line-height: 1.5;
  margin-top: 1.7%;
}
@media screen and (max-width: 768px) {
  .family__lead-caution {
    text-align: left;
    margin-top: 2vw;
  }
}
@media screen and (max-width: 768px) {
  .family__lead-caution-item {
    font-size: 3.2vw;
    line-height: 1.3333333333;
    padding-left: 1.75em;
    text-indent: -1.75em;
  }
}
@media screen and (max-width: 768px) {
  .family__lead-caution-item:not(:first-child) {
    margin-top: 8px;
  }
}
.family__lead-caution sup {
  font-size: 50%;
}
.family__max {
  width: 76.7%;
  margin-top: 4.7%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .family__max {
    width: 73.4666666667vw;
    margin-top: 7.3333333333vw;
  }
}
.family__example {
  margin-top: 3%;
}
@media screen and (max-width: 768px) {
  .family__example {
    margin-top: 5.3333333333vw;
  }
}
.family__example-accordion-title {
  display: block;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  padding-top: 2.1505376344%;
  padding-bottom: 2.1505376344%;
}
@media screen and (max-width: 1355px) {
  .family__example-accordion-title {
    font-size: 1.4760147601vw;
  }
}
@media screen and (max-width: 768px) {
  .family__example-accordion-title {
    font-size: 4vw;
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
}
.family__example-inner {
  padding-top: 2.1505376344%;
  padding-bottom: 4.3010752688%;
}
@media screen and (max-width: 768px) {
  .family__example-inner {
    padding-top: 4vw;
    padding-bottom: 7.3333333333vw;
    padding-left: 1.3333333333vw;
    padding-right: 1.3333333333vw;
  }
}
.family__example-lead {
  font-size: 24px;
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 1355px) {
  .family__example-lead {
    font-size: 1.7712177122vw;
  }
}
@media screen and (max-width: 768px) {
  .family__example-lead {
    font-size: 4.8vw;
    line-height: 1.3888888889;
  }
}
.family__example-items {
  margin-top: 3.2558139535%;
}
@media screen and (max-width: 768px) {
  .family__example-items {
    margin-top: 6.4vw;
  }
}
.family__example-item {
  background-color: #f6f6f6;
  border-radius: 30px;
  padding-top: 3.488372093%;
  padding-bottom: 4.8837209302%;
}
@media screen and (max-width: 768px) {
  .family__example-item {
    border-radius: 2.6666666667vw;
    padding-top: 6.6666666667vw;
    padding-bottom: 8vw;
  }
}
.family__example-item:not(:first-child) {
  position: relative;
  margin-top: 6.976744186%;
  padding-bottom: 3.2558139535%;
}
@media screen and (max-width: 768px) {
  .family__example-item:not(:first-child) {
    margin-top: 24vw;
    padding-bottom: 8vw;
  }
}
.family__example-item:not(:first-child)::before {
  position: absolute;
  display: block;
  content: "";
  background-color: #cb0f31;
  width: 40px;
  height: 5px;
  top: -33px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1355px) {
  .family__example-item:not(:first-child)::before {
    width: 2.9520295203vw;
    height: 0.36900369vw;
    top: -2.4354243542vw;
  }
}
@media screen and (max-width: 768px) {
  .family__example-item:not(:first-child)::before {
    width: 13.3333333333vw;
    height: 1.6vw;
    top: -12vw;
  }
}
.family__example-item:not(:first-child)::after {
  position: absolute;
  display: block;
  content: "";
  background-color: #cb0f31;
  width: 40px;
  height: 5px;
  top: -33px;
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
}
@media screen and (max-width: 1355px) {
  .family__example-item:not(:first-child)::after {
    width: 2.9520295203vw;
    height: 0.36900369vw;
    top: -2.4354243542vw;
  }
}
@media screen and (max-width: 768px) {
  .family__example-item:not(:first-child)::after {
    width: 13.3333333333vw;
    height: 1.6vw;
    top: -12vw;
  }
}
.family__example-item:not(:first-child):nth-child(3) .family__example-item-body-caution {
  margin-top: 2.9069767442%;
}
@media screen and (max-width: 768px) {
  .family__example-item:not(:first-child):nth-child(3) .family__example-item-body-caution {
    margin-top: 9.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .family__example-item:nth-child(2) .family__example-item-body-text {
    font-size: 6.6666666667vw !important;
    line-height: 1.495;
  }
  .family__example-item:nth-child(2) .family__example-item-body-text-large {
    margin-top: -0.6666666667vw;
  }
}
.family__example-item-head {
  background-color: #cb0f31;
  width: 17.4418604651%;
  line-height: 1;
  font-size: 20px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding-top: 0.4651162791%;
  padding-bottom: 0.6976744186%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3.1395348837%;
}
@media screen and (max-width: 1355px) {
  .family__example-item-head {
    font-size: 1.4760147601vw;
  }
}
@media screen and (max-width: 768px) {
  .family__example-item-head {
    width: 34.6666666667vw;
    padding-top: 1.2vw;
    padding-bottom: 1.6vw;
    font-size: 5.3333333333vw;
    margin-bottom: 4.9333333333vw;
  }
}
.family__example-item-head-service {
  width: 83.488372093%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4.3023255814%;
}
@media screen and (max-width: 768px) {
  .family__example-item-head-service {
    width: 85.0666666667vw;
    margin-bottom: 5.3333333333vw;
  }
}
.family__example-item-body-text {
  text-align: center;
  font-weight: bold;
  font-size: 30px;
  line-height: 1;
}
@media screen and (max-width: 1355px) {
  .family__example-item-body-text {
    font-size: 2.2140221402vw;
  }
}
@media screen and (max-width: 768px) {
  .family__example-item-body-text {
    font-size: 6.6666666667vw;
    line-height: 1.28;
  }
}
.family__example-item-body-text-small {
  font-size: 22px;
}
@media screen and (max-width: 1355px) {
  .family__example-item-body-text-small {
    font-size: 1.6236162362vw;
  }
}
@media screen and (max-width: 768px) {
  .family__example-item-body-text-small {
    font-size: 4vw;
    line-height: 1;
    display: block;
    margin-top: 1.0666666667vw;
  }
}
.family__example-item-body-text-midium {
  display: inline-block;
  font-size: 26px;
  margin-top: 15px;
  margin-bottom: 20px;
}
@media screen and (max-width: 1355px) {
  .family__example-item-body-text-midium {
    font-size: 1.9188191882vw;
    margin-top: 1.1070110701vw;
    margin-bottom: 1.4760147601vw;
  }
}
@media screen and (max-width: 768px) {
  .family__example-item-body-text-midium {
    font-size: 4.8vw;
    line-height: 1.5;
    display: block;
  }
}
.family__example-item-body-text-large {
  font-size: 34px;
  display: inline-block;
  margin-top: 17px;
}
@media screen and (max-width: 1355px) {
  .family__example-item-body-text-large {
    font-size: 2.5092250923vw;
    margin-top: 1.2546125461vw;
  }
}
@media screen and (max-width: 768px) {
  .family__example-item-body-text-large {
    font-size: 6.6666666667vw;
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .family__example-item-body-text-large02 {
    font-size: 5.8666666667vw;
    display: block;
    margin-top: 2.6666666667vw;
  }
}
.family__example-item-body-text-red {
  color: #cb0f31;
}
.family__example-item-body-text-marker {
  text-decoration: underline;
  text-decoration-thickness: 10px;
  text-decoration-color: #fef500;
  text-decoration-skip-ink: none;
  text-underline-offset: -0.2em;
}
@media screen and (max-width: 1355px) {
  .family__example-item-body-text-marker {
    text-decoration-thickness: 0.7380073801vw;
  }
}
@media screen and (max-width: 768px) {
  .family__example-item-body-text-marker {
    text-decoration-thickness: 1.9188191882vw;
  }
}
.family__example-item-body-caution {
  font-size: 12px;
  text-align: center;
  line-height: 1.5;
  margin-top: 3.488372093%;
}
@media screen and (max-width: 1355px) {
  .family__example-item-body-caution {
    font-size: 0.8856088561vw;
  }
}
@media screen and (max-width: 768px) {
  .family__example-item-body-caution {
    width: 77.3333333333vw;
    margin-left: 3.3333333333vw;
    font-size: 3.2vw;
    line-height: 1.3333333333;
    text-align: left;
    padding-left: 1em;
    text-indent: -1em;
    margin-top: 8vw;
  }
}
.family__example-result {
  width: 64.1860465116%;
  margin-top: 1.1627906977%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .family__example-result {
    width: 73.2vw;
    margin-top: 5.3333333333vw;
  }
}
.family__list {
  margin-top: 3.5%;
}
.family__list-item {
  padding-left: 1.75em;
  text-indent: -1.75em;
  font-size: 12px;
  line-height: 1.5;
}
.family__list-item:not(:first-child) {
  margin-top: 4px;
}
.family__applicable {
  margin-top: 6%;
}
.family__applicable-lead {
  font-size: 30px;
  line-height: 1;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 1355px) {
  .family__applicable-lead {
    font-size: 2.2140221402vw;
  }
}
@media screen and (max-width: 768px) {
  .family__applicable-lead {
    font-size: 4.8vw;
    line-height: 1.3888888889;
    margin-top: 12vw;
  }
}
.family__applicable-image {
  width: 93.4%;
  margin-top: 4%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .family__applicable-image {
    margin-top: 6.6666666667vw;
    width: 89.3333333333vw;
  }
}
.family__applicable-detail {
  width: 86%;
  margin-left: auto;
  margin-right: auto;
  background-color: #cb0f31;
  border-radius: 14px;
  margin-top: 6%;
  box-shadow: 0px 5px 20px 0px rgba(179, 34, 52, 0.5);
}
@media screen and (max-width: 768px) {
  .family__applicable-detail {
    width: 84vw;
    border-radius: 4vw;
    margin-top: 13.3333333333vw;
  }
}
.family__applicable-detail-inner {
  padding-bottom: 3.488372093%;
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-inner {
    padding-bottom: 5.3333333333vw;
  }
}
.family__applicable-detail-content {
  background-color: #fff;
  border-radius: 10px;
  width: 93.023255814%;
  margin: 0 auto;
  padding: 3.488372093% 3.8372093023%;
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-content {
    width: 78.6666666667vw;
    border-radius: 1.3333333333vw;
    padding: 6vw 4vw 12vw;
  }
}
.family__applicable-detail-title {
  font-size: 20px;
  line-height: 1;
  font-weight: bold;
}
@media screen and (max-width: 1355px) {
  .family__applicable-detail-title {
    font-size: 1.4760147601vw;
  }
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-title {
    font-size: 4.2666666667vw;
  }
}
.family__applicable-detail-list {
  margin-top: 2.5885558583%;
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-list {
    margin-top: 4.6666666667vw;
  }
}
.family__applicable-detail-list-item {
  font-size: 14px;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.5714285714;
}
@media screen and (max-width: 1355px) {
  .family__applicable-detail-list-item {
    font-size: 1.0332103321vw;
  }
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-list-item {
    font-size: 3.2vw;
    line-height: 1.3333333333;
  }
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-list-item:not(:first-child) {
    margin-top: 1.8666666667vw;
  }
}
.family__applicable-detail-list-item sup {
  font-size: 60%;
}
.family__applicable-detail-list + .family__applicable-detail-title {
  margin-top: 4.7683923706%;
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-list + .family__applicable-detail-title {
    margin-top: 7.3333333333vw;
  }
}
.family__applicable-detail-note {
  font-size: 14px;
  line-height: 1.5714285714;
  margin-top: 2.7247956403%;
}
@media screen and (max-width: 1355px) {
  .family__applicable-detail-note {
    font-size: 1.0332103321vw;
  }
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-note {
    font-size: 3.4666666667vw;
    line-height: 1.4615384615;
    margin-top: 4.9333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-over {
    overflow: scroll;
  }
}
.family__applicable-detail-table {
  font-size: 14px;
  border-spacing: 0;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  width: 100%;
  margin-top: 7px;
}
@media screen and (max-width: 1355px) {
  .family__applicable-detail-table {
    font-size: 1.0332103321vw;
    margin-top: 0.5166051661vw;
  }
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-table {
    width: 173.3333333333vw;
    overflow: scroll;
    font-size: 3.4666666667vw;
    margin-top: 3.3333333333vw;
  }
}
.family__applicable-detail-table th {
  font-weight: normal;
  border-bottom: 1px solid #000;
  background-color: #e6e8e7;
  text-align: center;
  height: 35px;
}
@media screen and (max-width: 1355px) {
  .family__applicable-detail-table th {
    height: 2.5830258303vw;
  }
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-table th {
    background-color: #aeafae;
    height: 8.6666666667vw;
  }
}
.family__applicable-detail-table th:not(:last-child) {
  border-right: 1px solid #000;
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-table th:not(:last-child) {
    border-width: 0.2666666667vw;
  }
}
.family__applicable-detail-table th:nth-child(1) {
  width: 25.3369272237%;
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-table th:nth-child(1) {
    width: 50vw;
  }
}
.family__applicable-detail-table th:nth-child(2) {
  width: 36.7924528302%;
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-table th:nth-child(2) {
    width: 74.6666666667vw;
  }
}
.family__applicable-detail-table th:nth-child(3) {
  width: 35.7142857143%;
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-table th:nth-child(3) {
    width: 47.4666666667vw;
  }
}
.family__applicable-detail-table td {
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-table td {
    border-width: 0.2666666667vw;
  }
}
.family__applicable-detail-table-model {
  padding-left: 8px;
  border-right: 1px solid #000;
}
@media screen and (max-width: 1355px) {
  .family__applicable-detail-table-model {
    padding-left: 0.5904059041vw;
  }
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-table-model {
    padding-left: 2.6666666667vw;
  }
}
.family__applicable-detail-table-name {
  padding-left: 8px;
  border-right: 1px solid #000;
  line-height: 1;
  padding-top: 10px;
  padding-bottom: 10px;
}
@media screen and (max-width: 1355px) {
  .family__applicable-detail-table-name {
    padding-left: 0.5904059041vw;
    padding-top: 0.7380073801vw;
    padding-bottom: 0.7380073801vw;
  }
}
@media screen and (max-width: 768px) {
  .family__applicable-detail-table-name {
    border-width: 0.2666666667vw;
    height: 8.8vw;
    padding-left: 0;
    text-align: center;
  }
}
.family__applicable-detail-table-limit {
  text-align: center;
}
.family__applicable-accordion {
  position: relative;
  background-color: transparent;
  border: none;
  width: 100%;
}
.family__applicable-accordion::before {
  position: absolute;
  display: block;
  content: "";
  background-color: #fff;
  height: 4px;
  width: 33px;
  right: 35px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1355px) {
  .family__applicable-accordion::before {
    height: 0.295202952vw;
    width: 2.4354243542vw;
    right: 2.5830258303vw;
  }
}
@media screen and (max-width: 768px) {
  .family__applicable-accordion::before {
    width: 4.4vw;
    height: 0.5333333333vw;
    right: 4.6666666667vw;
  }
}
.family__applicable-accordion::after {
  position: absolute;
  display: block;
  content: "";
  background-color: #fff;
  height: 33px;
  width: 4px;
  right: 49px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1355px) {
  .family__applicable-accordion::after {
    height: 2.4354243542vw;
    width: 0.295202952vw;
    right: 3.6162361624vw;
  }
}
@media screen and (max-width: 768px) {
  .family__applicable-accordion::after {
    height: 4.4vw;
    width: 0.5333333333vw;
    right: 6.5333333333vw;
  }
}
.family__applicable-accordion-title {
  display: block;
  font-size: 20px;
  color: #fff;
  text-align: center;
  line-height: 1;
  padding-top: 3.6046511628%;
  padding-bottom: 3.488372093%;
  font-weight: bold;
}
@media screen and (max-width: 1355px) {
  .family__applicable-accordion-title {
    font-size: 1.4760147601vw;
  }
}
@media screen and (max-width: 768px) {
  .family__applicable-accordion-title {
    font-size: 4.5333333333vw;
    padding-top: 4.1333333333vw;
    padding-bottom: 4.4vw;
  }
}
.family__btn {
  width: 63.2%;
  margin-top: 4%;
}
@media screen and (max-width: 768px) {
  .family__btn {
    width: 78.6666666667vw;
    margin-top: 10.6666666667vw;
  }
}

/* family:end */
/* tokuten:start */
.tokuten__container {
  max-width: 1327px;
  width: 100%;
  margin: 150px auto 0;
  position: relative;
}
@media screen and (max-width: 1355px) {
  .tokuten__container {
    margin-top: 11.0701107011vw;
  }
}
@media screen and (max-width: 768px) {
  .tokuten__container {
    margin-top: 20vw;
  }
}
.tokuten__title {
  width: 34.3632253203%;
  margin: 0 auto 0 16.4280331575%;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .tokuten__title {
    width: 69.4666666667vw;
    margin: 0 auto;
  }
}
.tokuten__title.deray__animation.js-deray-active {
  animation: smallerBigger 2s ease-in-out infinite;
}
.tokuten__title {
  /* 上下するキーフレームアニメーション */
}
@keyframes smallerBigger {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
.tokuten__poinco {
  position: absolute;
  width: 31.6503391108%;
  top: -54px;
  right: 15.2976639035%;
  z-index: 10;
}
@media screen and (max-width: 1355px) {
  .tokuten__poinco {
    top: -3.9852398524vw;
  }
}
@media screen and (max-width: 768px) {
  .tokuten__poinco {
    width: 50.2666666667vw;
    top: 34.6666666667vw;
    right: 22.1333333333vw;
  }
}
.tokuten__poinco.js-fade {
  opacity: 0;
  transform: translateY(20px); /* 少し下からスタート */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.tokuten__poinco.js-fade-active {
  opacity: 1;
  transform: translateY(0);
}
.tokuten__poinco.js-deray-active {
  animation: float-override 4s infinite cubic-bezier(0.45, 0, 0.55, 1) !important;
}
@keyframes float-override {
  0%, 100% {
    transform: translateX(0);
    animation-timing-function: ease-in-out;
  }
  25% {
    transform: translateX(-30px);
  }
  75% {
    transform: translateX(20px);
  }
}

/* tokuten:end */
/* poikatsu:start */
.poikatsu {
  position: relative;
  z-index: 20;
}
.poikatsu__container {
  margin-top: 2.7128862095%;
  padding-top: 6.0286360211%;
}
@media screen and (max-width: 768px) {
  .poikatsu__container {
    margin-top: 8vw;
    padding-top: 13.3333333333vw;
  }
}
.poikatsu__logos {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 76.8%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .poikatsu__logos {
    flex-direction: column;
  }
}
.poikatsu__logos-item:first-child {
  width: 37.2395833333%;
}
@media screen and (max-width: 768px) {
  .poikatsu__logos-item:first-child {
    width: 49.6vw;
    margin-bottom: 6.6666666667vw;
  }
}
.poikatsu__logos-item:last-child {
  width: 53.125%;
}
@media screen and (max-width: 768px) {
  .poikatsu__logos-item:last-child {
    width: 70.6666666667vw;
  }
}
.poikatsu__day {
  width: 94%;
  margin-top: 5%;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .poikatsu__day {
    margin-top: 10.6666666667vw;
    width: 100%;
  }
}
.poikatsu__service {
  width: 94%;
  margin-top: 1.4%;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .poikatsu__service {
    margin-top: 2.9333333333vw;
    width: 100%;
  }
}
.poikatsu__service-link {
  font-size: 12px;
  line-height: 1.8333333333;
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 3.3%;
  list-style: none;
  counter-reset: kome;
  padding-left: 1.2%;
}
@media screen and (max-width: 768px) {
  .poikatsu__service-link {
    font-size: 3.2vw;
    margin-top: 3.7333333333vw;
    padding-left: 5.8666666667vw;
  }
}
.poikatsu__service-link li {
  position: relative;
  padding-left: 1.8em;
}
@media screen and (max-width: 768px) {
  .poikatsu__service-link li {
    padding-left: 2.2em;
  }
}
.poikatsu__service-link li::before {
  counter-increment: kome;
  content: "*" counter(kome);
  position: absolute;
  left: 0;
  top: 0;
}
.poikatsu__btn {
  width: 63.2%;
  margin-top: 3.7%;
}
@media screen and (max-width: 768px) {
  .poikatsu__btn {
    width: 78.6666666667vw;
    margin-top: 6.6666666667vw;
  }
}

/* poikatsu:end */
/* capacity:start */
.capacity {
  position: relative;
  z-index: 20;
}
.capacity__container {
  margin-top: 3.0143180106%;
  padding-bottom: 6.0286360211%;
}
@media screen and (max-width: 768px) {
  .capacity__container {
    margin-top: 37.3333333333vw;
    padding-bottom: 8vw;
  }
}
.capacity__title {
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .capacity__title {
    width: 86.6666666667vw;
  }
}
.capacity__aori {
  width: 66.2%;
  margin-top: 3.3%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .capacity__aori {
    width: 85.3333333333vw;
    margin-top: 5.3333333333vw;
  }
}
.capacity__logo {
  width: 37.5%;
  margin-top: 1.3%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .capacity__logo {
    width: 62.8vw;
    margin-top: 4.2666666667vw;
  }
}
.capacity__guidance {
  font-size: 22px;
  text-align: center;
  line-height: 1;
  font-weight: bold;
  margin-top: 29px;
}
@media screen and (max-width: 1355px) {
  .capacity__guidance {
    font-size: 1.6236162362vw;
    margin-top: 2.1402214022vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__guidance {
    font-size: 3.2vw;
    margin-top: 4vw;
  }
}
.capacity__subjects {
  width: 86%;
  margin-top: 4%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .capacity__subjects {
    width: 81.3333333333vw;
    margin-top: 8vw;
    flex-direction: column;
  }
}
.capacity__subjects-item {
  display: flex;
  border-radius: 25px;
  overflow: hidden;
  border: 3px solid #e6e8e7;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4444444444;
  height: 80px;
}
@media screen and (max-width: 1355px) {
  .capacity__subjects-item {
    border-radius: 1.8450184502vw;
    border-width: 0.221402214vw;
    font-size: 1.3284132841vw;
    height: 5.9040590406vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__subjects-item {
    font-size: 3.2vw;
    flex-direction: column;
    height: auto;
    border-width: 0.5333333333vw;
    border-radius: 1.3333333333vw;
    line-height: 1;
  }
}
.capacity__subjects-item-title {
  background-color: #fffa6d;
  border-right: 3px solid #e6e8e7;
  text-align: center;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 1355px) {
  .capacity__subjects-item-title {
    border-width: 0.221402214vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__subjects-item-title {
    border-right: none;
    border-bottom: 0.5333333333vw solid #e6e8e7;
    height: 6.1333333333vw;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}
.capacity__subjects-item-detail {
  text-align: center;
  line-height: 1.4444444444;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .capacity__subjects-item-detail {
    line-height: 1.25;
    height: 7.3333333333vw;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}
.capacity__subjects-item:nth-child(1) {
  width: 48.8372093023%;
}
@media screen and (max-width: 768px) {
  .capacity__subjects-item:nth-child(1) {
    width: 100%;
    margin-bottom: 2.6666666667vw;
  }
}
.capacity__subjects-item:nth-child(1) .capacity__subjects-item-title {
  width: 33.3333333333%;
}
@media screen and (max-width: 768px) {
  .capacity__subjects-item:nth-child(1) .capacity__subjects-item-title {
    width: 100%;
  }
}
.capacity__subjects-item:nth-child(1) .capacity__subjects-item-detail {
  width: 66.6666666667%;
}
@media screen and (max-width: 768px) {
  .capacity__subjects-item:nth-child(1) .capacity__subjects-item-detail {
    width: 100%;
  }
}
.capacity__subjects-item:nth-child(2) {
  width: 48.8372093023%;
}
@media screen and (max-width: 768px) {
  .capacity__subjects-item:nth-child(2) {
    width: 100%;
  }
}
.capacity__subjects-item:nth-child(2) .capacity__subjects-item-title {
  width: 24.0740740741%;
}
@media screen and (max-width: 768px) {
  .capacity__subjects-item:nth-child(2) .capacity__subjects-item-title {
    width: 100%;
  }
}
.capacity__subjects-item:nth-child(2) .capacity__subjects-item-detail {
  width: 75.9259259259%;
}
@media screen and (max-width: 768px) {
  .capacity__subjects-item:nth-child(2) .capacity__subjects-item-detail {
    width: 100%;
  }
}
.capacity__price {
  width: 86%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 4%;
  padding-bottom: 6%;
  border: 3px solid #e6e8e7;
  border-radius: 20px;
  margin-top: 4%;
}
@media screen and (max-width: 1355px) {
  .capacity__price {
    border-width: 0.221402214vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__price {
    width: 81.3333333333vw;
    margin-top: 5.2vw;
    border-radius: 1.3333333333vw;
    border-width: 0.6666666667vw;
    padding-top: 5.3333333333vw;
    padding-bottom: 4.2666666667vw;
  }
}
.capacity__price-head {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5454545455;
  letter-spacing: 0.025em;
  margin-bottom: 1.3953488372%;
}
@media screen and (max-width: 1355px) {
  .capacity__price-head {
    font-size: 1.6236162362vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__price-head {
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
    margin-bottom: 3.2vw;
  }
}
.capacity__price-body {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .capacity__price-body {
    flex-direction: column;
    align-items: center;
  }
}
.capacity__price-body-text {
  font-weight: bold;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1355px) {
  .capacity__price-body-text {
    font-size: 1.7712177122vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__price-body-text {
    font-size: 3.2vw;
  }
}
.capacity__price-body-text-medium {
  font-size: 30px;
}
@media screen and (max-width: 1355px) {
  .capacity__price-body-text-medium {
    font-size: 2.2140221402vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__price-body-text-medium {
    font-size: 4vw;
  }
}
.capacity__price-body-text-large {
  font-size: 46px;
}
@media screen and (max-width: 1355px) {
  .capacity__price-body-text-large {
    font-size: 3.3948339483vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__price-body-text-large {
    font-size: 6.1333333333vw;
  }
}
.capacity__price-body-text-bigger {
  font-size: 66px;
  color: #cb0f31;
}
@media screen and (max-width: 1355px) {
  .capacity__price-body-text-bigger {
    font-size: 4.8708487085vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__price-body-text-bigger {
    font-size: 10.1333333333vw;
  }
}
.capacity__price-body-text:first-child {
  padding-left: 1.1627906977%;
  margin-right: 2.3255813953%;
  text-decoration: underline;
  text-decoration-thickness: 12px;
  text-decoration-color: #fffa6d;
  text-decoration-skip-ink: none;
  text-underline-offset: -0.2em;
}
@media screen and (max-width: 1355px) {
  .capacity__price-body-text:first-child {
    text-decoration-thickness: 0.8856088561vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__price-body-text:first-child {
    padding-left: 0;
    margin-right: 0;
    text-decoration-thickness: 2.1333333333vw;
    margin-bottom: 1.3333333333vw;
    text-underline-offset: -0.4em;
  }
}
.capacity__table {
  width: 86.2%;
  margin-top: 6%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .capacity__table {
    width: 84vw;
    margin-top: 6.6666666667vw;
  }
}
.capacity__list {
  width: 94%;
  margin-top: 2.5%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .capacity__list {
    margin-top: 4.5333333333vw;
  }
}
.capacity__list-item-num {
  position: relative;
  padding-left: 2.5em;
  font-size: 12px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .capacity__list-item-num {
    font-size: 3.2vw;
    line-height: 1.3333333333;
  }
}
.capacity__list-item-num span {
  position: absolute;
  margin-right: 0.5em;
  left: 0;
}
.capacity__list-item-num:not(:first-child) {
  margin-top: 4px;
}
@media screen and (max-width: 1355px) {
  .capacity__list-item-num:not(:first-child) {
    margin-top: 0.295202952vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__list-item-num:not(:first-child) {
    margin-top: 1.6vw;
  }
}
.capacity__list-item-text {
  position: relative;
  padding-left: 1.2em;
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .capacity__list-item-text {
    position: relative;
    padding-left: 2.5em;
    text-indent: 0;
    margin-bottom: 2vw;
    font-size: 3.2vw;
    line-height: 1.3333333333;
  }
}
.capacity__list-item-text span {
  position: absolute;
  margin-right: 0.5em;
  left: 0;
}
.capacity__start {
  position: relative;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  color: #cc0033;
  line-height: 1;
  width: 296px;
  margin-top: 3.5%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1355px) {
  .capacity__start {
    font-size: 1.4760147601vw;
    width: 21.8450184502vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__start {
    font-size: 4.5333333333vw;
    width: 77.8666666667vw;
    margin-top: 12.2666666667vw;
  }
}
.capacity__start::before {
  position: absolute;
  display: block;
  content: "";
  background-image: url(/special_contents/docomo-promotion/iPhone_2026spring/images/pc/capacity_start_dec.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 82px;
  height: 10px;
  top: 8px;
  right: 0;
}
@media screen and (max-width: 1355px) {
  .capacity__start::before {
    width: 6.0516605166vw;
    height: 0.7380073801vw;
    top: 0.5904059041vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__start::before {
    background-image: url(/special_contents/docomo-promotion/iPhone_2026spring/images/sp/capacity_start_dec.png);
    width: 22.9333333333vw;
    height: 3.2vw;
    right: 0;
    top: 1.6vw;
  }
}
.capacity__start::after {
  position: absolute;
  display: block;
  content: "";
  background-image: url(/special_contents/docomo-promotion/iPhone_2026spring/images/pc/capacity_start_dec.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 82px;
  height: 10px;
  top: 8px;
  left: 0;
}
@media screen and (max-width: 1355px) {
  .capacity__start::after {
    width: 6.0516605166vw;
    height: 0.7380073801vw;
    top: 0.5904059041vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__start::after {
    background-image: url(/special_contents/docomo-promotion/iPhone_2026spring/images/sp/capacity_start_dec.png);
    width: 22.9333333333vw;
    height: 3.2vw;
    left: 0;
    top: 1.6vw;
  }
}
.capacity__detail {
  margin-top: 2.1%;
  border: none;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .capacity__detail {
    margin-top: 4vw;
  }
}
.capacity__detail-accordion {
  background-color: #000;
}
.capacity__detail-accordion::before {
  background-color: #fff;
  right: 40px;
}
@media screen and (max-width: 768px) {
  .capacity__detail-accordion::before {
    right: 5.3333333333vw;
  }
}
.capacity__detail-accordion::after {
  background-color: #fff;
  right: 54px;
}
@media screen and (max-width: 768px) {
  .capacity__detail-accordion::after {
    right: 7.2vw;
  }
}
.capacity__detail-accordion-title {
  display: block;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  padding-top: 2.688172043%;
  padding-bottom: 2.688172043%;
  color: #fff;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-accordion-title {
    font-size: 1.4760147601vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-accordion-title {
    font-size: 4vw;
    padding-top: 4.6666666667vw;
    padding-bottom: 4.6666666667vw;
  }
}
.capacity__detail-inner {
  padding-top: 2.4731182796%;
  padding-bottom: 3.5483870968%;
  border-top: none;
  border-right: 5px solid #e6e8e7;
  border-bottom: 5px solid #e6e8e7;
  border-left: 5px solid #e6e8e7;
  border-radius: 0 0 20px 20px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner {
    border-width: 0.36900369vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner {
    padding-top: 4.4vw;
    padding-bottom: 4vw;
    border-radius: 0 0 4vw 4vw;
  }
}
.capacity__detail-inner-categorys + .capacity__detail-inner-categorys {
  margin-top: 5.2325581395%;
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-categorys + .capacity__detail-inner-categorys {
    margin-top: 10vw;
  }
}
.capacity__detail-inner-category {
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-category {
    font-size: 1.3284132841vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-category {
    font-size: 3.4666666667vw;
    line-height: 1.3076923077;
  }
}
.capacity__detail-inner-category-link {
  text-decoration: none;
}
.capacity__detail-inner-text {
  font-size: 16px;
  margin-top: 23px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-text {
    font-size: 1.1808118081vw;
    margin-top: 1.6974169742vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-text {
    font-size: 3.2vw;
    margin-top: 2.6666666667vw;
  }
}
.capacity__detail-inner-text + .capacity__detail-inner-btn {
  margin-top: 20px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-text + .capacity__detail-inner-btn {
    margin-top: 1.4760147601vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-text + .capacity__detail-inner-btn {
    margin-top: 3.4666666667vw;
  }
}
.capacity__detail-inner-btns {
  display: flex;
  justify-content: space-between;
  margin-top: 32px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-btns {
    margin-top: 2.3616236162vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-btns {
    flex-direction: column;
    margin-top: 4vw;
  }
}
.capacity__detail-inner-btns-item {
  width: 48.3720930233%;
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-btns-item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-btns-item + .capacity__detail-inner-btns-item {
    margin-top: 5.8666666667vw;
  }
}
.capacity__detail-inner-btns-text {
  font-size: 16px;
  margin-bottom: 10px;
  text-align: center;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-btns-text {
    font-size: 1.1808118081vw;
    margin-bottom: 0.7380073801vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-btns-text {
    font-size: 3.2vw;
    margin-bottom: 3.0666666667vw;
  }
}
.capacity__detail-inner-btn {
  max-width: 416px;
  margin-left: 0;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-btn {
    max-width: 30.7011070111vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-btn {
    max-width: none;
    width: 74.6666666667vw;
    margin-left: auto;
    margin-right: auto;
  }
}
.capacity__detail-inner-btn a img {
  border-radius: 40px;
  box-shadow: 3px 3px 12px 0px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-btn a img {
    border-radius: 7.0666666667vw;
    box-shadow: 0.4vw 0.4vw 3.2vw 0px rgba(0, 0, 0, 0.2);
  }
}
.capacity__detail-inner-imp {
  margin-top: 3.2%;
  width: 100%;
  border: none;
  box-shadow: none;
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp {
    margin-top: 10.6666666667vw;
  }
}
.capacity__detail-inner-imp-accordion {
  border: 3px solid #e6e8e7;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 3px 3px 12px 0px rgba(0, 0, 0, 0.2);
}
.capacity__detail-inner-imp-accordion-title {
  display: block;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  padding-top: 2.1505376344%;
  padding-bottom: 2.1505376344%;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-imp-accordion-title {
    font-size: 1.3284132841vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-accordion-title {
    font-size: 4.2666666667vw;
    padding-top: 3.7333333333vw;
    padding-bottom: 3.7333333333vw;
    padding-right: 6vw;
  }
}
.capacity__detail-inner-imp-inner {
  border: none;
  margin-top: 22px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-imp-inner {
    margin-top: 1.9188191882vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-inner {
    margin-top: 4.4vw;
  }
}
.capacity__detail-inner-imp-note {
  font-size: 14px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-imp-note {
    font-size: 1.0332103321vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-note {
    font-size: 3.4666666667vw;
  }
}
.capacity__detail-inner-imp-table {
  width: 100%;
  margin-top: 7px;
  border-spacing: 0;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  font-size: 14px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-imp-table {
    margin-top: 0.5166051661vw;
    font-size: 1.0332103321vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-table {
    font-size: 3.2vw;
    border-width: 0.1333333333vw;
    margin-top: 0.9333333333vw;
  }
}
.capacity__detail-inner-imp-table-small {
  width: 660px;
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-table-small {
    width: 84vw;
    margin-inline: auto;
  }
}
.capacity__detail-inner-imp-table-large {
  width: 88.3720930233%;
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-table-large {
    width: 100%;
  }
}
.capacity__detail-inner-imp-table-indent {
  padding-left: 1em;
  text-indent: -1em;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-table-indent {
    padding-left: 0;
    text-indent: 0;
    margin-top: 5px;
  }
}
.capacity__detail-inner-imp-table td {
  border-bottom: 1px solid #000;
  padding: 8px 0;
  padding-left: 28px;
  font-size: 14px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-imp-table td {
    padding: 0.5904059041vw 0;
    padding-left: 2.0664206642vw;
    font-size: 1.0332103321vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-table td {
    border-width: 0.1333333333vw;
    padding-top: 2vw;
    padding-bottom: 2vw;
    padding-left: 1.3333333333vw;
    padding-right: 1.3333333333vw;
    font-size: 3.2vw;
  }
}
.capacity__detail-inner-imp-table td:not(:last-child) {
  border-right: 1px solid #000;
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-table td:not(:last-child) {
    border-width: 0.1333333333vw;
  }
}
.capacity__detail-inner-imp-table td sup {
  font-size: 70%;
}
.capacity__detail-inner-imp-table-head {
  background-color: #e6e8e7;
  width: 186px;
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-table-head {
    width: 33.3333333333vw;
  }
}
.capacity__detail-inner-imp-table-plan {
  line-height: 1.2857142857;
  margin-bottom: 5px;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-table-plan {
    margin-bottom: 0;
  }
}
.capacity__detail-inner-imp-table-caution {
  font-size: 12px;
  margin-top: 6px;
  margin-bottom: 23px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-imp-table-caution {
    font-size: 0.8856088561vw;
    margin-top: 0.442804428vw;
    margin-bottom: 1.6974169742vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-table-caution {
    font-size: 3.2vw;
    margin-top: 1.0666666667vw;
    margin-bottom: 4.6666666667vw;
  }
}
.capacity__detail-inner-imp-table-caution-item {
  padding-left: 1.75em;
  text-indent: -1.75em;
  line-height: 1.5;
}
.capacity__detail-inner-imp-table-caution-item:not(:first-child) {
  margin-top: 4px;
}
.capacity__detail-inner-imp-table-plans {
  display: flex;
  margin-bottom: 5px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-imp-table-plans {
    margin-bottom: 0.36900369vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-table-plans {
    flex-direction: column;
  }
}
.capacity__detail-inner-imp-table + .capacity__detail-inner-imp-note {
  margin-top: 17px;
}
.capacity__detail-inner-imp-list {
  margin-top: 3px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-imp-list {
    margin-top: 0.221402214vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-list {
    margin-top: 2vw;
  }
}
.capacity__detail-inner-imp-list-item {
  position: relative;
  font-size: 12px;
  line-height: 1.5;
  padding-left: 25px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-imp-list-item {
    font-size: 0.8856088561vw;
    padding-left: 1.8450184502vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-list-item {
    font-size: 3.2vw;
    line-height: 1.3333333333;
    padding-left: 4.6666666667vw;
  }
}
.capacity__detail-inner-imp-list-item:before {
  position: absolute;
  display: block;
  content: "●";
  left: 2.5px;
  top: 0;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-imp-list-item:before {
    left: 0.184501845vw;
  }
}
.capacity__detail-inner-imp-list-item:not(:first-child) {
  margin-top: 4px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-imp-list-item:not(:first-child) {
    margin-top: 0.295202952vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-list-item:not(:first-child) {
    margin-top: 2vw;
  }
}
.capacity__detail-inner-imp-list + .capacity__detail-inner-imp-note {
  margin-top: 22px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-inner-imp-list + .capacity__detail-inner-imp-note {
    margin-top: 1.6236162362vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__detail-inner-imp-list + .capacity__detail-inner-imp-note {
    margin-top: 6vw;
  }
}
.capacity__detail-list {
  margin-top: 8px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-list {
    margin-top: 0.5904059041vw;
  }
}
.capacity__detail-list-item {
  position: relative;
  font-size: 12px;
  line-height: 1.5;
  padding-left: 25px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-list-item {
    font-size: 0.8856088561vw;
    padding-left: 1.8450184502vw;
  }
}
.capacity__detail-list-item:before {
  position: absolute;
  display: block;
  content: "※";
  left: 2.5px;
  top: 0;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-list-item:before {
    left: 0.184501845vw;
  }
}
.capacity__detail-list-item:not(:first-child) {
  margin-top: 3px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-list-item:not(:first-child) {
    margin-top: 0.221402214vw;
  }
}
.capacity__detail-list + .poikatsu__detail-note {
  margin-top: 25px;
}
@media screen and (max-width: 1355px) {
  .capacity__detail-list + .poikatsu__detail-note {
    margin-top: 1.8450184502vw;
  }
}
.capacity__text {
  width: 48.1%;
  margin-top: 4.5%;
  margin-left: auto;
  margin-right: auto;
}
.capacity__btn {
  width: 63.2%;
  margin-top: 4%;
}
@media screen and (max-width: 768px) {
  .capacity__btn {
    width: 78.6666666667vw;
    margin-top: 10.6666666667vw;
  }
}
.capacity__bnr {
  margin-top: 6%;
}
@media screen and (max-width: 768px) {
  .capacity__bnr {
    margin-top: 13.3333333333vw;
  }
}
.capacity__bnr-text {
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  margin-bottom: 1.1%;
}
@media screen and (max-width: 1355px) {
  .capacity__bnr-text {
    font-size: 1.4760147601vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__bnr-text {
    font-size: 4vw;
    margin-bottom: 2.8vw;
  }
}
.capacity__bnr-image {
  display: block;
  width: 41.2%;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .capacity__bnr-image {
    width: 54.9333333333vw;
  }
}
.capacity__bnr-image img {
  transform: scale(1);
  transition: 0.2s transform;
}
.capacity__bnr-image:hover {
  opacity: 1;
}
.capacity__bnr-image:hover img {
  transform: scale(1.05);
}
@media screen and (max-width: 768px) {
  .capacity__bnr-image:hover img {
    transform: scale(1);
  }
}

/* capacity:end */
/* plan:start */
.plan {
  position: relative;
  z-index: 20;
}
.plan__container {
  margin-top: 2.7128862095%;
  padding-top: 5.6518462698%;
}
@media screen and (max-width: 768px) {
  .plan__container {
    margin-top: 8vw;
    padding-top: 13.3333333333vw;
    padding-bottom: 7.3333333333vw;
  }
}
.plan__title {
  width: 56.7%;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .plan__title {
    width: 85.2vw;
  }
}
.plan__text {
  font-size: 24px;
  text-align: center;
  font-weight: bold;
  margin-top: 2.2%;
}
@media screen and (max-width: 1355px) {
  .plan__text {
    font-size: 1.7712177122vw;
  }
}
@media screen and (max-width: 768px) {
  .plan__text {
    font-size: 4.2666666667vw;
    margin-top: 5.3333333333vw;
  }
}
.plan__items {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 3.7%;
}
@media screen and (max-width: 768px) {
  .plan__items {
    flex-wrap: wrap;
    margin-top: 8.5333333333vw;
    width: 88vw;
    margin-inline: auto;
  }
}
.plan__item {
  width: 23.5%;
  border-radius: 20px;
  box-shadow: 0 0 14px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 1355px) {
  .plan__item {
    border-radius: 1.4760147601vw;
    box-shadow: 0 0 1.0332103321vw rgba(0, 0, 0, 0.25);
  }
}
@media screen and (max-width: 768px) {
  .plan__item {
    width: 41.3333333333vw;
    border-radius: 2.6666666667vw;
    box-shadow: 0 0 1.8666666667vw rgba(0, 0, 0, 0.25);
  }
}
@media screen and (max-width: 768px) {
  .plan__item:nth-child(n+3) {
    margin-top: 4vw;
  }
}
.plan__list {
  font-size: 12px;
  line-height: 1.8333333333;
  margin-top: 3.2%;
  list-style: none;
  counter-reset: kome;
  padding-left: 0;
}
@media screen and (max-width: 768px) {
  .plan__list {
    font-size: 3.2vw;
    line-height: 1.3333333333;
    margin-top: 6.4vw;
    padding-left: 2.1333333333vw;
    padding-right: 0.6666666667vw;
  }
}
.plan__list li {
  position: relative;
  padding-left: 1.8em;
}
@media screen and (max-width: 768px) {
  .plan__list li {
    padding-left: 2.2em;
    margin-top: 8px;
  }
}
.plan__list li::before {
  counter-increment: kome;
  content: "*" counter(kome);
  position: absolute;
  left: 0;
  top: 0;
}

/* plan:end */
/* check:start */
.check {
  padding-top: 405px;
  position: relative;
}
@media screen and (max-width: 1355px) {
  .check {
    padding-top: 29.889298893vw;
  }
}
@media screen and (max-width: 768px) {
  .check {
    padding-top: 46.6666666667vw;
  }
}
.check__container {
  max-width: 1327px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 20;
}
@media screen and (max-width: 768px) {
  .check__container {
    max-width: none;
    width: 94.6666666667vw;
    margin-top: 0;
  }
}
.check__title {
  width: 47.3247927656%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.check__poinco {
  position: absolute;
  width: 45.5162019593%;
  top: -293px;
  left: 366px;
  z-index: 10;
}
@media screen and (max-width: 1355px) {
  .check__poinco {
    top: -22.1402214022vw;
    left: 27.0110701107vw;
  }
}
@media screen and (max-width: 768px) {
  .check__poinco {
    width: 74vw;
    top: -36.1333333333vw;
    right: 13.4666666667vw;
    left: auto;
  }
}
.check__poinco.js-fade {
  opacity: 0;
  transform: translateY(20px);
  /* 少し下からスタート */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.check__poinco.js-fade-active {
  opacity: 1;
  transform: translateY(0);
  /* 元の位置に戻る */
}
.check__poinco.js-deray-active {
  animation: float-override 4s infinite cubic-bezier(0.45, 0, 0.55, 1) !important;
}
@keyframes float-override {
  0%, 100% {
    transform: translateX(0);
    animation-timing-function: ease-in-out;
  }
  25% {
    transform: translateX(-20px);
  }
  75% {
    transform: translateX(20px);
  }
}
.check__inner {
  position: relative;
  width: 81.0851544838%;
  background-color: #fff;
  padding-bottom: 6.0286360211%;
  border-radius: 14px;
  box-shadow: 0px 1.8666666667vw 3.2vw 0.8vw rgba(36, 0, 7, 0.4), inset 0px -0.4vw 1.8666666667vw 0px rgba(180, 125, 135, 0.6);
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (min-width: 1921px) {
  .check__inner {
    padding-bottom: 5.9040590406vw;
  }
}
@media screen and (max-width: 768px) {
  .check__inner {
    width: 94.6666666667vw;
    padding-bottom: 8vw;
  }
}
.check__title {
  background-color: #000;
  width: 100%;
  box-shadow: inset 0px 0px 14px 0px rgba(180, 125, 135, 0.9);
}
@media screen and (min-width: 1921px) {
  .check__title {
    box-shadow: inset 0px 0px 1.0332103321vw 0px rgba(180, 125, 135, 0.9);
  }
}
@media screen and (max-width: 768px) {
  .check__title {
    box-shadow: inset 0px 0px 1.8666666667vw 0px rgba(180, 125, 135, 0.9);
  }
}
.check__title-image {
  width: 74.4423791822%;
  padding-top: 3.717472119%;
  padding-bottom: 3.717472119%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .check__title-image {
    width: 50.2666666667vw;
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
}
.check__banners {
  max-width: 1000px;
  width: 92.936802974%;
  margin: 0 auto;
  padding: 4.6468401487% 0 0;
}
@media screen and (max-width: 768px) {
  .check__banners {
    padding: 7.3333333333vw 0 0;
    width: 84vw;
  }
}
.check__banner {
  border-radius: 0;
  width: 100%;
}
.check__banner a img {
  box-shadow: none;
  border-radius: 0;
  filter: drop-shadow(0 3px 10px rgba(179, 34, 52, 0.5));
}
@media screen and (max-width: 768px) {
  .check__banner a img {
    filter: drop-shadow(0 3px 5px rgba(179, 34, 52, 0.5)) !important;
  }
}
.check__banner a:hover {
  opacity: 1;
}
.check__banner a:hover img {
  transform: scale(1.05);
}
@media screen and (max-width: 768px) {
  .check__banner a:hover img {
    transform: scale(1);
  }
}
.check__banner:not(:last-child) {
  margin-bottom: 2%;
}
@media screen and (max-width: 768px) {
  .check__banner:not(:last-child) {
    margin-bottom: 4vw;
  }
}
.check__banner-bottom {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .check__banner-bottom {
    flex-direction: column;
  }
}
.check__banner-bottom-item {
  width: 49%;
  margin-left: 0;
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .check__banner-bottom-item {
    width: 100%;
  }
}
.check__banner-bottom-item img {
  box-shadow: none !important;
  border-radius: 0 !important;
  filter: drop-shadow(0 3px 10px rgba(179, 34, 52, 0.5)) !important;
}
@media screen and (max-width: 768px) {
  .check__banner-bottom-item img {
    filter: drop-shadow(0 3px 5px rgba(179, 34, 52, 0.5)) !important;
  }
}
.check__banner-bottom-item img:hover {
  transform: scale(1.05) !important;
}
@media screen and (max-width: 768px) {
  .check__banner-bottom-item img:hover {
    transform: scale(1) !important;
  }
}
@media screen and (max-width: 768px) {
  .check__banner-bottom-item:not(:last-child) {
    margin-bottom: 4vw;
  }
}

/* check:end */
/* check:start */
.cm {
  width: 83.6431226766%;
  padding-top: 7.4349442379%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .cm {
    width: 86.6666666667vw;
    padding-top: 13.3333333333vw;
  }
}
.cm__title {
  width: 100%;
}
.cm__movie {
  width: 83.1111111111%;
  margin-top: 5.5555555556%;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}
.cm__movie a:hover {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .cm__movie {
    width: 81.3333333333vw;
    margin-top: 8vw;
  }
}
.cm__movie img {
  transform: scale(1);
  transition: 0.2s transform;
}
.cm__movie:hover {
  opacity: 1;
}
.cm__movie:hover img {
  transform: scale(1.05);
}
@media screen and (max-width: 768px) {
  .cm__movie:hover img {
    transform: scale(1);
  }
}

/* check:end */
/* footer:start */
.footer {
  background: linear-gradient(to left top, #fcfcfc, #eee8e8);
  padding: 100px 0 265px;
  position: relative;
  z-index: 100;
}
@media screen and (max-width: 1355px) {
  .footer {
    padding: 7.3800738007vw 0 19.557195572vw;
  }
}
@media screen and (max-width: 768px) {
  .footer {
    padding: 16vw 0 40vw;
  }
}
.footer__container {
  max-width: 1327px;
  width: 100%;
  margin: 0 auto;
}
.footer__sns {
  width: 23.5870384326%;
  margin: 0 auto;
  display: flex;
}
@media screen and (max-width: 768px) {
  .footer__sns {
    width: 74.6666666667vw;
  }
}
.footer__sns-icon {
  width: 12.7795527157%;
}
@media screen and (max-width: 768px) {
  .footer__sns-icon {
    width: 10.6666666667vw;
  }
}
.footer__sns-icon:not(:last-child) {
  margin-right: 8.945686901%;
}
@media screen and (max-width: 768px) {
  .footer__sns-icon:not(:last-child) {
    margin-right: 5.3333333333vw;
  }
}
.footer__link {
  text-align: center;
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-top: 3.0143180106%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .footer__link {
    margin-top: 6.6666666667vw;
    font-weight: bold;
  }
}
.footer__link-item {
  display: block;
  position: relative;
  font-size: 14px;
  line-height: 1;
  width: fit-content;
  text-decoration: none;
  color: #000;
}
@media screen and (max-width: 768px) {
  .footer__link-item {
    font-size: 3.7333333333vw;
  }
}
.footer__link-item::after {
  position: absolute;
  content: "";
  display: block;
  background-image: url(/special_contents/docomo-promotion/iPhone_2026spring/images/pc/footer_link_icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 12px;
  height: 12px;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
}
@media screen and (max-width: 1355px) {
  .footer__link-item::after {
    width: 0.8856088561vw;
    height: 0.8856088561vw;
    right: -1.4760147601vw;
  }
}
@media screen and (max-width: 768px) {
  .footer__link-item::after {
    background-image: url(/special_contents/docomo-promotion/iPhone_2026spring/images/sp/footer_link_icon.png);
    width: 3.2vw;
    height: 3.2vw;
    right: -5.3333333333vw;
  }
}
.footer__link-item:first-child {
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .footer__link-item:first-child {
    margin-bottom: 4vw;
  }
}
.footer__copy {
  font-size: 12px;
  text-align: center;
  margin-top: 3.6171816127%;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .footer__copy {
    font-size: 2.6666666667vw;
    margin-top: 10.2666666667vw;
  }
}
.footer__caution {
  width: 38.0557648832%;
  margin-top: 3.6171816127%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .footer__caution {
    width: 89.3333333333vw;
    margin-top: 10vw;
  }
}
.footer__caution-item {
  font-size: 12px;
  line-height: 1.6666666667;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 768px) {
  .footer__caution-item {
    font-size: 3.2vw;
    line-height: 1.3333333333;
    padding-left: 0;
    text-indent: 0;
  }
}

/* footer:end */
/* float:start */
.float {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
  max-width: 1327px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .float {
    left: 0;
    transform: translateX(0);
    bottom: 4vw;
  }
}
@media screen and (max-width: 768px) {
  .float__container {
    position: relative;
    width: 94.6666666667vw;
    margin-inline: auto;
    height: 26.6666666667vw;
  }
}
.float__shops {
  width: 49.7362471741%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.5071590053%;
  background-color: #d00f31;
  display: flex;
  border-radius: 34px;
  overflow: hidden;
  filter: drop-shadow(0 3px 10px rgba(179, 34, 52, 0.5));
}
@media screen and (max-width: 768px) {
  .float__shops {
    width: 100%;
    border-radius: 4.6666666667vw;
    box-shadow: none;
    margin-top: 0;
    box-shadow: none;
    position: absolute;
    bottom: 0;
    filter: drop-shadow(0 3px 10px rgba(179, 34, 52, 0.5));
  }
}
.float__shops-item {
  letter-spacing: -0.04em;
}
.float__shops-item:first-child {
  width: 58.6363636364%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .float__shops-item:first-child {
    width: 58vw;
  }
}
.float__shops-item:first-child::after {
  position: absolute;
  display: block;
  content: "";
  width: 0.5167958656%;
  height: 70%;
  background-color: #ffffff;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .float__shops-item:first-child::after {
    width: 0.2666666667vw;
    height: 6.6666666667vw;
  }
}
.float__shops-item:first-child .float__shops-item-link {
  padding: 2.5839793282%;
}
@media screen and (max-width: 768px) {
  .float__shops-item:first-child .float__shops-item-link {
    padding: 2.2666666667vw 0 2.1333333333vw 0.4vw;
  }
}
.float__shops-item:first-child .float__shops-item-text {
  letter-spacing: -0.075em;
}
.float__shops-item:first-child .float__shops-item-icon {
  padding-left: 3.3088235294%;
  padding-right: 0.7352941176%;
}
@media screen and (max-width: 768px) {
  .float__shops-item:first-child .float__shops-item-icon {
    padding: 0;
    margin-left: 1.6vw;
    width: 11.3333333333vw;
  }
}
@media screen and (max-width: 1355px) {
  .float__shops-item:first-child .float__shops-item-icon img {
    height: 2.1402214022vw;
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .float__shops-item:first-child .float__shops-item-icon img {
    height: 4.6666666667vw;
    width: auto;
  }
}
.float__shops-item:last-child {
  width: 41.2121212121%;
}
@media screen and (max-width: 768px) {
  .float__shops-item:last-child {
    width: 36.8vw;
  }
}
.float__shops-item:last-child .float__shops-item-link {
  padding: 3.6764705882%;
}
@media screen and (max-width: 768px) {
  .float__shops-item:last-child .float__shops-item-link {
    padding: 2.2666666667vw 0 2.4vw 4vw;
    justify-content: flex-start;
  }
}
.float__shops-item:last-child .float__shops-item-icon {
  padding-left: 7.3529411765%;
  padding-right: 0;
  margin-right: -1.8382352941%;
}
@media screen and (max-width: 768px) {
  .float__shops-item:last-child .float__shops-item-icon {
    padding: 0;
    margin-left: 1.6vw;
    width: 11.7333333333vw;
  }
}
@media screen and (max-width: 1355px) {
  .float__shops-item:last-child .float__shops-item-icon img {
    height: 2.1402214022vw;
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .float__shops-item:last-child .float__shops-item-icon img {
    height: 4.9333333333vw;
    width: auto;
  }
}
.float__shops-item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  overflow: hidden;
  position: relative;
}
.float__shops-item-link::before {
  background: #d00f31;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 250%;
  transform: skewY(-10deg) scale(1, 0);
  transform-origin: left top;
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .float__shops-item-link::before {
    content: none;
  }
}
.float__shops-item-link img {
  position: relative;
  z-index: 1;
  transition: 0.2s opacity;
}
.float__shops-item-link:hover {
  opacity: 0.7;
}
.float__shops-item-text {
  font-size: 20px;
  font-weight: 500;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 1355px) {
  .float__shops-item-text {
    font-size: 1.4760147601vw;
  }
}
@media screen and (max-width: 768px) {
  .float__shops-item-text {
    font-size: 3.4666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .float__shops-item-icon {
    width: 8.9333333333vw;
    padding-left: 0;
    margin-left: 1.3333333333vw;
  }
}
.float__banner {
  width: 81.0851544838%;
  margin: 0 auto;
  border-radius: 10px;
  overflow: hidden;
  filter: drop-shadow(0 3px 10px rgba(179, 34, 52, 0.5));
}
@media screen and (max-width: 768px) {
  .float__banner {
    width: 100%;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
    filter: none;
  }
}
.float__banner a img {
  box-shadow: none;
  transition: 0.2s transform;
  transform: scale(1);
  border-radius: 10px;
  filter: drop-shadow(0 3px 10px rgba(179, 34, 52, 0.5));
}
@media screen and (max-width: 768px) {
  .float__banner a img {
    border-radius: 0;
    position: absolute;
    filter: drop-shadow(0 3px 5px rgba(179, 34, 52, 0.5)) !important;
  }
}
.float__banner a:hover {
  transform: scale(1);
}
.float__banner a:hover img {
  transform: scale(1.1);
}
@media screen and (max-width: 768px) {
  .float__banner a:hover img {
    transform: scale(1);
  }
}

/* float:end */
/* menu:start */
.menu {
  opacity: 0;
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: #fff;
  pointer-events: none;
  z-index: 1000;
}
.menu__container {
  padding-top: 70px;
}
.menu__link {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.menu__link-item {
  width: 52.9333333333vw;
  max-width: 278px;
}
.menu__link-item-plus {
  width: 56.1333333333vw;
  max-width: 315px;
}
.menu__link-item:last-child {
  margin-top: 9.3333333333vw;
  position: relative;
}
.menu__link-item-check {
  position: absolute;
  width: 30.1333333333vw;
  top: -5.3333333333vw;
  left: 50%;
  transform: translateX(-50%);
  animation: checkmoveSP 2s ease-in-out infinite;
  will-change: transform;
  /* 上下するキーフレームアニメーション */
}
@keyframes checkmoveSP {
  0%, 100% {
    transform: translateY(0) translateX(-50%);
  }
  50% {
    transform: translateY(-20%) translateX(-50%);
  }
}

/* menu:end */
/* canvas:start */
.canvas-bg {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 10;
  pointer-events: none;
  will-change: transform;
}

/* canvas:end */
/* javascript用:start */
/* アコーディオンの開閉 */
/* アコーディオンの初期状態（非表示） */
.js-accordion:hover {
  cursor: pointer;
}

.js-accordion-inner {
  display: none;
}

/* ボタンの開閉状態の見た目 */
.js-accordion::after {
  transition: 0.2s transform;
}

.js-accordion.is-open::after {
  transform: translateY(-50%) rotate(90deg);
}

/* ヘッダー箇所：追従状態になったときのスタイル */
.header {
  /* アニメーションの時間を設定 */
  transition: transform 0.3s ease-out;
}

.header.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  transform: translateY(0);
  /* 元の位置に戻すことでスライドイン */
  transform: translateY(0);
}

.header.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: rgba(204, 0, 51, 0.8);
  /* 追従状態に切り替わったときに上からスライドイン */
  transform: translateY(0);
  animation: slideDown 0.3s ease-out forwards;
}

@keyframes slideDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
/* メニューの初期状態（非表示） */
.menu {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

/* メニューが開いた状態 */
.menu.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

/* メニューが開いている間はスクロール不可 */
body.no-scroll {
  overflow: hidden;
}

/*
* メニュー開閉時のボタン挙動
*/
@media screen and (max-width: 768px) {
  .header__menu {
    position: relative;
    height: 13.0666666667vw;
  }
}

/* ボタン内のimg要素を非表示に */
@media screen and (max-width: 768px) {
  .header__menu.is-open img {
    display: none;
  }
}

/*
* メニューが開いているときのボタンのスタイル
*/
.header__menu::before {
  opacity: 0;
  transition: 0.2s opacity;
}

@media screen and (max-width: 768px) {
  .header__menu.is-open::before {
    opacity: 1;
    content: "";
    position: absolute;
    width: 0.25rem;
    height: 80%;
    background-color: #CC0033;
    transform: rotate(-45deg) translateX(-50%);
    top: 2vw;
  }
}

.header__menu::after {
  opacity: 0;
  transition: 0.2s opacity;
}

@media screen and (max-width: 768px) {
  .header__menu.is-open::after {
    opacity: 1;
    content: "";
    position: absolute;
    width: 0.25rem;
    height: 80%;
    background-color: #CC0033;
    left: 50%;
    transform: rotate(45deg) translateX(-50%);
    top: 2vw;
  }
}

/* フェードインする要素の初期状態（非表示） */
.js-fade {
  opacity: 0;
  transform: translateY(20px);
  /* 少し下からスタート */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* 画面内に入ったときに適用されるクラス */
.js-fade-active {
  opacity: 1;
  transform: translateY(0);
  /* 元の位置に戻る */
}

/* タブコンテンツの初期状態（非表示） */
.kaedoki__plus-tabs-content {
  display: none;
}

/* is-showクラスが付与されたときに表示 */
.kaedoki__plus-tabs-content.is-show {
  display: block;
}

/*
 * 初期状態：非アクティブ時の画像を表示
 */
/* アクティブ時の画像を非表示にする */
.kaedoki__plus-tabs button picture:nth-of-type(1) {
  display: none;
}

/*
 * ボタンがアクティブになった時
 */
.kaedoki__plus-tabs button.is-active picture:nth-of-type(1) {
  display: block; /* アクティブ時の画像を表示 */
  background-color: #fff;
}

.kaedoki__plus-tabs button.is-active picture:nth-of-type(2) {
  display: none; /* 非アクティブ時の画像を非表示 */
}

/*
 * 上下するアニメーション
 */
.deray__animation.js-deray-active {
  animation: float 2s ease-in-out infinite;
}

/* 上下するキーフレームアニメーション */
@keyframes float {
  0%, 100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-20px); /* 好きな動きに調整 */
  }
}
/* モーダルオーバーレイの初期設定 */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0s 0.3s;
  z-index: 1000;
}

/* モーダル表示時のスタイル */
.modal-overlay.is-active {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-in-out;
}

/* モーダルコンテンツのスタイル */
.modal-content {
  border-radius: 12px;
  max-width: 480px;
  max-height: 90%;
  overflow-y: auto;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.modal-content img {
  width: auto !important;
}

/* 閉じるボタンのスタイル */
.modal-close-button {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 2rem;
  font-weight: bold;
  cursor: pointer;
  background: none;
  border: none;
  color: #333;
  z-index: 1000;
}

/* bodyにno-scrollクラスが付いた時のスタイル */
body.no-scroll {
  overflow: hidden;
}

/* モーダルの初期設定 (画面全体を覆う) */
.modal-overlay.modal-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8); /* 半透明の黒い背景 */
  display: none; /* 初期状態では非表示 */
  justify-content: center;
  align-items: center;
  z-index: 1000; /* 他の要素より手前に表示 */
}

/* モーダルが表示されている状態 */
.modal-overlay.modal-video.is-active {
  display: block; /* JavaScriptでこのクラスを付けて表示 */
}

/* 動画コンテナ（モーダルの内容） */
.modal-content-video {
  position: relative;
  max-width: 90%;
  width: 90%;
  max-height: 90%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 820px;
}
@media screen and (max-width: 768px) {
  .modal-content-video {
    width: 80%;
  }
}

/* 閉じるボタン */
.modal-close.js-close-video-modal {
  position: absolute;
  top: -30px;
  right: -30px;
  background: none;
  border: none;
  font-size: 30px;
  color: #fff; /* 背景が黒なので白文字にする */
  cursor: pointer;
  z-index: 1001; /* 動画より手前に表示 */
  background-color: transparent;
}
@media screen and (max-width: 768px) {
  .modal-close.js-close-video-modal {
    font-size: 5.3333333333vw;
    top: -5.3333333333vw;
    right: -5.3333333333vw;
  }
}

/* 【重要】この部分が正しく適用されているか確認してください */
.video-container {
  position: relative; /* 子要素のiframeをabsoluteにするための基準 */
  width: 100%; /* 親要素(modal-content)に対して幅いっぱい */
  /* heightの代わりにpadding-topでアスペクト比を固定（16:9の場合） */
  padding-top: 56.25%;
}

.video-container iframe {
  position: absolute; /* 親要素(.video-container)のpadding-topによって確保された領域にフィットさせる */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; /* これで width/height が 0 になるのを防ぎます */
}

/* javascript用:end */