/* フォントはimportantと予備のフォントファミリーをつける */
@font-face {
  font-family: "h300";
  src: url("../font/ヒラギノ角ゴシック W3.woff") format("woff");
}

@font-face {
  font-family: "h600";
  src: url("../font/ヒラギノ角ゴシック W6.woff") format("woff");
}

@font-face {
  font-family: "h800";
  src: url("../font/ヒラギノ角ゴシック W8.woff") format("woff");
}

/* 数字のみ */
@font-face {
  font-family: "d700";
  src: url("../font/DINPro.woff") format("woff");
}

* {
  font-family: "h300", sans-serif !important;
}

html {
  width: 100%;
  margin: 0 auto;
  overflow-x: hidden;
}

body {
  width: 1440px;
  margin: 0 auto;
}

main {
  width: 100%;
}

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

  body {
    box-shadow: 10px 0 5px -5px rgba(0, 0, 0, 0.2),
      -10px 0 5px -5px rgba(0, 0, 0, 0.2);
  }
}

.side-bar {
  width: 80px;
  height: 260px;
  background-color: #fff;
  position: absolute;
  z-index: 3;
}

.side-bar-beige {
  background-color: #f7f6f1;
}

.side-bar > span {
  width: 50px;
  height: 5px;
  background-color: #000;
  display: block;
}

.side-bar > p {
  font-size: 14px;
  font-family: "h600", sans-serif !important;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 1.2em;
  padding-top: 25px;
  padding-left: 18px;
}

/* ヘッダー */
header {
  width: 1440px;
  background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(7.5px);
  -webkit-backdrop-filter: blur(7.5px);
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}

.header-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 1200px;
  margin: 0 auto;
  padding: 20px 0;
}

.header-wrapper > a {
  display: flex;
  align-items: center;
  column-gap: 20.5px;
  text-decoration: none;
}

.header-wrapper > a > img {
  width: 110.65px;
  height: auto;
  display: block;
}

.header-wrapper > a > p {
  font-size: 16px;
  font-family: "h600", sans-serif !important ;
  line-height: 24px;
  color: #000;
  letter-spacing: 0.2em;
}

.header-wrapper > nav > ul {
  display: flex;
  align-items: center;
  column-gap: 38px;
}

.header-wrapper > nav > ul > li > a {
  text-decoration: none;
  font-size: 14px;
  line-height: 20px;
  color: #111;
}

/* ファーストビュー */
.first-view {
  width: 100%;
  background: linear-gradient(
    90deg,
    #f7f6f1 0%,
    #f7f6f1 47.2%,
    #fff 47.2%,
    #fff 100%
  );
  padding: 161px 0 78px;
}

.first-view-wrapper {
  position: relative;
  padding-bottom: 74px;
}

.first-view-wrapper > h1 {
  font-size: 44px;
  line-height: 66px;
  font-family: "h800" !important;
  padding: 0 0 57px 120px;
}

.first-view .first-view_bg {
  width: 1185px;
  height: 600px;
  position: relative;
}

.first-view .first-view_bg::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
}

.first-view .first-view_bg img {
  width: 100%;
  height: auto;
}

.first-view .first-view_point {
  width: 240px;
  height: 240px;
  position: absolute;
  top: 152px;
  left: 121px;
}

.first-view .first-view_flyer {
  width: 341px;
  height: 776px;
  position: absolute;
  top: 87px;
  right: 43px;
}

.first-view_medal {
  position: absolute;
  top: 505px;
  left: 129px;
  display: flex;
  column-gap: 5px;
  align-items: center;
}

.first-view_medal .register_design {
  width: 150px;
  height: auto;
}

.first-view_medal .register_patent {
  width: 110px;
  height: auto;
}

.first-view .first-view_desc {
  width: fit-content;
  position: absolute;
  top: 520px;
  right: 411px;
}

.first-view .first-view_desc > p {
  font-family: "h600" !important;
  color: #fff;
  text-align: right;
}

.first-view .first-view_desc > p:first-of-type {
  font-size: 18px;
  line-height: 26px;
  display: flex;
  align-items: center;
  justify-content: right;
  padding-bottom: 10px;
}

.first-view .first-view_desc > p:first-of-type::before {
  content: "";
  border-top: 1px solid #fff;
  width: 30px;
  margin-right: 10px;
}

.first-view .first-view_desc > p:last-of-type {
  font-size: 36px;
  line-height: 46px;
}

.first-view .first-view_desc > p:last-of-type span {
  font-size: 24px;
  line-height: 28px;
  display: block;
  font-family: "h600", sans-serif !important;
}

/* 画面左下のお問い合わせボタン */
.fixed-contact-navi {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 680px;
  height: 174px;
  background-color: #fff100;
  display: flex;
  padding: 10px 0;
  box-sizing: border-box;
  z-index: 999;
}

.contact_navi-tel {
  width: 407px;
  border-right: 1px solid rgba(17, 17, 17, 0.2);
  position: relative;
  padding: 15px 26px 0 0;
  box-sizing: border-box;
  text-decoration: none;
  pointer-events: none;
}

.contact_navi-tel > div {
  width: 248px;
  margin-left: auto;
  display: flex;
  flex-direction: column;
}

.contact_navi-tel > div img {
  width: 30px;
  height: auto;
  margin: 0 auto 20px;
}

.contact_navi-tel > div .title {
  font-size: 16px;
  line-height: 24px;
  color: #111;
  font-family: "h600" !important;
  margin-right: auto;
}

.contact_navi-tel > div .number {
  font-size: 42px;
  line-height: 50px;
  color: #111;
  font-family: "d700" !important;
  font-weight: bold;
  white-space: nowrap;
}

.contact_navi-mail {
  flex-grow: 1;
  padding-top: 18px;
  text-decoration: none;
}

.contact_navi-mail .mail-icon {
  width: 32px;
  height: auto;
  margin: 0 auto;
  display: block;
}

.contact_navi-mail p {
  font-size: 20px;
  line-height: 30px;
  color: #111;
  text-align: center;
  font-family: "h600" !important;
  padding: 46px 0 8px;
}

.contact_navi-mail .arrow-icon {
  width: 30px;
  height: auto;
  margin: 0 7.7px 0 auto;
  display: block;
}

/* 漫画 */
.comic {
  width: 100%;
  background: linear-gradient(
    90deg,
    #f7f6f1 0%,
    #f7f6f1 47.2%,
    #fff 47.2%,
    #fff 100%
  );
  padding: 64px 0 92px;
  position: relative;
}

.comic-wrapper {
  width: 1200px;
  margin: 0 auto;
}

.comic-wrapper h2 {
  font-size: 70px;
  font-family: "h600", sans-serif !important;
  position: relative;
  z-index: 1;
}

.comic-wrapper > img {
  width: 100%;
  margin-top: -25px;
}

/* 動画 */
.movie {
  width: 100%;
  background: linear-gradient(
    90deg,
    #f7f6f1 0%,
    #f7f6f1 47.2%,
    #fff 47.2%,
    #fff 100%
  );
  margin: 0 auto;
  padding-top: 64px;
  margin-bottom: 34px;
  position: relative;
}

.movie-wrapper h2 {
  font-size: 70px;
  display: block;
  width: 1200px;
  margin: 0 auto;
  font-family: "h600", sans-serif !important;
}

.movie-content {
  padding: 32px 0 172px;
  margin-top: -25px;
  background-image: url("../images/movie-bgimg_pc.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.movie-content > img {
  width: 42px;
  display: block;
  margin: 0 auto;
}

.movie-content > p {
  font-size: 32px;
  line-height: 48px;
  color: #fff;
  font-family: "h600", sans-serif !important;
  text-align: center;
  margin: 18px auto 40px;
}

.video-wrapper {
  width: 640px;
  height: 360px;
  margin: 0 auto;
  position: relative;
}

.video-wrapper > video {
  width: 100%;
}

#playPauseBtn {
  width: 100%;
  height: 100%;
  display: block;
  background-color: rgba(0, 0, 0, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transition: 0.4s;
}

#playPauseBtn > img {
  width: 140px;
}

#screenSizeBtn {
  width: 30px;
  height: 30px;
  padding: 0;
  margin: 0;
  position: absolute;
  right: 6px;
  bottom: 4px;
  background-color: transparent;
  border: none;
  cursor: pointer;
}

#screenSizeBtn img {
  width: 30px;
}

.video-play {
  opacity: 0 !important;
}

.video-pause {
  opacity: 1 !important;
}

/* 製品特徴 */
.product-features {
  padding-top: 64px;
  width: 100%;
  position: relative;
}

.product-features::after {
  content: "";
  width: 1440px;
  height: 86px;
  background-color: #ecc174;
  position: absolute;
  bottom: 0;
  z-index: 0;
}

.product-features_head {
  width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  row-gap: 65px;
}

.product-features_head--tit {
  border-top: 5px solid #000;
  width: fit-content;
}

.product-features_head--tit h2 {
  margin-top: 40px;
  font-size: 40px;
  line-height: 50px;
  color: #000;
  font-family: "h600" !important;
}

.product-features_head--tit h2 span {
  color: #f9a819;
  display: block;
  font-family: "h600" !important;
}

.product-features_head--cont {
  display: flex;
  flex-direction: column;
  row-gap: 40px;
  width: 100%;
}

.product-features_point {
  position: relative;
  width: 100%;
}

.product-features_point > img {
  width: 750px;
  height: auto;
}

.product-features_point > div {
  position: absolute;
  width: 600px;
  height: 380px;
  bottom: 0;
  right: 0;
  background-color: #fff;
  padding: 40px 0 0 70px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  row-gap: 35px;
}

.product-features_point > div .title {
  display: flex;
  column-gap: 35px;
  align-items: flex-end;
  justify-content: flex-start;
  width: 100%;
}

