/*
Theme Name: Voice gate　テンプレート
Theme URI: https://vidweb.co.jp/voicegate/
Author: VIDWEB
Author URI: https://vidweb.co.jp
Version: 2.0.
*/

body {
    font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	margin: 0;
	padding: 0;
    color:#242424;
	background-color: #F5F5F5;
    line-height: 1.75;
    font-weight: 400;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body,html {
    height: 100%
}
body .wrapper{
	overflow:hidden;
}
body a{
	transition: all 0.3s ease 0s;
}
.nowrap{
	white-space:nowrap;
}
.position-relative{
	position:relative;
}
span.bold {
	font-weight:900;
	background: linear-gradient(transparent 60%,#D7E9F9 70%);
	background: -webkit-linear-gradient(transparent 60%,#D7E9F9 0);
}
/* =====================================================
   VIDEO GATE — 新サービスリリースバナー CSS
   ===================================================== */

.vg-banner {
  position: relative;
  width: 100%;
  height: 80px;
  background: #ffffff;
  border-bottom: 1px solid #0e2b47;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vg-banner__glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.vg-banner__glow::before,
.vg-banner__glow::after {
  content: '';
  position: absolute;
  border-radius: 50%;
}
.vg-banner__glow::before {
  width: 45%;
  height: 420px;
  left: -4%;
  top: 50%;
  transform: translateY(-50%);
  background: radial-gradient(ellipse at 30% 50%, rgba(255, 140, 183, 0.88) 0%, rgba(255, 140, 183, 0) 70%);
  filter: blur(32px);
}
.vg-banner__glow::after {
  width: 45%;
  height: 340px;
  right: -4%;
  top: 50%;
  transform: translateY(-50%);
  background: radial-gradient(ellipse at 70% 50%, rgba(198, 107, 255, 0.78) 0%, rgba(198, 107, 255, 0) 70%);
  filter: blur(32px);
}

.vg-banner__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 28px;
}

.vg-banner__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  height: 47px;
  background: #0e2b47;
  color: #ffffff;
  font-family: system-ui, -apple-system, sans-serif;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.03em;
  white-space: nowrap;
  flex-shrink: 0;
}

.vg-banner__brand {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  flex-shrink: 0;
}
.vg-banner__brand-icon {
  display: block;
  flex-shrink: 0;
}
.vg-banner__brand-name {
  font-family: system-ui, -apple-system, sans-serif;
  font-weight: 700;
  font-size: 19px;
  color: #0f0f12;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.vg-banner__tagline {
  font-family: "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 1.2;
  color: #0f0f12;
  white-space: nowrap;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
}
.vg-banner__tagline em {
  font-style: normal;
  color: #b666ff;
}

.vg-banner__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  height: 39px;
  background: linear-gradient(48deg, #ac1e67 0%, #5c007d 98%);
  color: #ffffff;
  font-family: system-ui, -apple-system, sans-serif;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.02em;
  border-radius: 30px;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  border: none;
  cursor: pointer;
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.vg-banner__cta:hover  { opacity: 0.88; transform: translateY(-1px); color: #ffffff; }
.vg-banner__cta:active { opacity: 1;    transform: translateY(0); }
.vg-banner__cta:focus-visible { outline: 2px solid #b666ff; outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  .vg-banner__cta { transition: none; }
}

@media (max-width: 767px) {
  .vg-banner {
    height: 56px;
  }
  .vg-banner__inner {
    gap: 10px;
  }
  .vg-banner__badge {
    display: none;
  }
  .vg-banner__brand-icon {
    width: 20px;
    height: auto;
  }
  .vg-banner__brand-name {
    font-size: 14px;
    letter-spacing: 0.04em;
  }
  .vg-banner__tagline {
    font-size: 22px;
  }
  .vg-banner__cta {
    padding: 0 14px;
    height: 32px;
    font-size: 13px;
  }
}

/* =====================================================
   VIDEO GATE — サイドバー宣伝カード CSS
   ヘッダーの .vg-banner と同じ意匠を縦型カードに再構成したもの。
   トップページ右カラム (col-lg-4) に置く。未ログイン時は単独、
   ログイン時は資料ダウンロード (#home .download) の上に並ぶ。
   ===================================================== */

.vg-promo {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #0e2b47;
  border-radius: 10px;
  /* 隣に並ぶ #home .main form の margin-top:24px と頭を揃える。
     1カラムに落ちる幅では、上の要素との間隔としてそのまま効く。 */
  margin-top: 24px;
}

.vg-promo__glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.vg-promo__glow::before,
.vg-promo__glow::after {
  content: '';
  position: absolute;
  border-radius: 50%;
}
.vg-promo__glow::before {
  width: 90%;
  height: 200px;
  left: -20%;
  top: -60px;
  background: radial-gradient(ellipse at 50% 50%, rgba(255, 140, 183, 0.75) 0%, rgba(255, 140, 183, 0) 70%);
  filter: blur(32px);
}
.vg-promo__glow::after {
  width: 90%;
  height: 180px;
  right: -20%;
  bottom: -60px;
  background: radial-gradient(ellipse at 50% 50%, rgba(198, 107, 255, 0.65) 0%, rgba(198, 107, 255, 0) 70%);
  filter: blur(32px);
}

.vg-promo__inner {
  position: relative;
  z-index: 1;
  padding: 20px 18px;
}

.vg-promo__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  height: 26px;
  background: #0e2b47;
  color: #ffffff;
  font-family: system-ui, -apple-system, sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.03em;
  white-space: nowrap;
  border-radius: 3px;
}

.vg-promo__brand {
  display: flex;
  align-items: center;
  gap: 7px;
  text-decoration: none;
  margin-top: 14px;
}
.vg-promo__brand-icon {
  display: block;
  flex-shrink: 0;
}
.vg-promo__brand-name {
  font-family: system-ui, -apple-system, sans-serif;
  font-weight: 700;
  font-size: 17px;
  color: #0f0f12;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.vg-promo__tagline {
  font-family: "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: 27px;
  line-height: 1.25;
  color: #0f0f12;
  margin: 8px 0 0;
  padding: 0;
}
.vg-promo__tagline em {
  font-style: normal;
  color: #b666ff;
}

.vg-promo__body {
  font-size: 13px;
  line-height: 1.75;
  color: #242424;
  margin: 12px 0 0;
}

.vg-promo__note {
  font-size: 13px;
  line-height: 1.7;
  font-weight: bold;
  color: #0e2b47;
  background: rgba(182, 102, 255, 0.1);
  border-left: 3px solid #b666ff;
  border-radius: 0 4px 4px 0;
  padding: 10px 12px;
  margin: 14px 0 0;
}

.vg-promo__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 44px;
  margin-top: 14px;
  background: linear-gradient(48deg, #ac1e67 0%, #5c007d 98%);
  color: #ffffff;
  font-family: system-ui, -apple-system, sans-serif;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.02em;
  border-radius: 30px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.vg-promo__cta:hover  { opacity: 0.88; transform: translateY(-1px); color: #ffffff; text-decoration: none; }
.vg-promo__cta:active { opacity: 1;    transform: translateY(0); }
.vg-promo__cta:focus-visible { outline: 2px solid #b666ff; outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  .vg-promo__cta { transition: none; }
}

header.header{
	position:fixed;
	top:80px;
	left:0;
	right:0;
	z-index:1000;
	background:#fff;
	border-bottom: solid 1px #ddd;
}


/* ===== ヘッダーバー ===== */
.header-bar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	height:64px;
	gap:12px;
}
.header-logo{
	display:flex;
	align-items:center;
	gap:4px;
	flex-shrink:0;
}
.header-powered{
	font-size:8px;
	color:#0F2B46;
	font-weight: bold;
}

/* ===== アワードバッジ ===== */
.header-badge{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:4px;
	flex-shrink:0;
}
.badge-leaf{
	height:52px;
	width:auto;
	margin-left:10px;
}
.badge-leaf-right{
	transform:scaleX(-1);
}
.badge-text{
	font-size:11px;
	color:#0F2B46;
	font-weight:900;
	text-align:center;
	line-height:1.2;
	white-space:nowrap;
	margin: -8px -22px 0 -14px;
}
.badge-text .badge-num{
	font-size:14px;
	font-weight:800;
}
.badge-text .badge-label{
	font-size:14px;
	font-weight:800;
}

.header-right{
	display:flex;
	align-items:center;
	gap:8px;
	flex-shrink:0;
}
.header-nav{
	display:flex;
	align-items:center;
}
.header-nav a{
	color:#0F2B46;
	text-decoration:none;
	font-size:14px;
	padding:0 6px;
}
.header-cta{
	background:#2A7AC8;
	color:#fff;
	font-size:16px;
	font-weight:bold;
	border-radius:5px;
	white-space:nowrap;
}

/* ===== ハンバーガーボタン（モバイルのみ） ===== */
.header-hamburger{
	display:none;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	gap:5px;
	width:40px;
	height:40px;
	background:none;
	border:none;
	cursor:pointer;
	padding:6px;
	border-radius:6px;
	flex-shrink:0;
}
.header-hamburger span{
	display:block;
	width:22px;
	height:2px;
	background:#0F2B46;
	border-radius:2px;
	transition:transform 0.25s, opacity 0.25s;
}
.header-hamburger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.header-hamburger.is-open span:nth-child(2){ opacity:0; }
.header-hamburger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ===== ドロワー ===== */
.header-drawer{
	display:none;
	background:#fff;
	border-top:solid 1px #eee;
	overflow:hidden;
}
.drawer-nav{
	display:flex;
	flex-direction:column;
	padding:12px 20px 20px;
	gap:4px;
}
.drawer-nav a{
	display:block;
	color:#0F2B46;
	text-decoration:none;
	font-size:15px;
	padding:12px 0;
	border-bottom:solid 1px #f0f0f0;
}
.drawer-nav a:last-child{
	border-bottom:none;
}
.drawer-nav .drawer-cta{
	margin-top:8px;
	text-align:center;
	background:#2A7AC8;
	color:#fff !important;
	font-weight:bold;
	border-radius:6px;
	padding:14px;
	border-bottom:none;
}
footer{
	padding:30px 0;
}
footer li{
	margin-bottom:10px;
	border-right:solid 1px #222;
	text-align:center;
}
footer li:last-child{
	border-right:none;
}
footer li a{
	color:#222222;
	text-decoration:none;
	font-size:12px;
	display:block;
	padding:0 10px;
}
footer p{
	font-size:12px;
}
button.btn{
	background:#0F2B46;
	color:#fff;
	border:solid 2px #0F2B46;
	padding:15px;
	opacity:1;
	-webkit-transition: all .2s;
	transition: all .2s;
	white-space:nowrap;
}
button.btn:hover,a.btn:hover{
	opacity:0.7;
}
@media (max-width: 767px) {
	.header-right{ display:none; }
	.header-hamburger{ display:flex; }
	.header-badge{ display:none; }
	.header-drawer.is-open{ display:block; }
}
@media (min-width: 768px) {
	footer li{
		border-right:solid 1px #222;
	}
	.header-bar{
		height:72px;
	}
}
/* ===== タブレット最適化（768px〜991px） ===== */
@media (min-width: 768px) and (max-width: 991px) {
	.header-badge{ display:none; }
}
@media (min-width: 992px) {
	.container{
		max-width:880px !important;
	}
	/* トップページの入力フォーム行だけ、他セクションより広く張り出させる。
	   フォームと VIDEO GATE 宣伝カードを 8:4 に分割したぶん手狭になるため。
	   .main 直下の1つ目の .container がフォーム行、2つ目はアプリ紹介バナーで、
	   そちらはヘッダー・フッターと同じ 880px のまま揃える。

	   1200px なのはログイン時に合わせるため。ログイン時のフォーム行には元から
	   style="max-width:1200px !important" がインラインで付いており（資料ダウン
	   ロードのサイドバーが並ぶぶん広げてある）、未ログイン時も宣伝カードが並んで
	   同じ条件になったので幅を揃える。インライン指定の方が強いためログイン時は
	   そちらが勝つが、値が同じなので結果は一致する。 */
	#home .main > .container:first-child{
		max-width:1200px !important;
	}
}

#home{
	margin-top:65px;
}
#home .hero{
	background:#0F2B46;
	color:#fff;
	padding:20px 0;
}
#home .hero .order-lg-2 img{
	margin-bottom:24px;
}
#home .hero h1{
	font-weight:900;
	font-size:32px;
}
#home .hero ul{
	margin-bottom:0;
}
#home .hero ul li{
	color:#0F2B46;
	font-size:14px;
	font-weight:bold;
	line-height:1;
	background:#fff;
	border-radius:15px;
	margin-right:9px;
	text-align:center;
	white-space:nowrap;
	padding:5px 10px;
	margin-bottom:5px;
}
#home .hero .order-lg-2 ul.list{
	max-width:400px;
}
#home .hero ul.list li{
	color:#fff;
	background:transparent;
	border:none;
	border-right:solid 1px rgba(255,255,255,0.7);
	font-weight:300;
	border-radius:0;
	margin-right:0;
	padding:2px 10px;
	font-size:13px;
}
#home .hero ul.list li:last-child{
	border:none;
}
#home .hero .mention{
	margin-top:20px;
	border:solid 2px #fff;
	padding:10px;
	border-radius:6px;
	font-weight:bold;
	font-size:14px;
}
#home .hero .mention a{
	color:#fff;
}
#home .hero .mention span{
	border:solid 2px #fff;
	padding:20px;
}
#home .hero a.btn{
	background:#fff;
	border-radius:5px;
	padding:5px 10px;
	border:solid 2px #fff;
	opacity:1;
	transition: all 0.3s ease 0s;
}
#home .hero a.btn:hover{
	opacity:0.6;
}
#home .hero .clients{
	font-size:12px;
}
#home .hero .clients-link{
	font-size:13px;
}
#home .hero .clients-link a{
	color:#fff;
	text-decoration:underline;
	opacity:0.85;
	transition: opacity 0.2s ease;
}
#home .hero .clients-link a:hover{
	opacity:1;
}
#home .news{
	background: #E3E3E3;
	padding: 10px 0;
	font-size:13px;
}
#home .news .title{
	display: inline-block;
	background: #242424;
	color: #fff;
	border-radius: 4px;
	padding: 2px 12px;
	white-space: nowrap;
	margin-right:8px;
}
#home .news .news-toggle{
	color:#222;
	text-decoration:none;
	cursor:pointer;
	gap:10px;
}
#home .news .news-toggle:hover{
	color:#000;
}
#home .news .news-summary{
	font-weight:bold;
}
#home .news .news-caret{
	font-weight:bold;
	font-size:18px;
	line-height:1;
	width:20px;
	text-align:center;
	transition: transform 0.2s ease;
}
#home .news .news-toggle[aria-expanded="true"] .news-caret{
	transform: rotate(45deg);
}
#home .news #newsBody{
	color:#222;
}
#home .main{
	margin-top:0;
}
#home .main .play{
	display:none;
}
#home .main .play.active{
	display:flex;
	justify-content:center;
	align-items: center;
	flex-direction:column;
}
#home .main .play #downloadButton,#home #playModal .downloadButton{
	background:#e74c3c;
	margin-top:10px;
	color:#fff;
	border:none;
	border-radius:6px;
	padding:15px 40px;
	font-weight:bold;
	font-size:20px;
}
#home .main .play #downloadButton img,#home #playModal .downloadButton img{
	margin-right:10px;
}
#home .main .play button.btn{
	margin-bottom:10px;
}
#home .main form{
	margin-top:24px;
}
#home .main form .text{
	border:solid 1px #9F9F9F;
	border-radius:5px;
	background:#FFFFFF;
}
#home .main form .text label{
	display:block;
	padding:14px 27px;
	font-weight:bold;
	color:#222222;
	border-bottom:solid 1px #9F9F9F;
}
#home .main form .text label svg{
	margin-top:-10px;
}
#home .main form .text textarea{
	border:none;
	padding:20px;
}
#home .main form p.count{
	text-align:right;
	font-size:14px;
	color:#0F2B46;
	margin:10px 0 20px;
}
#home .main form .control .form-group{
	margin-bottom:15px;
}
#home .main form .control .form-group.slider{
	width:100%;
}
#home .main form .control .form-group.slider > div{
	display:flex;
	align-items:center;
	width:100%;
}
#home .main form .control label{
	display:flex;
	align-items:center;
	font-weight:bold;
	color:#222222;
	position:relative;
}
#home .main form .control label span.popup{
	padding:5px;
	line-height:1;
	display:inline-block;
	border-radius:3px;
	white-space:nowrap;
	position:absolute;
	background:rgba(0,0,0,0.6);
	color:#fff;
	font-size:10px;
	top:-17px;
	transition: all 0.3s ease 0s;
	opacity:0;
}
#home .main form .control label span.popup.active{
	opacity:1;
}
#home .main form .control label img{
	margin-left:5px;
	cursor:pointer;
}
#home .main form .slider.slider-horizontal{
	width:100%;
}
#home .main form .slider.slider-horizontal .tooltip-inner{
	display:none;
}
#home .main form .slider-handle{
	background:#222222;
	border:solid 1px #3E3E3E;
}
#home .main form .slider-selection{
	background:#222222;
}
#home .main form .slider-track-high{
	background:#DFDFDF;
	border:solid 1px #B5B5B5;
}
#home .main form button.btn img.load{
	animation: rotate 1.5s linear infinite;
	display:none;
}
#home .main form button.btn.loading img.load{
	display:block;
	margin:0 auto;
}
#home .main form button.btn.loading span{
	display:none;
}
@keyframes rotate {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
#home .main button.btn{
	display:block;
	width:80%;
	margin:0 auto;
	border:solid 2px #0F2B46;
	border-radius:5px;
	font-size:20px;
	font-weight:bold;
	padding:10px; 
}
#home .main button.btn:hover{
	background:rgba(15,43,70,0.2);
}
#home .main button.btn.disabled{
	background-color: #ccc; 
    cursor: not-allowed;
    opacity: 0.6; 
}
#home .main button.btn img{
	margin-right:12px;
}
#home .main p.link{
	text-align:center;
	color:#2A7AC8;
	font-size:14px;
	margin:20px 0 0;
}
#home .main p.link span{
	background:#2A7AC8;
	color:#fff;
	font-size:10px;
	font-weight:bold;
	padding:3px 10px;
	border-radius:5px;
	margin-right:5px;
}
#home .links{
	padding-top:24px;
}
#home .links .title{
	font-size:20px;
	margin-top:36px;
	margin-bottom:10px;
}
#home .links ul{
	border-top:solid 1px #C0C0C0;
	margin-bottom:0;
}
#home .links li{
	border-bottom:solid 1px #C0C0C0;
	margin-bottom:0;
}
#home .links li a{
	display:block;
	padding:13px;
	color:#0F2B46;
	text-decoration:none;
}
#home .links li a:hover{
	background:rgba(15,43,70,0.05);
}
#home .links p.more{
	text-align:right;
	margin-top:20px;
}
#home .links p.more a{
	color:#0F2B46;	
}
#home .links p.more a svg:last-child{
	margin-left:-5px;
}
#home .description{
	margin-top:60px;
}
#home .description h2,#home .scene h2{
	background:#DFE6EC;
	border-radius:15px;
	font-weight:bold;
	display:inline-block;
	padding:8px 30px;
	margin-bottom:50px;
}
#home .description .image{
	margin-bottom:12px;
}
#home .description h3{
	font-weight:bold;
	border-left:solid 7px #0F2B46;
	padding-left:10px;
}
#home .description p{
	margin-bottom:0;
}
#home .description .item{
	margin-bottom:36px;
}
#home .description .item:last-child{
	margin-bottom:0;
}
#home .scene{
	margin-top:80px;
	scroll-margin-top: 100px;
}
#home .scene h2,#home .scene p{
	margin-bottom:24px;
}
#home .scene li{
	font-weight:bold;
	display:flex;
	align-items:center;
	margin-bottom:20px;
}
#home .scene li img{
	margin-right:13px;
}
#home .banner{
	background:#0F2B46;
	color:#fff;
	padding:65px 0;
	margin-top:60px;
}
#home .banner span.btn{
	color:#fff;
	border:solid 2px #fff;
	font-size:14px;
	cursor:auto;
}
#home .banner h2{
	font-weight:bold;
	margin-top:24px;
	margin-bottom:15px;
}
#home .banner .logo{
	margin-bottom:24px;
}
#home .banner a.btn{
	color:#fff;
	background:#2A7AC8;
	font-size:25px;
	font-weight:bold;
	padding-left:27px;
	padding-right:27px;
	margin-top:50px;
	opacity:1;
	transition: all 0.3s ease 0s;
}
#home .banner a.btn:hover{
	opacity:0.7;
}
#home .no-more > div{
	border:solid 2px #0F2B46;
	padding:20px;
	border-radius:5px;
	font-weight:900;
	background:rgba(0,0,0,0.03);
}
#home .no-more > div img{
	margin-bottom:10px;
}
.modal .modal-content{
	background:#fff;
	border-radius:6px;
}
.modal .modal-content p.text-danger{
	font-weight:bold;
	margin-top:10px;
}
.modal .modal-content a{
	text-decoration-line: underline;
	text-decoration-style: dotted;
	color: #0F2B46;
}
.modal .modal-content a.btn{
	color:#fff;
	text-decoration:none;
	font-weight:bold;
}
#overModal a.btn{
	background: #0F2B46;
	color: #fff;
	border-radius: 5px;
	font-size: 18px;
	text-decoration: none;
	padding: 10px 30px;
	border: solid 2px #0F2B46;
	transition: all 0.3s ease 0s;
}
#overModal a.btnn:hover {
	background: transparent;
	color: #0F2B46;
}
#staticBackdrop .modal-content a.btn{
	background:#0F2B46;
}
#home #playModal span{
	display:block;
	font-weight:bold;
	margin-bottom:10px;
	line-height:1.4;
}
#home #playModal span small{
	font-weight:normal;
}
#home #playModal .form-check{
	font-size:14px;
	margin-bottom:5px;
}
#home #playModal .form-check input{
	margin:0 5px;
}
#home #playModal .play {
	transition: all 0.3s ease 0s;
}
#home #playModal .play.non-active{
	cursor: not-allowed;
	opacity:0.4;
}
#home #playModal .play.non-active audio,#home #playModal .play.non-active button{
	cursor: not-allowed;
    pointer-events: none;
}
#home #playModal button.disabled{
	cursor: not-allowed;
    pointer-events: none;
	opacity:0.4;
}
#home #playModal button.close{
	padding:5px 10px;
	font-size:14px;
}
#home .download{
	border-radius:10px;
	background:rgba(255,255,255,0.5);
}
#home .download a{
	color:#0F2B46;
	text-decoration:none;
	display:block;
	padding:15px;
	transition: all 0.3s ease 0s;
	font-size:14px;
}
#home .download a:hover{
	opacity:0.6;
}
#home .download img.whitepaper{
	display:block;
	width:300px;
	height:auto;
	margin-bottom:10px;
}
#home .download span{
	font-weight:900;
	font-size:110%;
}
#home .link_banner{
	font-size:14px;
	line-height:16px;
	margin-top:20px;
}
#home .link_banner a img{
	width:100%;
	height:auto;
	opacity:1;
	display:block;
	margin-bottom:9px;
	transition: all 0.3s ease 0s;
	border-radius:10px;
	margin-top:20px;
}
#home .link_banner a:hover img{
	opacity:0.6;
}
#home #overModal button{
	font-weight:bold;
}
#home #overModal button span{
	font-size:160%;
}
#home #overModal .back{
	display:inline-block;
	cursor:pointer;
	margin-top:20px;
	text-decoration: underline;
	text-decoration-style: dotted;
	font-size:80%;
}
#home .download{
	margin-top:40px;
}
#home .download h2{
	font-size:16px;
	font-weight:900;
	border-bottom:solid 2px #0F2B46;
	text-align:center;
	padding-bottom:5px;
	margin-bottom:20px;
}
#home .download li{
	margin-bottom:10px;
	padding-bottom:10px;
	border-bottom:solid 1px rgba(0,0,0,0.1);
}
#home .download li a{
	text-decoration:none;
	color:#0F2B46;
	font-weight:bold;
	font-size:14px;
}
#home .download li a img{
	margin-right:20px;
}
/* 右カラムの資料ダウンロード一覧 (.download.p-3) の圧縮。
   上に VIDEO GATE 宣伝カード (.vg-promo) を置いたぶん高さを詰める。掲載は5件のまま。
   .border.download（アプリ紹介バナー）が同じ #home .download セレクタを共有しているため、
   既存の値は書き換えず .p-3 付きのサイドバー側だけに限定して上書きしている。 */
