@charset "UTF-8";


.icotto-lp {
  max-width: 600px;
  margin-inline: auto;
  overflow: hidden;
  background: #fff;
  color: #005b8b;
  font-family: "Noto Serif JP", "YuMincho", "Yu Mincho", "游明朝", "Hiragino Mincho ProN", serif;
  container-type: inline-size;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.icotto-lp, .icotto-lp * {
  box-sizing: border-box;
}
.icotto-lp h1, .icotto-lp h2, .icotto-lp h3 {
  margin: 0;
  font-weight: 600;
}
.icotto-lp p {
  margin: 0;
}
:where(.icotto-lp) img {
  height: auto;
}
.icotto-lp img {
  display: block;
  max-width: 100%;
}

.icotto-mv__visual {
  position: relative;
  height: 78.5cqw;
  overflow: hidden;
}
.icotto-mv__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% center;
}
.icotto-mv__visual::after {
  content: "";
  position: absolute;
  inset: 40% 0 0;
  background: linear-gradient(transparent, rgba(255, 255, 255, 0.58) 50%, #fff);
}
.icotto-mv__heading {
  position: absolute;
  z-index: 1;
  top: 42.8cqw;
  left: 5.7cqw;
}
.icotto-mv h1 {
  font-size: 4.5cqw;
  line-height: 1.3;
  letter-spacing: 0.2em;
  font-weight: 500;
}
.icotto-mv__logo {
  width: 30cqw;
  height: 11cqw;
  object-fit: contain;
  object-position: center;
  margin-top: 1.1cqw;
  mix-blend-mode: multiply;
}
.icotto-mv__offers {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: -5cqw 3cqw 0;
  padding: 2.5cqw 2cqw 2cqw;
  background: white;
}
.icotto-mv__offer {
  padding: 0 4.2cqw;
  min-width: 0;
}
.icotto-mv__offer:first-child {
  border-right: 1px solid #a49b77;
}
.icotto-mv__price {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  white-space: nowrap;
  height: 9cqw;
  margin-bottom: 1.4cqw !important;
  font-size: 3.35cqw;
  line-height: 1.15;
  letter-spacing: 0.08em;
}
.icotto-mv__price > span {
  padding-bottom: 0.4cqw;
  text-align: center;
}
.icotto-mv__price small {
  font-size: 2.6cqw;
}
.icotto-mv__price span small {
  display: block;
  font-weight: 600;
}
.icotto-mv__price em {
  font-family: inherit;
  font-size: 11.5cqw;
  font-weight: 400;
  line-height: 0.8;
  margin-left: 1cqw;
  letter-spacing: -0.05em;
  margin-right: 1.5cqw;
}
.icotto-mv__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(100% + 4cqw);
  margin-left: -2cqw;
  padding: 1.25cqw 2cqw;
  border: 1px solid #005b8b;
  border-radius: 30px;
  background: #005b8b;
  color: white !important;
  text-decoration: none;
  font-size: 2.4cqw;
  font-weight: 700;
  white-space: nowrap;
  transition: opacity 0.2s;
}
.icotto-mv__button--outline {
  color: #005b8b !important;
  background: white;
}
.icotto-mv__button:hover {
  opacity: 0.72;
}
.icotto-mv__button:focus-visible {
  outline: 3px solid #a49b77;
  outline-offset: 3px;
}

.icotto-intro {
  margin-top: 8cqw;
  position: relative;
  padding: 0cqw 4.5cqw 10cqw;
  background: #fff;
  isolation: isolate;
  text-align: center;
}
.icotto-intro__wave {
  left: 0;
  top: -7.5cqw;
}
.icotto-intro h2 {
  font-size: 4cqw;
  line-height: 1.55;
  letter-spacing: 0.08em;
}
.icotto-intro__lead {
  color: #333;
  margin-top: 1.8cqw !important;
  font-size: 2.35cqw;
  line-height: 1.35;
  letter-spacing: 0.06em;
}

.icotto-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6.6cqw;
  padding: 0;
  margin: 3.5cqw 0 0 !important;
  list-style: none;
}
.icotto-steps li {
  position: relative;
}
.icotto-steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 11.5cqw;
  right: -4.5cqw;
  border-left: 2.4cqw solid #a49b77;
  border-top: 2.4cqw solid transparent;
  border-bottom: 2.4cqw solid transparent;
}
.icotto-steps__image {
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
  background: #dceee9;
}
.icotto-steps img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.icotto-steps__invitation {
  object-position: center bottom;
  object-fit: cover;
}
.icotto-steps h3 {
  margin: 2cqw -3cqw 1cqw;
  font-size: 2.45cqw;
  white-space: nowrap;
}
.icotto-steps p {
  color: #333;
  font-size: 2.1cqw;
  line-height: 1.65;
  margin-inline: -2cqw;
  font-weight: 600;
}

.icotto-lp h4, .icotto-lp ol, .icotto-lp ul, .icotto-lp dl, .icotto-lp dd {
  margin: 0;
}
.icotto-lp button, .icotto-lp a {
  -webkit-tap-highlight-color: transparent;
}
.icotto-lp button {
  font: inherit;
  cursor: pointer;
}
.icotto-lp button:focus-visible, .icotto-lp a:focus-visible, .icotto-lp [tabindex]:focus-visible, .icotto-lp summary:focus-visible {
  outline: 3px solid #a49b77;
  outline-offset: 4px;
}
.icotto-lp a {
  color: inherit;
}



.icotto-section {
  position: relative;
  isolation: isolate;
  text-align: center;
}
.icotto-section h2 {
  font-size: 4cqw;
  line-height: 1.55;
  letter-spacing: 0.08em;
}
.icotto-section--cream {
  background: linear-gradient(#fff 13cqw, #f5f2e9 13cqw, #f5f2e9 85%, #fff);
}
.icotto-section--blue {
  background: #fff;
}

.icotto-wave {
  position: absolute;
  z-index: -1;
  inset: -7.5cqw 0 auto;
  width: 100%;
  height: auto;
  pointer-events: none;
}

.icotto-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3cqw;
  min-height: 5.8cqw;
  padding: 1.1cqw 3cqw;
  border: 0;
  border-radius: 1.2cqw;
  text-decoration: none;
  font-size: 2.3cqw;
  line-height: 1.4;
  font-weight: 700;
  transition: opacity 0.2s;
}
.icotto-button:hover {
  opacity: 0.8;
}
.icotto-button--gold {
  background: #a49b77;
  color: #fff !important;
}
.icotto-button--blue {
  background: #006b98;
  color: #fff !important;
}
.icotto-button--outline {
  border: 1.5px solid #005b8b;
  border-radius: 10cqw;
  background: #fff;
  color: #005b8b;
}
.icotto-button--large {
  font-size: 3cqw;
  padding: 1cqw 5cqw;
  box-shadow: 0 3px 0 #003854;
}

