@charset "UTF-8";

/* グローバルメニューCSSインポート */
@import url("./gmenu.css");



/* CSS Document */

/* box-sizingの優先値 */
*,
*::before,
*::after{
    box-sizing: border-box;
}

/* 画像がコンテナを超えないようにするため */
img {
    max-width: 100%;
}

/* テーブルのセル間のスペースを削除します */
table{
    border-collapse: collapse;
}

img,a img{
	border:none;
	background:transparent;
	vertical-align:bottom;
}


/*----------------------------------------------------*/

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
	scroll-padding-top: 70px;
}
body{
	font-size:1.6rem;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

.txt-center {
	text-align:center;
}

.txt-right {
	text-align:right;
}

.txt-left {
	text-align:left;
}

.font-bold {
	font-weight:bold;
}

.font-normal {
	font-weight:normal;
}


main {
	width:800px;
}

@media (max-width: 800px) {
	main {
		width:100%
	}
}

.pinfo {
	margin:20px 0;
	padding:30px 10px;
	background:#fafafa;
	border-radius:5px;
}

.pname {
	font-family: 'Noto Sans JP', sans-serif;
	font-size:2.5rem !important;
	font-weight:bold;
}

section {
	margin-bottom:100px;
}


h1 {
	margin:0 0 30px;
	padding:10px;
	border-bottom:2px solid #222;
	line-height:120%;
	font-size:3rem;
	font-weight:bold;
}


h2 {
	border-bottom:2px dashed #333;
	margin:0 0 30px;
	padding: 50px 0 5px 10px;
	font-size:2.5rem;
	color:#222;
}

h3 {
	margin:50px 0 30px 10px;
	padding: 0 0 0 10px;
	border-left:10px solid #f67d28;
	font-size:2rem;
	color:#333;
}


p {
	margin:20px 10px;
	line-height:150%;
}


.imgbox {
	text-align:center;
	margin:50px auto;
}




@media (max-width: 576px) {
	.pinfo {
		margin:20px 0;
		padding:10px;
	}
	h1 {
		font-size:2rem;
	}
	h2 {
		font-size:2rem;
	}

	h3 {
		font-size:1.5rem;
	}

	p {
		margin:20px 5px;
		font-size:1.5rem;
	}
}


/* flex */

.flx {
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	margin:20px 0;
}

.press-flx {
	display:flex;
	justify-content: center;
}

.press-flx-lft {
	width:50%;
	margin:20px;
}

@media (max-width: 576px) {
	.press-flx {
		display: block;
	}

	.press-flx-lft {
		width:100%;
		margin:0;
		text-align: center;
	}
	
}



/* mp4 */

.video {
	text-align:center;
	margin-bottom:50px;
}

.video video {
	width:750px;
}


@media (max-width: 576px) {
	.video video {
		width:100%;
	}
}



/* ラベルアイコン */

.r-icon {
	background: #df002c;
	padding: 1px 5px;
	margin-left: 5px;
	vertical-align: middle;
	font-size: 0.8em;
	font-weight: bold;
	color: #fff;
	border-radius: 3px;
}

.y-icon {
	background: #f39801;
	padding: 1px 5px;
	margin-left: 5px;
	vertical-align: middle;
	font-size: 0.8em;
	font-weight: bold;
	color: #fff;
	border-radius: 3px;
}

.g-icon {
	background: #666;
	padding: 1px 5px;
	margin-left: 5px;
	vertical-align: middle;
	font-size: 0.8em;
	font-weight: bold;
	color: #fff;
	border-radius: 3px;
}

.b-icon {
	background: #48bbf2;
	padding: 1px 5px;
	margin-left: 5px;
	vertical-align: middle;
	font-size: 0.8em;
	font-weight: bold;
	color: #fff;
	border-radius: 3px;
}



/* 表 */


.tbl {
	width:90%;
	margin: 0 auto;
	padding:5px;
	border:1px solid #404040;
	background:#fff;
	font-size:0.9em;
}

.tbl th {
	background:#f67d28;
	border:1px solid #404040;
	padding:5px;
	font-weight:bold;
	text-align:center;
	color:#fff;
}

.tbl td {
	border:1px solid #404040;
	padding:5px;
}

.tbl td ul {
	margin-left:-10px;
}

.tbl td li {
	list-style:square;
	list-style-position: outside;

}

@media (max-width: 576px) {
	.tbl {
		width:100%;
		margin:0 5px;
	}

}




.env2 {
	width:80%;
	margin: 0 auto;
	padding:5px;
	font-size:0.9em;
}

.env2 td {
	padding:5px;
	border-bottom:1px solid #ccc;
}

@media (max-width: 576px) {
	.env2 {
		width:90%;
	}
}

.tri {
	margin: 0 auto;
	border:1px solid #404040;
	padding:5px;
	width:80%;
}

.tri td {
	border:1px solid #404040;
	padding:10px;
	text-align:center;
}



/* 購入 */

.buytable {
	width:98%;
	margin: 0 auto;
	border:1px solid #404040;
}

.buytable td {
	border:1px solid #404040;
	padding:10px;
}

.buytable p{
	margin-bottom:10px;
}
.buy-img {
	text-align:center;
	width:40%;
}

.buy-name {
	font-weight:bold;
	font-size:2rem;
}




footer {
	width:800px;
	margin:50px 0 0;
	text-align:center;
}

footer p {
	margin:20px;
	color:#666;
}

.copy {
	padding-top:10px;
	border-top:1px solid #aaa;
	font-size:1.2rem;
	margin-bottom:10px;
}

@media (max-width: 576px) {
	footer {
		width:100%;
	}
}

#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #ccc;
  opacity: 0.6;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f062';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}


/* 法人向けライセンス */
.companypoint li {
	margin:0 0 10px 0;
	list-style-type: square;
}

.companyprodinfo {
	margin:20px 30px;
}

.companyprodinfo dt {
	font-weight:bold;
	margin:20px 0;
}

.companyprice {
	width:100%;
	margin: 0 auto;
	border:1px solid #fff;
	padding:5px;
	font-size:0.9em;
}

.companyprice th {
	border:1px solid #fff;
	padding:5px;
	background:#404040;
	color: #fff;
	font-weight: bold;
}

.companyprice td {
	border:1px solid #999;
	padding:5px;
}

.companyprice td{
	text-align: center;
}

.companyprice td:nth-child(4){
	text-align: right;
}


.kind01 {
	background: #e2fbdb;
}

.kind02 {
	background: #f6f0ff;
}

.kind03 {
	background:#e8ffff;
}
.companydocdl {
	display: flex;
	width:600px;
	margin:20px auto;
}

.companydocdl div {
	margin:10px 30px;
	text-align: center;
	font-size:1.3rem;
}



/* 製品をお選びください -------------- */
.catlist {
	background:#ececec;
	padding:10px;
}

.catlist ul {
	column-count: 3;
	font-size: 1.4rem;
}

.catlist ul li {
	list-style: none;
	margin-bottom:0.5rem;
}

.catlist ul li a {
	color:#000;
	text-decoration: none;
}
.catlist ul li:before {
	font-family: "Font Awesome 5 Free";
	content: '\f0da';
	font-weight: 900;
	color:#000;
	margin-right:5px;
}

.flimg {
	float:left;
	margin:0 20px 20px;
}

.clear {
	clear:both;
	margin-top:50px;
}


@media (max-width: 576px) {
	.catlist ul {
		margin-left:-30px;
	}

	.flimg {
		float:none;
	}

	.companydocdl {
		display: block;
		width:100%;
	}

	.companydocdl div {
		margin:20px 0;
	}

}




/* 楕円 */
.btn-oval {
	position: relative;
	width:300px;
	height:50px;
	margin:5px auto 20px;
	background: #eee;
	border-radius:50px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.3);
	text-align:center;
}