.product-features_point > div .title img {
  width: 68px;
  height: auto;
}

.product-features_point > div .title p {
  font-size: 28px;
  line-height: 38px;
  font-family: "h600" !important;
  color: #f9a819;
}

.product-features_point > div > p {
  font-size: 16px;
  line-height: 30px;
  width: 457px;
  color: #000;
}

.product-features_foot {
  margin-top: -100px;
  padding-top: 200px;
  background-color: #f7f6f1;
  width: 100%;
}

.product-features_foot--tit {
  padding-bottom: 60px;
}

.product-features_foot--tit h2 {
  font-size: 40px;
  line-height: 50px;
  color: #000;
  font-family: "h600" !important;
  text-align: center;
}

.product-features_proof {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  width: 1198px;
  text-align: center;
  margin: 0 auto;
  padding-bottom: 97px;
}

.product-features_proof > p:first-of-type {
  font-size: 24px;
  line-height: 30px;
  color: #231815;
  font-family: "h600" !important;
}

.product-features_proof > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.product-features_proof > div img {
  width: 578px;
  height: auto;
}

.product-features_proof > p:last-of-type {
  color: #231815;
  font-size: 16px;
  line-height: 24px;
}

.product-features_comparison {
  width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 60px;
  padding-bottom: 60px;
}

.product-features_comparison > p {
  font-size: 30px;
  line-height: 45px;
  font-family: "h600" !important;
  color: #000;
  text-align: center;
}

.product-features_comparison > p span {
  font-size: 20px;
  line-height: 30px;
  font-family: "h300";
  color: #000;
  display: block;
}

.product-features_comparison-img {
  display: flex;
  width: 800px;
  margin: 0 auto;
  justify-content: space-between;
}

.product-features_comparison-img .item {
  display: flex;
  flex-direction: column;
  row-gap: 5px;
  width: 380px;
}

.product-features_comparison-img .item img {
  width: 100%;
  height: auto;
}

.product-features_comparison-img .item p {
  font-size: 20px;
  line-height: 30px;
  color: #000;
}

.product-features_comparison-result {
  width: 800px;
  margin: 0 auto;
}

.product-features_comparison-result .img_component {
  width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}

.product-features_comparison-result .img_component img {
  width: 100%;
}

.product-features_comparison-result .img_component p {
  font-size: 16px;
  line-height: 24px;
  color: #231815;
}

.product-features_comparison-result > img {
  width: 220px;
  height: auto;
  margin: 0 auto;
  display: block;
}

.product-features_comparison-result > p {
  color: #000;
  text-align: center;
  font-size: 38px;
  line-height: 52px;
  font-family: "h600" !important;
  padding-top: 22px;
}

.product-features_step {
  width: 1200px;
  margin: 0 auto;
  border-radius: 20px;
  border: 1px solid #f9a819;
  background: #fff;
  padding: 60px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  row-gap: 50px;
  position: relative;
  z-index: 1;
}

.product-features_step > p {
  text-align: center;
  font-size: 40px;
  line-height: 50px;
  font-family: "h600" !important;
}

.product-features_step > p span {
  font-size: 46px;
  line-height: 54px;
  font-family: "h600" !important;
  display: block;
  color: #f9a819;
}

.product-features_step-list {
  display: flex;
  flex-direction: column;
  row-gap: 80px;
  width: 100%;
}

.product-features_step-list > div {
  width: 1039px;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

.product-features_step-list > div:not(:first-of-type)::before {
  position: absolute;
  top: -121px;
  left: 122px;
  content: "";
  background-image: url("../images/step_dotLine-pc.svg");
  background-repeat: no-repeat;
  background-size: cover;
  width: 4px;
  height: 148px;
}

.product-features_step-list > div > img {
  width: 640px;
  height: auto;
}

.three-step_item {
  width: 336px;
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}

.three-step_item > div {
  display: flex;
  width: fit-content;
  justify-content: center;
  align-items: center;
  column-gap: 10px;
}

.three-step_item > div p {
  font-size: 36px;
  line-height: 48px;
  color: #f9a819;
}

.three-step_item > div img {
  width: 74px;
  height: auto;
}

.three-step_item > p,
.three-step_item > p > span {
  font-size: 16px;
  line-height: 24px;
  font-family: "h600" !important;
  color: #000;
}

/* 製品比較 */
.product-compare {
  width: 1440px;
  margin: 0 auto;
  background-color: #ecc174;
  padding: 143px 0 86px;
  margin-bottom: 70px;
  position: relative;
}

.product-compare-wrapper > h2 {
  font-size: 28px;
  color: #fff;
  font-family: "h600", sans-serif !important;
  padding-top: 20px;
  margin: 0 auto;
  border-top: 5px solid #fff;
  display: block;
  width: 440px;
  text-align: center;
}

.comparison-table-wrapper {
  margin: 90px auto 70px;
  width: fit-content;
  display: flex;
  flex-direction: column;
  row-gap: 2px;
}

.comparison-table-header {
  display: flex;
  flex-direction: row;
  column-gap: 2px;
  justify-content: flex-end;
}

.comparison-table-header > p {
  height: 69px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: "h600", sans-serif !important;
}

.comparison-table-header > p:first-of-type {
  background-color: #bd9a5d;
  width: 288px;
  font-size: 16px;
}

.comparison-table-header > p:nth-of-type(2) {
  background-color: #f9a819;
  width: 470px;
  font-size: 22px;
}

.comparison-table-body {
  display: flex;
  flex-direction: column;
  row-gap: 2px;
}

.comparison-table-row {
  display: flex;
  flex-direction: row;
  column-gap: 2px;
  align-items: center;
}

.comparison-table-row > div:first-of-type {
  font-size: 20px;
  font-family: "h600", sans-serif !important;
  line-height: 26px;
  color: #fff;
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  width: 134px;
  height: 120px;
}

.comparison-table-row:nth-of-type(2n-1) > div:first-of-type {
  background-color: #df0e0e;
}

.comparison-table-row:nth-of-type(2n) > div:first-of-type {
  background-color: #c90d0d;
}

.comparison-table-row > div:nth-of-type(2) {
  width: 288px;
  height: 120px;
  display: flex;
  flex-direction: column;
  row-gap: 12.25px;
  align-items: center;
  justify-content: center;
}

.comparison-table-row:nth-of-type(2n -1) > div:nth-of-type(2),
.comparison-table-row:nth-of-type(2n -1) > div:nth-of-type(3) {
  background-color: #fff;
}

.comparison-table-row:nth-of-type(2n) > div:nth-of-type(2),
.comparison-table-row:nth-of-type(2n) > div:nth-of-type(3) {
  background-color: #fdf9f1;
}

.comparison-table-row > div:nth-of-type(2) > img,
.comparison-table-row > div:nth-of-type(3) > img {
  width: 36px;
}

.comparison-table-row > div:nth-of-type(2) > p,
.comparison-table-row > div:nth-of-type(3) > p {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  font-family: "h600", sans-serif !important;
}

.comparison-table-row > div:nth-of-type(3) {
  width: 470px;
  height: 120px;
  display: flex;
  flex-direction: column;
  row-gap: 12.25px;
  align-items: center;
  justify-content: center;
}

.product-compare-wrapper > img {
  width: 80px;
  display: block;
  margin: 70px auto 80px;
}

.product-compare-wrapper > p {
  font-size: 38px;
  font-family: "h600", sans-serif !important;
  color: #fff;
  text-align: center;
}

/* 製品仕様 */
.product-spec {
  width: 1440px;
  margin: 0 auto;
  padding: 64px 0 36px;
  position: relative;
}

.product-spec-wrapper {
  width: 1200px;
  margin: 0 auto;
}

.product-spec-wrapper > h2 {
  font-size: 36px;
  line-height: 54px;
  font-family: "h600", sans-serif !important;
  text-align: center;
  margin-bottom: 90px;
}

.prodcut-image-spec {
  display: flex;
  justify-content: space-between;
}

.prodcut-image-spec > div:first-of-type {
  display: flex;
  align-items: center;
  column-gap: 45px;
}

.prodcut-image-spec > div:first-of-type > img:first-of-type {
  width: 232px;
}

.prodcut-image-spec > div:first-of-type > img:nth-of-type(2) {
  width: 380px;
}

.product-spec-price > div:first-of-type {
  display: flex;
  flex-direction: column;
  border: 2px solid #f7f6f1;
}

.product-spec-price > div:first-of-type > div {
  display: flex;
  align-items: center;
}

.product-spec-price > div:first-of-type > div:nth-of-type(2n-1) {
  background-color: #f7f6f1;
}

.product-spec-price > div:first-of-type > div > p {
  font-size: 16px;
  line-height: 24px;
  padding: 11px 15px;
  box-sizing: border-box;
}

.product-spec-price > div:first-of-type > div > p:first-of-type {
  width: 171px;
}

.product-spec-price > div:first-of-type > div > p:last-of-type {
  width: 328px;
}

.product-price {
  margin-top: 20px;
}

.product-price > p:first-of-type {
  font-size: 16px;
  font-family: "h600", sans-serif !important;
  line-height: 24px;
}

.product-price > p:first-of-type span {
  font-size: 24px;
  font-family: "h600", sans-serif !important;
  line-height: 36px;
}

.product-price > p:nth-of-type(2) {
  font-size: 14px;
  font-family: "h600", sans-serif !important;
  line-height: 21px;
}

.product-price > p:nth-of-type(3) {
  margin-top: 20px;
  font-size: 14px;
  line-height: 21px;
}

.product-option > p {
  font-size: 20px;
  line-height: 24px;
  font-family: "h600", sans-serif !important;
  margin: 52px 0 16px;
}

.product-option-list-wrapper {
  display: flex;
  column-gap: 26px;
  row-gap: 40px;
  flex-wrap: wrap;
}

.product-option-item > img {
  width: 280px;
}

/* お問い合わせ */
.contact {
  width: 1440px;
  margin: 0 auto;
  background-color: #f7f6f1;
  position: relative;
  padding: 64px 0 0;
}

.contact::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 1440px;
  height: 64px;
  background-color: #fff;
}

