/*
Theme Name:YsLink-Elementor-Custom
Description: 
Author: YsLink Corporation 
Author URI:https://ys-link.co.jp/
Template:hello-elementor
Version:3.4.9
*/

/*recaptchaの非表示*/
.grecaptcha-badge { visibility: hidden; }

/*Contact Form 7カスタマイズ*/
/*スマホContact Form 7カスタマイズ*/
@media(max-width:500px){
.inquiry th,.inquiry td {
 display:block!important;
 width:100%!important;
 border-top:none!important;
 -webkit-box-sizing:border-box!important;
 -moz-box-sizing:border-box!important;
 box-sizing:border-box!important;
}
.inquiry tr:first-child th{
 border-top:1px solid #dcdcdc !important;
}
.textarea{
 width: auto!important;
}
/* 必須・任意のサイズ調整 */	
.inquiry .haveto,.inquiry .any {	
font-size:12px;
}}
/*見出し欄*/
.inquiry th{
 text-align:left;
 vertical-align:middle;
 font-size:12px;
 font-weight:bold;
 color:#444;
 padding-right:5px;
 width:32%;
 border:solid 1px #dcdcdc;
}
/*通常欄*/
.inquiry td{
 font-size:13px;
 border:solid 1px #dcdcdc;
}
/*横の行とテーブル全体*/
.entry-content .inquiry tr,.entry-content table{
 border:solid 1px #dcdcdc;	
}
/*必須の調整*/
.haveto{
 font-size:7px;
 padding:5px;
 background:#ff9393;
 color:#fff;
 border-radius:2px;
 margin-right:5px;
 position:relative;
 bottom:1px;
}
/*任意の調整*/
.any{
 font-size:7px;
 padding:5px;
 background:#93c9ff;
 color:#fff;
 border-radius:2px;
 margin-right:5px;
 position:relative;
 bottom:1px;
}
/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item{
 display:block;
}
/*送信ボタンのデザイン変更*/
#formbtn{
 display: block;
 padding:0em 0;
 margin-top:30px;
 width:100%;
 background:#0052b7;
 color:#fff;
 font-size:18px;
 font-weight:bold;	 
 border-radius:2px;
 border: none;
}
/*送信ボタンマウスホバー時*/
#formbtn:hover{
 background:#008000;
 color:#ffffff;
}

/* スクロールバーの幅 */
.scroll-box::-webkit-scrollbar { width: 15px; }