.icotto-scenes {
  padding: 9cqw 0 8cqw;
  background: linear-gradient(#fff 13cqw, #f5f2e9 13cqw, #f5f2e9 calc(100% - 8cqw), #fff 100%);
}
.icotto-scenes > .icotto-wave {
  opacity: 1;
}
.icotto-scenes__quote {
  color: #333;
  margin-top: 3cqw !important;
  font-size: 2.4cqw;
  line-height: 1.3;
}
.icotto-scenes__lead {
  color: #333;
  margin: 3cqw 3cqw 5cqw !important;
  font-size: 2.35cqw;
}

.icotto-carousel {
  position: relative;
}
.icotto-carousel__arrow {
  position: absolute;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
  width: 5.5cqw;
  height: 5.5cqw;
  padding: 0;
  display: grid;
  place-items: center;
  background: #fff;
  color: #a49b77;
  border: 1px solid #a49b77;
  border-radius: 50%;
  font-size: 2.7cqw !important;
  line-height: 1;
}
.icotto-carousel__arrow--prev {
  left: 2cqw;
}
.icotto-carousel__arrow--next {
  right: 2cqw;
}
.icotto-carousel--courses {
  overflow: hidden;
}
.icotto-carousel--courses .icotto-course-slider {
  margin-inline: 5.5cqw;
}
.icotto-carousel--courses .slick-list {
  overflow: visible;
}
.icotto-carousel--courses .icotto-course {
  margin-right: 2cqw;
}

.icotto-tags {
  padding-bottom: 9cqw;
}
.icotto-tags__hero {
  position: relative;
}
.icotto-tags__hero h2 {
  position: relative;
  z-index: 1;
  padding-top: 1cqw;
}
.icotto-tags__hero > img {
  width: 100%;
  height: 70cqw;
  object-fit: cover;
  margin-top: -5cqw;
  mask-image: linear-gradient(transparent, black 12%, black 82%, transparent);
}
.icotto-tags__photo {
  overflow: hidden;
  aspect-ratio: 1;
  border-radius: 3cqw;
}
.icotto-tags__subtitle {
  margin-top: -1cqw !important;
  font-size: 3.8cqw !important;
}
.icotto-tags__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5cqw;
  padding: 0 2.5cqw;
  list-style: none;
  text-align: left;
}
.icotto-tags__list h3 {
  font-size: 2.25cqw;
  display: flex;
  align-items: center;
  white-space: nowrap;
  gap: 1.3cqw;
  margin-bottom: 0.7cqw;
}
.icotto-tags__list h3 span {
  font-family: "Noto Serif JP", "YuMincho", "Yu Mincho", "游明朝", "Hiragino Mincho ProN", serif;
  font-size: 5cqw;
  color: #a49b77;
}
.icotto-tags__list img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 3cqw;
}
.icotto-tags__list p {
  margin-top: 1.5cqw;
  font-size: 1.7cqw;
  line-height: 1.45;
  color: #333;
  font-weight: 500;
}

.icotto-compare {
  padding: 1cqw 2cqw 9cqw;
}
.icotto-compare__title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3cqw;
  margin-bottom: 5cqw !important;
}
.icotto-compare__title img {
  width: 30cqw;
  height: 11cqw;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.icotto-compare__title span {
  font-size: 3.6cqw;
}
.icotto-compare__grid {
  display: block;
}
.icotto-compare__pair {
  display: grid;
  grid-template-columns: 1fr 6cqw 1fr;
  align-items: end;
}
@media screen and (min-width: 601px) {
  .icotto-compare__pair ~ .icotto-compare__pair .icotto-compare__column {
    border-radius: 0;
  }
  .icotto-compare__pair ~ .icotto-compare__pair .icotto-compare__column > h3 {
    display: none;
  }
}
.icotto-compare__column {
  text-align: left;
  background: #f4f1e7;
  border-radius: 3cqw 3cqw 0 0;
  overflow: hidden;
}
.icotto-compare__column > h3 {
  height: 6.5cqw;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3cqw 3cqw 0 0;
  background: #aaa89f;
  color: #fff;
  font-size: 2.4cqw;
}
.icotto-compare__column--icotto {
  background: #dff0f3;
}
.icotto-compare__column--icotto > h3 {
  height: 9.5cqw;
  background: #005b8b;
  font-size: 2.8cqw;
  gap: 1cqw;
}
.icotto-compare__column--icotto > h3 .icotto-wordmark {
  width: 19cqw;
  height: 7cqw;
}
.icotto-compare__column--icotto h4 {
  color: #005b8b;
}
.icotto-compare__row {
  height: 19.7cqw;
  padding: 2cqw;
  display: grid;
  grid-template-columns: 14cqw 1fr;
  gap: 2.5cqw;
  align-items: center;
  color: #333;
  border-top: 3px solid #fff;
}
.icotto-compare__row h4 {
  font-size: 2.25cqw;
  line-height: 1.5;
  font-weight: 600;
  white-space: nowrap;
}
.icotto-compare__row em {
  font-family: inherit;
  font-size: 6cqw;
  line-height: 0.7;
  font-weight: 400;
  margin-right: 1cqw;
}
.icotto-compare__row p {
  font-size: 1.65cqw;
  line-height: 1.6;
  margin-top: 0.7cqw;
  font-weight: 600;
}
.icotto-compare__image {
  width: 14cqw;
  height: 14cqw;
  padding: 0.6cqw;
  background: white;
}
.icotto-compare__image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.icotto-compare__image svg {
  width: 100%;
  height: 100%;
  color: #555;
}
.icotto-compare__arrows {
  display: flex;
  flex-direction: column;
  height: 19.7cqw;
  justify-content: center;
  align-items: center;
  color: #aaa89f;
  font-size: 3cqw;
}
.icotto-compare__foot {
  color: #a49b77;
  margin-top: 3cqw !important;
  font-size: 3.2cqw;
  letter-spacing: 0.06em;
}

.icotto-rule-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3cqw;
  font-size: 3.5cqw;
  color: #a49b77;
  letter-spacing: 0.12em;
  margin: 4cqw 7.5cqw !important;
  font-weight: 500;
}
.icotto-rule-heading::before, .icotto-rule-heading::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #555;
}

.icotto-design {
  padding: 5cqw 0 8cqw;
}
.icotto-design h2 {
  font-size: 3.5cqw;
}
.icotto-design > .icotto-button {
  position: relative;
  min-width: 44cqw;
  padding-inline: 6cqw;
}
.icotto-design > .icotto-button > span {
  position: absolute;
  right: 2.5cqw;
  top: 50%;
  transform: translateY(-50%);
  line-height: 1;
}
.icotto-design__note {
  margin: 2.5cqw 3cqw 4cqw !important;
  font-size: 1.9cqw;
  line-height: 1.9;
  color: #333;
}