#home .download.p-3{
	margin-top:20px;
}
#home .download.p-3 h2{
	font-size:14px;
	margin-bottom:12px;
}
#home .download.p-3 li{
	margin-bottom:6px;
	padding-bottom:6px;
}
#home .download.p-3 li a{
	padding:6px;
	font-size:13px;
}
#home .download.p-3 li a img{
	width:60px;      /* HTML 側の width="90" を上書きして縮小 */
	height:auto;
	margin-right:12px;
}
#home .tab ul{
	margin-top:40px;
	border-bottom:solid 4px #222;
}
#home .tab li{
	flex:1 1 33.333333%;
}
#home .tab .nav button{
	border:none;
	background:transparent;
	color:#222222;
	display:block;
	text-align:center;
	border-radius:4px 4px 0 0;
	width:100%;
	height:100%;
	font-size:12px;
	padding:5px;
}
#home .tab .nav button.active{
	background:#222222;
	color:#fff;
}
#home .tab div.col-12.col-md-6{
	margin-bottom:20px;
}
#home .tab .item{
	padding:20px 20px 80px;
	background:rgba(255,255,255,0.7);
	border-radius:6px;
	height:100%;
	position:relative;
}
#home .tab .item .title{
	font-weight:bold;
	font-size:120%;
	margin-bottom:10px;
}
#home .tab .item .title img{
	margin-right:10px;
}
#home .tab .item p{
	margin-bottom:0;
	color:#2A7AC8;
}
#home .tab .item .playBtn{
	padding: 10px 20px;
	font-size: 16px;
	border: none;
	background-color: #2A7AC8;
	color: white;
	border-radius: 5px;
	cursor: pointer;
	width:100%;
}
#home .tab .item .playBtn.playing {
	background-color: #dc3545;
}
#home .tab #tab2 .item .playBtn{
	position:absolute;
	bottom:20px;
	left:20px;
	right:20px;
}
@media (min-width: 768px) {
	#home{
		margin-top:73px;
	}
	#home .hero .clients{
		font-size:14px;
	}
	#home .main form .control .form-group{
		display:flex;
		height:38px;
	}
	#home .main form .control .form-group label{
		flex:0 0 120px;
	}
	#home .description{
		margin-top:83px;
	}
	#home .description .item{
		margin-bottom:50px;
	}
	#home .description .image{
		margin-bottom:0;
		flex:0 0 40%;
		margin-left:20px;
	}
	#home .description .even .image{
		margin-right:20px;
		margin-left:0;
	}
	#home .scene{
		margin-top:130px;
	}
	#home .scene p{
		max-width:670px;
		margin:0 auto 24px;
	}
	#home .scene ul{
		display:flex;
		flex-wrap:wrap;
		justify-content:center;
	}
	#home .scene ul li{
		width: 40%;
	}
	#home .banner .logo{
		margin-bottom:0;
	}
	#home .no-more > div{
		font-size:18px;
	}
	#home .no-more > div img{
		margin-bottom:0px;
		margin-right:20px;
	}
	#home .download img.whitepaper{
		width:150px;
		margin-right:20px;
		margin-bottom:0px;
	}
	#home .download span{
		font-size:130%;
	}
	#home .tab .nav button{
		padding:10px;
		font-size:14px;
	}
}
@media (min-width: 992px) {
	#home .hero .order-lg-2{
		padding-left:20px;
	}
	#home .hero h1{
		max-width:400px;
	}
	#home .hero p{
		max-width:500px;
	}
	#home .hero .order-lg-2 img{
		margin-bottom:0;
	}
	#home .main form .control{
		width:60%;
		margin:0 auto;
	}
	#home .scene ul li{
		width: 35%;
	}
	#home .tab .nav button{
		font-size:16px;
	}
}


#inner{
	padding-top:121px;
}
@media (min-width: 768px) {
	#inner{
		padding-top:153px;
	}
}
#inner #breadcrumbs{
	background:#0F2B46;
	color:#fff;
	padding:10px 0;
	font-size:12px;
}
#inner #breadcrumbs a{
	color:#fff;
	text-decoration:none;
}
#inner h1{
	margin:38px 0 50px;
	font-weight:bold;
	color:#0F2B46;
}
#inner .main-content{
	color:#0F2B46;
}
#inner .main-content h2{
	margin: 60px 0 15px;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 15px;
	font-size: 28px;
	font-weight: 900;
	border-left: 8px solid #0F2B46;
	background: #FFFFFF;
}
#inner .main-content h3{
	margin: 56px 0 20px;
	font-size: 21px;
	font-weight: 900;
	border-bottom: solid 2px #0F2B46;
	position: relative;
	padding-left: 28px;
	padding-bottom: 5px;
}
#inner .main-content h3:before{
	position: absolute;
	top: 6px;
	left: 0;
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	background: #0F2B46;
}
#inner .main-content a{
	word-break: break-all;
	text-decoration: underline;
	text-decoration-style: dotted;
	color:#0F2B46;
}
#inner .banner{
	background:#0F2B46;
	color:#fff;
	margin-top:50px;
	padding:60px 0 0;
}
#inner .banner .order-lg-2 img{
	margin-bottom:24px;
}
#inner .banner h2{
	font-weight:900;
	font-size:32px;
}
#inner .banner ul{
	margin-bottom:0;
}
#inner .banner ul li{
	color:#0F2B46;
	font-size:14px;
	font-weight:bold;
	background:#fff;
	border-radius:15px;
	width:95px;
	margin-right:9px;
	text-align:center;
	width:90px;
}
#inner .banner a{
	margin-top:60px;
	background:#2A7AC8;
	color:#fff;
	text-align:center;
	opacity:1;
	padding:30px 0;
	font-size:32px;
	text-decoration:none;
	font-weight:900;
}
#inner .banner a:hover{
	opacity:0.7;
}
@media (min-width: 768px) {
	#inner{
		padding-top:80px;
	}
	#inner h1{
		font-size:48px;
		margin:50px 0 70px;
	}
}
@media (min-width: 992px) {
	#inner .banner h2{
		max-width:390px;
	}
	#inner .banner p{
		max-width:500px;
	}
	#inner .banner .order-lg-2 img{
		margin-bottom:0;
	}
}

