@charset "UTF-8";
:root{
  --ff-base: font-family: "Noto Serif JP", serif;
  --ff-en: "Lato", sans-serif;
}

/* BASE・RESET */
#c42009 {
  color: #231815;
  font-family: var(--ff-base);
  letter-spacing: .1em;
}
#c42009 h1,
#c42009 h2,
#c42009 h3,
#c42009 h4,
#c42009 h5,
#c42009 h6 {
  padding: unset;
  margin: unset;
}
#c42009 h2 span {
  display: unset;
  font-size: unset;
  list-style: unset;
  padding: unset;
  margin: unset;
}
#c42009 img {
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}
[data-browse-mode="P"] #c42009 section {
  width: 900px;
}
[data-browse-mode="P"] #c42009 a:hover {
  opacity: .7;
}

/* PC・SP表示切替 */
[data-browse-mode="P"] .sp-only{
  display: none !important;
}
[data-browse-mode="S"] .pc-only{
  display: none !important;
}

/* 共通モジュール */
#c42009 .sec {
  border-top: 2px solid #444444;
  padding-block: 45px 100px;
}
#c42009 .sec-inner {
  margin-inline: auto;
  max-width: 920px;
  width: 100%;
}
#c42009 .sec-inner > *:last-child {
  margin-bottom: 0;
}
#c42009 .lead-txt {
  display: flex;
  flex-direction: column;
  row-gap: 16px;
  margin-bottom: 55px;
}
#c42009 .lead-txt p {
  font-size: 16px;
  line-height: calc(34 / 16);
  text-align: center;
}
#c42009 .hgroup {
  color: #444444;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  text-align: center;
  margin-bottom: 55px;
}
#c42009 .hgroup-main {
  font-family: var(--ff-en);
  font-style: italic;
  font-size: 40px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
}
#c42009 .hgroup-sub {
  font-size: 18px;
  font-weight: 500;
  line-height: calc(34 / 18);
}
#c42009 .hdg-lv2 {
  color: #444444;
  font-size: 28px;
  font-weight: bold;
  line-height: calc(34 / 28);
  text-align: center;
  margin-bottom: 38px;
}
#c42009 .hdg-lv3 {
  background-color: #F8F8F8;
  color: #444444;
  font-size: 20px;
  font-weight: bold;
  line-height: calc(34 / 20);
  text-align: center;
  padding: 12px 12px 10px;
  margin-bottom: 33px;
}

/* .firstview */
#c42009 .firstview {
  padding-bottom: 60px;
}
#c42009 .firstview-mv {
  margin-bottom: 55px;
}
#c42009 .firstview .hacobune-app-container {
  padding: unset;
}
#c42009 .firstview .hacobune-unit-video-outline {
  display: none;
}

/* .sec-compression */
#c42009 .compression-intro {
  display: grid;
  grid-template-columns: 500px minmax(0, 1fr);
  gap: 60px;
  margin-bottom: 60px;
}
.compression-intro-main {
  display: flex;
  flex-direction: column;
  justify-content: end;
  row-gap: 112px;
}
#c42009 .compression-intro-txt {
  font-size: 16px;
  line-height: calc(34 / 16);
}
#c42009 .compression-intro-thumbnails {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 16px;
}
#c42009 .compression-step-swiper .swiper-slide {
  width: 400px;
}
#c42009 .compression-step-swiper .swiper-button-prev,
#c42009 .compression-step-swiper .swiper-button-next {
  background-image: url('/img/usr/category/c42009/swiper-next.png');
  background-size: 100%;
  height: 40px;
  width: 40px;
}
#c42009 .compression-step-swiper .swiper-button-prev {
  left: 0;
  rotate: 180deg;
}
#c42009 .compression-step-swiper .swiper-button-next {
  right: 0;
}
#c42009 .compression-step-swiper .swiper-button-prev::after,
#c42009 .compression-step-swiper .swiper-button-next::after {
  content: none;
}
#c42009 .compression-step-swiper .swiper-button-disabled {
  display: none;
}
#c42009 .compression-step {
  color: #3C3736;
}
#c42009 .compression-step-img {
  margin-bottom: 24px;
}
#c42009 .compression-step-hdg {
  font-family: var(--ff-en);
  font-style: italic;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1;
  margin-bottom: 9px;
}
#c42009 .compression-step-txt {
  font-size: 14px;
  line-height: calc(22 / 14);
  margin-bottom: 7px;
}
#c42009 .compression-step-note {
  font-size: 11px;
  line-height: calc(16 / 11);
}

