@charset "utf-8";
/*
Theme Name: ★IFPEX2027★
Theme URI: http://www.ifpex.jp/
Template: lightning
Description: 
Author: min
Tags: 
Version: 1.1
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, var, sub,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
list-style:none;

}

.pcnone{display:none;}
.spnone{display:inline;}

.dwlbox{margin:0 0 40px 0;}

.page-header{display:none;}

.swiper-slide {
 background-color: #cfcfcf; /* フォールバック */
  background-image: linear-gradient(
    170deg,
    #bdbdbd 0%,
    #c9c9c9 35%,
    #d8d8d8 70%,
    #e6e6e6 100%
  );
}


/* =========================================================
header
   ========================================================= */
.global-nav-list>li:before {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 0;
border:none;
	/*
    border-bottom: 1px solid var(--vk-color-primary); 
*/
    transition: all .5s ease-out;
}


@media (min-width: 970px) {
    .innerBox, #gMenu #gMenuInner.innerBox {
        width: 1100px;
        margin: 0px auto;
    }
}

#headerTop, #headerTop-eng {
    background-color: #444 /*F6AB00 e9e9e9*/;
    color: #fff !important;
    font-size: 12px;
    padding: 0px 0 !important;
    height: 24px;
    line-height: 24px;
}
#headerTop .innerBox, #headerTop-eng .innerBox {
    text-align: left;
    padding: 0px 0;
}
#langnavi {
    float: right;
}
#langnavi ul {
    margin: 0px 0 0 0 !important;
}
#langnavi ul li {
    float: left;
    font-size: 11px;
}
#langnavi ul li a {
    color: #eee;
    padding: 2px 15px;
    display: inline-block;
}

.header_scrolled .header-top, .header_scrolled .site-header-logo, .header_scrolled .site-header-sub, .header_scrolled .vk-campaign-text {
    /* */
 display: block;
}


.site-footer-title:after, .sub-section-title:after, h3:where(:not(.wp-block-post-title)):after {
    content: ".";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: -1px;
    width: 30%;
    border-bottom: none;
}

.btn_regist {
    color: #fff !important;
    font-size: 14px;
    display: inline-block;
    margin: 20px 0 10px 0;
}
.btn_regist a {
    color: #fff !important;
    padding: 12px 100px;
    background-color: #cc0000;
    -webkit-border-radius: 6px;
    -o-border-radius: 6px;
    -ms-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}
.btn_regist a {
    color: #fff!important;
    padding: 12px 100px;
    background-color: #cc0000;
    -webkit-border-radius: 6px;
    -o-border-radius: 6px;
    -ms-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}
.btn_regist a:hover{background-color:#f90404; color:#fff!important;text-decoration:none;
-moz-transition:background-color 0.8s ease;-o-transition:background-color 0.8s ease;-webkit-transition:background-color 0.8s ease;transition:background-color 0.8s ease;}

/*exhibit css
 * 
 * *************************************/

/* =========================================================
   IFPEX2027 出展のご案内（WordPress用）
   すべて .ifx 配下にスコープし、テーマCSSとの衝突を避ける
   ========================================================= */
.ifx-sec.Overview{
margin:0 0 60px 0;
}

