@charset "utf-8";
@media (min-width: 769px) {
 .grid-container--inner:has(.img-content) > .text-content .grid-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 15px;
 }
 .grid-box:has(.inh4) {
  grid-template-columns: 1fr auto;
 }
 article.lineup > .halfbox {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  align-items: flex-start;
  gap: 20px;
 }
}
/*↓_wrote_20260914 ---------------------------*/
main {
 & #contents {
  & article {
   h3 {
    text-align: center;
    font-size: clamp(1.1em, 3vw, 1.5em);
    border-bottom: 3px solid rgb(23, 140, 43);
   }
  }
 }
}
 .inh4 + picture img {
  max-width: 350px !important;
 }
section#top {
 background: #eee url(../image/aiocr-topimg4-back-z.png) no-repeat center / cover !important;
}
.img-content {
 display: grid;
 place-content: center;
 img {
  width: 100%;
  max-width: 400px !important;
  height: auto;
  object-fit: cover;
  display: block;
 }
}
.top-img-content {
 margin: 25px;
}
/*	margin: 15px;
!important;*/
img {
 max-width: 1000px !important;
 height: auto !important;
 object-fit: cover !important;
 display: block !important;
 margin: 0 auto !important;
}
h3 {
 font-size: clamp(1.1em, 3vw, 1.6em) !important;
 padding-bottom: .2em !important;
 text-align: center !important;
}
.kakomi-box {
 border: 1px solid var(--color-gray2);
 padding: 1em;
}
h5 {
 font-size: 1.1em;
 font-weight: 400;
}
h6 {
 /*	font-size: clamp(1.1em, 3vw, 2em);*/
 font-size: 1.4em !important;
 /*	border-bottom: 3px solid #0F4704 !important;*/
 padding-bottom: .2em;
 text-align: center;
}
.center {
 display: flex !important;
 justify-content: center !important; /* 横方向の中央揃え */
}
.solu-list ul {
 margin-left: 20px;
}
.solu-list ul li {
 list-style: disc !important;
}
h4 {
 font-weight: 600;
 font-size: clamp(1em, 2.0vw, 1.1em);
 position: relative;
 display: flex;
 align-items: center;
 gap: 5px;
 line-height: 1.2;
 padding: .2em 0;
 &::before {
  content: "";
  background: var(--color-blue3);
  width: .7em;
  aspect-ratio: 1;
 }
}
.notes1 {
 font-size: 0.9em;
 padding-left: 1.3em;
 padding-bottom: 5px;
 text-indent: -1em;
 clear: both;
 line-height: 14px;
 width: 96%;
 margin: 0 auto;
 padding-top: 5px;
}
/* --改行-- */
.br-sp3 {
 display: none;
}
section.main-box {
 display: grid;
 gap: 1em;
 & h2 {
  font-weight: 800;
  font-size: clamp(1.1em, 3.5vw, 2.3em);
  text-align: center;
  line-height: 1.3;
  color: var(--color-gray4);
  word-break: keep-all;
  overflow-wrap: anywhere;
  padding: .2em;
  & img {
   max-width: 350px;
   margin: 10px auto;
  }
 }
}
.inh4 {
 display: grid;
 grid-template-rows: max-content;
 gap: 1em;
}
.grid-box {
 display: grid;
 gap: 1em;
 &.img_left > div:first-child {
  order: 2;
 }
 &.img_left > div:last-child {
  order: 1;
 }
 &.mv {
  grid-template-columns: 1fr;
 }
 & > div:has(> img) {
  max-width: 500px;
  margin-inline: auto;
 }
}
.img-container8 {
 background: #E3EDF1 !important;
 width: 95%;
 padding: 30px;
 margin: 0 auto;
 border-radius: 10px;
 position: relative;
}
.triangle4 {
 clip-path: polygon(50% 0, 100% 100%, 0 100%);
 width: 20%;
 aspect-ratio: 2.5;
 background: #E3EDF1;
 position: absolute;
 top: -30px;
 top: -25px;
 left: 50%;
 translate: -50% 0;
}
.img-container8 .grid-container.halfbox h3 {
 border: none !important;
 padding: 0 !important;
}
.heading {
 position: relative;
 display: flex;
 align-items: center;
 justify-content: center;
 width: 100%;
 min-height: 48px;
 margin: 0;
 padding: 8px 48px;
 box-sizing: border-box;
 font-size: clamp(18px, 4vw, 28px);
 line-height: 1.4;
 font-weight: 700;
 text-align: center;
}
.heading-icon {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	object-fit: contain;
}
.heading-title {
 display: block;
 max-width: 100%;
 overflow-wrap: anywhere;
 font-size: 0.7em;
}
@media print, screen and (min-width:768px) {
 .grid-box {
  grid-template-columns: 2fr 1fr;
  &.mv {
   grid-template-columns: 1fr 1fr;
  }
  &.img_left {
   grid-template-columns: 1fr 2fr;
  }
 }
}
.text-content {
 height: 100% !important;
 box-sizing: border-box !important;
}
/*↑yanagi_wrote_20260914 ---------------------------*/
nav#page-nav {
 background: #FF6D16;
}
h2 {
 font-size: 2.5em;
 color: #333;
}
.color3 {
 font-size: 2.8rem;
}
.icons-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
 gap: 20px;
 text-align: center;
}
.icons-grid span {
 font-weight: 700;
 font-size: clamp(1rem, 2.5vw, 1.5rem);
 display: block;
 padding: 10px 0;
 border-radius: 5px; /* 角丸5px */
}
/* 640px以下で縦並びに切替 */
@media screen and (max-width: 640px) {
 .icons-grid {
  grid-template-columns: 1fr; /* 縦並び */
  gap: 1px; /* 少し狭め */
 }
 .icons-grid span {
  padding: 8px 0;
 }
 .heading-title {
  font-size: 0.8em !important;
 }
 .sub-title {
  font-size: 0.8em !important;
 }
 .h3 {
  font-size: 0.8em !important;
 }
 .img_zoom img {
  width: 80% !important;
 }
 .img_zoom_mid img {
  width: 65% !important;
 }
}
/* 480px以下でさらに隙間狭く */
@media screen and (max-width: 480px) {
 .icons-grid {
  gap: 8px; /* 隙間狭め */
 }
 .icons-grid span {
  padding: 6px 0;
 }
}
.s-icon-ai {
 background: #a4739a;
 color: #fff;
 text-align: center;
 font-weight: bold;
 border-radius: 0px;
 padding: 0px 10px 5px 10px;
 margin: 5px 5px 5px 0px;
}
.s-icon-api {
 background: #D4C74E;
 color: #fff;
 text-align: center;
 font-weight: bold;
 border-radius: 0px;
 padding: 0px 10px 5px 10px;
 margin: 5px 5px 5px 0px;
}
.s-icon-csv {
 background: #178C2B;
 color: #fff;
 text-align: center;
 font-weight: bold;
 border-radius: 0px;
 padding: 0px 10px 5px 10px;
 margin: 5px 5px 5px 0px;
}
.tab1 {
 background: #A4739A;
 display: block;
 width: 30%;
 padding: 10px 30px;
 text-align: center;
 margin: 0 auto;
 margin-bottom: 50px;
 color: #fff;
 font-weight: 600;
 border-radius: 0 0 10px 10px;
}
.tab2 {
 background: #D4C74E;
 display: block;
 width: 30%;
 padding: 10px 30px;
 text-align: center;
 margin: 0 auto;
 margin-bottom: 0px;
 color: #fff;
 font-weight: 600;
 border-radius: 0 0 10px 10px;
}
.tab3 {
 background: #178C2B;
 display: block;
 width: 30%;
 padding: 10px 30px;
 text-align: center;
 margin: 0 auto;
 margin-bottom: 50px;
 color: #fff;
 font-weight: 600;
 border-radius: 0 0 10px 10px;
}
.img-container8 .grid-container.halfbox h3 {
	font-size: clamp(1.1em, 2vw, 1.5em) !important;
}
@media screen and (max-width: 640px) {
 .tab1, .tab2, .tab3 {
  width: 70%;
  font-size: 0.9em;
 }
}
/*↑wrote_20260914 ---------------------------*/
@media screen and (max-width: 768px) {
 .br-sp3 {
  display: block;
 }
 .top-img-content h2 {
  font-size: 1.5em !important;
  color: #333 !important;
 }
 .triangle4 {
  margin-top: 0px !important;
 }
 /*↑wrote_20260914 ---------------------------*/