/*
Theme Name: raqoon WP child
Template: raqoon_wp
Text Domain: raqoon_wp_child
Author: raQoon LLC.
Author URI: https://raqoon.jp/
Description: raqoon WP子テーマ
Version: 3.1.1
Tested up to: 6.5
Requires PHP: 7.4
*/
.header_section{
	background:transparent!important;
}
#logo_menu_flat .site-header_inner .site-branding img{
	max-width:200px;
}

#firstview{
	display:none;
}
#firstview{
	font-family: "Montserrat", sans-serif;
}

.wrap100{
	background-color:transparent!important;
	padding-top:48px;
	padding-bottom:0;
}
#fv_wrap.wrap100{
	padding-top:32px;
	padding-bottom:32px;
}

#fv_wrap.wrap100 .wp-block-cover__inner-container p{
	display:none;
}

.wrap100 h2 {
  color: #fff !important;
  font-family: "Montserrat", sans-serif;
  font-weight: 700 !important;
  animation: sparkleText 3.8s ease-in-out infinite;
  text-shadow: 0 0 0 rgba(255,255,255,0); /* 初期状態 */
}

/* ✨キラキラ瞬き風アニメ */
@keyframes sparkleText {
  0%, 100% {
    text-shadow: 0 0 0 rgba(255,255,255,0);
  }
  30% {
    text-shadow: 0 0 8px rgba(255,255,255,0.6),
                 0 0 15px rgba(255,255,255,0.4);
  }
  50% {
    text-shadow: 0 0 12px rgba(255,255,255,0.9),
                 0 0 25px rgba(255,255,255,0.7);
  }
  70% {
    text-shadow: 0 0 8px rgba(255,255,255,0.6),
                 0 0 15px rgba(255,255,255,0.4);
  }
}

.wrap100 h2:after{
	background:#000;
}
.company-info {
      max-width: 800px;
      margin: 0 auto;
    }

    .info-box {
      background-color: #fff;
      padding: 20px;
      margin-bottom: 20px;
      /*border: 4px solid #7ba9a3;*/
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease;
  box-shadow: none;
		color:#000;
    }
.info-box.show {
  opacity: 1;
  transform: translateY(0);
  animation: sparkleShadow 1s ease forwards;
}

/* 💫 box-shadowでキラーン風アニメ */
@keyframes sparkleShadow {
  0% {
    box-shadow: 0 0 0px rgba(255, 255, 255, 0);
  }
  40% {
    box-shadow: 0 0 25px rgba(255, 255, 255, 0.6);
  }
  100% {
    box-shadow: 0 0 0px rgba(255, 255, 255, 0);
  }
}
    .info-title {
      width: 20%;
      font-weight: bold;
    }

    .info-content {
      width: 75%;
    }

    .info-content ul {
      margin: 0;
      padding-left: 1.2em;
    }

    .info-content ul li {
      list-style: decimal;
      margin-bottom: 4px;
    }

    @media (max-width: 600px) {
      .info-title, .info-content {
        width: 100%;
      }
    }

.scroll-down {
  position: fixed;
  right: 0;
  bottom: 40px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.2em;
  cursor: default;
  opacity: 0.7;
  z-index: 100;
  display: flex;
  align-items: center;
  /*flex-direction: column;*/
  gap: 8px;
}

.scroll-down::after {
  content: "";
  display: block;
  width: 1px;
  height: 24px;
  background: #fff;
  position: relative;
  animation: lineMove 1.5s ease-in-out infinite;
}

/* アニメーションで "スーッ" と上から下に流れる線 */
@keyframes lineMove {
  0% {
    height: 0;
    opacity: 0;
  }
  50% {
    height: 24px;
    opacity: 1;
  }
  100% {
    height: 0;
    opacity: 0;
  }
}

#Contact .wrap100_inner{
	max-width:800px;
}
.wpcf7-form-control.wpcf7-submit{
	margin:auto;
	display:block;
	background-color:#fff;
	padding:15px;
	min-width:200px;
	font-weight:bold;
	border: solid 2px #ccc;
}
.sg-popup-builder-content{
	color:initial;
}

body.custom-background {
  background-color: #00aae8;
  animation: flashyPulse 5.5s ease-in-out infinite;
}

@keyframes flashyPulse {
  0%, 100% {
    background-color: #00aae8;
  }
  30% {
    background-color: #66d7ff; /* ビカッと明るくなる */
  }
  60% {
    background-color: #00b8f0; /* 一瞬だけ青寄りに揺れる */
  }
}
#media_image-2{
	text-align:center;
}

#Works .wp-block-image{
	cursor:pointer!important;
}

/**/
/* ラッパー：スライダーの外に矢印出せるように */
.works_slider_wrapper {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 0; /* ← 矢印用padding不要にしてpositionで飛ばす */
  overflow: visible; /* ← ここが重要！ */
}

/* Swiper本体 */
.works_slider {
  max-width: 100%;
  padding: 40px 0;
  overflow: hidden;
  position: relative;
}

/* 各スライド */
.swiper-slide {
  background: #fff;
  text-align: center;
  padding: 15px;
  box-sizing: border-box;
  color: #000;
  transition: transform 0.3s ease;
}

/* ホバー時の軽い動き */
.swiper-slide:hover {
  transform: scale(1.02);
}

/* スライド内コンテンツ */
.works_list_item {
  cursor: pointer;
}

.works_list_item img {
  width: 100%;
  height: auto;
  margin-bottom: 10px;
}

.works_list_item p {
  margin: 0;
  text-align: left;
  font-size: 14px;
  line-height: 1.4;
}

/* 矢印外に出す＋スライドと被らないように */
.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  color: #000;
  background: rgba(255,255,255,0.9);
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
.swiper-button-next:after, .swiper-button-prev:after{
	font-size:16px;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
  background: #eee;
}

.swiper-button-prev {
  left: -50px;
}
.swiper-button-next {
  right: -50px;
}

/* ドット（ページネーション） */
.swiper-pagination {
  position: absolute;
  bottom: 10px !important;
  left: 0;
  width: 100%;
  text-align: center;
}

/* ドットの色調整 */
.swiper-pagination-bullet {
  background: #ccc;
  opacity: 1;
}
.swiper-pagination-bullet-active {
  background: #000;
}

@media screen and (max-width:1299px){
	.swiper-button-prev{
		left:10px;
	}
	.swiper-button-next{
		right:10px;
	}
}
/* モバイル対応 */
@media screen and (max-width: 767px) {
  .works_slider_wrapper {
    padding: 0 10px;
  }

  .swiper-slide {
    width: 100% !important;
  }

  .swiper-button-prev,
  .swiper-button-next {
    width: 28px;
    height: 28px;
    font-size: 12px;
  }
	.swiper-button-prev{
		left:-5px;
	}
	.swiper-button-next{
		right:-5px;
	}
}
