/* ============================================================================
   com-casestudy.css
   目的: 製品ページの「業務改善効果」アコーディオン(事例)用 共有スタイル。
         benny casestudy 由来(acd.css + casestudy.html inline + style.css の一部)。
   使い方: <link rel="stylesheet" href="<root>assets/css/com-casestudy.css?v=1">
           + 開閉JS assets/js/com-casestudy.js を読み込む。
   作成: 2026-06-23 by Claude Code
   ============================================================================ */
/* ---- レイアウト土台(style.css由来。.containerは.site-section2配下にスコープ) ---- */
.background_lightgrey { background-color:#fff; position:relative; }
.site-section2 { padding: 0 0 2em 0 !important; }
.site-section2 .container { max-width:1080px; margin:0 auto; padding:0 16px; }
/* ---- アコーディオン構造(acd.css) ---- */
#voice {
	max-width: 1200px;
	margin-bottom: 30px;
}
#voice > h2 {
	font-size: 1.3rem;
	background: #f39800;
	width: 150px;
	text-align: center;
	margin: 0;
	padding: 5px 0;
    position:relative;
    color:#fff;
}
#voice > h2::after {
	position: absolute;
	content: '';
	right: -20px;
	top: 0;
	width: 0;
	height: 0;
	border: none;
	border-left: solid 20px #f39800;
	border-top: solid 40px transparent;
	z-index: 2;
}

.voice .accordion {
	max-width: 1200px;
	/* margin: 0 auto 5px; */
	margin: 0 auto;
	border: 1px solid #ccc;
	box-sizing: border-box;
	padding: 5px;
	z-index: 3;
	position: relative;
	box-shadow: 0px 5px 0px 0px rgba(200,200,200,0.1);
}
.voice .accordion:not(:last-child) {
	border-bottom: 0;
}
.voice .accordion .default {
  padding: 10px;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition-duration: 0.2s;
/*	background: #FFFEF0;*/
}
.voice .accordion .default:hover {
  opacity: .8;
}
.voice .accordion .default .acd_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 18%;
  height: 40px;
  margin-top: -20px;
  box-sizing: border-box;
  transform-origin: center center;
  transition-duration: 0.2s;
  /*background: #0082CB;*/
	background: #FF8E00;
  border-radius:100px;
	color: #fff;
}
.voice .accordion .default .acd_btn .one_i {
  display: block;
  width: 120px;
  height: 18px;
  transform-origin: center center;
  transition-duration: 0.2s;
  position: relative;
	padding-left: 30px;
	line-height: 19px;
	font-weight: bold;
}
.voice .accordion .default .acd_btn .one_i:before, .voice .accordion .default .acd_btn .one_i:after {/* 横棒 */
  display: flex;
  content: "";
  background-color: #fff;
  border-radius: 10px;
  width: 18px;
  height: 4px;
  position: absolute;
  top: 7px;
  left: 0;	
}
.voice .accordion .default .acd_btn .one_i:before {/* 縦棒 */
  width: 4px;
  height: 18px;
  top: 0;
  left: 7px;
  background-color: #fff;
}
.voice .accordion .default.stay .acd_btn .one_i:before {
  content: none;
}
.voice .accordion .default.open .acd_btn {
/*  content: none;*/
	background: #999;
}
.voice .accordion .default.open .acd_btn .one_i:before {
  content: none;
/*	background: #0082CB;*/
}
.voice .accordion .default.open .acd_btn .one_i .jirei {
display: none;
}
.voice .accordion .default .acd_btn .one_i .jirei2 {
display: none;
}
.voice .accordion .default.open .acd_btn .one_i .jirei2 {
display: block;
	padding-left: 10px;
}