/* スクロールバー背景色 */
.scroll-box::-webkit-scrollbar-track { background: #f1f1f1; }

/* スクロールバーのつまみの色 */
.scroll-box::-webkit-scrollbar-thumb { border-radius: 0px; background: #c1c1c1; }

/* 本文調整 */
.bs {
  margin-bottom: 1.0em;
	margin-top: 10px;
	margin-left: 10px;
	margin-right: 10px
}

/* articleのレイアウト調整 */
.ast-separate-container .ast-article-post, .ast-separate-container .ast-article-single {
    padding: 4.34em 3em;
}

@media (max-width: 544px){
.ast-separate-container .ast-article-post, .ast-separate-container .ast-article-single {
    padding: 3em 1em;
	}}

/* 囲い枠のCSS設定 */
.box1 {
    position: relative;
    margin: 0.5em 0.5em;
    padding: 25px 10px 7px;
    border: solid 2px #CCCCCC;
    background: #E8F7FF;
}
.box1 .box-title {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 2px 9px;
    height: 30px;
    line-height: 25px;
    font-size: 17px;
    background: #26B597;
    color: #ffffff;
    font-weight: bold;
}
.box1 p {
    margin: 0; 
    padding: 15px 5px 5px;
}

/* 見出しのCSS設定 */
h1 {
	font-weight: bold;
  position: relative;
	color: #7E7878;
}

h1:first-letter {
  font-size: 1.6em;
  color: #1F68E1;
}

h1:after {
  content: "";
	margin-top: 5px;
  display: block;
  height: 3px;
  background: linear-gradient(to right,transparent,#c0c0c0,#e6e6fa,transparent );
}

#midashi1 {
	font-weight: bold;
	position: relative;
	color: #000000;
}

#midashi1:first-letter {
  font-size: 1.6em;
  color: #000000;
}

h2 {
	font-weight: bold;
	position: relative;
	color: #08296a;
}

h2:first-letter {
  font-size: 1.4em;
  color: #776F09;
}

h2:after {
  content: "";
	margin-top: 10px;
  display: block;
  height: 3px;
	background: linear-gradient(to right,transparent,#c0c0c0,#e6e6fa,transparent );
}

h3 {
  font-weight: bold;
	padding-bottom: 5px;
  position: relative;
	color: #08296a;
}

h3:first-letter {
  font-size: 1.2em;
  color: #776F09;
}

h4 {
  font-weight: bold;
  position: relative;
	color: #1F68E1;
}

h4:first-letter {
  font-size: 1.1em;
  color: #0BA599;
}

h5 {
  font-weight: bold;
	padding-bottom: 2px;
  position: relative;	
	font-size: 1.0em;
	color: #1F68E1;
}

h5:first-letter {
  font-size: 1.0em;
  color: #DB2F10;
}

/* ボタン文字色を“必ず白”にする（Elementor/テーマに勝つ） */
.bizle-fv-wrap .bizle-cta,
.bizle-fv-wrap .bizle-cta:visited,
.bizle-fv-wrap .bizle-cta span,
.bizle-fv-wrap .bizle-cta b,
.bizle-fv-wrap .bizle-cta strong,
.bizle-fv-wrap .bizle-cta em{
  color: #fff !important;
}

/* hover時：文字色を黄色に（子要素も含めて） */
.bizle-fv-wrap .bizle-cta:hover,
.bizle-fv-wrap .bizle-cta:hover span,
.bizle-fv-wrap .bizle-cta:hover b,
.bizle-fv-wrap .bizle-cta:hover strong,
.bizle-fv-wrap .bizle-cta:hover em{
  color: var(--hoverYellow, #ffd36a) !important;
}

/* ついでに“下線”が出るテーマがあるので抑止 */
.bizle-fv-wrap .bizle-cta,
.bizle-fv-wrap .bizle-cta:hover{
  text-decoration: none !important;
}
/* =========================================================
   Bizle FV - Clean CSS (REPLACE ALL)
   - 背景：右端 #01368e のLRグラデ
   - 光：画像の上（.bizle-fv-wrap--plain）で“複数本”
   - スピード：5s
   - 回数：1回（最後に消える）
========================================================= */

:root{
  --bizle-navy:#0b2f9f;
  --bizle-sky:#1b7fe6;
  --bizle-hoverYellow:#ffd36a;
}

/* ===== FV 背景（全幅） ===== */
.bizle-fv-bg--light{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 0 !important;

  background:
    radial-gradient(900px 520px at 78% 35%, rgba(120,180,255,.22) 0%, rgba(120,180,255,0) 60%),
    radial-gradient(900px 520px at 14% 40%, rgba(0,181,255,.16) 0%, rgba(0,181,255,0) 62%),
    linear-gradient(90deg,
      #f4fbff 0%,
      #eaf6ff 22%,
      #d9eeff 48%,
      #bcdcff 72%,
      #6fa8ff 88%,
      #01368e 100%
    );
}

/* 1200枠 */
.bizle-fv-bg__inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 !important;
}

/* 画像ラッパー（枠なし） */
.bizle-fv-wrap--plain{
  position: relative;
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
}

.bizle-fv-img{
  display:block;
  width:100%;
  height:auto;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* ===== CTA（左下） ===== */
.bizle-fv-ctas{
  position:absolute;
  left:44px;
  bottom:42px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  z-index: 6; /* 光より前 */
}

/* ボタン（白→hover黄、拡大＋キラッ） */
.bizle-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 22px;
  border-radius:999px;
  font-weight:1000;
  text-decoration:none !important;
  white-space:nowrap;

  font-size:1.25rem;
  line-height:1;

  color:#fff !important;
  -webkit-text-fill-color:#fff !important;

  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 18px 44px rgba(9,30,66,.26);

  transition: transform .18s ease, filter .18s ease, color .18s ease;
  position:relative;
  overflow:hidden;
  will-change: transform;
}
.bizle-cta::after{
  content:"";
  position:absolute;
  top:-20%;
  left:-60%;
  width:55%;
  height:140%;
  transform: skewX(-20deg);
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.35) 40%,
    rgba(255,255,255,.75) 50%,
    rgba(255,255,255,.35) 60%,
    rgba(255,255,255,0) 100%
  );
  opacity:0;
  pointer-events:none;
}
.bizle-cta:hover{
  transform: scale(1.06);
  color: var(--bizle-hoverYellow) !important;
  -webkit-text-fill-color: var(--bizle-hoverYellow) !important;
  filter: brightness(1.04);
}
.bizle-cta:hover::after{ opacity:1; animation: bizleShine .85s ease-out 1; }

@keyframes bizleShine{
  0%{ left:-60%; opacity:0; }
  10%{ opacity:1; }
  100%{ left:130%; opacity:0; }
}

