@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:wght@500&family=Zen+Old+Mincho:wght@400;500;600;700&display=swap");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanmp.css");
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  word-break: break-word;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: baseline;
  background: transparent;
}

html, body {
  font-size: 62.5%;
  height: 100%;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block;
}

li {
  list-style-type: none;
}

blockquote, q {
  quotes: none;
}

blockquote::before, blockquote::after, q::before, q::after {
  content: '';
  content: none;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  vertical-align: bottom;
  max-width: 100%;
}

picture {
  max-width: 100%;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input, select {
  vertical-align: middle;
}

br {
  line-height: 0;
}

input, textarea, select, button {
  font: inherit;
}

/* safariでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]:focus,
input[type="button"]:focus {
  outline-offset: -2px;
}

/*------------------------------------------------------------
	basic
------------------------------------------------------------*/
html, body {
  font-size: 62.5%;
}

body {
  -webkit-text-size-adjust: 100%;
  font-family: YakuHanMP,"Zen Old Mincho", serif;
  font-size: 3.125vw;
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
  text-align: center;
  letter-spacing: 0.075em;
}

@media screen and (min-width: 769px) {
  body {
    font-size: 1.6rem;
    -webkit-font-feature-settings: 'palt' 1;
    font-feature-settings: 'palt' 1;
  }
}

img {
  vertical-align: middle;
  border: none;
}

a {
  color: #333333;
}

li {
  list-style: none;
}

/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.rightTxt {
  text-align: right;
}

.leftTxt {
  text-align: left;
}

.centerTxt {
  text-align: center;
}

.sp,
.spIbShow {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .spIbShow {
    display: inline-block;
  }
}

img {
  vertical-align: middle;
  border: none;
  max-width: 100%;
  margin: 0 auto;
}

footer {
  font-size: 1.4rem;
}

.taser-wrap {
  margin: 1.30208vw;
  padding: 9.11458vw 8.46354vw 13.02083vw;
  background: url(../img/taser/bg.jpg) center/cover no-repeat;
  border-radius: 1.82292vw;
  overflow: hidden;
  position: relative;
}

@media screen and (min-width: 769px) {
  .taser-wrap {
    margin: min(0.95vw,16px) auto;
    max-width: min(97.62vw,1640px);
    padding: min(6.55vw,110px) 3% min(9.23vw,150px);
    border-radius: 14px;
    background-image: url(../img/taser/bg_pc.jpg);
  }
}

.taser-wrap h2 {
  font-size: 5.20833vw;
  font-weight: 600;
  color: #fff;
  text-shadow: 0px 0px 32px #361b07,0px 0px 14px #361b07,0px 0px 5px #361b07;
}

@media screen and (min-width: 769px) {
  .taser-wrap h2 {
    font-size: min(2.38vw,40px);
  }
}

.taser-wrap h2 small {
  font-size: 3.64583vw;
}

@media screen and (min-width: 769px) {
  .taser-wrap h2 small {
    font-size: min(1.67vw,28px);
  }
}

.taser-wrap .txt {
  display: inline-block;
  font-size: 4.6875vw;
  font-weight: 600;
  color: #fff;
  text-shadow: 0px 0px 32px #361b07,0px 0px 14px #361b07,0px 0px 5px #361b07;
  border-bottom: 1px solid #fff;
  margin-top: 6.51042vw;
}

@media screen and (min-width: 769px) {
  .taser-wrap .txt {
    font-size: min(2.14vw,36px);
    margin-top: min(7.14vw,130px);
  }
}

.taser-wrap .txt small {
  font-size: 3.64583vw;
}

@media screen and (min-width: 769px) {
  .taser-wrap .txt small {
    font-size: min(1.67vw,28px);
  }
}

.taser-wrap-door {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 13.02083vw;
  margin-top: 13.67188vw;
}

@media screen and (min-width: 769px) {
  .taser-wrap-door {
    gap: min(12.74vw,214px);
    max-width: min(59.52vw,1000px);
    margin: min(5.95vw,100px) auto 0;
  }
  .taser-wrap-door button {
    cursor: pointer;
  }
}

footer {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-grid-columns: 27.47396vw 7.55208vw 10.9375vw;
  grid-template-columns: 27.47396vw 7.55208vw 10.9375vw;
  gap: 10.41667vw;
  padding: 2.60417vw;
}

@media screen and (min-width: 769px) {
  footer {
    display: block;
    padding: min(2.2vw,37px) 0;
    max-width: min(59.52vw,1000px);
    margin: auto;
    position: relative;
  }
  footer .ft-logo {
    text-align: center;
  }
  footer .ft-logo a {
    display: inline-block;
    width: min(14.29vw,240px);
  }
  footer .ft-x {
    width: min(2.38vw,40px);
    position: absolute;
    right: min(5.71vw,96px);
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  footer .ft-x a {
    display: inline-block;
  }
  footer .ft-yt {
    width: min(3.45vw,58px);
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  footer .ft-yt a {
    display: inline-block;
  }
}

/*modal_css*/
.taser__modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  overflow: auto;
  padding: 6.25vw;
  opacity: 0;
  -webkit-transition: opacity .3s ease-in-out;
  -o-transition: opacity .3s ease-in-out;
  transition: opacity .3s ease-in-out;
  pointer-events: none;
}

@media screen and (min-width: 769px) {
  .taser__modal {
    padding: 40px 3%;
  }
}

.taser__modal.active {
  opacity: 1;
  pointer-events: auto;
}

.taser__modal__layer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4);
  height: 100vh;
}