body.single-post{
	padding-top:0;
}
/* 固定ヘッダー分のオフセットは body ではなく本文ラッパーに付ける。
   body に付けると先頭の .vg-banner まで押し下げられ、固定ヘッダーの裏に隠れてしまう。 */
body.single-post #single{
	padding-top:80px;
}
body.single-post #breadcrumbs{
	background:#0F2B46;
	color:#fff;
	font-size:12px;
	padding:10px 0;
}
body.single-post #breadcrumbs a{
	color:#fff;
	text-decoration:none;
}
body.single-post h1{
	margin:24px 0 10px;
	font-weight:900;
}
body.single-post .main-contents img.featured {
	border-radius: 5px;
	margin-top: 13px;
}
body.single-post .main-contents .author{
	background:rgba(255,255,255,0.6);
	padding:10px 20px;
	font-size:14px;
	line-height:1.6;
}
body.single-post .main-contents .author img{
	border-radius:50%;
	width:50px;
	height:50px;
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}
body.single-post .main-contents .author .title{
	border-left:solid 5px #242424;
	padding-left:10px;
	margin-bottom:0;
}
body.single-post .main-contents .author .title:before{
	content:none;
}
body.single-post .main-contents .author .name{
	font-size:16px;
	margin-bottom:5px;
}
body.single-post .main-contents .author .name .bold{
	font-weight:900;
	margin-right:10px;
}
body.single-post .main-contents .author a{
	margin-left:10px;
	text-decoration:underline;
	font-size:14px;
	opacity:1;
}
body.single-post .main-contents .author a:hover{
	opacity:0.6;
}
body.single-post .main-contents .author img{
	margin-right:10px;
}
body.single-post .main-contents #link > div{
	background: #FFF9BF;
	font-size: 16px;
	line-height: 19.36px;
	padding:7px 10px;
	display:inline-flex;
	align-items:center;
}
body.single-post .main-contents #link span{
	background: #000000;
	border-radius:10px;
	color:#fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 14.52px;
	padding:3px 15px;
	margin-right:10px;
	white-space:nowrap;
}
body.single-post .main-contents #link a{
	font-size:12px;
	color:#0054D1;
}
body.single-post .content{
	color:#0F2B46;
}
body.single-post .content .lwptoc{
	text-align:center;
	margin-bottom:20px;
}
body.single-post .content .lwptoc .lwptoc_i{
	border:solid 5px #D8D8D8;
	background:#F3F3F3;
	border-radius:5px;
}
.lwptoc-notInherit .lwptoc_i DIV a:hover,.lwptoc-notInherit .lwptoc_i DIV a{
	color: #0F2B46
}
body.single-post .content .lwptoc-light .lwptoc_items a,body.single-post .content .lwptoc-light .lwptoc_items a:visited {
	color: #0F2B46
}
body.single-post .content a{
	word-break: break-all;
	text-decoration: underline;
	text-decoration-style: dotted;
}
body.single-post .content table{
	margin-bottom:20px;
	width:100%;
}
body.single-post .content table th{
	border-width: 0 1px 1px 0;
	font-weight: 700;
	padding:10px;
	border: 1px solid #d1d1d1;
}
body.single-post .content table td{
	border-width: 0 1px 1px 0;
	padding:10px;
	border: 1px solid #d1d1d1;
	font-size:14px;
}
body.single-post .content table.table-sm th,body.single-post .content table.table-sm td{
	padding:5px 10px;
}
body.single-post .content table.text-sm th,body.single-post .content table.text-sm td{
	line-height:1.6;
	font-size:13px;
}
body.single-post .content .wp-block-table.wrap th small{
	display:block;
}
@media only screen and (min-width: 768px){
	body.single-post .content .wp-block-table.wrap th small{
		display:inline-block;
	}
}
body.single-post .content img{
	width:100%;
	height:auto;
}
body.single-post .content h2{
	margin: 60px 0 15px;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left:15px;
	font-size: 28px;
	font-weight: 900;
	border-left: 8px solid #0F2B46;
	background:#fff;
	color:#0F2B46;
}
body.single-post .content h3{
	margin: 56px 0 20px;
	font-size: 21px;
	font-weight: 900;
	border-bottom:solid 5px #0F2B46;
	position:relative;
	padding-left:28px;
	padding-bottom:5px;
	color:#0F2B46;
}
body.single-post .content h3:before{
	position:absolute;
	top:6px;
	left:0;
	content:"";
	display:block;
	width:15px;
	height:15px;
	background:#0F2B46;
}
body.single-post .content h4{
	margin: 34px 0 11px;
	padding:3px 10px;
	position: relative;
	font-size: 20px;
	background:#FFF;
	color:#0F2B46;
	font-weight:900;
}
body.single-post a.wp-block-button__link{
	background: #242424;
	margin-bottom:10px;
	padding: 5px 30px;
	font-size:18px;
	opacity:1;
}
body.single-post a.wp-block-button__link:hover{
	opacity:0.6;
}
body.single-post .content p b{
	font-weight: 900;
}
body.single-post .content p a,body.single-post .content td a{
	text-decoration-line: underline;
	text-decoration-style: dotted;
	color:#0F2B46;
}
body.single-post .content .movie{
	position:relative;
	width:100%;
	padding-top:56.25%;
	margin-bottom:10px;
	border-radius:5px;
	overflow:hidden;
}
body.single-post .content .movie iframe{
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
	border:none;
}
body.single-post .content blockquote{
	border-left:6px solid #181818;
	padding-left:10px;
}
body.single-post .content blockquote cite{
	font-size:90%;
}
body.single-post .content blockquote.tiktok-embed{
	border-left:none;
	padding-left:none;
}
body.single-post .content .cta_banner{
	border:solid 10px #8e8e93;
	padding:20px;
	margin-bottom:20px;
	background:#fafafa;
	border-radius:5px;
}
body.single-post .content .cta_banner div.title{
	font-size: 1.75rem;
	margin:0;
	font-weight:bold;
}
body.single-post .content .cta_banner a.btn{
	background:#062671;
	color:#fff;
	padding:10px 30px;
	display:inline-block;
	margin-bottom:20px;
	white-space: normal;
}
body.single-post .content .cta_banner.right a.btn{
	margin-bottom:0;
}
body.single-post .content .cta_banner a.btn:hover{
	background: #51c8fa;
}
body.single-post .content .cta_banner a.link{
	color:#1a1a1a;
}
body.single-post .content .creator_banner,body.single-post .content .creator_banner_2{
	background:#1a1a1a;
	color:#fff;
	padding:20px;
}
body.single-post .content .creator_banner_2{
	margin-bottom:20px;
}
body.single-post .content .creator_banner div.title,body.single-post .content .creator_banner_2 div.title{
	font-size: 1.6rem;
	margin:0;
	text-align:center;
	border-bottom: solid 5px #51c8fa;
}
body.single-post .content .creator_banner a.btn,body.single-post .content .creator_banner_2 a.btn{
	background:#51c8fa;
	color:#fff;
	border:solid 1px #51c8fa;
	font-weight:bold;
	margin-top:10px;
}
body.single-post .content .creator_banner a.btn:hover,body.single-post .content .creator_banner_2 a.btn:hover{
	background:#fff;
	color:#51c8fa;
}
body.single-post .content table th{
	background:rgba(0,0,0,0.05);
	white-space: nowrap;
}
body.single-post .content ul{
	margin-top:30px;
	margin-bottom:20px;
	margin-left:30px;
	padding:0;
}
body.single-post .content ul li{
	list-style:none;
	position:relative;
	padding-left:20px;
}
body.single-post .content ul li:before{
	content:"";
	display:block;
	width:9px;
	height:9px;
	border-radius:50%;
	background:#242424;
	position:absolute;
	left:0;
	top:10px;
}
body.single-post .content .wp-block-code{
	margin-top:-15px;
}
body.single-post .content .wp-block-code code{
	background: rgba(20,20,20,0.9);
	color:#f5d67b;
	border-radius: 2px;
	font-size:85%;
	padding:10px;
	font-family: "Source Code Pro", monospace;
	font-optical-sizing: auto;
}
body.single-post .content .linkcard .lkc-external-wrap,body.single-post .content .linkcard .lkc-internal-wrap{
	border-radius:3px;
}
body.single-post .content .comment-balloon-outer .avatar img{
	width:50px;
	height:50px;
	border-radius:50%;
	box-shadow: 0 .4rem 1rem rgba(0,0,0,.15);
	margin-right:5px;
}
body.single-post .content .balloon {
	position: relative;
	display: inline-block;
	margin: 1.5em 0 1.5em 15px;
	padding: 10px 20px;
	min-width: 120px;
	max-width: 100%;
	color: #555;
	font-size: 16px;
	border: solid 3px #555;
	box-sizing: border-box;
	border-radius: 15px;
	background:#fff;
}
body.single-post .content .balloon:before {
	content: "";
	position: absolute;
	top: 50%;
	left: -24px;
	margin-top: -12px;
	border: 12px solid transparent;
	border-right: 12px solid #FFF;
	z-index: 2;
}
body.single-post .content .balloon:after {
	content: "";
	position: absolute;
	top: 50%;
	left: -30px;
	margin-top: -14px;
	border: 14px solid transparent;
	border-right: 14px solid #555;
	z-index: 1;
}
body.single-post .content .balloon p {
	margin: 0;
	padding: 0;
	font-size:85%;
}
body.single-post .content .point{
	border: solid 1px #DADADA;
	background:#FFFFFF;
	position:relative;
	padding:20px;
	margin-top:50px;
	margin-left:10px;
}
body.single-post .content .point span.title{
	position:absolute;
	top:-25px;
	left:-10px;
	background:#242424;
	color:#fff;
	padding:0 10px;
	font-weight:900;
}
body.single-post .content .point span.title:before{
	content:none;
}
body.single-post .content .point ul{
	margin:0;
	padding:0;
}
body.single-post .content .point ul li{
	list-style:none;
	position:relative;
	padding-left:20px;
	font-weight:900;
}
body.single-post .content .point ul li:before{
	content:"";
	display:block;
	width:9px;
	height:9px;
	border-radius:50%;
	background:#242424;
	position:absolute;
	left:0;
	top:10px;
}
body.single-post .content .instagram-media{
	margin-left:auto !important;
	margin-right:auto !important;
}
.lkc-thumbnail img{
	width:100% !important;
	
}
.related.bold{
	font-weight:bold;
	font-size:140%;
}
.related-post .item{
	margin-bottom:20px;
	opacity:1;
	transition: all 0.3s ease 0s;
}
.related-post .item:hover{
	opacity:0.6;
}
.related-post .item img{
	border-radius:12px;
	margin-bottom:10px;
}
.related-post .item a{
	color:#0F2B46;
	text-decoration:none;
}
.related-post .item small{
	opacity:0.7;
}
@media only screen and (min-width: 567px){
/* 	.lkc-content{
		display:flex;
		flex-direction:row;
	}
	.lkc-thumbnail{
		margin-bottom:0;
	} */
}
@media only screen and (min-width: 768px){
	body.single-post h1{
		max-width:1000px;
		margin:48px auto 20px;
	}
	body.single-post .content img.size-full{
		width:auto;
		display:block;
		max-width:100%;
		margin:0 auto;
	}
	body.single-post .main-contents #link span{
		margin-right:20px;
	}
	body.single-post .main-contents #link a{
		font-size:14px;
	}
	.content .download{
		flex-direction:row;
	}
	body.single-post .content .twitter-tweet{
		margin-left:auto;
		margin-right:auto;
	}
	.content .comment-balloon-outer .avatar img{
		width:80px;
		height:80px;
	}
	.related-post{
		margin-left:-10px;
		margin-right:-10px;
	}
	.related-post .item{
		flex:0 0 50%;
		padding:0 10px;
	}
}
@media only screen and (min-width: 992px){
	body.single-post .content h2{
		font-size:2rem;
	}
	body.single-post .content h3{
		font-size:1.5rem;
	}
}
@media only screen and (min-width: 1200px){
	.related-post .item{
		flex:0 0 33.33333333%;
	}
}
@media only screen and (min-width: 1440px){
	body.single-post .content .creator_banner div.title{
		width:65%;
		float:left;
		margin-right:5%;
	}
	body.single-post .content .creator_banner a.btn{
		width:30%;
		float:left;
	}
	body.single-post .content .creator_banner_2 div.title{
		font-size:1.6rem;
	}
	body.single-post .content .creator_banner_2{
		float:left;
		width:49%;
		min-height:274px;
		padding-top:40px;
	}
	body.single-post .content .creator_banner_2 a.btn{
		margin-top:30px;
	}
	body.single-post .content .cta_banner.right{
		float:right;
		width:49%;
	}
}
@media only screen and (min-width: 1440px){
	body.single-post .content .creator_banner_2{
		min-height:242px;
	}
}

.blog article{
	opacity:1;
	transition: all 0.3s ease 0s;
	margin-bottom:40px;
}
.blog article:hover{
	opacity:0.7;
}
.blog article img{
	border-radius:12px;
	margin-bottom:19px;
}
.blog article .title{
	font-size:24px;
	line-height:32px;
	font-weight:bold;
}
.blog article a{
	text-decoration:none;
	color:#0F2B46;
}
#faq section{
	margin-top:-80px;
	padding-top:80px;
}
#faq .title{
	margin-top:50px;
	margin-bottom:20px;
	padding-top:10px;
	padding-bottom: 10px;
	padding-left: 15px;
	font-size: 28px;
	font-weight: 900;
	border-left: 8px solid #0F2B46;
	background: #FFFFFF;
}
#faq .item{
	margin-bottom:30px;
}
#faq .question{
	font-size: 21px;
	font-weight: 900;
	border-bottom: solid 2px #0F2B46;
	margin-bottom:10px;
	position:relative;
	padding-left:30px;
}
#faq .question:before{
	position:absolute;
	content:"Q";
	font-size: 24px;
	top:-5px;
	left:0;
}
#faq .answer{
	position:relative;
	padding-left:30px;
}
#faq .answer:before{
	position:absolute;
	content:"A";
	font-size: 24px;
	top:-5px;
	left:0;
	font-weight:bold;
}
#faq code{
	background:rgba(0,0,0,0.05);
	padding:3px;
	border-radius:3px;
}
#plans div.col-12.col-md-6{
	margin-bottom:20px;
}
#plans .card{
	display:block;
	text-align:center;
	text-decoration:none !important;
	background:#fff;
	border-radius:6px;
	border:solid 2px rgba(0,0,0,0.1);
	padding:30px 20px 20px;
	height:100%;
	border:none;
	box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
	transition: all 0.3s ease 0s;
	position:relative;
}
#plans .card:hover{
	border:none;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
