@charset "UTF-8";
.whitefont{color:#fff;}
.navbar {
    background: #ededed ;
}
.headroom--not-top {
    box-shadow: 0 0 18px 1px rgba(0, 0, 0, 0) !important;
}


.headroom--not-top .navbar {
    background: #ededed !important;
}
.navbar-nav>li.current-menu-item>a{
color:#2d2d2d !important;
}
.navbar-nav>li.current-menu-item>a:hover {
  border-bottom-color: rgba(0, 0, 0, 1) !important; /* ホバー時に黒線 */
}
.mobile-menu-wrapper>.navbar-nav>li.current-menu-item>a {
    color: #fff !important;
}
h1.entry-title{
display:none;
}
.custom-logo-link img {
  -webkit-filter: invert(100%);
          filter: invert(100%);
}
.maxw100{
padding:0 !important;
}

.d_style h2{
	font-size:100%;
	letter-spacing: 0.3em !important;
	color:#2d2d2d;
}
.d_style h2::before {
  content: "●";
  color: #bafc1d;
  display: inline-block;
  margin-right: 0.5em;
}
.d_style h3{
	font-size:350%;
	letter-spacing: 0.1em !important;
	font-family: "azo-sans-web", sans-serif;
	font-weight: 700 !important;
	font-style: normal;
	color:#2d2d2d;
}
.d_style h4{
	font-size:190%;
	letter-spacing: 0.1em !important;
	color:#2d2d2d;
}

.d_reason_box .numbers{
	font-size:200%;
	font-family: "azo-sans-web", sans-serif;
	font-weight: 700 !important;
	font-style: normal;
	letter-spacing: 0.1em !important;
	color:#2d2d2d;
}

.d_reason_box h4{
	font-size:100%;
	letter-spacing: 0.1em !important;
	color:#2d2d2d;
}
.d_reason_box h5{
	font-size:200%;
	letter-spacing: 0.1em !important;
	color:#2d2d2d;
}
.d_reason_box .wp-block-image{
	/*padding:0 100px 0 0;*/
}
.d_reson_text_r{
	padding:0 0 0 100px;
}
.d_reson_text_l{
	padding:0 100px 0 0;
}
.white_boxs{
	padding:20px;
	background:#fff;
	border-radius: 20px;
	color:#2d2d2d !important;
}

.whites{
	background:#fff;
	border-radius: 20px;
}

.ich5box {
  position: relative;
}

.ich5box {
  margin-block-start: 20px !important;
  padding:10px;
}
.ich5box * {
  margin-block-start: 0px !important;
}

/* 全体を relative にして重ねる基準を作る */
.ich5 {
  position: relative;
  margin: 0 0 10px;
}
.ich5, .ich5box p{
  padding-left: 110px; /* アイコンぶん右にずらす */
}

/* 丸アイコンを左に固定配置 */
.icon-circle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #333;
}

/* アイコンの位置微調整（必要なら） */
.icon-circle i {
  font-size: 40px;
}

.d_style .swiper{
  width: 100% !important;
	margin:0 !important;
}

/* 複数枚を横並びに表示 */
.wp-block-jetpack-slideshow_swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  scroll-behavior: smooth;
  /*gap: 24px;*/
}
/* 各スライドを固定幅で表示 */
.wp-block-jetpack-slideshow_slide {
  flex: 0 0 auto;
  width: 400px !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}




@media screen and (max-width: 781px) {
	.d_reason_box .wp-block-image{
		padding:0;
	}
	.d_reson_text_r{
		padding:0;
	}
	.d_reson_text_l{
		padding:0;
	}
}

.d_reason_box .wp-block-image img{
	border-radius: 20px;
}

@media screen and (max-width: 480px) {
    .entry-content>.maxw100 {
        padding-right: 0px !important;
        padding-left: 0px !important;
    }
}
.fviewtext{padding:0 30px !important;}
.fviewtext img {
/* 呼吸エフェクト */
animation: breath 4s ease-in-out infinite;
}
@keyframes breath {
0%, 100%   { opacity: 1;   }  /* フルの濃さ */
50%        { opacity: 0.6; }  /* 少し薄く */
}

.marquee-container {
  overflow: hidden;
  position: relative;
  max-width: 100%;
}

/* 行共通 */
.marquee-row {
  width: 100%;
  white-space: nowrap;
  box-sizing: border-box;
  overflow: hidden;
  margin: 1rem 0; /* 行間 */
}

