@charset "UTF-8";
/* ========================================
  @media screen and (min-width: 768px), print
======================================== */
@media screen and (min-width: 768px),print {
/* mv
-------------------------------------*/
#mv {
    padding-block: 73px 115px;
}
#mv .mv-img {
    position: relative;
    margin-bottom: 57px;
    width: min(95%, 1400px);
    margin-inline: auto;
}
#mv .mv-img .img img {
    width: 100%;
    height: auto;
}
#mv .ttl {
    position: absolute;
    top: 70px;
    left: 50%;
    transform: translateX(-50%);
    width: min(95%, 866px);
}
#mv .ttl img {
  max-width: 100%;
  height: auto;
}
#mv .en {
    position: absolute;
    bottom: 0;
    left: 154px;
}
#mv .txt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
}

/* sec
-------------------------------------*/
.sec {
    background: #F9F7EE;
}
.sec .inner {
    width: min(95%, 1280px);
    margin-inline: auto;
    padding-block: 120px 0;
}
.sec .ttl {
    text-align: center;
    margin-bottom: 49px;
}
.sec .ttl img {
    max-width: 100%;
    height: auto;
}
.sec .txt {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.8125;
}
.sec .lead {
    font-weight: bold;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 1.4545;
    text-align: center;
}
.sec .bottom-txt {
    text-align: center;
    margin-bottom: 28px;
}
.sec .main-photo {
    margin-bottom: 60px;
}
.sec .main-photo img {
    width: 100%;
    height: auto;
}
.sec .sub-photo img {
    width: 100%;
    height: auto;
}
.sec .inBox {
    width: min(95%, 1100px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 48.09% 48.27%;
    gap: 0 40px;
    padding-bottom: 60px;
    align-items: center;
}
.sec .inBox .sub-ttl {
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 1.7777;
    margin-bottom: 40px;
}
.sec .inBox02 {
    display: grid;
    grid-template-columns: 48.27% 48.09%;
}
.sec .inBox02 .txt-box {
    order: 2;
}
.sec .inBox02 .sub-photo {
    order: 1;
}

/* sec01
-------------------------------------*/
#sec01 .inBox02 .lead {
    line-height: 1.4545;
    text-align: left;
    margin-top: 40px;
}

/* sec02
-------------------------------------*/
#sec02 .inner {
    padding-block: 115px 0;
}
#sec02 .inBox02 {
    padding-bottom: 52px;
}

/* sec03
-------------------------------------*/
#sec03 .inner {
    padding-block: 195px 160px;
}

/* pickup
-------------------------------------*/
#pickup .inner {
    width: min(95%, 1280px);
    margin-inline: auto;
    padding-block: 162px 150px;
}
#pickup .ttl {
    text-align: center;
    margin-bottom: 22px;
}
#pickup .sub-ttl {
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 60px;
}

#pickup .system-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 60px 40px;
}
#pickup .system-list li {
    /* width: 360px; */
    position: relative;
    /* margin: 0 30px; */
  }
  #pickup .system-list li a {
    text-decoration: none;
    transition: opacity 0.3s;
  }
  #pickup .system-list li a:hover {
    opacity: 0.8;
  }
  #pickup .system-list li .pic-frame {
    background: #e9e9e9;
    padding: 44px 36px;
    margin-bottom: 16px;
  }
  #pickup .system-list li .system-pic {
      margin: 0;
  }
  #pickup .system-list li .system-pic img {
    height: 298px;
  }
  #pickup .system-list li .system-ttl-01 {
    font-size: 15px;
    letter-spacing: 0.05em;
    line-height: 1.9333;
  }
  #pickup .system-list li .system-price {
    font-size: 18px;
    line-height: 1.6111;
    display: flex;
    gap: 7px;
    align-items: center;
  }
  #pickup .system-list li .system-price span {
    font-size: 11px;
    letter-spacing: 0.05em;
    top: 3px;
    position: relative;
  }
  #pickup .system-list li .system-situation {
    position: absolute;
    top: 5px;
    right: -13px;
    font-size: 10px;
    letter-spacing: 0.05em;
    line-height: 1;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: sideways;
    text-orientation: sideways;
  }

/* bottom-sec
-------------------------------------*/
#bottom-sec {
  background: url(../images/california/bottom-sec-bg.jpg) no-repeat center center / cover;
  padding-block: 212px 0;
  overflow: hidden;
}
#bottom-sec .ttl {
  text-align: center;
  margin-bottom: 64px;
}
#bottom-sec .ttl img {
  max-width: 100%;
  height: auto;
}
#bottom-sec .txt {
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.93333;
  text-align: center;
  color: #fff;
  margin-bottom: 101px;
}

#bottom-sec .bg-slide {
  overflow: hidden;
  position: relative;
  top: 36px;
}
#bottom-sec .bg-slide .loop .loop__box {
  display: flex;
  width: 100vw;
}
#bottom-sec .bg-slide .loop .loop__box img {
  min-width: 161.1vw;
  height: auto;
}
#bottom-sec .bg-slide .loop .loop__box img:first-child {
  -webkit-animation: loop 50s -25s linear infinite;
  animation: loop 50s -25s linear infinite;
}
#bottom-sec .bg-slide .loop .loop__box img:last-child {
  -webkit-animation: loop2 50s linear infinite;
  animation: loop2 50s linear infinite;
}

/* bnr-box
-------------------------------------*/
#bnr-box {
  padding-block: 120px 146px;
}
#bnr-box .bnr-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 37px;
  width: min(95%, 1200px);
  margin-inline: auto;
}
#bnr-box .bnr-list li a {
  display: block;
  transition: opacity 0.3s;
}
#bnr-box .bnr-list li a:hover {
  opacity: 0.75;
}
#bnr-box .bnr-list li img {
  width: 100%;
  height: auto;
}

}