.taser__modal__inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 10.41667vw 9.50521vw 10.41667vw 11.32813vw;
}

@media screen and (min-width: 769px) {
  .taser__modal__inner {
    padding: min(3.57vw,60px) min(4.76vw,80px);
  }
}

.taser__modal__box {
  position: relative;
  margin: auto;
  background: url(../img/taser/modal_bg.jpg) center/cover no-repeat;
  width: 100%;
  min-height: 98.30729vw;
  padding: 8.72396vw 8.07292vw 10.41667vw;
}

@media screen and (min-width: 769px) {
  .taser__modal__box {
    border-radius: 0;
    min-height: auto;
    padding: min(3.57vw,60px);
    background-image: url(../img/taser/modal_bg_pc.jpg);
    max-width: min(95.25vw,1124px);
  }
}

.taser__modal__close {
  position: absolute;
  top: -5.20833vw;
  right: -5.20833vw;
  display: block;
  width: 10.41667vw;
  height: 10.41667vw;
  background-color: #0d5ca7;
  border-radius: 50vw;
  padding: 2.60417vw;
  z-index: 99;
}

@media screen and (min-width: 769px) {
  .taser__modal__close {
    top: -22px;
    right: -22px;
    width: 44px;
    height: 44px;
    padding: 12px;
    cursor: pointer;
  }
}

.taser__modal__close:before, .taser__modal__close:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  margin: auto;
  background: #fff;
  content: "";
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 55%;
  height: 55%;
}

.taser__modal__close:before {
  height: 0.78125vw;
}

@media screen and (min-width: 769px) {
  .taser__modal__close:before {
    height: 4px;
  }
}

.taser__modal__close:after {
  width: 0.78125vw;
}

@media screen and (min-width: 769px) {
  .taser__modal__close:after {
    width: 4px;
  }
}

@media screen and (min-width: 769px) {
  .taser__modal__text-wrap {
    display: -ms-grid;
    display: grid;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-grid-columns: 42.98% 52.94%;
    grid-template-columns: 42.98% 52.94%;
    -ms-grid-rows: min(7.88vw,93px) auto;
    grid-template-rows: min(7.88vw,93px) auto;
    gap: min(2.97vw,36px) min(3.39vw,40px);
  }
  .taser__modal-imgBox {
    -ms-grid-row-span: 2;
    grid-row: span 2 / span 2;
    height: min(31.36vw,370px);
  }
}

.taser__modal-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 5.98958vw;
  color: #0d5ca7;
  font-weight: 600;
  margin-bottom: 5.20833vw;
  line-height: 1;
}