#plans .card .current{
	position:absolute;
	top:0;
	left:0;
	background:#2A7AC8;
	color:#fff;
	padding:3px 5px;
	font-weight:bold;
}
#plans .card .new{
	position:absolute;
	top:0;
	left:0;
	background:#e74c3c;
	color:#fff;
	padding:5px 10px;
	font-weight:bold;
}
#plans a{
	text-decoration:none !important;
}
#plans a span,#plans .card span{
	display:block;
}
#plans a span.price,#plans .card span.price{
	font-weight:900;
	font-size:32px;
}
#plans a span.title,#plans .card span.title{
	font-weight:900;
	font-size:24px;
	margin-bottom:5px;
}
#plans a span.price small,#plans .card span.price small{
	font-size:18px;
}
#plans a span.detail,#plans .card span.detail{
	margin-bottom:10px;
}
#plans a button{
	padding:5px 15px;
}
#plans #subscription-form label{
	display:block;
	font-size:14px;
	margin-bottom:0;
}
#plans #subscription-form input{
	margin-bottom:10px;
}
#login{
	background:#DFE6EC;
	padding:20px;
}
#login label{
	font-size:14px;
}
#login input{
	font-size:14px;
	padding:15px;
}
#login .title{
	font-weight:bold;
	font-size:120%;
	margin-bottom:12px;
	letter-spacing:2px;
}
#login a.btn,#login button.btn{
	background: #0F2B46;
	color: #fff;
	border-radius: 5px;
	font-size: 18px;
	text-decoration:none;
	padding:10px 30px;
	border:solid 2px #0F2B46;
	transition: all 0.3s ease 0s;
}
#login a.btn:hover,#login button.btn:hover{
	background:transparent;
	color:#0F2B46;
}
#login button.btn.disabled{
	opacity:0.4;
	cursor: not-allowed;
}
#login button.btn.disabled:hover {
	background: #0F2B46; 
	color: #fff; 
	cursor: not-allowed; 
	border: solid 2px #0F2B46; 
}
#login .error-message{
	display:none;
	font-size:12px;
	padding-top:5px;
	padding-left:5px;
}
#inner .main-content a.btn{
	background: #0F2B46;
	color: #fff;
	border-radius: 5px;
	font-size: 18px;
	text-decoration:none;
	padding:10px 30px;
	border:solid 2px #0F2B46;
	transition: all 0.3s ease 0s;
}
#inner .main-content a.btn:hover{
	background:transparent;
	color:#0F2B46;
}
form .alert {
	padding: 10px;
	margin: 10px 0;
	border-radius: 5px;
	display: none; /* Initially hidden */
}
form .alert-success {
	background-color: #d4edda;
	color: #155724;
	border-color: #c3e6cb;
}
form .alert-error {
	background-color: #f8d7da;
	color: #721c24;
	border-color: #f5c6cb;
	font-size:12px;
}
#mypage .nav{
	border-bottom:solid 5px #0F2B46;
}
#mypage .nav button{
	background:transparent;
	border:none;
	padding:0;
	color:#0F2B46;
	padding:5px 10px;
}
#mypage .nav button.active{
	background:#0F2B46;
	color:#fff;
	border-radius:10px 10px 0 0;
}
#mypage h2{
	margin-bottom:40px !important;
}
#mypage input[readonly] {
	background-color: #e9ecef;
	opacity: 1;
}
#mypage .item{
	border: solid 1px #9F9F9F;
	border-radius: 5px;
	background: #FFFFFF;
	padding:20px;
	margin-bottom:24px;
}
#mypage .item span{
	font-weight:900;
	display:block;
	margin-bottom:10px;
}
#mypage .item span small{
	display:block;
	font-weight:400;
}
#mypage .item label{
	font-weight:900;
	display:block;
	margin-bottom:5px;
	font-size:85%;
}
#mypage .item #usage label{
	font-weight:400;
	display:block;
	margin-bottom:0;
	margin-left:10px;
	font-size:85%;
}
#mypage .item #usage button,#mypage #urlForm button.save{
	padding:10px;
	margin-left:0;
}
#mypage #urlForm .url-input-group button{
	background:rgba(0,0,0,0.5);
	border:none;
}
#mypage #urlForm #addUrlButton{
	margin-left:0;
	padding:5px;
	background:#2980b9;
	border:none;
}
#mypage .item input{
	padding:15px;
}
#mypage .item button.btn{
	margin-top:10px;
}
#mypage #my-password button{
	display:block;
	width:100%;
}
#mypage #my-card .info div{
	margin-left:20px;
	line-height:1.4;
}
#mypage #new-card{
	display:none;
	margin-top:24px;
}
#mypage #new-card #card-element{
	padding:10px;
	border:solid 1px rgba(0,0,0,0.1);
	border-radius:4px;
	font-size:16px;
}
#mypage #new-card #payment-form button{
	background: #0F2B46;
	color: #fff;
	border-radius: 5px;
	font-size: 16px;
	text-decoration: none;
	padding: 7px 20px;
	border: solid 2px #0F2B46;
	transition: all 0.3s ease 0s;
	display:block;
	margin-left:auto;
	margin-top:10px;
}
#mypage #new-card #card-errors {
	display:none;
	padding: 10px;
	margin: 10px 0;
	border-radius: 5px;
	background-color: #f8d7da;
	color: #721c24;
	border-color: #f5c6cb;
}
#mypage #new-card #card-errors.success{
	background-color: #d4edda;
	color: #155724;
	border-color: #c3e6cb;
}
#mypage #inquiry input{
	margin-bottom:10px;
}
#mypage #inquiry input[readonly] {
    background-color: #f0f0f0; /* 背景色を変更 */
    color: #555; /* テキストの色 */
    border: 1px solid #ccc; /* ボーダー */
    cursor: not-allowed; /* カーソルを変更 */
    opacity: 0.8; /* 透明度を少し下げる */
}
#mypage #inquiry textarea{
	height:200px;
}
#mypage #inquiry button{
	margin:20px 0 0;
}
#mypage form#logout{
	width:60%;
	margin:50px auto;
}
#mypage #logout button{
	margin-left:0;
}
#mypage #org .org-type label,#mypage #org .video-creation label{
	font-weight:normal;
	margin-right:10px;
	margin-bottom:5px;
}
@media only screen and (min-width: 768px){
	#mypage .item button.btn{
		margin-top:0;
		margin-left:10px;
	}
	#mypage #my-password button{
		width:auto;
	}
	#mypage a{
		flex:0 0 calc(50% - 20px);
	}
}
@media only screen and (min-width: 992px){
	#login{
		padding:40px;
	}
	#mypage #new-card{
		margin-top:0;
		flex:0 0 400px;
	}
}

#download .play{
	width:80%;
	margin:0 auto 40px;
}
#download #downloadButton{
	background:#e74c3c;
	margin-top:10px;
	color:#fff;
	border:none;
	border-radius:6px;
	padding:15px 40px;
	font-weight:bold;
	font-size:20px;
	width:100%;
}
#download #downloadButton img{
	margin-right:10px;
}
#download .links a.main{
	display:block;
	background:#073190;
	color:#fff;
	font-weight:900;
	text-decoration:none;
	padding:20px;
	border-radius:6px;
	margin-bottom:20px;
	font-size:24px;
	line-height:1.4;
}
#download .links a.main:hover{
	opacity:0.6;
}
#download .links a.main span{
	background:#fff;
	color:#073190;
	font-size:15px;
	padding:3px 10px;
	display:inline-block;
	margin-right:10px;
	margin-bottom:-3px;
	border-radius:3px;
}
#download .links a.main font{
	border-bottom:solid 4px #fff;
	font-size:16px;
	display:inline-block;
	margin-bottom:10px;
	padding:3px;
}
#download .links a.main img{
	width:100px;
	height:100px;
	margin-bottom:20px;
}
#download .links a.btn{
	font-size:16px;
	margin-bottom:10px;
}
#download .links a.btn.border{
	border: solid 2px #0F2B46 !important;
	background:transparent;
	color:#0F2B46;
}
#download .links a.btn.border:hover{
	background:#0F2B46;
	color:#fff;
}
#download .works .item{
	margin-bottom:20px;
}
#download .works .item .image{
	border-radius: 5px;
	padding-top: 56.25%;
	position: relative;
	background-size: cover;
	background-position: center;
	margin-bottom:5px;
}
#download .works .item .image:before{
	position:absolute;
	content:"";
	display:block;
	top:0;
	bottom:0;
	left:0;
	right:0;
	background-color:rgba(0,0,0,0.1);
}
#download .works .item .image img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transition: all .2s;
	transition: all .2s;
}
#download .works .item:hover .image img {
	width: 50px;
	height: 50px;
}
#download .works .item span.client{
	display:block;
	opacity:0.8;
	font-size:90%;
}
#download .works .item span.title{
	display:block;
	font-weight:900;
}
#download .works .item ul li{
	background: #E8E8E8;
	border-radius: 5px;
	padding: 0 9px;
	margin-right: 5px;
	margin-bottom: 5px;
	font-size: 12px;
}
#download #home{
	margin-top:0;
}
#download #home .links{
	padding-top:0;
}
#download .banner{
	padding-bottom:60px;
}
@media only screen and (min-width: 768px){
	#download .links a.main img{
		width:100px;
		height:100px;
		margin-bottom:0;
		margin-right:20px;
	}
}
@media only screen and (min-width: 992px){
	#download .links a.main span{
		font-size:16px;
		border:solid 3px #fff;
	}
	#download .links a.main font{
		font-size:18px;
	}
	#download .links a.main{
		font-size:34px;
	}
}

#credit-rule{
	background-color:#f2f2f2;
}
#credit-rule .code{
	background-color:#102b46;
	color:#fff;
	padding:15px;
	text-align:center;
	line-height:1.3;
	margin:0 auto;
}
#credit-rule .code textarea{
	width:100%;
	border:none;
	height:100px;
	padding:10px;
	margin-top:5px;
}
#credit-rule p{
	font-weight:bold;
	padding:0 20px;
}
#credit-rule p span{
	background: linear-gradient(transparent 60%,#D7E9F9 70%);
	background: -webkit-linear-gradient(transparent 60%,#D7E9F9 0);
}
#creditModal button.btn{
	padding:10px 15px;
}

/* =====================================================
   VOICE GATE v2 デザイン
   - body.v2site : 全ページ（ヘッダー／フッター／固定ヘッダー分のオフセット解除）
   - body.v2     : トップページ（page-home.php）専用のレイアウト・配色
   body クラスは functions.php の voicegate_v2_body_class() で付与。
   #home 付きの重複セレクタは、既存の #home 配下ルール（詳細度 1,0,1）に
   打ち勝つために必要なので削除しないこと。
   ===================================================== */


/* ヘッダーは position:fixed で常時固定。ヘッダーの高さ（PC 64px / 991px以下 56px）を
   body の padding-top で確保する。値は .v2h-inner の height と必ず合わせること。 */