.contact-wrapper {
  width: 1200px;
  margin: 0 auto;
}

.contact-head_title {
  border-top: 5px solid #000;
  width: fit-content;
  padding-right: 110px;
  margin-bottom: 45px;
}

.contact-head_title h2 {
  margin-top: 40px;
  font-size: 40px;
  line-height: 50px;
  color: #000;
  font-family: "h600", sans-serif !important;
}

.contact-head_title h2 span {
  display: block;
  font-family: "h600", sans-serif !important;
}

.contact-description {
  margin-bottom: 45px;
}

.contact-description > span {
  display: block;
  font-size: 16px;
  line-height: 30px;
}

.contact-tel {
  width: 1200px;
  background-color: #fff;
  padding: 50px 0 40px;
  margin-bottom: 80px;
}

.contact-tel > * {
  text-align: center;
}

.contact-tel_title {
  width: fit-content;
  font-size: 24px;
  font-family: "h600", sans-serif !important;
  padding-bottom: 11px;
  border-bottom: #666 2px dashed;
  margin: 0 auto 52px;
}

.contact-tel_link {
  display: flex;
  gap: 10px;
  width: fit-content;
  margin: 0 auto 26px;
  text-decoration: none;
  pointer-events: none;
}

.contact-tel_link > img {
  width: 46px;
  height: auto;
}

.contact-tel_link > p {
  font-size: 44px;
  font-family: "h600", sans-serif !important;
  color: #000;
  line-height: 66px;
}

.contact-tel_notice {
  font-size: 18px;
  line-height: normal;
}

.contact-form {
  width: 1200px;
  margin: 0 auto;
}

.contact-form_title {
  width: fit-content;
  font-size: 24px;
  font-family: "h600", sans-serif !important;
  padding-bottom: 11px;
  border-bottom: #666 2px dashed;
  margin: 0 auto 99px;
}

.contact-form_form {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding-bottom: 140px;
}

.contact-form_form--item {
  display: flex;
  justify-content: space-between;
}

.contact-form_form--item > p {
  display: flex;
  font-size: 16px;
  font-family: "h600", sans-serif !important;
  align-items: center;
}

.contact-form_form--item:last-of-type > p {
  padding-top: 30px;
  align-items: flex-start;
}

.contact-form_form--radio {
  display: flex;
  width: 943px;
  gap: 30px;
}

.contact-form_form--radio input {
  cursor: pointer;
  display: none;
}

.contact-form_form--radio label {
  font-size: 24px;
  font-family: "h300", sans-serif !important;
  cursor: pointer;
  position: relative;
  padding-left: 32px;
}

.contact-form_form--radio label::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid #ccc;
  margin-right: 10px;
  vertical-align: middle;
  cursor: pointer;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.contact-form_form--radio input:checked + label::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #666666;
  vertical-align: middle;
  cursor: pointer;
  position: absolute;
  left: 3px;
  top: 50%;
  transform: translateY(-50%);
}

.contact-form_form--item > input,
.contact-form_form--item > textarea {
  width: 863px;
}

.contact-form_form--item > input::placeholder,
.contact-form_form--item > textarea::placeholder {
  color: #999;
}

.contact-form_form--item > input {
  height: 20px;
  padding: 30px 40px;
  border: none;
  border-radius: 5px;
  font-size: 20px;
  font-family: "h300", sans-serif !important;
}

.contact-form_form--item > textarea {
  height: 440px;
  padding: 30px 40px;
  border: none;
  border-radius: 5px;
  font-size: 20px;
  font-family: "h300", sans-serif !important;
  resize: none;
}

.contact-form_form--submit {
  width: 400px;
  height: 80px;
  padding: 0;
  border: none;
  margin: 60px auto 0;
  background-color: #333;
  color: #fff;
  font-size: 24px;
  font-family: "h300", sans-serif !important;
  text-align: center;
  line-height: 80px;
  border-radius: 5px;
  cursor: pointer;
}

.contact-form_form--submit:hover {
  background-color: #111;
}

/* フッター */
footer {
  width: 100%;
  padding: 40px 0;
}

.footer-wrapper {
  width: 315px;
  margin: 0 auto;
}

.footer-wrapper > a {
  text-decoration: none;
  width: fit-content;
  display: block;
  margin: 0 auto 45.65px;
}

.footer-wrapper > a > img {
  width: 180px;
}

.footer-wrapper > p:first-of-type {
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 0.2em;
  font-family: "h600", sans-serif !important;
}

.footer-wrapper > p:nth-of-type(2) {
  font-size: 10px;
  line-height: 15px;
  letter-spacing: 0.2em;
  margin: 8px 0 15px;
}

.footer-wrapper > div {
  border-left: 1px solid #000;
  padding-left: 10px;
  margin-bottom: 37px;
}

.footer-wrapper p,
.footer-wrapper a,
.footer-wrapper span {
  font-size: 12px;
  line-height: 20px;
  text-decoration: none;
  color: #000;
}

.footer-wrapper a {
  pointer-events: none;
}

.footer-wrapper > p:last-of-type {
  font-size: 14px;
  line-height: 21px;
  color: #111111;
  opacity: 0.5;
  text-align: center;
}