.btn-oval a {
	position: absolute;
	padding:13px;
	top: 0;
	left: 0;
	height:100%;
	width: 100%;
	color:#555;
	font-weight:bold;
	text-decoration:none;
}

.btn-oval a:hover {
	color:#000;
	border-radius:50px;
	background:#f8f4e6;
	text-decoration:none;
}

.responsive {
width: 100%;
aspect-ratio: 16/9;
}

.responsive {
width: 100%;
aspect-ratio: 16/9;
}

.responsive iframe {
width: 100%;
height: 100%;
}
/* v22: Vertical dropdown submenu like GitMind Chat */
.lp-page #menu .pnav-pc{ overflow:visible !important; }
.lp-page #menu .pnav-pc .has-sub{ position:relative; }

/* container */
.lp-page #menu .pnav-pc .submenu{
  display:none;
  position:absolute;
  left:0; top:100%;
  padding:0; margin:0;
  border:1px solid #e5e7eb;
  border-top:none;
  box-shadow:0 8px 20px rgba(0,0,0,.08);
  z-index:1000;
}

/* items as vertical blocks */
.lp-page #menu .pnav-pc .submenu li{ list-style:none; margin:0; padding:0; width:240px; }
.lp-page #menu .pnav-pc .submenu a{
  display:block;
  padding:12px 14px;
  background:#f67d28;
  color:#fff;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.25);
  line-height:1.3;
}
.lp-page #menu .pnav-pc .submenu a:hover{ background:#ff8d40; }