/* コンテンツを横並びにして、アニメーション */
.marquee-content {
  width: 100%;
  display: inline-flex;
  animation-name: marquee;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

/* 行ごとに速度を変える */
.row-top    .marquee-content { animation-duration: 36s; }
.row-middle .marquee-content { animation-duration: 27s; animation-direction: reverse;}
.row-bottom .marquee-content { animation-duration: 22s;}

/* バナー画像 */
.marquee-content img {
  display: block;
  margin-right: 2rem; /* 画像間の余白 */
  max-height: 180px;  /* お好みで高さ調整 */
  object-fit: cover;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
}

/* アニメーション定義 */
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }

}

@media screen and (max-width: 767px) {
/* バナー画像 */
.marquee-content img {
  display: block;
  margin-right: 0.5rem; /* 画像間の余白 */
  max-height: 100px;  /* お好みで高さ調整 */
  object-fit: cover;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.fviewtext{padding:0 !important;}
/* 行共通 */
.marquee-row {
  width: 100%;
  white-space: nowrap;
  box-sizing: border-box;
  overflow: hidden;
  margin: 0.5rem 0; /* 行間 */
}
/* 行ごとに速度を変える */
.row-top    .marquee-content { animation-duration: 13s; }
.row-middle .marquee-content { animation-duration: 10s; animation-direction: reverse;}
.row-bottom .marquee-content { animation-duration: 7s;}

}


/* ── コンテナ ── */
.pattern-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  isolation: isolate;
  background: #ededed;
  padding: 20px 0;
}

/* ── 画像は下層に ── */
.pattern-container img {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  z-index: 0;
}
/* ── 共通設定を外す ── */
.pattern-container .shape {
  position: absolute;
  mix-blend-mode: multiply;
  z-index: 1;
}

/* ── 黄色：右上で回転 ── */
.pattern-container .shape.yellow {
  top: 0;
  right: 0;
  animation: spinYellow 10s linear infinite;
  background: rgba(243,255,115, 0.6);
  width: 50%;
  height: 50%;
  border-radius: 20px;
}

/* ── 赤：左上から右下へ移動 ── */
.pattern-container .shape.red {
  top: 0;
  left: 0;
  animation: moveRed 8s ease-in-out infinite alternate;
  background: rgba(170,255,249,0.6);
  width: 30%;
  height: 15%;
  border-radius: 20px;
}

/* ── 青：中央で拡大・縮小 ── */
.pattern-container .shape.green {
  top: 60%;
  right: 0%;
  transform: translate(-50%, -50%);
  animation: pulseGreen 8s ease-in-out infinite;
  background: rgba(134,226,251,0.6);
  width: 20%;
  height: 40%;
  border-radius: 20px;
}

/* ── 桃：左下コーナーで往復 ── */
.pattern-container .shape.blue {
  bottom: 10%;
  left: 0;
  animation: slideBlue 6s linear infinite;
  background: rgba(255,193,232,0.6);
  width: 40%;
  height: 30%;
  border-radius: 20px;
}

/* ── キーフレーム定義 ── */
/* 黄色のスピン */
@keyframes spinYellow {
  from   { transform: rotate(0deg); }
  to     { transform: rotate(360deg); }
}

/* 赤の斜め移動 */
@keyframes moveRed {
  from { transform: translate(0, 0); }
  to   { transform: translate(200%, 400%); }
}

/* 緑の脈打ち（拡大・縮小） */
@keyframes pulseGreen {
  0%,100% { transform: translate(-50%,-50%) scale(1); }
  50%     { transform: translate(-50%,-50%) scale(1.5); }
}

/* 青の左→右往復 */
@keyframes slideBlue {
  0%   { transform: translateX(0); }
  50%  { transform: translateX(80%); }
  100% { transform: translateX(0); }
}


/* PCのときに非表示 */
@media screen and (min-width: 481px) {
  .hide-on-pc {
    display: none;
  }
}

/* スマホのときに非表示 */
@media screen and (max-width: 480px) {
  .hide-on-mobile {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
	.navbar-nav>li.current-menu-item>a {
	    color: #fff;
	}
	.navbar-toggle .icon-bar {
	    background: #000 !important;
	}
	.side-nav__close-button>.navbar-toggle .icon-bar {
	    background: #fff !important;
	}
}