/* ========================================
  @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
/* mv
-------------------------------------*/
#mv {
    padding-bottom: 13.49vw;
}
#mv .mv-img {
    position: relative;
    margin-bottom: 9.56vw;
}
#mv .mv-img .img img {
    width: 100%;
    height: auto;
}
#mv .ttl {
    top: 14.5vw;
    width: 100%;
    margin-inline: auto;
    position: absolute;
    text-align: center;
}
#mv .en {
    position: absolute;
    bottom: 0;
    left: 5.5vw;
}
#mv .txt {
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 1.785714;

    width: 86.96vw;
    margin-inline: auto;
}


/* sec
-------------------------------------*/
.sec {
    background: #F9F7EE;
}
.sec .inner {
    padding-block: 11.66vw 0;
}
.sec .ttl {
    text-align: center;
    margin-bottom: 7.04vw;
}
.sec .txt {
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 1.785714;
}
.sec .lead {
    font-weight: bold;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 1.75;
    padding-top: 6.1vw;
    width: 89.37vw;
    margin-inline: auto;
}
.sec .bottom-txt {
  width: 89.37vw;
  margin-inline: auto;
  padding-top: 7vw;
}
.sec .main-photo {
    margin-bottom: 6.65vw;
}
.sec .main-photo img {
    width: 100%;
    height: auto;
}
.sec .sub-photo img {
    width: 100%;
    height: auto;
}
.sec .inBox {
    width: min(95%, 89.37vw);
    margin-inline: auto;
    display: grid;
    gap: 6.7vw 0;
    padding-bottom: 7vw;
}
.sec .inBox .sub-ttl {
    font-weight: bold;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    line-height: 1.7777;
    margin-bottom: 5.65vw;
}
.sec .inBox02 {padding-bottom: 0;}
.sec .inBox02 .txt-box {
    order: 1;
}
.sec .inBox02 .sub-photo {
    order: 2;
}

/* sec02
-------------------------------------*/
#sec02 .inner {
    padding-block: 20.56vw 0;
}

/* sec03
-------------------------------------*/
#sec03 .inner {
    padding-block: 20.56vw 13.49vw;
}


/* pickup
-------------------------------------*/
#pickup .inner {
    width: min(95%, 86.96vw);
    margin-inline: auto;
    padding-block: 16.91vw 18.841vw;
}
#pickup .ttl {
    text-align: center;
    margin-bottom: 6.04vw;
}
#pickup .ttl img {
    width: 81.37vw;
}
#pickup .sub-ttl {
    font-weight: bold;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 9.66vw;
}

#pickup .system-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.88vw 4.9vw;
}
#pickup .system-list li {
  /* width: 41.06vw; */
  margin: 0;
  position: relative;
}
#pickup .system-list li:nth-child(n+7) {
  display: none;
}
#pickup .system-list li a {
  display: block;
}
#pickup .system-list li .pic-frame {
  background: #e9e9e9;
  padding: 4.38vw 2.42vw 5.29vw;
  margin-bottom: 1.82vw;
}
#pickup .system-list li .system-pic {
  margin: 0;
}
#pickup .system-list li .system-pic img {
  width: 100%;
  height: 48.31vw;
  object-fit: cover;
}
#pickup .system-list li .system-ttl-01 {
  font-size: 2.9vw;
  letter-spacing: 0.05em;
  line-height: 1.416666;
  margin-bottom: 1.5vw;
}
#pickup .system-list li .system-price {
  font-size: 4.348vw;
  display: flex;
  gap: 1.5vw;
  align-items: baseline;
}
#pickup .system-list li .system-price span {
  font-size: 2.66vw;
}
#pickup .system-list li .system-situation {
  position: absolute;
  top: 0.5vw;
  right: -2.5vw;
  font-size: 1.93vw;
  letter-spacing: 0.05em;
  line-height: 1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: sideways;
  text-orientation: sideways;
}

/* bottom-sec
-------------------------------------*/
#bottom-sec {
  background: url(../images/california/bottom-sec-bg_sp.jpg) no-repeat center center / cover;
  padding-block: 18.14vw 0;
}
#bottom-sec .ttl {
  text-align: center;
  margin-bottom: 9.95vw;
}
#bottom-sec .txt {
  font-weight: 500;
  font-size:3.623vw;
  letter-spacing: 0.05em;
  line-height: 1.86666;
  text-align: center;
  color: #fff;
  margin-bottom: 15vw;
  width: 89.37vw;
  margin-inline: auto;
}
#bottom-sec .bg-slide {
  overflow: hidden;
  position: relative;
  top: 4vw;
}
#bottom-sec .bg-slide .loop .loop__box {
  display: flex;
  width: 100vw;
}
#bottom-sec .bg-slide .loop .loop__box img {
  min-width: 347.3vw;
}
#bottom-sec .bg-slide .loop .loop__box img:first-child {
  -webkit-animation: loop 50s -25s linear infinite;
  animation: loop 50s -25s linear infinite;
}
#bottom-sec .bg-slide .loop .loop__box img:last-child {
  -webkit-animation: loop2 50s linear infinite;
  animation: loop2 50s linear infinite;
}

/* bnr-box
-------------------------------------*/
#bnr-box {
  padding-block: 19.5vw 34vw;
}
#bnr-box .bnr-list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 4.83vw 0;
  width: min(95%, 91.79vw);
  margin-inline: auto;
}
#bnr-box .bnr-list li a {
  display: block;
  transition: opacity 0.3s;
}
#bnr-box .bnr-list li a:hover {
  opacity: 0.75;
}
#bnr-box .bnr-list li img {
  width: 100%;
  height: auto;
}

}