@font-face {
  font-family: 'jms';
  src: url('jms.eot?85180669');
  src: url('jms.eot?85180669#iefix') format('embedded-opentype'),
       url('jms.woff2?85180669') format('woff2'),
       url('jms.woff?85180669') format('woff'),
       url('jms.ttf?85180669') format('truetype'),
       url('jms.svg?85180669#jms') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'jms';
    src: url('../font/jms.svg?85180669#jms') format('svg');
  }
}
*/
/* 可変値（お好みで調整） */
:root{
  --icon-l-w: 2.6rem;   /* アイコン枠サイズ */
  --icon-l-gap: 1.4rem;  /* アイコンとテキストの間隔 */
 --icon-c-w: 3rem;   /* アイコン枠サイズ */
  --icon-c-gap: 1.4rem;  /* アイコンとテキストの間隔 */
}

/* 既存の行内用 icon-* はそのまま（あなたのCSSを流用） */
[class^="icon-"]::before,
[class*=" icon-"]::before{
  font-family: "jms";
  font-style: normal;
  font-weight: normal;
  speak: never;
  display: inline-block;
  width: 1em;
  margin-right: .5em;
  margin-left: .2em;
  text-align: center;
  line-height: 1em;
  font-size:2.6rem;
    font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ───────── 左寄せ見出し：絶対配置＋左パディング ───────── */
.wp-block-heading.h-icon-left[class*="icon-"]{
  position: relative;
  padding-left: calc(var(--icon-l-w) + var(--icon-l-gap));
  line-height: 1.4;
}
.wp-block-heading.h-icon-left[class*="icon-"]::before{
  /* 行内用の余白を無効化 */
  margin: 0 !important;
  /* 左に固定配置（= 折返しは常にテキスト位置から） */
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: var(--icon-l-w);
  height: var(--icon-l-w);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size:2.6rem; /* 見出しのサイズに追従 */
    padding-bottom: 1rem;
    font-weight: 600;
}

/* ───────── PC中央→SP左：フレックスで“列”を作る ───────── */
.wp-block-heading.h-icon-center[class*="icon-"]{
  display: flex;                 /* アイコン列 + テキスト列 */
  align-items: center;           /* アイコン縦中央 */
  justify-content: center;       /* PCは中央配置 */
  gap: var(--icon-c-gap);
  text-align: center;            /* テキスト行も中央揃え */
  line-height: 1.4;
}
.wp-block-heading.h-icon-center[class*="icon-"]::before{
  /* 行内用の余白を無効化し、固定幅の“アイコン列”にする */
  margin: 0 !important;
  flex: 0 0 var(--icon-c-w);
  width: var(--icon-c-w);
  height: var(--icon-c-w);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 3rem;
    font-weight: 600;
}

/* SPでは左寄せに切替（幅はお好みのブレークポイントに）
@media (max-width: 767px){
  .wp-block-heading.h-icon-center[class*="icon-"]{
    justify-content: flex-start;
    text-align: left;
  }
}
 */

/* 例：船アイコンは少し大きめの幅に */
.wp-block-heading.icon-ship { --icon-w: 2.6rem; }
.wp-block-heading.icon-scope { --icon-c-gap:2rem; }
.wp-block-heading.icon-pc { --icon-c-gap:2rem; }
.wp-block-heading.icon-qu { --icon-c-gap:2rem; }
.wp-block-heading.icon-buru { --icon-c-gap:2rem; }
.wp-block-heading.icon-dive::before {  font-size: 3.8rem!important; }
.wp-block-heading.icon-pika::before {  font-size: 3.5rem!important; }
.wp-block-heading.icon-re::before {  font-size: 3.5rem!important; }
/* 紙アイコンは少し小さめに */
.wp-block-heading.icon-paper { --icon-w: 1.1rem; }

.icon-info:before { content: '\e800'; } /* '' */
.icon-faq:before { content: '\e801'; } /* '' */
.icon-buru:before { content: '\e802'; } /* '' */
.icon-graph:before { content: '\e803'; } /* '' */
.icon-man:before { content: '\e804'; } /* '' */
.icon-school:before { content: '\e805'; } /* '' */
.icon-scope:before { content: '\e806'; } /* '' */
.icon-re:before { content: '\e807'; } /* '' */
.icon-paper:before { content: '\e808'; } /* '' */
.icon-comp:before { content: '\e809'; } /* '' */
.icon-edu:before { content: '\e80a'; } /* '' */
.icon-pin:before { content: '\e80b'; } /* '' */
.icon-set:before { content: '\e80c'; } /* '' */
.icon-ship:before { content: '\e80d'; } /* '' */
.icon-pika:before { content: '\e80e'; } /* '' */
.icon-dive:before { content: '\e80f'; } /* '' */
.icon-wave:before { content: '\e811'; } /* '' */
.icon-anc:before { content: '\e812'; } /* '' */
.icon-search:before { content: '\e813'; } /* '' */
.icon-hand:before { content: '\e814'; } /* '' */
.icon-qu:before { content: '\e815'; } /* '' */
.icon-pen:before { content: '\e816'; } /* '' */
.icon-ques:before { content: '\e817'; } /* '' */
.icon-sen:before { content: '\e818'; } /* '' */
.icon-pc:before { content: '\e819'; } /* '' */
.icon-che-2:before { content: '\e81a'; } /* '' */
.icon-metar:before { content: '\e81d'; } /* '' */
.icon-angle-right:before { content: '\f105'; } /* '' */