@media screen and (min-width: 836px) and (max-width: 1440px) {
  body,
  main {
    width: 100vw;
  }

  .pc-none {
    display: none !important;
  }

  .side-bar {
    width: 5.556vw;
    height: 18.056vw;
  }

  .side-bar > span {
    width: 3.472vw;
    height: 0.347vw;
  }

  .side-bar > p {
    font-size: 0.972vw;
    letter-spacing: 1.2em;
    padding-top: 1.736vw;
    padding-left: 1.25vw;
  }

  /* ヘッダー */
  header {
    width: 100vw;
  }

  .header-wrapper {
    width: 83.333vw;
    padding: 1.389vw 0;
  }

  .header-wrapper > a {
    column-gap: 1.424vw;
  }

  .header-wrapper > a > img {
    width: 7.684vw;
  }

  .header-wrapper > a > p {
    font-size: 1.111vw;
    line-height: 1.667vw;
    letter-spacing: 0.2em;
  }

  .header-wrapper > nav > ul {
    column-gap: 2.639vw;
  }

  .header-wrapper > nav > ul > li > a {
    font-size: 0.972vw;
    line-height: 1.389vw;
  }

  /* ファーストビュー */
  .first-view {
    padding: 11.181vw 0 5.417vw;
  }

  .first-view-wrapper {
    padding-bottom: 5.139vw;
  }

  .first-view-wrapper > h1 {
    font-size: 3.056vw;
    line-height: 4.583vw;
    padding: 0 0 3.958vw 8.333vw;
  }

  .first-view .first-view_bg {
    width: 82.292vw;
    height: 41.667vw;
  }

  .first-view .first-view_point {
    width: 16.667vw;
    height: 16.667vw;
    top: 10.556vw;
    left: 8.403vw;
  }

  .first-view .first-view_flyer {
    width: 23.681vw;
    height: 53.889vw;
    top: 6.042vw;
    right: 2.986vw;
  }

  .first-view_medal {
    top: 35.069vw;
    left: 8.958vw;
    column-gap: 0.347vw;
  }

  .first-view_medal .register_design {
    width: 10.417vw;
  }

  .first-view_medal .register_patent {
    width: 7.639vw;
  }

  .first-view .first-view_desc {
    top: 36.111vw;
    right: 28.542vw;
  }

  .first-view .first-view_desc > p:first-of-type {
    font-size: 1.25vw;
    line-height: 1.806vw;
    padding-bottom: 0.694vw;
  }

  .first-view .first-view_desc > p:first-of-type::before {
    width: 2.083vw;
    margin-right: 0.694vw;
  }

  .first-view .first-view_desc > p:last-of-type {
    font-size: 2.5vw;
    line-height: 3.194vw;
  }

  .first-view .first-view_desc > p:last-of-type span {
    font-size: 1.667vw;
    line-height: 1.944vw;
  }

  /* 画面左下のお問い合わせボタン */
  .fixed-contact-navi {
    width: 47.222vw;
    height: 12.083vw;
    padding: 0.694vw 0;
  }

  .contact_navi-tel {
    width: 28.264vw;
    padding: 1.042vw 1.806vw 0 0;
  }

  .contact_navi-tel > div {
    width: 17.222vw;
  }

  .contact_navi-tel > div img {
    width: 2.083vw;
    margin: 0 auto 1.389vw;
  }

  .contact_navi-tel > div .title {
    font-size: 1.111vw;
    line-height: 1.667vw;
  }

  .contact_navi-tel > div .number {
    font-size: 2.917vw;
    line-height: 3.472vw;
  }

  .contact_navi-mail {
    padding-top: 1.25vw;
  }

  .contact_navi-mail .mail-icon {
    width: 2.222vw;
  }

  .contact_navi-mail p {
    font-size: 1.389vw;
    line-height: 2.083vw;
    padding: 3.194vw 0 0.556vw;
  }

  .contact_navi-mail .arrow-icon {
    width: 2.083vw;
    margin: 0 0.535vw 0 auto;
  }

  /* 漫画 */
  .comic {
    background: linear-gradient(
      90deg,
      #f7f6f1 0%,
      #f7f6f1 47.2%,
      #fff 47.2%,
      #fff 100%
    );
    padding: 4.444vw 0 6.389vw;
  }

  .comic-wrapper {
    width: 83.333vw;
  }

  .comic-wrapper h2 {
    font-size: 4.861vw;
  }

  .comic-wrapper > img {
    margin-top: -1.736vw;
  }

  /* 動画 */
  .movie {
    width: 100%;
    background: linear-gradient(
      90deg,
      #f7f6f1 0%,
      #f7f6f1 47.2%,
      #fff 47.2%,
      #fff 100%
    );
    padding-top: 4.444vw;
    margin-bottom: 2.4vw;
  }

  .movie-wrapper h2 {
    font-size: 4.861vw;
    width: 83.333vw;
  }

  .movie-content {
    padding: 2.222vw 0 11.944vw;
    margin-top: -1.736vw;
    background-image: url("../images/movie-bgimg_pc.png");
  }

  .movie-content > img {
    width: 2.917vw;
  }

  .movie-content > p {
    font-size: 2.222vw;
    line-height: 3.333vw;
    margin: 1.25vw auto 2.778vw;
  }

  .video-wrapper {
    width: 44.444vw;
    height: 25vw;
  }

  #playPauseBtn > img {
    width: 9.722vw;
  }

  #screenSizeBtn {
    width: 2.083vw;
    height: 2.083vw;
    right: 0.417vw;
    bottom: 0.278vw;
  }

  #screenSizeBtn img {
    width: 2.083vw;
  }

  /* 製品特徴 */
  .product-features {
    padding-top: 4.444vw;
  }

  .product-features::after {
    width: 100vw;
    height: 5.972vw;
  }

  .product-features_head {
    width: 83.333vw;
    row-gap: 4.514vw;
  }

  .product-features_head--tit {
    border-top: 0.347vw solid #000;
  }

  .product-features_head--tit h2 {
    margin-top: 2.778vw;
    font-size: 2.778vw;
    line-height: 3.472vw;
  }

  .product-features_head--cont {
    row-gap: 2.778vw;
  }

  .product-features_point > img {
    width: 52.083vw;
  }

  .product-features_point > div {
    width: 41.667vw;
    height: 26.389vw;
    padding: 2.778vw 0 0 4.861vw;
    row-gap: 2.431vw;
  }

  .product-features_point > div .title {
    column-gap: 2.431vw;
  }

  .product-features_point > div .title img {
    width: 4.722vw;
  }

  .product-features_point > div .title p {
    font-size: 1.944vw;
    line-height: 2.639vw;
  }

  .product-features_point > div > p {
    font-size: 1.111vw;
    line-height: 2.083vw;
    width: 31.736vw;
  }

  .product-features_foot {
    margin-top: -6.944vw;
    padding-top: 13.889vw;
  }

  .product-features_foot--tit {
    padding-bottom: 4.167vw;
  }

  .product-features_foot--tit h2 {
    font-size: 2.778vw;
    line-height: 3.472vw;
  }

  .product-features_proof {
    row-gap: 1.389vw;
    width: 83.194vw;
    padding-bottom: 6.736vw;
  }

  .product-features_proof > p:first-of-type {
    font-size: 1.667vw;
    line-height: 2.083vw;
  }

  .product-features_proof > div img {
    width: 40.139vw;
  }

  .product-features_proof > p:last-of-type {
    font-size: 1.111vw;
    line-height: 1.667vw;
  }

  .product-features_comparison {
    row-gap: 4.167vw;
    padding-bottom: 4.167vw;
  }

  .product-features_comparison > p {
    font-size: 2.083vw;
    line-height: 3.125vw;
  }

  .product-features_comparison > p span {
    font-size: 1.389vw;
    line-height: 2.083vw;
  }

  .product-features_comparison-img {
    width: 55.556vw;
  }

  .product-features_comparison-img .item {
    row-gap: 0.347vw;
    width: 26.389vw;
  }

  .product-features_comparison-img .item p {
    font-size: 1.389vw;
    line-height: 2.083vw;
  }

  .product-features_comparison-result {
    width: 55.556vw;
  }

  .product-features_comparison-result .img_component {
    row-gap: 0.694vw;
  }

  .product-features_comparison-result .img_component p {
    font-size: 1.111vw;
    line-height: 1.667vw;
  }

  .product-features_comparison-result > img {
    width: 15.278vw;
  }

  .product-features_comparison-result > p {
    font-size: 2.639vw;
    line-height: 3.611vw;
    padding-top: 1.528vw;
  }

  .product-features_step {
    width: 83.333vw;
    border-radius: 1.389vw;
    padding: 4.167vw;
    row-gap: 3.472vw;
  }

  .product-features_step > p {
    font-size: 2.778vw;
    line-height: 3.472vw;
  }

  .product-features_step > p span {
    font-size: 3.194vw;
    line-height: 3.75vw;
  }

  .product-features_step-list {
    row-gap: 5.556vw;
  }

  .product-features_step-list > div {
    width: 72.153vw;
  }

  .product-features_step-list > div:not(:first-of-type)::before {
    top: -8.403vw;
    left: 8.472vw;
    width: 0.278vw;
    height: 10.278vw;
  }

  .product-features_step-list > div > img {
    width: 44.444vw;
  }

  .three-step_item {
    width: 23.333vw;
    row-gap: 1.111vw;
  }

  .three-step_item > div {
    column-gap: 0.694vw;
  }

  .three-step_item > div p {
    font-size: 2.5vw;
    line-height: 3.333vw;
  }

  .three-step_item > div img {
    width: 5.139vw;
  }

  .three-step_item > p,
  .three-step_item > p > span {
    font-size: 1.111vw;
    line-height: 1.667vw;
  }

  /* 製品比較 */
  .product-compare {
    width: 100vw;
    padding: 9.931vw 0 5.972vw;
    margin-bottom: 4.861vw;
  }

  .product-compare-wrapper > h2 {
    font-size: 1.944vw;
    padding-top: 1.389vw;
    border-top: 5px solid #fff;
    width: 30.556vw;
  }

  .comparison-table-wrapper {
    margin: 6.25vw auto 4.861vw;
    row-gap: 0.139vw;
  }

  .comparison-table-header {
    column-gap: 0.139vw;
  }

  .comparison-table-header > p {
    height: 4.792vw;
  }

  .comparison-table-header > p:first-of-type {
    width: 20vw;
    font-size: 1.111vw;
  }

  .comparison-table-header > p:nth-of-type(2) {
    width: 32.639vw;
    font-size: 1.528vw;
  }

  .comparison-table-body {
    row-gap: 0.139vw;
  }

  .comparison-table-row {
    column-gap: 0.139vw;
  }

  .comparison-table-row > div:first-of-type {
    font-size: 1.389vw;
    line-height: 1.806vw;
    width: 9.306vw;
    height: 8.333vw;
  }

  .comparison-table-row > div:nth-of-type(2) {
    width: 20vw;
    height: 8.333vw;
    row-gap: 0.851vw;
  }

  .comparison-table-row > div:nth-of-type(2) > img,
  .comparison-table-row > div:nth-of-type(3) > img {
    width: 2.5vw;
  }

  .comparison-table-row > div:nth-of-type(2) > p,
  .comparison-table-row > div:nth-of-type(3) > p {
    font-size: 1.111vw;
    line-height: 1.667vw;
  }

  .comparison-table-row > div:nth-of-type(3) {
    width: 32.639vw;
    height: 8.333vw;
    row-gap: 0.851vw;
  }

  .product-compare-wrapper > img {
    width: 5.556vw;
    margin: 4.861vw auto 5.556vw;
  }

  .product-compare-wrapper > p {
    font-size: 2.639vw;
  }

  /* 製品仕様 */
  .product-spec {
    width: 100vw;
    padding: 4.444vw 0 2.5vw;
  }

  .product-spec-wrapper {
    width: 83.333vw;
  }

  .product-spec-wrapper > h2 {
    font-size: 2.5vw;
    line-height: 3.75vw;
    margin-bottom: 6.25vw;
  }

  .prodcut-image-spec > div:first-of-type {
    column-gap: 3.125vw;
  }

  .prodcut-image-spec > div:first-of-type > img:first-of-type {
    width: 16.111vw;
  }

  .prodcut-image-spec > div:first-of-type > img:nth-of-type(2) {
    width: 26.389vw;
  }

  .product-spec-price > div:first-of-type > div > p {
    font-size: 1.111vw;
    line-height: 1.667vw;
    padding: 0.764vw 1.042vw;
  }

  .product-spec-price > div:first-of-type > div > p:first-of-type {
    width: 11.875vw;
  }

  .product-spec-price > div:first-of-type > div > p:last-of-type {
    width: 22.778vw;
  }

  .product-price {
    margin-top: 1.389vw;
  }

  .product-price > p:first-of-type {
    font-size: 1.111vw;
    line-height: 1.667vw;
  }

  .product-price > p:first-of-type span {
    font-size: 1.667vw;
    line-height: 2.5vw;
  }

  .product-price > p:nth-of-type(2) {
    font-size: 0.972vw;
    line-height: 1.458vw;
  }

  .product-price > p:nth-of-type(3) {
    margin-top: 1.389vw;
    font-size: 0.972vw;
    line-height: 1.458vw;
  }

  .product-option > p {
    font-size: 1.389vw;
    line-height: 1.667vw;
    margin: 3.611vw 0 1.111vw;
  }

  .product-option-list-wrapper {
    column-gap: 1.806vw;
    row-gap: 2.778vw;
  }

  .product-option-item > img {
    width: 19.444vw;
  }

  /* お問い合わせ */
  .contact {
    width: 100vw;
    padding: 4.444vw 0 0;
  }

  .contact::before {
    width: 100vw;
    height: 4.444vw;
  }

  .contact-wrapper {
    width: 83.333vw;
  }

  .contact-head_title {
    border-top: 0.347vw solid #000;
    padding-right: 7.639vw;
    margin-bottom: 3.125vw;
  }

  .contact-head_title h2 {
    margin-top: 2.778vw;
    font-size: 2.778vw;
    line-height: 3.472vw;
  }

  .contact-description {
    margin-bottom: 3.125vw;
  }

  .contact-description > span {
    font-size: 1.111vw;
    line-height: 2.083vw;
  }

  .contact-tel {
    width: 83.333vw;
    padding: 3.472vw 0 2.778vw;
    margin-bottom: 5.556vw;
  }

  .contact-tel_title {
    font-size: 1.667vw;
    padding-bottom: 0.764vw;
    margin: 0 auto 2.083vw;
  }

  .contact-tel_link {
    gap: 0.694vw;
    margin: 0 auto 1.389vw;
  }

  .contact-tel_link > img {
    width: 3.194vw;
  }

  .contact-tel_link > p {
    font-size: 3.194vw;
    line-height: 4.583vw;
  }

  .contact-tel_notice {
    font-size: 1.25vw;
  }

  .contact-form {
    width: 83.333vw;
    margin: 0 auto;
  }

  .contact-form_title {
    font-size: 1.667vw;
    padding-bottom: 0.764vw;
    /* 99/1440 */
    margin: 0 auto 6.875vw;
  }

  .contact-form_form {
    gap: 2.778vw;
    padding-bottom: 9.722vw;
  }

  .contact-form_form--item > p {
    font-size: 1.111vw;
  }

  .contact-form_form--item:last-of-type > p {
    padding-top: 2.083vw;
  }

  .contact-form_form--radio {
    width: 65.972vw;
    gap: 2.083vw;
  }

  .contact-form_form--radio label {
    font-size: 1.667vw;
  }

  .contact-form_form--radio label::before {
    width: 1.389vw;
    height: 1.389vw;
    margin-right: 0.694vw;
  }

  .contact-form_form--radio input:checked + label::after {
    width: 1.111vw;
    height: 1.111vw;
    left: calc((1.389vw - 1.111vw) / 2 + 1px);
  }

  .contact-form_form--item > input,
  .contact-form_form--item > textarea {
    width: 59.93vw;
  }

  .contact-form_form--item > input {
    /* 1440でわる */
    height: 1.389vw;
    padding: 2.083vw 2.778vw;
    font-size: 1.389vw;
  }

  .contact-form_form--item > textarea {
    /* 1440でわる */
    height: 30.556vw;
    padding: 2.083vw 2.778vw;
    font-size: 1.389vw;
  }

  .contact-form_form--submit {
    width: 27.778vw;
    height: 5.556vw;
    padding: 0;
    margin: 4.167vw auto 0;
    font-size: 1.667vw;
    line-height: 5.556vw;
    border-radius: 5px;
  }
}

