@charset "UTF-8";
/*-----------------------------------

------------------------------------*/
.pcDISP {
  display: none !important;
}

.spDISP {
  display: initial !important;
}

.container {
  padding: 0;
  background: none;
}

#main {
  padding-top: 0px;
  background: none;
}

body {
  overflow: hidden;
}

#pageTopBtn {
  z-index: 100;
  bottom: 30vw;
}

.sec {
  width: 100%;
  text-align: center;
}
.sec__inner980, .sec__inner800 {
  width: 90%;
  margin: auto;
  padding: 30px 0;
}

.specialArea {
  background: #ffffff;
}

/* ==========================================================================
   header
========================================================================== */
.menutriggerWrap {
  width: 50px;
  height: 50px;
  z-index: 1111111111;
}

.menu-trigger {
  display: inline-block;
  width: 30px;
  height: 20px;
  position: absolute;
  top: 5px;
  right: 9px;
  z-index: 222222;
  margin-top: 10px;
  cursor: pointer;
}
.menu-trigger:after {
  background: url(/img/special/natsuyasumi/2022/menu.png) no-repeat top center;
  background-size: 65px;
  content: "";
  height: 70px;
  width: 65px;
  right: -16px;
  top: -25px;
}
.menu-trigger span {
  width: 90%;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 9px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger.active span {
  background-color: #fff;
}
.menu-trigger.active span:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

#navigation {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.9);
  z-index: 1000;
  height: 100%;
  overflow-y: auto;
  padding: 60px 0 40px;
  box-sizing: border-box;
  text-align: center;
}
#navigation .navigation_inner {
  box-sizing: border-box;
  width: 90%;
}
#navigation .navigation_inner h1 {
  width: 150px;
  margin: auto;
}
#navigation .navigation_inner h1 img {
  width: 100%;
  max-height: inherit;
}

.bluelockHeader__jLogo {
  left: 5px;
  top: 5px;
}

/* ==========================================================================
   kv
========================================================================== */
.kvArea {
  position: relative;
  padding-top: 0px;
}
.kvArea__lead {
  font-size: 3vw;
  text-align: left;
}

/* ==========================================================================
   navArea
========================================================================== */
.navArea {
  background: url(/img/special/bluelock/2023/nav_bg_left.jpg) no-repeat top left #ffffff;
  background-size: contain;
}
.navArea:after {
  background: url(/img/special/bluelock/2023/nav_bg_left.jpg) no-repeat top right;
  background-size: contain;
}
.navArea .sec__inner980 {
  width: 100%;
}
.navArea__nav {
  border-bottom: 3px solid #ffffff;
}
.navArea__nav__list a {
  font-size: 3.8vw;
  line-height: 1.3;
  padding: 7% 3%;
}
.navArea__nav__list:nth-child(odd) a {
  padding: 15% 3% 13% 3%;
}
.navArea__nav__list:nth-child(odd) a:hover {
  opacity: 0;
}
.navArea__nav__list p {
  font-size: 3.8vw;
  line-height: 1.3;
  padding: 10% 3% 0% 3%;
}
.navArea__nav__list p span {
  font-size: 2vw;
}

/* ==========================================================================
   titleArea
========================================================================== */
.schedule h2, .charactor h2 {
  font-size: 7vw;
  line-height: 10vw;
  margin: 0px auto 30px auto;
}

.kokuritus_info h2 {
  font-size: 9vw;
  margin: 0px auto 30px auto;
}
.kokuritus_info h2 span {
  font-size: 4vw;
  margin-top: 10px;
}

.goods_info h2 {
  font-size: 9vw;
  margin: 0px auto 30px auto;
}
.goods_info h2 span {
  font-size: 4vw;
  margin-top: 10px;
}

/* ==========================================================================
   COMMENT
========================================================================== */
.comment {
  margin: 50px auto 50px auto;
  width: 90%;
}
.comment .single_img {
  margin: 20px auto 0px auto;
}
.comment p {
  font-size: clamp(15px, 1.8vw, 18px);
  line-height: 2;
}
.comment .catch {
  padding: 5%;
  font-size: 6vw;
  line-height: 1.5;
  margin: 20px auto 20px auto;
}
.comment .catch span {
  font-size: 9vw;
  line-height: 1.2;
}
.comment .youtube {
  margin: 20px auto 0px auto;
}

/* ==========================================================================
   CHARACTOR
========================================================================== */
.charactor {
  padding: 100px 0px 100px 0px;
  background: url(/img/special/bluelock/2023/bg_navy.jpg) repeat-y top center;
  background-size: 100% auto;
  clip-path: polygon(0 50px, 100% 0, 100% calc(100% - 50px), 0 100%);
}
.charactor .single_img {
  margin: 20px auto 0px auto;
  width: 90%;
}
.charactor .single_img img {
  margin: 20px auto 0px auto;
}
.charactor ul li {
  width: 50%;
}
.charactor .btn {
  width: 60%;
  font-size: clamp(14px, 1.6vw, 16px);
  margin: 30px auto 10px auto;
}
.charactor .btn_back {
  width: 40%;
  font-size: clamp(12px, 1.4vw, 14px);
  margin: 0px auto 0px auto;
}