.voice .accordion .default.stay.open .acd_btn .one_i:before {
  content: "";
}
.voice .accordion .accordion_inner {
  display: none;
  padding: 0 10px 10px;
  box-sizing: border-box;
/*  font-size: 1.1rem;*/
}
.voice .accordion .accordion_inner .text p {
/*	font-size: inherit;*/
}
.voice .accordion .accordion_inner.stay {
  display: block;
}
.voice .default div > h2 {
	margin: 0 0 5px;
	text-align: left;
	font-weight: bold;
	color: #0066cc;
	font-size: 1.0em!important;
	padding-top: 10px;
	  line-height: 1.2em;
  text-indent: -1em;
  padding-left: 1em;
	padding-right: 30px;
}
.voice .default div.case-title {
	width: 73%!important;
/*	background: #CCC;*/
}
.voice .accordion_inner h3 {
	margin: 5px 0 0;
/*	font-size: 1.1rem;*/
}
/*.voice .default > div:first-of-type {
  background: #2ea7e0;
  display: inline-block;
  color: #fff;
  padding: 0px 10px;
}*/
.voice .default div.ah-name {
/*  background: #2ea7e0;*/
/*	  background: #fff;*/
  display: inline-block;
  padding: 3px 0px;
	margin-left: 22px;
/*	border: 1px solid #ccc;*/
	border-radius: 0px;
	font-weight: bold;
/*	color: #fff;*/
	color: #666;
	font-size: 0.95em;
}
.voice .default div.ah-human {
	width: 10%;
	margin-right: 10px;
	z-index: 100!important;
}
.voice .default div.ah-human img {
	width: 100%;
	height: auto;
}
.background2 {
	width: 100%;
}
.accordion_inner .background2 .ah-detail-txt {
	width: 65%;
	font-size: 1.6rem;
}
.accordion_inner .background2 .ah-detail-img {
	width: 35%;
	margin-left: 30px;
}
.accordion_inner .background .ah-detail-img img {
	width: 100%!important;
	height: auto;
}
.bg1 {
	background: #f6f9fc;
}
.kuma {
background: #ee8585!important;
}
.chiba {
background: #77c449!important;
}
.accordion_inner > div > h4 {
  background: #f39800;
  text-align: center;
  display: inline-block;
  color: #fff;
  padding: 0 10px;
  border-radius: 100px;
  margin: 10px 0 2px;
  font-weight:normal;
}
.accordion_inner > div > div {
display: flex;
justify-content: flex-start;
/*align-items: center;*/
}
.accordion_inner > div > div img {
	width: 100px;
	padding: 5px;
	box-sizing: border-box;
}
.accordion_inner .text {
	padding-left: 5px;
}
.accordion_inner > div > div > div > div {
  color: #007CB8;
}
.accordion_inner .background { /* 本文背景 */
/*background: #eee;*/
	background: #fff;
padding: 15px;
margin-bottom: 10px;
	font-size: 1.1em!important;
	line-height: 1.8em;
	border-top: 1px dashed #ccc;
}
.accordion_inner ul li {
  list-style-position: inside;
  list-style: disc;
  margin-left: 1.5em;
  text-indent: -5px;
}
.pagetop {
	z-index: 999;
}
.voice .new_line {
display:none;
}
.voice_notes {
	margin: 5px auto;
	width: 98%;
    box-sizing: border-box;
}

/* ==================================================mediaquery */

@media all and (-ms-high-contrast:none) {
#voice > h2 {
padding: 9px 0 0;
line-height: 1.1;
}

#voice > h2::after {
border-top: solid 32px transparent;
}
.voice .default > div:first-of-type {
padding: 5px 10px 0;
line-height: 1.2;
}
.voice .default > h2 {
padding: 5px 0 0;
line-height: 1;
}
.voice .voice-title {
padding: 6px 0 0 10px;
line-height: 1.2;
}
.accordion_inner > div > h4 {
padding: 5px 10px 0;
line-height: 1.2;
}
nav > div > span {
top: -21px;
padding: 4px 8px 0px;
line-height: 1.3;
}
nav > div a {
padding: 10px 30px 5px;
}
}

@media all and (max-width:992px) {
.voice .default div > h2 {
	font-size: 1.0em!important;
}
.voice .default div.ah-name {
	font-size: 0.8em;

}
.voice .accordion .default .acd_btn {
  top: 50%;
  right: 5px;
  width: 15%;
  height: 35px;
  margin-top: -20px;
  border-radius:10px;

}
.voice .accordion .default .acd_btn .one_i {
	font-size: 0.8em;
	padding-left:25px;
}
.voice .accordion .default .acd_btn .one_i:before, .voice .accordion .default .acd_btn .one_i:after {/* 横棒 */
  width: 15px;
  height: 4px;
  top: 7px;
  left: 7px;	
}
.voice .accordion .default .acd_btn .one_i:before {/* 縦棒 */
  width: 4px;
  height: 15px;
  top: 2px;
  left: 12px;
}
.accordion_inner .background2 .ah-detail-txt {
	font-size: 0.9em;
	line-height: 1.6em

}
}

