@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, .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, .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, .capacity__container, .poikatsu__container, .family__container, .welcome__container, .shitadori__container, .kaedoki__container, .cont__container--small {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}

.capacity__container, .poikatsu__container, .family__container, .welcome__container, .shitadori__container, .kaedoki__container, .cont__container--small {
  max-width: 1000px;
}
@media screen and (max-width: 768px) {
  .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: 1207px;
  width: 100%;
  padding-left: 4.1425020713%;
  padding-right: 4.1425020713%;
  border-radius: 25px;
  margin-right: 20px;
}

.anchor__link-item, .header__link-item {
  width: auto;
  height: 100%;
  padding: 0 4.9710024855% 0 4.9710024855%;
  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;
}

.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) {
  .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, .poikatsu__detail, .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, .poikatsu__detail, .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, .poikatsu__detail, .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, .poikatsu__detail-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, .poikatsu__detail-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, .poikatsu__detail-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, .poikatsu__detail-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, .poikatsu__detail-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, .poikatsu__detail-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, .poikatsu__detail-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, .poikatsu__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, .poikatsu__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, .poikatsu__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, .capacity__detail-inner-btn, .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, .capacity__detail-inner-btn 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;
  border-radius: 30px;
  box-shadow: 0px 5px 20px 0px rgba(179, 34, 52, 0.5);
}
@media screen and (max-width: 768px) {
  .float__banner a img, .check__banner a img, .capacity__detail-inner-btn 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;
    box-shadow: 0px 0.6666666667vw 2.6666666667vw 0px rgba(179, 34, 52, 0.5);
  }
}
.float__banner a:hover, .check__banner a:hover, .capacity__detail-inner-btn 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, .capacity__detail-inner-btn 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, .capacity__detail-inner-btn 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);
  }
}

/* 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 {
  background-color: #cc0033;
  font-family: "Noto Sans JP", sans-serif;
  overflow: hidden;
}

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

.ga_delay_inview {
  height: 1px;
}

/* common:end */
/* header:start */
.header {
  position: relative;
  z-index: 1000;
  background-color: #cc0033;
}
@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;
  justify-content: 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: 3.125%;
  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;
  }
}
/* xxx:end */
/* kv:start */
.kv {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .kv {
    padding-top: 13.0666666667vw;
    margin: 0 auto;
  }
}
.kv__container {
  position: relative;
  z-index: 1;
}
@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.5357950264%;
  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%;
}
@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::after {
    content: none !important;
  }
}