body.v2site{padding-top:64px !important;margin-top:0 !important}
body.v2site #inner{padding-top:0 !important}
body.v2site.single-post #single{padding-top:0 !important}
@media (max-width:991px){
	body.v2site{padding-top:56px !important}
}
body.v2{font-family:'Noto Sans JP',sans-serif;color:#1a2b3c;background:#fff}body.v2 #home{margin-top:0 !important}body.v2 .container,body.v2 #home .container{max-width:1200px !important}body.v2 #guide,body.v2 #home #guide,body.v2 #features,body.v2 #home #features,body.v2 #scenes,body.v2 #home #scenes,body.v2 #clients,body.v2 #home #clients,body.v2 #contents,body.v2 #home #contents{scroll-margin-top:76px}body.v2site .header.v2h{position:fixed !important;top:0;left:0;right:0;z-index:1030;background:#fff;border-bottom:1px solid #e3eaf2;
  box-shadow:0 1px 10px rgba(14,43,71,.05);padding:0}.v2h-inner{display:flex;align-items:center;gap:26px;padding:0 32px;height:64px}.v2h-left{display:flex;align-items:center;gap:12px;flex:none}.v2h-left img{display:block}.v2h-powered{font-size:10px;color:#8a97a5;display:flex;align-items:center;gap:5px;white-space:nowrap}.v2h-nav{display:flex;gap:24px;margin-left:6px}.v2h-nav a{font-size:13.5px;font-weight:600;color:#31465c;text-decoration:none;white-space:nowrap;padding:6px 0;
  border-bottom:2px solid transparent}.v2h-nav a:hover{color:#0e2b47;border-bottom-color:#1d5fd6}.v2h-actions{display:flex;align-items:center;gap:14px;margin-left:auto;flex:none}.v2h-login{font-size:13px;font-weight:600;color:#31465c;text-decoration:none;white-space:nowrap}.v2h-login:hover{color:#0e2b47}.v2h-reg{background:linear-gradient(135deg,#3d8bff,#1d5fd6);color:#fff !important;font-size:13px;font-weight:700;
  border-radius:999px;padding:9px 20px;text-decoration:none;white-space:nowrap;box-shadow:0 3px 10px rgba(29,95,214,.3)}.v2h-reg:hover{opacity:.92}.v2h-consult{border:1.5px solid #0e2b47;color:#0e2b47;font-size:13px;font-weight:700;border-radius:999px;
  padding:8px 18px;text-decoration:none;white-space:nowrap}.v2h-consult:hover{background:#0e2b47;color:#fff}
@media (max-width:1279px){.v2h-nav{display:none}}
@media (max-width:991px){.v2h-consult{display:none}.v2h-powered{display:none}.v2h-inner{padding:0 16px;height:56px;gap:14px}}.v2hero{background:linear-gradient(180deg,#eef4fa 0%,#ffffff 100%);padding:46px 0 30px;text-align:center}.v2hero-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;color:#15568f;
  background:#e3eefa;border-radius:999px;padding:5px 18px;margin-bottom:16px}body.v2 .v2hero h1,body.v2 #home .v2hero h1{font-size:34px;font-weight:900;color:#0e2b47;letter-spacing:.02em;line-height:1.45;margin-bottom:12px}.v2hero-lead{font-size:14.5px;line-height:1.95;color:#41536b;max-width:760px;margin:0 auto 16px}.v2hero-chips{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 18px}.v2hero-chips li{font-size:12px;font-weight:700;color:#15406b;border:1px solid #b9cfe3;border-radius:999px;
  padding:5px 14px;background:#fff}.v2hero-trust{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap}.v2badge{display:inline-flex;align-items:center;gap:6px;color:#5a4a1e}.v2badge img{height:34px;width:auto;opacity:.85}.v2badge img.flip{transform:scaleX(-1)}.v2badge span{font-size:10.5px;line-height:1.45;font-weight:600;text-align:center}.v2badge b{font-size:12px}.v2hero-trust>a{color:#5a7a97;font-size:12px;text-decoration:underline}.v2hero-trust>a:hover{color:#0e2b47}
@media (max-width:767px){body.v2 .v2hero h1,body.v2 #home .v2hero h1{font-size:24px}.v2hero{padding:32px 0 22px}}body.v2 .news,body.v2 #home .news{background:#f0f6fb;border-top:1px solid #dbe7f1;border-bottom:1px solid #dbe7f1;padding:0}body.v2 .news .news-toggle,body.v2 #home .news .news-toggle{padding:9px 0;font-size:12.5px;color:#3d5871;text-decoration:none}body.v2 .news .news-toggle .title,body.v2 #home .news .news-toggle .title{background:#4a7bab;color:#fff;font-size:10.5px;padding:2px 10px;border-radius:999px;margin-right:10px}body.v2 .news .news-summary,body.v2 #home .news .news-summary{font-weight:700}body.v2 .news .news-caret,body.v2 #home .news .news-caret{color:#4a7bab}body.v2 .news .collapse .pt-2,body.v2 #home .news .collapse .pt-2,body.v2 .news .collapsing .pt-2,body.v2 #home .news .collapsing .pt-2{font-size:12.5px;line-height:1.9;color:#41536b;padding-bottom:14px}body.v2 .main,body.v2 #home .main{background:#fff;padding:34px 0 6px}body.v2 .main form,body.v2 #home .main form{background:#fff;border:1px solid #dce6f0;border-radius:14px;
  box-shadow:0 6px 22px rgba(14,43,71,.07);padding:24px 24px 20px}body.v2 .main form label,body.v2 #home .main form label{font-weight:700;font-size:13px;color:#41536b}body.v2 .main form .text,body.v2 #home .main form .text{border:1px solid #ccd7e2;border-radius:10px;overflow:hidden;background:#fff}body.v2 .main form .text label,body.v2 #home .main form .text label{padding:11px 18px;font-size:13.5px;color:#0e2b47;
  border-bottom:1px solid #e3eaf2;background:#f8fafc;margin:0}body.v2 .main form .text textarea.form-control,body.v2 #home .main form .text textarea.form-control{border:none !important;border-radius:0;min-height:190px;
  font-size:14px;padding:16px 18px;box-shadow:none}body.v2 .main form .text textarea.form-control:focus,body.v2 #home .main form .text textarea.form-control:focus{box-shadow:none;outline:none}body.v2 .main form select.form-control,body.v2 #home .main form select.form-control{border:1px solid #ccd7e2;border-radius:8px;font-size:13.5px}body.v2 .main form .control,body.v2 #home .main form .control{background:#f8fafc;border:1px solid #e3eaf2;border-radius:10px;
  padding:16px 20px 12px;margin-top:16px;width:100% !important}body.v2 .main form .control .form-group,body.v2 #home .main form .control .form-group{margin-bottom:12px}body.v2 .main form .control .form-group label,body.v2 #home .main form .control .form-group label{flex:0 0 96px}body.v2 .main form .d-flex.justify-content-between,body.v2 #home .main form .d-flex.justify-content-between{align-items:flex-end;gap:16px;margin-top:8px}body.v2 .main form .d-flex.justify-content-between small,body.v2 #home .main form .d-flex.justify-content-between small{font-size:11.5px;line-height:1.9}body.v2 .main form .d-flex.justify-content-between small a,body.v2 #home .main form .d-flex.justify-content-between small a{color:#1552a8;text-decoration:underline;
  text-underline-offset:2px;margin-right:14px}body.v2 .main form .d-flex.justify-content-between small a:hover,body.v2 #home .main form .d-flex.justify-content-between small a:hover{color:#0e2b47}body.v2 .main form p.count,body.v2 #home .main form p.count{font-size:12px;color:#5a6b7d;white-space:nowrap;margin:0}body.v2 .main form .control .form-group.slider label,body.v2 #home .main form .control .form-group.slider label{font-size:11.5px;color:#5a6b7d;font-weight:500}body.v2 .main form button.submit,body.v2 #home .main form button.submit{background:linear-gradient(135deg,#15406b,#0e2b47);border:none;border-radius:999px;
  font-weight:700;font-size:15.5px;letter-spacing:.06em;padding:12px 64px;box-shadow:0 4px 12px rgba(14,43,71,.28);color:#fff}body.v2 .main form button.submit:hover,body.v2 #home .main form button.submit:hover{opacity:.93}body.v2 .main form button.submit img,body.v2 #home .main form button.submit img{filter:brightness(0) invert(1)}body.v2 .main form button.submit span,body.v2 #home .main form button.submit span{display:inline-flex;align-items:center;gap:9px}.v2credit{display:flex;align-items:flex-start;gap:12px;background:#eef4fa;border:1px solid #d7e5f2;
  border-left:3px solid #1d5fd6;border-radius:10px;padding:12px 16px;margin-bottom:16px}.v2credit-badge{flex:none;background:linear-gradient(135deg,#3d8bff,#1d5fd6);color:#fff;font-size:10.5px;
  font-weight:700;letter-spacing:.06em;border-radius:5px;padding:3px 9px;margin-top:2px}body.v2 .v2credit p,body.v2 #home .v2credit p{font-size:12.5px;line-height:1.85;color:#41536b;margin:0}body.v2 .v2credit b,body.v2 #home .v2credit b{color:#0e2b47;font-weight:700}body.v2 .v2credit a,body.v2 #home .v2credit a{color:#1552a8;font-weight:700;text-decoration:underline;text-underline-offset:2px}body.v2 .v2credit a:hover,body.v2 #home .v2credit a:hover{color:#0e2b47}body.v2 .main .text-primary,body.v2 #home .main .text-primary{color:#41536b !important}body.v2 .main .border.p-2,body.v2 #home .main .border.p-2{background:#f4f8fb;border:1px solid #e3edf5 !important;border-radius:10px}body.v2 .main .border.p-2 small,body.v2 #home .main .border.p-2 small{color:#41536b}.v2reg{background:linear-gradient(140deg,#0e2b47,#17406a);border-radius:14px;color:#fff;padding:22px 22px 18px;
  text-align:center;margin-bottom:16px}.v2reg-title{font-size:16px;font-weight:900;color:#fff;margin-bottom:8px;letter-spacing:.03em}.v2reg p{font-size:12px;color:#c9dbea;line-height:1.8;margin-bottom:14px}.v2reg-btn{display:block;background:linear-gradient(135deg,#3d8bff,#1d5fd6);color:#fff;font-weight:700;font-size:14px;
  border-radius:999px;padding:11px 0;text-decoration:none;box-shadow:0 5px 16px rgba(29,95,214,.4)}.v2reg-btn:hover{color:#fff;opacity:.93}.v2reg small{display:block;margin-top:9px;font-size:10.5px;color:#9fc0dd}body.v2 .main .border.download,body.v2 #home .main .border.download{border:1px solid #dce6f0 !important;border-radius:14px;background:#fff;
  box-shadow:0 4px 14px rgba(14,43,71,.05)}body.v2 .links h2.title,body.v2 #home .links h2.title,body.v2 .description h2,body.v2 #home .description h2,body.v2 .scene h2,body.v2 #home .scene h2,body.v2 .clients h2,body.v2 #home .clients h2,body.v2 .v2contents h2.title,body.v2 #home .v2contents h2.title,body.v2 .v2faq h2.title,body.v2 #home .v2faq h2.title,body.v2 .banner h2,body.v2 #home .banner h2{font-size:25px;font-weight:900;color:#0e2b47;letter-spacing:.03em;
  text-align:center;margin:0 auto 22px;position:relative;padding:0 0 14px;background:none;border-radius:0;
  display:block;width:100%}body.v2 .links h2.title::after,body.v2 #home .links h2.title::after,body.v2 .description h2::after,body.v2 #home .description h2::after,body.v2 .scene h2::after,body.v2 #home .scene h2::after,body.v2 .clients h2::after,body.v2 #home .clients h2::after,body.v2 .v2contents h2.title::after,body.v2 #home .v2contents h2.title::after,body.v2 .v2faq h2.title::after,body.v2 #home .v2faq h2.title::after{content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:42px;height:3px;border-radius:2px;background:linear-gradient(135deg,#3d8bff,#1d5fd6)}body.v2 .links,body.v2 #home .links{background:#f4f8fb;padding:44px 0 40px;margin-top:34px}body.v2 .links h2.title,body.v2 #home .links h2.title{margin-top:0}body.v2 .links ul,body.v2 #home .links ul{border-top:none !important;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:12px;margin:0 !important;padding:0;list-style:none}body.v2 .links ul li,body.v2 #home .links ul li{border-bottom:none !important;margin:0;list-style:none}body.v2 .links ul li a,body.v2 #home .links ul li a{display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:#fff;border:1px solid #dce6f0;border-radius:10px;color:#31465c;font-size:13.5px;font-weight:600;
  padding:14px 18px;text-decoration:none;height:100%;transition:border-color .15s,box-shadow .15s}body.v2 .links ul li a::after,body.v2 #home .links ul li a::after{content:'';width:7px;height:7px;flex:none;
  border-top:2px solid #9db4c9;border-right:2px solid #9db4c9;transform:rotate(45deg)}body.v2 .links ul li a:hover,body.v2 #home .links ul li a:hover{background:#fff;border-color:#1d5fd6;color:#0e2b47;
  box-shadow:0 4px 12px rgba(29,95,214,.12)}body.v2 .links ul li a:hover::after,body.v2 #home .links ul li a:hover::after{border-color:#1d5fd6}body.v2 .description,body.v2 #home .description{background:#fff;padding:46px 0 30px}body.v2 .description .item,body.v2 #home .description .item{background:#f8fafc;border:1px solid #e8eef5;border-radius:14px;padding:22px;
  gap:24px;margin-bottom:18px}body.v2 .description .item .image img,body.v2 #home .description .item .image img{border-radius:10px}body.v2 .description .item h3,body.v2 #home .description .item h3{font-size:17.5px;font-weight:800;color:#0e2b47;margin-bottom:8px}body.v2 .description .item p,body.v2 #home .description .item p{font-size:13.5px;line-height:2;color:#41536b;margin:0}body.v2 .scene,body.v2 #home .scene{background:#f4f8fb;padding:44px 0 40px}body.v2 .scene>.container>p,body.v2 #home .scene>.container>p{text-align:center;font-size:13.5px;color:#41536b;margin-bottom:18px}body.v2 .scene>.container>.d-flex,body.v2 #home .scene>.container>.d-flex{display:block !important}body.v2 .scene ul,body.v2 #home .scene ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:2px 18px;width:100%;margin:0;padding:0;list-style:none}body.v2 .scene ul li,body.v2 #home .scene ul li{background:none;border:none;border-radius:0;padding:9px 2px;
  font-size:13px;font-weight:500;color:#31465c;display:flex;align-items:center;gap:10px;margin:0}body.v2 .scene ul li img,body.v2 #home .scene ul li img{width:20px;height:20px;opacity:.6;flex:none}.v2clients-group{background:#f8fafc;border:1px solid #e8eef5;border-radius:12px;padding:16px 20px;margin-bottom:12px}body.v2 .v2clients-cat,body.v2 #home .v2clients-cat{font-size:12.5px;font-weight:800;color:#0e2b47;margin:0 0 6px;letter-spacing:.02em}body.v2 .v2clients-list,body.v2 #home .v2clients-list{font-size:12px;line-height:2;color:#41536b;margin:0;max-width:none}body.v2 .v2clients-group p,body.v2 #home .v2clients-group p{max-width:none;margin-left:0;margin-right:0}body.v2 .clients.scene,body.v2 #home .clients.scene{background:#fff;padding:46px 0 34px}body.v2 .clients .container>div,body.v2 #home .clients .container>div{background:#f8fafc;border:1px solid #e8eef5;border-radius:12px;
  padding:16px 20px;font-size:12.5px;line-height:2;color:#41536b;margin-bottom:12px !important}body.v2 .clients .container>div b,body.v2 #home .clients .container>div b{color:#0e2b47;font-size:13px}body.v2 .clients .container>div.text-center,body.v2 #home .clients .container>div.text-center{background:none;border:none;padding:0;margin-bottom:0 !important}.v2contents{background:#f4f8fb;padding:44px 0 40px}body.v2 .v2contents .no-more,body.v2 #home .v2contents .no-more{background:#fff;border:1px solid #e3edf5;border-radius:12px;padding:12px 18px;
  font-size:12px;color:#41536b;max-width:640px;margin:0 auto 26px}body.v2 .v2contents .no-more img,body.v2 #home .v2contents .no-more img{width:52px;height:52px}body.v2 .v2contents ul,body.v2 #home .v2contents ul{max-width:860px;margin:0 auto}body.v2 .v2contents ul li,body.v2 #home .v2contents ul li{margin-bottom:10px}body.v2 .v2contents ul li a,body.v2 #home .v2contents ul li a{display:block;background:#fff;border:1px solid #dce6f0;border-radius:10px;
  padding:13px 20px;font-size:13.5px;font-weight:600;color:#31465c;text-decoration:none}body.v2 .v2contents ul li a:hover,body.v2 #home .v2contents ul li a:hover{border-color:#1d5fd6;color:#0e2b47}body.v2 .v2contents p.more,body.v2 #home .v2contents p.more{text-align:center;margin-top:18px}body.v2 .v2contents p.more a,body.v2 #home .v2contents p.more a{display:inline-block;border:1.5px solid #0e2b47;border-radius:999px;color:#0e2b47;
  font-size:13px;font-weight:700;padding:9px 26px;text-decoration:none}body.v2 .v2contents p.more a:hover,body.v2 #home .v2contents p.more a:hover{background:#0e2b47;color:#fff}body.v2 .v2contents p.more svg,body.v2 #home .v2contents p.more svg{display:none}body.v2 .v2dl .download.p-3,body.v2 #home .v2dl .download.p-3{background:none;border:none;padding:0 !important;box-shadow:none}body.v2 .v2dl .download.p-3 h2,body.v2 #home .v2dl .download.p-3 h2{font-size:25px;font-weight:900;color:#0e2b47;letter-spacing:.03em;
  text-align:center;margin:0 auto 22px;padding:0 0 14px;background:none;border-radius:0;display:block;
  position:relative;width:100%}body.v2 .v2dl .download.p-3 h2::after,body.v2 #home .v2dl .download.p-3 h2::after{content:'';position:absolute;left:50%;bottom:0;
  transform:translateX(-50%);width:42px;height:3px;border-radius:2px;
  background:linear-gradient(135deg,#3d8bff,#1d5fd6);display:block}body.v2 .v2dl ul,body.v2 #home .v2dl ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;
  margin:0;padding:0;list-style:none}body.v2 .v2dl li,body.v2 #home .v2dl li{margin:0;border:none}body.v2 .v2dl li a,body.v2 #home .v2dl li a{flex-direction:column;align-items:stretch !important;gap:0;background:#fff;
  border:1px solid #dce6f0;border-radius:10px;overflow:hidden;text-decoration:none;color:#31465c;
  height:100%;transition:border-color .15s,box-shadow .15s}body.v2 .v2dl li a:hover,body.v2 #home .v2dl li a:hover{border-color:#1d5fd6;color:#0e2b47;box-shadow:0 4px 12px rgba(29,95,214,.12)}body.v2 .v2dl li img,body.v2 #home .v2dl li img{width:100% !important;height:auto;border:none;border-radius:0;display:block}body.v2 .v2dl li a>div,body.v2 #home .v2dl li a>div{padding:10px 12px 12px;font-size:12px;font-weight:600;line-height:1.6}body.v2 .v2dl .text-end,body.v2 #home .v2dl .text-end{text-align:center !important;margin-top:20px}body.v2 .v2dl .text-end a,body.v2 #home .v2dl .text-end a{display:inline-block;border:1.5px solid #0e2b47;border-radius:999px;
  color:#0e2b47;font-size:13px;font-weight:700;padding:9px 26px;text-decoration:none}body.v2 .v2dl .text-end a:hover,body.v2 #home .v2dl .text-end a:hover{background:#0e2b47;color:#fff}

