@charset "utf-8";
/* CSS Document */

:root{--green:#075b50;--deep:#06463f;--red:#e60012;--ink:#132b32;--soft:#f4f8f6;--line:#d9e4e0}
*{box-sizing:border-box}
body{/*margin:0;*/font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",sans-serif;color:var(--ink);line-height:1.7;background:#fff}
.wrap{max-width:1180px;margin:auto;padding:0 24px}
.section{padding:56px 0}
.green{background:var(--deep);color:#fff}
h1,h2,h3{line-height:1.35;margin-top:0}
h1{font-size:clamp(44px,7vw,86px);color:var(--green);margin-bottom:8px}
h2{font-size:clamp(28px,4vw,44px);color:var(--green)}
h3{font-size:20px}
.hero{padding:54px 0;background:linear-gradient(90deg,#fff 48%,#edf6f4)}
.eyebrow{display:inline-block;background:var(--deep);color:#fff;padding:8px 14px;border-radius:4px;font-weight:700}
.lead{font-size:clamp(24px,3vw,38px);font-weight:800}
.buttons{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px}
.btn{display:inline-block;padding:14px 28px;border-radius:8px;text-decoration:none;font-weight:800}
.btn.red{background:var(--red);color:#fff}
.btn.out{border:2px solid var(--green);color:var(--green);background:#fff}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid6{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--green);border:1px solid var(--green)}
.card{background:#fff;border:1px solid var(--line);border-radius:5px;padding:/*22*/3px}
.feature{background:#fff;color:var(--ink);padding:20px;text-align:center}
.feature b{color:var(--green);display:block;margin-bottom:8px}
.checks{padding-left:0;list-style:none}
.checks li:before{content:"✓";color:var(--red);font-weight:900;margin-right:8px}
.bullets{padding-left:1.2em}
.price{border:2px solid var(--green);/*padding:24px*/;text-align:center;border-radius:5px}
.price strong{display:block;color:var(--red);font-size:48px;line-height:1.1}
.flow{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.step{background:#eef5f2;border-top:8px solid var(--green);padding:15px;text-align:center}
.step b{font-size:22px;color:var(--green)}
.note{font-size:13px;color:#5b6b70}
.reference{max-width:100%;display:block;margin:0 auto;border:1px solid #ddd}

@media(max-width:850px){
.grid3,.grid4{grid-template-columns:1fr 1fr}
.grid6,.flow{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:560px){
.grid3,.grid4,.grid6,.flow{grid-template-columns:1fr}
.wrap{padding:0 16px}.section{padding:38px 0}
}

/*追加記述*/
#toru { margin-top:52px; text-align:left;}
.font-black { color:#333333;}
h2 span { display:inline-block; vertical-align:middle; margin-left:1.5em; font-size:18px;}
.hero01 { padding:0;}
.section01 { padding:54px 24px; background:url(../img/main-img01_bg.png) center left repeat-y, url(../img/main-img01.jpg) center center no-repeat; background-size:50% auto, cover;}
.problem-grid { display:grid;grid-template-columns:0.75fr 1.25fr;gap:20px;align-items:center;}
.problem-grid .imgbox { height:100%; background:url(../img/main-img02.jpg) center right no-repeat; background-size:cover;}
.feature { font-size:16px;}
.feature > b { display:grid; place-content:center; min-height:calc(1.7em * 2);}
.feature > p { display:block; width:52px; height:40px; margin:0 auto 8px; content:"";}
.feature:nth-of-type(1) > p { content:url(../n-img/toru-report/eatures6-icon01.jpg);}
.feature:nth-of-type(2) > p { content:url(../n-img/toru-report/eatures6-icon02.jpg);}
.feature:nth-of-type(3) > p { content:url(../n-img/toru-report/eatures6-icon03.jpg);}
.feature:nth-of-type(4) > p { content:url(../n-img/toru-report/eatures6-icon04.jpg);}
.feature:nth-of-type(5) > p { content:url(../n-img/toru-report/eatures6-icon05.jpg);}
.feature:nth-of-type(6) > p { content:url(../n-img/toru-report/eatures6-icon06.jpg);}
.circle-number {
  display: inline-grid;
  place-items: center;
  inline-size: 2.8rem;
  aspect-ratio: 1;
  border-radius: 50%;
  color: #ffffff;
  background: #075b50;
  font-weight: 700;
  line-height: 1;
  font-size:20px;
  margin-top:-1.0em;
  margin-bottom:0.5em;
}
.report-info .card > h3 { padding:0.5em 1.0em; background-color:#E1E1E1;}
.report-info .card > .bullets { padding:0.75em 1.0em 0.75em 3.0em;}
.use-scene .card { border:none; box-shadow:0 2px 5px rgba(0,0,0,0.15);}
.use-scene .card > h3 { padding:0.5em 1.0em; text-align:center; color:#075b50;}
.use-scene .card > img { display:block; width:calc(100% - 1.0em); height:auto; margin:5px 0.5em;}
.use-scene .card > p { padding:0.75em 1.0em; text-align:center;}
.grid8 { display:grid; grid-template-columns:repeat(8,1fr); gap:2px;}
.use-job .card { margin:0; padding:0; border:none; border-radius:0px; text-align:center;}
.use-job .card > img { display:block; width:100%; height:auto; margin:0;}
.use-job .card > h3 { padding:0.5em 1.0em; font-size:12px;}
ol.flow {
  list-style:none; /* デフォルトの数字を消す */
  counter-reset:item; /* カウンターをリセット */
  padding-left:0;
}
ol.flow li {
  counter-increment:item; /* カウンターを進める */
  position:relative;
  padding-left:1.5em; /* 数字用の余白 */
}
ol.flow li::before {
  content:counter(item); /* ピリオドなしで数字のみ表示 */
  position:absolute;
  top:0.25em;  /*transform:translateY(-50%);*/
  left:1.25em;
  font-size:22px;
  color:#FFFFFF;
  font-weight:bold;
}
.flow .step { padding:0; border:none; background:#FFFFFF; box-shadow:0 2px 5px rgba(0,0,0,0.15);}
.flow .step b { display:block; margin:0 -1px 0 -2px; padding:0.25em 0.75em 0.25em 2.0em; text-align:center; color:#FFFFFF; background:#075b50; border-radius:5px; box-shadow:0 2px 5px rgba(0,0,0,0.15);}
.flow .step b::after {
  content:"";
  display:block;
  position:absolute;
  top:8px;
  right:-18px;
  width:30px; height:30px; border-top:#F5F9F1 2px solid; border-right:#F5F9F1 2px solid; background:var(--green); z-index:5;
  transform:rotate(45deg);
}
.flow .step:nth-of-type(6) b { margin:0 -2px;}
.flow .step:nth-of-type(6) b::after { display:none;}
.flow .step p { margin:0; padding:0.75em;}
.price-box .wrap > div:first-of-type > p { margin:0.5em auto 0; padding:0.5em 0 0; color:#075b50; font-weight:bold; font-size:18px;}
.price-box .wrap > div:first-of-type > p img { float:left; margin:0;}
.price-box .grid2 { display:grid; grid-template-columns:1.32fr 0.68fr; gap:20px; place-items:center;}
.price > div:first-of-type { border-bottom:2px solid var(--green);}
.price > div:first-of-type { display:grid; grid-template-columns:0.7fr 1.3fr; gap:0px; place-items:center; background:url(../img/bg-green.gif) left top no-repeat; background-size:35% 100%;}
.price > div:first-of-type > div { position:relative; padding:5px;}
.price > div:first-of-type > div:first-of-type { color:#FFFFFF;}
.price > div:first-of-type > div:last-of-type { font-size:16px; font-weight:bold; line-height:1.4;}
.price > div:nth-of-type(2) { padding:10px 5px; color:var(--red); font-size:18px; font-weight:bold;}
.price > div:nth-of-type(2) strong { display:inline;}
.price > div:nth-of-type(3) { padding-bottom:0.5em; font-weight:bold;}
#contact { background:url(../img/contact_bg.png) left top no-repeat, linear-gradient(90deg,#ECF6FD 0%,/*#f4fbf8 70%,*/#C4E3FD 100%); background-size:auto 100%, auto auto;}
#contact .grid2 { display:grid; grid-template-columns:1.34fr 0.66fr; gap:40px; place-items:center;}
#contact .grid2 > div:first-of-type > p { margin:0.5em auto 0; padding:0.5em 0 0; color:#075b50; font-weight:bold; font-size:18px;}
#contact .grid2 > div:last-of-type .btn { width:100%; text-align:center; font-size:20px;}
@media(max-width:1580px)
{
#contact .grid2 { padding-left:120px;}
}
@media(max-width:1380px)
{
#contact .grid2 { padding-left:240px;}
}
@media(max-width:1050px)
{
#contact { background:url(../n-img/toru-report/contact_bg.png) -75px top no-repeat, linear-gradient(90deg,#ECF6FD 0%,/*#f4fbf8 70%,*/#C4E3FD 100%); background-size:auto 100%, auto auto;}
}
@media(max-width:850px)
{
.grid8 { grid-template-columns:1fr 1fr 1fr 1fr;}
.flow .step:nth-of-type(3n) b { margin:0 -2px;}
.flow .step:nth-of-type(3n) b::after { display:none;}
.price-box .grid2 { grid-template-columns:1fr;}
#contact { background:url(../n-img/toru-report/contact_bg.png) -160px top no-repeat, linear-gradient(90deg,#ECF6FD 0%,/*#f4fbf8 70%,*/#C4E3FD 100%); background-size:auto 100%, auto auto;}
#contact .grid2 { grid-template-columns:1fr; gap:20px; padding-left:200px;}
}
@media all and (max-width:719px)
{
.section01 { padding:54px 24px 30vh; background:/*url(../n-img/toru-report/main-img01_bg.png) center left repeat-y, */url(../img/main-img012.jpg) left bottom no-repeat; background-size:/*50% auto, */720px auto;}
.problem-grid { grid-template-columns:1fr}
.problem-grid .imgbox { width:100%; max-width:360px; height:340px; background-size:contain;}
}
@media all and (max-width:559px)
{
.feature > b { min-height:inherit;}
.grid8 { grid-template-columns:1fr 1fr;}
.flow .step b { margin:0 -2px; padding:0.25em 0.75em 0.25em 2.5em; text-align:left;}
.flow .step b::after,
.flow .step:nth-of-type(3) b::after {
  display:block;
  top:30px;
  right:4px;
  border:none;
  transform:rotate(135deg);
}
.flow .step p { padding-left:3.5em; text-align:left;}
#contact .grid2 { padding-top:150px; padding-left:16px; gap:10px;}
#contact .grid2 > div:first-of-type { padding:2.0em; border-radius:10px; background-color:rgba(255,255,255,0.85);}
}
@media all and (max-width:399px)
{
.problem-grid .imgbox { height:300px; background-size:cover;}
}


