@charset "utf-8";

body { background:#fff;}
body main { padding-bottom: 0;}
body #footer { margin-top: 0;}

.diversity { background-color:#bcd8d9;}

p span { color: #50a135;}

h1.craftsman {
 font-size: 42px;
 line-height: 1.5em;
 font-family: "monopin-j", "Segoe UI", "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", Roboto, "Noto Sans CJK JP", "Noto Sans JP", sans-serif;
 font-weight: 700;
 font-style: normal;
}

p.craftsman {
 padding: 0 7%;
}

.row6 {
  padding: 0;
  text-align:center;
}

h4 {
  color: #333;
  display: inline-block;
  padding: 0.5em 1em;
  margin: 0.5em 1em 0.2em 1em;
  border: solid 1px #ffffff;
}

.row0 { color: #333; padding-top: 30px;}
.row0.diversity { color: #333;}
.row0.lastrow { padding: 0 0 50px 0;}
.row0 img.radi {border-radius: 8px;}

.row4 { text-align:center;}

.row10 {background-color: #ffffff;}

.main-banner dl {
	width:50%;
	padding:0;
	margin:0;
	float:left;
}
.main-banner dt {
	width:200px;
	padding:0;
	margin:0;
	float:left;
}
.main-banner dd {
	padding:0;
	margin:0;
	float:left;
}

.index_concept { padding-bottom:35px;}
.index_concept p { line-height: 1.8;}
.index_concept h2 { font-size: 32px; color: #4f7d9e; line-height: 1.3em; font-family: "monopin-j", "Segoe UI", "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", Roboto, "Noto Sans CJK JP", "Noto Sans JP", sans-serif; font-weight: 700; font-style: normal;}
.index_concept h2.menu-title span {font-size: 75%;}
.index_concept th { font-weight: normal; width: 35%;}

.index_concept p.subtitle { padding:5px 0 0 0; color: #e29835; font-family: "monopin-j", "Segoe UI", "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", Roboto, "Noto Sans CJK JP", "Noto Sans JP", sans-serif; font-weight: 700; font-style: normal;}
.index_concept p { padding:35px 10% 10px 0;}
.index_concept .text-area-left{ padding: 0 0 0 10%;}


.growth01 h2 { font-size: 32px; color: #4f7d9e; line-height: 1.3em; font-family: "monopin-j", "Segoe UI", "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", Roboto, "Noto Sans CJK JP", "Noto Sans JP", sans-serif; font-weight: 700; font-style: normal; padding:0 0 1em 0; display: block;}

.growth01 img {max-width: 700px;}
.growth01 p.box-area { max-width:800px; margin:0 auto; text-align:left;}

.model h2 { font-size: 32px; color: #4f7d9e; line-height: 1.3em; font-family: "monopin-j", "Segoe UI", "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", Roboto, "Noto Sans CJK JP", "Noto Sans JP", sans-serif; font-weight: 700; font-style: normal; padding:0 0 1em 0; display: block;}

@media screen and (max-width:740px) {
h1.craftsman {
 font-size: 26px;
 line-height: 1.4em;
 letter-spacing: -1px;
}

.row4 { margin-bottom:0; padding-bottom:1em;}

.diversity {padding-top:0;}

.index_concept {padding:0;}
.index_concept {display: block;}
.index_concept h2 {font-size: 22px; line-height: 1.6; letter-spacing: 0px;}
.index_concept p { padding:25px 0 10px 0; line-height: 1.8;}

.index_concept .text-area-left {padding: 0;}
.index_concept .text-area-right {padding: 0;}
.index_concept .text-area-right-top {padding: 0;}

.index_concept .img-area-left {order: 1;}
.index_concept .text-area-right {order: 2;}

.index_concept .img-area-right {order: 2;}
.index_concept .text-area-left {order: 1;}

.index_concept .img-area-left-bottom {order: 2;}
.index_concept .text-area-right-top {order: 1;}

.growth01 h2 {font-size: 22px;  padding:0 0 0.8em 0; line-height: 1.6; letter-spacing: 0px;}
.growth01 p { text-align:left;}
.growth01 img {max-width: 100%;}

.model h2 {font-size: 22px;  padding:0 0 0.8em 0; line-height: 1.6; letter-spacing: 0px;}


h2.sp-center {text-align:center;}

}


.annotation ul {
  font-size: 100%;
  padding: 1em 0 0.5em 1.7em;
  position: relative;
  border-radius: 5px;
}
.annotation  ul li {
  line-height:1.5em;
  margin: 0.6em 0;
  list-style-type: none!important;
}
.annotation  ul li:before {
  font-family: "FontAwesome";
  content: "\f00c";
  position: absolute;
  left : 0;
  color: #af8d56;
    }



.banner-area {
	padding: 20px 0 40px 0;
}

.big-banner img {
	max-width: 800px;
	border: solid 1px #999;
}

@media screen and (max-width: 800px) {
.row0.company-top { padding-top: 0;}
.banner-area { padding: 30px 0 30px 0;}
.big-banner img { width: 85%;}
}

.row9 {
  background-image: none;
}




.gray { background-color:#eee; padding: 30px 0;}
@media screen and (max-width:740px) {.gray { padding: 15px 0;}}


/* 業績ハイライト */
  :root{
    --c1:#cce4f6; --c2:#99c9f0; --c3:#66aeea; --c4:#338fe3; --c5:#1f6fc5;
    --ink:#0f172a; --muted:#6b7280; --grid:#e5e7eb; --border:#e5e7eb;
  }
  section { width: 100%; margin: 0; padding: 0.5em 0;}
  @media screen and (max-width: 740px) { section { width: 100%;}}
  .wrap{max-width:1200px; margin:36px auto 72px; padding:0 20px}
  .growth .wrap{max-width:1200px; margin:40px auto 50px; padding:0 20px}
  @media screen and (max-width: 740px) { .growth .wrap{ margin:20px auto 50px;}}

  .grid{display:grid; grid-template-columns: 1fr 1fr; gap:16px}
  .growth .grid{display:grid; grid-template-columns: 1fr; gap:16px}
  @media (max-width: 980px){.grid{grid-template-columns: 1fr;} }

  .chart-card{
    border:1px solid var(--border);
    border-radius:14px;
    padding:14px 16px;
    opacity: 0; transform: translateY(8px); transition: opacity .5s ease, transform .5s ease;
  }
  .growth .chart-card{border:0px; padding:0;}
  .chart-card.in-view{ opacity: 1; transform: translateY(0); }

  .chart-title{margin:0 0 6px; font-weight:700; color:#105c89}
  .chart-sub{margin:0 0 8px; color:var(--muted); font-size:12px}

  .chart-box{position:relative; height: clamp(260px, 42vw, 420px);}
  @media (prefers-reduced-motion: reduce){
    .chart-card{ transition: none; opacity: 1; transform: none; }
  }

.growth h5{
    display:inline-block;
    font-size:16px;
    color:#fff;
    padding: 0.5em 1.5em;
    background:#4f7d9e;
    border-radius:999px;
    font-weight:600;
}
.growth p.chart-sub {padding: 10px 0;}

/* 成長戦略 */
  :root{
    --bg:#ffffff;
    --ink:#1a1a1a;
    --muted:#666;
    --accent:#4f7d9e;
    --card:#f8f9fb;
    --line:#e4e7eb;
  }
  *{box-sizing:border-box}
  .model {padding: 20px 0;}
  .model .lead{color:var(--muted); margin-bottom:22px}
  .model .grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:16px;
  }
  .model .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:14px;
    padding:16px 18px;
  }
  .model .pill{
    display:inline-block;
    font-size:12px;
    color:#fff;
    background:var(--accent);
    padding:4px 2em;
    border-radius:999px;
    font-weight:600;
  }
  .model .title{
    font-weight:700;
    font-size:18px;
    margin:10px 0 6px;
  }
  .model .big{
    font-size:26px;
    font-weight:800;
    color:var(--accent);
  }
  .model .muted{color:var(--muted)}
  .model .kpis{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:8px;
    margin-top:10px;
  }
  .model .kpi{
    background:#fff;
    border:1px solid var(--line);
    padding:8px 10px;
    border-radius:10px;
    display:flex;justify-content:space-between;align-items:baseline;
  }
  .model .kpi b{font-size:15px;color:var(--accent)}
  .model .footnote{margin-top:14px;color:var(--muted);font-size:13px}
  .model-sample {padding:10px 0 0 0;}