@media screen and (max-width: 768px) {
#voice > h2 {
font-size: 1.1rem;
background: #f39800;
width: 120px;
padding: 2px 0;
}
.voice .default > h2 {
font-size: 1.4rem;
}
.voice .accordion .default {
padding: 5px 10px;
}
#voice > h2::after {
border-top: solid 30px transparent;
}
	.accordion_inner .background2 {
		display: block;
	}
.accordion_inner .background2 .ah-detail-txt {
	width: 100%;
	font-size: 0.85em;
	line-height: 1.6em

}
.accordion_inner .background2 .ah-detail-img {
	width: 80%;
	margin-left: 0px;
	margin: 20px auto;
}
/* ボタンテキスト非表示 */
.voice .accordion .default .acd_btn {
  border-radius:50%;
	color: #fff;
	  width: 40px;
	height: 40px;
}
.voice .accordion .default .acd_btn .one_i:before, .voice .accordion .default .acd_btn .one_i:after {/* 横棒 */
  display: flex;
  content: "";
  background-color: #fff;
  border-radius: 10px;
  width: 16px;
  height: 4px;
  position: absolute;
  top: 7px;
  left: 30%;	
}
.voice .accordion .default .acd_btn .one_i:before {/* 縦棒 */
  width: 4px;
  height: 16px;
  top: 1px;
  left: 45%;
  background-color: #fff;
}	
.voice .default div.case-title {
/*	width: 81%!important;*/
}
.voice .default div.ah-human {
	width: 20%;
	margin-right: 0px;
}
	
	
.acd_btn .one_i .jirei {
display: none;
}
.acd_btn .one_i .jirei2 {
display: none!important;
}
}
@media screen and (max-width:768px) and (-ms-high-contrast:none) {
#voice > h2::after {
border-top: solid 26px transparent;
}
#voice > h2 {
padding: 6px 0 0;
}
}
@media only screen and (max-width: 640px) {
.voice .new_line {
display:block;
}
/*.voice .default > div:first-of-type {
font-size: 0.9rem;
line-height: 1.2;
padding: 5px 10px;
display: block;
width: 42%;
text-align: center;
}*/
/*.voice .accordion .default .acd_btn {
top: auto;
bottom: 8px;
right:8px;
}*/
}

@media only screen and (max-width: 550px) {
/* ボタンテキスト非表示 */
.voice .accordion .default .acd_btn {
/*	  width: 10%;*/
}
}


@media only screen and (max-width: 480px) {
.voice .accordion .default .acd_btn {
  top: 12%!important;
}
/*.voice .accordion {
border-left: none;
border-right: none;
}
.voice .accordion .default {
padding: 5px 0 0;
}
.voice .accordion .accordion_inner {
font-size: 1.0rem;
padding: 0;
}
.accordion_inner .background {
margin: 5px 2px 10px;
}
.accordion_inner > div > div img {
width: 80px;
}

.voice .accordion .accordion_inner .text p {
margin-bottom: 10px;
}

#voice > h2 {
font-size: 1.1rem;
padding: 2px 0;
}

#voice > h2::after {
border-top: solid 30px transparent;
}

.voice .default > h2 {
font-size: 1.2rem;
line-height: 1.1;
}
.voice .default > div:first-of-type {
font-size: 0.9rem;
line-height: 1.2;
padding: 5px 10px;
display: block;
width: 42%;
text-align: center;
}
.voice .accordion .default .acd_btn {
top: auto;
bottom: 2px;
right:2px;
}
.accordion_inner ul li {
	text-indent: 0px;
}
.voice_notes {
width: 95%;
}*/
}
@media screen and (max-width:480px) and (-ms-high-contrast:none) {
#voice > h2::after {
border-top: solid 26px transparent;
}
#voice > h2 {
padding: 6px 0 0;
}
}/* ---- 事例カード/比較グリッド(casestudy.html inline) ---- */
:root {
--box-bg: #ededed;
--box-bg2: #FEF3D2;
--box-border: #d0d7de;
--accent: #555;
--accent2: #FF7600;
}
.ora {
	color: #FF7600!important;
}
.comparison-grid {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	/*    align-items: center;*/
	align-items: stretch; /* 明示的に高さを揃える */
	gap: 1rem;
	max-width: 100%;
	margin: 20px auto 2rem;
	margin-top: 50px;
	font-feature-settings: "palt";
}
.box {
	background: var(--box-bg);
	border: 1px solid var(--box-border);
	border-radius: 5px;
	padding: 1.25rem 1.5rem;
	font-size: 1.6rem;
	position: relative;
}
.box2 {
	background: var(--box-bg2);
	border: 1px solid var(--box-border);
	border-radius: 5px;
	padding: 1.25rem 1.5rem;
	font-size: 1.6rem;
}
.box h3 {
	margin-top: 0;
	margin-bottom: 0.75rem;
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--accent);
	text-align: center!important;
	border-bottom: 1px solid #ccc;
	padding-bottom: 10px;
}
.box h3 + ul {
	/* padding-left: 1.2rem; */
	padding: 12px;/* margin-top: 20px; */
}
.box li {
	margin-bottom: 0.4rem;
	line-height: 1.6;
}
.badge {
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(0%, -40%); /* 枠線の角に乗せる */
	width: 100px;
	height: 100px;
	border-radius: 50%;
	/*  background: var(--accent);*/
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	font-weight: 600;/*  border: 0px solid #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);*/
	z-index: 1!important;
}
.before-badge {
/*  background: #fff;*/
}
.after-badge {
/*  background: #FEF3D2;*/
}
.arrow-right-ao {
	font-size: 2.2rem;
	color: var(--accent2);
	text-align: center!important;
	user-select: none;
	display: flex;
	justify-content: center; /* 横中央 */
	align-items: center;     /* 縦中央（必要なら） */
}
.ah-detail-txt-co {
	font-size: 1.6rem!important;
}
.voice .default div.ah-name {
	margin-left: 1em;
}
.voice .default div > h2 {
	margin: 0;
}
.accordion_inner ul li {
	text-indent: inherit;
	margin-left: 0.5em;
}
.ah-name2 {
	margin-left: 1em;
	margin-top: .3em;
	display: flex;
	gap: .3em;
	align-items: center;
}