.ifx {
  --red: #b0322b;
  --red-l: #e8352b;
  --beige: #fbe9c4;
  --gray: #e9e6e3;
  --text: #222;
  --c1: #8ab7dc; --c2: #fde0ae; --c3: #b8dcb0; --c4: #d2b2d6;
  --c5: #7fc8ba; --c6: #e8ad94; --c7: #8b8fc4; --c8: #f3b16a;
  color: var(--text);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height: 1.8;
  max-width: 1100px;
  margin: 0 auto;
}
.ifx *, .ifx *::before, .ifx *::after { box-sizing: border-box; }
.ifx img { max-width: 100%; height: auto; display: block; }
.ifx img[src=""] { background: #ddd; aspect-ratio: 4 / 3; width: 100%; } /* 画像未設定時のプレースホルダ */
.ifx p, .ifx ul, .ifx ol, .ifx dl { margin: 1em 0 1em; }
.ifx ul, .ifx ol { padding: 0; list-style: none; }
.ifx a { color: var(--red); }
.ifx small, .ifx .ifx-small { font-size: .8em; color: #555; }
.ifx .ifx-red { color: var(--red-l); }
.ifx .ifx-big { font-size: 1.4em; }

/* ---------- 見出し ---------- */
.ifx-sec { margin: 0 0 56px; }
.ifx .ifx-h2 {
  background: var(--red); color: #fff; font-size: 1.4rem; font-weight: 700;
  padding: 6px 20px; margin: 0 0 20px; border: 0; letter-spacing: .1em;
}
.ifx .ifx-h3,
.cs-section .ifx-h3{
  background: #d6d6d6; color: var(--red); text-align: center; font-size: 1.15rem;
  padding: 4px; margin: 32px 0 16px; border: 0; letter-spacing: .1em;
}
.ifx .ifx-h4 { background: var(--gray); font-size: .95rem; text-align: center; padding: 4px 8px; margin: 0 0 16px; }
.ifx .ifx-h5, .ifx .ifx-h6 { color: var(--red); font-size: 1.05rem; margin: 20px 0 6px; border: 0; padding: 0; }
.ifx .ifx-h5::before { content: "■"; }
.ifx-note { font-size: .85rem; text-align: right; margin-top: -12px; }
.ifx-lead { font-weight: 700; }

/* ---------- ヒーロー ---------- */
.ifx-hero {
  position: relative; overflow: hidden; padding: 48px 32px 40px;
  background: linear-gradient(180deg, #d9d9d9, #a9a9a9); margin-bottom: 56px;
}
.ifx-hero__inner { position: relative; z-index: 1; max-width: 640px; }
.ifx-hero__catch { font-size: clamp(1.5rem, 4vw, 2.6rem); font-weight: 900; line-height: 1.3; }
.ifx-hero__catch span { font-size: .7em; }
.ifx .ifx-hero__logo {
  color: var(--red-l); font-size: clamp(3.5rem, 12vw, 8rem); font-weight: 900;
  line-height: 1; margin: 0 0 16px; letter-spacing: -.02em; border: 0; padding: 0;
}
.ifx-hero__sub { font-size: clamp(1.1rem, 2.6vw, 1.7rem); font-weight: 700; line-height: 1.4; }
.ifx-hero__date { font-size: clamp(2.6rem, 8vw, 5rem); font-weight: 900; line-height: 1.1; }
.ifx-hero__date small { display: block; font-size: .4em; color: inherit; }
.ifx-hero__date span { font-size: .45em; }
.ifx-hero__venue { font-size: clamp(1.8rem, 5vw, 3rem); font-weight: 900; line-height: 1.3; }
.ifx-hero__venue span { font-size: .65em; }
.ifx-hero__org { font-size: .9rem; }
.ifx-hero__badge {
  display: inline-block; background: var(--red-l); color: #fff;
  font-size: clamp(1.4rem, 4vw, 2.4rem); font-weight: 900; padding: 4px 20px;
}
.ifx-hero__img { position: absolute; right: 0; bottom: 0; width: 60%; z-index: 0; }
.ifx-hero__img[src=""] { display: none; }

/* ---------- ごあいさつ ---------- */
.ifx .ifx-greeting__ttl {
  display: flex; align-items: center; gap: 16px; color: var(--red);
  font-family: serif; font-size: 2rem; font-weight: 400; border: 0; padding: 0; margin: 0 0 20px;
}
.ifx-greeting__ttl::after { content: ""; flex: 1; height: 1px; background: var(--red); }
.ifx-greeting__body { font-family: serif; }
.ifx-greeting__body p { text-indent: 1em; margin: 0; }
.ifx-greeting__sign { display: flex; justify-content: flex-end; gap: 48px; flex-wrap: wrap; margin-top: 24px; font-family: serif; font-size: 1.3rem; }
.ifx-greeting__sign small { display: block; font-size: .9rem; color: var(--text); }
.ifx-greeting__sign span { font-size: .8rem; margin-right: 1.5em; }

/* ---------- 開催要項 ---------- */
.ifx-outline { display: grid; grid-template-columns: 1fr 360px; gap: 24px; align-items: start; }
.ifx-dl { display: grid; grid-template-columns: 10.5em 1fr; gap: 10px 16px; }
.ifx-dl dt { background: #c0504d; color: #fff; text-align: center; font-weight: 700; padding: 2px 4px; align-self: start; }
.ifx-dl dd { margin: 0; }
.ifx-dl strong { font-size: 1.2em; }
.ifx-dl--plain dt { background: none; color: var(--red); text-align: left; padding: 0; }
.ifx-dl--plain dt::before { content: "■"; }

.ifx-cofair { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; /*background: var(--gray);*/ padding: 24px; }
.ifx-cofair li { background: #fff; text-align: center; padding: 20px 8px; font-weight: 700; color: #666; font-size: 1.1rem; line-height: 1.4; }

/* ---------- 今回の特徴 ---------- */
.ifx-features { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ifx-card { border: 2px solid var(--red); border-radius: 12px; padding: 16px 24px 24px; background: #fff; }
.ifx-card--wide { grid-column: 1 / -1; }
.ifx .ifx-card h3 {
  color: var(--red); text-align: center; font-size: 1.6rem; font-weight: 500;
  border-bottom: 1px solid var(--red); padding: 0 0 8px; margin: 0 0 12px;
}
.ifx-card__label { display: inline-block; background: #5579a4; color: #fff; border-radius: 6px; padding: 0 16px; margin: 0 0 4px; letter-spacing: .5em; }
.ifx-card__goal { color: var(--red); font-weight: 700; counter-reset: g; }
.ifx-card__goal li { counter-increment: g; }
.ifx-card__goal li::before { content: counter(g) "："; }
.ifx-card__imgs { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 12px; }

/* ---------- 前回レポート：グラフ ---------- */
.ifx-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.ifx-2col--tight { gap: 16px; }
.ifx-bars li { display: grid; grid-template-columns: 2em 1fr 3em; align-items: center; gap: 8px; margin-bottom: 6px; }
.ifx-bars span { text-align: right; }
.ifx-bars i { display: block; height: 22px; width: calc(var(--v) / 35 * 100%); background: var(--c1); }
.ifx-dots li::before { content: "・"; }
.ifx-dots li { font-size: .92rem; line-height: 1.7; margin:1px 0; padding: 1px 0 1px 1.0em;text-indent: -1.0em;}

.ifx-pie-box { text-align: center; }
.ifx-pie { width: min(240px, 70%); aspect-ratio: 1; border-radius: 50%; margin: 0 auto 16px; }
.ifx-legend { display: inline-block; text-align: left; font-size: .9rem; }
.ifx-legend li { position: relative; padding-left: 1.4em; line-height: 1.6; }
.ifx-legend li::before { content: ""; position: absolute; left: 0; top: .35em; width: 1em; height: 1em; background: var(--c); }

/* ---------- スケジュール ---------- */
/*
.ifx .ifx-schedule { display: grid; grid-template-columns: repeat(9, 1fr); gap: 6px; font-size: .85rem; position: relative; padding-top: 44px; margin:4em 0 1em;}

.ifx .ifx-schedule::after { content: ""; position: absolute; top: 4px; left: 0; font-size: 1.35rem; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; }

.ifx .ifx-schedule::before { content: ""; position: absolute; top: -2px; left: 78px; right: calc((100% - 48px) / 9 + 3px); height: 6px; background: linear-gradient(90deg, #fcf3d2, #f3d98a 40%, #e2b13c); }

.ifx .ifx-schedule li { position: relative; }
.ifx .ifx-schedule li:not(:last-child)::before { content: ""; position: absolute; top: -54px; right: -14px; border-style: solid; border-width: 11px 0 11px 20px; border-color: transparent transparent transparent #e2b13c; z-index: 1; }
.ifx .ifx-schedule li { background: #edf3dd; text-align: center; padding: 0 4px 12px; line-height: 1.6; }
.ifx .ifx-schedule li.is-day { background: #cfe3a6; }
.ifx .ifx-schedule time { display: block; background: var(--gray); font-weight: 700; padding: 4px 0; margin: 0 -4px 8px; }
.ifx .ifx-schedule strong { display: block; color: var(--red); }
*/

/* ---------- スケジュール 更新版レスポンシブ---------- */
.ifx .ifx-schedule {
  --sch-bg: #eef3dc;
  --sch-day: #d3e4a0;
  --sch-arrow: #e2b33c;
  position: relative;
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  gap: 6px;
 margin:4em 0 1em;
  padding: 48px 0 0;
  font-size: .85rem;
  line-height: 1.6;
}
/* 上部の矢印ライン */
.ifx .ifx-schedule::before {
  content: "";
  position: absolute;
  top: 18px; left: 7%; right: 1%;
  height: 4px;
  background: linear-gradient(90deg, #f7e7b8, var(--sch-arrow));
}
.ifx .ifx-schedule li {
  position: relative;
  background: var(--sch-bg);
  text-align: center;
  padding: 0 6px 12px;
}
.ifx .ifx-schedule li.is-day { background: var(--sch-day); }
/* 各列の矢印（▶） */
.ifx .ifx-schedule li::before {
  content: "";
  position: absolute;
  top: -40px; right: -12px;
  border-style: solid;
  border-width: 10px 0 10px 18px;
  border-color: transparent transparent transparent var(--sch-arrow);
}
.ifx .ifx-schedule li:nth-child(-n+2)::before { opacity: .6; }
.ifx .ifx-schedule li:last-child::before { display: none; }

.ifx .ifx-schedule time {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.4em;
  margin: 0 -6px 10px;
  padding: 4px;
  background: var(--gray);
  font-weight: 700;
}
.ifx .ifx-schedule strong {
  display: block;
  color: var(--red);
  font-weight: 700;
}

/* ---------- タブレット ---------- */
@media (max-width: 1000px) {
  .ifx .ifx-schedule {
    grid-template-columns: repeat(3, 1fr);
    padding-top: 0;
  }
  .ifx .ifx-schedule::before,
  .ifx .ifx-schedule li::before { display: none; }
  .ifx .ifx-schedule time { min-height: 0; }
}

/* ---------- スマホ：縦タイムライン ---------- */
@media (max-width: 600px) {
  .ifx .ifx-schedule {
    grid-template-columns: 1fr;
    gap: 4px;
    font-size: .9rem;
  }
  .ifx .ifx-schedule li {
    text-align: left;
    padding: 10px 12px 10px calc(8.5em + 14px);
    min-height: 3.6em;
  }
  .ifx .ifx-schedule time {
    position: absolute;
    top: 0; bottom: 0; left: 0;
    width: 8.5em;
    margin: 0;
    font-size: .85em;
    text-align: center;
  }
  /* 下向きの矢印でつなぐ */
  .ifx .ifx-schedule li::before {
    display: block;
    top: auto; right: auto;
    bottom: -9px; left: calc(4.25em - 7px);
    z-index: 1;
    border-width: 9px 7px 0 7px;
    border-color: var(--sch-arrow) transparent transparent transparent;
    opacity: 1;
  }
  .ifx .ifx-schedule li:last-child::before { display: none; }
  .ifx .ifx-schedule br { display: none; }
  .ifx .ifx-schedule strong + strong,
  .ifx .ifx-schedule li strong:not(:first-of-type) { margin-top: 4px; }
}


/* ---------- 出展要項 ---------- */
.ifx-terms { display: grid; grid-template-columns: 1fr 380px; gap: 24px; align-items: start; }
.ifx-price { border-collapse: collapse; width: 100%; max-width: 560px; margin: 0 0 12px; }
.ifx-price th, .ifx-price td { border: 1px solid #333; padding: 6px 12px; }
.ifx-price th { background: var(--beige); width: 50%; }
.ifx-price td { text-align: center; }
.ifx-price strong { font-size: 1.5em; }
.ifx-terms__side { background: var(--gray); border-radius: 12px; padding: 16px; }
.ifx-package { background: #fff; margin-top: 16px; }
.ifx .ifx-package h3 { background: var(--red); color: #fff; text-align: center; font-size: 1.05rem; padding: 4px; margin: 0 0 12px; border: 0; }
.ifx-package > img, .ifx-package > ul, .ifx-package > p { margin-left: 12px; margin-right: 12px; }
.ifx-package li { font-size: .85rem; line-height: 1.6; }
.ifx-package li::before { content: "●"; }
.ifx-package__price { border: 1px solid #333; text-align: center; padding: 6px; margin-bottom: 12px !important; }
.ifx-package__price strong { font-size: 1.6em; }

/* ---------- 出展対象 ---------- */
.ifx-target { display: grid; grid-template-columns: 240px 1fr; gap: 12px 16px; align-items: center; }
.ifx-target dt { border: 2px solid var(--red); border-radius: 999px; color: var(--red); text-align: center; padding: 6px; font-weight: 700; }
.ifx-target dd { margin: 0; font-size: .9rem; line-height: 1.6; }

/* ---------- スポンサー ---------- */
.ifx-sponsor__name {
  display: flex; justify-content: space-between; align-items: center; color: #fff;
  font-family: serif; font-size: 1.8rem; font-weight: 700; border-radius: 16px; padding: 6px 24px; margin-bottom: 8px;
}
.ifx-sponsor--pt .ifx-sponsor__name { background: linear-gradient(90deg, #7c8b96, #dfe3e6 60%, #9aa3aa 60%); }
.ifx-sponsor--gd .ifx-sponsor__name { background: linear-gradient(90deg, #c08a2c, #f3dc9a 60%, #d2a443 60%); }
.ifx-sponsor strong { font-size: 1.3em; }
.ifx-tag { display: inline-block; border: 2px solid #333; border-radius: 6px; padding: 0 8px; font-weight: 600; font-size: .75rem; }
.ifx-benefit { display: grid; grid-template-columns: 220px 1fr; border: 2px solid #3d7cc9; margin-top: 16px; }
.ifx-benefit dt { background: #c0504d; color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; text-align: center; padding: 12px; }
.ifx-benefit dd { margin: 0; padding: 12px 16px; font-weight: 700; }
.ifx-benefit li::before { content: "●"; }

/* ---------- 前回実績 ---------- */
.ifx-result { border: 3px solid #fdd84f; padding: 0 24px 24px; }
.ifx .ifx-result__ttl {
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; align-items: baseline;
  background: #fdd84f; color: var(--text); font-size: 1.5rem; margin: 0 -24px 16px; padding: 6px 24px; border: 0;
}
.ifx-result__ttl span { font-size: 1rem; }
.ifx-result__scale { background: #fde98e; padding: 4px 16px; font-size: 1.2rem; font-weight: 700; }
.ifx-exhibitors { columns: 2; column-gap: 16px; font-size: .88rem; line-height: 1.7; }
.ifx-exhibitors li { break-inside: avoid; }
.ifx-labs li { font-size: .9rem; line-height: 1.6; margin-bottom: 6px; }
.ifx-labs li::before { content: "●"; }
.ifx-visitors { background: #fff7d0; padding: 16px 24px; margin-top: 24px; display: grid; grid-template-columns: 1fr auto; gap: 0 24px; align-items: center; }
.ifx .ifx-visitors h3 { grid-column: 1 / -1; background: #fde98e; text-align: center; margin: -16px -24px 12px; padding: 4px; font-size: 1.2rem; border: 0; }
.ifx-visitors ul { margin: 0; font-weight: 700; }
.ifx-visitors strong { font-size: 1.4em; }
.ifx-visitors__total { border: 3px solid #e8603c; border-radius: 50%; padding: 16px 40px; text-align: center; font-weight: 700; margin: 0; }
.ifx-visitors__total strong { display: block; font-size: 2em; line-height: 1.2; }
.ifx-visitors .ifx-small { grid-column: 1 / -1; margin: 8px 0 0; }

/* ---------- お問い合わせ ---------- */
.ifx-contact { background: #d9d9d9; border-radius: 16px; padding: 24px 32px; }
.ifx .ifx-contact h3 { font-size: 1.15rem; border-bottom: 1px solid #555; padding: 0 0 4px; margin: 16px 0 8px; }
.ifx-contact__sub { font-weight: 700; margin-bottom: 0 !important; }
.ifx-contact__name { font-size: 1.3em; }

/* ---------- レスポンシブ ---------- */
@media (max-width: 900px) {
  .ifx-outline, .ifx-terms { grid-template-columns: 1fr; }
  .ifx-schedule { grid-template-columns: repeat(3, 1fr); }
  .ifx-schedule::before { display: none; }
}
@media (max-width: 680px) {
  .ifx-hero { padding: 32px 16px; }
  .ifx-hero__img { position: static; width: 100%; }
  .ifx-features, .ifx-2col, .ifx-cofair, .ifx-target, .ifx-benefit, .ifx-visitors { grid-template-columns: 1fr; }
  .ifx-card--wide { grid-column: auto; }
  .ifx-card__imgs { grid-auto-flow: row; }
  .ifx-schedule { grid-template-columns: repeat(2, 1fr); }
  .ifx-dl { grid-template-columns: 6em 1fr; }
  .ifx-exhibitors { columns: 1; }
  .ifx-sponsor__name { font-size: 1.4rem; }
  .ifx-contact { padding: 20px 16px; }
}


/* =========================================================
footer
   ========================================================= */
.site-footer {
    border-top:none;
}

.site-footer-title, .sub-section-title, h3:where(:not(.wp-block-post-title)) {
    position: relative;

    background: 0 0;
    padding: 0 0 0em;
    border-radius: 0;
}

#footercontact {

    font-size: 14px;
    padding: 10px 10px;

    color: #555;
    -webkit-border-radius: 4px;
    -o-border-radius: 4px;
    -ms-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
#footercontact h3 {
    margin: 0;
    font-size: 18px;
    margin-bottom: 0px;
}
#footercontact ul {
    margin: 0;
    padding: 0;
}
.site-footer-title, .sub-section-title, h3:where(:not(.wp-block-post-title)) {
border:none;
}
.widget ul {
	list-style:none;
}

/* =========================================================
eng
   ========================================================= */
.txt_chatch2 {
    padding: 5px 0 30px 0;
    font-size: 16px;
    color: #06367b;
    font-weight: bold;
    display: block;
}

.exhibitblock03 {
    margin: 0px 0 60px 0;
    background-color: #eee;
    padding: 10px 30px 30px 30px;
}
table.c1, table.c2 {
    width: 100%;
    font-size: 16px;
    margin: 0 !important;
    margin-bottom: 60px !important;
    margin-top: -10px;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
table th, table td {
    border: 1px solid #ccc;
    padding: 10px 15px;
    vertical-align: top;
}

.c1 th, .c2 th {
    background-color: #f3f2f3;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    width: 25%;
}
.engBooth {
    text-align: left;
    margin: 30px 0 80px 0;
}
.exhibitblock03 h4 {
    clear: both;
    font-size: 16px;
    margin: 30px 0px 10px;
    padding: 0px 0px 2px;
    border-bottom: 1px dotted #ccc;
	background-color: transparent;
}

.treetype li{
margin:0 0 20px 0;
}


/* =========================================================
footer banner
   ========================================================= */

.cs-section {
  --cs-red: #b52a2a;
  --cs-label: #d9876a;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;
}
.cs-section *, .cs-section *::before, .cs-section *::after { box-sizing: border-box; }

.cs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 40px;
}
.cs-col { display: flex; flex-direction: column; gap: 24px; }

.cs-card {
  padding: 14px 24px 16px 16px;
  border-right: 2px solid var(--cs-red);
  border-bottom: 2px solid var(--cs-red);
  border-bottom-right-radius: 10px;
  flex-grow: 1; /* 左右の列で高さをそろえる */
}
.cs-title {
  margin: 0 0 6px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  color: #222;
}
.cs-desc {
  margin: 0 0 12px;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #333;
}
.cs-meta { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.cs-row { display: flex; align-items: flex-start; gap: 16px; }
.cs-row dt {
  flex: 0 0 112px;
  padding: 3px 0;
  background: var(--cs-label);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
  text-align: center;
  border-radius: 3px;
}
.cs-row dd {
  margin: 0;
  padding-top: 2px;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.5;
  color: #222;
}
.cs-note {
  margin: 0;
  text-align: right;
  font-size: 0.9rem;
  font-weight: 700;
  color: #222;
}

/* タブレット・スマホ */
@media (max-width: 768px) {
  .cs-grid { grid-template-columns: 1fr; gap: 20px; }
  .cs-col { gap: 20px; }
  .cs-card { padding: 12px 16px 14px 12px; }
  .cs-title { font-size: 1.1rem; }
  .cs-row { gap: 10px; }
  .cs-row dt { flex-basis: 84px; font-size: 0.8rem; }
  .cs-row dd { font-size: 0.9rem; }
  .cs-note { text-align: left; font-size: 0.85rem; }
}