/* 834px基準のvw */
@media screen and (min-width: 601px) and (max-width: 835px) {
  .tab-none {
    display: none !important;
  }

  body,
  main {
    width: 100%;
  }

  .side-bar {
    display: none !important;
  }

  /* ヘッダー */
  header {
    width: 100vw;
  }

  .header-wrapper {
    width: 95.204vw;
    padding: 2.398vw 0;
  }

  .header-wrapper > a {
    column-gap: 2.458vw;
  }

  .header-wrapper > a > img {
    width: 13.267vw;
  }

  .header-wrapper > a > p {
    font-size: 1.918vw;
    line-height: 2.878vw;
    letter-spacing: 0.2em;
  }

  .header-wrapper > nav > ul {
    column-gap: 2.398vw;
  }

  .header-wrapper > nav > ul > li > a {
    font-size: 1.679vw;
    line-height: 2.398vw;
  }

  /* ファーストビュー */
  .first-view {
    background: linear-gradient(
      90deg,
      #f7f6f1 0%,
      #f7f6f1 57.5%,
      #fff 57.5%,
      #fff 100%
    );
    padding: 21.942vw 0 14.029vw;
  }

  .first-view-wrapper {
    padding-bottom: 0;
  }

  .first-view-wrapper > h1 {
    font-size: 4.317vw;
    line-height: 5.995vw;
    padding: 0 0 24.221vw 4.796vw;
  }

  .first-view .first-view_bg {
    width: 100%;
    height: 71.942vw;
  }

  .first-view .first-view_bg::before {
    background-color: rgba(0, 0, 0, 0.1);
  }

  .first-view .first-view_bg img {
    width: 100%;
  }

  .first-view .first-view_point {
    width: 23.981vw;
    height: 23.981vw;
    top: 23.981vw;
    left: 4.796vw;
  }

  .first-view .first-view_flyer {
    width: 36.571vw;
    height: 83.094vw;
    top: 19.065vw;
    right: 0;
  }

  .first-view_medal {
    top: 80.456vw;
    left: 5.995vw;
    column-gap: 0.6vw;
  }

  .first-view_medal .register_design {
    width: 15.588vw;
  }

  .first-view_medal .register_patent {
    width: 11.191vw;
  }

  .first-view .first-view_desc {
    top: 64.748vw;
    left: 2.998vw;
    width: 52.758vw;
  }

  .first-view .first-view_desc > p:first-of-type {
    font-size: 1.918vw;
    line-height: 2.878vw;
    justify-content: left;
    padding-bottom: 1.799vw;
  }

  .first-view .first-view_desc > p:first-of-type::before {
    width: 3.597vw;
    margin-right: 0.959vw;
  }

  .first-view .first-view_desc > p:last-of-type {
    font-size: 3.597vw;
    line-height: 5.036vw;
    text-align: left;
    padding-left: 4.556vw;
  }

  .first-view .first-view_desc > p:last-of-type span {
    font-size: 2.398vw;
    line-height: 2.878vw;
  }

  /* 画面左下のお問い合わせボタン */
  .fixed-contact-navi {
    width: 57.554vw;
    height: 20.863vw;
    padding: 1.199vw 0;
  }

  .contact_navi-tel {
    width: 31.655vw;
    padding: 1.799vw 3.357vw 0 0;
  }

  .contact_navi-tel > div {
    width: 25.54vw;
  }

  .contact_navi-tel > div img {
    width: 3.597vw;
    margin: 0 auto 1.799vw;
  }

  .contact_navi-tel > div .title {
    font-size: 1.679vw;
    line-height: 2.878vw;
  }

  .contact_navi-tel > div .number {
    font-size: 4.317vw;
    line-height: 5.276vw;
  }

  .contact_navi-mail {
    padding-top: 2.398vw;
  }

  .contact_navi-mail .mail-icon {
    width: 3.837vw;
  }

  .contact_navi-mail p {
    font-size: 1.918vw;
    line-height: 3.597vw;
    padding: 4.796vw 0 1.559vw;
  }

  .contact_navi-mail .arrow-icon {
    width: 3.597vw;
    margin: 0 0.923vw 0 auto;
  }

  /* 製品特徴 */
  .product-features {
    padding-top: 7.674vw;
  }

  .product-features::after {
    width: 100vw;
    height: 5.875vw;
  }

  .product-features_head {
    width: 100%;
    row-gap: 7.194vw;
  }

  .product-features_head--tit {
    border-top: 0.48vw solid #000;
    margin-left: 4.796vw;
  }

  .product-features_head--tit h2 {
    margin-top: 3.597vw;
    font-size: 3.837vw;
    line-height: 5.276vw;
  }

  .product-features_head--cont {
    row-gap: 0;
  }

  .product-features_point {
    height: 67.146vw;
  }

  .product-features_point > img {
    width: 89.928vw;
  }

  .product-features_point > div {
    width: 67.146vw;
    height: 43.165vw;
    padding: 4.796vw 0 0 5.995vw;
    row-gap: 4.796vw;
  }

  .product-features_point > div .title {
    column-gap: 3.597vw;
  }

  .product-features_point > div .title img {
    width: 7.794vw;
  }

  .product-features_point > div .title p {
    font-size: 2.878vw;
    line-height: 4.317vw;
  }

  .product-features_point > div > p {
    font-size: 1.918vw;
    line-height: 3.597vw;
    width: 54.796vw;
  }

  .product-features_foot {
    margin-top: -8.393vw;
    padding-top: 15.947vw;
  }

  .product-features_foot--tit {
    padding-bottom: 8.153vw;
  }

  .product-features_foot--tit h2 {
    font-size: 3.837vw;
    line-height: 5.755vw;
  }

  .product-features_proof {
    row-gap: 1.199vw;
    width: 76.739vw;
    padding-bottom: 9.233vw;
  }

  .product-features_proof > p:first-of-type {
    font-size: 2.398vw;
    line-height: 3.597vw;
  }

  .product-features_proof > div {
    flex-direction: column;
    row-gap: 3.837vw;
  }

  .product-features_proof > div img {
    width: 76.739vw;
  }

  .product-features_proof > p:last-of-type {
    font-size: 1.918vw;
    line-height: 2.878vw;
  }

  .product-features_comparison {
    row-gap: 0;
    padding-bottom: 8.513vw;
  }

  .product-features_comparison > p {
    font-size: 3.597vw;
    line-height: 5.396vw;
    padding-bottom: 3.477vw;
  }

  .product-features_comparison > p span {
    font-size: 2.398vw;
    line-height: 3.597vw;
  }

  .product-features_comparison-img {
    width: 82.494vw;
    padding-bottom: 8.153vw;
  }

  .product-features_comparison-img .item {
    row-gap: 0.839vw;
    width: 39.089vw;
  }

  .product-features_comparison-img .item p {
    font-size: 1.918vw;
    line-height: 2.878vw;
  }

  .product-features_comparison-result {
    width: 81.535vw;
  }

  .product-features_comparison-result .img_component {
    row-gap: 0.839vw;
  }

  .product-features_comparison-result .img_component p {
    font-size: 1.918vw;
    line-height: 2.878vw;
  }

  .product-features_comparison-result > img {
    width: 26.379vw;
  }

  .product-features_comparison-result > p {
    font-size: 4.556vw;
    line-height: 6.235vw;
    padding-top: 3.957vw;
  }

  .product-features_step {
    width: 90.408vw;
    border-radius: 2.398vw;
    padding: 3.837vw 4.676vw 5.875vw;
    row-gap: 5.995vw;
  }

  .product-features_step > p {
    font-size: 3.837vw;
    line-height: 5.755vw;
  }

  .product-features_step > p span {
    font-size: 4.317vw;
    line-height: 5.995vw;
  }

  .product-features_step-list {
    row-gap: 4.796vw;
  }

  .product-features_step-list > div {
    width: 100%;
    margin-left: 0;
    flex-direction: column;
    row-gap: 2.878vw;
  }

  .product-features_step-list > div:not(:first-of-type)::before {
    background-image: url("../images/step_dotLine-tab.svg");
    top: -3.118vw;
    left: auto;
    right: 2.158vw;
    width: 0.48vw;
    height: 11.99vw;
  }

  .product-features_step-list > div > img {
    width: 100%;
  }

  .three-step_item {
    width: 100%;
    flex-direction: row;
    align-items: flex-start;
    column-gap: 3.597vw;
    row-gap: 0;
  }

  .three-step_item > div {
    column-gap: 0.719vw;
  }

  .three-step_item > div p {
    font-size: 3.118vw;
    line-height: 4.556vw;
  }

  .three-step_item > div img {
    width: 7.434vw;
  }

  .three-step_item > p,
  .three-step_item > p > span {
    font-size: 1.918vw;
    line-height: 2.878vw;
    padding-top: 0.959vw;
    width: 55.276vw;
  }

  /* 漫画 */
  .comic {
    background: linear-gradient(
      90deg,
      #f7f6f1 0%,
      #f7f6f1 57.5%,
      #fff 57.5%,
      #fff 100%
    );
    padding: 7.674vw 0 4.916vw;
  }

  .comic-wrapper {
    width: 90.408vw;
  }

  .comic-wrapper h2 {
    font-size: 6.475vw;
  }

  .comic-wrapper > img {
    margin-top: -2.998vw;
  }

  /* 動画 */
  .movie {
    background: linear-gradient(
      90deg,
      #f7f6f1 0%,
      #f7f6f1 57.5%,
      #fff 57.5%,
      #fff 100%
    );
    padding-top: 7.674vw;
    margin-bottom: 1.5vw;
  }

  .movie-wrapper h2 {
    font-size: 6.475vw;
    width: 90.408vw;
  }

  .movie-content {
    padding: 4.916vw 0 11.391vw;
    margin-top: -2.998vw;
    background-image: url("../images/movie-bgimg_tab.png");
  }

  .movie-content > img {
    width: 3.477vw;
  }

  .movie-content > p {
    font-size: 3.357vw;
    line-height: 5.036vw;
    margin: 3.118vw auto 3.837vw;
  }

  .video-wrapper {
    width: 76.739vw;
    height: 43.165vw;
  }

  #playPauseBtn > img {
    width: 16.787vw;
  }

  #screenSizeBtn {
    width: 3.5vw;
    height: 3.5vw;
    right: 0.8vw;
    bottom: 0.5vw;
  }

  #screenSizeBtn img {
    width: 3.5vw;
  }

  /* 製品比較 */
  .product-compare {
    width: 100vw;
    padding: 7.674vw 0 5.995vw;
    margin: 0;
  }

  .product-compare-wrapper > h2 {
    font-size: 3.357vw;
    padding-top: 1.799vw;
    width: fit-content;
  }

  .comparison-table {
    width: fit-content;
    margin: 0 auto;
  }

  .comparison-table-wrapper {
    margin: 7.194vw 0 4.796vw;
    row-gap: 0.24vw;
  }

  .comparison-table-header {
    column-gap: 0.24vw;
  }

  .comparison-table-header > p {
    height: 8.273vw;
  }

  .comparison-table-header > p:first-of-type {
    width: 28.777vw;
    font-size: 1.918vw;
  }

  .comparison-table-header > p:nth-of-type(2) {
    width: 45.564vw;
    font-size: 2.638vw;
  }

  .comparison-table-body {
    row-gap: 0.24vw;
  }

  .comparison-table-row {
    column-gap: 0.24vw;
  }

  .comparison-table-row > div:first-of-type {
    font-size: 2.158vw;
    line-height: 2.878vw;
    width: 15.827vw;
    height: 14.388vw;
  }

  .comparison-table-row > div:nth-of-type(2) {
    width: 28.777vw;
    height: 14.388vw;
    row-gap: 0.839vw;
  }

  .comparison-table-row > div:nth-of-type(2) > img,
  .comparison-table-row > div:nth-of-type(3) > img {
    width: 4.317vw;
  }

  .comparison-table-row > div:nth-of-type(2) > p,
  .comparison-table-row > div:nth-of-type(3) > p {
    font-size: 1.918vw;
    line-height: 2.878vw;
  }

  .comparison-table-row > div:nth-of-type(3) {
    width: 45.564vw;
    height: 14.388vw;
    row-gap: 0;
    justify-content: space-between;
    padding: 1.559vw 0;
    box-sizing: border-box;
  }

  .product-compare-wrapper > img {
    width: 8.393vw;
    margin: 4.796vw auto 4.197vw;
  }

  .product-compare-wrapper > p {
    font-size: 3.597vw;
    line-height: 5.396vw;
  }

  /* 製品仕様 */
  .product-spec {
    width: 99.88vw;
    padding: 7.674vw 0 2.581vw;
  }

  .product-spec-wrapper {
    width: 90.299vw;
  }

  .product-spec-wrapper > h2 {
    font-size: 3.353vw;
    line-height: 4.072vw;
    margin-bottom: 8.383vw;
  }

  .prodcut-image-spec {
    flex-direction: column;
    row-gap: 6.467vw;
  }

  .prodcut-image-spec > div:first-of-type {
    column-gap: 8.144vw;
    width: 100%;
  }

  .prodcut-image-spec > div:first-of-type > img:first-of-type {
    width: 27.784vw;
  }

  .prodcut-image-spec > div:first-of-type > img:nth-of-type(2) {
    width: 45.509vw;
  }

  .product-spec-price > div:first-of-type > div > p {
    font-size: 1.916vw;
    line-height: 2.874vw;
    padding: 1.317vw 1.796vw;
  }

  .product-spec-price > div:first-of-type > div > p:first-of-type {
    width: 20.479vw;
    flex-shrink: 0;
  }

  .product-spec-price > div:first-of-type > div > p:last-of-type {
    width: 100%;
  }

  .product-price {
    margin-top: 2.395vw;
  }

  .product-price > p:first-of-type {
    font-size: 1.916vw;
    line-height: 2.874vw;
  }

  .product-price > p:first-of-type span {
    font-size: 2.874vw;
    line-height: 4.311vw;
  }

  .product-price > p:nth-of-type(2) {
    font-size: 1.677vw;
    line-height: 2.515vw;
  }

  .product-price > p:nth-of-type(3) {
    margin-top: 2.395vw;
    font-size: 1.677vw;
    line-height: 2.515vw;
  }

  .product-option > p {
    font-size: 2.395vw;
    line-height: 2.874vw;
    margin: 7.186vw 0 1.916vw;
  }

  .product-option-list-wrapper {
    column-gap: 2.994vw;
    row-gap: 1.916vw;
  }

  .product-option-item > img {
    width: 28.024vw;
  }

  /* お問い合わせ */
  .contact {
    width: 100vw;
    padding-top: 7.674vw;
  }

  .contact::before {
    width: 100vw;
    height: 7.674vw;
  }

  .contact-wrapper {
    width: 90.408vw;
  }

  .contact-head_title {
    border-top: 0.48vw solid #000;
    padding-right: 11.511vw;
    margin-bottom: 4.796vw;
  }

  .contact-head_title h2 {
    margin-top: 3.597vw;
    font-size: 3.837vw;
    line-height: 5.276vw;
  }

  .contact-description {
    line-height: 5.276vw;
  }

  .contact-description > span {
    font-size: 1.918vw;
    line-height: 5.276vw;
  }

  .contact-tel {
    width: 100%;
    padding: 4.796vw 0 5.036vw;
    margin-bottom: 9.592vw;
  }

  .contact-tel_title {
    font-size: 2.398vw;
    padding-bottom: 0.6vw;
    margin: 0 auto 4.796vw;
  }

  .contact-tel_link {
    gap: 10px;
    margin: 0 auto 3.597vw;
  }

  .contact-tel_link > img {
    width: 4.197vw;
    height: auto;
  }

  .contact-tel_link > p {
    font-size: 4.317vw;
    line-height: 6.475vw;
  }

  .contact-tel_notice {
    font-size: 1.918vw;
  }

  .contact-form {
    width: 100%;
    margin: 0 auto;
  }

  .contact-form_title {
    font-size: 2.398vw;
    padding-bottom: 0.6vw;
    margin: 0 auto 9.592vw;
  }

  .contact-form_form {
    gap: 4.436vw;
    padding-bottom: 13.309vw;
  }

  .contact-form_form--item > p {
    font-size: 1.918vw;
  }

  .contact-form_form--item:last-of-type > p {
    padding-top: 3.118vw;
  }

  .contact-form_form--radio {
    width: 70.384vw;
    gap: 6.475vw;
  }

  .contact-form_form--radio label {
    font-size: 2.398vw;
  }

  .contact-form_form--radio label::before {
    width: 2.158vw;
    height: 2.158vw;
    margin-right: 1.079vw;
  }

  .contact-form_form--radio input:checked + label::after {
    width: 1.679vw;
    height: 1.679vw;
    left: calc((2.158vw - 1.679vw) / 2 + 1px);
  }

  .contact-form_form--item > input,
  .contact-form_form--item > textarea {
    width: 64.149vw;
  }

  .contact-form_form--item > input {
    height: 2.398vw;
    padding: 2.998vw 3.118vw;
    font-size: 2.398vw;
  }

  .contact-form_form--item > textarea {
    height: 41.966vw;
    padding: 2.998vw 3.118vw;
    font-size: 2.398vw;
  }

  .contact-form_form--submit {
    width: 47.962vw;
    height: 9.592vw;
    margin: 9.592vw auto 0;
    font-size: 2.878vw;
    line-height: 9.592vw;
  }
}