.bizle-cta--navy{
  background: linear-gradient(135deg, #082681 0%, var(--bizle-navy) 45%, #1446d8 100%);
}
.bizle-cta--sky{
  background: linear-gradient(135deg, #0ea5ff 0%, var(--bizle-sky) 55%, #1446d8 100%);
}

/* =========================================================
   光：画像の上に“複数本”
   - ::before = 複数本の細い筋（メイン）
   - ::after  = さらに細いハイライト（サブ）
========================================================= */

/* 複数本の光筋（メイン） */
.bizle-fv-wrap--plain::before{
  content:"";
  position:absolute;
  inset:-35% -30%;
  pointer-events:none;
  z-index: 4; /* 画像の上、ボタンの下 */
  transform: translateX(-22%) rotate(-2deg);

  /* “複数本”にする：細い芯×複数＋周辺グロー */
  background: linear-gradient(115deg,
    rgba(255,255,255,0) 0%,

    /* 1本目（細） */
    rgba(255,255,255,0) 42.8%,
    rgba(255,255,255,.18) 44.2%,
    rgba(255,255,255,.90) 44.8%,
    rgba(255,255,255,.18) 45.4%,
    rgba(255,255,255,0) 46.8%,

    /* 2本目（メイン） */
    rgba(255,255,255,0) 48.4%,
    rgba(255,255,255,.22) 49.3%,
    rgba(255,255,255,1)  50.0%,
    rgba(255,255,255,.22) 50.7%,
    rgba(255,255,255,0) 51.6%,

    /* 3本目（細） */
    rgba(255,255,255,0) 53.2%,
    rgba(255,255,255,.16) 54.6%,
    rgba(255,255,255,.75) 55.2%,
    rgba(255,255,255,.16) 55.8%,
    rgba(255,255,255,0) 57.2%,

    rgba(255,255,255,0) 100%
  );

  opacity: .30;
  filter: blur(0.28px);
  mix-blend-mode: screen;
}

/* サブのハイライト（さらに細い線） */
.bizle-fv-wrap--plain::after{
  content:"";
  position:absolute;
  inset:-40% -30%;
  pointer-events:none;
  z-index: 4;
  transform: translateX(-22%) rotate(-2deg);

  background: linear-gradient(115deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0) 47.8%,
    rgba(255,255,255,1)  50%,
    rgba(255,255,255,0) 52.2%,
    rgba(255,255,255,0) 100%
  );

  opacity: .12;
  mix-blend-mode: screen;
}

/* ===== 5s × 1回：最後は消える ===== */
.bizle-fv-bg--light.is-animated .bizle-fv-wrap--plain::before,
.bizle-fv-bg--light.is-animated .bizle-fv-wrap--plain::after{
  animation: bizleSweep 5s linear 0s 1 forwards !important;
}

/* 最後にopacity:0へ（“消える”） */
@keyframes bizleSweep{
  0%   { transform: translateX(-22%) rotate(-2deg); opacity: .06; }
  12%  { opacity: .55; }
  55%  { opacity: .34; }
  92%  { opacity: .16; }
  100% { transform: translateX(22%) rotate(-2deg); opacity: 0; }
}

/* ===== モバイル ===== */
@media (max-width: 768px){
  .bizle-fv-ctas{
    left:12px;
    right:12px;
    bottom:12px;
    justify-content:center;
  }
  .bizle-cta{ width:100%; max-width:420px; }
}

/* ===== Bizle Flow Vertical (FULL REPLACE / a・div完全統一) ===== */
.bz-flowV{
  --navy:#08296A;
  --arrow:#059CB8;
  --done:#E11D48;
  --text:#0f172a;
  --muted:#64748b;
  --border:#e5e7eb;

  max-width: 1200px;
  margin: 0 auto;
  font-family: system-ui,-apple-system,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
}

/* a/div どちらでも “カード” として統一（aのデフォルトを殺す） */
.bz-flowV .bz-stepV{
  display:grid !important;
  grid-template-columns: 76px 1fr 76px !important;
  align-items:stretch !important;

  background:#fff !important;
  border:1px solid var(--border) !important;
  border-radius:16px !important;
  overflow:hidden !important;

  box-shadow: 0 10px 28px rgba(2,6,23,.10) !important;
  margin: 0 0 14px 0 !important;

  /* aタグの崩れ防止 */
  text-decoration:none !important;
  color:inherit !important;
  outline: none !important;
}

/* aタグだけに入る変な装飾（青文字/下線/hover）を完全に無効化 */
.bz-flowV a.bz-stepV:link,
.bz-flowV a.bz-stepV:visited,
.bz-flowV a.bz-stepV:hover,
.bz-flowV a.bz-stepV:active{
  color:inherit !important;
  text-decoration:none !important;
}

/* フォーカスリングは必要なら軽く */
.bz-flowV a.bz-stepV:focus-visible{
  box-shadow: 0 0 0 3px rgba(5,156,184,.25), 0 10px 28px rgba(2,6,23,.10) !important;
}

/* 左：番号帯 */
.bz-flowV .bz-stepV__num{
  background: var(--navy) !important;
  color:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.bz-flowV .bz-stepV__n{
  font-weight:900 !important;
  font-size:18px !important;
  line-height:1 !important;
}

/* 中央：本文（アイコン＋テキスト） */
.bz-flowV .bz-stepV__body{
  padding: 14px 16px !important;
  display:grid !important;
  grid-template-columns: 36px 1fr !important;
  column-gap: 12px !important;
  align-items:center !important;
}

/* アイコン */
.bz-flowV .bz-stepV__icoText{
  width: 33px !important;
  height: 33px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:.95 !important;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.12)) !important;
}
.bz-flowV .bz-stepV__icoText svg{
  width: 33px !important;
  height: 33px !important;
  fill: var(--navy) !important;
}