@media (max-width:575px){body.v2 .v2dl ul,body.v2 #home .v2dl ul{grid-template-columns:repeat(2,1fr);gap:10px}}.v2faq-list{max-width:860px;margin:0 auto}.v2faq-cat{font-size:11.5px;font-weight:700;letter-spacing:.1em;color:#7089a3;margin:24px 0 8px;
  padding-left:2px;text-transform:none}.v2faq-cat:first-child{margin-top:0}.v2faq-item{background:#fff;border:1px solid #dce6f0;border-radius:10px;margin-bottom:8px;overflow:hidden}.v2faq-item summary{display:flex;align-items:flex-start;gap:11px;padding:15px 46px 15px 16px;cursor:pointer;
  font-size:13.5px;font-weight:700;color:#22354a;line-height:1.65;list-style:none;position:relative}.v2faq-item summary::-webkit-details-marker{display:none}body.v2 .v2faq-qt,body.v2 #home .v2faq-qt{font-size:13.5px;font-weight:700;color:#22354a;line-height:1.65;margin:0;padding:0;
  background:none;display:inline;letter-spacing:0;width:auto}body.v2 .v2faq-qt::after,body.v2 #home .v2faq-qt::after,body.v2 .v2faq-qt::before,body.v2 #home .v2faq-qt::before{display:none;content:none}.v2faq-item summary::after{content:'';position:absolute;right:20px;top:22px;width:8px;height:8px;
  border-right:2px solid #9db4c9;border-bottom:2px solid #9db4c9;transform:rotate(45deg);transition:transform .18s}.v2faq-item[open] summary::after{transform:rotate(-135deg);top:25px}.v2faq-item:hover{border-color:#b9cfe3}.v2faq-q,.v2faq-amark{flex:none;width:21px;height:21px;border-radius:5px;display:inline-flex;
  align-items:center;justify-content:center;font-size:11.5px;font-weight:700;margin-top:1px}.v2faq-q{background:#e3eefa;color:#1552a8}.v2faq-amark{background:#eef1f5;color:#5a6b7d}.v2faq-a{display:flex;gap:11px;padding:0 20px 16px 16px;border-top:1px solid #eef2f7;margin-top:2px;padding-top:14px}body.v2 .v2faq-a p,body.v2 #home .v2faq-a p{font-size:13px;line-height:1.95;color:#41536b;margin:0}.v2faq-more{text-align:center;margin:22px 0 0}body.v2 .v2faq-more a,body.v2 #home .v2faq-more a{display:inline-block;border:1.5px solid #0e2b47;border-radius:999px;color:#0e2b47;
  font-size:13px;font-weight:700;padding:9px 26px;text-decoration:none}body.v2 .v2faq-more a:hover,body.v2 #home .v2faq-more a:hover{background:#0e2b47;color:#fff}body.v2 .banner,body.v2 #home .banner{background:linear-gradient(140deg,#0a2036,#17406a);padding:46px 0}body.v2 .banner h2,body.v2 #home .banner h2{color:#fff}body.v2 .banner .text,body.v2 #home .banner .text{color:#d7e4ef;font-size:13.5px;line-height:2}body.v2 .banner span.btn,body.v2 #home .banner span.btn{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#eaf3fa;
  border-radius:999px;font-size:11.5px;padding:4px 16px;margin-bottom:10px}body.v2 .banner a.btn,body.v2 #home .banner a.btn{background:#fff;color:#0e2b47;font-weight:700;border-radius:999px;padding:11px 34px;margin-top:18px}body.v2 .banner a.btn:hover,body.v2 #home .banner a.btn:hover{opacity:.9}.v2cta{background:linear-gradient(140deg,#0e2b47,#1d5fd6);padding:44px 0}.v2cta-title{font-size:22px;font-weight:900;color:#fff;letter-spacing:.03em;margin-bottom:8px}.v2cta-sub{font-size:12.5px;color:#c9dbea;margin-bottom:20px}.v2cta-btn{display:inline-block;background:#fff;color:#0e2b47;font-weight:800;font-size:15px;border-radius:999px;
  padding:13px 52px;text-decoration:none;box-shadow:0 6px 20px rgba(6,20,36,.3)}.v2cta-btn:hover{opacity:.92;color:#0e2b47}body.v2site .footer{background:#0b2238;padding:30px 0 26px}body.v2site .footer a{color:#c9dbea;font-size:12.5px;text-decoration:none}body.v2site .footer a:hover{color:#fff;text-decoration:underline}body.v2site .footer p{color:#7d94ab;font-size:11px;margin-top:10px}.v2grid{display:grid;grid-template-columns:minmax(0,1fr) 352px;column-gap:30px;row-gap:26px;
  max-width:1200px;margin:0 auto;padding:30px 12px 0}.v2grid>.links,.v2grid>.description,.v2grid>.scene,.v2grid>.clients,.v2grid>.v2contents,.v2grid>.v2faq,.v2grid>.v2dl{grid-column:1/-1}body.v2 .v2main .container,body.v2 #home .v2main .container{max-width:none !important;padding-left:0;padding-right:0}body.v2 .v2main .main .row>.col-lg-4,body.v2 #home .v2main .main .row>.col-lg-4{display:none}body.v2 .v2main .main .row>.col-lg-8,body.v2 #home .v2main .main .row>.col-lg-8{flex:0 0 100%;max-width:100%}body.v2 .v2main .main,body.v2 #home .v2main .main{padding:0 0 6px}body.v2 .v2main .main form,body.v2 #home .v2main .main form{margin-top:0 !important}body.v2 .v2grid>.links,body.v2 #home .v2grid>.links,body.v2 .v2grid>.description,body.v2 #home .v2grid>.description,body.v2 .v2grid>.scene,body.v2 #home .v2grid>.scene,body.v2 .v2grid>.clients,body.v2 #home .v2grid>.clients,body.v2 .v2grid>.v2contents,body.v2 #home .v2grid>.v2contents{margin-top:0 !important;margin-bottom:0 !important}body.v2 .v2grid>.links>.container,body.v2 #home .v2grid>.links>.container,body.v2 .v2grid>.description>.container,body.v2 #home .v2grid>.description>.container,body.v2 .v2grid>.scene>.container,body.v2 #home .v2grid>.scene>.container,body.v2 .v2grid>.clients>.container,body.v2 #home .v2grid>.clients>.container,body.v2 .v2grid>.v2contents>.container,body.v2 #home .v2grid>.v2contents>.container,body.v2 .v2grid>.v2faq>.container,body.v2 #home .v2grid>.v2faq>.container,body.v2 .v2grid>.v2dl>.container,body.v2 #home .v2grid>.v2dl>.container{max-width:940px !important;margin-left:auto;margin-right:auto}body.v2 .v2grid>.links,body.v2 #home .v2grid>.links{border-radius:16px;padding:38px 30px 34px}body.v2 .v2grid>.description,body.v2 #home .v2grid>.description{padding:38px 0 20px}body.v2 .v2grid>.scene,body.v2 #home .v2grid>.scene{border-radius:16px;padding:38px 30px 34px}body.v2 .v2grid>.clients.scene,body.v2 #home .v2grid>.clients.scene{background:#fff;border-radius:0;padding:30px 0 22px}body.v2 .v2grid>.v2contents,body.v2 #home .v2grid>.v2contents{border-radius:16px;padding:38px 30px 34px}body.v2 .v2grid>.v2faq,body.v2 #home .v2grid>.v2faq{padding:38px 0 26px}body.v2 .v2grid>.v2dl,body.v2 #home .v2grid>.v2dl{background:#f4f8fb;border-radius:16px;padding:36px 30px 30px}.v2side{display:flex;flex-direction:column;gap:18px;min-width:0}body.v2 .v2side .vg-promo,body.v2 #home .v2side .vg-promo{margin:0}.v2side-banners{display:flex;flex-direction:column;gap:16px}.v2biz{display:flex;flex-direction:column;border-radius:14px;padding:20px;text-decoration:none;
  transition:transform .15s,box-shadow .15s}.v2biz:hover{transform:translateY(-2px)}.v2biz-eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.14em;margin-bottom:10px}.v2biz-body{font-size:11.5px;line-height:1.85;margin:12px 0 14px}.v2biz-cta{align-self:flex-start;font-size:12.5px;font-weight:700;border-radius:999px;
  padding:8px 20px;display:inline-flex;align-items:center;gap:6px}.v2biz-cta::after{content:'';width:6px;height:6px;border-top:2px solid currentColor;
  border-right:2px solid currentColor;transform:rotate(45deg)}.v2biz--brand{background:linear-gradient(140deg,#0a2036,#17406a)}.v2biz--brand:hover{box-shadow:0 8px 22px rgba(10,32,54,.3)}.v2biz--brand .v2biz-eyebrow{color:#9fc0dd}.v2biz-logo{width:140px;height:auto;display:block}.v2biz--brand .v2biz-body{color:#c9dbea}.v2biz--brand .v2biz-cta{background:#fff;color:#0e2b47}.v2biz--works{background:#fff;border:1px solid #dce6f0}.v2biz--works:hover{border-color:#1d5fd6;box-shadow:0 8px 22px rgba(29,95,214,.14)}.v2biz--works .v2biz-eyebrow{color:#1552a8}.v2biz-title{font-size:17px;font-weight:900;color:#0e2b47;letter-spacing:.02em}.v2biz--works .v2biz-body{color:#5a6b7d}.v2biz--works .v2biz-cta{background:#0e2b47;color:#fff}
@media (max-width:991px){.v2grid{display:block;padding:0 12px}.v2side{margin-top:30px}
}body.v2 .main form .text-danger,body.v2 #home .main form .text-danger{color:#15568f !important}body.v2 .main p.text-primary,body.v2 #home .main p.text-primary{background:#f4f8fb;border:1px solid #e3edf5;border-radius:10px;padding:10px 16px}body.v2 .main p.text-primary small,body.v2 #home .main p.text-primary small{font-size:12px}body.v2 .slider .slider-handle,body.v2 #home .slider .slider-handle{background:#0e2b47;border:2px solid #fff;box-shadow:0 1px 4px rgba(14,43,71,.4)}body.v2 .slider .slider-selection,body.v2 #home .slider .slider-selection{background:#8fb4d4;background-image:none}body.v2 .slider .slider-track,body.v2 #home .slider .slider-track{background:#e3eaf2;background-image:none}body.v2 .scene ul li,body.v2 #home .scene ul li{width:auto !important}

/* =====================================================
   VOICE GATE v2 ヘッダー — モバイル／タブレット用ドロワー
   -----------------------------------------------------
   .v2h-nav は 1279px 以下で非表示になるため、同じ幅から
   ハンバーガーとドロワーを出してセクション導線を確保する。
   ヘッダーは position:fixed。ドロワーはその子として absolute で
   ぶら下げ、スクリムは fixed なのでヘッダー高さ（PC 64px /
   991px以下 56px）を top に明示する。
   ===================================================== */
.v2h-burger{
	display:none;
	flex:none;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	gap:5px;
	width:40px;
	height:40px;
	margin-left:10px;
	padding:6px;
	background:none;
	border:none;
	border-radius:8px;
	cursor:pointer;
}
.v2h-burger:hover{background:#eef4fa}
.v2h-burger span{
	display:block;
	width:22px;
	height:2px;
	border-radius:2px;
	background:#0e2b47;
	transition:transform .25s,opacity .25s;
}
.v2h-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.v2h-burger.is-open span:nth-child(2){opacity:0}
.v2h-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.v2h-scrim{
	display:none;
	position:fixed;
	top:64px;
	left:0;
	right:0;
	bottom:0;
	background:rgba(10,32,54,.35);
	touch-action:none;
}
.v2h-drawer{
	display:none;
	position:absolute;
	top:100%;
	left:0;
	right:0;
	background:#fff;
	border-top:1px solid #e3eaf2;
	box-shadow:0 12px 24px rgba(14,43,71,.12);
	max-height:calc(100vh - 64px);
	overflow-y:auto;
	overscroll-behavior:contain;
	padding:6px 16px 20px;
}
.v2h-drawer-nav{display:flex;flex-direction:column}
.v2h-drawer-nav a{
	padding:14px 4px;
	font-size:14.5px;
	font-weight:700;
	color:#22354a;
	text-decoration:none;
	border-bottom:1px solid #eef2f7;
}
.v2h-drawer-nav a:hover{color:#1552a8}
.v2h-drawer-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.v2h-drawer-actions a{
	display:block;
	text-align:center;
	text-decoration:none;
	border-radius:999px;
	font-size:14px;
	font-weight:700;
	padding:12px 0;
}
.v2h-drawer-login{border:1.5px solid #b9cfe3;color:#15406b}
.v2h-drawer-login:hover{border-color:#0e2b47;color:#0e2b47}
.v2h-drawer-reg{
	background:linear-gradient(135deg,#3d8bff,#1d5fd6);
	color:#fff !important;
	box-shadow:0 4px 12px rgba(29,95,214,.3);
}
.v2h-drawer-reg:hover{opacity:.92}
.v2h-drawer-consult{border:1.5px solid #0e2b47;color:#0e2b47}
.v2h-drawer-consult:hover{background:#0e2b47;color:#fff}

@media (max-width:1279px){
	.v2h-burger{display:flex}
	body.v2h-drawer-open .v2h-drawer,
	body.v2h-drawer-open .v2h-scrim{display:block}
}
/* タブレット以上では横幅いっぱいに広がると間延びするので、
   パディングで600pxの中央カラムに収める。 */
@media (min-width:768px){
	.v2h-drawer{
		padding-left:max(16px, calc(50% - 300px));
		padding-right:max(16px, calc(50% - 300px));
	}
}
@media (max-width:991px){
	.v2h-scrim{top:56px}
	.v2h-drawer{max-height:calc(100vh - 56px)}
}
/* スマホ幅はバーの実寸が足りないので、未ログイン時（会員登録ボタンが並ぶとき）
   だけ「ログイン」テキストをドロワー側に逃がし、ロゴとCTAを一段小さくする。
   ログイン時は「マイページ」1つなので、そのまま残す。 */
@media (max-width:767px){
	.v2h-inner{gap:10px}
	.v2h-left img{width:118px}
	.v2h-actions{gap:8px}
	.v2h-actions--guest .v2h-login{display:none}
	.v2h-reg{font-size:12px;padding:8px 14px}
	.v2h-burger{width:36px;height:36px;margin-left:2px}
}

/* =====================================================
   VOICE GATE v2 デザイン — 下層ページ
   -----------------------------------------------------
   スコープは body.v2site:not(.v2) ＝ トップページ以外の全ページ
   （固定ページテンプレート／記事詳細／アーカイブ／404）。
   トップページ（body.v2）と同じトークンで統一する:

     ネイビー   #0e2b47（主）/ #0a2036・#17406a・#15406b（面）
     アクセント linear-gradient(135deg,#3d8bff,#1d5fd6)
     リンク     #1552a8 / 見出し補助 #15568f
     本文       #41536b・#31465c / 補助 #5a6b7d・#7089a3
     罫線       #dce6f0・#e3eaf2・#e8eef5・#ccd7e2
     面         #f4f8fb・#f8fafc・#eef4fa・#e3eefa
     角丸       10 / 12 / 14 / 16px、ボタンはピル 999px
     影         0 6px 22px rgba(14,43,71,.07) ほか

   既存マークアップは変更せずCSSだけで寄せている。特に page-faq.php の
   .question / .answer は functions.php の FAQ 構造化データが参照する
   ため、クラス名・入れ子は触らないこと。
   ===================================================== */

/* ===== 土台 ===== */
body.v2site:not(.v2){
	font-family:'Noto Sans JP',sans-serif;
	color:#1a2b3c;
	background:#fff;
}
/* トップの .v2hero と同じ導入部の空気感を、下層では #inner の上端に
   帯として敷いて再現する（パンくず＋H1がこの帯に乗る）。
   高さはH1の下線が帯の中に収まる 260px。 */
body.v2site:not(.v2) #inner{
	background:linear-gradient(180deg,#eef4fa 0%,#f7fafd 58%,#ffffff 100%) no-repeat top center;
	background-size:100% 260px;
}
body.v2site:not(.v2) #inner .hero{
	background:none;
	padding:0;
}
/* 本文カラム幅はトップの .v2grid 内コンテナ（940px）に合わせる。
   ヘッダー／フッターの .container は 1200px のまま揃える。 */
body.v2site:not(.v2) #inner .container{max-width:960px !important}
body.v2site:not(.v2) #inner .banner .container{max-width:1080px !important}
body.v2site:not(.v2) #inner #mypage.container,
body.v2site:not(.v2) #download #inner .main-content > .container{max-width:1080px !important}

/* ===== パンくず ===== */
body.v2site:not(.v2) #inner #breadcrumbs,
body.v2site.single-post #breadcrumbs{
	background:transparent;
	color:#7089a3;
	font-size:11.5px;
	padding:14px 0 0;
}
body.v2site:not(.v2) #inner #breadcrumbs a,
body.v2site.single-post #breadcrumbs a{
	color:#15568f;
	text-decoration:none;
}
body.v2site:not(.v2) #inner #breadcrumbs a:hover,
body.v2site.single-post #breadcrumbs a:hover{
	color:#0e2b47;
	text-decoration:underline;
}

/* ===== ページタイトル（.hero 内・.main-content 内の両パターン） ===== */
body.v2site:not(.v2) #inner h1{
	font-size:30px;
	font-weight:900;
	color:#0e2b47;
	letter-spacing:.02em;
	line-height:1.5;
	text-align:center;
	margin:24px 0 36px;
	padding-bottom:18px;
	position:relative;
}
body.v2site:not(.v2) #inner h1::after{
	content:'';
	position:absolute;
	left:50%;
	bottom:0;
	transform:translateX(-50%);
	width:42px;
	height:3px;
	border-radius:2px;
	background:linear-gradient(135deg,#3d8bff,#1d5fd6);
}

/* ===== 本文まわり ===== */
body.v2site:not(.v2) #inner .main-content{
	color:#31465c;
	font-size:14.5px;
	line-height:2;
}
body.v2site:not(.v2) #inner .main-content h2{
	margin:52px 0 18px;
	padding:2px 0 2px 15px;
	font-size:22px;
	font-weight:900;
	letter-spacing:.02em;
	color:#0e2b47;
	background:none;
	border-left:4px solid #1d5fd6;
}
body.v2site:not(.v2) #inner .main-content h3{
	margin:40px 0 14px;
	padding:0 0 9px 22px;
	font-size:17.5px;
	font-weight:800;
	color:#0e2b47;
	border-bottom:1px solid #dce6f0;
}
body.v2site:not(.v2) #inner .main-content h3:before{
	top:9px;
	width:11px;
	height:11px;
	border-radius:3px;
	background:linear-gradient(135deg,#3d8bff,#1d5fd6);
}
body.v2site:not(.v2) #inner .main-content a{
	color:#1552a8;
	text-decoration:underline;
	text-decoration-style:solid;
	text-underline-offset:2px;
}
body.v2site:not(.v2) #inner .main-content a:hover{color:#0e2b47}
body.v2site:not(.v2) #inner .main-content b,
body.v2site:not(.v2) #inner .main-content strong{color:#0e2b47}
body.v2site:not(.v2) #inner .main-content .text-danger{color:#c0392b !important}
body.v2site:not(.v2) #inner code{
	background:#eef4fa;
	border:1px solid #d7e5f2;
	border-radius:5px;
	padding:2px 6px;
	font-size:12.5px;
	color:#15406b;
}
body.v2site:not(.v2) #inner hr{border-color:#dce6f0;opacity:1}

