@charset "UTF-8";

@font-face {
  font-family: "Koburina Gothic W6";
  src: url("https://drvape.info/model3/24/font/Koburina_w6.woff2") format("woff2"), url("https://drvape.info/model3/24/font/Koburina_w6.woff") format("woff");
}
@font-face {
  font-family: "Koburina Gothic W3";
  src: url("https://drvape.info/model3/24/font/Koburina_w3.otf") format("opentype");
}
@font-face {
  font-family: "Avenir lt";
  src: url("https://drvape.info/model3/24/font/Avenir_LT.woff2") format("woff2"), url("https://drvape.info/model3/24/font/Avenir_LT.woff") format("woff");
}
body, section, article, address, div, ul, ol, li, table, tr, th, td, dl, dt, dd, h1, h2, h3, h4, h5, p, a, span, strong, small, b, pre, form, input, select, textarea, button, pre {
  font-family: "Koburina Gothic W3", sans-serif;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  color: #484848;
  font-family: "Koburina Gothic W3", sans-serif;
  font-weight: 300;
}
body.no-scroll {
  overflow: hidden;
  height: 100vh;
}
img,
video {
  display: inline-block;
  max-width: 100%;
  width: auto;
  height: auto;
  vertical-align: top;
}
video {
  filter: drop-shadow(0px 0px rgba(0,0,0,0));
  outline: none;
  border: none;
}
.pc_only {
  display: block;
}
.sp_only {
  display: none;
}
@media screen and (max-width: 770px) {
  .pc_only {
    display: none;
  }
  .sp_only {
    display: block;
  }
}
/* -----------------------------------------------

header

----------------------------------------------- */
.header {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 11;
}
.header .header-out .logo {
  width: 44.2%;
  max-width: 532px;
}
.header .header-inner {
  position: fixed;
  top: 0;
  left: 0%;
  width: 100%;
  display: flex;
  align-items: center;
  background: #ffffffcc;
  justify-content: space-between;
  padding: 1% 2%;
  transform: translateY(-100%);
  transition: transform .4s ease;
}
.header .header-inner.is-show{
  transform: translateY(0);
}
.header .header-inner .logo {
  max-width: 182px;
}
.header .header-inner .logo .sp_white {
  display: none;
}
.header .header-inner nav {
  display: flex;
  align-items: center;
  gap: 30px;
}
.header .header-inner ul {
  display: flex;
}
.header .header-inner ul.icon {
  gap: 10px;
}
.header .header-inner ul.nav {
  gap: 30px;
}
.header .header-inner ul.nav li {
  position: relative;
  cursor: pointer;
}
.header .header-inner ul.nav li .sub {
  display: block;
  position: absolute;
  top: 250%;
  left: -30%;
  width: max-content;
  background: #fff;
  padding: 14% 20%;
  box-shadow: 0 5px 20px rgba(0, 0, 0, .1);
  border-radius: 20px;
  opacity: 0;
  transform: scale(.5);
  transform-origin: top center;
  visibility: hidden;
  transition:
    opacity .25s ease,
    transform .25s ease,
    visibility .25s;
}
.header .header-inner ul.nav li:hover .sub {
  opacity: 1;
  transform: scale(1);
  visibility: visible;
}
.header .header-inner ul.nav li .sub li {
  margin-bottom: 10px;
}
.header .header-inner ul.nav li .sub li:last-child {
  margin-bottom: 0;
}
.header .header-inner ul.nav > li > a {
  position: relative;
  padding-right: 12px;
}
.header .header-inner ul.nav > li:nth-child(n+3) > a {
  padding: 0;
}
.header .header-inner ul.nav > li > a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 10px;
  height: 1px;
  background: #484848;
  transform: translateY(-50%);
}
.header .header-inner ul.nav > li > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 4.5px;
  width: 1px;
  height: 10px;
  background: #484848;
  transform: translateY(-50%);
  transition: 0.3s;
}
.header .header-inner ul.nav li:hover > a::after {
  opacity: 0;
}
.header .header-inner ul.nav > li:nth-child(n+3) > a::before,
.header .header-inner ul.nav > li:nth-child(n+3) > a::after {
  content: none;
}
.header .header-inner ul.icon li {
  max-width: 28px;
}
.header .header-inner .hamburger {
  width: 16px;
  height: 14px;
  position: relative;
}
.header .header-inner .hamburger span {
  position: absolute;
  width: 100%;
  height: 1px;
  background: #fff;
  left: 0;
  transition: .3s;
}
.header .header-inner.is-dark .hamburger span,
.header .header-inner.menu-open .hamburger span {
  background: #252525;
}
.header .header-inner .hamburger span:nth-child(1) {
  top: 0;
}
.header .header-inner .hamburger span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.header .header-inner .hamburger span:nth-child(3){
  bottom: 0;
}
.header .header-inner .hamburger.active span:nth-child(1) {
  top: 6px;
  transform: rotate(45deg);
}
.header .header-inner .hamburger.active span:nth-child(2) {
  opacity: 0;
}
.header .header-inner .hamburger.active span:nth-child(3) {
  top: 6px;
  transform: rotate(-45deg);
}
.header .header-inner .sp-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #fff;
  z-index: 1000;
  clip-path: inset(0 0 100% 0);
  transition: clip-path 0.4s ease;
}
.header .header-inner .sp-menu.active {
  clip-path: inset(0);
}
.header .header-inner .sp-menu-inner {
  padding: 80px 20px 40px;
  overflow-y: auto;
  height: 100%;
}
.header .header-inner .sp-menu-inner ul.sp-nav {
  display: block;
  margin: 9% auto 0;
}
.header .header-inner .sp-nav li {
  padding: 3% 0;
  font-size: 1.25rem;
}
.header .header-inner .sp-nav a {
  display: block;
  font-size: 1.25rem;
}
.header .header-inner .sp-nav li.has-sub a {
  font-size: 0.81rem;
}
.header .header-inner .acc-body {
  display: none;
  padding-top: 10px;
}
.header .header-inner .acc-head {
  position: relative;
  cursor: pointer;
}
.header .header-inner .acc-head::after {
  content: "+";
  position: absolute;
  right: 0;
}
.header .header-inner .acc-head.active::after {
  content: "−";
}
.header .header-inner .sp-footer {
  margin-top: 10%;
  display: flex;
  flex-direction: column;
  gap: 1.3rem;
  color: #666;
}
.header .header-inner .sp-footer a {
  font-size: 0.81rem;
}
.header .header-inner ul.link_list {
  margin: 10% 0 0;
}
.header .header-inner .icon_sp {
  display: none;
}
.header .header-inner .sp-nav li,
.header .header-inner .sp-footer a,
.header .header-inner .link_list li {
  opacity: 0;
  transform: translateY(20px);
  transition: .5s ease;
}
.header .header-inner .sp-menu.active .sp-nav li,
.header .header-inner .sp-menu.active .sp-footer a,
.header .header-inner .sp-menu.active .link_list li {
  opacity: 1;
  transform: translateY(0);
}
.header .header-inner .sp-menu.active .sp-nav li:nth-child(1) { transition-delay: 0.05s; }
.header .header-inner .sp-menu.active .sp-nav li:nth-child(2) { transition-delay: 0.1s; }
.header .header-inner .sp-menu.active .sp-nav li:nth-child(3) { transition-delay: 0.15s; }
.header .header-inner .sp-menu.active .sp-nav li:nth-child(4) { transition-delay: 0.2s; }
.header .header-inner .sp-menu.active .sp-nav li:nth-child(5) { transition-delay: 0.25s; }
.header .header-inner .sp-menu.active .sp-footer a:nth-child(1) { transition-delay: 0.3s; }
.header .header-inner .sp-menu.active .sp-footer a:nth-child(2) { transition-delay: 0.35s; }
.header .header-inner .sp-menu.active .sp-footer a:nth-child(3) { transition-delay: 0.4s; }
@media (max-width:770px) {
  .header .header-out .logo {
    width: 100%;
    max-width: 100%;
  }
  .header .header-inner {
    background: transparent;
  }
  .header .header-inner .logo {
    width: 35%;
    position: relative;
  }
  .header .header-inner .logo .sp_black {
    transition: 0.3s;
    opacity: 0;
  }
  .header .header-inner.is-dark .logo .sp_black {
    opacity: 1;
  }
  .header .header-inner .logo .sp_white {
    position: absolute;
    top: 0%;
    left: 0%;
    display: inline-block;
    transition: 0.3s;
    opacity: 1;
  }
  .header .header-inner.is-dark .logo .sp_white {
    opacity: 0;
  }
  .header .header-inner nav {
    display: none;
  }
  .header .header-inner .icon_sp {
    display: grid;
    grid-template-columns: 40px 40px 40px;
    align-items: center;
    justify-items: center;
    z-index: 1001;
  }
  .header .header-inner .icon_sp li {
    position: relative;
  }
  .header .header-inner .icon_sp li .sp_black {
    transition: 0.3s;
    opacity: 0;
  }
  .header .header-inner.is-dark .icon_sp li .sp_black,
  .header .header-inner.menu-open .icon_sp li .sp_black {
    opacity: 1;
  }
  .header .header-inner .icon_sp li .sp_white {
    position: absolute;
    top: 0%;
    left: 0%;
    display: inline-block;
    transition: 0.3s;
    opacity: 1;
  }
  .header .header-inner.is-dark .icon_sp li .sp_white,
  .header .header-inner.menu-open .icon_sp li .sp_white {
    opacity: 0;
  }
  .header .header-inner ul.link_list li a img {
    max-width: 48px;
  }
}
/* -----------------------------------------------

article

----------------------------------------------- */
.float {
  position: fixed;
  bottom: 3%;
  right: 0%;
  z-index: 10;
  width: 100%;
  max-width: 360px;
  transition: 0.6s;
  opacity: 0;
  transform: translateX(101%);
}
.float.active {
  opacity: 1;
  transform: translateX(0);
}
.float .float_inner {
  position: relative;
}
.float .float_inner p {
  position: absolute;
  top: 24%;
  right: 13%;
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
}
.float .float_inner .close {
  position: absolute;
  top: 35.2%;
  right: 5.6%;
  width: 6%;
  height: 27%;
  cursor: pointer;
}
@media (max-width:770px) {
  .float {
    bottom: 1%;
    left: 0%;
    right: 0%;
    margin: auto;
    width: 85.1%;
    max-width: 720px;
    transform: translateY(30%);
  }
  .float.active {
    transform: translateY(0);
  }
  .float .float_inner p {
    top: 21%;
    right: 0%;
    left: 25%;
    font-size: clamp(0.75rem, 0.038rem + 3.04vw, 1.5rem);
  }
}
/* -----------------------------------------------

footer

----------------------------------------------- */
.footer {
  background: #63b66d;
  color: #fff;
  padding: 4%;
}
.footer .container {
  display: grid;
  grid-template-columns: 30% 30% 30%;
  justify-content: space-between;
}
.footer .container ul li {
  margin-bottom: 35px;
}
.footer .container .cont1 dl > div {
  margin-bottom: 35px;
}
.footer .container .cont1 dl dt {
  cursor: pointer;
  font-weight: normal;
  display: inline;
}
.footer .container .cont1 dl dt span {
  position: relative;
  margin-left: 2%;
}
.footer .container .cont1 dl dt span::before {
  content: "";
  position: absolute;
  top: 44%;
  width: 12px;
  height: 1px;
  background: #fff;
  transition: 0.4s;
  transform: rotate(90deg);
}
.footer .container .cont1 dl dt.open span::before {
  transform: rotate(180deg);
}
.footer .container .cont1 dl dt span::after {
  content: "";
  position: absolute;
  top: 44%;
  width: 12px;
  height: 1px;
  background: #fff;
}
.footer .container .cont1 dl dd {
  display: none;
}
.footer .container .cont1 dl dd a {
  display: block;
  margin-top: 20px;
  font-size: 14px;
  color: #fff;
}
.footer ul.link_list {
  display: flex;
  margin: 4% 0;
}
.footer ul.link_list li {
  margin-right: 1%;
  max-width: 40px;
}
.footer .container ul li a {
  color: #fff;
}
.footer .logo_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.footer .logo_wrap .logo {
  max-width: 380px;
}
@media (max-width:770px) {
  .footer {
    padding: 12% 6%;
  }
  .footer .container {
    display: block;
  }
  .footer .container .cont1 dl {
    display: grid;
    grid-template-columns: 50% 50%;
  }
  .footer .container .cont1 dl dt {
    font-size: 0.942rem;
  }
  .footer .container .cont1 dl dd a {
    font-size: 0.625rem;
    margin-top: 7%;
  }
  .footer .container > div {
    margin-bottom: 9%;
  }
  .footer .container .cont1 dl > div {
    margin-bottom: 9%;
  }
  .footer .container ul {
    display: grid;
    grid-template-columns: 50% 50%;
  }
  .footer .container ul li {
    margin-bottom: 9%;
  }
  .footer .container .cont1 ul li a {
    font-size: 0.942rem;
  }
  .footer .container .cont2 ul li a {
    font-size: 0.81rem;
  }
  .footer .container .cont3 ul li a {
    font-size: 0.688rem;
  }
  .footer ul.link_list {
    margin: 4% 0 8%;
  }
  .footer ul.link_list li {
    margin-right: 5%;
  }
  .footer .logo_wrap {
    display: block;
  }
  .footer .logo_wrap p {
    font-size: 0.625rem;
    padding: 3% 0;
  }
}
