@charset "utf-8";
/* CSS Document */


/*----------------------------------
 フォント
----------------------------------*/
@font-face {
  font-family: "HardwearDisplay";
  src: url("../font/HardwearDisplay-Light.otf") format("opentype");
  font-weight: 300;
}

@font-face {
  font-family: "HardwearDisplay";
  src: url("../font/HardwearDisplay-Medium.otf") format("opentype");
  font-weight: 500;
}

@font-face {
  font-family: "HardwearDisplay";
  src: url("../font/HardwearDisplay-SemiBold.otf") format("opentype");
  font-weight: 600;
}

@font-face {
  font-family: "HardwearDisplay";
  src: url("../font/HardwearDisplay-Bold.otf") format("opentype");
  font-weight: 700;
}
.min {
  font-family: 'Noto Serif JP', serif,'Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}
.hard {
  font-family: 'HardwearDisplay',"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}


/*----------------------------------
 デバイス
----------------------------------*/

@media screen and (min-width: 800px) {
.only-sp {
  display: none;
}
.only-pc {
  display: block;
}
}
@media screen and (max-width: 799px) {
.only-sp {
  display: block;
}
.only-pc {
  display: none;
}
}


/* font color */
:root {
  --color-base: #100f10;
  --color-base2: #333;
  --color-white: #fff;
  --color-yellow: #f3fd30;
}


body .sundrift {
  position: relative;
  font-family: "Noto Sans JP","source-han-sans-japanese", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(10px, 1vw, 14px);
  font-weight: 400;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0;
  line-height: 1.46;
}

@media screen and (min-width: 800px) {
  body .sundrift {
    font-size: 1.8rem;
    min-width: 1280px;
    letter-spacing: 0;
  }
}
.sundrift a {
  text-decoration: none;
  color: #100f10;
}
.sundrift a:hover {
  opacity: 1;
  text-decoration: none;
}

@media screen and (min-width: 800px) {
  .sundrift a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 799px) {
.sundrift a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
}
.sundrift img {
  max-width: 100%;
  vertical-align: bottom;
}
.sundrift .color-dots button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  font-size: 0;
}
.sundrift .wrapper {
  position: relative;
  overflow: inherit;
}
.sundrift .secInner {
  overflow: hidden;
}

*:focus {
  outline: none;
}


/* font */
.sundrift .en {
  font-family: "CircularPro-Book", sans-serif;
  color: #000;
}
.sundrift .enb {
  font-family: "CircularPro-Black", sans-serif;
  color: #000;
}
.sundrift p {
  line-height: 1.64;
}
.sundrift .sup {
  font-size: 50%;
  vertical-align: top;
  position: relative;
  top: -0.05em;
}
.sundrift .sup2 {
  vertical-align: top;
  position: relative;
  top: -0.2em;
}


/* item btn */
.sundrift .itemBtnArea {
  margin: -26px auto 0;
  text-align: center;
  position: relative;
  z-index: 1;
}
.sundrift .itemBtnArea a.notYet {
  pointer-events: none;
}
@media screen and (min-width: 800px) {
.sundrift .itemBtnArea a {
  width: 180px;
  margin: 0 auto;
  padding: 1.0em 1.8em;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: -0.04em;
  color: #333;
  background-color: #f3fd30;
  background: linear-gradient(135deg, transparent 8px, #f3fd30 0) top left,
  linear-gradient(-135deg, transparent 8px, #f3fd30 0) top right,
  linear-gradient(-45deg, transparent 8px, #f3fd30 0) bottom right,
  linear-gradient(45deg, transparent 8px, #f3fd30 0) bottom left;
  background-size: 52% 52%;
  background-repeat: no-repeat;
  display: block;
  transition: none;
}
.sundrift .itemBtnArea a:hover {
  background-color: #100f10;
  background: linear-gradient(135deg, transparent 8px, #100f10 0) top left,
  linear-gradient(-135deg, transparent 8px, #100f10 0) top right,
  linear-gradient(-45deg, transparent 8px, #100f10 0) bottom right,
  linear-gradient(45deg, transparent 8px, #100f10 0) bottom left;
  background-size: 52% 52%;
  background-repeat: no-repeat;
  color: #fff;
  opacity: 1;
}
}
@media screen and (max-width: 799px) {
  .sundrift .itemBtnArea {
    margin: -13px auto 0;
  }
  .sundrift .itemBtnArea a {
    width: 130px;
    margin: 0 auto;
    padding: 1em 1em;
    font-size: 11px;
    font-weight: bold;
    line-height: 1.46;
    letter-spacing: -0.04em;
    color: #333;
    background-color: #f3fd30;
    background: linear-gradient(135deg, transparent 5px, #f3fd30 0) top left,
    linear-gradient(-135deg, transparent 5px, #f3fd30 0) top right,
    linear-gradient(-45deg, transparent 5px, #f3fd30 0) bottom right,
    linear-gradient(45deg, transparent 5px, #f3fd30 0) bottom left;
    background-size: 52% 52%;
    background-repeat: no-repeat;
    display: block;
    transition: none;
  }
  .sundrift .itemBtnArea a:hover {
    background-color: #f3fd30;
    background: linear-gradient(135deg, transparent 5px, #f3fd30 0) top left,
    linear-gradient(-135deg, transparent 5px, #f3fd30 0) top right,
    linear-gradient(-45deg, transparent 5px, #f3fd30 0) bottom right,
    linear-gradient(45deg, transparent 5px, #f3fd30 0) bottom left;
    background-size: 52% 52%;
    background-repeat: no-repeat;
    color: #333;
    opacity: 1;
  }
}























.pane-main {
  padding-bottom: 0;
}

/* hero */
.sundrift {
  background-color: #100f10;
}
.sundrift_hero {
  width: 100%;
}
.sundrift_heroInner {
  width: 100%;
  margin: 0 auto;
}
.sundrift_hero .mvArea {
  width: 100%;
  position: relative;
}
.sundrift_hero .mvArea {
  width: 100%;
  position: relative;
}
.sundrift_hero .mvArea .mvAreaImg {
  height: 100%;
}
.sundrift_hero .mvArea .mvAreaImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sundrift_hero .mvAreaText {
  width: 292px;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(170 / 1918 * 100vw);
}
@media screen and (max-width: 799px) {
  .sundrift_heroInner {
    padding-top: 0;
  }
  .sundrift_hero .mvArea {
    height: auto;
    background: none;
  }
  .sundrift_hero .mvArea .mvAreaText {
    width: 100%;
    height: calc(1206/780*100vw);
    margin: 0;
    padding: 0;
  }
  .sundrift_hero .mvAreaText {
    display: none;
  }
}


/* content */
.sundrift_cont {
  margin: 0 auto;
  width: 100%;
  padding: 0;
  position: relative;
  z-index: 3;
  background-color: #fff;
}
.sundrift_cont .secLead {
  width: 100%;
  margin: 0 auto 0.1em;
  padding: 0;
  font-size: 100px;
  font-weight: 700;
  line-height: 0.9;
  position: relative;
  display: inline-block;
  z-index: 1;
  text-align: center;
}
.sundrift_cont .secLead .sup {
  top: 0.1em;
}
.sundrift_cont .secLeadText {
  font-size: 70px;
  line-height: 1;
  position: relative;
  display: block;
  z-index: 1;
}
.sundrift_cont .secLeadText p {
  line-height: 0.9;
}
@media screen and (max-width: 799px) {
.sundrift_cont {
  margin: 0 auto;
  min-width: inherit;
}
.sundrift_cont .secLead {
  font-size: calc(56/780*100vw);
}
.sundrift_cont .secLeadText {
  font-size: calc(56/780*100vw);
}
}


/* back ground */
.sundrift .bg01 {
  padding-bottom: 60px;
  background-image: linear-gradient(0deg, #eeecee, #f3fd30);
}
.sundrift .bg02 {
  padding: 180px 0 0;
  background-image: linear-gradient(180deg, #eeecee, #f3fd30);
}
@media screen and (max-width: 799px) {
.sundrift .bg01 {
  padding-bottom: 1px;
}
}


.sundrift_About .sundrift_AboutInner {
  padding-bottom: 256px;
}
.sundrift_About .text01 {
  padding: 130px 0 0;
  font-size: 22px;
  font-weight: 600;
  color: var(--color-base);
  line-height: 2.0;
  letter-spacing: 0.04em;
  text-align: center;
}
.sundrift_About .text01 .lead {
  margin-bottom: 1em;
  font-size: 38px;
  display: block;
  line-height: 1.8;
  text-align: center;
}
.sundrift_About .text01 sup {
  position: relative;
  top: -4px;
}
@media screen and (max-width: 799px) {
.sundrift_About .sundrift_AboutInner {
  padding-bottom: calc(140/780*100vw);
}
  .sundrift_About .text01 {
    width: 100%;
    margin: 0 auto;
    padding: calc(130/780*100vw) 0 0;
    font-size: calc(26/780*100vw);
    line-height: 1.8;
  }
  .sundrift_About .text01 .lead {
    margin-bottom: 1.5em;
    font-size: calc(40/780*100vw);
    line-height: 1.64;
  }
  .sundrift_About .text01 sup {
    top: 0;
  }
}


@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 10%, 0);
  }
  100% {
    opacity: 1;
    transform: translateZ(0);
  }
  }



.sundrift .detailSlideArea {
  margin-bottom: 300px;
}
.sundrift .detailSlideArea .color-dots {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 0 12px;
}
.sundrift .detailSlideArea .color-dots li {
  width: 24px;
  height: 24px;
  margin: 0;
  background: #8f8b94;
  border-radius: 12px;
  position: relative;
}
.sundrift .detailSlideArea .color-dots li.slick-active:before {
  content: "";
  position: absolute;
  top: -4px;
  left: -4px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--color-base); /* 外側のリング */
  background: transparent; /* 内側は透過 */
}
.sundrift .detailSlideArea .color-dots li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
  font-size: 0;
}
.sundrift .detailSlideArea .slide-arrow {
  width: 22px;
  height: 42px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
}
.sundrift .detailSlideArea .slide-arrow.prev-arrow {
  left: 28px;
}
.sundrift .detailSlideArea .slide-arrow.next-arrow {
  right: 28px;
}
.sundrift .detailSlideArea .slide-arrow:hover {
  opacity: .7;
  cursor: pointer;
}
.slickArrow {
  width: 50px;
  height: 50px;
  background-color: var(--color-yellow);
  position: relative;
}
.slickArrow:before {
  content: "";
  width: 12px;
  height: 12px;
  margin: auto;
  border-top: #100f10 4px solid;
  border-right: #100f10 4px solid;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  right: 4px;
  top: 0;
  bottom: 0;
  pointer-events: none;
}
.slickArrow:hover {
  background-color: #100f10;
  cursor: pointer;
  opacity: 1;
}
.slickArrow:hover:before {
  border-top: var(--color-white) 4px solid;
  border-right: var(--color-white) 4px solid;
  opacity: 1;
}
.slickArrow.arrowLeft:before {
  transform: rotate(-135deg);
  left: 4px;
  right: 0;
}
@media screen and (max-width: 799px) {
  .sundrift .detailSlideArea {
    margin-bottom: calc(300/780*100vw);
  }
  .sundrift .detailSlideArea .color-dots {
    margin: 0 auto;
    bottom: calc(-72/780*100vw);
  }
  .sundrift .detailSlideArea .color-dots li {
    width: calc(36/780*100vw);
    height: calc(36/780*100vw);
  }
  .sundrift .detailSlideArea .color-dots li:before {
    content: none;
  }
  .sundrift .detailSlideArea .color-dots li.slick-active:before {
  top: calc(-6/780*100vw);
  left: calc(-6/780*100vw);
  width: calc(48/780*100vw);
  height: calc(48/780*100vw);
}
  .sundrift .detailSlideArea .slide-arrow {
    width: calc(30/780*100vw);
    height: calc(54/780*100vw);
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
  }
  .sundrift .detailSlideArea .slide-arrow.prev-arrow {
    left: calc(-57/780*100vw);
    right: auto;
  }
  .sundrift .detailSlideArea .slide-arrow.next-arrow {
    left: auto;
    right: calc(-57/780*100vw);
  }
  .sundrift .detailSlideArea .slide-arrow:hover {
    opacity: 1;
  }
  .slickArrow {
  width: calc(70/780*100vw);
  height: calc(70/780*100vw);
  }
  .slickArrow:before {
  content: "";
  width: calc(20/780*100vw);
  height: calc(20/780*100vw);
  right: calc(5/780*100vw);
}
.slickArrow:hover {
  background-color: var(--color-yellow);
}
.slickArrow.arrowLeft:before {
  left: calc(5/780*100vw);
  right: 0;
}
.slickArrow:hover:before {
  border-top: #100f10 4px solid;
  border-right: #100f10 4px solid;
  opacity: 1;
}
}


.sundrift_ProductLInner {
  padding: 64px 0 388px;
  background: url(../img/bg_product01-pc.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
}
.sundrift_ProductL .secLead {
  margin: 0 0 80px;
  padding-left: 80px;
  color: var(--color-yellow);
}
.sundrift_ProductL .secLeadText {
  margin-bottom: 32px;
  padding-left: 80px;
  color: var(--color-yellow);
}
.sundrift_ProductL .text01 {
  margin-bottom: 32px;
  padding-left: 80px;
  color: var(--color-yellow);
  letter-spacing: 0.22em;
  font-size: 15px;
  font-weight: 300;
}
.sundrift .sundrift_ProductL .itemBtnArea {
  width: 180px;
  margin: 0 0 0 80px;
  position: relative;
  z-index: 1;
}
.sundrift_ProductL .itemImg {
  margin: auto;
  width: 940px;
  position: absolute;
  top: 180px;
  left: 0;
  right: 0;
  z-index: 1;
}
@media screen and (min-width: 800px) and (max-width: 1980px) {
.sundrift_ProductLInner {
  padding: 64px 0 188px;
}
.sundrift_ProductL .itemImg {
  position: relative;
  top: inherit;
  left: inherit;
  right: inherit;
  margin-top: -120px;
}
}
@media screen and (max-width: 799px) {
.sundrift_ProductLInner {
  padding: calc(36/780*100vw) 0 calc(130/780*100vw);
  background: url(../img/bg_product01-pc.jpg) no-repeat center center;
  background-size: cover;
}
.sundrift_ProductL .secLead {
  margin: 0 0 calc(72/780*100vw);
  padding-left: calc(40/780*100vw);
}
.sundrift_ProductL .secLeadText {
  margin-bottom: calc(28/780*100vw);
  padding-left: calc(40/780*100vw);
}
.sundrift_ProductL .text01 {
  margin-bottom: calc(32/780*100vw);
  padding-left: calc(40/780*100vw);
  font-size: calc(22/780*100vw);
}
.sundrift .sundrift_ProductL .itemBtnArea {
  width: calc(250/780*100vw);
  margin: 0 0 0 calc(40/780*100vw);
  position: relative;
  z-index: 2;
}
.sundrift_ProductL .itemImg {
  margin: calc(-110/780*100vw) auto 0;
  width: calc(756/780*100vw);
  position: relative;
  top: inherit;
  left: inherit;
  right: inherit;
}
}


.sundrift_Tech {
  margin: 0 auto;
}
.sundrift_Tech .sundrift_TechInner {
  background-color: var(--color-white);
  position: relative;
}
.sundrift_Tech .techLWrap .tech01,
.sundrift_Tech .techLWrap .tech02 {
  width: 50%;
  aspect-ratio: 1 / 1;
}
.sundrift_Tech .techLWrap {
  background: url(../img/img_techbg-pc.png) no-repeat center center;
  background-size: cover;
}
.sundrift_Tech .techLWrap .techL {
  position: relative;
}
.sundrift_Tech .techLWrap .techL:before {
  content: "";
  width: calc(50/1920*100vw);
  height: calc(50/1920*100vw);
  display: block;
  border-top: var(--color-yellow) 2px solid;
  border-left: var(--color-yellow) 2px solid;
  position: absolute;
  left: calc(50/1920*100vw);
  top: calc(50/1920*100vw);
}
.sundrift_Tech .techLWrap .techL:after {
  content: "";
  width: calc(50/1920*100vw);
  height: calc(50/1920*100vw);
  display: block;
  border-top: var(--color-yellow) 2px solid;
  border-right: var(--color-yellow) 2px solid;
  position: absolute;
  right: calc(50/1920*100vw);
  top: calc(50/1920*100vw);
}
.sundrift_Tech .techLWrap .techL.tech01:after {
  right: -1px;
}
.sundrift_Tech .techLWrap .techL.tech02:before {
  left: -1px;
}
.sundrift_Tech .techLInner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.sundrift_Tech .techLInner:before {
  content: "";
  width: calc(50/1920*100vw);
  height: calc(50/1920*100vw);
  display: block;
  border-bottom: var(--color-yellow) 2px solid;
  border-left: var(--color-yellow) 2px solid;
  position: absolute;
  left: calc(50/1920*100vw);
  bottom: calc(50/1920*100vw);
}
.sundrift_Tech .techLInner:after {
  content: "";
  width: calc(50/1920*100vw);
  height: calc(50/1920*100vw);
  display: block;
  border-bottom: var(--color-yellow) 2px solid;
  border-right: var(--color-yellow) 2px solid;
  position: absolute;
  right: calc(50/1920*100vw);
  bottom: calc(50/1920*100vw);
}
.sundrift_Tech .tech01 .techLInner:after {
  right: -1px;
}
.sundrift_Tech .tech02 .techLInner:before {
  left: -1px;
}
.sundrift_Tech .techLWrap {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sundrift_Tech .techLWrap .techtext {
  margin-bottom: 0.5em;
  color: var(--color-white);
  font-size: calc(36/1920*100vw);
  font-weight: 700;
  text-align: center;
  line-height: 1.32;
  letter-spacing: 0.02em;
}
.sundrift_Tech .techLWrap .techLtext {
  color: var(--color-yellow);
  font-size: calc(130/1920*100vw);
  font-weight: 700;
  text-align: center;
  line-height: 1.32;
  letter-spacing: 0.02em;
}
.sundrift_Tech .techLWrap .techStext {
  margin-top: 1.5em;
  color: var(--color-white);
  font-size: calc(22/1920*100vw);
  font-weight: 700;
  text-align: center;
  line-height: 1.46;
  letter-spacing: 0.08em;
}
.sundrift_Tech .techLWrap .techLtextArea {
  padding-top: 0.5em;
  padding-left: 4em;
  border-top: var(--color-yellow) 1px solid;
  font-size: 18px;
  font-weight: 600;
  position: absolute;
  right: 0;
  top: 50%;
  color: var(--color-yellow);
  transform: translateX(100%);
}
.sundrift_Tech .techLWrap .techLtextArea:before {
  content: "";
  width: 28px;
  height: 28px;
  display: block;
  background-color: var(--color-yellow);
  position: absolute;
  left: -14px;
  top: -14px;
}
@media screen and (min-width: 800px) and (max-width: 1290px) {
.sundrift_Tech .techLWrap .techtext {
  font-size: 27px;
}
.sundrift_Tech .techLWrap .techLtext {
  font-size: 96px;
}
.sundrift_Tech .techLWrap .techStext {
  font-size: 17px;
}
}
@media screen and (max-width: 799px) {
.sundrift_Tech {
  margin: 0 auto;
}
.sundrift_Tech .techLWrap .tech01,
.sundrift_Tech .techLWrap .tech02,
.sundrift_Tech .techLWrap .tech03 {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
}
.sundrift_Tech .techLWrap {
  width: 100%;
  flex-direction: column;
}
.sundrift_Tech .techLWrap .techL:before {
  width: calc(54/780*100vw);
  height: calc(54/780*100vw);
  left: calc(50/780*100vw);
  top: calc(50/780*100vw);
}
.sundrift_Tech .techLWrap .techL:after {
  width: calc(54/780*100vw);
  height: calc(54/780*100vw);
  right: calc(50/780*100vw);
  top: calc(50/780*100vw);
}
.sundrift_Tech .techLWrap .techL.tech01:after {
  right: calc(50/780*100vw);
  left: auto;
}
.sundrift_Tech .techLWrap .techL.tech02:before {
  top: -1px;
  left: calc(50/780*100vw);
}
.sundrift_Tech .techLWrap .techL.tech02:after {
  top: -1px;
}
.sundrift_Tech .techLInner:before {
  width: calc(54/780*100vw);
  height: calc(54/780*100vw);
  left: calc(50/780*100vw);
  bottom: calc(50/780*100vw);
}
.sundrift_Tech .techLInner:after {
  width: calc(54/780*100vw);
  height: calc(54/780*100vw);
  left: calc(50/780*100vw);
  bottom: calc(50/780*100vw);
}
.sundrift_Tech .tech01 .techLInner:before {
  bottom: -1px;
}
.sundrift_Tech .tech01 .techLInner:after {
  right: calc(50/780*100vw);
  left: auto;
  bottom: -1px;
}
.sundrift_Tech .tech02 .techLInner:before {
  left: calc(50/780*100vw);
}
.sundrift_Tech .tech02 .techLInner:after {
  right: calc(50/780*100vw);
  left: auto;
}
.sundrift_Tech .techLWrap .techtext {
  font-size: calc(40/780*100vw);
}
.sundrift_Tech .techLWrap .techLtext {
  font-size: calc(130/780*100vw);
}
.sundrift_Tech .techLWrap .techStext {
  font-size: calc(26/780*100vw);
}
.sundrift_Tech .techLWrap .techLtextArea {
  width: calc(380/780*100vw);
  padding-top: calc(164/780*100vw);
  padding-left: 1em;
  margin: 0 auto;
  border-top: none;
  border-left: var(--color-yellow) 1px solid;
  font-size: calc(26/780*100vw);
  position: absolute;
  left: 50%;
  top: auto;
  bottom: 0;
  color: var(--color-yellow);
  transform: translateX(0) translateY(100%);
}
.sundrift_Tech .techLWrap .techLtextArea:before {
  width: 14px;
  height: 14px;
  left: -7px;
  top: -7px;
}
}


.sundrift_Tech .techSWrap {
  display: flex;
  position: relative;
}
.sundrift_Tech .techSWrap .tech04,
.sundrift_Tech .techSWrap .tech05,
.sundrift_Tech .techSWrap .tech06,
.sundrift_Tech .techSWrap .tech07 {
  width: calc(1/4*100%);
  aspect-ratio: 1 / 1;
  position: relative;
}
.sundrift_Tech .techSWrap .tech {
  border: #000 2px solid;
  border-left: none;
}
.sundrift_Tech .techSWrap .tech:last-of-type {
  border-right: none;
}
@media screen and (max-width: 799px) {
.sundrift_Tech .techSWrap .tech04,
.sundrift_Tech .techSWrap .tech05,
.sundrift_Tech .techSWrap .tech06,
.sundrift_Tech .techSWrap .tech07 {
  width: 100%;
  height: calc(600/780*100vw);
}
.sundrift_Tech .techSWrap .tech {
  border: none;
  border-bottom: #000 2px solid;
}
.sundrift_Tech .techSWrap .tech:first-of-type {
  border-top: #000 2px solid;
}
.sundrift_Tech .techSWrap .tech:last-of-type {
  border-right: none;
}
}
.sundrift_Tech .techSWrap .tech04 {
  background: url(../img/img_tech04.png) no-repeat center center;
  background-size: cover;
}
.sundrift_Tech .techSWrap .tech05 {
  background: url(../img/img_tech05.png) no-repeat center center;
  background-size: cover;
}
.sundrift_Tech .techSWrap .tech06 {
  background: url(../img/img_tech06.png) no-repeat center center;
  background-size: cover;
}
.sundrift_Tech .techSWrap .tech07 {
  background: url(../img/img_tech07.png) no-repeat center center;
  background-size: cover;
}
.sundrift_Tech .techSWrap .techTextBox {
  margin: auto;
  width: 50%;
  position: absolute;
  left: 0;
  right: 0;
  top: 106px;
  z-index: 1;
}
.sundrift_Tech .techSWrap .techTextBox .techCopy {
  text-align: center;
  font-size: 38px;
  font-weight: 600;
}
.sundrift_Tech .techSWrap .techTextBox .techText {
  text-align: center;
  font-size: 22px;
  font-weight: 600;
}
.sundrift_Tech .texhIcon {
  width: 40px;
  height: 40px;
  margin: auto;
  background-color: var(--color-yellow);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 2;
  cursor: pointer;
  display: block;
  transition: all .2s;
}
.sundrift_Tech .texhIcon:before {
  content: "";
  width: 60%;
  height: 2px;
  margin: auto;
  background-color: #000;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  transition: all .2s;
}
.sundrift_Tech .texhIcon:after {
  content: "";
  width: 2px;
  height: 60%;
  margin: auto;
  background-color: #000;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  transition: all .2s;
}
.sundrift_Tech .texhIcon.is-active,
.sundrift_Tech .tech:hover .texhIcon {
  background-color: #000;
}
.sundrift_Tech .texhIcon.is-active:before,
.sundrift_Tech .texhIcon.is-active:after,
.sundrift_Tech .tech:hover .texhIcon:before,
.sundrift_Tech .tech:hover .texhIcon:after  {
  background-color: #fff;
}
.sundrift_Tech .techLabel {
  width: 200px;
  height: 100px;
  padding: 1em 0.2em 1em 1em;
  margin: auto;
  background-color: var(--color-yellow);
  display: flex;
  align-items: center;
  pointer-events: none;
  transition: all .2s;
  font-size: 16px;
  font-weight: 600;
  opacity: 0;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 2;
  transform: translateY(80%);
}
@media screen and (min-width: 800px) {

}
.sundrift_Tech .tech:hover .texhIcon + .techLabel,
.sundrift_Tech .texhIcon.is-active + .techLabel {
  opacity: 1;
}
.sundrift_Tech .techLabel .labelLead {
  margin-bottom: 1em;
}
.sundrift_Tech .tech01 .techLabel {
  transform: translateX(-66%);
}
.sundrift_Tech .tech02 .techLabel {
  transform: translateX(66%);
}
@media screen and (max-width: 799px) {
.sundrift_Tech .techSWrap {
  flex-direction: column;
}
.sundrift_Tech .techSWrap .tech01,
.sundrift_Tech .techSWrap .tech02  {
  width: 100%;
  height: calc(516/780*100vw);
  position: relative;
}
.sundrift_Tech .techSWrap .techTextBox {
  width: 100%;
  position: relative;
  height: calc(516/780*100vw);
  top: inherit;
  left: inherit;
  right: inherit;
}
.sundrift_Tech .texhIcon {
  width: 24px;
  height: 24px;
}
.sundrift_Tech .techLabel {
  width: calc(310/780*100vw);
  height: calc(148/780*100vw);
  padding: 0.5em;
  font-size: calc(28/780*100vw);
}
.sundrift_Tech .techLabel p {
  line-height: 1.46;
}
.sundrift_Tech .techWrap .techTextBox .techCopy {
  margin: calc(90/780*100vw) 0 calc(36/780*100vw);
  padding: 0;
  font-size: calc(38/780*100vw);
}
.sundrift_Tech .techWrap .techTextBox .techText {
  font-size: calc(22/780*100vw);
}
}


.sundrift ul.productList {
  padding: 0;
  margin-bottom: 110px;
  display: flex;
  justify-content: center;
}
.sundrift ul.productList > li {
  width: 50%;
  max-width: 540px;
  padding: 0 0 40px;
  transition: all .3s;
}
.sundrift ul.productList > li .productBox {
  position: relative;
}
.sundrift .sundrift_Product .detailSlideArea {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
.sundrift .sundrift_Product .detailSlideArea .slideArea {
  width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: flex-end;
}
.sundrift .sundrift_Product .detailSlideArea .slideAreaInner {
  width: 100%;
  display: block;
}
.sundrift .sundrift_Product .detailSlideArea .slideAreaInner .slideImg img {
  width: 100%;
  max-width: none;
}
.sundrift .sundrift_Product .detailSlideArea .slideArea .slick-slider {
  position: static;
}
.sundrift .sundrift_Product .detailSlideArea .color-dots {
    margin: 24px auto 18px;
}
.sundrift .sundrift_Product .slideInfo .itemName {
  margin-bottom: 0.3em;
  font-size: 34px;
  font-weight: bold;
  line-height: 1;
}
.sundrift .sundrift_Product .itemNameJ {
  margin: 0.4em 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}
.sundrift .sundrift_Product .slideInfo .price {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.1;
}
.sundrift .sundrift_Product .slideInfo .price .tax {
  font-size: 70%;
}
.sundrift .sundrift_Product .slideInfo .itemBtnArea {
  margin: 20px auto 0;
}
.sundrift .sundrift_Product .slideInfo .itemBtnArea a {
  width: 260px;
  margin: 0 auto;
  padding: 0.7em 0.8em;
  font-size: 26px;
  color: var(--color-white);
  background-color: var(--color-base);
  background: linear-gradient(135deg, transparent 12px, #100f10 0) top left, linear-gradient(-135deg, transparent 12px, #100f10 0) top right, linear-gradient(-45deg, transparent 12px, #100f10 0) bottom right, linear-gradient(45deg, transparent 12px, #100f10 0) bottom left;
  background-size: 52% 52%;
  background-repeat: no-repeat;
}
@media (hover: hover) {
.sundrift .sundrift_Product .slideInfo .itemBtnArea a:hover {
  width: 260px;
  margin: 0 auto;
  padding: 0.7em 0.8em;
  font-size: 26px;
  color: var(--color-base);
  background-color: var(--color-white);
  background: linear-gradient(135deg, transparent 12px, var(--color-yellow) 0) top left, linear-gradient(-135deg, transparent 12px, var(--color-yellow) 0) top right, linear-gradient(-45deg, transparent 12px, var(--color-yellow) 0) bottom right, linear-gradient(45deg, transparent 12px, var(--color-yellow) 0) bottom left;
  background-size: 52% 52%;
  background-repeat: no-repeat;
}
}
@media screen and (min-width: 800px) {
.sundrift .sundrift_Product .slideInfo .price .only-pc {
  display: inline-block;
  padding: 0 0.25em;
}
.sundrift .w01 .productBox .slideImg {
  margin-bottom: -3.5em;
}
.sundrift .w11 .productBox .slideImg {
  margin-top: 1.4em;
}
.sundrift .m21 .productBox .slideImg {
  margin-bottom: -1.5em;
}
}
@media screen and (max-width: 799px) {
.sundrift .sundrift_Product .detailSlideArea {
  width: 100%;
  margin: 0 auto;
}
.sundrift ul.productList {
  padding: 0;
  margin-bottom: calc(130/780*100vw);
  border-bottom: none;
}
.sundrift ul.productList > li {
  width: 100%;
  padding: 0 0 calc(36/780*100vw);
  transform:translateX(10%);
  position: relative;
}
.sundrift ul.productList > li:first-of-type {
  z-index: 1;
}
.sundrift ul.productList > li:last-of-type {
  transform:translateX(-10%);
}
.sundrift ul.productList > li.even .productBox {
  flex-direction: row-reverse;
}
.sundrift .sundrift_Product .detailSlideArea .slideArea {
  width: 100%;
  height: auto;
  padding-top: calc(16/780*100vw);
  min-height: auto;
  max-width: none;
  display: block;
}
.sundrift .sundrift_Product .detailSlideArea .slideAreaInner {
  width: 100%;
  margin: 0 auto;
}
.sundrift .sundrift_Product .detailSlideArea .slideArea .slick-slider {
  position: relative;
}
.sundrift .sundrift_Product .detailSlideArea .color-dots {
  margin: calc(-10/780*100vw) auto 0;
  width: calc(124/780*100vw);
}
.sundrift .sundrift_Product .detailSlideArea .color-dots.two {
  width: calc(80/780*100vw);
}
.sundrift .sundrift_Product .detailSlideArea .slideInfo {
  width: 100%;
  padding-top: calc(12/780*100vw);
}
.sundrift .sundrift_Product .slideInfo .itemName {
  font-size: calc(36/780*100vw);
}
.sundrift .sundrift_Product .itemNameJ {
  margin: 0.4em 0;
  font-size: calc(20/780*100vw);
}
.sundrift .sundrift_Product .slideInfo .price {
  font-size: calc(22/780*100vw);
}
.sundrift .sundrift_Product .slideInfo .price .tax {
  font-size: calc(20/780*100vw);
}
.sundrift .sundrift_Product .slideInfo .itemBtnArea {
  margin: calc(18/780*100vw) auto 0;
}
.sundrift .sundrift_Product .slideInfo .itemBtnArea a {
  width: 120px;
  margin: 0 auto;
  padding: 0.8em 0.7em;
  font-size: 12px;
  color: var(--color-white);
  background-color: var(--color-base);
  background: linear-gradient(135deg, transparent 6px, #100f10 0) top left, linear-gradient(-135deg, transparent 6px, #100f10 0) top right, linear-gradient(-45deg, transparent 6px, #100f10 0) bottom right, linear-gradient(45deg, transparent 6px, #100f10 0) bottom left;
  background-size: 52% 52%;
  background-repeat: no-repeat;
}
.sundrift .sundrift_Product .slideImg {
  margin-left: auto;
  margin-right: auto;
}
.sundrift .sundrift_Product .w01 .slideImg {
  width: 90%;
  margin-top: calc(20/780*100vw);
  margin-bottom: calc(-30/780*100vw);
}
.sundrift .sundrift_Product .w11 .slideImg {
  width: 90%;
  margin-top: calc(36/780*100vw);
  margin-bottom: calc(24/780*100vw);
}
.sundrift .sundrift_Product .detailSlideArea .m21 .slideArea {
  width: 50%;
}
.sundrift ul.productList > li.m21:last-of-type {
  transform: none;
}
}


.sundrift ul.bnrLinkList {
  width: 100%;
  max-width: 1050px;
  margin: 200px auto 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0 20px;
}
@media screen and (max-width: 799px) {
.sundrift ul.bnrLinkList {
  width: calc(700/780*100vw);
  margin: calc(150/780*100vw) auto 0;
  gap: 0 calc(200/780*100vw);
}
}



.sundrift .__btn {
  text-align: right;
}
.sundrift .__pagetop {
  padding: 110px 0 140px;
  text-align: center;
}
.sundrift .__pagetop a {
  margin-right: 100px;
  color: var(--color-base);
  font-weight: bold;
}
.sundrift .__pagetop a .icon {
  width: 50px;
  margin-left: 2em;
  position: relative;
  top: 12px;
  display: inline-block;
}
@media screen and (min-width: 800px) {
.sundrift .__pagetop a:hover {
  background-color: inherit;
  transition: all ease .3s;
  opacity: .6;
}
}
@media screen and (max-width: 799px) {
.sundrift .__pagetop a .icon {
  width: 35px;
  height: 35px;
  top: 10px;
}
.sundrift .__pagetop {
  padding: 34px 0 64px;
}
.sundrift .__pagetop a {
  margin-right: calc(100/780*100vw);
}
}


/* movie */
.movieArea .yt-wrap {
  width: 100%;
  max-width: 960px;
  margin: 0 auto 200px;
}
.movieArea .yt-block {
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 799px) {
.movieArea .yt-wrap {
  width: calc(700/780*100vw);
  max-width: none;
  margin: 0 auto calc(160/750*100vw);
}
}
.videoWrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}

.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.videoWrapper:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: calc(100% + 1px);
  background-image: url("../img/mv_thumb-pc.png");
  background-size: 100% auto;
}

.videoWrapper.pv:after {
  display: none;
}

.yt-block .play {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 91px;
  height: 79px;
  cursor: pointer;
  opacity: .7;
}
.yt-block .play:before {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  content: "";
  background: url("../img/btn_movie.png") no-repeat;
  display: inline-block;
  width: 91px;
  height: 79px;
}
@media (hover: hover) {
.yt-block .play:hover {
  opacity: 1;
}
}
@media screen and (max-width: 799px) {
.yt-block .play {
  width: 50px;
  height: 42px;
}
.yt-block .play:before {
  background: url("../img/btn_movie.png") no-repeat;
  background-size: cover;
  width: 50px;
  height: 42px;
}
}


.sundrift .sliderArea {
  margin-bottom: 200px;
}
.sundrift .sliderArea .slick-slider {
  padding-bottom: 40px;
}
.sundrift .sliderArea .slick-list {
  margin: 0 calc(-10/1920*100vw);
}
.sundrift .sliderArea .slick-slide {
  width: calc(480/1920*100vw);
  margin: 0 calc(10/1920*100vw);
}
.sundrift .sliderArea .slick-arrow {
  width: 24px;
  height: 40px;
  margin: auto 0;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
}
.sundrift .sliderArea .slick-arrow.prev-arrow {
  left: 40px;
}
.sundrift .sliderArea .slick-arrow.next-arrow {
  right: 40px;
}
.sundrift .sliderArea .slick-dots {
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  font-size: 0;
  line-height: 0;
  display: flex;
  justify-content: center;
}
.sundrift .sliderArea .slick-dots button {
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  display: block;
  width: calc(164/1920*100vw);
  height: 2px;
  background-color: #c8c8c8;
}
.sundrift .sliderArea .slick-dots .slick-active button {
  background-color: #000;
}
@media (hover: hover) {
.sundrift .sliderArea .slick-arrow:hover {
  cursor: pointer;
  opacity: .7;
}
}
@media screen and (max-width: 799px) {
.sundrift .sliderArea {
  margin-bottom: calc(178/780*100vw);
  overflow: hidden;
}
.sundrift .sliderArea .slick-slide {
  width: calc(540 / 780 * 100vw);
  margin: 0 calc(10 / 780 * 100vw);
}
.sundrift .sliderArea .slick-arrow {
  width: calc(28 / 780 * 100vw);
}
.sundrift .sliderArea .slick-arrow.prev-arrow {
  left: calc(36 / 780 * 100vw);
}
.sundrift .sliderArea .slick-arrow.next-arrow {
  right: calc(36 / 780 * 100vw);
}
.sundrift .sliderArea .slick-dots button {
  width: calc(68/780*100vw);
}
}