@charset "UTF-8";
.wrapper {
  margin: 0 auto; }

/*--------------------
共通設定
----------------------*/
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  text-decoration: none; }
  a.disabled {
    pointer-events: none;
    text-decoration: none; }

ul, ol {
  list-style: none; }

.pc {
  display: block; }
  @media screen and (max-width: 769px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 769px) {
    .sp {
      display: block; } }

body {
  overflow-x: hidden;
  background: #f8f9f2; }

.fadeIn {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 1s, transform 1s; }
  .fadeIn.visible {
    opacity: 1;
    transform: translateY(0); }

/*--------------------------------------------*/
.lp_wrapper {
  max-width: 800px;
  background: #f8f9f2;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  font-size: 16px;
  text-align: center;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-weight: 400;
  font-style: normal; }
  .lp_wrapper section {
    margin: 0 auto 25%;
    padding-top: 60px; }
    @media screen and (max-width: 769px) {
      .lp_wrapper section {
        width: 100%;
        margin-bottom: 30%; } }
  .lp_wrapper p {
    font-size: 1.2em; }
    @media screen and (max-width: 500px) {
      .lp_wrapper p {
        font-size: 4.0vw; } }

.mv {
  position: relative;
  margin: 0 auto 15%;
  padding: 0 0 10%;
  max-width: 750px; }
  .mv .flex {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .mv .flex div {
      width: 60%; }
      .mv .flex div:first-child {
        width: 40%; }
        @media screen and (max-width: 769px) {
          .mv .flex div:first-child img {
            width: 30%; } }
  .mv .mv_model {
    display: block; }
    .mv .mv_model.mv_01 {
      max-width: 500px;
      animation: slideIn 2.0s; }
      @media screen and (max-width: 769px) {
        .mv .mv_model.mv_01 {
          width: 60%; } }
    .mv .mv_model.mv_02 {
      max-width: 400px;
      animation: slideIn_b 2.5s; }
      @media screen and (max-width: 769px) {
        .mv .mv_model.mv_02 {
          width: 50%; } }
  .mv .effect_b {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 8;
    animation: slideIn_b 2.0s; }
    @media screen and (max-width: 769px) {
      .mv .effect_b {
        right: -20px; } }
    @media screen and (max-width: 500px) {
      .mv .effect_b {
        max-width: 70px; } }

.mv_logo {
  text-align: left;
  max-width: 750px;
  width: 80%;
  margin: 10% auto; }
  .mv_logo img {
    animation: slideIn_c 3.0s; }
    @media screen and (max-width: 500px) {
      .mv_logo img {
        max-width: 100px; } }

@keyframes slideIn {
  0% {
    opacity: 0;
    transform: translate(150%, -50%); }
  100% {
    opacity: 1;
    transform: translate(0, 0%); } }
@keyframes slideIn_b {
  0% {
    opacity: 0;
    transform: translate(-100%, -100%); }
  50% {
    opacity: 0;
    transform: translate(-70%, -50%); }
  100% {
    opacity: 1;
    transform: translate(0, 0%); } }
@keyframes slideIn_c {
  0% {
    opacity: 0;
    transform: translateY(100px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
.main {
  position: relative; }
  .main h1 {
    font-weight: 400;
    font-size: 2.5em;
    line-height: 1.5;
    letter-spacing: .2em; }
    @media screen and (max-width: 500px) {
      .main h1 {
        font-size: 10vw; } }
    .main h1 span {
      font-size: 30%;
      display: block; }
      .main h1 span.ttl_en {
        letter-spacing: 0;
        font-size: 25%; }
  .main p {
    font-size: 1.2em;
    line-height: 2.5;
    margin: 2.0em auto;
    position: relative;
    z-index: 3; }
    @media screen and (max-width: 500px) {
      .main p {
        font-size: 3.7vw; } }
  .main .back_03 {
    position: absolute;
    left: 0;
    bottom: 0; }
    @media screen and (max-width: 500px) {
      .main .back_03 {
        max-width: 60px;
        left: -10px; } }

.itemBox .img_box {
  margin: 10% auto;
  display: flex;
  align-items: flex-end;
  max-width: 600px;
  justify-content: center; }
  @media screen and (max-width: 500px) {
    .itemBox .img_box {
      width: 80%; } }
  .itemBox .img_box div p {
    font-size: 0.9em; }
    @media screen and (max-width: 500px) {
      .itemBox .img_box div p {
        font-size: 2.8vw; } }
    .itemBox .img_box div p.new_icon {
      margin: 0 auto; }
      .itemBox .img_box div p.new_icon span {
        font-size: 100%; }
  .itemBox .img_box div img {
    margin-top: 1.5em;
    max-height: 250px;
    width: auto; }
    @media screen and (max-width: 500px) {
      .itemBox .img_box div img {
        max-height: 170px; } }
.itemBox .fixBox {
  width: 90%;
  margin: 10% auto;
  position: relative; }
  @media screen and (max-width: 500px) {
    .itemBox .fixBox.second img {
      width: 90%; } }
  .itemBox .fixBox img {
    margin-top: 3.0em; }
  .itemBox .fixBox div {
    position: absolute; }
    .itemBox .fixBox div .new_icon {
      margin-left: 1.0em; }
      .itemBox .fixBox div .new_icon span {
        font-size: 70%; }
        .itemBox .fixBox div .new_icon span::before, .itemBox .fixBox div .new_icon span::after {
          height: 11px; }
    .itemBox .fixBox div.right {
      top: 0;
      right: 0; }
    .itemBox .fixBox div.left {
      top: -1.5em;
      left: 0; }
      .itemBox .fixBox div.left p .small {
        text-align: left; }
    .itemBox .fixBox div p {
      text-align: left;
      font-size: 1.2em; }
      @media screen and (max-width: 500px) {
        .itemBox .fixBox div p {
          font-size: 4.0vw; } }
      .itemBox .fixBox div p .small {
        font-size: 60%;
        text-align: right;
        display: block; }
.itemBox .water_repair {
  margin: 10% auto; }
  @media screen and (max-width: 500px) {
    .itemBox .water_repair {
      margin: 15% auto; } }
  .itemBox .water_repair img {
    margin-bottom: 5%; }
    @media screen and (max-width: 500px) {
      .itemBox .water_repair img {
        width: 30%; } }
.itemBox .color {
  margin: 7% auto; }
  @media screen and (max-width: 500px) {
    .itemBox .color {
      width: 80%;
      margin: 10% auto; } }
.itemBox .lineup {
  margin: 10% auto 20%; }
  .itemBox .lineup h4 {
    font-size: 1.2em;
    font-weight: 400; }
    .itemBox .lineup h4 span {
      font-size: 100%;
      padding: 1.5em;
      border-bottom: 1px solid #4D4D4D; }
      @media screen and (max-width: 769px) {
        .itemBox .lineup h4 span {
          padding-bottom: 1.0em; } }
      @media screen and (max-width: 500px) {
        .itemBox .lineup h4 span {
          font-size: 80%;
          padding: 1.0em 1.0em 0.7em; } }
  .itemBox .lineup ul {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    width: 80%;
    max-width: 600px;
    margin: 5% auto; }
    @media screen and (max-width: 500px) {
      .itemBox .lineup ul {
        width: 85%; } }
    .itemBox .lineup ul li {
      width: calc(100%/2 - 4%);
      margin: 2%; }
      .itemBox .lineup ul li a {
        display: block;
        transition: .4s; }
        .itemBox .lineup ul li a:hover {
          opacity: .7; }

.new_icon {
  font-size: 1.0em;
  width: fit-content; }
  .new_icon span {
    position: relative;
    padding: .5em;
    color: #BA6523;
    font-size: 85%; }
    .new_icon span::before, .new_icon span::after {
      content: "";
      position: absolute;
      border-left: 1px solid #BA6523;
      width: 1px;
      height: 15px;
      bottom: 5px; }
      @media screen and (max-width: 500px) {
        .new_icon span::before, .new_icon span::after {
          height: 10px; } }
    .new_icon span::before {
      left: -5px;
      transform: rotate(-30deg); }
    .new_icon span::after {
      right: -5px;
      transform: rotate(30deg); }

section .new_icon {
  padding-left: 3.0em;
  font-size: 0.8em; }
  @media screen and (max-width: 500px) {
    section .new_icon {
      padding-left: 1.8em; } }
  section .new_icon span::before, section .new_icon span::after {
    height: 10px; }
section h2 {
  font-size: 1.7em;
  font-weight: 600;
  text-align: left;
  width: fit-content;
  border-bottom: 1px solid #4d4d4d;
  padding: 0 1.0em .5em;
  margin-bottom: 5%; }
  @media screen and (max-width: 769px) {
    section h2 {
      font-size: 1.5em; } }
  @media screen and (max-width: 500px) {
    section h2 {
      font-size: 4.0vw; } }
  section h2 span {
    font-size: 90%;
    padding-left: 1.0em; }
section .detailBox {
  max-width: 600px;
  margin: 0 auto; }
  @media screen and (max-width: 769px) {
    section .detailBox {
      width: 80%;
      margin-top: 10%; } }
  @media screen and (max-width: 500px) {
    section .detailBox {
      width: 90%; } }
  section .detailBox img {
    margin-bottom: 10%; }
    @media screen and (max-width: 769px) {
      section .detailBox img.size_a {
        width: 80%; } }
section p {
  font-size: 1.5em; }
  @media screen and (max-width: 769px) {
    section p {
      font-size: 1.2em; } }
  @media screen and (max-width: 500px) {
    section p {
      font-size: 1.0em; } }
section .btn {
  max-width: 450px;
  margin: 2% auto; }
  @media screen and (max-width: 769px) {
    section .btn {
      margin: 5% auto; } }
  @media screen and (max-width: 500px) {
    section .btn {
      width: 80%; } }
  section .btn a {
    transition: .4; }
    section .btn a:hover {
      opacity: .7; }
  section .btn.space {
    margin-top: 5%; }

.footerlogo {
  margin: 20% auto; }
  @media screen and (max-width: 500px) {
    .footerlogo img {
      max-width: 80px; } }

/* カートボタン */
.fix_btn {
  display: block;
  position: fixed;
  left: auto;
  top: auto;
  bottom: 20%;
  right: 0;
  z-index: 100;
  transition: 0.5s;
  opacity: 0 !important;
  transform: translateX(100%) !important; }
  @media screen and (max-width: 769px) {
    .fix_btn {
      top: auto;
      bottom: 2%; } }
  .fix_btn.move_on {
    opacity: 1 !important;
    transform: translateX(0) !important; }
  .fix_btn a.move {
    transition: all 50ms 0s ease; }
    .fix_btn a.move img {
      display: block;
      max-width: 80px;
      background: #ffffff;
      border-top-left-radius: 1em;
      border-bottom-left-radius: 1em;
      box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3); }
      @media screen and (max-width: 769px) {
        .fix_btn a.move img {
          display: block;
          max-width: 70px; } }
      @media screen and (max-width: 500px) {
        .fix_btn a.move img {
          max-width: 60px;
          border-top-left-radius: .7em;
          border-bottom-left-radius: .7em; } }