.icotto-lineup {
  padding: 6cqw 0 8cqw;
}
.icotto-lineup h2 {
  font-size: 3.7cqw;
}
.icotto-lineup__lead {
  color: #333;
  margin-top: 1.7cqw !important;
  font-size: 2.5cqw;
  line-height: 1.35;
}
.icotto-lineup__carry-title {
  margin: 3.5cqw 0 1cqw !important;
  font-size: 3cqw;
  color: #a49b77;
}
.icotto-lineup__carry {
  margin: 0 2.8cqw;
}
.icotto-lineup__carry img {
  display: block;
  width: 100%;
  height: auto;
}
.icotto-lineup__foot {
  color: #333;
  margin-top: 2cqw !important;
  font-size: 2.5cqw;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.icotto-course {
  width: 43.5cqw;
  overflow: hidden;
  background: #f8f8f8;
  border-radius: 8cqw;
}
.icotto-course header {
  padding: 2.2cqw 1cqw 1.5cqw;
  background: var(--course-color);
}
.icotto-course header > p:first-child {
  color: var(--course-accent);
  font-size: 2.4cqw;
  font-weight: 600;
}
.icotto-course h4 {
  font-size: 3.7cqw;
  color: #263b46;
  font-weight: 500;
  line-height: 1.5;
}
.icotto-course__price {
  font-size: 2.5cqw;
  color: #1d303d;
}
.icotto-course__price strong {
  font-size: 4.5cqw;
  font-weight: 500;
}
.icotto-course > img {
  width: calc(100% - 3.2cqw);
  height: 26cqw;
  margin: 1.8cqw auto;
  object-fit: contain;
  background: #fff;
}
.icotto-course > .icotto-button {
  margin-bottom: 3cqw;
  font-size: 2.5cqw;
  padding-inline: 2.5cqw;
}
.icotto-course--topaz {
  --course-color: #f2d8c8;
  --course-accent: #d3804f;
}
.icotto-course--aqua {
  --course-color: #d6dbe1;
  --course-accent: #7b8d9c;
}
.icotto-course--citrine {
  --course-color: #f1edd8;
  --course-accent: #a49455;
}
.icotto-course--amethyst {
  --course-color: #eae5eb;
  --course-accent: #a18da8;
}
.icotto-course--garnet {
  --course-color: #eddad7;
  --course-accent: #bd7a6c;
}
.icotto-course--emerald {
  --course-color: #e3f1e8;
  --course-accent: #8bb59a;
}
.icotto-course--coral {
  --course-color: #fbe9e9;
  --course-accent: #d89590;
}
.icotto-course--sapphire {
  --course-color: #cee2f3;
  --course-accent: #76acd0;
}

.icotto-lp .icotto-wordmark {
  display: inline-block;
  width: 4.6em;
  height: 1.65em;
  object-fit: contain;
  object-position: center;
  vertical-align: middle;
  mix-blend-mode: multiply;
}

.icotto-lp .icotto-wordmark--light {
  filter: brightness(0) invert(1);
  mix-blend-mode: normal;
}

.icotto-voices {
  padding: 1cqw 2.5cqw 7cqw;
}
.icotto-voices > h2 {
  margin-bottom: 1cqw;
}
.icotto-voices > .icotto-button {
  margin-top: 3cqw;
}

.icotto-review {
  display: grid;
  grid-template-columns: 35% 1fr;
  gap: 6cqw;
  border: 1.5px solid #005b8b;
  border-radius: 3cqw;
  padding: 2cqw 4.5cqw;
  margin-bottom: 1cqw;
  background: #fff;
  text-align: left;
}
.icotto-review__couple {
  text-align: center;
}
.icotto-review__couple > p {
  font-family: inherit;
  font-size: 2.2cqw;
  margin: 1.2cqw -2cqw 0.7cqw;
}
.icotto-review__portrait-frame {
  width: 30cqw;
  height: 30cqw;
  overflow: hidden;
  border-radius: 50%;
}
.icotto-review__portrait {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.icotto-review__movies {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: center;
  gap: 1.3cqw;
  width: 100%;
  max-width: 159px;
  margin: 2cqw auto 0;
}
.icotto-review__content {
  min-width: 0;
}
.icotto-review__content h3 {
  font-size: 3.25cqw;
  line-height: 1.55;
  color: #a49b77;
  font-weight: 600;
  margin-bottom: 1.6cqw;
}
.icotto-review__content > p {
  font-size: 2.05cqw;
  line-height: 1.75;
  color: #333;
}
.icotto-review__thumbs {
  display: flex;
  gap: 1.2cqw;
  margin-top: 1.7cqw;
}
.icotto-review__thumbs img {
  flex: 1;
  min-width: 0;
  width: 0;
  height: 15cqw;
  object-fit: cover;
}
.icotto-review__caption {
  font-size: 1.9cqw !important;
  line-height: 1.4 !important;
  margin-top: 1cqw !important;
}
.icotto-review__video-note {
  font-size: 2cqw !important;
  line-height: 1.5;
  padding: 1cqw;
  color: #696657;
}

.icotto-movie-link {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.8cqw;
  padding: 1cqw 1.5cqw;
  margin: 0.5cqw auto;
  font-family: inherit;
  font-size: 1.75cqw;
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  background: #006b98;
  color: #fff !important;
  border-radius: 0.8cqw;
  box-shadow: 0 0.5cqw 0 #004467;
}
.icotto-movie-link > span {
  font-size: 3.5cqw;
}

.icotto-review__couple .icotto-movie-link--image {
  display: block;
  width: 100%;
  max-width: 159px;
  margin: 0.5cqw auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  line-height: 0;
}
.icotto-review__couple .icotto-movie-link--image img {
  display: block;
  width: 100%;
  height: auto;
}

.icotto-faq {
  padding: 7cqw 12.5cqw 12cqw;
}
.icotto-faq h2 {
  white-space: nowrap;
  font-size: 3.8cqw;
}
.icotto-faq h2 small {
  display: block;
  font-size: 3.3cqw;
  letter-spacing: 0.15em;
}
.icotto-faq__labels {
  display: grid;
  grid-template-columns: 47% 53%;
  justify-items: center;
  align-items: start;
  padding: 1.5cqw 0;
}
.icotto-faq__labels img {
  width: 7cqw;
  height: auto;
}
.icotto-faq dl {
  text-align: left;
}
.icotto-faq dl > div {
  display: grid;
  grid-template-columns: 47% 53%;
  align-items: center;
  padding: 2cqw 0;
  border-bottom: 2px dotted #444;
}
.icotto-faq dl > div:last-child {
  border: 0;
}
.icotto-faq dt {
  text-align: left;
  font-size: 2.7cqw;
  line-height: 1.5;
  padding-left: 4cqw;
  color: #333;
}
.icotto-faq dd {
  padding-left: 5cqw;
}
.icotto-faq dd h3 {
  font-size: 2.65cqw;
  line-height: 1.45;
  font-weight: 600;
  white-space: nowrap;
}
.icotto-faq dd p {
  color: #333;
  margin-top: 1cqw;
  font-size: 2.05cqw;
  line-height: 1.4;
}
.icotto-faq > .icotto-button {
  margin-top: 5cqw;
  white-space: nowrap;
}

.icotto-closing__hero {
  position: relative;
  height: 51cqw;
  overflow: hidden;
}
.icotto-closing__hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.icotto-closing__hero::after {
  content: "";
  position: absolute;
  inset: 65% 0 0;
  background: linear-gradient(transparent, rgba(255, 255, 255, 0.7333333333));
}
.icotto-closing__hero h2 {
  position: absolute;
  z-index: 1;
  bottom: 1cqw;
  left: 4cqw;
  font-size: 4.4cqw;
  line-height: 1.35;
  letter-spacing: 0.08em;
}
.icotto-closing__cta {
  padding: 6cqw 2cqw 4cqw;
  text-align: center;
}
.icotto-closing__cta p {
  color: #333;
  font-size: 2.8cqw;
  line-height: 1.45;
  margin-bottom: 2.3cqw;
}
.icotto-closing__cta > div {
  display: flex;
  justify-content: center;
  gap: 4cqw;
}
.icotto-closing__cta .icotto-button {
  border-radius: 20cqw;
  padding-inline: 3cqw;
}
.icotto-closing__photos img {
  display: block;
  width: 100%;
  height: auto;
}

.icotto-footer {
  background: linear-gradient(#e8f5f7, #fff 70%);
  padding: 9cqw 0 16cqw;
  text-align: center;
}
.icotto-footer .icotto-button {
  display: flex;
  width: 40cqw;
  margin: 0 auto 1.7cqw;
  min-height: 6.5cqw;
  font-size: 2.7cqw;
  font-weight: 500;
  padding-inline: 1cqw;
}
.icotto-footer .icotto-button span {
  display: none;
}

.icotto-dialog {
  width: min(600px, 100vw - 24px);
  max-height: 90svh;
  padding: 0;
  border: 0;
  border-radius: 10px;
  overscroll-behavior: contain;
  color: #005b8b;
}
.icotto-dialog::backdrop {
  background: rgba(8, 47, 62, 0.8);
}
.icotto-dialog__content {
  padding: min(5vw, 30px) min(2vw, 12px);
  text-align: center;
}
.icotto-dialog__content > h2 {
  font-size: 4.3cqw;
  line-height: 1.5;
  margin-bottom: 3cqw;
}
.icotto-dialog__close {
  margin: 5cqw auto 0;
  min-width: 25cqw;
}
.icotto-dialog--voices {
  background: #f5f2e9;
}
.icotto-dialog--voices .icotto-dialog__content {
  background: linear-gradient(#f5f2e9, #fff 40%, #f5f2e9);
}
.icotto-dialog--voices .icotto-review {
  grid-template-columns: 40% 1fr;
  gap: 3cqw;
  padding: 3cqw 2.5cqw;
  margin-bottom: 2cqw;
}
.icotto-dialog--voices .icotto-review__portrait-frame {
  width: 38cqw;
  height: 38cqw;
}
.icotto-dialog--voices .icotto-review__content h3 {
  font-size: 3.7cqw;
  line-height: 1.55;
}
.icotto-dialog--voices .icotto-review__content > p {
  font-size: 2.05cqw;
  text-wrap: pretty;
}
.icotto-dialog--voices .icotto-review__thumbs img {
  height: 23cqw;
}

.icotto-more__lead {
  color: #333;
  font-size: 2.5cqw;
  margin-bottom: 3cqw !important;
}

.icotto-mini-reviews {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2cqw;
}
.icotto-mini-reviews article {
  display: grid;
  grid-template-columns: 33% 1fr;
  gap: 2cqw;
  border: 1px solid #005b8b;
  border-radius: 3cqw;
  padding: 2cqw;
  background: #fff;
  text-align: left;
}
.icotto-mini-reviews img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  clip-path: inset(5% 0 0);
}
.icotto-mini-reviews article > div:first-child p {
  text-align: center;
  font-size: 2.1cqw;
  line-height: 1.6;
  white-space: nowrap;
}
.icotto-mini-reviews h3 {
  color: #a49b77;
  font-size: 2.9cqw;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 1cqw;
}
.icotto-mini-reviews article > div:last-child p {
  color: #333;
  font-size: 2cqw;
  line-height: 1.5;
  text-wrap: pretty;
}

.icotto-faq-details {
  text-align: left;
  padding: 0 4cqw;
}
.icotto-faq-details details {
  border-bottom: 1px solid #b8cdcf;
}
.icotto-faq-details summary {
  cursor: pointer;
  font-size: 2.8cqw;
  padding: 3cqw 0;
}
.icotto-faq-details details > div {
  padding: 0 2cqw 3cqw;
  font-size: 2.5cqw;
  line-height: 1.8;
}
.icotto-faq-details h3 {
  font-size: 2.8cqw;
  margin-bottom: 1cqw;
}

.icotto-contact {
  margin: 5cqw 0;
  font-size: 2.6cqw;
  line-height: 1.8;
}
.icotto-contact a {
  display: block;
  font-size: 3.5cqw;
}

body.icotto-modal-open {
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .icotto-lp * {
    transition: none !important;
  }
}
.icotto-faq dd p {
  white-space: nowrap;
}

.icotto-dialog__content > h2:focus {
  outline: none;
}

.icotto-dialog--faq {
  background: #fff;
}
.icotto-dialog--faq .icotto-dialog__content {
  padding: 0 0 28px;
  color: #606060;
}
.icotto-dialog--faq .icotto-dialog__content > h2 {
  color: #006697;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: normal;
  margin: 0;
  padding: 5px 20px 0;
}
.icotto-dialog--faq .icotto-faq-details {
  padding: 0 20px 40px;
}
.icotto-dialog--faq .icotto-faq-details details {
  background: #fff;
  margin: 14px 0;
  border: 0;
  border-radius: 7px;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.25);
}
.icotto-dialog--faq .icotto-faq-details summary {
  position: relative;
  display: grid;
  grid-template-columns: 32px 1fr;
  align-items: start;
  gap: 10px;
  list-style: none;
  min-height: 49px;
  padding: 17px 42px 17px 14px;
  font-size: 16px;
  line-height: 32px;
  font-weight: 400;
  color: #606060;
}
.icotto-dialog--faq .icotto-faq-details summary::-webkit-details-marker {
  display: none;
}
.icotto-dialog--faq .icotto-faq-details summary::after {
  content: "+";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #606060;
  font-family: inherit;
  font-size: 28px;
  line-height: 1;
}
.icotto-dialog--faq .icotto-faq-details details[open] > summary::after {
  content: "−";
}
.icotto-dialog--faq .icotto-faq-icon {
  width: 32px;
  height: 32px;
  margin-top: 8px;
}
.icotto-dialog--faq .icotto-faq-details .icotto-faq-answer {
  display: grid;
  grid-template-columns: 32px 1fr;
  align-items: start;
  gap: 10px;
  padding: 14px;
  color: #606060;
  font-size: 16px;
  line-height: 32px;
  overflow-wrap: anywhere;
}
.icotto-dialog--faq .icotto-dialog__close {
  font-size: 14px;
  min-height: 40px;
  min-width: 150px;
}

.icotto-faq-toolbar {
  display: flex;
  justify-content: flex-end;
  padding: 10px 8px;
}
.icotto-faq-toolbar button {
  padding: 8px 12px;
  border: 0;
  background: none;
  color: #005b8b;
  font-size: 14px;
}

.icotto-faq-heading-line {
  max-width: 480px;
  margin: 0 auto;
  padding: 0 40px 30px;
}
.icotto-faq-heading-line img {
  width: 100%;
}

.icotto-faq-nav {
  display: flex;
  justify-content: space-between;
  padding: 0 40px;
  margin: 0 0 20px;
}
.icotto-faq-nav button {
  flex: 1;
  display: block;
  border: 0;
  border-left: 1px solid #000;
  border-radius: 0;
  background: transparent;
  color: #000;
  padding: 0 10px;
  font-size: 14px;
  line-height: 1.6;
}
.icotto-faq-nav button:last-child {
  border-right: 1px solid #000;
}
.icotto-faq-nav button:hover {
  color: #006697;
}

.icotto-faq-group {
  margin: 0;
}
.icotto-faq-group > h3 {
  padding: 20px 0 10px;
  margin: 0;
  border: 0;
  background: transparent;
  color: #3e3a39;
  text-align: center;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.6;
}


.icotto-slick {
  position: relative;
  display: block;
  box-sizing: border-box;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.icotto-slick .slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.icotto-slick .slick-list.dragging {
  cursor: grabbing;
}
.icotto-slick .slick-list, .icotto-slick .slick-track {
  transform: translate3d(0, 0, 0);
}
.icotto-slick .slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-inline: auto;
}
.icotto-slick .slick-track::before, .icotto-slick .slick-track::after {
  content: "";
  display: table;
}
.icotto-slick .slick-track::after {
  clear: both;
}
.icotto-slick .slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}
.icotto-slick.slick-initialized .slick-slide {
  display: block;
}
.icotto-slick .slick-slide img {
  display: block;
}
.icotto-slick .slick-slide.dragging img {
  pointer-events: none;
}
.icotto-slick:not(.slick-initialized) {
  display: flex;
  overflow: auto;
}
.icotto-slick:not(.slick-initialized) > div {
  flex-shrink: 0;
}

.icotto-video-carousel {
  position: relative;
  overflow: hidden;
  padding: 1cqw 0;
}
.icotto-video-carousel .slick-list {
  overflow: visible;
}
.icotto-video-carousel__arrow {
  position: absolute;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
  width: 5.5cqw;
  height: 5.5cqw;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid #a49b77;
  border-radius: 50%;
  background: white;
  color: #a49b77;
  font-size: 2.7cqw !important;
  line-height: 1;
}
.icotto-video-carousel__arrow--prev {
  left: 20cqw;
}
.icotto-video-carousel__arrow--next {
  right: 20cqw;
}
.icotto-video-carousel__arrow:hover {
  opacity: 0.8;
}

.icotto-video-slide {
  position: relative;
  width: 42cqw;
  margin-inline: 5cqw;
  aspect-ratio: 9/16;
  opacity: 0.25;
  transform: scale(0.9);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}
.icotto-video-slide--current {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
.icotto-video-slide iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 3cqw;
  background: #fff;
}
.icotto-video-slide iframe[hidden] {
  display: none;
}
.icotto-video-slide--playing .icotto-video-play {
  display: none;
}

.icotto-video-play {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 3cqw;
  overflow: hidden;
  background: #fff;
  cursor: pointer;
}
.icotto-video-play img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.icotto-video-play__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 12cqw;
  height: 8.5cqw;
  border-radius: 2cqw;
  background: #e62117;
  color: #fff;
  font-size: 4cqw;
  line-height: 1;
}

