@charset "utf-8";
/*****************************************
共通
*****************************************/
.wrapper {
   width: 100%;
  padding: 0;
 }
.container {
   width: 100%;
   padding: 0;
}
#aoki_main * {
   box-sizing: content-box;
}
#aoki_main ul,
#aoki_main ol {
	list-style: none;
}
#aoki_main a:hover,
#aoki_main a:focus {
	text-decoration: none;
}

/* mv */
#aoki_main {
	width: 100%;
	color: #333;
	background: #fff;
	margin: 0 auto;
	font-size: 18px;
	line-height: 1.5;
}
/*#aoki_main .mv {
   background: url("../_img/250919/mainVisual_pc.webp") top center/100vw 26.04vw no-repeat;
   width: 100vw;
   height: 26.04vw;
   margin: 0 auto;
   padding: 0 !important;
   box-sizing: border-box;
}*/
#aoki_main .mv p {
   width: 100%;
}
/* leadArea */
#aoki_main .leadArea {
   width: 1200px;
   margin: 0 auto;
   padding: 100px 0 0;
}
#aoki_main .leadArea p {
   line-height: 1.9;
   color: #171717;
   font-size: 18px;
	text-align: center;
}
#aoki_main .styling .leadArea p::before {
  display: none;
}
#aoki_main .lead_img::before {
  display: none;
}
#aoki_main .lead_img {
  margin: 40px auto 0;
  width: 621px;
}
/* contents */
#aoki_main .cmn-inner {
   width: 100%;
   margin: 0 auto 0;
}
#aoki_main h2 {
   line-height: 0.7;
   margin-bottom: 30px;
   color: #0c4a8a;
   font-size: 30px;
   text-align: center;
}
#aoki_main .under-line {
  width: 300px;
  margin: 120px auto 0;
  border-top: 3px solid #0c4a8a;
}
.box_wrap.box01 {
  margin: 60px auto 0!important;
}
#aoki_main .box_wrap {
  width: 1200px;
  margin: 136px auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
#aoki_main .styling .box_wrap:nth-of-type(1) {
  margin-top: 82px;
}
#aoki_main .styling .box_wrap.right {
  flex-direction:row-reverse;
}
#aoki_main .item_text {
  width: 500px;
}
#aoki_main .slider {
  position: relative;
  width: 600px;
}
#aoki_main .slider:hover {
  opacity: 0.7;
  transition: .4s;
}
.module p {
  text-align: center;
  width: 1200px;
  margin: 80px auto 0;
  font-size: 20px;
  font-weight: bold;
}
.slick-dots li {
  width: 10px;
  height: 10px;
  margin: 0 13px;
  background: #d2d2d2;
  border-radius: 5px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
}
.slick-dots li.slick-active, .slick-dots li:hover {
  background: #838484;
}
#aoki_main .setup {
  display: flex;
  justify-content: center;
  font-size: 17px;
  color: #fff;
  background: #0c4a8a;
  width: 158px;
  margin-top: 18px;
}
#aoki_main .item_text p {
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.8;
}
#aoki_main h3 {
  font-size: 33px;
  color: #605c5c;
  line-height: 1.6;
}
#aoki_main h4 {
  position: relative;
  font-size: 25px;
  color: #343232;
  margin-top: 16px;
  padding-left: 15px;
}
#aoki_main h4::before {
  content: "";
  position: absolute;
  border-top: 24px solid #0c4a8a;
  width: 4px;
  height: 24px;
  top: 0;
  left: 0;
}
button {
  display: none;
  font-size: 0px;
}
.modal button {
  display: block;
}
button:focus {
  outline: none;
}
.slick-prev:focus,
.slick-next:focus {
   outline: none;
}
.slick-next,
.slick-prev {
  background: #928d8d;
  width: 38px;
  height: 76px;
  border: none;
}
.slick-next::before {
  position: absolute;
  content: "";
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  top: 34%;
  right: 36%;
  width: 25px;
  height: 25px;
  transform: rotate(135deg);
}
.slick-prev::before {
  position: absolute;
  content: "";
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  top: 34%;
  left: 36%;
  width: 25px;
  height: 25px;
  transform: rotate(-45deg);
}
/*  btn-area */
#aoki_main .btn-area {
   margin-top: 30px;
   text-align: center;
}
#aoki_main .btn-area .cmn-btn + .cmn-btn {
   margin-top: 40px;
}
/* 1カラム（ベタ背景色 ⇒ ボーダー） */
#aoki_main .cmn-btn.bg a {
   display: flex;
   position: relative;
   width: 500px;
   height: 80px;
   margin: 0 auto;
   justify-content: center;
   align-items: center;
   background: #333;
   color: #fff;
   border-radius: 100vw;
   font-size: 20px;
   font-weight: bold;
   box-sizing: border-box;
}
#aoki_main .cmn-btn.bg a:hover {
   background-color: #fff;
   color: #333;
   border: 2px solid #333;
   text-decoration: none;
}
/* 1カラム（ボーダー ⇒ ベタ背景色） */
#aoki_main .cmn-btn.bd a {
   display: block;
   position: relative;
   width: 500px;
   height: auto;
   margin: 0 auto;
   padding: 18px;
   color: #333;
   border: 2px solid #333;
   border-radius: 100vw;
   font-size: 20px;
   font-weight: bold;
   box-sizing: border-box;
}
#aoki_main .cmn-btn.bd a::after {
   content: "";
   position: absolute;
   top: 50%;
   right: 40px;
   width: 10px;
   height: 10px;
   margin-top: -4px;
   border-top: 2px solid #333;
   border-right: 2px solid #333;
   transform: translateY(-40%) rotate(45deg);
   -webkit-transform: translateY(-40%) rotate(45deg);
}
#aoki_main .cmn-btn.bd a:hover {
   background-color: #333;
   color: #fff;
   transition: 0.4s;
   -webkit-transition: 0.4s;
   text-decoration: none;
}
#aoki_main .cmn-btn.bd a:hover::after {
   border-top: 2px solid #fff;
   border-right: 2px solid #fff;
}
/* 2カラム */
#aoki_main .btn-area-others {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   margin-top: 50px;
}
#aoki_main .btn-area-others .cmn-btn:nth-of-type(2n) {
   margin-left: 20px;
}