@media screen and (min-width: 769px) {
  .taser__modal-ttl {
    margin-bottom: 0;
    font-size: min(2.38vw,40px);
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

.taser__modal-ttl .taser__modal_number {
  display: inline-block;
  width: 7.03125vw;
  margin-right: 1.95313vw;
}

@media screen and (min-width: 769px) {
  .taser__modal-ttl .taser__modal_number {
    width: min(3.21vw,54px);
    margin-right: min(0.89vw,15px);
  }
}

.taser__modal-text-box {
  color: #0d5ca7;
  font-family: "Noto Sans", sans-serif;
  font-weight: 500;
  text-align: left;
  padding: 6.51042vw 4.55729vw 0;
}

@media screen and (min-width: 769px) {
  .taser__modal-text-box {
    -ms-grid-row: 2;
    grid-row-start: 2;
    padding: 0;
    line-height: 1.7;
    font-size: min(1.19vw,20px);
  }
}

.taser__modal__frimage {
  position: absolute;
  left: -8.33333vw;
  bottom: -13.41146vw;
  width: 28.125vw;
}

@media screen and (min-width: 769px) {
  .taser__modal__frimage {
    width: 145px;
    left: -36px;
    bottom: -59px;
  }
}

.taser__modal__frimage.fr02 {
  width: 25.52083vw;
}

@media screen and (min-width: 769px) {
  .taser__modal__frimage.fr02 {
    width: 168px;
    left: -47px;
    bottom: -36px;
  }
}

.taser__modal__frimage.fr03 {
  bottom: -15.625vw;
  width: 37.36979vw;
}

@media screen and (min-width: 769px) {
  .taser__modal__frimage.fr03 {
    width: 209px;
    left: -37px;
    bottom: -34px;
  }
}

.taser__modal .modal-video-movie-wrap {
  width: 100%;
}

.taser__modal .modal-video-movie-wrap:has(iframe) {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.taser__modal .modal-video-movie-wrap:has(iframe) iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.taser__modal-slider {
  margin-bottom: 0 !important;
}

.fadeIn {
  opacity: 0;
  -webkit-transition: 0.1s;
  -o-transition: 0.1s;
  transition: 0.1s;
}

.fadeIn .img-footprints {
  opacity: 0;
  -webkit-transition: 0.35s;
  -o-transition: 0.35s;
  transition: 0.35s;
}

.fadeIn.is-show {
  opacity: 1;
}

.fadeIn.is-show .img-footprints {
  opacity: 1;
}

.fadeIn.is-show .if1 {
  -webkit-transition-delay: 0.5s;
  -o-transition-delay: 0.5s;
  transition-delay: 0.5s;
}

.fadeIn.is-show .if2 {
  -webkit-transition-delay: 0.75s;
  -o-transition-delay: 0.75s;
  transition-delay: 0.75s;
}

.fadeIn.is-show .if3 {
  -webkit-transition-delay: 1.25s;
  -o-transition-delay: 1.25s;
  transition-delay: 1.25s;
}

.fadeIn.is-show .if4 {
  -webkit-transition-delay: 1.5s;
  -o-transition-delay: 1.5s;
  transition-delay: 1.5s;
}

.fadeIn.is-show .if5 {
  -webkit-transition-delay: 1.75s;
  -o-transition-delay: 1.75s;
  transition-delay: 1.75s;
}

.fadeIn.is-show .if6 {
  -webkit-transition-delay: 2s;
  -o-transition-delay: 2s;
  transition-delay: 2s;
}

.fadeIn.is-show .if7 {
  -webkit-transition-delay: 2.25s;
  -o-transition-delay: 2.25s;
  transition-delay: 2.25s;
}

@media screen and (min-width: 769px) {
  .fadeIn.is-show .if8 {
    -webkit-transition-delay: 2.5s;
    -o-transition-delay: 2.5s;
    transition-delay: 2.5s;
  }
  .fadeIn.is-show .if9 {
    -webkit-transition-delay: 2.75s;
    -o-transition-delay: 2.75s;
    transition-delay: 2.75s;
  }
}

.img-footprints {
  position: absolute;
  width: 2.47396vw;
}

@media screen and (min-width: 769px) {
  .img-footprints {
    width: min(1.55vw,26px);
  }
}

.if1 {
  left: 4.29688vw;
  top: 4.81771vw;
}

@media screen and (min-width: 769px) {
  .if1 {
    left: min(16.79vw,282px);
    top: min(0.18vw,3px);
  }
}

.if2 {
  left: 7.29167vw;
  top: 8.72396vw;
}

@media screen and (max-width: 768px) {
  .if2 {
    -webkit-transition-delay: 0.5s;
    -o-transition-delay: 0.5s;
    transition-delay: 0.5s;
  }
}

@media screen and (min-width: 769px) {
  .if2 {
    left: min(18.63vw,313px);
    top: min(2.8vw,47px);
  }
}

.if3 {
  left: 7.29167vw;
  top: 13.28125vw;
}

@media screen and (max-width: 768px) {
  .if3 {
    -webkit-transition-delay: 1s;
    -o-transition-delay: 1s;
    transition-delay: 1s;
  }
}

@media screen and (min-width: 769px) {
  .if3 {
    left: min(17.98vw,302px);
    top: min(5.89vw,99px);
  }
}

.if4 {
  left: 11.45833vw;
  top: 16.27604vw;
}

@media screen and (max-width: 768px) {
  .if4 {
    -webkit-transition-delay: 1.5s;
    -o-transition-delay: 1.5s;
    transition-delay: 1.5s;
  }
}

@media screen and (min-width: 769px) {
  .if4 {
    left: min(19.88vw,334px);
    top: min(8.51vw,143px);
  }
}

.if5 {
  left: 12.76042vw;
  top: 20.44271vw;
}

@media screen and (max-width: 768px) {
  .if5 {
    -webkit-transition-delay: 2s;
    -o-transition-delay: 2s;
    transition-delay: 2s;
  }
}

@media screen and (min-width: 769px) {
  .if5 {
    left: min(19.88vw,334px);
    top: min(11.61vw,195px);
  }
}

.if6 {
  left: 17.31771vw;
  top: 21.61458vw;
}

@media screen and (max-width: 768px) {
  .if6 {
    -webkit-transition-delay: 2.5s;
    -o-transition-delay: 2.5s;
    transition-delay: 2.5s;
  }
}

@media screen and (min-width: 769px) {
  .if6 {
    left: min(22.44vw,377px);
    top: min(13.51vw,227px);
  }
}

.if7 {
  left: 20.70313vw;
  top: 25.39063vw;
}

@media screen and (max-width: 768px) {
  .if7 {
    -webkit-transition-delay: 3s;
    -o-transition-delay: 3s;
    transition-delay: 3s;
  }
}

@media screen and (min-width: 769px) {
  .if7 {
    left: min(23.57vw,396px);
    top: min(16.43vw,276px);
  }
}

@media screen and (min-width: 769px) {
  .if8 {
    left: min(26.67vw,448px);
    top: min(17.38vw,292px);
  }
  .if9 {
    left: min(28.87vw,485px);
    top: min(19.64vw,330px);
  }
}