.icotto-invitation-carousel {
  overflow: hidden;
}
.icotto-invitation-carousel .icotto-invitation-slide img {
  width: 100%;
  height: auto;
}
.icotto-invitation-carousel--web {
  margin-bottom: 6.5cqw;
}
.icotto-invitation-carousel--web .icotto-invitation-slide {
  width: 26cqw;
  padding-inline: 2.75cqw;
}
.icotto-invitation-carousel--web .icotto-invitation-slide img {
  border-radius: 2.5cqw;
}
.icotto-invitation-carousel--paper .icotto-invitation-slide {
  width: 44.5cqw;
  padding-inline: 1.25cqw;
}
.icotto-invitation-carousel--paper button {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
}
.icotto-invitation-carousel--paper .icotto-invitation-slide img {
  aspect-ratio: 1.47;
  object-fit: cover;
}

.icotto-dialog--gallery {
  width: min(900px, 100vw - 24px);
  background: #fff;
}
.icotto-dialog--gallery button {
  cursor: pointer;
}

.icotto-gallery__close {
  display: block;
  margin: 0 0 0 auto;
  padding: 12px 16px;
  background: white;
  border: 0;
  color: #005b8b;
  font: inherit;
}
.icotto-gallery__image {
  position: relative;
}
.icotto-gallery__image > img {
  display: block;
  width: 100%;
  max-height: 75svh;
  object-fit: contain;
}
.icotto-gallery__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  background: #fff;
  color: #a49b77;
  border: 1px solid #a49b77;
  border-radius: 50%;
}
.icotto-gallery__arrow--prev {
  left: 10px;
}
.icotto-gallery__arrow--next {
  right: 10px;
}
.icotto-gallery__count {
  text-align: center;
  margin: 0;
  padding: 12px;
  font-size: 14px;
}