/* xxx:end */
/* osusume:start */
.osusume__container {
  max-width: 1327px;
  width: 100%;
  margin: 160px auto 0;
  position: relative;
}
@media screen and (max-width: 1355px) {
  .osusume__container {
    margin-top: 11.8081180812vw;
  }
}
@media screen and (max-width: 768px) {
  .osusume__container {
    margin-top: 20vw;
  }
}
.osusume__title {
  width: 46.1944235117%;
  margin: 0 auto;
  position: relative;
  z-index: 0;
  /* 上下するキーフレームアニメーション */
}
@media screen and (max-width: 768px) {
  .osusume__title {
    width: 85.6vw;
    z-index: 0;
  }
}
.osusume__title.deray__animation.js-deray-active {
  animation: smallerBigger 2s ease-in-out infinite;
}
@keyframes smallerBigger {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
.osusume__poinco {
  position: absolute;
  width: 108.0633006782%;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
@media screen and (max-width: 1355px) {
  .osusume__poinco {
    top: -2.9520295203vw;
  }
}
@media screen and (max-width: 768px) {
  .osusume__poinco {
    width: 100%;
    top: 28vw;
  }
}
.osusume__poinco.js-fade {
  opacity: 0;
  transform: translateY(20px) translateX(-50%); /* 少し下からスタート */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.osusume__poinco.js-fade-active {
  opacity: 1;
  transform: translateY(0) translateX(-50%); /* 元の位置に戻る */
}
.osusume__effect {
  position: absolute;
  width: 144.6872645064%;
  top: -902px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
@media screen and (max-width: 1355px) {
  .osusume__effect {
    top: -66.5682656827vw;
  }
}
@media screen and (max-width: 768px) {
  .osusume__effect {
    width: 100%;
    top: -25.3333333333vw;
  }
}
@media screen and (min-width: 1921px) {
  .osusume__effect {
    width: 100vw;
    top: -46.954711088vw;
  }
}

/* osusume:end */
/* kaedoki:start */
.kaedoki {
  position: relative;
  z-index: 1;
}
.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_2025fall/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_2025fall/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_2025fall/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_2025fall/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_2025fall/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_2025fall/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: 1;
}
.shitadori__container {
  margin-top: 3.0143180106%;
}
@media screen and (max-width: 768px) {
  .shitadori__container {
    margin-top: 26.6666666667vw;
    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: 16px;
  text-decoration-color: #fef500;
  text-decoration-skip-ink: none;
  text-underline-offset: -0.4em;
}
@media screen and (max-width: 1355px) {
  .shitadori__lead-marker {
    text-decoration-thickness: 1.1808118081vw;
  }
}
@media screen and (max-width: 768px) {
  .shitadori__lead-marker {
    text-decoration-thickness: 3.4666666667vw;
    text-underline-offset: -0.4em;
  }
}
.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: 70.7%;
  margin-top: 5%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .shitadori__increase-image {
    width: 86.6666666667vw;
    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: 3.2258064516%;
  padding-bottom: 4.8387096774%;
}
@media screen and (max-width: 768px) {
  .shitadori__example-inner {
    padding-top: 4vw;
    padding-bottom: 6.6666666667vw;
  }
}
.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;
  }
}
.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: 1;
}
.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;
  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;
    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_2025fall/images/pc/welcome_aori_dec01.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 34px;
  height: 68px;
  left: 96px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1355px) {
  .welcome__lead::before {
    width: 2.5092250923vw;
    height: 5.0184501845vw;
    left: 7.0848708487vw;
  }
}
@media screen and (max-width: 768px) {
  .welcome__lead::before {
    background-image: url(/special_contents/docomo-promotion/iPhone_2025fall/images/sp/welcome_aori_dec.png);
    width: 84.1333333333vw;
    height: 10.8vw;
    left: 50%;
    translate: -50%;
    top: 17.6vw;
  }
}
.welcome__lead::after {
  position: absolute;
  display: block;
  content: "";
  background-image: url(/special_contents/docomo-promotion/iPhone_2025fall/images/pc/welcome_aori_dec02.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 34px;
  height: 68px;
  right: 96px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1355px) {
  .welcome__lead::after {
    width: 2.5092250923vw;
    height: 5.0184501845vw;
    right: 7.0848708487vw;
  }
}
@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: 76.2%;
  margin-top: 6%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .welcome__example {
    width: 79.8666666667vw;
    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;
  }
}
.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: 5px;
  }
}