/* ===== ボタン（ピル＋ネイビーグラデ） =====
   Bootstrap の色バリアント（btn-primary/secondary/danger…）と
   閉じるボタンは各自の見た目を保つので除外する。 */
body.v2site:not(.v2) #inner .btn:not(.btn-close,.btn-primary,.btn-secondary,.btn-danger,.btn-light,.btn-link),
body.v2site:not(.v2) #inner .main-content a.btn,
body.v2site:not(.v2) #login a.btn,
body.v2site:not(.v2) #login button.btn{
	display:inline-block;
	background:linear-gradient(135deg,#15406b,#0e2b47);
	border:none;
	border-radius:999px;
	color:#fff;
	font-size:15px;
	font-weight:700;
	letter-spacing:.05em;
	padding:12px 40px;
	text-align:center;
	text-decoration:none;
	white-space:nowrap;
	box-shadow:0 4px 12px rgba(14,43,71,.24);
	transition:opacity .2s,box-shadow .2s;
}
body.v2site:not(.v2) #inner .btn:not(.btn-close,.btn-primary,.btn-secondary,.btn-danger,.btn-light,.btn-link):hover,
body.v2site:not(.v2) #inner .main-content a.btn:hover,
body.v2site:not(.v2) #login a.btn:hover,
body.v2site:not(.v2) #login button.btn:hover{
	background:linear-gradient(135deg,#15406b,#0e2b47);
	color:#fff;
	opacity:.92;
	box-shadow:0 6px 18px rgba(14,43,71,.3);
}
/* サイズ・状態の派生は、上のベース規則より詳細度を1段高くしておく
   （ベースは .btn:not(...) ＝ クラス4個ぶん）。 */
body.v2site:not(.v2) #inner .btn:not(.btn-close,.btn-primary,.btn-secondary,.btn-danger,.btn-light,.btn-link).btn-sm{
	font-size:13px;
	padding:8px 24px;
	letter-spacing:.03em;
}
body.v2site:not(.v2) #inner .btn:not(.btn-close,.btn-primary,.btn-secondary,.btn-danger,.btn-light,.btn-link).disabled,
body.v2site:not(.v2) #login button.btn.disabled{
	opacity:.4;
	box-shadow:none;
	cursor:not-allowed;
}
body.v2site:not(.v2) #login button.btn.disabled:hover{
	background:linear-gradient(135deg,#15406b,#0e2b47);
	border:none;
	opacity:.4;
}

/* ===== フォーム部品 ===== */
body.v2site:not(.v2) #inner .form-control{
	border:1px solid #ccd7e2;
	border-radius:8px;
	font-size:14px;
	padding:11px 14px;
	color:#22354a;
	box-shadow:none;
}
body.v2site:not(.v2) #inner .form-control:focus{
	border-color:#1d5fd6;
	box-shadow:0 0 0 3px rgba(29,95,214,.12);
}
body.v2site:not(.v2) #inner .form-control::placeholder{color:#9db4c9}
/* page-sign-up.php の都道府県セレクトは背景画像で▼を描いているので、
   右側の余白を潰さない（潰すと文字と▼が重なる）。 */
body.v2site:not(.v2) #inner select.form-control{padding-right:34px}
/* 入力欄の見出しラベルのみ。page-sign-up.php のチップ／カード型チェック
   （.chip・.check-card・.agree-check）や Bootstrap の .form-check-label は
   それぞれ独自の体裁を持つので対象外にする。 */
body.v2site:not(.v2) #inner label:not(.check-card,.chip,.agree-check,.form-check-label){
	font-size:13px;
	font-weight:700;
	color:#41536b;
}
body.v2site:not(.v2) #inner textarea.form-control{min-height:150px}
body.v2site:not(.v2) #inner form .alert{border-radius:8px;font-size:13px}
body.v2site:not(.v2) #inner form .alert-success{
	background:#e8f4ec;
	border:1px solid #bfe0cb;
	color:#1e6b3c;
}
body.v2site:not(.v2) #inner form .alert-error{
	background:#fdecec;
	border:1px solid #f2c4c4;
	color:#a52a2a;
}

/* ===== ログイン／会員登録／パスワード再発行のパネル ===== */
body.v2site:not(.v2) #login{
	background:#fff;
	border:1px solid #dce6f0;
	border-radius:14px;
	box-shadow:0 6px 22px rgba(14,43,71,.07);
	padding:26px 22px 24px;
}
body.v2site:not(.v2) #login .title{
	font-size:16px;
	font-weight:800;
	color:#0e2b47;
	letter-spacing:.04em;
	margin-bottom:14px;
}
body.v2site:not(.v2) #login .error-message{color:#c0392b}
body.v2site:not(.v2) #login .form-divider{
	border-top:1px solid #e3eaf2;
	margin:24px 0 16px;
}
body.v2site:not(.v2) #login .section-title{color:#0e2b47;font-weight:800}
body.v2site:not(.v2) #login small a,
body.v2site:not(.v2) #login .login-link a{color:#1552a8}
@media (min-width:992px){
	body.v2site:not(.v2) #login{padding:36px 40px 32px}
}

/* ===== 料金プランカード ===== */
body.v2site:not(.v2) #plans a,
body.v2site:not(.v2) #plans .card{
	display:block;
	background:#fff;
	border:1px solid #dce6f0;
	border-radius:14px;
	box-shadow:0 4px 14px rgba(14,43,71,.06);
	padding:28px 22px 24px;
	height:100%;
	text-align:center;
	text-decoration:none !important;
	position:relative;
	transition:border-color .15s,box-shadow .15s,transform .15s;
}
body.v2site:not(.v2) #plans a:hover,
body.v2site:not(.v2) #plans .card:hover{
	border-color:#1d5fd6;
	box-shadow:0 8px 22px rgba(29,95,214,.14);
	transform:translateY(-2px);
}
body.v2site:not(.v2) #plans a span.title,
body.v2site:not(.v2) #plans .card span.title{
	display:inline-block;
	background:#eef4fa;
	border:1px solid #d7e5f2;
	border-radius:999px;
	color:#15568f;
	font-size:13px;
	font-weight:800;
	letter-spacing:.04em;
	padding:4px 18px;
	margin-bottom:14px;
}
body.v2site:not(.v2) #plans a span.price,
body.v2site:not(.v2) #plans .card span.price{
	color:#0e2b47;
	font-size:34px;
	font-weight:900;
	line-height:1.3;
}
body.v2site:not(.v2) #plans a span.price small,
body.v2site:not(.v2) #plans .card span.price small{
	font-size:15px;
	color:#5a6b7d;
	font-weight:700;
}
body.v2site:not(.v2) #plans a span.detail,
body.v2site:not(.v2) #plans .card span.detail{
	font-size:13px;
	line-height:1.9;
	color:#41536b;
	margin:6px 0 16px;
}
body.v2site:not(.v2) #plans .card .current,
body.v2site:not(.v2) #plans .card .new{
	top:14px;
	left:14px;
	border-radius:999px;
	font-size:10.5px;
	letter-spacing:.06em;
	padding:3px 12px;
}
body.v2site:not(.v2) #plans .card .current{background:linear-gradient(135deg,#3d8bff,#1d5fd6)}

/* ===== よくある質問（page-faq.php） ===== */
body.v2site:not(.v2) #faq .title{
	margin:46px 0 16px;
	padding:2px 0 2px 15px;
	font-size:22px;
	font-weight:900;
	color:#0e2b47;
	background:none;
	border-left:4px solid #1d5fd6;
}
/* 冒頭のカテゴリ目次をトップの .v2contents と同じカードリンクにする */
body.v2site:not(.v2) #faq > .container > ul{
	list-style:none;
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
	gap:10px;
	margin:0 0 6px;
	padding:0;
}
body.v2site:not(.v2) #faq > .container > ul li{margin:0}
body.v2site:not(.v2) #faq > .container > ul li a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	background:#f8fafc;
	border:1px solid #e3edf5;
	border-radius:10px;
	padding:13px 18px;
	font-size:13.5px;
	font-weight:600;
	color:#31465c;
	text-decoration:none;
	height:100%;
	transition:border-color .15s,box-shadow .15s;
}
body.v2site:not(.v2) #faq > .container > ul li a::after{
	content:'';
	width:7px;
	height:7px;
	flex:none;
	border-right:2px solid #9db4c9;
	border-bottom:2px solid #9db4c9;
	transform:rotate(45deg);
	margin-bottom:3px;
}
body.v2site:not(.v2) #faq > .container > ul li a:hover{
	background:#fff;
	border-color:#1d5fd6;
	color:#0e2b47;
	box-shadow:0 4px 12px rgba(29,95,214,.12);
}
body.v2site:not(.v2) #faq .item{
	background:#fff;
	border:1px solid #dce6f0;
	border-radius:10px;
	padding:16px 18px 14px;
	margin-bottom:10px;
}
body.v2site:not(.v2) #faq .item:hover{border-color:#b9cfe3}
body.v2site:not(.v2) #faq .question{
	font-size:14px;
	font-weight:700;
	line-height:1.7;
	color:#22354a;
	border-bottom:none;
	padding-left:32px;
	margin-bottom:12px;
}
body.v2site:not(.v2) #faq .answer{
	font-size:13.5px;
	line-height:1.95;
	color:#41536b;
	padding-left:32px;
	padding-top:13px;
	border-top:1px solid #eef2f7;
}
body.v2site:not(.v2) #faq .question:before,
body.v2site:not(.v2) #faq .answer:before{
	top:0;
	left:0;
	width:22px;
	height:22px;
	border-radius:5px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:11.5px;
	font-weight:700;
}
body.v2site:not(.v2) #faq .question:before{background:#e3eefa;color:#1552a8}
body.v2site:not(.v2) #faq .answer:before{top:13px;background:#eef1f5;color:#5a6b7d}

/* ===== マイページ ===== */
body.v2site:not(.v2) #mypage .nav{
	border-bottom:2px solid #dce6f0;
	gap:4px;
}
body.v2site:not(.v2) #mypage .nav button{
	color:#41536b;
	font-size:13px;
	font-weight:700;
	padding:9px 16px;
	border-radius:10px 10px 0 0;
}
body.v2site:not(.v2) #mypage .nav button:hover{background:#eef4fa;color:#0e2b47}
body.v2site:not(.v2) #mypage .nav button.active{
	background:linear-gradient(135deg,#15406b,#0e2b47);
	color:#fff;
}
body.v2site:not(.v2) #mypage .item{
	background:#fff;
	border:1px solid #dce6f0;
	border-radius:14px;
	box-shadow:0 4px 14px rgba(14,43,71,.05);
	padding:22px;
	margin-bottom:18px;
}
body.v2site:not(.v2) #mypage .item > span{
	font-size:15px;
	font-weight:800;
	color:#0e2b47;
}
body.v2site:not(.v2) #mypage .item span small{
	font-size:12.5px;
	color:#5a6b7d;
	line-height:1.8;
}
body.v2site:not(.v2) #mypage .item input{padding:11px 14px}
body.v2site:not(.v2) #mypage input[readonly]{
	background:#f4f8fb;
	color:#5a6b7d;
	border-color:#e3eaf2;
}
body.v2site:not(.v2) #mypage #new-card #card-element{
	border:1px solid #ccd7e2;
	border-radius:8px;
	padding:12px;
}
body.v2site:not(.v2) #mypage #new-card #payment-form button{
	background:linear-gradient(135deg,#15406b,#0e2b47);
	border:none;
	border-radius:999px;
	padding:10px 28px;
	font-size:14px;
	font-weight:700;
}
/* --- 「保存する」ボタン ---
   旧 #mypage .item #usage button / #mypage #urlForm button.save は id を2つ
   含むため詳細度が高く、v2のピル指定（.btn-sm の padding）に勝ってしまう。
   同等以上の詳細度で上書きし、2箇所の見た目と位置を揃える。 */