/* cmn-recommend */
#aoki_main .cmn-recommend {
   padding: 120px 0 50px;
}
#aoki_main .cmn-recommend h2 {
   margin: 0 auto 47px;
   color: #333;
   font-size: 26px;
   font-weight: bold;
   text-align: center;
}
#aoki_main .cmn-recommend .bnr_box {
   display: flex;
   max-width: 1200px;
   width: 100%;
   margin: 0 auto;
   justify-content: space-between;
   -webkit-box-pack: justify;
}
  body {
    margin: 0;
    overflow-x: hidden;
    font-family: sans-serif;
  }
  body.modal-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
  }
  .slider {
    max-width: 600px;
    margin: 0 auto;
    position: relative;
  }
  .slider img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    cursor: zoom-in;
  }
    /* モーダル */
  .modal {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0; left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.8);
    justify-content: center;
    align-items: center;
  }
  .modal.open {
    display: flex;
  }
  .modal-content {
    width: 690px;
    height: 80svh;
    border-radius: 20px;
  }
  .zoom-container {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
    touch-action: none;
    background: #000;
    }
    #zoomedImage {
    transform-origin: 0 0;
    position: absolute;
    top: 0;
    left: 0;
    user-select: none;
    cursor: grab;
    }
    .close-btn {
    position: absolute;
    top: 13px;
    right: 40px;
    font-size: 43px;
    color: white;
    border: none;
    cursor: pointer;
    z-index: 10;
    background: transparent;
  }
  .slick-slide {
    position: relative;
  }
  .slick-slide .btn {
    position: absolute;
    width: 65px; 
    height: 65px;
    right: 5px;
    bottom: 8px;
    cursor: zoom-in;
    pointer-events: none;
  }
  /* bnr */
  #aoki_main .cross_bnr {
    width: 456px;
    margin: 124px auto 0;
  }