/* keep hover bridge to avoid losing focus while moving down */
.lp-page #menu .pnav-pc .has-sub::after{
  content:""; position:absolute; left:0; right:0; top:100%; height:8px;
}

/* show on hover */
.lp-page #menu .pnav-pc .has-sub:hover .submenu{ display:block; }

/* Mobile: show the same list stacked under item (no absolute) */
.lp-page #menu .pnav-sp .submenu-sp{
  display:block; position:static; padding:6px 0 0; margin:0;
  border:none; box-shadow:none;
}
.lp-page #menu .pnav-sp .submenu-sp li{ list-style:none; margin:0 0 6px 0; }
.lp-page #menu .pnav-sp .submenu-sp a{
  display:block; padding:10px 12px; background:#f67d28; color:#fff; text-decoration:none;
}

/* v23: Hide submenu on smartphones (SP) */
@media (max-width: 768px){
  .lp-page #menu .submenu-sp{ display:none !important; padding:0 !important; margin:0 !important; }
}

/* v24: chip buttons for feature shortcuts */
.lp-page .chips{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:12px 8px 4px;
  align-items:center;
}
.lp-page .chips .chip{
  display:inline-block;
  padding:8px 14px;
  border-radius:9999px; /* full pill */
  background:#eef2ff;
  color:#1d4ed8;
  text-decoration:none;
  font-weight:600;
  line-height:1;
  box-shadow:0 0 0 1px rgba(29,78,216,.15) inset;
  transition:background .15s ease, box-shadow .15s ease, transform .05s ease;
}
.lp-page .chips .chip:hover{
  background:#e0e7ff;
  box-shadow:0 0 0 1px rgba(29,78,216,.35) inset;
}
.lp-page .chips .chip:active{
  transform:translateY(1px);
}
.lp-page .chips .chip:visited{
  color:#1d4ed8;
}
@media (max-width: 576px){
  .lp-page .chips{ gap:10px; margin:10px 6px 0; }
  .lp-page .chips .chip{ padding:9px 12px; font-weight:600; }
}

/* v25: Sections — checklist, cards, badges, stacks, images */
.lp-page section h2{ margin: 28px 0 14px; font-weight: 800; font-size: var(--h2); }
.lp-page section#chatpdf h2{ border-bottom: 2px dashed #bdbdbd; padding-bottom: 10px; }

/* Checklist with green checks */
.lp-page ul.list-check{ list-style: none; margin: 8px 0 18px; padding-left: 0; }
.lp-page ul.list-check li{
  position: relative; padding-left: 28px; margin: 8px 0;
}
.lp-page ul.list-check li::before{
  content: "✔"; color: #16a34a; font-weight: 700;
  position:absolute; left:0; top:0; line-height:1.2;
}