body.v2site:not(.v2) #mypage .item #usage button[type="submit"],
body.v2site:not(.v2) #mypage #urlForm button.save{
	min-width:160px;
	margin:0;
	padding:11px 32px;
	font-size:13.5px;
	letter-spacing:.04em;
}
/* #usage は form が .d-flex のため中の div が内容幅で止まり、.text-end の
   右寄せがカード幅と揃わない。中身を伸ばして他のフォームと基準を合わせる。 */
body.v2site:not(.v2) #mypage form#usage > div{flex:1 1 auto;min-width:0}
body.v2site:not(.v2) #mypage .item #usage .text-end,
body.v2site:not(.v2) #mypage #urlForm .text-end{margin-top:10px}

/* --- URL行の補助操作 ---
   「削除」「+ URL追加」は主動作（保存する）より前に出ないよう、
   塗りつぶしをやめて細いアウトラインのピルに揃える。 */
body.v2site:not(.v2) #mypage #urlForm #addUrlButton{
	align-self:flex-start;
	background:#fff;
	border:1.5px solid #b9cfe3;
	border-radius:999px;
	color:#1552a8;
	font-size:12.5px;
	font-weight:700;
	padding:8px 20px;
	margin:2px 0 4px;
	box-shadow:none;
}
body.v2site:not(.v2) #mypage #urlForm #addUrlButton:hover{
	background:#eef4fa;
	border-color:#1d5fd6;
	color:#0e2b47;
}
body.v2site:not(.v2) #mypage #urlForm .url-input-group button.remove-url{
	flex:none;
	background:#fff;
	border:1.5px solid #ccd7e2;
	border-radius:999px;
	color:#5a6b7d;
	font-size:12.5px;
	font-weight:700;
	padding:0 18px;
	box-shadow:none;
}
body.v2site:not(.v2) #mypage #urlForm .url-input-group button.remove-url:hover{
	background:#fff;
	border-color:#c0392b;
	color:#c0392b;
}

/* ===== ダウンロード画面 ===== */
body.v2site:not(.v2) #download #downloadButton{
	background:linear-gradient(135deg,#3d8bff,#1d5fd6);
	border:none;
	border-radius:999px;
	color:#fff;
	font-size:16px;
	font-weight:700;
	padding:13px 40px;
	box-shadow:0 5px 16px rgba(29,95,214,.35);
	transition:opacity .2s;
}
body.v2site:not(.v2) #download #downloadButton:hover{opacity:.92}
body.v2site:not(.v2) #download .links a.main{
	background:linear-gradient(140deg,#0a2036,#17406a);
	border-radius:14px;
	font-size:20px;
	padding:24px 26px;
	box-shadow:0 6px 20px rgba(10,32,54,.2);
}
body.v2site:not(.v2) #download .links a.main:hover{opacity:1;box-shadow:0 10px 26px rgba(10,32,54,.3)}
body.v2site:not(.v2) #download .links a.main span{
	background:#fff;
	color:#0e2b47;
	border:none;
	border-radius:999px;
	font-weight:700;
}
body.v2site:not(.v2) #download .links a.main font{border-bottom-color:rgba(255,255,255,.6)}
body.v2site:not(.v2) #download .links a.btn.border{
	background:transparent;
	border:1.5px solid #0e2b47 !important;
	color:#0e2b47;
	box-shadow:none;
}
body.v2site:not(.v2) #download .links a.btn.border:hover{background:#0e2b47;color:#fff}
body.v2site:not(.v2) #download .works .item span.title{color:#0e2b47}
body.v2site:not(.v2) #download .works .item ul li{
	background:#eef4fa;
	border:1px solid #d7e5f2;
	border-radius:999px;
	color:#41536b;
}
@media only screen and (min-width:992px){
	body.v2site:not(.v2) #download .links a.main{font-size:26px}
}

/* ===== クレジット表記ページ ===== */
body.v2site:not(.v2) #credit-rule{
	background:#f4f8fb;
	border:1px solid #e3edf5;
	border-radius:14px;
	padding:20px;
}
body.v2site:not(.v2) #credit-rule .code{
	background:linear-gradient(140deg,#0a2036,#17406a);
	border-radius:10px;
	font-size:13px;
}
/* 濃色面の上の文字は白のまま保つ（.main-content の太字ネイビー化に負けないよう
   詳細度を上げておく）。 */
body.v2site:not(.v2) #inner #credit-rule .code b,
body.v2site:not(.v2) #inner #credit-rule .code small{color:#fff}
body.v2site:not(.v2) #credit-rule .code textarea{border-radius:8px;font-size:13px;color:#22354a}
body.v2site:not(.v2) #credit-rule img{border-radius:10px}

/* ===== 料金・ダウンロードページに載る #home セクション ===== */
body.v2site:not(.v2) #inner #home .links{
	background:#f4f8fb;
	padding:46px 0 42px;
	margin-top:48px;
}
body.v2site:not(.v2) #inner #home .scene{
	background:#fff;
	padding:46px 0 42px;
	margin-top:0;
}
body.v2site:not(.v2) #inner #home .links .title,
body.v2site:not(.v2) #inner #home .scene h2{
	display:block;
	width:100%;
	background:none;
	border-radius:0;
	text-align:center;
	font-size:25px;
	font-weight:900;
	letter-spacing:.03em;
	color:#0e2b47;
	margin:0 0 26px;
	padding:0 0 14px;
	position:relative;
}
body.v2site:not(.v2) #inner #home .links .title::after,
body.v2site:not(.v2) #inner #home .scene h2::after{
	content:'';
	position:absolute;
	left:50%;
	bottom:0;
	transform:translateX(-50%);
	width:42px;
	height:3px;
	border-radius:2px;
	background:linear-gradient(135deg,#3d8bff,#1d5fd6);
}
body.v2site:not(.v2) #inner #home .links ul{
	border-top:none;
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
	gap:12px;
	padding:0;
	list-style:none;
}
body.v2site:not(.v2) #inner #home .links li{border-bottom:none;margin:0}
body.v2site:not(.v2) #inner #home .links li a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	background:#fff;
	border:1px solid #dce6f0;
	border-radius:10px;
	padding:14px 18px;
	font-size:13.5px;
	font-weight:600;
	color:#31465c;
	height:100%;
	transition:border-color .15s,box-shadow .15s;
}
body.v2site:not(.v2) #inner #home .links li a::after{
	content:'';
	width:7px;
	height:7px;
	flex:none;
	border-top:2px solid #9db4c9;
	border-right:2px solid #9db4c9;
	transform:rotate(45deg);
}
body.v2site:not(.v2) #inner #home .links li a:hover{
	background:#fff;
	border-color:#1d5fd6;
	color:#0e2b47;
	box-shadow:0 4px 12px rgba(29,95,214,.12);
}
body.v2site:not(.v2) #inner #home .links li a:hover::after{border-color:#1d5fd6}
body.v2site:not(.v2) #inner #home .no-more > div{
	background:#fff;
	border:1px solid #e3edf5;
	border-radius:12px;
	padding:12px 18px;
	font-size:12.5px;
	font-weight:600;
	color:#41536b;
	max-width:640px;
	margin:0 auto;
}
body.v2site:not(.v2) #inner #home .no-more > div img{width:52px;height:52px}
body.v2site:not(.v2) #inner #home .scene > .container > p{
	text-align:center;
	font-size:13.5px;
	color:#41536b;
	margin-bottom:20px;
}
body.v2site:not(.v2) #inner #home .scene > .container > .d-flex{display:block !important}
body.v2site:not(.v2) #inner #home .scene ul{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
	gap:2px 18px;
	width:100%;
	margin:0;
	padding:0;
	list-style:none;
}
body.v2site:not(.v2) #inner #home .scene li{
	width:auto !important;
	margin:0;
	padding:9px 2px;
	font-size:13px;
	font-weight:500;
	color:#31465c;
	gap:10px;
}
body.v2site:not(.v2) #inner #home .scene li img{
	width:20px;
	height:20px;
	opacity:.6;
	flex:none;
	margin-right:0;
}

/* ===== ページ下部のCTAバナー ===== */
body.v2site:not(.v2) #inner .banner{
	background:linear-gradient(140deg,#0a2036,#17406a);
	color:#fff;
	margin-top:60px;
	padding:48px 0 44px;
}
/* ロゴ画像は width="368" 固定で入っているため、狭い画面でははみ出す。 */
body.v2site:not(.v2) #inner .banner img{max-width:100%;height:auto}
body.v2site:not(.v2) #inner .banner h2{
	font-size:26px;
	font-weight:900;
	letter-spacing:.02em;
	color:#fff;
}
body.v2site:not(.v2) #inner .banner p{
	color:#d7e4ef;
	font-size:13.5px;
	line-height:2;
}
body.v2site:not(.v2) #inner .banner ul li{
	width:auto;
	background:rgba(255,255,255,.14);
	border:1px solid rgba(255,255,255,.35);
	border-radius:999px;
	color:#eaf3fa;
	font-size:11.5px;
	font-weight:700;
	padding:4px 15px;
	margin-right:8px;
}
body.v2site:not(.v2) #inner .banner > a{
	width:max-content;
	max-width:calc(100% - 32px);
	margin:34px auto 0;
	background:#fff;
	color:#0e2b47;
	border-radius:999px;
	font-size:17px;
	font-weight:800;
	letter-spacing:.03em;
	padding:14px 46px;
	box-shadow:0 6px 20px rgba(6,20,36,.3);
	transition:opacity .2s;
}
body.v2site:not(.v2) #inner .banner > a:hover{opacity:.9;color:#0e2b47}

/* ===== 記事詳細（single.php） ===== */
body.v2site.single-post{background:#fff;color:#1a2b3c}
body.v2site.single-post #single{
	background:linear-gradient(180deg,#eef4fa 0%,#f7fafd 60%,#ffffff 100%) no-repeat top center;
	background-size:100% 220px;
}
body.v2site.single-post h1{
	font-size:27px;
	font-weight:900;
	color:#0e2b47;
	line-height:1.55;
	letter-spacing:.02em;
	margin:22px 0 14px;
}
body.v2site.single-post .main-contents img.featured{border-radius:12px}
body.v2site.single-post .main-contents .author{
	background:#f8fafc;
	border:1px solid #e8eef5;
	border-radius:12px;
	padding:16px 20px;
	font-size:13.5px;
	color:#41536b;
}
body.v2site.single-post .main-contents .author .title{
	border-left:4px solid #1d5fd6;
	color:#0e2b47;
	font-weight:800;
}
body.v2site.single-post .content{color:#31465c;font-size:15px}
body.v2site.single-post .content h2{
	margin:56px 0 18px;
	padding:2px 0 2px 15px;
	font-size:24px;
	font-weight:900;
	color:#0e2b47;
	background:none;
	border-left:4px solid #1d5fd6;
}
body.v2site.single-post .content h3{
	margin:44px 0 16px;
	padding:0 0 9px 22px;
	font-size:19px;
	font-weight:800;
	color:#0e2b47;
	border-bottom:1px solid #dce6f0;
}
body.v2site.single-post .content h3:before{
	top:8px;
	width:11px;
	height:11px;
	border-radius:3px;
	background:linear-gradient(135deg,#3d8bff,#1d5fd6);
}
body.v2site.single-post .content h4{
	margin:32px 0 12px;
	padding:0;
	font-size:17px;
	font-weight:800;
	color:#15406b;
	background:none;
}
body.v2site.single-post .content a,
body.v2site.single-post .content p a,
body.v2site.single-post .content td a{
	color:#1552a8;
	text-decoration:underline;
	text-decoration-style:solid;
	text-underline-offset:2px;
}
body.v2site.single-post .content a:hover,
body.v2site.single-post .content p a:hover,
body.v2site.single-post .content td a:hover{color:#0e2b47}
body.v2site.single-post .content table th{
	background:#eef4fa;
	border:1px solid #dce6f0;
	color:#0e2b47;
}
body.v2site.single-post .content table td{border:1px solid #dce6f0}
body.v2site.single-post .content img{border-radius:10px}
body.v2site.single-post .content ul li:before{background:#1d5fd6}
body.v2site.single-post .content .wp-block-code{
	background:#0a2036;
	border-radius:10px;
}
body.v2site.single-post a.wp-block-button__link{
	background:linear-gradient(135deg,#15406b,#0e2b47);
	border-radius:999px;
	padding:11px 34px;
	font-size:15px;
	font-weight:700;
	box-shadow:0 4px 12px rgba(14,43,71,.24);
}
body.v2site.single-post .content .point{
	background:#f8fafc;
	border:1px solid #e8eef5;
	border-radius:12px;
}
body.v2site.single-post .content .point span.title{color:#0e2b47}
@media only screen and (min-width:992px){
	body.v2site.single-post .content h2{font-size:1.7rem}
	body.v2site.single-post .content h3{font-size:1.35rem}
}

/* ===== 関連記事・記事一覧カード ===== */
body.v2site .related.bold{
	font-size:20px;
	font-weight:900;
	color:#0e2b47;
}
body.v2site .related-post .item a,
body.v2site .blog article a{color:#22354a;font-weight:600}
body.v2site .related-post .item:hover,
body.v2site .blog article:hover{opacity:1}
body.v2site .related-post .item img,
body.v2site .blog article img{
	border-radius:10px;
	border:1px solid #e8eef5;
	transition:box-shadow .15s;
}
body.v2site .related-post .item:hover img,
body.v2site .blog article:hover img{box-shadow:0 6px 18px rgba(14,43,71,.14)}
body.v2site .related-post .item:hover a,
body.v2site .blog article:hover a{color:#1552a8}
body.v2site .related-post .item small{color:#7089a3;opacity:1}
body.v2site .blog article .title{font-size:20px;line-height:1.6;font-weight:800}

/* ===== 404 ===== */
body.v2site.error404 .hero{
	background:linear-gradient(180deg,#eef4fa 0%,#ffffff 100%);
	padding:46px 0 34px;
}
body.v2site.error404 h1{
	font-size:30px;
	font-weight:900;
	color:#0e2b47;
	letter-spacing:.02em;
}
body.v2site.error404 h2{
	font-size:19px;
	font-weight:800;
	color:#0e2b47;
}
body.v2site.error404 p{color:#41536b;font-size:14.5px}
body.v2site.error404 a.btn{
	background:linear-gradient(135deg,#15406b,#0e2b47);
	border:none;
	border-radius:999px;
	color:#fff;
	font-weight:700;
	padding:12px 40px;
	box-shadow:0 4px 12px rgba(14,43,71,.24);
}

/* ===== スマートフォン ===== */
@media (max-width:767px){
	body.v2site:not(.v2) #inner{background-size:100% 200px}
	body.v2site:not(.v2) #inner h1{font-size:22px;margin:18px 0 28px}
	body.v2site:not(.v2) #inner .main-content h2{font-size:18.5px;margin:40px 0 14px}
	body.v2site:not(.v2) #inner .main-content h3{font-size:16px;margin:32px 0 12px}
	body.v2site:not(.v2) #inner .banner h2{font-size:20px}
	body.v2site:not(.v2) #inner .banner > a{font-size:15px;padding:13px 28px}
	body.v2site:not(.v2) #inner #home .links .title,
	body.v2site:not(.v2) #inner #home .scene h2{font-size:20px}
	body.v2site.single-post h1{font-size:21px}
	body.v2site.single-post .content h2{font-size:19px}
	body.v2site.single-post .content h3{font-size:16.5px}
}
