@charset "UTF-8";
html {
  font-size: 10px;
}

@media screen and (min-width: 768px) and (max-width: 900px) {
  html {
    font-size: 1.111vw;
  }
}
@media (max-width: 767px) { /* 768＝iPad縦向きに適用 */
  html {
    font-size: 1.333vw;
  }
}
body {
  line-height: 1;
  font-family: "Noto Sans JP", sans-serif;
  color: #101010;
}

.btn a {
  width: 43rem;
  height: 7rem;
  background-color: #8fa7b9;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.5rem;
  font-weight: 400;
  color: #fff;
  position: relative;
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .btn a {
    width: 60rem;
    height: 10rem;
    font-size: 4rem;
  }
}
.btn a:hover {
  background: #adbeca;
	/*opacity: 0.8; 透過 */
}
.btn a::after {
  content: "";
  position: absolute;
  background: url(../img/line@2x.png) no-repeat center center/cover;
  width: 1.25rem;
  height: 1.6rem;
  top: 50%;
  transform: translateY(-50%);
  right: 2.7rem;
}
@media (max-width: 767px) {
  .btn a::after {
    width: 2.3rem;
    height: 2.7rem;
    right: 4.3rem;
  }
}

/* PC用（デフォルト）*/
.sp_n {
	display: inline !important;
}
.pc_n {
	display: none !important;
}

/* SP用（767px以下）*/
@media (max-width: 767px) {
	.sp_n {
		display: none !important;
	}
	.pc_n {
		display: block !important; /* inlineは不適 */
	}
}

img {
  width: 100%;
  object-fit: cover;
}

.wrap {
  overflow: hidden;
}

.fv {
  position: relative; /* 子要素の絶対配置 */
  padding-top: 9rem; /*「磨月」の高さ調整 */
}
@media (max-width: 767px) {
  .fv {
    padding-top: 7rem; /*「磨月」の高さ調整 */
    height: auto;
  }
}

/* ↓↓↓ 追加 ↓↓↓ */
.fv__bg-picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* 背景画像のように適用 */
  z-index: 0; /* コンテンツより後ろ */
}

.fv__bg-image {
  height: 100%;
}
@media (max-width: 767px) {
  .fv__bg-image {
    height: 110rem;
  }
}

.fv__inner {
  max-width: 94rem;
  padding-left: 2rem;
  padding-right: 2rem;
	padding-bottom: 2rem;	/* 追加 */
  margin-left: auto;
  margin-right: auto;
  position: relative; /* 背景より手前に */
  z-index: 1;
}
@media (max-width: 767px) {
  .fv__inner {
    padding-left: 5rem;
    padding-right: 5rem;
	}
}

.fv-title {
  font-size: 7rem;
  font-family: "Sawarabi Mincho", serif;
  font-weight: 400;
}
@media (max-width: 767px) {
  .fv-title {
    text-align: center;
    font-size: 10rem;
  }
}

.fv-sub {
  font-size: 2rem;
  letter-spacing: 0.05em;
  font-family: "Sawarabi Mincho", serif;
  padding-left: 2rem;
  margin-top: 1rem;
}
@media (max-width: 767px) {
  .fv-sub {
    font-size: 3rem;
    text-align: center;
    padding-left: 0;
  }
}

.fv-text {
  font-size: 4rem;
  line-height: 1.5;
  font-family: "Sawarabi Mincho", serif;
  margin-top: 5rem;
}
@media (max-width: 767px) {
  .fv-text {
    font-size: 5.9rem;
    line-height: 1.5;
    text-align: center;
    margin-top: 64.1rem;
  }
}

.fv__list {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-top: 3.4rem;
  z-index: 2;
}
@media (max-width: 767px) {
  .fv__list {
    justify-content: space-between;
    margin-top: 3.9rem;
  }
}

.fv__item {
  width: 13rem;
  height: 13rem;
  background: url(../img/fv-bg.png) no-repeat center center/cover;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 400;
  font-size: 3.3rem;
  line-height: 1.1333333333;
  color: #8fa7b9;
  text-align: center;
}
@media (max-width: 767px) {
  .fv__item {
    width: 20rem;
    height: 20rem;
    font-size: 5rem;
  }
}
.fv__item:nth-of-type(n+2) {
  font-size: 3rem;
}
@media (max-width: 767px) {
  .fv__item:nth-of-type(n+2) {
    font-size: 4.5rem;
  }
}

.fv__button {
  margin-top: 5.5rem;
}
@media (max-width: 767px) {
  .fv__button {
    margin-top: 6.3rem;
  }
}
.fv__button a {
  margin-left: auto;
  margin-right: auto;
	margin-top: 7rem; /* 追加 */
	margin-bottom: 1rem; /* 追加 */
}

.section01 {
  padding-top: 10.6rem;
  padding-bottom: 9.2rem;
}
@media (max-width: 767px) {
  .section01 {
    padding-top: 21rem;
    padding-left: 5rem;
    padding-right: 5rem;
    position: relative;
  }
  .section01::after {
    content: "";
    position: absolute;
		margin-top: 0px; /* 追加 */
    background: url(../img/sp_line@2x.png) no-repeat center center/cover;
    width: 0.8rem;
    height: 11rem;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  .section01::after {
    top: 5.1rem;
  }
}

.section01__title {
  text-align: center;
  font-size: 2.5rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .section01__title {
    font-size: 4.5rem;
    line-height: 1.4444444444;
    text-align: left;
  }
}

.section01__list {
  max-width: 47rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5.4rem;
}
@media (max-width: 767px) {
  .section01__list {
    max-width: none;
  }
}

.section01__item {
  font-size: 2rem;
  font-weight: 400;
  padding-left: 0.8rem;
  position: relative;
}
@media (max-width: 767px) {
  .section01__item {
    font-size: 4rem;
    line-height: 1.25;
    padding-left: 1.6rem;
  }
}

.section01__item::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 2.5rem;
  width: 0.3rem;
  background-color: #8fa7b9;
}
@media (max-width: 767px) {
  .section01__item::after {
    height: 100%;
    width: 0.5rem;
  }
}