/* Cards */
.lp-page .card{
  background:#fff; border:1px solid #e5e7eb; border-radius:14px;
  padding:18px 20px; margin:14px 0;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.lp-page .card h4{ margin:0 0 8px; font-size: var(--h4); font-weight:700; }
.lp-page .card p{ margin:0; color:#111827; }

/* Badge */
.lp-page .badge{
  display:inline-block; font-size:.82rem; line-height:1;
  padding:6px 10px; border-radius:9999px;
  background:#eef2ff; color:#475569; margin-bottom:10px;
  box-shadow:0 0 0 1px rgba(71,85,105,.18) inset;
}

/* Stack grid */
.lp-page .stack{
  display:grid; gap:12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.lp-page .stack .card{ margin:0; }

/* Images */
.lp-page .imgbox.full img{ width:100%; height:auto; display:block; }




/* "プロンプト例" a bit larger and bolder */
.lp-page .card h4{ font-size: var(--h4); font-weight:800; }

/* Create suite - larger badge and title */
.lp-page #create .badge{ font-size:1.6rem; padding:7px 12px; }
.lp-page #create .card h4{ font-size: var(--h4); }

/* Feature grid card titles & body balance */
.lp-page .stack .card h4{ font-size: var(--h4); margin-bottom:6px; }
/* 全カード本文の文字を少し大きく */
.lp-page .stack .card p{ font-size: 1.4rem; line-height: 1.75; }
@media (max-width: 576px){
  .lp-page .stack .card p{ font-size: 1.4rem; }
}


/* v27: Unified heading scale using CSS variables */
:root{
  --h1: 2.7rem;
  --h2: 2.5rem;
  --h3: 2.0rem;
  --h4: 1.6rem;
}
@media (max-width: 576px){
  :root{
    --h1: 2.2rem;
    --h2: 2.0rem;
    --h3: 1.6rem;
    --h4: 1.6rem;
  }
}
/* Apply the scale globally (placed late to override prior rules) */
.lp-page h1{ font-size: var(--h1); line-height:1.25; }
.lp-page h2{ font-size: var(--h2); }
.lp-page h3{ font-size: var(--h3); }
.lp-page h4{ font-size: var(--h4); }


/* prompts */
#assistant-prompts .lead { margin: 0.5rem 0 1rem; }
#assistant-prompts .prompt-block { padding: 16px 0; border-top: 1px solid #e5e7eb; }
#assistant-prompts .prompt-block:first-of-type { border-top: none; }
#assistant-prompts .prompt-list { margin: 8px 0 0; padding-left: 1.2rem; }
#assistant-prompts .prompt-list li { margin: 6px 0; line-height: 1.7; }
#assistant-prompts .note.small { color: #6b7280; margin-top: 12px; font-size: .9rem; }

/* 動画ボックス */

.video-box {
  border: 2px solid #ddd;
  border-radius: 8px;
  padding: 12px;
  margin: 30px 0;
  background: #fafafa;
}

.video-caption {
  text-align: center;
  margin: 6px 0;
}

.video-caption .title {
  font-weight: bold;
  font-size: 1.6rem;
  margin-bottom: 8px;
}

.video-caption .desc {
  font-size: 1.3rem;
  color: #555;
  margin-top: 8px;
  line-height: 1.4;
}



/* ===== Feature cards 画像共通サイズ（1つだけ残す） ===== */
.lp-page img.toolimg{
  width:160px;
  height:auto;
  display:block;
}

/* two-cols 対象のみ：スマホで確実に2列、超狭幅は1列 */
.lp-page .stack.two-cols .card{ min-width:0; } /* 保険 */

/* 狭幅でも 2 列固定（SE 375px を含む） */
@media (max-width: 740px){
  .lp-page .stack.two-cols{
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .lp-page .stack.two-cols .card{ padding: 8px !important; }
  .lp-page .stack.two-cols img.toolimg{ width: 120px; height:auto; }
}

/* ←ここを 380px → 340px などに下げる（SEは二列のまま） */
@media (max-width: 340px){
  .lp-page .stack.two-cols{ grid-template-columns: 1fr !important; }
  .lp-page .stack.two-cols img.toolimg{ width:75%; max-width:160px; height:auto; }
}

/* mainと同じ幅に揃えつつ左寄せ */
.banner {
  width: 800px;        /* 本文と同じ幅 */
  margin: 0 0 20px 0;  /* 左寄せ、下余白だけ */
}

.banner img {
  width: 100%;   /* コンテナ幅(800px)いっぱいに広げる */
  height: auto;
  display: block;
}

@media (max-width: 800px) {
  .banner {
    width: 100%;   /* スマホでは画面幅いっぱい */
  }
}