/* text-icon をまとめている親 */
.ah-name2 {
  display: flex;
  flex-wrap: wrap;   /* ← 折り返し許可 */
  gap: 6px;
  align-items: center;
}

/* 768px以下のときだけ2列化 */
@media (max-width: 768px) {
   .ah-name2 {
    flex-wrap: wrap;
  }

  .ah-name2 .title-icon {
    flex: 0 0 100%;   /* ← これで強制改行 */
  }
	.ah-name2 .text-icon {
    flex: 0 0 calc(50% - 6px); /* ← 2列 */
    box-sizing: border-box;
  }
}
/* 640px以下は1列（幅を少し抑える） */
@media (max-width: 640px) {
  .ah-name2 {
    justify-content: center; /* 中央寄せ */
  }

  .ah-name2 .text-icon {
    flex: 0 0 90%;   /* ← 少しだけ細く */
    max-width: 90%;
  }
}

	
	
.title-icon {
	font-weight: bold;
	position: relative;
	padding-right: 1em;
	line-height: 1;
	color: #06c;
	font-size: .9em;
}
.title-icon::after {
	content: "";
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	background: #06c;
	width: 9px;
	aspect-ratio: .7;
	right: 1px;
}
@media (max-width: 768px) {
  .title-icon,.title-icon::after {
	  display: none;
    /* 正三角形（下向き） */
/*    aspect-ratio: 1 / 1;
    width: 10px; /* お好みで 7〜9px */
    clip-path: polygon(50% 100%, 0 0, 100% 0);

    /* 位置（右側のまま） */
    top: 55%;
    translate: 0 -50%;
	  left: 12%;*/
  }
}
/*@media (max-width: 640px) {
  .title-icon::after {
	  left: 17%;
  }
}
*/


.text-icon {
	display: inline-block;
	background-color: #1fb7a6;
	border-radius: 14px;
	padding: 0px 10px 5px 10px;
	text-align: center;
	vertical-align: middle!important;
	margin-right: 3px;
}
.text-icon .cursor {
  color: #ffffff;
  font-size: clamp(1.1rem, 1.4vw, 1.4rem);
  font-weight: 700 !important;
  line-height: 1.3;
}


/* レスポンシブ対応 */
@media (max-width: 768px) {
.comparison-grid {
	grid-template-columns: 1fr;
	grid-template-rows: auto auto auto;
	text-align: center;
}
.arrow-right-ao {
	transform: rotate(90deg);
}
.box ul {
	text-align: left;
}
}
/* ---- 事例ヘッダー: アイコンとタイトルを横並び(jdlai.css 由来。2026-06-23 追補) ---- */
.voice-flexbox { display: flex; align-items: center; }
.voice .default div > h2 { padding-left: 0; text-indent: 0; line-height: 1.2 !important; }