@media (prefers-reduced-motion: reduce) {
  .icotto-video-slide {
    transition: none;
  }
}

/* Fit the replacement content to the existing center column. */
.scroll__sp > .icotto-lp { max-width: 640px; line-height: normal; }
.icotto-dialog__content { line-height: normal; }

/* Phone typography */
@charset "UTF-8";
.icotto-mobile-break {
  display: none;
}

@media screen and (max-width: 1024px) {
  .scroll__sp {
    padding-top: 89px;
  }
}
@media screen and (max-width: 768px) {
  #footer .copyright {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
@media screen and (max-width: 600px) {
  .icotto-faq-nav {
    padding: 0 5cqw;
    margin: 0 0 5cqw;
  }
  .icotto-faq-nav button {
    min-width: 0;
    padding: 0 1cqw;
    font-size: 3.6cqw;
    line-height: 1.6;
  }
  .icotto-mv__visual {
    height: auto;
    padding: 42.8cqw 0 9cqw;
  }
  .icotto-mv__photo {
    position: absolute;
    inset: 0;
  }
  .icotto-mv__heading {
    position: relative;
    top: auto;
    left: auto;
    margin-inline: 5.7cqw;
  }
  .icotto-mv__price {
    height: auto;
    min-height: 11cqw;
  }
  .icotto-voices {
    padding: 1cqw 2.5cqw 9cqw;
  }
  .btn__footer {
    gap: 10px;
    padding: 10px 8px calc(10px + env(safe-area-inset-bottom));
  }
  .btn__footer .btn-footer {
    font-family: "Noto Serif JP", "YuMincho", "Yu Mincho", "游明朝", "Hiragino Mincho ProN", serif;
    flex: 1;
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 10px 6px;
    font-size: 3.8cqw;
    line-height: 1.5;
    letter-spacing: 0.03em;
    white-space: nowrap;
    gap: 1cqw;
  }
  .btn__footer .btn-footer span {
    font-family: inherit;
    font-size: 3cqw;
    line-height: 1.5;
  }
  .btn__footer .btn-footer img {
    flex-shrink: 0;
    width: 12px;
    margin-left: 6px;
  }
  #footer {
    padding-bottom: calc(90px + env(safe-area-inset-bottom));
  }
  .icotto-lp p, .icotto-lp h3, .icotto-lp h4,
  .icotto-faq dt, .icotto-faq dd {
    line-break: strict;
    overflow-wrap: break-word;
  }
  .icotto-intro h2,
  .icotto-scenes > h2,
  .icotto-voices > h2,
  .icotto-dialog--voices .icotto-dialog__content > h2,
  .icotto-tags__hero h2,
  .icotto-tags__subtitle,
  .icotto-compare > .icotto-compare__title,
  .icotto-design > h2 {
    font-size: 4.8cqw;
    line-height: 1.65;
    letter-spacing: 0.04em;
  }
  .icotto-compare__title span {
    font-size: inherit;
  }
  .icotto-lineup > h2 {
    font-size: 4.2cqw;
    line-height: 1.65;
    letter-spacing: 0.04em;
  }
  .icotto-lineup__carry-title {
    font-size: 4cqw;
    line-height: 1.65;
    letter-spacing: 0.04em;
  }
  .icotto-rule-heading {
    font-size: 4cqw;
    line-height: 1.5;
  }
  .icotto-invitation-carousel--web .icotto-invitation-slide {
    width: 33.333333cqw;
    padding-inline: 2cqw;
  }
  .icotto-invitation-carousel--paper .icotto-invitation-slide {
    width: 50cqw;
    padding-inline: 1.25cqw;
  }
  .icotto-mv h1, .icotto-closing__hero h2 {
    font-size: 4.8cqw;
    line-height: 1.4;
    letter-spacing: 0.04em;
  }
  .icotto-intro__lead {
    margin-top: 2.5cqw !important;
  }
  .icotto-intro__lead, .icotto-scenes__quote, .icotto-scenes__lead,
  .icotto-lineup__lead, .icotto-lineup__foot, .icotto-more__lead {
    font-size: 3.4cqw;
    line-height: 1.75;
  }
  .icotto-steps h3 {
    font-size: 3.3cqw;
    white-space: normal;
    line-height: 1.5;
  }
  .icotto-steps p {
    font-size: 2.9cqw;
    line-height: 1.7;
    margin-inline: -1cqw;
  }
  .icotto-tags__list {
    gap: 3cqw;
  }
  .icotto-tags__list h3 {
    display: flex;
    align-items: center;
    gap: 1cqw;
    font-size: 2.5cqw;
    line-height: 1.5;
    white-space: nowrap;
    min-height: 0;
  }
  .icotto-tags__list h3 span {
    display: inline;
    flex-shrink: 0;
    line-height: 1.3;
    margin-bottom: 0;
  }
  .icotto-design__note {
    font-size: 3.2cqw;
    line-height: 1.7;
    text-wrap: balance;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  .icotto-compare__pair {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 5cqw;
  }
  .icotto-compare__pair:last-child {
    margin-bottom: 0;
  }
  .icotto-compare__column {
    border-radius: 8px;
  }
  .icotto-compare__column > h3 {
    height: auto;
    min-height: 32px;
    padding: 7px 12px;
    gap: 0.3em;
    border-radius: 8px 8px 0 0;
    font-size: 3.4cqw;
    line-height: 1.5;
    text-align: center;
  }
  .icotto-compare__column--icotto > h3 .icotto-wordmark {
    width: 64px;
    height: 22px;
  }
  .icotto-compare__row {
    height: auto;
    min-height: 104px;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 14px;
    border-top: 0;
  }
  .icotto-compare__image {
    width: 90px;
    height: 90px;
    padding: 2px;
  }
  .icotto-compare__row > div:last-child {
    min-width: 0;
  }
  .icotto-compare__row h4 {
    font-size: 3.8cqw;
    line-height: 1.5;
    white-space: normal;
  }
  .icotto-compare__row p {
    font-size: 3.3cqw;
    line-height: 1.7;
    margin-top: 1.7cqw;
    font-weight: 600;
  }
  .icotto-compare__arrows {
    height: 24px;
    font-size: 12px;
  }
  .icotto-compare__arrows > span {
    transform: rotate(90deg);
  }
  .icotto-compare__foot {
    font-size: 3.2cqw;
    line-height: 1.7;
  }
  .icotto-review, .icotto-dialog--voices .icotto-review {
    grid-template-columns: 29% minmax(0, 1fr);
    gap: 4cqw;
    padding: 4cqw 3cqw;
    margin-bottom: 3cqw;
  }
  .icotto-review__portrait-frame, .icotto-dialog--voices .icotto-review__portrait-frame {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
  }
  .icotto-review__couple > p {
    font-size: 2.7cqw;
    line-height: 1.65;
    margin-inline: 0;
  }
  .icotto-review__content h3, .icotto-dialog--voices .icotto-review__content h3 {
    font-size: 4cqw;
    line-height: 1.6;
    margin-bottom: 2cqw;
  }
  .icotto-review__content > p, .icotto-dialog--voices .icotto-review__content > p {
    font-size: 3.2cqw;
    line-height: 1.8;
  }
  .icotto-review__caption {
    font-size: 2.9cqw !important;
    line-height: 1.7 !important;
  }
  .icotto-movie-link {
    display: block;
    width: 100%;
    font-size: 2.6cqw;
    line-height: 1.5;
    gap: 0.5cqw;
    padding: 1.5cqw 1cqw;
  }
  .icotto-movie-link > span {
    font-size: 1em;
  }
  .icotto-review__date, .icotto-review__name {
    display: block;
    white-space: nowrap;
  }
  .icotto-design__set {
    display: inline-block;
    white-space: nowrap;
  }
  .icotto-mini-reviews article > div:first-child p {
    font-size: 2.7cqw;
    white-space: normal;
  }
  .icotto-mini-reviews h3 {
    font-size: 3.6cqw;
  }
  .icotto-mini-reviews article > div:last-child p {
    font-size: 3.2cqw;
    line-height: 1.8;
    text-wrap: wrap;
  }
  .icotto-faq {
    padding-inline: 5cqw;
  }
  .icotto-faq dl > div, .icotto-faq__labels {
    grid-template-columns: 42% minmax(0, 1fr);
  }
  .icotto-faq dl > div {
    padding-block: 4cqw;
  }
  .icotto-faq dt {
    padding-inline: 1cqw;
    font-size: 3.6cqw;
    line-height: 1.65;
  }
  .icotto-faq dd {
    padding-left: 4cqw;
    min-width: 0;
  }
  .icotto-faq dd h3 {
    font-size: 3.6cqw;
    line-height: 1.65;
    white-space: normal;
  }
  .icotto-faq dd p {
    font-size: 3.2cqw;
    line-height: 1.8;
    white-space: normal;
  }
  .icotto-faq h2 {
    text-align: center;
    font-size: 4.8cqw;
    line-height: 1.65;
    letter-spacing: 0.04em;
    white-space: normal;
  }
  .icotto-faq h2 small {
    font-size: 3.8cqw;
    line-height: 1.6;
  }
  .icotto-steps h3, .icotto-review__content h3,
  .icotto-faq dt, .icotto-faq dd h3 {
    text-wrap: balance;
  }
  .icotto-review__content h3 .icotto-phrase {
    display: inline-block;
  }
  .icotto-course header > p:first-child {
    font-size: 2.9cqw;
  }
  .icotto-course h4 {
    font-size: 4cqw;
  }
  .icotto-course__price {
    font-size: 3cqw;
  }
  .icotto-course__price strong {
    font-size: 4.5cqw;
  }
  .icotto-closing__cta p {
    font-size: 3.4cqw;
    line-height: 1.65;
  }
  .icotto-steps p br, .icotto-scenes__lead br,
  .icotto-lineup__lead br, .icotto-lineup__foot br {
    display: initial;
  }
  .icotto-scenes__lead br.icotto-mobile-break,
  .icotto-design__note br.icotto-mobile-break {
    display: initial;
  }
  .icotto-steps p br.icotto-desktop-break {
    display: none;
  }
  .icotto-review__content br {
    display: none;
  }
  .icotto-mini-reviews h3 br,
  .icotto-mini-reviews article > div:last-child p br,
  .icotto-faq dt br,
  .icotto-faq dd br,
  .icotto-compare__row br,
  .icotto-tags__list br {
    display: none;
  }
  .icotto-dialog--faq .icotto-dialog__content > h2 {
    text-align: center;
  }
  .icotto-button {
    font-size: 3.3cqw;
    line-height: 1.5;
    min-height: 31px;
    padding: 1.8cqw 4cqw;
  }
  .icotto-button--large {
    font-size: 3.5cqw;
    min-height: 44px;
  }
  .icotto-course > .icotto-button {
    margin-bottom: 6cqw;
    font-size: 2.5cqw;
    padding-inline: 1.5cqw;
  }
  .icotto-footer .icotto-button {
    width: 64cqw;
    font-size: 3.2cqw;
  }
}
/* PDF review 2026-11-05 */
@charset "UTF-8";
.icotto-copy-mobile {
  display: none;
}

.icotto-intro {
  padding-bottom: 8.5cqw;
}

.icotto-scenes {
  padding-top: 1cqw;
}

.icotto-video-slider .icotto-video-slide {
  width: 52cqw;
  height: 74.6667cqw;
  margin-inline: 0;
  aspect-ratio: auto;
}
.icotto-video-slider .icotto-video-slide iframe, .icotto-video-slider .icotto-video-slide .icotto-video-play {
  left: 5cqw;
  right: 5cqw;
  width: calc(100% - 10cqw);
}

.icotto-review__thumbs .icotto-review__photo {
  flex: 1;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}
.icotto-review__thumbs .icotto-review__photo img {
  display: block;
  width: 100%;
  height: 16.5cqw;
  object-fit: cover;
}

@media screen and (min-width: 601px) {
  .icotto-mv__button {
    width: 33cqw;
    max-width: calc(100% + 4cqw);
    margin-inline: auto;
    justify-content: center;
    gap: 1.2cqw;
  }
  .icotto-review__thumbs {
    width: 110%;
    margin-left: -5%;
  }
  .icotto-dialog--voices .icotto-review__thumbs {
    width: 100%;
    margin-left: 0;
  }
  .icotto-dialog--voices .icotto-review__photo img {
    height: 25.3cqw;
  }
}
@media screen and (max-width: 600px) {
  .slicknav_menu .slicknav_btn {
    margin-top: 5px;
    padding-bottom: 12px;
  }
  .header_fixed {
    top: 15px;
  }
  .login_mobile {
    top: 25px;
  }
  .scroll__sp {
    padding-top: 79px;
  }
  .icotto-copy-desktop {
    display: none;
  }
  .icotto-copy-mobile {
    display: inline;
  }
  .icotto-mv__price {
    font-size: 4.5cqw;
    letter-spacing: 0.05rem;
  }
  .icotto-mv__price span small {
    font-size: 3.5cqw;
  }
  .icotto-mv__price em {
    font-family: inherit;
    font-size: 13cqw;
    font-weight: 400 !important;
    padding-bottom: 0.1rem;
    line-height: 0.8;
    margin-left: 1cqw;
    letter-spacing: -0.05em;
    margin-right: 2.5cqw;
  }
  .icotto-mv__price small {
    font-size: 4cqw;
  }
  .icotto-mv__photo {
    top: -11cqw;
    height: calc(100% + 5cqw);
  }
  .icotto-mv h1 {
    font-size: 4.5cqw;
    line-height: 1.3;
    letter-spacing: 0.2em;
    font-weight: 600;
  }
  #mv-title {
    position: relative;
    isolation: isolate;
    width: fit-content;
  }
  #mv-title::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -1cqw -2cqw;
    border-radius: 3cqw;
    background: rgba(255, 255, 255, 0.72);
    filter: blur(2cqw);
    pointer-events: none;
  }
  .icotto-mv__visual::after {
    background: linear-gradient(transparent, rgba(255, 255, 255, 0.8) 55%, #fff);
  }
  .icotto-intro h2, .icotto-scenes h2 {
    font-size: 5.1cqw;
    font-weight: 600;
    letter-spacing: 0.02em;
  }
  .icotto-steps h3 {
    font-weight: 700;
  }
  .icotto-video-slider .icotto-video-slide {
    height: 99.5556cqw;
  }
  .icotto-video-carousel__arrow {
    width: 7cqw;
    height: 7cqw;
  }
  .icotto-video-carousel__arrow--prev {
    left: 14cqw;
  }
  .icotto-video-carousel__arrow--next {
    right: 14cqw;
  }
  .icotto-tags__subtitle {
    font-size: 5.2cqw !important;
    font-weight: 600;
    letter-spacing: 0.01em;
  }
  .icotto-tags__list {
    gap: 2cqw;
    margin-top: 1cqw !important;
  }
  .icotto-tags__list h3 {
    flex-direction: column;
    gap: revert-layer;
    margin-bottom: 1.5cqw;
    font-size: 3.05cqw;
    font-weight: 700;
    line-height: 1.5;
  }
  .icotto-tags__list h3 span {
    font-size: 4.2cqw;
    font-weight: 500;
  }
  .icotto-tags__list p {
    margin-inline: -1cqw;
    font-size: 2.65cqw;
    line-height: 1.75;
    letter-spacing: -0.035em;
    text-align: center;
  }
  .icotto-tags__list p .icotto-copy-mobile {
    white-space: nowrap;
  }
  .icotto-tags__list p br {
    display: initial;
  }
  .icotto-compare__pair {
    padding: 2cqw;
    border: 1px solid #d9e2e6;
    border-radius: 3cqw;
    box-shadow: 0 2px 7px rgba(0, 63, 89, 0.12);
    background: #fff;
    margin-bottom: 4cqw;
  }
  .icotto-compare__column {
    display: grid;
    grid-template-columns: 26% minmax(0, 1fr);
    align-items: stretch;
    gap: 2cqw;
    padding: 2.5cqw 1.5cqw;
    border-radius: 2cqw;
  }
  .icotto-compare__column > h3 {
    flex-direction: column;
    gap: 0;
    height: 13cqw;
    min-height: 13cqw;
    align-self: center;
    padding: 0.7cqw 0.5cqw;
    border-radius: 1.5cqw;
    font-size: 2.1cqw;
    line-height: 1.5;
    white-space: normal;
    text-wrap: balance;
  }
  .icotto-compare__column > h3 > span {
    max-width: 100%;
  }
  .icotto-compare__row {
    grid-template-columns: 13cqw minmax(0, 1fr);
    gap: 2cqw;
    min-height: 0;
    height: auto;
    padding: 0;
  }
  .icotto-compare__row p {
    font-size: 2.65cqw;
    line-height: 1.5;
    margin-top: 0.5cqw;
    font-weight: 500;
  }
  .icotto-compare__image {
    width: 13cqw;
    height: 13cqw;
    padding: 0.4cqw;
    border-radius: 0;
    overflow: hidden;
  }
  .icotto-compare__image img {
    object-fit: contain;
  }
  .icotto-compare__arrows {
    height: 4cqw;
    font-size: 2.5cqw;
  }
  .icotto-compare__column--icotto {
    background: #dff0f6;
  }
  .icotto-compare__column--icotto > h3 {
    flex-direction: row;
    gap: 0.7cqw;
    padding-inline: 2cqw;
    white-space: nowrap;
  }
  .icotto-compare__column--icotto > h3 .icotto-wordmark {
    flex: 0 1 14cqw;
    min-width: 0;
    width: 14cqw;
    height: 6cqw;
  }
  .icotto-compare__column--icotto .icotto-compare__row h4 {
    font-weight: 700;
    text-decoration: none;
  }
  .icotto-compare__column--icotto .icotto-compare__row h4 em {
    font-size: 2.1em;
    font-weight: 700;
    margin-right: 1.2cqw;
  }
  .icotto-compare__column--icotto .icotto-compare__row h4 .icotto-compare__amount {
    position: relative;
    display: inline-flex;
    align-items: baseline;
    line-height: 1;
    margin-right: 0.8em;
    white-space: nowrap;
  }
  .icotto-compare__column--icotto .icotto-compare__row h4 .icotto-compare__amount em {
    position: relative;
    display: inline-block;
    margin-right: 0.15em;
    line-height: 1;
  }
  .icotto-compare__column--icotto .icotto-compare__row h4 .icotto-compare__amount em::after {
    content: "";
    position: absolute;
    top: 0.02em;
    right: -0.45em;
    width: 0.405em;
    height: 0.405em;
    transform: rotate(15deg);
    transform-origin: center;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2 1L3 6M9 2L6 6M13 8L8 9' fill='none' stroke='%2300578e' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
    pointer-events: none;
  }
  .icotto-compare__foot {
    font-size: 3.6cqw;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .icotto-compare__foot br {
    display: none;
  }
  .icotto-design > h2 {
    font-size: 5.2cqw;
    font-weight: 600;
    letter-spacing: 0.01em;
  }
  .icotto-lineup > h2 {
    font-size: 4.7cqw;
    font-weight: 600;
    letter-spacing: 0;
  }
  .icotto-lineup__lead {
    font-size: 3.1cqw;
  }
  .icotto-course h4 {
    font-size: 4.2cqw;
    font-weight: bold;
  }
  .icotto-course .icotto-course__price strong {
    font-size: 6.5cqw;
    line-height: 1;
  }
  .icotto-course header {
    padding-top: 2cqw;
  }
  .icotto-course header > p:first-child {
    display: inline-block;
    margin-bottom: 1cqw;
    padding: 0.4cqw 2cqw;
    border-radius: 10cqw;
    background: rgba(255, 255, 255, 0.8);
    color: #555;
    font-size: 2.3cqw;
    line-height: 1.5;
    font-weight: 500;
  }
  .icotto-course > img {
    height: 24cqw;
    margin-block: 1.2cqw;
  }
  .icotto-course > .icotto-button {
    display: flex;
    width: calc(100% - 8.2cqw);
    min-height: 30px;
    margin: 0 auto 3cqw;
    padding-block: 1.3cqw;
    line-height: 1.35;
  }
  .icotto-lineup__carry-title {
    margin-top: 2cqw !important;
  }
  .icotto-review, .icotto-dialog--voices .icotto-review {
    grid-template-columns: 26% minmax(0, 1fr) 29%;
    gap: 2.5cqw 3cqw;
    padding: 4cqw 3cqw;
  }
  .icotto-review .icotto-review__couple, .icotto-review .icotto-review__content, .icotto-dialog--voices .icotto-review .icotto-review__couple, .icotto-dialog--voices .icotto-review .icotto-review__content {
    display: contents;
  }
  .icotto-review .icotto-review__portrait-frame, .icotto-dialog--voices .icotto-review .icotto-review__portrait-frame {
    grid-column: 1;
    grid-row: 1/3;
    align-self: center;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
  }
  .icotto-review .icotto-review__couple > p, .icotto-dialog--voices .icotto-review .icotto-review__couple > p {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    margin: 0;
    font-size: 3cqw;
    text-align: left;
  }
  .icotto-review .icotto-review__couple > .icotto-movie-link,
  .icotto-review .icotto-review__movies, .icotto-dialog--voices .icotto-review .icotto-review__couple > .icotto-movie-link,
  .icotto-dialog--voices .icotto-review .icotto-review__movies {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    width: 100%;
    margin: 0;
  }
  .icotto-review .icotto-review__content > h3, .icotto-dialog--voices .icotto-review .icotto-review__content > h3 {
    grid-column: 2/4;
    grid-row: 2;
    margin: 0;
    font-size: 4.25cqw;
    line-height: 1.6;
    text-wrap: wrap;
  }
  .icotto-review .icotto-review__content > h3 .icotto-phrase, .icotto-dialog--voices .icotto-review .icotto-review__content > h3 .icotto-phrase {
    display: inline;
  }
  .icotto-review .icotto-review__content > p, .icotto-dialog--voices .icotto-review .icotto-review__content > p {
    grid-column: 1/-1;
    font-size: 3.4cqw;
    line-height: 1.8;
    text-wrap: wrap;
  }
  .icotto-review .icotto-review__thumbs, .icotto-dialog--voices .icotto-review .icotto-review__thumbs {
    grid-column: 1/-1;
    width: 100%;
    margin: 0;
    gap: 2cqw;
  }
  .icotto-review .icotto-review__thumbs img, .icotto-dialog--voices .icotto-review .icotto-review__thumbs img {
    height: 25cqw;
  }
  .icotto-faq {
    padding-inline: 4cqw;
  }
  .icotto-faq__labels {
    display: none;
  }
  .icotto-faq dl {
    margin-top: 4cqw;
  }
  .icotto-faq dl > div {
    display: block;
    margin-bottom: 3cqw;
    padding: 4cqw;
    border: 0;
    border-radius: 3cqw;
    background: #fff;
  }
  .icotto-faq dl > div:last-child {
    margin-bottom: 0;
  }
  .icotto-faq dt, .icotto-faq dd {
    position: relative;
    padding: 0 0 0 8cqw;
    text-align: left;
    text-wrap: wrap;
  }
  .icotto-faq dt::before, .icotto-faq dd::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 5cqw;
    height: 5cqw;
    font-family: inherit;
    font-size: 4.2cqw;
    font-weight: 400;
    line-height: 4cqw;
    text-align: center;
  }
  .icotto-faq dt, .icotto-faq dd h3, .icotto-faq dd p {
    font-size: 3.4cqw;
    letter-spacing: 0.03em;
    text-align: left;
    text-wrap: wrap;
  }
  .icotto-faq dt {
    padding-bottom: 2.5cqw;
    margin-bottom: 2.5cqw;
    border-bottom: 1px solid #ece8de;
    color: #00578e;
    line-height: 1.6;
  }
  .icotto-faq dt::before {
    content: "Q";
    color: #4799c4;
    background: #e8f4fa;
  }
  .icotto-faq dd {
    margin: 0;
  }
  .icotto-faq dd::before {
    content: "A";
    color: #a39774;
    background: #f4f1e7;
  }
  .icotto-faq dd h3 {
    color: #a39774;
    line-height: 1.6;
  }
  .icotto-faq dd p {
    margin-top: 1cqw;
    line-height: 1.7;
  }
  .icotto-compare__column > h3 > span:last-child {
    white-space: nowrap;
  }
  .icotto-mini-reviews {
    grid-template-columns: minmax(0, 1fr);
    gap: 3cqw;
  }
  .icotto-dialog--voices .icotto-review {
    grid-template-columns: 30% minmax(0, 1fr);
    gap: 3.5cqw;
    align-items: start;
  }
  .icotto-dialog--voices .icotto-review .icotto-review__couple, .icotto-dialog--voices .icotto-review .icotto-review__content {
    display: block;
    min-width: 0;
  }
  .icotto-dialog--voices .icotto-review .icotto-review__portrait-frame {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
  }
  .icotto-dialog--voices .icotto-review .icotto-review__couple > p {
    max-width: none;
    margin: 1cqw 0;
    text-align: center;
    font-size: 3cqw;
    line-height: 1.5;
  }
  .icotto-dialog--voices .icotto-review .icotto-review__movies {
    width: 100%;
    max-width: 159px;
    margin: 1.5cqw auto 0;
    gap: 1.5cqw;
  }
  .icotto-dialog--voices .icotto-review .icotto-review__content > h3 {
    margin: 0 0 1.5cqw;
  }
  .icotto-dialog--voices .icotto-review .icotto-review__thumbs {
    width: 100%;
    margin: 1.5cqw 0 0;
    gap: 1.5cqw;
  }
  .icotto-dialog--voices .icotto-review .icotto-review__thumbs .icotto-review__photo img {
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
  }
  .icotto-lp p {
    font-weight: 400;
  }
  .icotto-review__content br.icotto-review__paragraph-break {
    display: initial;
  }
  .icotto-mini-reviews article {
    padding: 4cqw 3cqw;
    grid-template-columns: 25% 1fr;
  }
  .icotto-lp .icotto-mv__price {
    font-weight: 700;
  }
  .icotto-lp .icotto-mv__price small, .icotto-lp .icotto-mv__price span small {
    font-weight: 700;
  }
  .icotto-dialog h2[tabindex="-1"]:focus {
    outline: none;
  }
  .icotto-closing__hero::after {
    content: "";
    position: absolute;
    inset: 40% 0 0;
    background: linear-gradient(transparent, rgba(255, 255, 255, 0.9));
  }
  .icotto-button {
    padding-top: calc(1.8cqw - 0.12em);
    padding-bottom: calc(1.8cqw + 0.12em);
  }
  .icotto-course > .icotto-button {
    padding-top: calc(1.3cqw - 0.12em);
    padding-bottom: calc(1.3cqw + 0.12em);
  }
  .icotto-compare__column:not(.icotto-compare__column--icotto) > h3,
  .icotto-compare__column:not(.icotto-compare__column--icotto) > h3 > span {
    letter-spacing: 0;
  }
  @supports (overflow: clip) {
    .icotto-video-carousel {
      overflow: clip;
    }
  }
  .icotto-video-slider {
    width: 100%;
    min-width: 0;
  }
  .icotto-lp .icotto-review__content > h3,
  .icotto-dialog--voices .icotto-review__content > h3,
  .icotto-lp .icotto-compare__foot,
  .icotto-lp .icotto-faq > h2,
  .icotto-lp .icotto-faq dt,
  .icotto-lp .icotto-faq dd > h3 {
    font-weight: 700;
  }
  .icotto-mv__button {
    font-size: 3.1cqw;
    min-height: 32px;
    padding-top: calc(1.8cqw - 0.12em);
    padding-bottom: calc(1.8cqw + 0.12em);
    white-space: nowrap;
    justify-content: space-evenly;
  }
  .icotto-mv__offers {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: -5cqw 3cqw 0;
    padding: 2.5cqw 0 2cqw;
    background: white;
  }
  .icotto-lp .icotto-design > .icotto-button--gold,
  .icotto-lp .icotto-voices > .icotto-button--gold,
  .icotto-lp .icotto-faq > .icotto-button {
    display: flex;
    width: 74cqw;
    max-width: 100%;
    min-height: 38px;
    margin-inline: auto;
    padding: calc(2cqw - 0.12em) 4.5cqw calc(2cqw + 0.12em);
    font-size: 3.6cqw;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.02em;
    white-space: nowrap;
  }
}
@media screen and (min-width: 1025px) {
  .fixed_right > .icotto-fixed-qr {
    position: absolute;
    z-index: 2;
    inset: auto 0 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    width: 100%;
    height: 30%;
    padding: 16px 40px 16px 0;
    box-sizing: border-box;
    background: #e7f1f0;
  }
  .icotto-fixed-qr__content {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    min-height: 0;
    font-family: "Noto Serif JP", "YuMincho", "Yu Mincho", "游明朝", "Hiragino Mincho ProN", serif;
    color: #005b8b;
  }
  .icotto-fixed-qr__content img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: calc(100% - 36px);
    aspect-ratio: 1;
    box-sizing: border-box;
    border: 6px solid #528fc2;
    border-radius: 9px;
    background: #fff;
    object-fit: contain;
  }
  .icotto-fixed-qr__content p {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
  }
  .icotto-fixed-qr__content p::before {
    content: "";
    flex: 0 0 18px;
    width: 18px;
    height: 27px;
    background: url("../../../images/icotto-lp-20261104/icon-smartphone.svg") center/contain no-repeat;
  }
}
