@charset "UTF-8";

html {
  scroll-behavior: smooth;
}

/*----------------------------------------
general
----------------------------------------*/
body {
  background-color: #000;
  box-sizing: border-box;
  overflow-x: hidden;
  font-family: "Noto sans JP", sans-serif;
}
body.is-modal-open {
  overflow: hidden;
}
#wrapper * {
  box-sizing: border-box;
}
#wrapper img {
  width: 100%;
  margin: 0;
  padding: 0;
  height: auto;
  display: block;
  font-size: 0;
  line-height: 0;
  vertical-align: bottom;
}
#wrapper a {
  display: block;
}
#wrapper a img,
#wrapper .btn-offer {
  transition: all ease 0.3s;
}
#wrapper a img:hover,
#wrapper .btn-offer:hover {
  filter: brightness(1.2);
}
#wrapper h1,
#wrapper h2,
#wrapper h3,
#wrapper h4,
#wrapper p {
  font-size: 0;
  line-height: 0;
  margin: 0;
  padding: 0;
}
#wrapper ul {
  list-style: none;
}
#wrapper ul li {
  line-height: 0;
  font-size: 0;
}

#wrapper .p-box {
  position: relative;
}

/*============================
#pc-area
============================*/
#wrapper #pc-area {
  display: flex;
  justify-content: space-between;
  position: fixed;
  width: 100%;
  height: 100vh;
  background-image: url(../img/pc_bg.jpg);
  background-size: cover;
  background-position: center center;
}

/* left-column */
#wrapper #pc-area .left-column {
  width: 300px;
  margin-left: 5%;
  margin-top: max(5%,150px);
}
#wrapper #pc-area .left-column .left-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#wrapper #pc-area .left-column .head-logo_pc {
}

/* right-column */
#wrapper #pc-area .right-column {
  width: 300px;
  display: flex;
  align-items: flex-start;
  margin-right: 5%;
  padding-top: 200px;
}
#wrapper #pc-area .right-column .item-img {
}
#wrapper #pc-area .right-column .pc-offer-head {
  width: calc(206/436*100%);
  margin: 5% auto;
}
#wrapper #pc-area .right-column .offer-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#wrapper #pc-area .right-column .offer-wrap .btn_pc {
  width: calc(212/436*100%);
  margin-bottom: 3%;
}

/*============================
.lp-container
============================*/
#wrapper .lp-container {
  margin: 0 auto;
  width: 500px;
  position: relative;
  z-index: 2;
  background-color: #000;
}

/*============================
#fv
============================*/

/*============================
#sec01 - #sec07
============================*/

/*============================
.offer (SP購入ボタン)
============================*/
.btn-offer {
  text-align: center;
  position: absolute;
  width: calc(652/750*100%);
  top: 0%;
  left: calc(49/750*100%);


}
.btn-offer button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.btn-offer button img {
  width: 100%;
  height: auto;
}

/*============================
#brand
============================*/
#wrapper .lp-container #brand .brand-link {
  display: block;
  position: absolute;
left: 9.3%;
    top: 72.8%;
  width: calc(217/750*100%);
  height: min(calc(40/750*100vw),40px);
  /* background-color: rgba(0, 0, 0, 0.54); */
  border-radius: min(calc(5/750*100vw),5px);
}
#wrapper .lp-container #brand .brand-link::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  transition: all ease 0.3s;
}
#wrapper .lp-container #brand .brand-link:hover::before {
  background-color: rgba(255, 255, 255, 0.1);
}
@media (min-width:1000px) {
  #wrapper .lp-container #brand .brand-link {
        width: 145px;
        height: 28px;
  }
}
/*============================
footer
============================*/
#wrapper .lp-container footer {

}
#wrapper .lp-container footer .footer-detail {
  background-color: #013867;
  padding: calc(40/750*100%) 0;
  text-align: center;  
}
#wrapper .lp-container footer .footer-logo {
  width: calc(256/750*100%);
  margin: 0 auto calc(30/750*100%);
}
#wrapper .lp-container footer .footer-list {
  margin-bottom: 1em;
}
#wrapper .lp-container footer .footer-list li {
  font-size: min(calc(16/750*100vw),16px);
  line-height: calc(30/16);
  color: #FFF;
}
#wrapper .lp-container footer .footer-privacy {
  font-size: min(calc(16/750*100vw),16px);
  line-height: calc(30/16);
  display:inline-block;

}
#wrapper .lp-container footer .footer-privacy a {
  color: #FFF;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
#wrapper .lp-container footer .footer-copy {
  background-color: #fff;
  padding: calc(20/750*100%) 0;
  text-align: center;
  color: #013867;
  font-size: min(calc(16/750*100vw),16px);
  line-height: 1;
}

@media (min-width:1000px) {
    #wrapper .lp-container footer .footer-list li {
    font-size: 12px;
  }
  #wrapper .lp-container footer .footer-privacy {
    font-size: 12px;
  }
  #wrapper .lp-container footer .footer-copy {
    font-size: 12px;
  }
}

/*============================
modal
============================*/
.modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 9999;
}
.modal-content {
  background-color: #fff;
  padding: calc(90/750*100%) calc(50/750*100%);
  width: 90%;
  max-width:700px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.modal-close {
  position: absolute;
  top: 8px;
  right: 12px;
  background: none;
  border: none;
  font-size: min(calc(25/750*100vw),25px);
  line-height: 1;
  cursor: pointer;
  color: #000084;
}
.modal-btn-wrap .btn_sp {
  margin-bottom: 6%;
}
.modal-btn-wrap .btn_sp:last-child {
  margin-bottom: 0;
}
.modal-btn-wrap .btn_sp a {
  display: block;
}
.modal-btn-wrap .btn_sp img {
  width: 100%;
  height: auto;
}

@media (min-width:1000px) {
  .modal-content {
    max-width: 440px;
    padding: 70px 35px;    
  }
}
/*============================
narrow-pc
============================*/
@media (max-width: 1250px) {
  #wrapper #pc-area .left-column {
    width: 21%;
    margin-left: 3%;
    margin-top: 90px;
  }
  #wrapper #pc-area .right-column {
    width: 20%;
    margin-right: 4%;
  }
}

@media (max-height:720px) {
  #wrapper #pc-area .left-column {
    margin-top: 2%;
  }
  #wrapper #pc-area .left-column .head-logo_pc {
    width: 88%;
  }
}
@media (max-height:550px) {
  #wrapper #pc-area .left-column {
    margin-top: 1%;
  }
  #wrapper #pc-area .left-column .head-logo_pc {
    width: 80%;
  }
  #wrapper #pc-area .right-column {
    padding-top: 5%;
  }
}

/*============================
tablet
============================*/
@media (max-width: 1000px) {
  #wrapper #pc-area .left-column,
  #wrapper #pc-area .right-column {
    display: none;
  }
  #wrapper .lp-container {
    width: 100%;
    max-width: 750px;
  }
}