/* 375px基準のvw */
@media screen and (max-width: 600px) {
  .sp-none {
    display: none !important;
  }

  body,
  main {
    width: 100%;
  }

  .side-bar {
    display: none !important;
  }

  /* ヘッダー */
  header {
    width: 100%;
  }

  .header-wrapper {
    width: 100%;
    padding: 2.667vw 0;
    box-sizing: border-box;
    justify-content: center;
  }

  .header-wrapper > a {
    column-gap: 5.867vw;
  }

  .header-wrapper > a > img {
    width: 29.067vw;
  }

  .header-wrapper > a > p {
    font-size: 4.267vw;
    line-height: 6.4vw;
    letter-spacing: 0.2em;
  }

  /* ファーストビュー */
  .first-view {
    background: linear-gradient(
      90deg,
      #f7f6f1 0%,
      #f7f6f1 53.3%,
      #fff 53.3%,
      #fff 100%
    );
    padding: 19.467vw 0 17.6vw;
  }

  .first-view-wrapper {
    padding-bottom: 0;
  }

  .first-view-wrapper > h1 {
    font-size: 6.4vw;
    line-height: 9.6vw;
    padding: 0 0 38.933vw 0;
    text-align: center;
  }

  .first-view .first-view_bg {
    width: 100%;
    height: 120vw;
  }

  .first-view .first-view_bg::before {
    background-color: rgba(0, 0, 0, 0.1);
  }

  .first-view .first-view_point {
    width: 29.867vw;
    height: 29.867vw;
    top: 43.2vw;
    left: 2.667vw;
    z-index: 2;
  }

  .first-view .first-view_flyer {
    width: 51.2vw;
    height: 116.267vw;
    top: 24.533vw;
    transform: translateX(-50%);
    left: 50%;
    right: auto;
  }

  .first-view_medal {
    top: 148.267vw;
    left: 2.667vw;
    column-gap: 1.333vw;
  }

  .first-view_medal .register_design {
    width: 26.667vw;
    height: auto;
  }

  .first-view_medal .register_patent {
    width: 21.333vw;
    height: auto;
  }

  .first-view .first-view_desc {
    width: 92vw;
    top: 121.867vw;
    transform: translateX(-50%);
    left: 50%;
    right: auto;
  }

  .first-view .first-view_desc > p {
    text-align: left;
  }

  .first-view .first-view_desc > p:first-of-type {
    font-size: 3.733vw;
    line-height: 5.867vw;
    justify-content: left;
    padding-bottom: 4vw;
  }

  .first-view .first-view_desc > p:first-of-type::before {
    width: 8vw;
    margin-right: 4vw;
  }

  .first-view .first-view_desc > p:last-of-type {
    font-size: 5.867vw;
    line-height: 9.6vw;
  }

  .first-view .first-view_desc > p:last-of-type span {
    font-size: 4.267vw;
    line-height: 6.4vw;
  }

  /* 画面左下のお問い合わせボタン */
  .fixed-contact-navi {
    width: 100vw;
    height: 18.667vw;
    padding: 1.333vw 0;
  }

  .contact_navi-tel {
    width: 49.867vw;
    padding: 2.667vw 0 0 0;
    pointer-events: auto;
  }

  .contact_navi-tel > div {
    width: 26.667vw;
    margin: 0 auto;
  }

  .contact_navi-tel > div img {
    width: 4.267vw;
    margin: 0 auto 2.133vw;
  }

  .contact_navi-tel > div .title {
    font-size: 3.733vw;
    line-height: 5.867vw;
    margin-right: 0;
    text-align: center;
  }

  .contact_navi-tel > div .number {
    display: none;
  }

  .contact_navi-mail {
    padding-top: 3.467vw;
  }

  .contact_navi-mail .mail-icon {
    width: 4.8vw;
  }

  .contact_navi-mail p {
    font-size: 3.733vw;
    line-height: 5.867vw;
    padding: 2.4vw 0 0;
  }

  .contact_navi-mail .arrow-icon {
    display: none;
  }

  /* 漫画 */
  .comic {
    background: linear-gradient(
      90deg,
      #f7f6f1 0%,
      #f7f6f1 53.3%,
      #fff 53.3%,
      #fff 100%
    );
    padding: 11.733vw 0 7.467vw;
  }

  .comic-wrapper {
    width: 94.667vw;
  }

  .comic-wrapper h2 {
    font-size: 8.533vw;
  }

  .comic-wrapper > img {
    margin-top: -2.667vw;
  }

  /* 動画 */
  .movie {
    background: linear-gradient(
      90deg,
      #f7f6f1 0%,
      #f7f6f1 53.3%,
      #fff 53.3%,
      #fff 100%
    );
    padding-top: 11.733vw;
    margin-bottom: 0;
  }

  .movie-wrapper h2 {
    font-size: 8.533vw;
    width: 94.667vw;
  }

  .movie-content {
    padding: 10.933vw 0 12.267vw;
    margin-top: -2.667vw;
    background-image: url("../images/movie-bgimg_sp.png");
  }

  .movie-content > img {
    width: 5.867vw;
  }

  .movie-content > p {
    font-size: 4.267vw;
    line-height: 6.4vw;
    margin: 5.333vw auto 7.6vw;
  }

  .video-wrapper {
    width: 100%;
    height: 56.251vw;
  }

  #playPauseBtn > img {
    width: 21.875vw;
  }

  #screenSizeBtn {
    width: 10vw;
    height: 10vw;
    right: 0vw;
    bottom: 0vw;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #screenSizeBtn img {
    width: 6vw;
  }

  /* 製品特徴 */
  .product-features {
    padding-top: 11.733vw;
  }

  .product-features::after {
    width: 100vw;
    height: 5.867vw;
  }

  .product-features_head {
    width: 100%;
    row-gap: 16vw;
  }

  .product-features_head--tit {
    border-top: 1.067vw solid #000;
    width: 94.667vw;
    margin-left: auto;
  }

  .product-features_head--tit h2 {
    margin-top: 4.267vw;
    font-size: 5.333vw;
    line-height: 8vw;
    text-align: left;
  }

  .product-features_head--cont {
    row-gap: 0;
  }

  .product-features_point {
    height: 147.733vw;
  }

  .product-features_point > img {
    width: 100%;
  }

  .product-features_point > div {
    width: 94.667vw;
    height: 93.333vw;
    padding: 8vw 0 0 6.4vw;
    row-gap: 5.333vw;
  }

  .product-features_point > div .title {
    column-gap: 6.667vw;
  }

  .product-features_point > div .title img {
    width: 11.733vw;
  }

  .product-features_point > div .title p {
    font-size: 4.8vw;
    line-height: 6.4vw;
  }

  .product-features_point > div > p {
    font-size: 4.267vw;
    line-height: 8vw;
    width: 77.333vw;
  }

  .product-features_foot {
    margin-top: -21.333vw;
    padding-top: 30.667vw;
  }

  .product-features_foot--tit {
    padding-bottom: 10.4vw;
  }

  .product-features_foot--tit h2 {
    font-size: 5.333vw;
    line-height: 8vw;
  }

  .product-features_proof {
    row-gap: 2.667vw;
    width: 89.333vw;
    padding-bottom: 11.733vw;
  }

  .product-features_proof > p:first-of-type {
    font-size: 4.267vw;
    line-height: 6.4vw;
  }

  .product-features_proof > div {
    flex-direction: column;
    row-gap: 4.8vw;
  }

  .product-features_proof > div img {
    width: 100%;
  }

  .product-features_proof > p:last-of-type {
    font-size: 3.733vw;
    line-height: 5.867vw;
  }

  .product-features_comparison {
    row-gap: 0;
    padding-bottom: 25.333vw;
    width: 85.333vw;
    margin: 0 auto;
  }

  .product-features_comparison > p {
    font-size: 5.333vw;
    line-height: 8vw;
    padding-bottom: 2.667vw;
  }

  .product-features_comparison > p span {
    font-size: 5.333vw;
    line-height: 10.667vw;
  }

  .product-features_comparison-img {
    width: 100%;
    flex-direction: column;
    row-gap: 9.6vw;
    padding-bottom: 18.133vw;
  }

  .product-features_comparison-img .item {
    row-gap: 2.4vw;
    width: 100%;
  }

  .product-features_comparison-img .item p {
    font-size: 4.267vw;
    line-height: 6.4vw;
  }

  .product-features_comparison-result {
    width: 85.333vw;
  }

  .product-features_comparison-result .img_component {
    row-gap: 1.867vw;
  }

  .product-features_comparison-result .img_component p {
    font-size: 3.733vw;
    line-height: 5.333vw;
  }

  .product-features_comparison-result > img {
    width: 58.667vw;
  }

  .product-features_comparison-result > p {
    font-size: 5.333vw;
    line-height: 8vw;
    padding-top: 5.067vw;
  }

  .product-features_step {
    width: 89.333vw;
    border-radius: 2.667vw;
    padding: 5.333vw 4vw;
    row-gap: 8vw;
  }

  .product-features_step > p {
    font-size: 5.333vw;
    line-height: 8vw;
  }

  .product-features_step > p span {
    font-size: 5.333vw;
    line-height: 8vw;
  }

  .product-features_step-list {
    row-gap: 10.667vw;
  }

  .product-features_step-list > div {
    width: 100%;
    margin-left: 0;
    flex-direction: column;
    row-gap: 5.333vw;
  }

  .product-features_step-list > div:not(:first-of-type)::before {
    background-image: url("../images/step_dotLine-sp.svg");
    top: -5.6vw;
    left: auto;
    right: 1.867vw;
    width: 1.067vw;
    height: 35.2vw;
  }

  .product-features_step-list > div > img {
    width: 100%;
  }

  .three-step_item {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    column-gap: 0;
    row-gap: 1.6vw;
  }

  .three-step_item > div {
    column-gap: 1.067vw;
  }

  .three-step_item > div p {
    font-size: 5.333vw;
    line-height: 8vw;
  }

  .three-step_item > div img {
    width: 11.733vw;
  }

  .three-step_item > p,
  .three-step_item > p > span {
    font-size: 4.267vw;
    line-height: 8vw;
    padding-top: 0;
    width: 76vw;
  }

  /* 製品比較 */
  .product-compare {
    width: 100vw;
    padding: 18.667vw 0;
    margin: 0;
  }

  .product-compare-wrapper > h2 {
    font-size: 5.333vw;
    padding-top: 2.667vw;
    width: fit-content;
  }

  .comparison-table {
    width: 100vw;
    overflow-x: scroll;
  }

  .comparison-table-wrapper {
    margin: 9.6vw 0 13.333vw;
    padding: 0 5.333vw;
    row-gap: 0.533vw;
  }

  .comparison-table-header {
    column-gap: 0.533vw;
  }

  .comparison-table-header > p {
    height: 15.467vw;
  }

  .comparison-table-header > p:first-of-type {
    width: 54.133vw;
    font-size: 3.733vw;
  }

  .comparison-table-header > p:nth-of-type(2) {
    width: 72vw;
    font-size: 4.8vw;
  }

  .comparison-table-body {
    row-gap: 0.533vw;
  }

  .comparison-table-row {
    column-gap: 0.533vw;
  }

  .comparison-table-row > div:first-of-type {
    font-size: 3.733vw;
    line-height: 5.6vw;
    width: 29.333vw;
    height: 26.667vw;
  }

  .comparison-table-row > div:nth-of-type(2) {
    width: 54.4vw;
    height: 26.667vw;
    row-gap: 2.667vw;
  }

  .comparison-table-row > div:nth-of-type(2) > img,
  .comparison-table-row > div:nth-of-type(3) > img {
    width: 7.467vw;
  }

  .comparison-table-row > div:nth-of-type(2) > p,
  .comparison-table-row > div:nth-of-type(3) > p {
    font-size: 3.733vw;
    line-height: 5.6vw;
  }

  .comparison-table-row > div:nth-of-type(3) {
    width: 72vw;
    height: 26.667vw;
    row-gap: 2.667vw;
  }

  .product-compare-wrapper > img {
    width: 15.467vw;
    margin: 13.333vw auto;
  }

  .product-compare-wrapper > p {
    font-size: 5.333vw;
    line-height: 8vw;
  }

  /* 製品仕様 */
  .product-spec {
    width: 100vw;
    padding: 16vw 0 4.267vw;
  }

  .product-spec-wrapper {
    width: 100%;
  }

  .product-spec-wrapper > h2 {
    font-size: 5.333vw;
    line-height: 8vw;
    margin-bottom: 11.733vw;
  }

  .prodcut-image-spec {
    flex-direction: column;
    row-gap: 10.069vw;
  }

  .prodcut-image-spec > div:first-of-type {
    flex-direction: column;
    column-gap: 0;
    row-gap: 8vw;
    width: 100%;
  }

  .prodcut-image-spec > div:first-of-type > img:first-of-type {
    width: 53.333vw;
  }

  .prodcut-image-spec > div:first-of-type > img:nth-of-type(2) {
    width: 85.333vw;
  }

  .product-spec-price {
    width: 89.333vw;
    margin: 0 auto;
  }

  .product-spec-price > div:first-of-type > div {
    flex-direction: column;
    padding: 2.667vw 5.333vw;
    box-sizing: border-box;
  }

  .product-spec-price > div:first-of-type > div > p {
    font-size: 4.267vw;
    line-height: 6.4vw;
    padding: 0;
  }

  .product-spec-price > div:first-of-type > div > p:first-of-type {
    width: 100%;
    font-family: "h600", sans-serif !important;
  }

  .product-spec-price > div:first-of-type > div > p:last-of-type {
    width: 100%;
  }

  .product-price {
    margin-top: 5.333vw;
  }

  .product-price > p:first-of-type {
    font-size: 4.267vw;
    line-height: 6.4vw;
  }

  .product-price > p:first-of-type span {
    font-size: 5.333vw;
    line-height: 8vw;
  }

  .product-price > p:nth-of-type(2) {
    font-size: 3.733vw;
    line-height: 5.6vw;
  }

  .product-price > p:nth-of-type(3) {
    margin-top: 5.333vw;
    font-size: 4.267vw;
    line-height: 6.4vw;
  }

  .product-option > p {
    font-size: 4.267vw;
    line-height: 6.4vw;
    margin: 11.2vw 0 3.733vw 8.8vw;
  }

  .product-option-list-wrapper {
    column-gap: 0;
    row-gap: 0;
    flex-wrap: nowrap;
  }

  .product-option-item > img {
    width: 100%;
  }

  .swiper-button-next:after,
  .swiper-button-prev:after {
    content: "" !important;
    width: 4vw;
    height: 7.467vw;
    background-image: url("../images/swiper-arrow.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }

  .swiper-button-next:after {
    transform: rotate(180deg);
  }

  /* お問い合わせ */
  .contact {
    width: 100vw;
    padding-top: 11.733vw;
  }

  .contact::before {
    width: 100vw;
    height: 11.733vw;
  }

  .contact-wrapper {
    width: 100%;
  }

  .contact-head_title {
    border-top: 1.067vw solid #000;
    width: 94.667vw;
    margin-left: auto;
    /* padding-right: 10.667vw;
    margin-bottom: 5.333vw; */
    padding: 0;
  }

  .contact-head_title h2 {
    margin-top: 4.267vw;
    font-size: 5.333vw;
    line-height: 8vw;
  }

  .contact-description {
    width: 90.667vw;
    margin: 0 auto 10.667vw;
    display: flex;
    flex-direction: column;
    gap: 2.5vw;
  }

  .contact-description > span {
    font-size: 3.733vw;
    line-height: normal;
  }

  .contact-tel {
    width: 90.667vw;
    padding: 5.333vw 0 4vw;
    margin: 0 auto 21.333vw;
  }

  .contact-tel_title {
    font-size: 4.267vw;
    padding-bottom: 0.8vw;
    margin: 0 auto 3.912vw;
  }

  .contact-tel_link {
    gap: 1.688vw;
    margin: 0 auto 4vw;
    pointer-events: auto;
  }

  .contact-tel_link > img {
    width: 5.067vw;
    height: auto;
  }

  .contact-tel_link > p {
    font-size: 6.4vw;
    line-height: 9.6vw;
  }

  .contact-tel_notice {
    font-size: 3.733vw;
  }

  .contact-form {
    width: 90.667vw;
  }

  .contact-form_title {
    font-size: 4.267vw;
    padding-bottom: 0.8vw;
    margin: 0 auto 13.067vw;
  }

  .contact-form_form {
    gap: 6.4vw;
    padding-bottom: 14.133vw;
  }

  .contact-form_form--item {
    flex-direction: column;
    gap: 3.2vw;
  }

  .contact-form_form--item > p {
    font-size: 4.267vw;
  }

  .contact-form_form--item:last-of-type > p {
    padding-top: 0;
    align-items: center;
  }

  .contact-form_form--radio {
    width: 100%;
    gap: 7vw;
  }

  .contact-form_form--radio label {
    font-size: 4.267vw;
  }

  .contact-form_form--radio label::before {
    width: 3.2vw;
    height: 3.2vw;
    margin-right: 1.6vw;
  }

  .contact-form_form--radio input:checked + label::after {
    width: 2.4vw;
    height: 2.4vw;
    left: calc(0.4vw + 1px)
  }

  .contact-form_form--item > input,
  .contact-form_form--item > textarea {
    width: calc(100% - 10.667vw);
  }

  .contact-form_form--item > input {
    height: 4.267vw;
    padding: 4.8vw 5.333vw;
    font-size: 4.267vw;
  }

  .contact-form_form--item > textarea {
    height: 97.067vw;
    padding: 4.8vw 5.333vw;
    font-size: 4.267vw;
  }

  .contact-form_form--submit {
    width: 100%;
    height: 16vw;
    margin: 6.667vw auto 0;
    font-size: 4.8vw;
    line-height: 16vw;
  }

  /* フッター */
  footer {
    padding: 10.667vw 0;
  }

  .footer-wrapper {
    width: 84vw;
  }

  .footer-wrapper > a {
    margin: 0 auto 12.173vw;
  }

  .footer-wrapper > a > img {
    width: 48vw;
  }

  .footer-wrapper > p:first-of-type {
    font-size: 5.333vw;
    line-height: 8vw;
    letter-spacing: 0.2em;
  }

  .footer-wrapper > p:nth-of-type(2) {
    font-size: 2.667vw;
    line-height: 4vw;
    letter-spacing: 0.2em;
    margin: 2.133vw 0 4vw;
  }

  .footer-wrapper > div {
    padding-left: 2.667vw;
    margin-bottom: 9.867vw;
  }

  .footer-wrapper p,
  .footer-wrapper a,
  .footer-wrapper span {
    font-size: 3.2vw;
    line-height: 5.333vw;
  }

  .footer-wrapper a {
    pointer-events: auto;
  }

  .footer-wrapper > p:last-of-type {
    font-size: 3.733vw;
    line-height: 5.6vw;
  }
}