/* テキスト */
.bz-flowV .bz-stepV__text{
  display:flex !important;
  flex-direction:column !important;
  gap: 6px !important;
}
.bz-flowV .bz-stepV__title{
  font-weight:900 !important;
  font-size:20px !important; /* 指定 */
  color: var(--text) !important;
  line-height:1.2 !important;
}
.bz-flowV .bz-stepV__desc{
  font-weight:400 !important;
  font-size:14px !important; /* 指定 */
  color: var(--muted) !important;
  line-height:1.55 !important;
}

/* 右：帯（矢印↓ / 完了） */
.bz-flowV .bz-stepV__tail{
  background: var(--arrow) !important;
  color:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-weight:900 !important;
}
.bz-flowV .bz-stepV__arrow{
  font-size:26px !important;
  line-height:1 !important;
}

/* 6番：右端だけ赤＋完了（それ以外は上と完全一致） */
.bz-flowV .bz-stepV--done .bz-stepV__tail{
  background: var(--done) !important;
}
.bz-flowV .bz-stepV__doneTxt{
  font-size:18px !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
}

/* クリック無効にしたい場合（aでもdivでも使える） */
.bz-flowV .bz-stepV--disabled{
  pointer-events:none !important;
  cursor:default !important;
}

/* 補足：右寄せ */
.bz-flowV .bz-flowV__note{
  margin-top: 6px !important;
  font-size: 12px !important;
  color: #6b7280 !important;
  line-height: 1.6 !important;
  text-align: right !important;
}

/* hover（リンク行だけ少し浮かす） */
.bz-flowV a.bz-stepV:hover{
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 34px rgba(2,6,23,.12) !important;
  transition: box-shadow .18s ease, transform .18s ease !important;
}

/* SP */
@media (max-width: 520px){

  /* グリッド：左右帯を10%に */
  .bz-flowV .bz-stepV{
    grid-template-columns: 10% 1fr 10% !important;
    border-radius: 14px !important;
    font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif !important;
  }

  /* アイコン列を20pxに合わせて縮小 */
  .bz-flowV .bz-stepV__body{
    grid-template-columns: 20px 1fr !important;
    column-gap: 8px !important;
    padding: 12px 10px !important;
  }

  /* アイコン：20px */
  .bz-flowV .bz-stepV__icoText,
  .bz-flowV .bz-stepV__icoText svg{
    width: 20px !important;
    height: 20px !important;
  }

  /* タイトル・説明文も少し縮小 */
  .bz-flowV .bz-stepV__title{
    font-size: 15px !important;
  }
  .bz-flowV .bz-stepV__desc{
    font-size: 12px !important;
  }

  /* 「完了」を縦表示 */
  .bz-flowV .bz-stepV__doneTxt{
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    font-size: 14px !important;
    letter-spacing: .15em !important;
  }

  /* ↓矢印サイズ調整 */
  .bz-flowV .bz-stepV__arrow{
    font-size: 20px !important;
  }

  /* 番号フォントサイズ調整 */
  .bz-flowV .bz-stepV__n{
    font-size: 15px !important;
  }
}

	.bz-flowV h3{
    	font-size: 22px !important;
		font-weight:800 !important;
  	}
  	.bz-flowV .bz-stepV__title{
    	font-size: 18px !important;
  	}
  	.bz-flowV .bz-stepV__desc{
    	font-size: 13px !important;
  	}
}

/* ウェイトが乗らないフォント対策：視覚的に太く見せる */
.bz-flowV .bz-stepV--done .bz-stepV__title{
  font-weight: 900 !important;
  text-shadow: 0.4px 0 0 currentColor, -0.4px 0 0 currentColor;
}
.bz-flowV .bz-stepV--done .bz-stepV__n{
  font-weight: 900 !important;
  text-shadow: 0.4px 0 0 #fff, -0.4px 0 0 #fff;
}

/* ファーストビュー */
:root{
  --navy:#0b2f9f;
  --sky:#1b7fe6;
  --hoverYellow:#ffd36a;
}

@keyframes bizleShine{
  0%{ left:-60%; opacity:0; }
  10%{ opacity:1; }
  100%{ left:130%; opacity:0; }
}