/* .sec-phase-free */
#c42009 .phase-free-features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 55px 40px;
}
#c42009 .phase-free-feature {
}
#c42009 .phase-free-feature-img {
  margin-bottom: 20px;
}
#c42009 .phase-free-feature-hdg {
  font-size: 18px;
  font-weight: bold;
  line-height: calc(34 / 18);
  margin-bottom: 7px;
}
#c42009 .phase-free-feature-txt {
  font-size: 16px;
  letter-spacing: .06em;
  line-height: calc(34 / 16);
}

/* .sec-basic-feature */
#c42009 .basic-feature-swiper .swiper-slide {
  width: calc((100% - 30px) / 2);
}
#c42009 .basic-feature-swiper .swiper-button-prev,
#c42009 .basic-feature-swiper .swiper-button-next {
  background-image: url('/img/usr/category/c42009/swiper-next.png');
  background-size: 100%;
  height: 40px;
  width: 40px;
}
#c42009 .basic-feature-swiper .swiper-button-prev {
  left: 0;
  rotate: 180deg;
}
#c42009 .basic-feature-swiper .swiper-button-next {
  right: 0;
}
#c42009 .basic-feature-swiper .swiper-button-prev::after,
#c42009 .basic-feature-swiper .swiper-button-next::after {
  content: none;
}
#c42009 .basic-feature-swiper .swiper-button-disabled {
  display: none;
}
#c42009 .basic-feature {
}
#c42009 .basic-feature-img {
  margin-bottom: 20px;
}
#c42009 .basic-feature-hdg {
  font-size: 18px;
  font-weight: bold;
  line-height: calc(34 / 18);
  margin-bottom: 7px;
}
#c42009 .basic-feature-txt {
  font-size: 16px;
  letter-spacing: .06em;
  line-height: calc(34 / 16);
}

/* .sec-lineup */
#c42009 .lineup-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px 20px;
  margin-bottom: 60px;
}
#c42009 .lineup-item {
  display: flex;
  align-items: center;
  flex-direction: column;
}
#c42009 .lineup-item-img {
  margin-bottom: 24px;
}
#c42009 .lineup-item-detail {
}
#c42009 .lineup-item-code {
  font-family: var(--ff-en);
  font-size: 18px;
  font-weight: 700;
  line-height: calc(22 / 18);
  text-align: center;
  margin-bottom: 2px;
}
#c42009 .lineup-item-price {
  font-family: var(--ff-en);
  font-size: 14px;
  font-weight: 700;
  line-height: calc(22 / 14);
  text-align: center;
  margin-bottom: 6px;
}
#c42009 .lineup-item-summary {
  font-size: 14px;
  line-height: calc(24 / 14);
  text-align: center;
  margin-bottom: 6px;
}
#c42009 .lineup-item-dl {
  display: flex;
  flex-direction: column;
  row-gap: 0px;
  line-height: calc(24 / 13);
}
#c42009 .lineup-item-dl-group {
  display: flex;
  font-size: 13px;
}
#c42009 .lineup-item-dl dt {
  flex-shrink: 0;
}
#c42009 .lineup-item-dl dd {
  flex-grow: 1;
}