/*****************************************
PC only
*****************************************/
@media screen and (min-width: 769px) {
  .sp {
      display: none;
   }

   /* cmn-recommend */
   #aoki_main .cmn-recommend h2 {
      display: flex;
      align-items: center;
      justify-content: center;
   }
   #aoki_main .cmn-recommend h2::before,
   #aoki_main .cmn-recommend h2::after {
      content: "";
      border-bottom: 2px solid #333;
   }
   #aoki_main .cmn-recommend h2::before {
      margin-right: 20px;
      padding-left: 120px;
   }
   #aoki_main .cmn-recommend h2::after {
      margin-left: 20px;
      padding-right: 120px;
   }

   /* bottom_recommend_area */
   #aoki_main #bottom_recommend_area .bottom_newitem,
   #aoki_main #bottom_recommend_area .bottom_service {
      width: 1100px !important;
   }
   #aoki_main #bottom_recommend_area .bottom_bnrBox a {
      width: 24% !important;
   }
   #aoki_main #bottom_recommend_area .bottom_bnrBox a + a {
      margin-left: 12px !important;
   }
}


/*****************************************
SP only
*****************************************/
@media screen and (max-width: 768px) {
   .pc {
      display: none;
   }
   .wrapper {
      margin: 0 0 50px;
   }
   .container {
      padding-left: 0;
      padding-right: 0;
   }

   /* mv */
   #aoki_main {
      max-width: 768px;
      width: 100%;
      line-height: 1.5;
      margin: 0 auto;
      background: #fff;
      color: #333;
      font-size: 4.2666666vw;
   }
   #aoki_main .mv p {
      width: 100%;
   }
   /* leadArea */
   #aoki_main .leadArea {
      width: 100%;
      margin: 0 auto;
      padding: 6vw 4vw;
      box-sizing: border-box;
   }
  #aoki_main .styling .leadArea {
      padding: 6vw 0;
  }
   #aoki_main h1 img{
      max-width: 100%!important;
   }
   #aoki_main .leadArea p {
      line-height: 2;
      font-size: 3.46vw;
      text-align: left;
   }
  #aoki_main .leadArea p span {
    font-size: 2.93vw;
  }
  #aoki_main .leadArea p::before {
      font-size: 3vw;
      top: 26%;
      right: 61.5%;
  }
  #aoki_main .lead_img {
    margin: 10.13vw auto 0;
    width: 92vw;
  }
  #aoki_main .lead_img img {
    width: 92vw;
  }
  #aoki_main .under-line {
    width: 40vw;
    margin: 10vw auto 0;
    border-top: 2px solid #0c4a8a;
  }
  #aoki_main .item_text {
    width: 100%;
    display: contents;
  }
   /* contents */
   #aoki_main .cmn-inner {
      width: 100%;
      box-sizing: border-box;
   }
   #aoki_main h2 {
    margin: 5vw 0;
    font-size: 5.5vw;
    line-height: 1.5;
    text-align: left;
   }
  #aoki_main h3 {
    font-size: 4.6vw;
  }
  #aoki_main h4 {
    font-size: 4.26vw;
    margin-top: 2.66vw;
    padding-left: 3vw;
    order: 4;
  }
  #aoki_main h4::before {
    content: "";
    position: absolute;
    border-top: 17px solid #0c4a8a;
    width: 4px;
    height: 17px;
    top: 0;
    left: 0;
  }
  #aoki_main .item_text p {
    margin-top: 5.06vw;
    font-size: 3.2vw;
    line-height: 1.8;
    order: 5;
  }
  #aoki_main .setup {
    font-size: 2.93vw;
    width: 30.4vw;
    margin-top: 15vw!important;
    padding: 0.3vw 0;
    order: 3!important;
  }
  #aoki_main .styling {
    padding: 0 4vw;
  }
  #aoki_main .box_wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 10vw auto 0;
  }
  #aoki_main .box_wrap.right {
    width: 100%;
    display: flex;
    flex-direction: column!important;
    margin: 10vw auto 0;
  }
  #aoki_main .slider {
    width: 92vw;
    margin: 0 auto;
    order: 2;
    max-width: 600px;
    position: relative;
  }
  .slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
  }
  .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
  }
  .slick-next,
  .slick-prev {
    width: 6vw;
    height: 14vw;
  }
  .slick-next::before {
    top: 34%;
    right: 36%;
    width: 5vw;
    height: 5vw;
  }
  .slick-prev::before {
    top: 34%;
    left: 36%;
    width: 5vw;
    height: 5vw;
  }
  .slick-dots li {
    width: 2.5vw;
    height: 2.5vw;
    margin: 0 3vw;
    border-radius: 100vw;
  }
  .slick-slide .btn {
    position: absolute;
    right: -3%;
    bottom: -7%;
    width: 10vw;
  }
  img {
    max-width: none;
  }
  #aoki_main .cross_bnr {
    width: 92vw;
    margin: 14.39vw auto 0;
  }
  #aoki_main .cross_bnr img {
    width: 92vw;
  }
  .module p {
    text-align: center;
    width: 100%;
    margin: 10.13vw auto 0;
    font-size: 3.73vw;
    font-weight: bold;
  }
   /* cmn-recommend */
   #aoki_main .cmn-recommend h2 {
      margin: 0 auto 5vw;
      font-size: 6.4vw;
   }
   #aoki_main .cmn-recommend .bnr_box {
      width: 100%;
      flex-wrap: wrap;
   }
   #aoki_main .cmn-recommend .bnr_box .bnr_img {
      width: 48%;
   }
   #aoki_main .cmn-recommend .bnr_box .bnr_img a {
      display: block;
   }
   #aoki_main .cmn-recommend .bnr_box .bnr_img:nth-of-type(n+3) {
      margin-top: 4vw;
   }

   /* ------ btn-area ------ */
   #aoki_main .btn-area {
      width: 100%;
      margin: 19vw auto 0;
   }
   /* 1カラム（ベタ背景色 ⇒ ボーダー） */
   #aoki_main .cmn-btn.bg a {
      width: 100%;
      height: 16vw;
      border-radius: 100vw;
      font-size: 3.73vw;
      text-align: center;
   }
   /* 1カラム（ボーダー ⇒ ベタ背景色） */
   #aoki_main .cmn-btn.bd a {
      width: 100%;
      padding: 4.5vw;
      font-size: 3.73vw;
   }
   /* 2カラム */
   #aoki_main .btn-area-others {
      justify-content: space-between;
   }
   #aoki_main .btn-area-others .cmn-btn {
      width: 49%;
   }
   #aoki_main .btn-area-others .cmn-btn a {
      display: flex;
      justify-content: center;
      align-items: center;
   }
   #aoki_main .btn-area-others .cmn-btn:nth-of-type(2n) {
      margin-left: 0;
   }

   /* 商品モジュール調整 */
   #aoki_main .topicModuleCredit,
   #aoki_main .topicModuleCredit.mb_0 {
      margin: 0 auto 30px!important;
  }
     .modal-content {
      width: 90vw;
      height: 50svh!important;
    }
  .close-btn {
      top: 17%;
      right: 6%;
      font-size: 10.2vw;
      background: transparent;
  }
  .topicModuleCredit {
        order: 4;
        width: min(450px, 100%);
        margin: 0 auto;
        pointer-events: auto!important;
    }
  .topicModuleCredit img {
    max-width: 100%;
  }
  .topicModuleCredit__priceList {
    width: 100%;
  }
  .topicModuleCredit .slick-track {
    display: flex;
  }
  .topicModuleCredit .slick-arrow {
    top: 29%;
  }
  .topicModuleCredit .slick-next, 
  .topicModuleCredit .slick-prev {
    width: 8vw;
    height: 11vw;
    background: #275482;
    opacity: 0.9;
    pointer-events: all;
  }
  .topicModuleCredit .slick-prev::before {
    top: 34%;
    left: 40%;
    width: 4vw;
    height: 4vw;
  }
  .topicModuleCredit .slick-next::before {
    top: 34%;
    right: 40%;
    width: 4vw;
    height: 4vw;
  }
  .topicModuleCredit__priceList {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .topicModuleCredit .slick-track {
    display: flex;
    width: 1265px!important;
  }
  .topicModuleCredit .slick-track li {
    width: 112px!important;
  }
  .topicModuleCredit.slick-slide {
    display: block;
  }
  .topicModuleCredit__priceItem {
    width: calc(31.3333% - 20px / 3);
    margin-right: 3px;
    padding: 15px 0 15px 0;
  }
}

/*****************************************
Tablet only (min-width:576px)
*****************************************/
@media screen and (min-width: 576px) {
   .container {
      width: 100%;
   }
}