/* ==========================================================================
   SCHEDULE
========================================================================== */
.schedule {
  margin: 50px auto 80px auto;
}
.schedule p {
  font-size: 4vw;
  line-height: 1;
}
.schedule ul {
  width: 90%;
  margin: 20px auto 20px auto;
}
.schedule ul li {
  display: block;
}
.schedule ul li .team {
  display: block;
  font-size: 5vw;
  line-height: 1.5;
  padding: 10px 5% 0px 5%;
  width: 100%;
}
.schedule ul li .date {
  display: block;
  width: 100%;
  font-size: 5vw;
  line-height: 1.5;
  padding: 0px 5% 10px 5%;
}
.schedule ul li .date span {
  font-size: 5vw;
}

/* ==========================================================================
   KOKURITSU
========================================================================== */
.kokuritus_info {
  margin: 50px auto 80px auto;
  width: 90%;
}
.kokuritus_info .single_img {
  margin: 20px auto 0px auto;
}
.kokuritus_info h3 {
  font-size: clamp(18px, 3vw, 30px);
  margin: 20px 0px 0px 0px;
  padding: 15px 5% 15px 5%;
}
.kokuritus_info h4 {
  font-size: clamp(16px, 1.8vw, 18px);
  margin: 30px 0px 0px 0px;
}
.kokuritus_info h5 {
  font-size: clamp(14px, 1.6vw, 16px);
  margin: 30px 0px -20px 0px;
  padding: 5px 5% 5px 5%;
}
.kokuritus_info p {
  font-size: clamp(14px, 1.6vw, 16px);
  margin: 20px 0px 0px 0px;
}
.kokuritus_info .btn {
  width: 60%;
}
.kokuritus_info ul.column_2 {
  margin: 30px 0px 0px 0px;
}
.kokuritus_info table {
  margin: 20px 0px 0px 0px;
}
.kokuritus_info table th, .kokuritus_info table td {
  font-size: clamp(14px, 1.6vw, 16px);
}

/* ==========================================================================
   GOODS
========================================================================== */
.goods_info {
  margin: 50px auto 80px auto;
  width: 90%;
}
.goods_info .single_img {
  margin: 20px auto 0px auto;
}
.goods_info h3 {
  font-size: clamp(18px, 3vw, 30px);
  margin: 20px 0px 0px 0px;
  padding: 15px 5% 15px 5%;
}
.goods_info h4 {
  font-size: clamp(16px, 1.8vw, 18px);
  margin: 30px 0px 0px 0px;
}
.goods_info h5 {
  font-size: clamp(14px, 1.6vw, 16px);
  margin: 30px 0px -20px 0px;
  padding: 5px 5% 5px 5%;
}
.goods_info p {
  font-size: clamp(14px, 1.6vw, 16px);
  margin: 20px 0px 0px 0px;
}
.goods_info .btn {
  width: 60%;
  font-size: clamp(14px, 1.6vw, 16px);
}
.goods_info .menu {
  margin: 0px 0px 0px 0px;
}
.goods_info .menu li {
  margin: 0px 2% 2% 0px;
  width: 32%;
}
.goods_info .menu li:nth-child(5n) {
  margin: 0px 2% 2% 0px;
  width: 32%;
}
.goods_info .menu li:nth-child(3n) {
  margin: 0px 0% 2% 0px;
}
.goods_info .menu li a {
  padding: 10% 3% 10% 3%;
  font-size: clamp(10px, 1.2vw, 12px);
}
.goods_info .menu li a::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5px;
  margin: auto;
  transform: rotate(135deg);
}
.goods_info ul.column_2 {
  margin: 30px 0px 0px 0px;
}

.swiper_container {
  max-width: 100%;
  margin-top: 20px;
}

.swiper {
  max-width: 90%;
}

.swiper-wrapper {
  padding-bottom: 20px;
}

.swiper-slide img {
  height: auto;
  width: 100%;
}

/* 前への矢印 */
.swiper-button-prev {
  left: -5% !important;
}

/* 次への矢印 */
.swiper-button-next {
  right: -5% !important;
}

/* ページネーション */
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 0px !important;
}

/* ============================================
	追従ボタン
============================================ */
.floatingbnr {
  display: block;
  position: fixed;
  z-index: 1000;
  bottom: 0px;
  right: 0;
  left: 0;
  width: 90%;
  background-color: #ffffff;
  padding: 3% 5% 3% 5%;
  text-align: center;
}

.floatingbnr img {
  display: block;
  margin: 0px auto 3% auto;
  width: 75%;
}

.floatingbnr a.btn_form {
  position: relative;
  display: block;
  width: 100%;
  background-color: #e60012;
  text-align: center;
  color: #ffffff;
  font-size: 2vw;
  font-weight: 700;
  line-height: 7vw;
  margin: auto;
}

.floatingbnr a.btn_form:after {
  position: absolute;
  font-family: "ionicons";
  content: "\f30f";
  right: 7%;
  color: #fff;
  transition: 0.5s all;
  -moz-transition: 0.5s all;
  -webkit-transition: 0.5s all;
}

.floatingbnr a.nolink {
  pointer-events: none;
}

.floatingbnr .btn__close {
  display: inline-block;
  width: 30px;
  height: 30px;
  position: absolute;
  right: 0px;
  top: 0px;
  pointer-events: all !important;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 30px;
  color: #000000;
}

.button {
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
}

/*このクラスが付与されると表示する*/
.active {
  opacity: 1;
  visibility: visible;
}