.section01__item:nth-of-type(n+2) {
  margin-top: 2.6rem;
}
@media (max-width: 767px) {
  .section01__item:nth-of-type(n+2) {
    margin-top: 3.7rem;
  }
}

.section01__line {
  margin-top: 10.8rem;
  text-align: center;
}
@media (max-width: 767px) {
  .section01__line {
    margin-top: 8.8rem;
  }
}

.section01__line img {
  width: 3.2rem;
}

.about {
  padding-top: 10rem;
  padding-bottom: 8.8rem;
  background: url(../img/about_bg@2x.webp) no-repeat center center/cover;
}

/* --- 磨月はここが違う --- */
.about__inner {
  max-width: 77.9rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media (max-width: 767px) {
  .about__inner {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}

.about__list {
  display: flex;
  gap: 12rem;
}
@media (max-width: 767px) {
  .about__list {
    flex-direction: column;
  }
}

.about__head {
  font-size: 2.5rem;
  font-weight: bold;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .about__head {
    font-size: 4.5rem;
  }
}
.about__head span {
  font-size: 3.5rem;
}
@media (max-width: 767px) {
  .about__head span {
    font-size: 6rem;
  }
}

.about__about {
  font-size: 2rem;
  line-height: 1.75;
  margin-top: 4.1rem;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .about__about {
    font-size: 4rem;
    line-height: 1.625;
    margin-top: 7rem;
		/* white-space: normal; /* 追加→削除*/
  }
}

.about__right {
  width: 31.2rem;
	margin-top: 3.5rem;
  margin-left: auto;
  margin-right: auto;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .about__right {
    width: 42.4rem;
    margin-top: 2rem;
    margin-bottom: 5rem;
  }
}

/* --- YouTube --- */
.youtube {
  margin-top: 9.7rem;
  padding-top: 7.7rem;
  padding-bottom: 7.7rem;
  background-color: #f0f4f6;
}
@media (max-width: 767px) {
  .youtube {
    padding-top: 8rem;
    margin-top: 14.5rem;
    padding-bottom: 11rem;
  }
}

.youtube__inner {
  max-width: 77.9rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media (max-width: 767px) {
  .youtube__inner {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}

.youtube__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.3rem;
}
@media (max-width: 767px) {
  .youtube__list {
    flex-direction: column;
  }
}

.youtube__left_text {
  font-size: 2rem;
  line-height: 1.75;
  /* white-space: nowrap; 折り返し可にするため削除 */
}
@media (max-width: 767px) {
  .youtube__left_text {
    font-size: 3.93rem;
    white-space: normal;
  }
}

.youtube__left_text span {
  font-size: 3.5rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .youtube__left_text span {
    font-size: 6rem;
  }
}

.youtube__right {
  width: 36.7rem;
  flex-shrink: 0;
  margin-right: -7.9rem;
	aspect-ratio: 16 / 9; /* 縦横比キープ */
  /* height: 20rem; ←上記追加のため削除 */
	max-width: 100%; /* サムネはみ出し防止 */
}
@media (max-width: 767px) {
  .youtube__right {
    margin-right: 0;
    width: 60rem;
    margin-top: 6.8rem;
		aspect-ratio: 16 / 9; /* 縦横比キープ */
    /* height: 32rem; ←上記追加のため削除 */
		max-width: 100%; /* サムネはみ出し防止 */
  }
}
.youtube__right iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rose {
  padding-top: 8.4rem;
  padding-bottom: 10.7rem;
}
@media (max-width: 767px) {
  .rose {
    padding-top: 16.8rem;
    padding-bottom: 34.1rem;
    position: relative;
  }
  .rose::after {
    content: "";
    position: absolute;
    background: url(../img/sp_line@2x.png) no-repeat center center/contain;
    width: 0.8rem;
    height: 10rem;
    left: 50%;
    transform: translateX(-50%);
    bottom: 12.3rem;
  }
}

/* --- 磨月で研磨したルース --- */
.rose__inner {
  max-width: 94rem;
  margin: 0 auto;
  padding: 0 2rem;
}
@media (max-width: 767px) {
  .rose__inner {
    margin-left: 5rem;
    margin-right: 5rem;
  }
}

.rose__title {
  font-size: 3rem;
  color: #fff;
  background-color: #8fa7b9;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 6rem;
  font-weight: 400;
}
@media (max-width: 767px) {
  .rose__title {
    height: 10rem;
    font-size: 4rem;
  }
}

.rose__list {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  padding: 5rem 7.5rem 7.1rem;
  border: 1px solid #8fa7b9;
}
@media (max-width: 767px) {
  .rose__list {
    padding: 8rem;
    gap: 8.4rem;
  }
}

.rose__pair {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4rem;
}
@media (max-width: 767px) {
	.rose__pair {
		flex-direction: column;
		align-items: center;
	}
}

/* 1行目と2行目の間------ */
.rose__pair + .rose__pair {
  margin-top: 10rem;
  position: relative;
}

.rose__pair + .rose__pair::before {
  content: '';
  position: absolute;
  top: -7.5rem; /* 点線の位置 */
  left: 50%;
  transform: translateX(-50%);
  width: 50rem; /* 点線の長さ */
  /*background-color: #8fa7b9; 実線*/
	border-top: 1px dashed #8fa7b9; /* 点線 */
  opacity: 0.5;
}
/* ------------------- */

.rose__item {
  width: 33.3rem;
}
@media (max-width: 767px) {
  .rose__item {
    width: 100%;
  }
}

.rose__text {
  font-size: 2rem;
  font-weight: 400;
}
@media (max-width: 767px) {
  .rose__text {
    font-size: 3.5rem;
  }
}

.rose__img {
  margin-top: 5px;
}
@media (max-width: 767px) {
  .rose__img {
    height: 27.5rem;
  }
}

/* PC用：横向き矢印*/
.rose__arrow {
	width: 2.4rem;
	height: 1.2rem;
	position: relative;
	margin: 0 auto;
}

.rose__arrow::before,
.rose__arrow::after {
  content: '';
  position: absolute;
	top: 50%;
  left: 0rem;
  transform: translateY(-50%) rotate(-45deg); /* Y=横向き矢印 */
  width: 1.2rem;
  height: 1.2rem;
  border-right: 2.5px solid #8fa7b9;
  border-bottom: 2.5px solid #8fa7b9;
  opacity: 0.7;
}

.rose__arrow::after {
  left: 1rem; /* 2本目矢印（右側）*/
}

/* SP用：下向き矢印 */
@media (max-width: 767px) {
  .rose__arrow {
    width: 2.5rem;
    height: 2.5rem;
  }

  .rose__arrow::before,
  .rose__arrow::after {
    top: 0;
    left: 50%;
    transform: translateX(-50%) rotate(45deg); /* 下向き（∨） */
		width: 1.5rem;
    height: 1.5rem;
    border-right: 3px solid #8fa7b9;
    border-bottom: 3px solid #8fa7b9;
  }

  .rose__arrow::after {
    top: 1.2rem; /* 2本目矢印（下側）*/
  }
}


/* --- SPEC --- */
.spec {
  padding-top: 7.2rem;
  padding-bottom: 10rem;
  background-color: #f0f4f6;
}
@media (max-width: 767px) {
  .spec {
    padding-top: 9.2rem;
    margin-bottom: 5.8rem;
  }
}

.spec__inner {
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
}

.spec__title {
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 767px) {
  .spec__title {
    font-size: 6rem;
  }
}

/* ---モデル1〜2--- */
.spec__model1-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10.2rem;
  margin-top: 9rem;
}
@media (max-width: 767px) {
  .spec__model1-2 {
    grid-template-columns: 1fr;
    margin-top: 10rem;
    gap: 7.2rem;
	}
}

/* モデル1〜3共通：見出しスタイル */
.spec__model1-2_head,
.spec__model3_head {
	font-size: 2rem;
	font-weight: bold;
	color: #485f6f;
	border-bottom: 2px solid #485f6f; /* 下線 */
	padding-bottom: 0.5rem;
}
@media (max-width: 767px) {
	.spec__model1-2_head,
	.spec__model3_head {
		font-size: 4rem;
		white-space: nowrap; /* 改行防止 */
		width: 67rem; /* 下線の長さに影響：固定●remもしくは100% */
		padding-left: 5rem; /* 左余白 */
		padding-bottom: 1.5rem;
		box-sizing: border-box; /* padding込みの幅調整 */
	}
	
/* モデル3:見出し・画像の余白 */
	.spec__model3_head { 
		margin-bottom: 3.5rem;
	}
}

/* モデル1-2:見出し・画像の余白 */
.spec__model1-2 .spec__item:nth-of-type(2) .spec__model1-2_head {
  margin-bottom: 5.5rem;
}
@media (max-width: 767px) {
  .spec__model1-2 .spec__item:nth-of-type(2) .spec__model1-2_head {
    margin-bottom: 3rem;
  }
}

/* モデル1-2 */
.spec__text {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  color: #485f6f;
  font-weight: bold;
  margin-top: 0.7rem;
  height: 3.8rem;
}
@media (max-width: 767px) {
  .spec__text {
    margin-left: 5rem;
    font-size: 2rem;
    margin-top: 1rem;
  }
}

.spec__img {
  margin-top: 1rem;
  width: 28.9rem;
  height: 41rem;
}
@media (max-width: 767px) {
  .spec__img {
    width: 39.1rem;
    margin-top: 1.5rem;
    height: 55rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.spec__box {
  display: flex;
  height: 6.4rem;
  margin-top: 1.2rem;
}
@media (max-width: 767px) {
  .spec__box {
    margin-left: 7rem;
    margin-right: 7rem;
    height: 10rem;
    margin-top: 2rem;
  }
}
@media (max-width: 767px) {
  .spec__box02 {
    margin-top: 3.2rem;
  }
}

.spec__left {
  width: 12.8rem;
  background-color: #485f6f;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 1.3rem;
  line-height: 1.5384615385;
  text-align: center;
  font-weight: 400;
}
@media (max-width: 767px) {
  .spec__left {
    width: 20rem;
    font-size: 2.3rem;
  }
}

.spec__right {
  width: 60%;
  border: 1px solid #485f6f;
  border-left: none;
  display: flex;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 400;
  align-items: flex-end;
  padding-bottom: 2rem;
  padding-left: 0.3rem;
}
@media (max-width: 767px) {
  .spec__right {
    width: 41rem;
    font-size: 3.5rem;
  }
}

.spec__right span {
  font-size: 3rem;
}
@media (max-width: 767px) {
  .spec__right span {
    font-size: 6rem;
  }
}

.spec__more {
  font-size: 1.4rem;
  line-height: 1.3333333333;
  margin-top: 0.5rem;
}
@media (max-width: 767px) {
  .spec__more {
    font-size: 2rem;
    margin-left: 7rem;
  }
}

/* ---モデル3--- */
.spec__model3 {
  width: 64.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 7rem;
}
@media (max-width: 767px) {
  .spec__model3 {
    width: 100%;
    margin-top: 9rem;
  }
}

/*「8」スタイル */
.model3__highlight {
	font-size: 3.6rem;
	font-weight: bold;
	color: #485f6f;
	position: relative;
  top: 0.3rem; /*「8」高さ調整 */
}
@media (max-width: 767px) {
	.model3__highlight {
		font-size: 6rem;
		top: 0.6rem; /*「8」高さ調整 */
	}
}

/* 「完売いたしました」スタイル */
.model3__soldout { /* PC用表示 */
	font-size: 2rem;
	font-weight: bold;
	color: #e13c99;
}
@media (max-width: 767px) {
  .model3__soldout {
    display: none; /* SPは該当スタイル非使用 */
  }
}

.model3__soldout-sp {
  display: none; /* PCは該当スタイル非使用 */
}
@media (max-width: 767px) { /* SP用表示 */
  .model3__soldout-sp {
    display: block;
    font-size: 4rem;
    font-weight: bold;
    color: #e13c99;
    text-align: center;
	}
}
/* ------- */

.spec__model3_list {
  margin-top: 6rem;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .spec__model3_list {
    flex-direction: column;
    margin-top: 2rem;
  }
}

.spec__model3_img {
  width: 29.1rem;
  top: -0.6rem;
}
@media (max-width: 767px) {
  .spec__model3_img {
    width: 38.7rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
  }
  .spec__model3_img::after {
    content: "";
    position: absolute;
    width: 4rem;
    height: 4rem;
    left: 50%;
    transform: translateX(-50%);
    bottom: -2.7rem;
    background: url(../img/plus@2x.png) no-repeat center center/cover;
  }
}

.spec__model3_item {
  width: 31.9rem;
  position: relative;
  top: 0.5rem;
}
@media (max-width: 767px) {
  .spec__model3_item {
    width: 60.9rem;
    font-size: 4rem;
    margin-left: 7.5rem;
    margin-right: 7.5rem;
    margin-top: 2.5rem;
  }
}

.spec__model3_heading {
  font-size: 1.5rem;
  font-weight: 400;
  color: #fff;
  height: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #485f6f;
}
@media (max-width: 767px) {
  .spec__model3_heading {
    height: 4.5rem;
    font-size: 2.5rem;
  }
}

.spec_model3_item02 {
  margin-top: 1.4rem;
}
@media (max-width: 767px) {
  .spec_model3_item02 {
    margin-top: 2.4rem;
  }
}

.spec__model_img01 {
  background-color: #fff;
  border: 1px solid #485f6f;
  text-align: center;
  height: 10.5rem;
}
@media (max-width: 767px) {
  .spec__model_img01 {
    height: 18.7rem;
  }
}

.spec__model_img01 img {
  display: inline-block;
  width: 95%;
	margin-top: 0.5rem;
  margin-left: auto;
  margin-right: auto;
}

.spec__model_img02 {
  background-color: #fff;
  border: 1px solid #485f6f;
  display: flex;
  padding-left: 1rem;
  padding-right: 0.8rem;
  height: 10rem;
}
@media (max-width: 767px) {
  .spec__model_img02 {
    height: 16rem;
  }
}

.spec__model_img02_about {
  font-size: 1.5rem;
  color: #485f6f;
  font-weight: 400;
}
@media (max-width: 767px) {
  .spec__model_img02_about {
    font-size: 2.5rem;
    margin-top: 1rem;
  }
}

.spec__model_img02_about span {
  top: 0.4rem;
  position: relative;
  font-size: 3rem;
}
@media (max-width: 767px) {
  .spec__model_img02_about span {
    font-size: 4rem;
  }
}

.spec__model_img03_item {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.3333333333;
  color: #e13c99;
  margin-top: 1.1rem;
  letter-spacing: -0.08em;
}
@media (max-width: 767px) {
  .spec__model_img03_item {
    font-size: 2.5rem;
  }
}

.spec__model_img03_right {
  width: 7.9rem;
  position: relative;
  top: 2.3rem;
}
@media (max-width: 767px) {
  .spec__model_img03_right {
    width: 15.5rem;
  }
}

.spec__model3_item03 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 9.5rem;
  margin-top: 1.4rem;
  width: 100%;
}
@media (max-width: 767px) {
  .spec__model3_item03 {
    height: 20rem;
    margin-top: 2.4rem;
  }
}

.spec__model3_heading01 {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.5384615385;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #485f6f;
  color: #fff;
  text-align: center;
  width: 12.9rem;
  height: 100%;
}
@media (max-width: 767px) {
  .spec__model3_heading01 {
    font-size: 2.3rem;
    width: 20rem;
    flex-shrink: 0;
  }
}

.spec__model-number {
  position: relative;
  font-size: 1.5rem;
  background-color: #fff;
  border: 1px solid #485f6f;
  height: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding-left: 1.4rem;
  width: 61%;
  gap: 0.3rem;
}
@media (max-width: 767px) {
  .spec__model-number {
    width: 100%;
    gap: 0;
    justify-content: flex-start;
    padding-top: 1.4rem;
    padding-left: 2.5rem;
  }
}

.spec__model-number_line {
  width: 0.5rem;
  height: 1.4rem;
  margin-left: 4rem;
}
@media (max-width: 767px) {
  .spec__model-number_line {
    width: 1.1rem;
    height: 3rem;
    margin-top: 1.9rem;
    margin-left: 7.2rem;
  }
  .spec__model-number_line img {
    width: 100%;
    height: 100%;
  }
}

.spec__model-number_text {
  font-size: 1.5rem;
  position: relative;
  display: inline-block;
}
@media (max-width: 767px) {
  .spec__model-number_text {
    font-size: 2.5rem;
  }
  .spec__model-number_text span {
    font-size: 4rem;
  }
}

.spec__model-number_text::after {
  content: "";
  position: absolute;
  background: url(../img/item-line@3x.png) no-repeat center center/cover;
  width: 11.5rem;
  height: 1.7rem;
  top: 50%;
  left: 29%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .spec__model-number_text::after {
    background: transparent;
    height: 0.4rem; /* ピンク斜線の太さ */
    background-color: #e13c99;
    transform: translate(-50%, -50%) rotate(-6deg);
    top: 47%;
    width: 24.4rem;
    left: 30%;
  }
}

.spec__model-number_text02 {
  font-size: 1.5rem;
  font-weight: 400;
}
@media (max-width: 767px) {
  .spec__model-number_text02 {
    font-size: 3.5rem;
  }
}

.spec__model-number_text02 span {
  font-size: 3rem;
  color: #e13c99;
}
@media (max-width: 767px) {
  .spec__model-number_text02 span {
    font-size: 6rem;
  }
}

.spec__model3_more {
  font-size: 1.4rem;
  font-weight: 400;
  margin-top: 0.5rem;
  line-height: 1.3333333333;
}
@media (max-width: 767px) {
  .spec__model3_more {
    font-size: 2rem;
  }
}

.spec__model-number_text03 {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  color: #485f6f;
  position: absolute;
	top: 2rem;
  right: 2rem;
}
@media (max-width: 767px) {
  .spec__model-number_text03 {
    font-size: 2.8rem;
    top: 3.5rem;
    right: 4.4rem;
  }
}
.spec__model-number_text03::after {
  content: "";
  position: absolute;
  background: url(../img/model05@2x.png) no-repeat center center/cover;
  width: 5rem;
  height: 5rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .spec__model-number_text03::after {
    width: 11.3rem;
    height: 11.4rem;
  }
}

.spec_model3_item01 {
  position: relative;
}
.spec_model3_item01::after {
  content: "";
  position: absolute;
  background: url(../img/plus@2x.png) no-repeat center center/cover;
  width: 2rem;
  height: 2rem;
  left: 50%;
  transform: translateX(-50%);
  bottom: -0.8rem;
}
@media (max-width: 767px) {
  .spec_model3_item01::after {
    width: 4rem;
    height: 4rem;
    bottom: -1.4rem;
  }
}

/* --- spec-about --- */
.spec-about {
  margin-top: 7.1rem;
  padding-top: 4.6rem;
  padding-left: 3.2rem;
  padding-right: 2.4em;
  padding-bottom: 5.5rem;
  background-color: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
@media (max-width: 767px) {
  .spec-about {
    grid-template-columns: 1fr;
    margin-left: 5rem;
    margin-right: 5rem;
    margin-top: 8.1rem;
    padding-top: 5.6rem;
  }
}

.spec-about__text {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6666666667;
}
@media (max-width: 767px) {
  .spec-about__text {
    font-size: 2.5rem;
    line-height: 1.8;
  }
  .spec-about__text span {
    font-size: 2rem;
  }
}

/* ------ 特徴 ------ */
.feature {
  padding-top: 11.5rem;
  padding-bottom: 9rem;
}
@media (max-width: 767px) {
  .feature {
    padding-top: 7.4rem;
    padding-bottom: 12rem;
  }
}

.feature__inner {
  max-width: 114rem;
  width: 100%;
  margin: 0 auto;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media (max-width: 767px) {
  .feature__inner {
    padding-left: 3.2rem;
    padding-right: 3.2rem;
  }
}

.feature__title {
  font-size: 2.5rem;
  color: #fff;
  font-weight: bold;
  width: 22rem;
  height: 5.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #8fa7b9;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .feature__title {
    font-size: 4rem;
    width: 30rem;
    height: 8rem;
  }
}

.feature__box {
  padding: 8.5rem 7rem 6.5rem 7rem;
  border: 1px solid #8fa7b9;
  margin-top: -2.7rem;
}
@media (max-width: 767px) {
  .feature__box {
    padding-left: 2rem;
    padding-right: 2rem;
    margin-top: -4.5rem;
    padding-top: 11.5rem;
  }
}

.feature__list01 {
  display: flex;
  gap: 2rem;
}
@media (max-width: 767px) {
  .feature__list01 {
    flex-direction: column;
    margin-left: 2rem;
    margin-right: 2rem;
  }
}

.feature__item01 {
  max-width: 52.4rem;
}
@media (max-width: 767px) {
  .feature__item01 {
    max-width: 100%;
  }
}

.feature__list02_inner {
  max-width: 88rem;
  width: 56%;
}
@media (max-width: 767px) {
  .feature__list02_inner {
    display: flex;
    gap: 0;
    width: auto;
  }
}

@media (max-width: 767px) {
  .feature__item01_img {
    width: 100%;
  }
}

.feature__item01_text {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  margin-top: 1rem;
}
@media (max-width: 767px) {
  .feature__item01_text {
    font-size: 2rem;
    margin-top: 1rem;
  }
}
.feature__item01_text span {
  font-size: 1.8rem; /* 2→1.8 */
  font-weight: bold;
}
@media (max-width: 767px) {
  .feature__item01_text span {
    font-size: 2rem;
  }
}

.feature__item02 {
  max-width: 41.4rem;
}
@media (max-width: 767px) {
  .feature__item02 {
    max-width: none;
  }
}

.feature__item02_head {
  font-size: 1.8rem; /* 2→1.8 */
  font-weight: bold;
  margin-top: 1rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
	.feature__item02_head {
		font-size: 2rem;
	}
}

.feature__list02 {
  display: flex;
  margin-top: 3.3rem;
}
@media (max-width: 767px) {
  .feature__list02 {
    flex-direction: column;
    margin-top: 7.3rem;
    gap: 3.4rem;
  }
}
.feature__list02 .feature__item01 {
  max-width: 47.7rem;
}
@media (max-width: 767px) {
  .feature__list02 .feature__item01 {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .feature__list02 .feature__item01 .feature__item01_img {
    max-width: 34.4rem;
  }
}

.feature__item03 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem 1.7rem;
  width: 100%;
  margin-left: 4.5rem;
}
@media (max-width: 767px) {
  .feature__item03 {
    grid-template-columns: 1fr 1fr;
    gap: 6rem 1rem;
    max-width: none;
    margin-left: 0;
    margin-top: 2.3rem;
  }
  .feature__item03 .feature__item03_img:nth-of-type(1) {
    width: 93%;
  }
}

@media (max-width: 767px) {
  .feature__item03_img:nth-of-type(1) {
    max-width: 29.4rem;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  .feature__item03_img:nth-of-type(1) {
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  .feature__item03_img:nth-of-type(1) .feature__item03_img01 {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 767px) {
  .feature__item03_img:nth-of-type(2) {
    max-width: 33.1rem;
  }
}
.feature__item03_img:nth-of-type(2) .feature__item03_img01 {
  height: 17.5rem;
  max-width: 29rem;
}
@media (max-width: 767px) {
  .feature__item03_img:nth-of-type(2) .feature__item03_img01 {
    max-width: none;
    height: auto;
  }
}
@media (max-width: 767px) {
  .feature__item03_img:nth-of-type(3) {
    max-width: 29.4rem;
  }
}
.feature__item03_img:nth-of-type(3) .feature__item03_img01 {
  height: 21.9rem;
  max-width: 25.4rem;
}
@media (max-width: 767px) {
  .feature__item03_img:nth-of-type(3) .feature__item03_img01 {
    max-width: none;
    width: 100%;
    height: auto;
  }
}
@media (max-width: 767px) {
  .feature__item03_img:nth-of-type(4) {
    max-width: 33.1rem;
  }
}
.feature__item03_img:nth-of-type(4) .feature__item03_img01 {
  height: 20.4rem;
  max-width: 29rem;
}
@media (max-width: 767px) {
  .feature__item03_img:nth-of-type(4) .feature__item03_img01 {
    width: 100%;
    height: auto;
    max-width: none;
  }
}

.feature__item03_img01 img {
  height: 100%;
}

.feature__item03_head {
  font-size: 1.8rem; /* 2→1.8 */
  font-weight: bold;
  margin-top: 1rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
	.feature__item03_head {
		font-size: 2rem;
	}
}

.feature__list03 {
  display: flex;
  gap: 3rem;
  margin-top: 1.5rem;
}
@media (max-width: 767px) {
  .feature__list03 {
    flex-direction: column;
    margin-top: 7.5rem;
  }
}
@media (max-width: 767px) {
  .feature__list03 .feature__item01 {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .feature__list03 .feature__item03_img01 {
    height: auto;
  }
}
@media (max-width: 767px) {
  .feature__list03 .feature__item03_img {
    max-width: 38rem;
  }
}

.feature__item01_head {
  margin-top: 1rem;
}
.feature__item01_head span {
  font-size: 1.8rem; /* 2→1.8 */
  line-height: 1.5;
  margin-top: 1rem;
}
@media (max-width: 767px) {
	.feature__item01_head span {
		font-size: 2rem;
	}
}

.feature__item04 {
  max-width: 64.4rem;
}
@media (max-width: 767px) {
  .feature__item04 {
    max-width: 100%;
    margin-top: 7.2rem;
  }
  .feature__item04 .feature__item03_img {
    max-width: 100%;
  }
}
.feature__item04 .feature__list03 .feature__item03_img {
  max-width: 100%;
}

.feature__item01-sp {
  width: 100%;
}

.feature__item01_sp {
  width: 28.5rem;
}

@media (max-width: 767px) {
  .feature__item01_sp_text {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.4;
    margin-top: 1rem;
  }
}

.speclal__inner {
  padding-top: 8rem;
  padding-bottom: 5rem;
  background-color: #f0f4f6;
}

.speclal__box {
  max-width: 93rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.speclal__box::after {
  content: "";
  position: absolute;
  background: url(../img/bg01.png) no-repeat center center/cover;
  bottom: -59.2rem;
  left: -15.3rem;
  width: 21.9rem;
  height: 46.3rem;
}
@media (max-width: 767px) {
  .speclal__box::after {
    display: none;
  }
}
.speclal__box::before {
  content: "";
  position: absolute;
  background: url(../img/bg02.png) no-repeat center center/cover;
  bottom: -73rem;
  right: -14rem;
  width: 16.9rem;
  height: 51.7rem;
}
@media (max-width: 767px) {
  .speclal__box::before {
    display: none;
  }
}

.speclal__title {
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 767px) {
  .speclal__title {
    font-size: 6rem;
  }
}

.speclal__text {
  font-size: 2rem;
  color: #485f6f;
  font-weight: 400;
  text-align: center;
  margin-top: 2.2rem;
}
@media (max-width: 767px) {
  .speclal__text {
    font-size: 4rem;
  }
}
.speclal__text span {
  display: inline-block;
  position: relative;
}
.speclal__text span::after {
  content: "";
  position: absolute;
  background: url(../img/icon@2x.png) no-repeat center center/cover;
  width: 2rem;
  height: 1.8rem;
  right: -3rem;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .speclal__text span::after {
    width: 3.4rem;
    height: 3.1rem;
    right: -5rem;
  }
}
.speclal__text span::before {
  content: "";
  position: absolute;
  background: url(../img/icon@2x.png) no-repeat center center/cover;
  width: 2rem;
  height: 1.8rem;
  left: -3rem;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .speclal__text span::before {
    width: 3.4rem;
    height: 3.1rem;
    left: -5rem;
  }
}

.speclal__about {
  margin-top: 4.7rem;
  height: 5.7rem;
  width: 45.5rem;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  border-radius: 4rem 0 0 4rem;
  font-size: 2rem;
  font-weight: 400;
  display: flex;
  align-items: center;
  padding-left: 7.2rem;
  position: relative;
  letter-spacing: -0.05em;
}
@media (max-width: 767px) {
  .speclal__about {
    font-size: 4rem;
    margin-top: 9.7rem;
    width: 65rem;
    height: 15rem;
    padding-left: 21.6rem;
    line-height: 1.25;
  }
}
.speclal__about::after {
  content: "";
  position: absolute;
  width: 10.1rem;
  height: 10.1rem;
  background: url(../img/irasuto@2x.webp) no-repeat center center/cover;
  top: 50%;
  transform: translateY(-50%);
  left: -5rem;
}
@media (max-width: 767px) {
  .speclal__about::after {
    width: 20.8rem;
    height: 20.8rem;
    left: -2rem;
  }
}

.speclal__line {
  width: 28%;
	margin-top: 2rem;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .speclal__line {
    width: 73%;
    margin-top: 3.6rem;
  }
}

.speclal__box01 {
  max-width: 70rem;
  margin-left: auto;
  margin-right: auto;
  background-color: #F0F4F6;
  padding: 4.7rem 5rem 4.5rem 5rem;
}
@media (max-width: 767px) {
  .speclal__box01 {
    margin-left: 5rem;
    margin-right: 5rem;
    padding-top: 7.7rem;
    padding-bottom: 7.2rem;
  }
}

.line {
  margin-top: 8rem;
  margin-bottom: 9rem;
  text-align: center;
}
@media (max-width: 767px) {
  .line {
    margin-top: 11rem;
  }
}
.line img {
  width: 3rem;
  margin-left: auto;
  margin-right: auto;
  height: 7rem;
  display: inline-block;
}

/* --- こんな方にオススメ --- */
.speclal__more {
  font-weight: 400;
  width: 26.3rem;
  margin-left: auto;
  margin-right: auto;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  color: #fff;
  border-radius: 4.5rem;
  background-color: #485f6f;
}
@media (max-width: 767px) {
  .speclal__more {
    width: 45rem;
    height: 5.5rem;
    font-size: 3.5rem;
    font-weight: 400;
  }
}

.speclal__list {
  display: flex; /* 横grid→flex */
 	flex-direction: column; /* 追加 */
	align-items: flex-start; /* 追加:左揃え */
  margin-top: 3rem;
	padding-left: 5.5rem; /* 文字の左側余白 */
}
@media (max-width: 767px) {
  .speclal__list {
		margin-top: 5rem;
		padding-left: 1rem; /* 文字の左側余白 */
		/*grid-template-columns: 1fr; 削除：間隔調整 */
  }
}

.speclal__item {
	display: block; /* flex→縦並びblockに */
  width: auto; /* 30rem→auto */
	font-size: 2.2rem;
	font-weight: 500; /* 太字に */
	line-height: 1.6;
	padding: 1rem 0; /* 追加 */
	/* height: 11.5rem; 削除*/
	/* align-items: center; 削除*/
}
@media (max-width: 767px) {
  .speclal__item {
    width: 100%; /* auto→100% */
    height: auto;
    font-size: 3.8rem; /* 4→3.8 */
		line-height: 1.6; /* 念のため追加 */
		padding: 1rem 0; /* 念のため追加 */
		text-align: left; /* 念のため追加 */
  }
  .speclal__item:nth-of-type(n+2) {
    margin-top: 2rem;
  }
}

/* オススメ項目4→3つのため4分割を削除 
.speclal__item:nth-of-type(1) {
  border-right: 1px solid #cfdde8;
  border-bottom: 1px solid #cfdde8;
  padding-left: 1rem;
}
@media (max-width: 767px) {
  .speclal__item:nth-of-type(1) {
    border-right: none;
    border-bottom: none;
    padding-left: 0;
  }
}
.speclal__item:nth-of-type(2) {
  border-bottom: 1px solid #cfdde8;
  padding-left: 3.3rem;
}
@media (max-width: 767px) {
  .speclal__item:nth-of-type(2) {
    border-bottom: none;
    padding-left: 0;
  }
}
.speclal__item:nth-of-type(3) {
  border-right: 1px solid #cfdde8;
  padding-left: 0.9rem;
}
@media (max-width: 767px) {
  .speclal__item:nth-of-type(3) {
    border-right: none;
    padding-left: 0;
  }
}
.speclal__item:nth-of-type(4) {
  padding-left: 3.4rem;
}
@media (max-width: 767px) {
  .speclal__item:nth-of-type(4) {
    padding-left: 0;
  }
}
*/

.cta {
  margin-top: 10.5rem;
  margin-bottom: 6rem;
}
@media (max-width: 767px) {
  .cta {
    margin-top: 7.5rem;
  }
}

.cta__inner {
  max-width: 93rem;
  margin-left: auto;
  margin-right: auto;
  background: url(../img/cta_bg.png) no-repeat center center/cover;
}
@media (max-width: 767px) {
  .cta__inner {
    padding-left: 2rem;
    background: transparent;
  }
}

.cta__box {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  padding-left: 14.5rem;
  padding-right: 5.5rem;
  padding-top: 5.8rem;
}
@media (max-width: 767px) {
  .cta__box {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
    flex-direction: column;
    gap: 3rem;
  }
}

.cta__left {
  width: 11rem;
}
@media (max-width: 767px) {
  .cta__left {
    width: 18.8rem;
  }
}

.cta__right {
  font-size: 2rem;
  line-height: 1.75;
}
@media (max-width: 767px) {
  .cta__right {
    font-size: 3.4rem;
    letter-spacing: -0.05em;
  }
}

.cta__btn {
  margin-top: 2.7rem;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 7.5rem;
}
@media (max-width: 767px) {
	.cta__btn {
    margin-top: 9.7rem;
    padding-bottom: 4.5rem;
  }
}
.cta__btn a {
  margin-left: auto;
  margin-right: auto;
}


/* ---- Footer全体 ---- */
.footer {
	padding: 2rem 0;
	background-color: #d2dce3;
	text-align: center;
}

/* ---- Footerプラポリ・特商法 ---- */
.footer__list {
	display: flex; /* 並列 */
	justify-content: center;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
	margin-top: 0.5rem; /* 上部余白を追加 */
	flex-wrap: wrap;
}

.footer__item {
	display: flex;
	align-items: center;
}

.footer__item:not(:first-child)::before { /* 縦線 */
	content: "";
	display: block;
	width: 1px;
	height: 1.4em; /* 高さに調整 */
	background-color: #101010;
	margin: 0 1.6rem; /* 左右の余白 */
}

.footer__item a {
	font-size: 1.75rem;
	font-weight: 400;
	color: #101010;
	text-decoration: none;
	transition: all 0.3s ease;
}

.footer__item a:hover {
	color: #8fa7b9;
	/*opacity: 0.5;*/
}

/* ---- Footer Copyright ---- */
.footer__copyright {
	margin-top: 2rem;
	font-size: 1.5rem;
	font-weight: 300;
	color: #8fa7b9;
}

.footer__copyright small {
	font-size: inherit; /* 親のfont-sizeを継承 */
	line-height: 1.6;
}

/* -- Footer SP用 -- */
@media (max-width: 767px) {
	.footer {
		padding: 3.5rem 0;
	}
	
	.footer__item a {
		font-size: 2.25rem;
		text-decoration: underline;
	}
	
	.footer__copyright {
		font-size: 2rem;
	}
}


/* ---- YouTube ---- */
.youtube-facade {
  position: relative; /* 再生ボタン中央配置 */
	width: 100%;
	height: 100%;
  cursor: pointer; /* クリック可能であることを示す */
  overflow: hidden; /* 画像はみ出し防止 */
	background-image: url("https://img.youtube.com/vi/ySMpFd-j_wg/hqdefault.jpg");
	background-size: cover;
	background-position: center;
}

.youtube-facade img {
	display: none; /* サムネ非表示にし背景で表示 */
}

/* サムネイル画像は必要に応じてスタイル調整 */
/* .youtube-facade img { ... } */
.youtube-play-button {
  /* 再生ボタンのスタイル */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 68px; /* サイズ調整 */
  height: 48px; /* サイズ調整 */
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24L27 14v20" fill="white"/></svg>') center center no-repeat;
  background-size: contain;
  border: none;
  padding: 0;
  cursor: pointer;
  opacity: 0.9;
  transition: opacity 0.2s ease;
}

.youtube-facade:hover .youtube-play-button {
  opacity: 1;
}

/* iframeが読み込まれた後 */
.youtube-facade iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}