@media (max-width:834px){
  /* 共通モジュール */
  #c42009 .sec {
    border-top: none;
    padding-block: 0 60px;
    padding-inline: calc(20 / 375 * 100vw);
  }
  #c42009 .sec-inner {
    border-top: 2px solid #444444;
    padding-top: 33px;
  }
  #c42009 .sec-inner > *:last-child {
    margin-bottom: 0;
  }
  #c42009 .lead-txt {
    row-gap: 12px;
    margin-bottom: 37px;
  }
  #c42009 .lead-txt p {
    font-size: 13px;
    line-height: calc(24 / 13);
    text-align: left;
  }
  #c42009 .hgroup {
    row-gap: 7px;
    margin-bottom: 23px;
  }
  #c42009 .hgroup-main {
    font-size: 30px;
    letter-spacing: .04em;
  }
  #c42009 .hgroup-sub {
    font-size: 15px;
    line-height: calc(34 / 15);
  }
  #c42009 .hdg-lv2 {
    font-size: 20px;
    line-height: calc(34 / 20);
    margin-bottom: 38px;
  }
  #c42009 .hdg-lv3 {
    font-size: 18px;
    line-height: calc(34 / 18);
    padding: 8px;
    margin-bottom: 20px;
  }

  /* .firstview */
  #c42009 .firstview {
    padding-bottom: 40px;
  }
  #c42009 .firstview-mv {
    margin-bottom: 38px;
  }
  #c42009 .firstview-btm {
    padding-inline: calc(18 / 375 * 100vw);
  }
  #c42009 .firstview .hacobune-app-container {
    width: 100%;
  }
  #c42009 .firstview .hacobune-unit-video {
    margin: unset;
  }

  /* .sec-compression */
  #c42009 .compression-intro {
    display: block;
    margin-bottom: 40px;
  }
  .compression-intro-header {
    margin-bottom: 28px;
  }
  .compression-intro-main {
    display: block;
  }
  #c42009 .compression-intro-txt {
    font-size: 13px;
    line-height: calc(24 / 13);
    margin-bottom: 26px;
  }
  #c42009 .compression-intro-thumbnails {
    column-gap: 15px;
  }
  #c42009 .compression-step-swiper {
    padding-inline: calc(20 / 375 * 100vw);
    margin-inline: calc(-1 * (20 / 375 * 100vw));
  }
  #c42009 .compression-step-swiper .swiper-slide {
    width: 145px;
  }
  #c42009 .compression-step-img {
    margin-bottom: 12px;
  }
  #c42009 .compression-step-hdg {
    font-size: 16px;
    line-height: 1;
    margin-bottom: 7px;
  }
  #c42009 .compression-step-txt {
    margin-bottom: 4px;
  }

  /* .sec-phase-free */
  #c42009 .phase-free-features {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: 27px;
  }
  #c42009 .phase-free-feature-img {
    margin-bottom: 12px;
  }
  #c42009 .phase-free-feature-hdg {
    margin-bottom: 3px;
  }
  #c42009 .phase-free-feature-txt {
    line-height: calc(30 / 16);
  }

  /* .sec-basic-feature */
  #c42009 .basic-feature-swiper {
    padding-inline: calc(20 / 375 * 100vw);
    margin-inline: calc(-1 * (20 / 375 * 100vw));
  }
  #c42009 .basic-feature-swiper .swiper-slide {
    width: 250px;
  }
  #c42009 .basic-feature-img {
    margin-bottom: 11px;
  }
  #c42009 .basic-feature-hdg {
    font-size: 16px;
    line-height: calc(34 / 16);
    margin-bottom: 4px;
  }
  #c42009 .basic-feature-txt {
    font-size: 14px;
    line-height: calc(22 / 14);
  }

  /* .sec-lineup */
  #c42009 .lineup-items {
    gap: 25px 15px;
    margin-bottom: 60px;
  }
  #c42009 .lineup-item-img {
    margin-bottom: 15px;
  }
  #c42009 .lineup-item-code {
    margin-bottom: 3px;
  }
  #c42009 .lineup-item-price {
    font-size: 14px;
    line-height: calc(22 / 14);
    margin-bottom: 5px;
  }
  #c42009 .lineup-item-summary {
    letter-spacing: 0;
    margin-bottom: 6px;
  }
  #c42009 .lineup-item-dl {
    letter-spacing: 0;
    line-height: calc(24 / 12);
  }
  #c42009 .lineup-item-dl-group {
    font-size: 12px;
  }
}