/*
 * 本文（ブロック）の見た目。公開画面（.entry）と編集画面（.editor-styles-wrapper）で共通
 */
:is(.entry, .editor-styles-wrapper){
  --ink:#1C2A33;--fog:#F2F5F7;--white:#FFFFFF;--sky:#3F79A8;--cedar:#24362C;--mute:#5D6B73;--line:#D5DDE2;--moss:#E4ECE6;--leaf:#AFC2B6;
  --mincho:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;
  --gothic:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;
  --latin:"Cormorant Garamond",Georgia,serif;
  font-family:var(--gothic);font-size:15px;line-height:1.9;color:var(--ink);
}
.editor-styles-wrapper{background:var(--fog)}

:is(.entry, .editor-styles-wrapper) :where(p,ul,ol,dl,table,figure,blockquote){margin-block:0 1.2em}
:is(.entry, .editor-styles-wrapper) :where(h2,h3,h4){font-family:var(--mincho);font-weight:700;line-height:1.5;letter-spacing:.1em;text-wrap:balance}
:is(.entry, .editor-styles-wrapper) h2{margin:64px 0 24px;font-size:clamp(22px,2.6vw,28px);letter-spacing:.14em}
:is(.entry, .editor-styles-wrapper) h3{margin:40px 0 14px;font-size:clamp(18px,2vw,21px)}
:is(.entry, .editor-styles-wrapper) h4{margin:28px 0 10px;font-size:16.5px}
:is(.entry, .editor-styles-wrapper) > :first-child{margin-top:0}
:is(.entry, .editor-styles-wrapper) a{color:var(--sky);text-underline-offset:.2em}
:is(.entry, .editor-styles-wrapper) :where(ul,ol){padding-left:1.4em}
:is(.entry, .editor-styles-wrapper) li{margin-bottom:.3em}
:is(.entry, .editor-styles-wrapper) strong{font-weight:700}
:is(.entry, .editor-styles-wrapper) hr{border:0;border-top:1px solid var(--line);margin:48px 0}
:is(.entry, .editor-styles-wrapper) figcaption{font-size:12.5px;color:var(--mute);margin-top:6px}
:is(.entry, .editor-styles-wrapper) .wp-block-image img{border-radius:4px}
:is(.entry, .editor-styles-wrapper) blockquote{margin-inline:0;padding:4px 0 4px 20px;border-left:3px solid var(--leaf);color:#34424B}

/* 表 */
:is(.entry, .editor-styles-wrapper) .wp-block-table{overflow-x:auto}
:is(.entry, .editor-styles-wrapper) table{width:100%;border-collapse:collapse;font-size:14.5px;background:var(--white)}
:is(.entry, .editor-styles-wrapper) :is(th,td){padding:12px 16px;border:1px solid var(--line);text-align:left;vertical-align:top}
:is(.entry, .editor-styles-wrapper) th{background:var(--fog);font-weight:500;white-space:nowrap}

/* ボタン */
:is(.entry, .editor-styles-wrapper) .wp-block-button__link{background:var(--cedar);color:#fff;border-radius:3px;padding:14px 28px;font-weight:700;letter-spacing:.12em;text-decoration:none}
:is(.entry, .editor-styles-wrapper) .wp-block-button__link:hover{background:#1B2921}
:is(.entry, .editor-styles-wrapper) .is-style-outline .wp-block-button__link{background:transparent;color:var(--cedar);border:1px solid var(--cedar)}

/* よくあるご質問（詳細ブロック） */
:is(.entry, .editor-styles-wrapper) .wp-block-details{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:0 20px;margin-bottom:10px}
:is(.entry, .editor-styles-wrapper) .wp-block-details summary{cursor:pointer;padding:16px 0;font-weight:500}
:is(.entry, .editor-styles-wrapper) .wp-block-details > :not(summary){color:#34424B;font-size:14.5px}

/* ---------- パターン: 写真＋文 ---------- */
:is(.entry, .editor-styles-wrapper) .mt-media{margin-block:0 48px;background:var(--white);border-radius:4px;overflow:hidden}
:is(.entry, .editor-styles-wrapper) .mt-media .wp-block-media-text__content{padding:32px clamp(20px,4vw,48px)}
:is(.entry, .editor-styles-wrapper) .mt-media h2,
:is(.entry, .editor-styles-wrapper) .mt-media h3{margin-top:0}
/* 写真＋文の派生: 見出しを写真の左上に札として重ね、写真の人が言っている形にする（編集画面では普通の見出しのまま） */
/* 札の位置・大きさは写真の幅（--iw）と縦横比（--r）から決め、画面の幅が変わっても写真に対して同じ所に出す。写真は切り抜かない */
.entry .mt-voice{position:relative;container-type:inline-size;--iw:100cqw;--r:calc(680 / 910)}
/* 横並びは 901px から。それより狭いと右の文が写真より高くなって写真の下が空き、札の文字も小さくなりすぎるため縦に積む */
@media (min-width:901px){.entry .mt-voice{--iw:45cqw}}
@media (max-width:900px){
	.entry .mt-voice.wp-block-media-text{grid-template-columns:100% !important}
	.entry .mt-voice .wp-block-media-text__media{grid-column:1;grid-row:1}
	.entry .mt-voice .wp-block-media-text__content{grid-column:1;grid-row:2}
}
.entry .mt-voice .wp-block-media-text__media{align-self:start}
.entry .mt-voice h2{position:absolute;left:calc(var(--iw) * .04);top:calc(var(--iw) * var(--r) * .1);margin:0;padding:calc(var(--iw) * .028) calc(var(--iw) * .037) calc(var(--iw) * .023);border-radius:4px;background:rgb(255 255 255 / .72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:calc(var(--iw) * .042);line-height:1.6;letter-spacing:.08em;white-space:nowrap}
.entry .mt-voice h2::after{content:"";position:absolute;left:100%;top:50%;width:calc(var(--iw) * .03);height:1px;background:#fff}
:is(.entry, .editor-styles-wrapper) .mt-voice-from{display:block;margin-top:.3em;font-family:var(--gothic);font-weight:500;font-size:.58em;letter-spacing:.05em;color:var(--sky)}

/* ---------- パターン: 事業の一覧（見出し＋文の行。1行＝カラムブロック1つ） ---------- */
:is(.entry, .editor-styles-wrapper) .mt-rows{margin-block:0 48px}
:is(.entry, .editor-styles-wrapper) .mt-rows .wp-block-columns{display:grid;grid-template-columns:9em minmax(0,1fr);gap:6px 24px;padding:16px 0;border-top:1px solid var(--line);margin:0}
:is(.entry, .editor-styles-wrapper) .mt-rows .wp-block-columns:last-child{border-bottom:1px solid var(--line)}
:is(.entry, .editor-styles-wrapper) .mt-rows .wp-block-column > *{margin:0}
:is(.entry, .editor-styles-wrapper) .mt-rows h3{font-size:17px;letter-spacing:.06em}
:is(.entry, .editor-styles-wrapper) .mt-rows p{font-size:14.5px;color:#34424B}

/* ---------- パターン: 数値の一覧（箱＝カラム） ---------- */
:is(.entry, .editor-styles-wrapper) .wp-block-columns.mt-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(10em,1fr));gap:12px;margin-block:0 48px}
:is(.entry, .editor-styles-wrapper) .mt-nums > .wp-block-column{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:18px 20px;margin:0}
:is(.entry, .editor-styles-wrapper) .mt-nums > .wp-block-column > *{margin:0}
:is(.entry, .editor-styles-wrapper) .mt-nums p:first-child{font-size:13px;color:var(--mute)}
:is(.entry, .editor-styles-wrapper) .mt-nums p:last-child{font-family:var(--mincho);font-weight:700;font-size:26px;font-variant-numeric:tabular-nums;line-height:1.4}

/* ---------- パターン: 手順 ---------- */
:is(.entry, .editor-styles-wrapper) ol.mt-steps{list-style:none;margin:0 0 48px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(11em,1fr));counter-reset:st;border-top:2px solid var(--cedar)}
:is(.entry, .editor-styles-wrapper) ol.mt-steps > li{counter-increment:st;padding:18px 16px 0 0;margin:0;font-size:13.5px;color:var(--mute);line-height:1.8}
:is(.entry, .editor-styles-wrapper) ol.mt-steps > li::before{content:counter(st);display:grid;place-items:center;width:30px;height:30px;margin-top:-34px;margin-bottom:12px;border-radius:50%;background:var(--cedar);color:#fff;font-weight:700;font-size:14px}
:is(.entry, .editor-styles-wrapper) ol.mt-steps > li strong{display:block;font-size:16px;color:var(--ink);margin-bottom:4px}

/* ---------- パターン: 問い合わせ導線 ---------- */
:is(.entry, .editor-styles-wrapper) .mt-cta{margin-block:64px 0;background:var(--cedar);color:#E4ECE6;padding:48px clamp(20px,4vw,56px);border-radius:4px}
:is(.entry, .editor-styles-wrapper) .mt-cta h2{margin:0 0 12px;color:#fff}
:is(.entry, .editor-styles-wrapper) .mt-cta p{font-size:14.5px}
:is(.entry, .editor-styles-wrapper) .mt-cta a{color:#fff}
:is(.entry, .editor-styles-wrapper) .mt-cta .wp-block-button__link{background:#fff;color:var(--cedar)}
:is(.entry, .editor-styles-wrapper) .mt-cta .wp-block-button__link:hover{background:#E4ECE6}
:is(.entry, .editor-styles-wrapper) .mt-cta .mt-tel{font-size:26px;font-weight:700;letter-spacing:.03em;margin:16px 0 0}
:is(.entry, .editor-styles-wrapper) .mt-cta .mt-tel a{text-decoration:none}

/* 英字の添え字（見出しの上の小さな英字） */
:is(.entry, .editor-styles-wrapper) .mt-en{margin:0 0 4px;font-family:var(--latin);font-weight:600;font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--sky);font-variant-numeric:lining-nums}

/* 仕事の輪（輪の上に5つの丸。丸は業務の各段へのリンク） */
:is(.entry, .editor-styles-wrapper) .mt-cycle{margin-block:0 96px;background:var(--cedar);color:#E4ECE6;padding:64px clamp(20px,5vw,64px);border-radius:4px}
/* クラシックテーマではグループの中に内側の箱が入るので、並べ方はそちらに付ける（編集画面は箱が無い） */
:is(.entry, .editor-styles-wrapper) :is(.mt-cycle:not(:has(> .wp-block-group__inner-container)), .mt-cycle > .wp-block-group__inner-container){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 56px;align-items:center}
:is(.entry, .editor-styles-wrapper) .mt-cycle .wp-block-group{margin:0}
:is(.entry, .editor-styles-wrapper) .mt-cycle .mt-en{color:var(--leaf)}
:is(.entry, .editor-styles-wrapper) .mt-cycle h2{margin:0 0 20px;color:#fff;font-size:clamp(24px,3vw,32px);line-height:1.6}
:is(.entry, .editor-styles-wrapper) .mt-cycle p{font-size:14.5px}
:is(.entry, .editor-styles-wrapper) .mt-cycle ul.mt-ring{position:relative;list-style:none;margin:0 auto;padding:0;width:100%;max-width:400px;aspect-ratio:1;background:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27%3E%3Ccircle cx=%2750%27 cy=%2750%27 r=%2741%27 fill=%27none%27 stroke=%27%23AFC2B6%27 stroke-width=%27.8%27 stroke-dasharray=%272 2%27/%3E%3C/svg%3E") center/100% no-repeat}
:is(.entry, .editor-styles-wrapper) .mt-ring > li{position:absolute;transform:translate(-50%,-50%);width:27%;aspect-ratio:1;margin:0;border-radius:50%;background:#fff;box-shadow:0 10px 30px -12px rgba(0,0,0,.5);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-align:center;counter-increment:ring;font-family:var(--mincho);font-weight:700;font-size:clamp(13px,1.6vw,17px);letter-spacing:.1em;line-height:1.3;color:var(--cedar)}
:is(.entry, .editor-styles-wrapper) .mt-ring > li::after{content:counter(ring,decimal-leading-zero);display:block;font-family:var(--latin);font-weight:600;font-size:12px;letter-spacing:.14em;color:var(--sky);font-variant-numeric:lining-nums}
:is(.entry, .editor-styles-wrapper) .mt-ring{counter-reset:ring}
:is(.entry, .editor-styles-wrapper) .mt-ring a{color:inherit;text-decoration:none}
:is(.entry, .editor-styles-wrapper) .mt-ring a::before{content:"";position:absolute;inset:0;border-radius:50%}
:is(.entry, .editor-styles-wrapper) .mt-ring > li:hover{scale:1.06}
:is(.entry, .editor-styles-wrapper) .mt-ring > li:nth-child(1){left:50%;top:9%}
:is(.entry, .editor-styles-wrapper) .mt-ring > li:nth-child(2){left:89%;top:37%}
:is(.entry, .editor-styles-wrapper) .mt-ring > li:nth-child(3){left:74%;top:83%}
:is(.entry, .editor-styles-wrapper) .mt-ring > li:nth-child(4){left:26%;top:83%}
:is(.entry, .editor-styles-wrapper) .mt-ring > li:nth-child(5){left:11%;top:37%}
@media (prefers-reduced-motion:no-preference){:is(.entry, .editor-styles-wrapper) .mt-ring > li{transition:scale .2s}}

/* 番号つきの写真＋文（写真に白い枠を重ねる。番号は並び順で自動） */
:is(.entry, .editor-styles-wrapper){counter-reset:feat}
:is(.entry, .editor-styles-wrapper) .wp-block-media-text.mt-feature{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;margin-block:0 96px;counter-increment:feat;scroll-margin-top:24px}
:is(.entry, .editor-styles-wrapper) .mt-feature .wp-block-media-text__media{grid-column:1 / 9;grid-row:1;margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:2px}
:is(.entry, .editor-styles-wrapper) .mt-feature .wp-block-media-text__media img{width:100%;height:100%;object-fit:cover}
:is(.entry, .editor-styles-wrapper) .mt-feature .wp-block-media-text__content{grid-column:8 / 13;grid-row:1;position:relative;z-index:1;background:var(--white);padding:44px clamp(24px,3.5vw,48px);box-shadow:0 18px 50px -24px rgba(28,42,51,.35)}
:is(.entry, .editor-styles-wrapper) .mt-feature.has-media-on-the-right .wp-block-media-text__media{grid-column:5 / 13}
:is(.entry, .editor-styles-wrapper) .mt-feature.has-media-on-the-right .wp-block-media-text__content{grid-column:1 / 6}
:is(.entry, .editor-styles-wrapper) .mt-feature .wp-block-media-text__content::before{content:counter(feat,decimal-leading-zero);position:absolute;top:-40px;right:28px;font-family:var(--latin);font-weight:500;font-size:64px;line-height:1;color:var(--leaf);font-variant-numeric:lining-nums}
:is(.entry, .editor-styles-wrapper) .mt-feature h2{margin:0 0 16px;font-size:26px;letter-spacing:.18em}
:is(.entry, .editor-styles-wrapper) .mt-feature p{font-size:14.5px;color:#34424B}
:is(.entry, .editor-styles-wrapper) .mt-feature .mt-en{color:var(--sky)}
:is(.entry, .editor-styles-wrapper) :is(.mt-figs:not(:has(> .wp-block-group__inner-container)), .mt-figs > .wp-block-group__inner-container){display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
:is(.entry, .editor-styles-wrapper) .mt-figs p{margin:0;font-size:12px;color:var(--mute);line-height:1.6}
:is(.entry, .editor-styles-wrapper) .mt-figs strong{display:block;font-family:var(--mincho);font-size:22px;color:var(--ink)}

/* ページ冒頭の見出し＋文（番号つきの写真＋文の前に置く） */
:is(.entry, .editor-styles-wrapper) .mt-lead{margin-block:0 96px}
:is(.entry, .editor-styles-wrapper) .mt-lead h2{margin:0 0 20px;font-size:clamp(24px,3vw,32px);line-height:1.6}

/* 写真の帯（番号つきの写真＋文の下に添える。枚数に合わせて等分） */
:is(.entry, .editor-styles-wrapper) :is(.mt-strip:not(:has(> .wp-block-group__inner-container)), .mt-strip > .wp-block-group__inner-container){display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px}
:is(.entry, .editor-styles-wrapper) .mt-strip{margin-block:-48px 96px}
:is(.entry, .editor-styles-wrapper) .mt-strip figure{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:2px}
:is(.entry, .editor-styles-wrapper) .mt-strip img{width:100%;height:100%;object-fit:cover}
/* 横長に切り抜いた風景の写真（採用情報の区切り） */
:is(.entry, .editor-styles-wrapper) .mt-wide{margin-block:96px 0}
:is(.entry, .editor-styles-wrapper) .mt-wide img{width:100%;aspect-ratio:21/9;object-fit:cover}
@media (max-width:600px){:is(.entry, .editor-styles-wrapper) .mt-wide img{aspect-ratio:4/3}}
/* 見出し＋表などの区切り（会社案内） */
:is(.entry, .editor-styles-wrapper) .mt-section{margin-block:64px 0}
:is(.entry, .editor-styles-wrapper) .mt-section h2{margin:0 0 20px}
/* 代表挨拶（写真を枠いっぱいに） */
:is(.entry, .editor-styles-wrapper) .mt-message{align-items:stretch}
:is(.entry, .editor-styles-wrapper) .mt-message .wp-block-media-text__media{align-self:stretch}
:is(.entry, .editor-styles-wrapper) .mt-message .wp-block-media-text__media img{height:100%;object-fit:cover;object-position:50% 20%}
:is(.entry, .editor-styles-wrapper) .mt-message h2{margin:0 0 28px}
:is(.entry, .editor-styles-wrapper) .mt-sign{margin-top:32px;line-height:2}
:is(.entry, .editor-styles-wrapper) .mt-nw{white-space:nowrap}

@media (max-width:820px){
  :is(.entry, .editor-styles-wrapper) .mt-section{margin-top:44px}
  :is(.entry, .editor-styles-wrapper) .mt-message .wp-block-media-text__media img{height:auto;aspect-ratio:4/3}
  :is(.entry, .editor-styles-wrapper) ol.mt-steps{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--cedar);margin-left:14px}
  :is(.entry, .editor-styles-wrapper) ol.mt-steps > li{padding:0 0 22px 28px;position:relative}
  :is(.entry, .editor-styles-wrapper) ol.mt-steps > li::before{position:absolute;left:-16px;top:0;margin:0}
  :is(.entry, .editor-styles-wrapper) .mt-cycle{padding-block:48px}
  :is(.entry, .editor-styles-wrapper) :is(.mt-cycle:not(:has(> .wp-block-group__inner-container)), .mt-cycle > .wp-block-group__inner-container){grid-template-columns:1fr}
  :is(.entry, .editor-styles-wrapper) .mt-cycle ul.mt-ring{max-width:260px;margin-top:12px}
  :is(.entry, .editor-styles-wrapper) .mt-ring > li{width:84px;font-size:13.5px}
  :is(.entry, .editor-styles-wrapper) .wp-block-media-text.mt-feature{grid-template-columns:1fr;margin-bottom:64px}
  :is(.entry, .editor-styles-wrapper) .mt-feature .wp-block-media-text__media,
  :is(.entry, .editor-styles-wrapper) .mt-feature.has-media-on-the-right .wp-block-media-text__media{grid-column:1;grid-row:1}
  :is(.entry, .editor-styles-wrapper) .mt-feature .wp-block-media-text__content,
  :is(.entry, .editor-styles-wrapper) .mt-feature.has-media-on-the-right .wp-block-media-text__content{grid-column:1;grid-row:2;margin:-48px 16px 0}
  :is(.entry, .editor-styles-wrapper) .mt-strip{margin-block:-32px 64px}
  :is(.entry, .editor-styles-wrapper) .mt-lead{margin-bottom:56px}
}
@media (max-width:560px){
  :is(.entry, .editor-styles-wrapper) .mt-rows .wp-block-columns{grid-template-columns:1fr;gap:2px}
  :is(.entry, .editor-styles-wrapper) :is(.mt-strip:not(:has(> .wp-block-group__inner-container)), .mt-strip > .wp-block-group__inner-container){gap:6px}
  /* 項目名と内容の表は、項目名を内容の上に積む */
  :is(.entry, .editor-styles-wrapper) .mt-table :is(table,tbody,tr,th,td){display:block}
  :is(.entry, .editor-styles-wrapper) .mt-table th{padding:8px 14px;border-bottom:0;white-space:normal}
  :is(.entry, .editor-styles-wrapper) .mt-table td{padding:10px 14px 14px;border-top:0}
  :is(.entry, .editor-styles-wrapper) .mt-table tr + tr th{border-top:0}
}
