    :root {
      --ink: #17181b;
      --muted: #626872;
      --line: #dedede;
      --paper: #f5f5f5;
      --white: #fff;
      --red: #e60012;
      font-family: YuGothic, "Yu Gothic", "游ゴシック体", "游ゴシック", "Hiragino Kaku Gothic ProN", "HiraKakuPro-W3", "メイリオ", Meiryo, Verdana, sans-serif;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; color: #212121; background: var(--white); font-size: 16px; line-height: 1.6; letter-spacing: 0; }
    a { color: inherit; text-decoration: none; }
    a img { -webkit-transition: opacity .3s; transition: opacity .3s; }
    a:hover img { opacity: .7; }
    img { display: block; width: 100%; height: auto; }
    #header { --header-height: 80px; position: fixed; right: 0; left: 0; z-index: 1000; width: 100%; min-width: 943px; height: var(--header-height); margin: 0 auto; border-bottom: 1px solid #e8e8e8; background-color: #fff; color: #212121; }
    #header #header_inner { position: relative; max-width: 1920px; height: var(--header-height); margin: 0 auto; padding: 0 58px; }
    #header ul { list-style: none; }
    #header a, #header a:link, #header a:visited { color: #212121; }
    #header #main_logo { display: inline-block; margin-top: 13px; }
    #header #main_logo img { width: 172px; height: auto; object-fit: contain; }
    #header .menu_toggle { display: none; }
    #header .header_nav { position: absolute; top: 0; right: 50px; }
    #header .header_nav .nav_list_area { padding: 0; background-color: transparent; }
    #header .header_nav ul.nav_list { margin: 0; padding-left: 0; font-weight: bold; font-size: 13px; line-height: 20.8px; }
    #header .header_nav ul.nav_list > li { float: left; padding: 25px 15px; line-height: 20.8px; }
    #header .header_nav ul.nav_list > li > a { cursor: pointer; }
    #header .header_nav ul.nav_list > li.nav_text > a > span { display: inline-block; position: relative; text-align: center; line-height: 30px; }
    #header .header_nav ul.nav_list > li.nav_business > a > span { font-size: 15px; }
    #header .header_nav ul.nav_list > li.nav_text a:hover { text-decoration: none; }
    body #main { width: 100%; padding-top: 80px; }
    #contents .contents_body { position: relative; width: 100%; max-width: 1920px; margin: 0 auto; padding: 0 80px; text-align: center; letter-spacing: -.4em; }
    #contents .contents_body::after { content: ""; display: block; clear: both; }
    #contents .contents_body .section { margin: 0 auto 40px; text-align: left; letter-spacing: normal; }
    #contents .contents_body .section.full { max-width: none; margin-right: -80px; margin-left: -80px; }
    #contents .contents_body .section.nomarginb { margin-bottom: 0; }
    #contents .contents_body .section.picks_column > div { display: flex; }
    #domains { scroll-margin-top: 80px; }
    .picks_area { position: relative; min-height: 236px; overflow: hidden; background: #212121; color: #fff; }
    .picks_area:hover { background-color: #212121; }
    .picks_area .picks_tile_link { display: block; position: relative; width: 100%; height: 100%; color: #fff; }
    .picks_area .picks_tile_link:after { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #212121; opacity: 0; transition: opacity .5s ease; }
    .picks_area:hover .picks_tile_link:after { opacity: .7; }
    .picks_area .picks_picture { display: block; width: 100%; height: 100%; }
    .picks_area .picks_image { width: 100%; height: 100%; max-width: 1920px; object-fit: cover; vertical-align: bottom; }
    .top-picks-main .picks_image_people_zoom { transform: scale(1.18); transform-origin: 74% 47%; }
    .top-picks-main .picks_image_merch_home { object-position: center; transform: none; }
    .picks_column .picks_image_support_zoom { --support-tile-x: 78%; object-position: var(--support-tile-x) top; transform: none; }
    .picks_column .picks_image_system_home { object-position: center; transform: none; }
    .top-picks-main .picks_area { height: auto; aspect-ratio: 1920 / 733; }
    .picks_column .picks_area { width: 50%; height: auto; aspect-ratio: 960 / 640; }
    .picks_area .picks_title_wrapper { position: absolute; bottom: 0; z-index: 1; width: 100%; margin: 0; padding: 32px 32px 44px; color: #fff; }
    .picks_area .picks_title_wrapper::after { content: ""; display: block; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(to bottom, transparent, #000); opacity: .8; }
    .picks_category { display: inline-block; margin-bottom: 12px; padding: 1px 5px 0; background-color: #eb0a1e; color: #fff; vertical-align: middle; font-size: 12px; font-weight: bold; }
    .picks_area .picks_time { display: block; margin-bottom: 8px; font-size: 11px; }
    .picks_area .picks_title { margin: 0; color: #fff; font-size: 28px; font-weight: bold; }
    .picks_area .picks_title_inner { display: block; display: -webkit-box; max-height: 3.9em; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
    .pdgb1_half,
    #contents .contents_body .section.html .pdgb1_half,
    #contents .contents_body .section.column .pdgb1_half { padding-bottom: 1.5em; }
    section { padding: 76px 26px; }
    .container { max-width: 1180px; margin: 0 auto; }
    .split-box { display: grid; grid-template-columns: repeat(var(--split-count, 2), minmax(0, 1fr)); }
    .split-2 { --split-count: 2; }
    .split-3 { --split-count: 3; }
    .split-border { border: 1px solid var(--line); background: var(--line); gap: 1px; }
    .split-border > * { background: #fff; }
    .border_t,
    #contents .contents_body .section .border_t { border-top: 1px solid var(--line); }
    .margint1_half,
    #contents .contents_body .section .margint1_half { margin-top: 1.5em; }
    .marginb2,
    #contents .contents_body .section .marginb2 { margin-bottom: 2em; }
    .section-head { display: grid; grid-template-columns: .85fr 1.15fr; gap: 44px; align-items: end; margin-bottom: 34px; }
    h1.title { margin: 0 0 16px; font-weight: bold; font-size: 36px; line-height: 1.3; }
    h2.title { margin: 0 0 32px; font-weight: bold; font-size: 20px; line-height: 1.5; }
    h3.title { margin: 0 0 16px; font-size: 18px; line-height: 1.5; }
    h2 { margin: 0; font-size: 20px; line-height: 1.5; }
    .subtitle { display: block; margin: 0; color: #212121; font-size: 17px; line-height: 1.7; }
    .figure_description { margin: 8px 0 0; color: #212121; font-size: 14px; line-height: 23px; }
    .business-overview { padding-right: 0; padding-left: 0; background: #fff; text-align: left; letter-spacing: normal; }
    .business-overview .container { max-width: none; }
    .overview-grid { align-items: start; margin-bottom: 44px; }
    .overview-copy { max-width: 720px; padding-left: 20px; }
    .overview-copy h1.title { max-width: 720px; margin-bottom: 0; }
    .overview-copy .subtitle { max-width: 720px; }
    .overview-copy .overview-rule { margin-top: 14px; margin-bottom: 38px; }
    .overview-visual { position: relative; display: flex; align-items: center; justify-content: center; min-height: 360px; padding: 18px 20px; background: #fff; overflow: hidden; }
    .overview-visual img { width: 100%; height: auto; max-height: 100%; object-fit: contain; transform: none; filter: saturate(.98) contrast(1.02); }
    .flow { gap: 34px; counter-reset: business-flow; }
    .flow-item { min-height: 0; padding: 0; display: block; counter-increment: business-flow; }
    .flow-item-link { color: inherit; text-decoration: none; cursor: pointer; }
    .flow-item h3.title { display: flex; align-items: center; gap: 12px; min-height: 50px; margin: 0 0 18px; padding: 12px 16px; background: #212121; color: #fff; font-size: 18px; line-height: 1.35; font-weight: bold; }
    .flow-item h3.title::before { content: counter(business-flow, decimal-leading-zero); flex: 0 0 auto; padding-right: 12px; border-right: 1px solid rgba(255,255,255,.38); font-size: 13px; line-height: 1; }
    .flow-item-image { position: relative; margin: 0 0 12px; overflow: hidden; background: #fff; }
    .flow-item-image::after { content: ""; position: absolute; inset: 0; background-color: #212121; opacity: 0; transition: opacity .5s ease; pointer-events: none; }
    .flow-item-link:hover .flow-item-image::after { opacity: .7; }
    .flow-item-image img { display: block; width: 100%; height: auto; }
    .flow-item .figure_description { margin: 0; padding: 0 18px; color: #212121; font-size: 16px; line-height: 1.8; }
    .home-contact-section { scroll-margin-top: 80px; padding-right: 0; padding-left: 0; border-top: 1px solid var(--line); background: #f7f7f7; text-align: left; letter-spacing: normal; }
    .home-contact-section .container { max-width: none; }
    .home-contact-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 1px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--line); }
    .home-contact-copy,
    .home-contact-action { min-height: 260px; padding: 38px 44px; background: #fff; }
    .home-contact-copy h2.title { margin-bottom: 0; font-size: 28px; }
    .home-contact-label { margin: 0 0 10px; color: #616161; font-size: 13px; font-weight: bold; }
    .home-contact-mail { display: inline-block; color: #212121; font-size: 24px; line-height: 1.35; font-weight: bold; text-decoration: none; word-break: break-all; }
    .home-contact-mail:hover { color: #eb0a1e; }
    .home-contact-note { margin: 22px 0 0; color: #616161; font-size: 14px; line-height: 1.75; }
    .home-contact-action .article_tag { margin-top: 24px; }
    .home-contact-action .article_tag a { padding: 7px 14px; border-color: #212121; background: #212121; color: #fff; font-size: 13px; }
    .home-contact-action .article_tag a:hover { border-color: #eb0a1e; background: #eb0a1e; color: #fff; }
    .contact-main { max-width: 866px; }
    .contact-hp-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
    .contact-lead { margin-bottom: 0; }
    .contact-lead p { color: #212121; line-height: 1.6; }
    .contact-lead p:last-child { margin-bottom: 0; }
    .contact-lead-note { color: #212121; font-size: 16px; }
    .contact-form-panel { padding-top: 28px; border-top: 1px solid #212121; }
    .contact-form-row { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 30px; }
    .contact-form-row + .contact-form-row { margin-top: 28px; }
    .contact-form-label { margin: 0; font-weight: bold; line-height: 1.6; }
    .contact-required { display: inline-grid; place-items: center; min-width: 38px; height: 20px; margin-left: 10px; padding: 0 7px; background: #eb0a1e; color: #fff; font-size: 11px; line-height: 1; font-weight: bold; vertical-align: 2px; }
    .contact-optional { display: inline-grid; place-items: center; min-width: 38px; height: 20px; margin-left: 10px; padding: 0 7px; border: 1px solid #bdbdbd; color: #616161; font-size: 11px; line-height: 1; font-weight: bold; vertical-align: 2px; }
    .contact-control,
    .contact-select,
    .contact-textarea { width: 100%; border: 1px solid #b8b8b8; border-radius: 0; background: #fff; color: #212121; font: inherit; }
    .contact-control,
    .contact-select { min-height: 48px; padding: 10px 12px; }
    .contact-textarea { min-height: 180px; padding: 12px; resize: vertical; }
    .contact-help { margin: 8px 0 0; color: #616161; font-size: 13px; line-height: 1.6; }
    .contact-privacy-box { margin-top: 48px; padding: 28px 30px; background: #f7f7f7; }
    .contact-privacy-box h2.title { margin-bottom: 14px; font-size: 18px; }
    .contact-privacy-box p { margin: 0; color: #424242; font-size: 14px; line-height: 1.8; }
    .contact-privacy-box a { color: #034f6d; font-weight: bold; text-decoration: underline; text-underline-offset: 3px; }
    .contact-consent { display: flex; align-items: center; gap: 10px; margin-top: 22px; font-weight: bold; }
    .contact-consent input { width: 18px; height: 18px; margin: 0; }
    .contact-actions { display: flex; justify-content: flex-end; margin-top: 34px; }
    .contact-submit { min-width: 180px; min-height: 48px; border: 0; background: #212121; color: #fff; font: inherit; font-weight: bold; cursor: pointer; transition: background .2s; }
    .contact-submit:hover { background: #eb0a1e; }
    .contact-result-main .article_tag { margin-top: 28px; }
    #footer { position: relative; background: #424242; }
    #footer .footer_row { width: 100%; }
    #footer .footer_row.footer_row_top { background: #424242; }
    #footer .footer_row.footer_row_bottom { background: #212121; }
    #footer .footer_row_inner { max-width: 1366px; margin: 0 auto; padding: 26px 80px; }
    #footer .footer_row_inner.footer_row_inner_loose { padding-top: 50px; padding-bottom: 50px; }
    #footer .footer_nav_grid { display: grid; grid-template-columns: 1fr 1fr 1.18fr; column-gap: 0; }
    #footer .footer_nav_grid_item { position: relative; width: auto; min-width: 0; }
    #footer .footer_nav_grid_item:not(:first-child) { margin-left: 38px; padding-left: 38px; }
    #footer .footer_nav_grid_item + .footer_nav_grid_item::before { content: ""; position: absolute; top: 0; left: 0; width: 1px; height: 100%; background-color: #fff; }
    #footer .footer_nav_grid_item:nth-child(2) { transform: translateX(-40px); }
    #footer .footer_nav_grid_item:nth-child(2)::before { left: -15px; }
    #footer .footer_nav_grid_item:nth-child(3)::before { left: -15px; }
    #footer .footer_section_title { display: flex; align-items: center; min-height: 47px; margin: 0 0 19px; color: #fff; font-size: 15px; font-weight: 800; line-height: 1; letter-spacing: .08em; text-transform: uppercase; }
    #footer .footer_company_logo { display: block; width: 150px; height: auto; margin: 0 0 18px; object-fit: contain; }
    #footer .footer_link_list { margin: 0; padding: 0; list-style: none; }
    #footer .footer_link_list_item { line-height: 24px; }
    #footer .footer_link_list_item:not(:first-child) { margin-top: 8px; }
    #footer .footer_link, #footer .footer_link:link, #footer .footer_link:visited { color: #fff; text-decoration: none; font-weight: bold; font-size: 15px; line-height: 24px; transition: color .3s; }
    #footer .footer_link[href]:hover { color: #eb0a1e; }
    #footer .tech-logo-panel { display: grid; grid-template-columns: repeat(5, 46px); grid-template-rows: 46px 63px; gap: 8px; align-items: stretch; justify-content: start; max-width: 262px; margin-left: 0; }
    #footer .tech-logo-card { display: grid; place-items: center; padding: 5px; border: 1px solid rgba(255,255,255,.16); background: transparent; box-shadow: none; }
    #footer .tech-logo-card img { display: block; width: auto; max-width: 36px; max-height: 36px; object-fit: contain; }
    #footer .tech-logo-card.logo-react { grid-column: 1; }
    #footer .tech-logo-card.logo-angular { grid-column: 2; }
    #footer .tech-logo-card.logo-vue { grid-column: 3; }
    #footer .tech-logo-card.logo-dotnet { grid-column: 4; }
    #footer .tech-logo-card.logo-node { grid-column: 5; }
    #footer .tech-logo-card.logo-dotnet img { max-width: 40px; max-height: 22px; }
    #footer .tech-logo-card.logo-node img { max-width: 36px; max-height: 36px; }
    #footer .ai-agent-banner { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; min-height: 0; border: 0; background: transparent; box-shadow: none; overflow: hidden; }
    #footer .ai-agent-banner img { display: block; width: auto; height: 63px; max-width: 100%; object-fit: contain; }
    #footer .footer_legal_list { display: flex; flex-direction: row-reverse; flex-wrap: wrap; align-items: center; justify-content: flex-end; margin: -16px 0 0 -16px; padding: 0; list-style: none; }
    #footer .footer_legal_item { margin-top: 16px; margin-left: 16px; }
    #footer .footer_legal_item_copyright { margin-right: auto; }
    #footer .footer_copyright { margin: 0; color: #fff; font-size: 12px; }
    #footer .footer_legal_link_list { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; font-size: 12px; }
    #footer .footer_legal_link_list_item:not(:first-child) { margin-left: 8px; padding-left: 8px; border-left: 1px solid #fff; }
    #footer .footer_legal_link, #footer .footer_legal_link:link, #footer .footer_legal_link:visited { display: inline-block; color: #fff; text-decoration: none; font-size: 12px; transition: color .3s; }
    @media screen and (max-width: 959px), print {
      .picks_area .picks_title { font-size: 22px; }
    }
    @media screen and (max-width: 797px) {
      .picks_area .picks_title { font-size: 20px; }
    }
    @media screen and (max-width: 959px) {
      #header { min-width: 0; --header-height: 66px; }
      #header #header_inner { display: flex; align-items: center; justify-content: center; padding: 0 22px; height: 66px; }
      #header #main_logo { position: absolute; top: 50%; left: 50%; margin-top: 0; transform: translate(-50%, -50%); }
      #header .menu_toggle { display: flex; position: absolute; top: 0; left: 22px; z-index: 2; width: 44px; height: 66px; padding: 0; border: 0; background: transparent; cursor: pointer; align-items: center; justify-content: center; flex-direction: column; gap: 6px; }
      #header .menu_toggle span { display: block; width: 22px; height: 2px; background: #212121; transition: transform .3s ease, opacity .3s ease; }
      body.menu-open #header .menu_toggle span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
      body.menu-open #header .menu_toggle span:nth-child(2) { opacity: 0; }
      body.menu-open #header .menu_toggle span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
      #header .header_nav { display: block; position: fixed; top: 66px; right: 0; left: 0; border-top: 1px solid #e8e8e8; border-bottom: 1px solid #e8e8e8; background: #fff; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-10px); transition: opacity .3s ease, transform .3s ease, visibility .3s ease; }
      body.menu-open #header .header_nav { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
      #header .header_nav .nav_list_area { padding: 10px 22px 14px; }
      #header .header_nav ul.nav_list { font-size: 14px; line-height: 1.4; }
      #header .header_nav ul.nav_list > li { float: none; padding: 0; border-bottom: 1px solid #f0f0f0; }
      #header .header_nav ul.nav_list > li:last-child { border-bottom: 0; }
      #header .header_nav ul.nav_list > li.nav_text > a { display: block; padding: 14px 0; }
      #header .header_nav ul.nav_list > li.nav_text > a > span { line-height: 1.4; }
      #header .header_nav ul.nav_list > li.nav_business > a > span { font-size: 14px; }
      body #main { padding-top: 66px; }
      #contents .contents_body { padding: 0 32px; letter-spacing: normal; }
      #contents .contents_body .section.full { margin-right: -32px; margin-left: -32px; }
      #contents .contents_body .section.picks_column > div { display: block; }
      .top-picks-main .picks_area, .picks_column .picks_area { width: 100%; height: 360px; }
      .top-picks-main .picks_image_merch_home { object-position: center top; }
      .section-head { grid-template-columns: 1fr; }
      .split-box { grid-template-columns: 1fr; }
      .overview-grid { gap: 28px; }
      .home-contact-section { scroll-margin-top: 66px; }
      .home-contact-grid { grid-template-columns: 1fr; }
      #footer .footer_row_inner { padding: 32px; }
      #footer .footer_nav_grid { display: block; }
      #footer .footer_nav_grid_item:not(:first-child) { margin-top: 16px; margin-left: 0; padding-top: 16px; padding-left: 0; }
      #footer .footer_nav_grid_item + .footer_nav_grid_item::before { width: 100%; height: 1px; }
      #footer .footer_nav_grid_item:nth-child(2) { transform: none; }
      #footer .footer_nav_grid_item:nth-child(2)::before,
      #footer .footer_nav_grid_item:nth-child(3)::before { left: 0; }
      #footer .tech-logo-panel { justify-content: start; margin-left: 0; }
    }
    @media (max-width: 560px) {
      #header #main_logo img { width: 142px; height: auto; }
      #contents .contents_body { padding: 0 16px; }
      #contents .contents_body .section.full { margin-right: -16px; margin-left: -16px; }
      .picks_column .picks_image_system_home { object-position: 74% center; }
      .picks_area .picks_title_wrapper { padding: 12px 16px 28px; }
      .pdgb1_sp,
      #contents .contents_body .section.html .pdgb1_sp,
      #contents .contents_body .section.column .pdgb1_sp { padding-bottom: 1em; }
      .picks_area .picks_title { font-size: 20px; }
      section { padding: 62px 18px; }
      .overview-visual { min-height: 0; padding: 12px; }
      #footer .footer_row_inner { padding: 16px; }
      #footer .tech-logo-panel { grid-template-columns: repeat(5, 46px); width: 100%; max-width: 262px; }
      .home-contact-copy,
      .home-contact-action { min-height: 0; padding: 30px 18px; }
      .home-contact-copy h2.title { font-size: 24px; }
      .home-contact-mail { font-size: 20px; }
      .contact-lead { margin-bottom: 0; }
      .contact-form-panel { padding-top: 24px; }
      .contact-form-row { grid-template-columns: 1fr; gap: 8px; }
      .contact-form-row + .contact-form-row { margin-top: 24px; }
      .contact-privacy-box { margin-top: 36px; padding: 24px 18px; }
      .contact-actions { justify-content: stretch; }
      .contact-submit { width: 100%; }
    }
  
    #topgrid { width: 100%; max-width: 1920px; margin: 0 auto; padding-top: 80px; }
    #topgrid img { width: 100%; height: auto; vertical-align: top; }
    body #topgrid + #main { padding-top: 0; }
    body.home-page #contents { margin-top: 0; }
    #contents { margin-top: -14px; }
    .sane-single-column { float: none; width: 100%; max-width: 1206px; margin: 0 auto; padding-top: 40px; }
    .article_info .date { margin-bottom: 16px; color: #212121; font-size: 14px; font-weight: bold; }
    .article_info h1.title { margin-bottom: 8px; }
    .article_tag { margin-top: 16px; }
    .article_tag a { display: inline-block; margin: 0 8px 8px 0; padding: 3px 10px; border: 1px solid var(--line); color: #212121; font-size: 12px; font-weight: bold; text-decoration: none; }
    .article-rule { margin-top: 32px; border-top: 1px solid #212121; }
    .contents_main .section.html:not(.article_info) p:first-child { margin-top: 0; }
    .merch-feature { max-width: 860px; }
    .merch-feature-box { width: 100%; max-width: none; }
    .business-section-line { padding-top: 40px; border-top: 1px solid #212121; }
    .merch-feature-statement { margin: 0 0 28px; font-size: 22px; line-height: 1.7; font-weight: bold; }
    .merch-feature-statement.center { text-align: center; }
    .merch-intro-rule { max-width: 720px; margin: 26px auto 30px; border-top: 1px solid var(--line); }
    .merch-intro-body { max-width: 1120px; margin: 0 auto; color: #212121; font-size: 16px; line-height: 1.9; text-align: center; }
    .system-intro-body { max-width: 1040px; line-height: 1.82; }
    .system-intro-body p { margin: 0; }
    .system-intro-body p + p { margin-top: 16px; }
    .system-visual-wide { aspect-ratio: 3 / 1; margin: 42px 0 0; overflow: hidden; background: #fff; }
    .system-visual-wide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
    .system-visual-contain { aspect-ratio: 1612 / 976; }
    .system-visual-contain img { object-fit: contain; }
    .merch-category-section { margin-top: 56px; }
    .merch-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
    .merch-category-image { aspect-ratio: 1096 / 664; min-height: 0; overflow: hidden; background: #f5f5f5; }
    .merch-category-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
    .merch-category-title { margin: 18px 0 8px; color: #212121; font-size: 22px; line-height: 1.4; font-weight: bold; }
    .merch-category-text { margin: 0; color: #616161; font-size: 14px; line-height: 1.7; }
    .merch-category-etc { margin: 24px 0 0; padding-top: 18px; border-top: 1px solid var(--line); color: #616161; font-size: 14px; line-height: 1.7; text-align: right; }
    .merch-feature-note { max-width: 760px; margin-bottom: 34px; }
    .merch-feature-points { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 34px; border-top: 1px solid #212121; border-bottom: 1px solid #e0e0e0; }
    .merch-feature-points-4 { grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); border-top: 0; border-bottom: 0; gap: 28px; }
    .merch-feature-point { padding: 20px 22px 22px 0; border-right: 1px solid #e0e0e0; }
    .merch-feature-points-4 .merch-feature-point,
    .merch-feature-points-4 .merch-feature-point + .merch-feature-point { padding: 0; border-right: 0; }
    .merch-feature-points-4 .merch-feature-point-lead { padding-right: 28px; border-right: 1px solid #b8b8b8; }
    .merch-feature-points-4 .merch-feature-point:not(.merch-feature-point-lead) dt { display: block; width: 100%; margin: 0 0 12px; padding: 8px 10px; box-sizing: border-box; background: #f2f2f2; }
    .merch-feature-point + .merch-feature-point { padding-left: 22px; }
    .merch-feature-point:last-child { border-right: 0; }
    .merch-feature-point dt { margin-bottom: 8px; font-size: 13px; font-weight: bold; }
    .merch-feature-point dd { margin: 0; color: #616161; font-size: 14px; line-height: 1.7; }
    .merch-feature-points-4 .merch-feature-point dd { color: #212121; font-size: 16px; line-height: 1.8; }
    .business-2col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; align-items: start; }
    .business-2col-item + .business-2col-item { padding-left: 40px; border-left: 1px solid #b8b8b8; }
    .business-2col h2.title { margin-bottom: 24px; }
    .business-story-visual { margin: 36px 0 0; overflow: hidden; background: #0f1720; }
    .business-story-visual img { display: block; width: 100%; height: auto; }
    .support-reasons-visual { aspect-ratio: 2 / 1; margin: 0; overflow: hidden; border: 0; background: #fff; }
    .support-reasons-visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
    .support-feature-block { max-width: none; margin-top: 40px; }
    .support-feature-block .picks_category { margin: 0 0 18px; }
    .merch-feature-points-4.support-proof-points .support-proof-point dt { display: flex; align-items: center; gap: 10px; min-height: 40px; margin-bottom: 12px; padding: 10px 12px; background: #212121; color: #fff; font-size: 15px; line-height: 1.35; }
    .merch-feature-points-4.support-proof-points .support-proof-point dt span { flex: 0 0 auto; padding-right: 10px; border-right: 1px solid rgba(255,255,255,.38); font-size: 12px; line-height: 1; }
    .support-sample-sections { margin-top: 0; }
    .support-sample-section { margin-top: 40px; padding: 0; }
    .support-sample-section + .support-sample-section { margin-top: 40px; padding-top: 0; border-top: 0; }
    .support-sample-heading { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; padding: 12px 16px; background: #212121; color: #fff; font-size: 18px; line-height: 1.35; font-weight: bold; }
    .support-sample-heading span { flex: 0 0 auto; padding-right: 12px; border-right: 1px solid rgba(255,255,255,.38); font-size: 13px; line-height: 1; }
    .support-sample-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 34px; }
    .support-sample-section .support-sample-gallery { margin-top: 0; }
    .support-sample-card { margin: 0; border: 0; background: #fff; }
    .support-sample-card img { display: block; width: 100%; height: auto; }
    .support-sample-card figcaption { min-height: 0; padding: 10px 0 0; border-top: 0; color: #212121; font-size: 16px; line-height: 1.8; }
    .support-sample-card figcaption span { display: block; margin-bottom: 6px; color: #212121; font-weight: bold; }
    .support-sample-card-wide { grid-column: 1 / -1; }
    .support-sample-note { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--line); color: #616161; font-size: 14px; line-height: 1.7; text-align: left; }
    .support-check-title { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
    .support-check-badge { display: inline-grid; place-items: center; min-width: 42px; height: 22px; padding: 0 8px; box-sizing: border-box; background: #eb0a1e; color: #fff; font-size: 12px; line-height: 1; font-weight: bold; }
    .support-final-cta-action { display: flex; min-height: 132px; flex-direction: column; justify-content: center; }
    .support-final-cta-label { margin: 0 0 12px; color: #616161; font-size: 14px; line-height: 1.6; font-weight: bold; }
    .support-final-cta-action .article_tag { margin-top: 0; }
    .support-final-cta-action .article_tag a { padding: 6px 14px; font-size: 13px; }
    .sane-single-column.privacy-main,
    .sane-single-column.contact-main { max-width: 866px; }
    #contents .contents_body .section.privacy-policy h2.title { margin-bottom: 32px; font-size: 22px; line-height: 1.5; }
    #contents .contents_body .section.privacy-policy h3.title { margin-bottom: 16px; font-size: 18px; line-height: 1.5; }
    #contents .contents_body .section.privacy-policy h4.title { margin: 0 0 16px; font-weight: bold; font-size: 16px; line-height: 1.6; }
    #contents .contents_body .section.privacy-policy ol,
    #contents .contents_body .section.privacy-policy ul { margin-top: 0; margin-bottom: 1em; padding-left: 2em; }
    #contents .contents_body .section.privacy-policy a:link { color: #034f6d; }
    #contents .contents_body .section.privacy-policy a:visited { color: #f1777c; }
    #contents .contents_body .section.privacy-policy a:hover { color: #eb0a1e; text-decoration: underline; }
    .privacy-updated { margin-top: 40px; }
    body.sitemap-page { min-height: 100vh; display: flex; flex-direction: column; }
    body.sitemap-page #main { flex: 1; }
    #contents .contents_body .section.company-profile + .section.company-profile { margin-top: 72px; }
    .company-profile p { margin-top: 0; margin-bottom: 1em; }
    #contents .contents_body .section.company-profile a:visited { color: #034f6d; }
    .company-section-rule { margin: -12px 0 28px; border-top: 1px solid #212121; }
    .company-image-placeholder { width: 100%; margin-top: 32px; border: 0; background: transparent; }
    .company-image-placeholder img { width: 100%; height: auto; object-fit: contain; }
    .company-value-list { margin-top: 34px; border-top: 0; }
    .company-value-item { display: grid; grid-template-columns: 260px minmax(0, 1fr); column-gap: 46px; align-items: start; padding: 28px 0 30px; border-bottom: 1px solid #e0e0e0; }
    .company-value-item:last-child { border-bottom: 0; }
    .company-value-item dt { margin: 0; font-size: 18px; line-height: 1.5; font-weight: bold; }
    .company-value-item dt span { display: grid; place-items: center; width: 42px; height: 22px; margin: 0 0 14px; background: #212121; color: #fff; font-size: 12px; line-height: 1; font-weight: bold; }
    .company-value-item dd { margin: 38px 0 0; color: #616161; font-size: 15px; line-height: 1.8; }
    .company-data-list { margin: 0; border-top: 0; }
    .company-data-list > div { display: grid; grid-template-columns: 220px minmax(0, 1fr); border-bottom: 1px solid #e0e0e0; }
    .company-data-list > div:last-child { border-bottom: 0; }
    .company-data-list dt { padding: 18px 22px 18px 0; font-weight: bold; }
    .company-data-list dd { padding: 18px 0; color: #212121; line-height: 1.7; }
    @media screen and (max-width: 767px) {
      .merch-feature-statement { font-size: 19px; }
      .merch-category-grid { grid-template-columns: 1fr; gap: 16px; }
      .merch-category-image { min-height: 0; }
      .merch-category-title { font-size: 19px; }
      .merch-feature-points { grid-template-columns: 1fr; }
      .merch-feature-point,
      .merch-feature-point + .merch-feature-point { padding: 18px 0; border-right: 0; border-bottom: 1px solid #e0e0e0; }
      .merch-feature-points-4 .merch-feature-point,
      .merch-feature-points-4 .merch-feature-point + .merch-feature-point { padding: 0; border-bottom: 0; }
      .merch-feature-points-4 .merch-feature-point-lead { padding-right: 0; border-right: 0; }
      .merch-feature-point:last-child { border-bottom: 0; }
      .flow-item .figure_description { padding-right: 8px; padding-left: 8px; }
      .business-2col { grid-template-columns: 1fr; gap: 28px; }
      .business-2col-item + .business-2col-item { padding-top: 28px; padding-left: 0; border-top: 1px solid #b8b8b8; border-left: 0; }
      .business-2col h2.title { margin-bottom: 20px; }
      .business-story-visual { margin-top: 32px; }
      .support-sample-gallery { grid-template-columns: 1fr; }
      .support-sample-card-wide { grid-column: auto; }
      .support-sample-note { text-align: left; }
      .company-value-item { display: block; padding: 22px 0 24px; }
      .company-value-item dt span { margin-bottom: 12px; }
      .company-value-item dd { margin-top: 12px; }
      .company-data-list > div { grid-template-columns: 1fr; }
      .company-data-list dt { padding: 16px 0 4px; }
      .company-data-list dd { padding: 0 0 16px; }
      #contents .contents_body .section.company-profile + .section.company-profile { margin-top: 54px; }
    }
    @media screen and (max-width: 959px), print {
      #contents .contents_body .section.privacy-policy h2.title { font-size: 20px; }
    }