/* welcome:end */
/* family:start */
.family {
  position: relative;
  z-index: 1;
}
.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: 210px auto 0;
  position: relative;
}
@media screen and (max-width: 1355px) {
  .tokuten__container {
    margin-top: 15.4981549815vw;
  }
}
@media screen and (max-width: 768px) {
  .tokuten__container {
    margin-top: 20vw;
  }
}
.tokuten__title {
  width: 47.3247927656%;
  margin: 0 auto;
  position: relative;
  z-index: 0;
  /* 上下するキーフレームアニメーション */
}
@media screen and (max-width: 768px) {
  .tokuten__title {
    width: 85.6vw;
  }
}
.tokuten__title.deray__animation.js-deray-active {
  animation: smallerBigger 2s ease-in-out infinite;
}
@keyframes smallerBigger {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
.tokuten__poinco {
  position: absolute;
  width: 124.7927656368%;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
@media screen and (max-width: 1355px) {
  .tokuten__poinco {
    top: -2.9520295203vw;
  }
}
@media screen and (max-width: 768px) {
  .tokuten__poinco {
    width: 98.8vw;
    top: 31.7333333333vw;
  }
}
.tokuten__poinco.js-fade {
  opacity: 0;
  transform: translateY(20px) translateX(-50%); /* 少し下からスタート */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.tokuten__poinco.js-fade-active {
  opacity: 1;
  transform: translateY(0) translateX(-50%); /* 元の位置に戻る */
}
.tokuten__effect {
  position: absolute;
  width: 144.6872645064%;
  top: -902px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
@media screen and (max-width: 1355px) {
  .tokuten__effect {
    top: -66.5682656827vw;
  }
}
@media screen and (max-width: 768px) {
  .tokuten__effect {
    width: 100%;
    top: -37.3333333333vw;
  }
}
@media screen and (min-width: 1921px) {
  .tokuten__effect {
    width: 100vw;
    top: -46.954711088vw;
  }
}

/* tokuten:end */
/* poikatsu:start */
.poikatsu {
  position: relative;
  z-index: 1;
}
.poikatsu__container {
  margin-top: 2.7128862095%;
  padding-top: 6.0286360211%;
}
@media screen and (max-width: 768px) {
  .poikatsu__container {
    margin-top: 28vw;
    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__aori {
  width: 25.9%;
  margin-top: 5.3%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .poikatsu__aori {
    width: 46vw;
    margin-top: 10.8vw;
  }
}
.poikatsu__service {
  display: flex;
  flex-wrap: wrap;
  width: 94%;
  margin-top: 4%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .poikatsu__service {
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
}
.poikatsu__service:not(:first-child) {
  margin-top: 2%;
}
@media screen and (max-width: 768px) {
  .poikatsu__service:not(:first-child) {
    margin-top: 5.3333333333vw;
  }
}
.poikatsu__service-item {
  position: relative;
  width: 48.9361702128%;
  background-repeat: repeat-y;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .poikatsu__service-item {
    width: 100%;
  }
}
.poikatsu__service-item-large {
  width: 100%;
}
.poikatsu__service-item-large .poikatsu__service-item-body {
  background-image: none;
}
.poikatsu__service-item-large .poikatsu__service-item-body::before {
  content: none;
}
.poikatsu__service-item-large .poikatsu__service-item-body::after {
  content: none;
}
.poikatsu__service-item:nth-child(2n) {
  margin-left: 2.1276595745%;
}
@media screen and (max-width: 768px) {
  .poikatsu__service-item:nth-child(2n) {
    margin-left: auto;
  }
}
.poikatsu__service-item:nth-child(n+3) {
  margin-top: 2.1276595745%;
}
@media screen and (max-width: 768px) {
  .poikatsu__service-item:nth-child(n+3) {
    margin-top: auto;
  }
}
@media screen and (max-width: 768px) {
  .poikatsu__service-item:not(:last-child) {
    margin-bottom: 5.3333333333vw;
  }
}
.poikatsu__service-item:nth-child(1) .poikatsu__service-item-list {
  padding-left: 20%;
  margin-top: 6.3043478261%;
}
@media screen and (max-width: 768px) {
  .poikatsu__service-item:nth-child(1) .poikatsu__service-item-list {
    margin-top: -1.0666666667vw;
    padding-left: 3.4666666667vw;
    padding-bottom: 3.3333333333vw;
  }
}
.poikatsu__service-item:nth-child(2) .poikatsu__service-item-list {
  padding-left: 9.7826086957%;
  margin-top: 2.3913043478%;
}
@media screen and (max-width: 768px) {
  .poikatsu__service-item:nth-child(2) .poikatsu__service-item-list {
    margin-top: -1.0666666667vw;
    padding-left: 3.4666666667vw;
    padding-bottom: 3.3333333333vw;
  }
}
.poikatsu__service-item:nth-child(3) .poikatsu__service-item-list {
  padding-left: 10.8695652174%;
  margin-top: -0.652173913%;
}
@media screen and (max-width: 768px) {
  .poikatsu__service-item:nth-child(3) .poikatsu__service-item-list {
    margin-top: -1.6vw;
    padding-left: 3.4666666667vw;
    padding-bottom: 3.3333333333vw;
  }
}
.poikatsu__service-item:nth-child(4) .poikatsu__service-item-list {
  padding-left: 17.3913043478%;
  margin-top: -0.652173913%;
}
@media screen and (max-width: 768px) {
  .poikatsu__service-item:nth-child(4) .poikatsu__service-item-list {
    margin-top: -1.0666666667vw;
    padding-left: 3.4666666667vw;
    padding-bottom: 3.3333333333vw;
  }
}
.poikatsu__service-item-body {
  position: relative;
  background-image: url(/special_contents/docomo-promotion/iPhone_2025fall/images/pc/poikatsu_service_item_bg_top.jpg), url(/special_contents/docomo-promotion/iPhone_2025fall/images/pc/poikatsu_service_item_bg.jpg);
  background-repeat: no-repeat, repeat-y;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .poikatsu__service-item-body {
    background-image: url(/special_contents/docomo-promotion/iPhone_2025fall/images/sp/poikatsu_service_item_bg_top.jpg), url(/special_contents/docomo-promotion/iPhone_2025fall/images/sp/poikatsu_service_item_bg.jpg);
  }
}
.poikatsu__service-item-body::after {
  position: absolute;
  display: block;
  content: "";
  background-image: url(/special_contents/docomo-promotion/iPhone_2025fall/images/pc/poikatsu_service_item_bg_bottom.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 100%;
  height: 30px;
  bottom: 0;
  left: 0;
  background-color: #fff;
  z-index: 0;
}
@media screen and (max-width: 1355px) {
  .poikatsu__service-item-body::after {
    height: 2.2140221402vw;
  }
}
@media screen and (max-width: 768px) {
  .poikatsu__service-item-body::after {
    background-image: url(/special_contents/docomo-promotion/iPhone_2025fall/images/sp/poikatsu_service_item_bg_bottom.jpg);
    height: 4vw;
  }
}
.poikatsu__service-item-content {
  position: relative;
  z-index: 1;
}
.poikatsu__service-item-list {
  position: relative;
  z-index: 1;
  padding-bottom: 2.6086956522%;
}
@media screen and (max-width: 1355px) {
  .poikatsu__service-item-list {
    padding-bottom: 0.8856088561vw;
  }
}
.poikatsu__service-item-list-item {
  font-size: 12px;
  line-height: 1.5;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 1355px) {
  .poikatsu__service-item-list-item {
    font-size: 0.8856088561vw;
  }
}
@media screen and (max-width: 768px) {
  .poikatsu__service-item-list-item {
    font-size: 3.2vw;
    font-weight: 300;
  }
}
.poikatsu__service-item-list a {
  text-decoration: none;
}
.poikatsu__lemino {
  width: 94%;
  margin-top: 3%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .poikatsu__lemino {
    width: 89.3333333333vw;
    margin-top: 5.3333333333vw;
  }
}
.poikatsu__detail {
  margin-top: 6%;
}
@media screen and (max-width: 768px) {
  .poikatsu__detail {
    margin-top: 14.6666666667vw;
  }
}
.poikatsu__detail-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) {
  .poikatsu__detail-accordion-title {
    font-size: 1.4760147601vw;
  }
}
@media screen and (max-width: 768px) {
  .poikatsu__detail-accordion-title {
    font-size: 4vw;
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
}
.poikatsu__detail-inner {
  padding-top: 5.0537634409%;
  padding-bottom: 4.8387096774%;
}
@media screen and (max-width: 768px) {
  .poikatsu__detail-inner {
    padding-top: 6vw;
    padding-bottom: 6vw;
  }
}
.poikatsu__detail-note {
  font-size: 14px;
  line-height: 1;
  margin-left: -7px;
}
@media screen and (max-width: 1355px) {
  .poikatsu__detail-note {
    font-size: 1.0332103321vw;
    margin-left: -0.5166051661vw;
  }
}
@media screen and (max-width: 768px) {
  .poikatsu__detail-note {
    font-size: 4vw;
    font-weight: bold;
  }
}
.poikatsu__detail-list {
  margin-top: 8px;
}
@media screen and (max-width: 1355px) {
  .poikatsu__detail-list {
    margin-top: 0.5904059041vw;
  }
}
@media screen and (max-width: 768px) {
  .poikatsu__detail-list {
    margin-top: 2.9333333333vw;
  }
}
.poikatsu__detail-list-item {
  position: relative;
  font-size: 12px;
  line-height: 1.5;
  padding-left: 25px;
}
@media screen and (max-width: 1355px) {
  .poikatsu__detail-list-item {
    font-size: 0.8856088561vw;
    padding-left: 1.8450184502vw;
  }
}
@media screen and (max-width: 768px) {
  .poikatsu__detail-list-item {
    font-size: 3.2vw;
    padding-left: 4.6666666667vw;
    line-height: 1.3333333333;
  }
}
.poikatsu__detail-list-item:before {
  position: absolute;
  display: block;
  content: "※";
  left: 2.5px;
  top: 0;
}
@media screen and (max-width: 1355px) {
  .poikatsu__detail-list-item:before {
    left: 0.184501845vw;
  }
}
.poikatsu__detail-list-item:not(:first-child) {
  margin-top: 3px;
}
@media screen and (max-width: 1355px) {
  .poikatsu__detail-list-item:not(:first-child) {
    margin-top: 0.221402214vw;
  }
}
@media screen and (max-width: 768px) {
  .poikatsu__detail-list-item:not(:first-child) {
    margin-top: 1.7333333333vw;
  }
}
.poikatsu__detail-list + .poikatsu__detail-note {
  margin-top: 25px;
}
@media screen and (max-width: 1355px) {
  .poikatsu__detail-list + .poikatsu__detail-note {
    margin-top: 1.8450184502vw;
  }
}
@media screen and (max-width: 768px) {
  .poikatsu__detail-list + .poikatsu__detail-note {
    margin-top: 4.6666666667vw;
  }
}
.poikatsu__btn {
  width: 63.2%;
  margin-top: 4%;
}
@media screen and (max-width: 768px) {
  .poikatsu__btn {
    width: 78.6666666667vw;
    margin-top: 10.6666666667vw;
  }
}

/* poikatsu:end */
/* capacity:start */
.capacity {
  position: relative;
  z-index: 1;
}
.capacity__container {
  margin-top: 3.0143180106%;
  padding-bottom: 6.0286360211%;
}
@media screen and (max-width: 768px) {
  .capacity__container {
    margin-top: 8vw;
    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: 5.5%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .capacity__aori {
    width: 85.0666666667vw;
    margin-top: 4.2666666667vw;
  }
}
.capacity__logo {
  width: 37.5%;
  margin-top: 1.3%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .capacity__logo {
    width: 60.2666666667vw;
    margin-top: 4.2666666667vw;
  }
}
.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;
  }
}
.capacity__subjects-item {
  display: flex;
  border-radius: 25px;
  overflow: hidden;
  border: 3px solid #e6e8e7;
  font-size: 18px;
  font-weight: bold;
  height: 49px;
}
@media screen and (max-width: 1355px) {
  .capacity__subjects-item {
    border-width: 0.221402214vw;
    font-size: 1.3284132841vw;
    height: 3.6162361624vw;
  }
}
@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;
  }
}
.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.2666666667vw;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}
.capacity__subjects-item-detail {
  text-align: center;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .capacity__subjects-item-detail {
    line-height: 1.25;
    height: 9.3333333333vw;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}
.capacity__subjects-item:nth-child(1) {
  width: 34.8837209302%;
}
@media screen and (max-width: 768px) {
  .capacity__subjects-item:nth-child(1) {
    width: 22.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: 62.7906976744%;
}
@media screen and (max-width: 768px) {
  .capacity__subjects-item:nth-child(2) {
    width: 56vw;
  }
}
.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.5%;
  padding-bottom: 5.2%;
  border: 3px solid #e6e8e7;
  border-radius: 20px;
  margin-top: 4%;
}
@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: 4vw;
    padding-bottom: 6.6666666667vw;
  }
}
.capacity__price-head {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.025em;
  margin-bottom: 1.7441860465%;
}
@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: 2.6666666667vw;
  }
}
.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: 4.6511627907%;
  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;
  }
}
.capacity__table {
  width: 86.2%;
  margin-top: 4%;
  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: 486px;
  margin-top: 3.5%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1355px) {
  .capacity__start {
    font-size: 1.4760147601vw;
    width: 35.8671586716vw;
  }
}
@media screen and (max-width: 768px) {
  .capacity__start {
    font-size: 4.5333333333vw;
    width: 100%;
    margin-top: 7.4666666667vw;
  }
}
.capacity__start::before {
  position: absolute;
  display: block;
  content: "";
  background-image: url(/special_contents/docomo-promotion/iPhone_2025fall/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_2025fall/images/sp/capacity_start_dec.png);
    width: 6.6666666667vw;
    height: 3.2vw;
    right: 3.2vw;
    top: 1.6vw;
  }
}
.capacity__start::after {
  position: absolute;
  display: block;
  content: "";
  background-image: url(/special_contents/docomo-promotion/iPhone_2025fall/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_2025fall/images/sp/capacity_start_dec.png);
    width: 6.6666666667vw;
    height: 3.2vw;
    left: 3.2vw;
    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;
}
.capacity__detail-accordion::after {
  background-color: #fff;
}
.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: 4vw;
  }
}
.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: 26px;
}
@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: 100%;
  }
}
.capacity__detail-inner-imp-table-large {
  width: 100%;
}
.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:end */
/* check:start */
.check {
  padding-bottom: 80px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .check {
    padding-bottom: 8vw;
  }
}
.check__container {
  max-width: 1327px;
  width: 100%;
  margin: 405px auto 0;
  position: relative;
}
@media screen and (max-width: 1355px) {
  .check__container {
    margin-top: 29.889298893vw;
  }
}
@media screen and (max-width: 768px) {
  .check__container {
    max-width: none;
    width: 94.6666666667vw;
    margin-top: 45.3333333333vw;
  }
}
.check__title {
  width: 47.3247927656%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.check__poinco {
  position: absolute;
  width: 61.718161266%;
  top: -310px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
@media screen and (max-width: 1355px) {
  .check__poinco {
    top: -22.8782287823vw;
  }
}
@media screen and (max-width: 768px) {
  .check__poinco {
    width: 84.8vw;
    top: -33.3333333333vw;
  }
}
.check__poinco.js-fade {
  opacity: 0;
  transform: translateY(20px) translateX(-50%);
  /* 少し下からスタート */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.check__poinco.js-fade-active {
  opacity: 1;
  transform: translateY(0) translateX(-50%);
  /* 元の位置に戻る */
}
.check__effect {
  position: absolute;
  width: 144.6872645064%;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
@media screen and (min-width: 1921px) {
  .check__effect {
    width: 100vw;
  }
}
@media screen and (max-width: 768px) {
  .check__effect {
    width: 100%;
    top: -84.9333333333vw;
  }
}
.check__inner {
  position: relative;
  width: 81.0851544838%;
  background-color: #fff;
  padding: 0;
  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 (max-width: 768px) {
  .check__inner {
    width: 94.6666666667vw;
  }
}
.check__title {
  background-color: #000;
  width: 100%;
}
.check__title-image {
  width: 88.9405204461%;
  padding-top: 3.717472119%;
  padding-bottom: 3.717472119%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .check__title-image {
    width: 65.7333333333vw;
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
}
.check__banners {
  max-width: 1000px;
  width: 92.936802974%;
  margin: 0 auto;
  padding: 4.6468401487% 0;
}
@media screen and (max-width: 768px) {
  .check__banners {
    padding: 7.3333333333vw 0 8vw;
    width: 84vw;
  }
}
.check__banner {
  width: 100%;
}
.check__banner a img {
  border-radius: 24px;
}
@media screen and (max-width: 768px) {
  .check__banner a img {
    border-radius: 3.2vw;
  }
}
.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: 4%;
}
@media screen and (max-width: 768px) {
  .check__banner:not(:last-child) {
    margin-bottom: 6.6666666667vw;
  }
}

/* check:end */
/* footer:start */
.footer {
  background: linear-gradient(to left top, #fcfcfc, #eee8e8);
  padding: 100px 0 265px;
}
@media screen and (max-width: 1355px) {
  .footer {
    padding: 7.3800738007vw 0 19.557195572vw;
  }
}
@media screen and (max-width: 768px) {
  .footer {
    padding: 16vw 0 33.3333333333vw;
  }
}
.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_2025fall/images/pc/footer_link_icon.png);
  background-size: contain;
  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_2025fall/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;
    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);
  }
}
.float__shops {
  width: 45.2147701583%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.5071590053%;
  background-color: #ffffff;
  display: flex;
  border-radius: 34px;
  overflow: hidden;
  box-shadow: 0px 5px 20px 0px rgba(179, 34, 50, 0.5);
}
@media screen and (max-width: 768px) {
  .float__shops {
    width: 100%;
    border-radius: 0;
    box-shadow: none;
    margin-top: 0;
    box-shadow: none;
  }
}
.float__shops-item {
  letter-spacing: -0.04em;
}
.float__shops-item:first-child {
  width: 60.3333333333%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .float__shops-item:first-child {
    width: 60.9333333333vw;
  }
}
.float__shops-item:first-child::after {
  position: absolute;
  display: block;
  content: "";
  width: 0.5524861878%;
  height: 70%;
  background-color: #d00f31;
  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.7624309392%;
}
@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-icon {
  padding-left: 5.0420168067%;
  padding-right: 2.9411764706%;
}
@media screen and (max-width: 768px) {
  .float__shops-item:first-child .float__shops-item-icon {
    padding: 0;
    margin-left: 2.2666666667vw;
  }
}
@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.9333333333vw;
    width: auto;
  }
}
.float__shops-item:last-child {
  width: 39.6666666667%;
}
@media screen and (max-width: 768px) {
  .float__shops-item:last-child {
    width: 39.0666666667vw;
  }
}
.float__shops-item:last-child .float__shops-item-link {
  padding: 4.2016806723%;
}
@media screen and (max-width: 768px) {
  .float__shops-item:last-child .float__shops-item-link {
    padding: 2.2666666667vw 0 2.4vw 4.2666666667vw;
  }
}
.float__shops-item:last-child .float__shops-item-icon {
  padding-left: 9.243697479%;
  padding-right: 1.2605042017%;
}
@media screen and (max-width: 768px) {
  .float__shops-item:last-child .float__shops-item-icon {
    padding: 0;
    margin-left: 3.6vw;
  }
}
@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: bold;
  color: #d00f31;
  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: 72.4943481537%;
  margin: 0 auto;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0px 5px 20px 0px rgba(179, 34, 50, 0.5);
}
@media screen and (max-width: 768px) {
  .float__banner {
    width: 100%;
    border-radius: 0;
    box-shadow: none;
  }
}
.float__banner a img {
  box-shadow: none;
  transition: 0.2s transform;
  transform: scale(1);
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .float__banner a img {
    border-radius: 0;
  }
}
.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: 18.6666666667vw;
}
.menu__link {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.menu__link-item {
  width: 52.9333333333vw;
}
.menu__link-item-plus {
  width: 56.1333333333vw;
}

/* menu:end */
/* javascript用:start */
/* float表示/非表示 */
/* 初期状態: 非表示 */
.js-float {
  transition: 0.2s opacity;
  opacity: 0;
  pointer-events: none;
}

/* 表示状態 */
.js-float.is-visible {
  opacity: 1;
  pointer-events: all;
}

/* アコーディオンの開閉 */
/* アコーディオンの初期状態（非表示） */
.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-color: 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: translateY(0) translateX(-50%);
  }
  50% {
    transform: translateY(-20px) translateX(-50%); /* 好きな動きに調整 */
  }
}
/* javascript用:end */