@charset "utf-8";

/* MY-240: 公式サイトの文章・写真・構成を保ったまま、視覚だけを整える。 */
:root {
  --blue: #0068a9;
  --deep: #062f4a;
  --pale: #e9f3f8;
  --ink: #18242d;
  --muted: #647680;
  --line: #d7e2e8;
  --paper: #f7f8f6;
  --white: #fff;
  --serif: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  --sans: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}

html { scroll-behavior: smooth; }
body, body * { font-family: var(--sans); }
body {
  background: var(--paper);
  color: var(--ink);
  font-feature-settings: "palt";
  line-height: 1.8;
}
a { transition: color .18s ease, background-color .18s ease, opacity .18s ease, transform .18s ease; }

header {
  margin: 0;
  background: rgba(255,255,255,.97);
  border-top: 4px solid var(--blue);
}
#headerContener {
  min-height: 92px;
  max-width: 1180px;
  justify-content: space-between;
  padding: 14px 28px;
}
#headerContener .logoArea { margin: 0; }
#headerContener .logo a { width: 94px; }
#headerContener .logo img { width: 100%; object-fit: contain; }
#headerContener .company { padding: 7px 0 0 20px; }
#headerContener .companyName {
  margin-bottom: 2px;
  color: var(--ink);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .05em;
}
#headerContener .logo_add { color: var(--muted); font-size: 11px; }
.conversion { width: auto; }
.conversion_nav { display: flex; gap: 2px; }
.conversion_nav li { margin: 0; }
.conversion_nav li a {
  display: block;
  padding: 8px 12px;
  color: var(--deep);
  font-size: 11px;
  letter-spacing: .08em;
}
.conversion_nav li + li a { border-left: 1px solid var(--line); }

.mainImg { height: clamp(430px,32vw,575px); background: var(--deep); }
.mainImg .fade,
.mainImg .slick-list,
.mainImg .slick-track,
.mainImg .slick-slide { height: 100%; }
.mainImg .slick-slide img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}
.mainImg .fade > li:not(:first-child) { display: none !important; }
.mainImg .slick-arrow { display: none !important; }
.mainImg::after {
  position: absolute;
  inset: 0;
  z-index: 10;
  background: linear-gradient(90deg, transparent 24%, rgba(1,29,48,.08) 54%, rgba(1,29,48,.18));
  content: "";
  pointer-events: none;
}
.mainCatch {
  top: 40%;
  right: auto;
  left: 41.5%;
  z-index: 20;
  width: 56%;
  color: var(--white);
  font-family: var(--serif);
  font-size: clamp(30px,3.7vw,60px);
  font-weight: 600;
  line-height: 1.38;
  letter-spacing: .08em;
  text-align: left;
  text-shadow: 0 2px 24px rgba(0,22,37,.42);
  white-space: nowrap;
}
.bigText { font-family: inherit; font-size: 1.2em; font-weight: inherit; }

.mainnav, .page_mainnav {
  z-index: 30;
  height: 88px;
  background: linear-gradient(90deg,#235daa,#1e54a0);
  backdrop-filter: blur(8px);
}
.page_mainnav { top: auto; bottom: 0; }
.side { max-width: 1280px; height: 88px; }
.side li { height: 100%; }
.side a {
  display: grid;
  place-items: center;
  color: var(--white);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .12em;
}
.side a:hover { background: rgba(255,255,255,.13); color: var(--white); }
.borderOn { border-right: 0; }
.side li + li { position: relative; }
.side li + li::before {
  position: absolute;
  top: 23px;
  left: 0;
  width: 1px;
  height: 42px;
  background: rgba(255,255,255,.76);
  content: "";
}
.mainImg .mainnav .side li:first-child { display: none; }
.mainImg .mainnav .side li:nth-child(2)::before { display: none; }

.bace_content { background: var(--paper); }
.titleEng, .titleEngBlue {
  margin: 0 0 10px;
  color: var(--blue);
  font-family: var(--sans);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.title, .title_nonborder, .title2Line, .title_recruit {
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(30px,4vw,52px);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: .05em;
}
.title { width: min(860px,88%); padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.title_nonborder { margin-top: 0; }
.title2Line { width: min(1000px,92%); }
.top_strength .title2Line { font-size: clamp(28px,3.4vw,46px); }
.title2Line span { color: var(--muted); font-family: var(--sans); font-size: .46em; font-weight: 500; }

.top_sgk {
  max-width: 1260px;
  margin-bottom: 0;
  padding: 64px 36px 120px;
  text-align: left;
}
.top_sgk::before {
  display: block;
  width: 46%;
  height: 3px;
  margin-bottom: 30px;
  background: linear-gradient(90deg,var(--blue) 0 64px,#8ba6b5 64px 100%);
  content: "";
}
.top_sgk .titleEng { display: none; }
.top_sgk .title {
  display: flex;
  align-items: center;
  gap: 28px;
  width: 100%;
  padding: 0;
  border: 0;
  font-size: clamp(38px,4vw,64px);
  text-align: left;
  white-space: nowrap;
}
.top_sgk .title::after {
  flex: 1;
  height: 1px;
  background: #9cabb3;
  content: "";
}
.top_sgk_comment {
  width: min(820px,78%);
  margin: 34px 0 38px;
  padding: 0;
  color: #465660;
  font-size: 15px;
  line-height: 2.1;
  text-align: left;
}
.top_sgk_catch { margin: 34px 0 24px; text-align: center; }
.top_sgk_catch img { width: 240px; object-fit: contain; }
.top_sgk_4Sgk_eachSgk { max-width: 1060px; gap: 14px; }
.top_sgk_4Sgk_eachSgk_list {
  width: 25%;
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: 0 8px 30px rgba(9,44,65,.05);
}
.top_sgk_4Sgk_eachSgk_list a { display: block; height: 100%; }
.top_sgk_4Sgk_eachSgk_list a:hover { transform: translateY(-3px); }
.top_sgk_4Sgk_eachSgk_list h2 {
  padding: 19px 0 0 20px;
  font-family: var(--serif);
  font-size: 48px;
  font-weight: 500;
}
.top_sgk_4Sgk_eachSgk_list h3,
.top_sgk_4Sgk_eachSgk_list_list02 h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none;
}
.top_sgk_4Sgk_eachSgk_list_icon img { width: 74px; margin-top: 22px; }
.top_sgk_4Sgk_eachSgk_list_icon p,
.top_sgk_4Sgk_eachSgk_list p {
  min-height: 142px;
  padding: 18px 18px 24px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.85;
  text-align: left;
}

.top_strength {
  padding: 100px 0 110px;
  background-color: var(--pale);
  background-blend-mode: multiply;
}
.top_news { max-width: 1120px; padding: 100px 48px 120px; }
.top_news_title {
  margin-bottom: 30px;
  padding-bottom: 18px;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  font-family: var(--serif);
  font-size: 36px;
  font-weight: 600;
  letter-spacing: .08em;
  text-align: left;
}
.top_news_button { top: 104px; right: 48px; width: auto; background: transparent; }
.top_news_button a {
  height: auto;
  padding: 8px 18px;
  color: var(--blue);
  border: 1px solid var(--blue);
  font-size: 12px;
  line-height: 1.5;
}
.top_news_articleContent a { gap: 20px; padding: 20px 8px; border-bottom: 1px solid var(--line); }
.top_news_articleContent_date { width: 110px; color: var(--muted); font-size: 13px; }
.top_news_articleContent_category {
  width: 112px;
  height: auto;
  margin: 0;
  padding: 4px 12px;
  font-size: 11px;
  line-height: 1.6;
}
.top_news_articleContent_sentence { color: var(--ink); font-size: 14px; }

.page_mainImg { height: 330px; background-position: center 42%; }
.page_mainImg::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(2,42,69,.82),rgba(2,42,69,.12) 68%);
  content: "";
}
.page_mainImg_catch { z-index: 2; width: min(1180px,100%); height: 100%; margin: 0 auto; }
.page_mainImg_catch_mainCatch {
  top: 84px;
  left: 0;
  z-index: 2;
  max-width: none;
  padding: 0 38px;
  color: var(--white);
  font-family: var(--serif);
  font-size: clamp(34px,5vw,58px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .14em;
  text-align: left;
  text-shadow: 0 2px 20px rgba(0,24,40,.5);
}
.breadcrumbs {
  max-width: 1120px;
  padding: 18px 28px 0;
}
.breadcrumbs ul { align-items: center; }
.breadcrumbs ul li { margin-right: 10px; color: var(--blue); font-size: 12px; }
.breadcrumbs .here { color: var(--muted); }
.bace_titlearea { padding-top: 74px; }
.page_agency { background-position: center; }
.page_agency_agencyData {
  max-width: 1040px;
  margin: 70px auto;
  padding: 28px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(255,255,255,.8);
  box-shadow: 0 18px 50px rgba(1,36,58,.15);
}
.page_agency_agencyData_btn a { color: var(--deep); }
table { border-color: var(--line); }
th { background: var(--pale); color: var(--deep); }
input, textarea, select {
  border: 1px solid #bccbd4;
  border-radius: 2px;
  background: var(--white);
  font-family: var(--sans);
}

footer { background: var(--deep); }
#footerContener { max-width: 1120px; margin-top: 0; padding: 34px 26px; background: var(--white); }
.footerNav ul { max-width: 1040px; padding: 38px 0 22px; }
.navList li a { color: #dceaf2; font-size: 12px; }
.copy { padding: 12px 0 28px; color: #9bb3c1; font-size: 10px; letter-spacing: .04em; }
#page-top a { width: 54px; padding: 10px 0; background: rgba(0,104,169,.9); border: 0; font-size: 12px; }
#page-top a span { display: none; }

/* ---------------------------------------------------------------
   下層ページ共通(会社情報・製品・強み・採用・問い合わせ・ニュース)
   旧CSSの中央揃え+丸ボタン+水色帯を、左揃え+罫線+角無しに置き換える。
   --------------------------------------------------------------- */
:root { --wrap: 1120px; --gutter: 36px; }
section, article, nav, main, figure, aside, header, footer, label, input, textarea, select { box-sizing: border-box; }
body { font-size: 15px; }

.bace_content, .bace_wrap, .strengthcontent, .recruit, .products_content { background: var(--paper); background-image: none; }

/* 見出しブロック(英語ラベル+見出し) */
.titleEng, .titleEngBlue { margin: 0 0 12px; text-align: left; }
.top_strength .titleEng, .recruit_voiceArea .titleEng { margin: 0 0 12px; text-align: center; }
.title, .title_nonborder { width: 100%; margin: 0; padding-bottom: 20px; border-bottom: 1px solid var(--line); text-align: left; letter-spacing: .05em; }
.title_nonborder { letter-spacing: .05em; }
.bace_titlearea {
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 64px var(--gutter) 0;
  overflow: visible;
  background: transparent;
  text-align: left;
}

/* 伯東バナー */
.page_agency { background-attachment: scroll; }
.page_agency_agencyData {
  margin: 72px auto;
  padding: 30px var(--gutter);
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: none;
}
.page_agency_agencyData_btn { padding: 0; font-size: 15px; letter-spacing: .04em; text-align: left; }
.page_agency_agencyData_btn a:hover { color: var(--blue); }

/* ---- 会社情報 ---- */
.company_greeting { max-width: var(--wrap); padding: 72px var(--gutter) 24px; overflow: visible; text-align: left; }
.company_greeting_catch {
  width: 100%;
  margin: 36px 0 20px;
  overflow: visible;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(20px,2.2vw,26px);
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .04em;
}
.company_greeting_contents { display: block; }
.company_greeting_contents_commentarea { padding: 0; }
.company_greeting_contents_commentarea_comment {
  max-width: 820px;
  margin: 0;
  color: #3a4a55;
  font-size: 15px;
  line-height: 2.1;
}
.company_profile { margin: 0; }
.company_profilearea { max-width: var(--wrap); padding: 30px var(--gutter) 90px; overflow: visible; text-align: left; }
.company_profile_navarea_nav { justify-content: flex-start; gap: 12px; width: 100%; margin: 0; }
.company_profile_navarea_nav_btn { margin: 0; background: transparent; border: 1px solid var(--blue); border-radius: 0; }
.company_profile_navarea_nav_btn a {
  width: auto;
  height: auto;
  padding: 12px 34px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .22em;
}
.company_profile_navarea_nav_btn a:hover { background: var(--blue); color: var(--white); }
.company_profile_list { align-items: flex-start; gap: 56px; margin: 52px 0 0; }
.company_profile_list_contents { width: 60%; border-top: 1px solid var(--line); }
.company_profile_list_contents_box { border-bottom: 1px solid var(--line); font-size: 15px; align-items: stretch; }
.company_profile_list_contents_box_title {
  width: 26%;
  padding: 15px 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: .12em;
  text-align: left;
  white-space: normal;
}
.company_profile_list_contents_box_office { width: 74%; padding: 15px 0 15px 8px; border-left: 0; font-size: 15px; line-height: 1.8; }
.company_profile_list_contents_img { position: static; width: 40%; max-width: 400px; padding: 0; }
.company_profile_list_contents_img img { zoom: 1; width: 100%; height: auto; }

/* ---- 製品情報(一覧) ---- */
.products_content_sgk { max-width: var(--wrap); padding: 72px var(--gutter) 64px; overflow: visible; background-image: none; text-align: left; }
.products_content_sgk_comment { width: min(820px,100%); margin: 30px 0 34px; padding: 0; color: #3a4a55; font-size: 15px; line-height: 2.1; }
.products_content_sgk_link { display: inline-block; width: auto; height: auto; margin: 0; background: transparent; border: 1px solid var(--blue); border-radius: 0; }
.products_content_sgk_link a { height: auto; padding: 12px 34px; color: var(--blue); font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: .12em; }
.products_content_sgk_link a:hover { background: var(--blue); color: var(--white); }
.products_content_list { background: var(--white); }
.products_content_list_title { padding: 20px var(--gutter); background: var(--deep); font-size: 14px; font-weight: 600; letter-spacing: .2em; }
.tab_wrap { max-width: var(--wrap); padding: 0 var(--gutter); }
.tab_area { width: 100%; margin: 0; padding: 40px 0 0; border-bottom: 1px solid var(--line); }
.tab_area label {
  margin-bottom: -1px;
  padding: 16px 8px;
  background: transparent;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--muted);
  font-size: 14px;
  letter-spacing: .06em;
}
.tab_area label:hover { opacity: 1; color: var(--blue); }
#tab1:checked ~ .tab_area .tab1_label,
#tab2:checked ~ .tab_area .tab2_label,
#tab3:checked ~ .tab_area .tab3_label,
#tab4:checked ~ .tab_area .tab4_label,
#tab5:checked ~ .tab_area .tab5_label,
#tab6:checked ~ .tab_area .tab6_label { background: transparent; border-bottom-color: var(--blue); color: var(--blue); font-weight: 600; }
.panel_area { background: transparent; }
.tab_panel { padding: 40px 0 24px; }
.tab_panel p { font-size: inherit; letter-spacing: 0; }
.products_content_listPage { gap: 24px; margin: 0 auto; }
.products_content_listPage_info {
  width: calc(25% - 18px);
  margin: 0 0 24px;
  padding: 0;
  background: var(--white);
  border: 1px solid var(--line);
  text-align: left;
}
.products_content_listPage_info_name { display: flex; flex-direction: column; height: 100%; }
.products_content_listPage_info_name > dd { order: 1; }
.products_content_listPage_info_name > dt { order: 2; }
.products_content_listPage_info_name > .products_content_listPage_info_name_detail { order: 3; margin-top: auto; }
.products_content_listPage_info_name_caption {
  display: block;
  width: auto;
  height: auto;
  padding: 12px 18px 0;
  border: 0;
  border-radius: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
  text-align: left;
}
.products_content_listPage_info_name_img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  margin: 0;
  padding: 14px;
  background: var(--white);
  border-bottom: 1px solid var(--line);
}
.products_content_listPage_info_name_img img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.products_content_listPage_info_name_rogo {
  padding: 18px 18px 0;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: .02em;
  text-align: left;
}
.products_content_listPage_info_name_detail { margin: 16px 18px 18px; padding: 12px 0 0; background: transparent; border-top: 1px solid var(--line); text-align: left; }
.products_content_listPage_info_name_detail a { color: var(--blue); font-size: 12px; font-weight: 600; letter-spacing: .08em; }

/* ---- 製品詳細 ---- */
.products_productsDeta_content { margin: 40px auto 80px; text-align: left; }
.products_productsDeta_content_titlearea { height: auto; background: var(--deep); }
.products_productsDeta_content_titlearea_title {
  max-width: var(--wrap);
  padding: 22px var(--gutter);
  font-family: var(--serif);
  font-size: 26px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .06em;
}
.products_productsDeta_content_titlearea_title span { font-family: var(--sans); font-style: normal; }
.products_productsDeta_content_deta { max-width: var(--wrap); padding: 56px var(--gutter) 0; overflow: visible; }
.products_productsDeta_content_deta_catch {
  width: 100%;
  margin: 0 0 16px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(26px,3vw,36px);
  font-weight: 600;
  line-height: 1.5;
  text-align: left;
}
.products_productsDeta_content_deta_comm { width: 100%; margin: 0; color: #3a4a55; font-size: 16px; font-weight: 500; line-height: 1.9; text-align: left; }
.products_productsDeta_content_img { max-width: var(--wrap); margin: 36px auto; padding: 0 var(--gutter); }
.products_productsDeta_content_img_sideImg { justify-content: flex-start; gap: 16px; }
.products_productsDeta_content_img_sideImg li { height: 260px; margin: 0; padding: 0; background: var(--white); border: 1px solid var(--line); }
.products_productsDeta_content_function { max-width: var(--wrap); padding: 0 var(--gutter); overflow: visible; }
.products_productsDeta_content_function_title {
  display: inline-block;
  width: auto;
  padding: 4px 0 4px 14px;
  background: transparent;
  border: 0;
  border-left: 3px solid var(--blue);
  border-radius: 0;
  color: var(--deep);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .25em;
}
.products_productsDeta_content_function_contents { margin: 28px 0 0; }
.products_productsDeta_content_function_contents_catch {
  width: 100%;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 600;
}
.products_productsDeta_content_function_contents dd { color: #3a4a55; font-size: 15px; line-height: 2; }
.products_productsDeta_content_button { max-width: var(--wrap); margin: 56px auto 0; padding: 0 var(--gutter); }
.products_productsDeta_content_button_btn { width: 100%; justify-content: flex-start; }
.products_productsDeta_content_button_btn li { width: auto; }
.products_productsDeta_content_button_btn_inquiry,
.products_productsDeta_content_button_btn_return {
  margin: 0;
  padding: 12px 34px;
  background: transparent;
  border: 1px solid var(--deep);
  border-radius: 0;
  color: var(--deep);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
}
.products_productsDeta_content_button_btn a:hover li { background: var(--deep); color: var(--white); }

/* ---- 私たちの強み ---- */
.strength { margin: 0; padding: 72px 0 64px; background-color: var(--deep); background-image: none; }
.strength_titleNav { max-width: var(--wrap); padding: 0 var(--gutter); overflow: visible; text-align: left; }
.titleEngBlue { color: #8fc3e6; }
.title2LineWhite {
  width: 100%;
  margin: 0;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255,255,255,.28);
  color: var(--white);
  font-family: var(--serif);
  font-size: clamp(28px,3.6vw,46px);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: .04em;
  text-align: left;
}
.title2LineWhite .title2Line { display: block; width: auto; margin: 0 0 10px; color: #cfe1ee; font-family: var(--sans); font-size: .48em; font-weight: 500; letter-spacing: .06em; }
.title2LineWhite br { display: none; }
.strength_titleNav_comment { width: min(820px,100%); margin: 30px 0 0; padding: 0; color: #dce8f0; font-size: 15px; line-height: 2.05; text-align: left; }
.strength_titleNav_6strength { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.strength_titleNav_title {
  max-width: none;
  margin: 64px 0 40px;
  padding: 22px 0;
  background: transparent;
  border-top: 1px solid rgba(255,255,255,.28);
  border-bottom: 1px solid rgba(255,255,255,.28);
  font-family: var(--serif);
  font-size: 22px;
  letter-spacing: .1em;
  text-align: left;
}
.strength_titleNav_title span { font-size: 1.7em; font-weight: 600; }
.strength_titleNav_6strength_each_list_name dt { font-family: var(--serif); }
.strengthContents { padding-bottom: 40px; }
.strengthContents [class*="_title"] { width: auto; height: auto; margin: 0; }
.strengthContents [class*="_title"] dl {
  display: inline-block;
  min-width: 190px;
  height: auto;
  padding: 26px 28px 28px;
  background: var(--deep);
  box-shadow: 0 14px 34px rgba(1,36,58,.2);
  text-align: left;
}
.strengthContents [class*="_title"] dt {
  width: auto;
  margin: 0;
  padding: 0 0 10px;
  border-bottom: 1px solid rgba(255,255,255,.35);
  color: var(--white);
  font-family: var(--serif);
  font-size: 44px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .04em;
}
.strengthContents [class*="_title"] dd { padding-top: 14px; color: var(--white); font-family: var(--serif); font-size: 24px; font-weight: 600; letter-spacing: .15em; }
.strengthContents [class*="_txt"] h1 { color: var(--deep); font-family: var(--serif); font-size: 22px; font-weight: 600; line-height: 1.6; }
.strengthContents [class*="_txt"] p { color: #3a4a55; font-size: 15px; line-height: 2.05; text-align: left; }
.strengthContents_Layout01_txt, .strengthContents_Layout03_txt, .strengthContents_Layout05_txt { margin: 28px 0 0; }
.strengthContents_Layout01_img img, .strengthContents_Layout03_img img, .strengthContents_Layout05_img img { width: 100%; height: auto; }

/* ---- 採用情報 ---- */
.recruit_title { margin: 0; padding: 72px 0 64px; background: var(--deep); }
.recruit_titleNav { max-width: var(--wrap); padding: 0 var(--gutter); overflow: visible; text-align: left; }
.title2LineRecruit {
  width: 100%;
  margin: 0;
  color: var(--white);
  font-family: var(--serif);
  font-size: clamp(28px,3.4vw,42px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .04em;
}
.recruit_titleNav_comment { width: min(820px,100%); margin: 26px 0 0; padding: 0; color: #dce8f0; font-size: 15px; line-height: 2.05; }
.recruit_title_btn { max-width: var(--wrap); padding: 36px var(--gutter) 0; text-align: left; }
.recruit_title_btn p { display: inline-block; width: auto; height: auto; margin: 0; padding: 0; background: transparent; border: 1px solid var(--white); border-radius: 0; font-size: 13px; }
.recruit_title_btn a { display: block; padding: 12px 36px; color: var(--white); font-weight: 600; line-height: 1.5; letter-spacing: .25em; }
.recruit_title_btn a:hover { background: var(--white); color: var(--deep); }
.recruit_voiceArea { max-width: var(--wrap); margin: 80px auto 100px; padding: 0 var(--gutter); }
.recruit_voiceArea_tLogo { margin: 0 auto; }
.recruit_voiceArea_tLogo img { width: 220px; }
.title_recruit { width: 100%; margin: 8px 0 44px; font-size: clamp(26px,3vw,36px); text-align: center; }
.recruit_voiceArea_messageLink li { width: calc(33.333% - 28px); margin: 14px; }
.recruit_voiceArea_messageLink dd { font-family: var(--serif); font-weight: 600; }

/* ---- お問合せ ---- */
.contact_area { width: min(1024px,100%); margin: 0 auto; padding: 0 var(--gutter) 40px; text-align: left; }
.contact_area .sente { margin: 40px 0 0; color: var(--ink); font-size: 18px; line-height: 1.8; }
.contact_area .contact_block_mail .sente { margin: 20px 0 0; color: #3a4a55; font-size: 15px; line-height: 2; }
.contact_area .contact_block_mail ul { margin: 24px 0 0; }
.contact_area .contact_block_mail ul li { margin: 0 0 8px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.contact_area .contact_block_mail ul li a { color: var(--blue); text-decoration: underline; }
.contact_area .check_area { margin: 32px 0; font-size: 15px; }
.contact_area .check_area input { width: 20px; height: 20px; }
.contact_area .check_area label { margin-left: 8px; }
.contact_area form { margin: 0 0 80px; }
.contact_area form .note { margin: 0 0 20px; color: var(--muted); font-size: 13px; }
.contact_area form dl { margin: 0; padding: 10px 0; border-bottom: 1px solid var(--line); }
.contact_area form dl dt { width: 26%; padding: 10px 0; font-size: 14px; letter-spacing: .04em; }
.contact_area form dl dd { width: 74%; }
.contact_area form dl dt.required::after { padding: 3px 8px; font-size: 11px; line-height: 1.4; }
span.required { padding: 2px 8px; font-size: 11px; }
.contact_area form dl dd input[type="text"], .contact_area form dl dd textarea { width: 100%; padding: 12px 14px; font-size: 15px; }
.contact_area form dl.yubin dd input[type="text"] { width: 160px; }
.contact_area form dl dd textarea { min-height: 200px; }
.contact_area form .bt_area { width: auto; margin: 40px 0 0; gap: 14px; justify-content: flex-start; }
.contact_area form .bt_area input#reset,
.contact_area form .bt_area input#check_send {
  width: auto;
  margin: 0;
  padding: 13px 40px;
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .1em;
}
.contact_area form .bt_area input#reset { background: transparent; border: 1px solid #bccbd4; color: var(--muted); }
.contact_area form .bt_area input#reset:hover { background: var(--pale); color: var(--deep); }
.contact_area form .bt_area input#check_send { background: var(--blue); border: 1px solid var(--blue); color: var(--white); }
.contact_area form .bt_area input#check_send:hover { background: var(--deep); border-color: var(--deep); color: var(--white); }

/* ---- 新着情報 ---- */
.news_content { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter) 40px; overflow: visible; text-align: left; }
.news_content .bace_titlearea { padding-right: 0; padding-left: 0; }
.news_content_tabarea { margin: 32px 0 0; overflow: visible; text-align: left; }
.news_content_tabarea_newstab { border-bottom: 1px solid var(--line); }
.news_content_tabarea_newstab_menu { width: auto; margin: 0 28px -1px 0; padding: 12px 0; border-bottom: 2px solid transparent; }
.news_content_tabarea_newstab_menu:hover { border-bottom-color: var(--blue); }
.news_content_tabarea_newstab_menu a { color: var(--muted); font-size: 13px; letter-spacing: .06em; }
.news_content_tabarea_newstab_menu a:hover { color: var(--blue); }
.news_content_increase, .news_content_increase_under { margin: 24px 0 0; }
.news_content_increase_page_increase_01, .news_content_increase_page_increase_02 { margin: 0 4px; background: var(--white); border: 1px solid var(--line); font-size: 13px; }
.news_content_increase_page_increase_01 { background: var(--pale); }
.news_content_increase_page_increase li a { padding: 6px 12px; }
.news_content_list { margin: 24px 0 0; text-align: left; }
.news_content_list_article { align-items: flex-start; margin: 0; padding: 22px 0; border-bottom: 1px solid var(--line); }
.news_content_list_article_img { flex: 0 0 100px; }
.news_content_list_article_img img { border: 1px solid var(--line); }
.news_content_list_article_news { padding: 0 0 0 28px; }
.news_content_list_article > .news_content_list_article_news:first-child { padding-left: 128px; }
.news_content_list_article_news_title { align-items: center; gap: 14px; }
.news_content_list_article_news_title_date { color: var(--muted); font-size: 13px; line-height: 1.5; }
.news_category { width: auto; margin: 0; padding: 3px 12px; font-size: 11px; line-height: 1.6; }
.news_content_list_article_news_link { padding: 10px 0 0; font-size: 15px; line-height: 1.7; }
.news_content_list_article_news_link a { color: var(--ink); text-decoration: none; }
.news_content_list_article_news_link a:hover { color: var(--blue); text-decoration: underline; }

/* ---- 英語版 ---- */
.mainCatch { white-space: normal; }
html.is-en .mainCatch { top: 38%; left: 40%; width: 58%; font-size: clamp(24px,2.5vw,36px); line-height: 1.3; letter-spacing: 0; }
html.is-en .bigText { font-size: 1em; }
html.is-en .top_sgk .title { white-space: normal; font-size: clamp(32px,3.4vw,52px); }
html.is-en .title, html.is-en .title_nonborder, html.is-en .title2Line, html.is-en .title2LineWhite, html.is-en .title2LineRecruit,
html.is-en .company_greeting_catch, html.is-en .products_productsDeta_content_deta_catch { letter-spacing: .01em; }

@media screen and (max-width: 766px) {
  header { border-top-width: 3px; }
  #headerContener { min-height: 72px; padding: 8px 62px 8px 14px; }
  #headerContener .logoArea { margin: 0; }
  #headerContener .logo { flex-wrap: nowrap; }
  #headerContener .logo a { flex: 0 0 68px; width: 68px; }
  #headerContener .company { padding: 4px 0 0 10px; }
  #headerContener .companyName { font-size: 13px; }
  #headerContener .logo_add, .conversion { display: none; }
  .mainImg .slick-slide img { min-height: 0; }
  .mainImg { height: 510px; }
  .mainCatch {
    top: 19%;
    left: 24px;
    width: calc(100% - 48px);
    font-size: clamp(22px,6.2vw,40px);
    line-height: 1.45;
  }
  .mainnav, .page_mainnav { display: none; }
  #modal { display: block; }
  #bt_open_modal { top: 14px; right: 14px; }
  .bace_content { background: var(--paper); }
  .top_sgk { padding: 70px 20px 82px; }
  .top_sgk::before { width: 74%; margin-bottom: 22px; }
  .top_sgk .title {
    gap: 14px;
    font-size: clamp(27px,8vw,36px);
    white-space: normal;
  }
  .titleEng, .titleEngBlue { font-size: 9px; line-height: 1.5; }
  .title, .title_nonborder, .title2Line, .title_recruit { width: 100%; font-size: 30px; line-height: 1.5; }
  .top_sgk_comment { width: 100%; margin: 24px 0 28px; font-size: 14px; line-height: 1.9; text-align: left; }
  .top_sgk_catch img { width: 180px; }
  .top_sgk_4Sgk_eachSgk {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
  }
  .top_sgk_4Sgk_eachSgk_list { width: 100%; }
  .top_sgk_4Sgk_eachSgk_list h2 { padding: 14px 0 0 14px; font-size: 34px; }
  .top_sgk_4Sgk_eachSgk_list h3,
  .top_sgk_4Sgk_eachSgk_list_list02 h3 { min-height: 38px; padding: 0 8px; font-size: 11px; }
  .top_sgk_4Sgk_eachSgk_list_icon img { width: 54px; margin-top: 10px; }
  .top_sgk_4Sgk_eachSgk_list_icon p,
  .top_sgk_4Sgk_eachSgk_list p { min-height: 0; padding: 13px; font-size: 10px; line-height: 1.7; }
  .top_strength { padding: 70px 10px 80px; }
  .top_news { padding: 70px 20px 84px; }
  .top_news_title { margin-bottom: 54px; font-size: 28px; }
  .top_news_button { top: 126px; right: 20px; }
  .top_news_articleContent a {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 7px 10px;
    padding: 18px 0;
  }
  .top_news_articleContent_date,
  .top_news_articleContent_category,
  .top_news_articleContent_sentence { width: auto; }
  .top_news_articleContent_category { justify-self: start; }
  .top_news_articleContent_sentence { grid-column: 1 / -1; }
  .page_mainImg { height: 250px; }
  .page_mainImg_catch_mainCatch { top: 68px; padding: 0 22px; font-size: 34px; letter-spacing: .08em; }
  .bace_titlearea { padding-top: 50px; }
  .page_agency_agencyData { margin: 46px 16px; padding: 20px; }
  #footerContener { padding: 24px 14px; }
  .footerNav ul { gap: 10px 18px; padding: 30px 18px 20px; }
  /* ---- 下層ページ(スマホ) ---- */
  :root { --gutter: 20px; }
  .bace_titlearea { padding: 48px var(--gutter) 0; }
  .page_agency_agencyData { margin: 48px 16px; padding: 22px 18px; }
  .company_greeting { padding: 48px var(--gutter) 16px; }
  .company_greeting_catch { margin: 24px 0 14px; padding: 0; font-size: 19px; }
  .company_greeting_contents_commentarea_comment { padding: 0; font-size: 14px; line-height: 1.95; }
  .company_profilearea { padding: 24px var(--gutter) 64px; }
  .company_profile_navarea_nav { flex-wrap: wrap; }
  .company_profile_navarea_nav_btn { width: auto; }
  .company_profile_navarea_nav_btn a { padding: 11px 22px; font-size: 12px; letter-spacing: .14em; }
  .company_profile_list { flex-direction: column; gap: 28px; margin: 36px 0 0; }
  .company_profile_list_contents { width: 100%; border-bottom: 0; }
  .company_profile_list_contents_box { border-top: 0; }
  .company_profile_list_contents_box_title { width: 30%; padding: 13px 0; font-size: 12px; }
  .company_profile_list_contents_box_office { width: 70%; padding: 13px 0 13px 6px; font-size: 14px; }
  .company_profile_list_contents_img { width: 70%; max-width: 280px; margin: 0 auto; }
  .products_content_sgk { padding: 48px var(--gutter) 44px; }
  .products_content_sgk_comment { margin: 22px 0 26px; font-size: 14px; line-height: 1.95; text-align: left; }
  .products_content_sgk_link a { padding: 11px 24px; font-size: 12px; }
  .products_content_list_title { padding: 16px var(--gutter); font-size: 13px; }
  .tab_wrap { padding: 0 var(--gutter); }
  .tab_area { width: 100%; margin: 0; padding: 24px 0 0; }
  .tab_area label { width: 50%; margin: 0 0 -1px; padding: 13px 4px; font-size: 13px; letter-spacing: .02em; word-break: normal; }
  .tab_panel { padding: 28px 0 8px; }
  .products_content_listPage { gap: 16px; margin: 0; }
  .products_content_listPage_info { width: 100%; margin: 0 0 16px; }
  .products_content_listPage_info_name_caption { width: auto; margin: 0; padding: 10px 16px 0; font-size: 12px; }
  .products_content_listPage_info_name_img { width: 100%; height: auto; padding: 12px; }
  .products_content_listPage_info_name_rogo { padding: 14px 16px 0; font-size: 22px; }
  .products_content_listPage_info_name_detail { margin: 14px 16px 16px; }
  .products_productsDeta_content { margin: 0 auto 60px; }
  .products_productsDeta_content_titlearea_title { padding: 18px var(--gutter); font-size: 19px; line-height: 1.5; text-align: left; }
  .products_productsDeta_content_deta { padding: 40px var(--gutter) 0; }
  .products_productsDeta_content_deta_catch { padding: 0; font-size: 24px; text-align: left; }
  .products_productsDeta_content_deta_comm { width: 100%; font-size: 15px; text-align: left; }
  .products_productsDeta_content_img { margin: 28px auto; padding: 0 var(--gutter); }
  .products_productsDeta_content_img_sideImg { flex-direction: row; flex-wrap: wrap; gap: 12px; }
  .products_productsDeta_content_img_sideImg li { width: calc(50% - 6px); height: 150px; margin: 0; }
  .products_productsDeta_content_img_sideImg li img { width: 100%; height: 100%; object-fit: contain; }
  .products_productsDeta_content_function { padding: 0 var(--gutter); }
  .products_productsDeta_content_function_title { width: auto; margin: 0; padding: 3px 0 3px 12px; font-size: 12px; }
  .products_productsDeta_content_function_contents { margin: 24px 0 0; }
  .products_productsDeta_content_function_contents_catch { width: 100%; margin: 0 0 16px; padding: 0 0 10px; font-size: 18px; text-align: left; }
  .products_productsDeta_content_function_contents dd { padding: 0; margin: 0; font-size: 14px; text-align: left; }
  .products_productsDeta_content_button { margin: 40px auto 0; padding: 0 var(--gutter); }
  .products_productsDeta_content_button_btn li { width: auto; margin: 0; }
  .strength { padding: 48px 0 40px; }
  .strength_titleNav { padding: 0 var(--gutter); }
  .title2LineWhite { width: 100%; padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.28); font-size: 26px; }
  .title2LineWhite .title2Line { width: auto; font-size: .55em; }
  .strength_titleNav_comment { width: 100%; margin: 22px 0 0; padding: 0; font-size: 14px; line-height: 1.95; }
  .strength_titleNav_6strength { height: auto; padding: 0 var(--gutter); }
  .strength_titleNav_title { margin: 40px 0 20px; padding: 16px 0; font-size: 17px; }
  .strength_titleNav_6strength_each { flex-wrap: wrap; gap: 10px 0; height: auto; margin: 0; }
  .strength_titleNav_6strength_each_list { width: 32%; height: auto; padding: 0 0 37%; }
  .strength_titleNav_6strength_each_list_bg { width: 100%; }
  .strength_titleNav_6strength_each_list_name { top: 50%; left: 50%; width: 100%; }
  .strength_titleNav_6strength_each_list_name dt { display: inline-block; padding-bottom: 2px; font-size: 20px; line-height: 1.1; }
  .strength_titleNav_6strength_each_list_name_item, .strength_titleNav_6strength_each_list_name_item_s { padding: 6px 0 2px; font-size: 14px; letter-spacing: .08em; }
  .strength_titleNav_6strength_each_list_name_link { font-size: 10px; line-height: 1.2; }
  .strengthContents [class*="_txtarea"], .strengthContents [class*="_contentarea"] { display: flex; flex-direction: column; align-items: flex-start; }
  .strengthContents [class*="_img"] { order: 1; }
  .strengthContents [class*="_title"] { order: 2; }
  .strengthContents [class*="_txt"] { order: 3; }
  .strengthContents [class*="_title"] { position: relative; top: auto; right: auto; left: auto; width: auto; margin: -36px 0 0 var(--gutter); }
  .strengthContents [class*="_title"] dl { min-width: 0; padding: 14px 16px 16px; }
  .strengthContents [class*="_title"] dt { width: auto; padding: 0 0 6px; font-size: 28px; }
  .strengthContents [class*="_title"] dd { padding-top: 8px; font-size: 16px; }
  .strengthContents [class*="_txt"] { width: 100%; margin: 20px 0 0; padding: 0 var(--gutter); }
  .strengthContents [class*="_txt"] h1 { width: 100%; font-size: 18px; }
  .strengthContents [class*="_txt"] p { margin: 14px 0 0; font-size: 14px; line-height: 1.95; }
  .recruit_title { padding: 48px 0 40px; }
  .recruit_titleNav { padding: 0 var(--gutter); }
  .title2LineRecruit { width: 100%; font-size: 24px; text-align: left; }
  .recruit_titleNav_comment { width: 100%; margin: 20px 0 0; padding: 0; font-size: 14px; line-height: 1.95; }
  .recruit_title_btn { padding: 28px var(--gutter) 0; }
  .recruit_title_btn p { width: auto; height: auto; padding: 0; }
  .recruit_title_btn a { padding: 11px 26px; font-size: 13px; line-height: 1.5; letter-spacing: .2em; }
  .recruit_voiceArea { margin: 56px auto 64px; padding: 0 var(--gutter); }
  .recruit_voiceArea_tLogo img { width: 160px; }
  .title_recruit { width: 100%; margin: 8px 0 28px; font-size: 24px; }
  .recruit_voiceArea_messageLink li { width: 50%; margin: 0 0 20px; }
  .contact_area { padding: 0 var(--gutter) 24px; }
  .contact_area .sente { width: 100%; margin: 32px 0 0; font-size: 16px; text-align: left; }
  .contact_area .contact_block_mail { width: 100%; }
  .contact_area .contact_block_mail .sente { margin: 16px 0 0; font-size: 14px; line-height: 1.9; text-align: left; }
  .contact_area .contact_block_mail li { margin: 0 0 6px; font-size: 12px; line-height: 1.7; }
  .contact_area .check_area { margin: 28px 0; font-size: 14px; }
  .contact_area form { margin: 0 0 56px; }
  .contact_area form .note { width: 100%; margin: 0 0 16px; }
  .contact_area form dl { width: 100%; flex-direction: column; align-items: stretch; margin: 0; padding: 12px 0; }
  .contact_area form dl dt { width: 100%; padding: 0 0 8px; }
  .contact_area form dl dd { width: 100%; }
  .contact_area form dl dt.required::after { position: static; display: inline-block; width: auto; margin-left: 10px; padding: 3px 8px; }
  .contact_area form dl dd input[type="text"], .contact_area form dl dd textarea { width: 100%; padding: 11px 12px; }
  .contact_area form dl.yubin dd input[type="text"] { width: 140px; }
  .contact_area form .bt_area { display: flex; flex-direction: column; gap: 12px; margin: 32px 0 0; }
  .contact_area form .bt_area input#reset, .contact_area form .bt_area input#check_send { width: 100%; margin: 0; }
  .news_content { padding: 0 var(--gutter) 24px; }
  .news_content_tabarea { margin: 24px 0 0; }
  .news_content_tabarea_newstab { flex-direction: row; flex-wrap: wrap; }
  .news_content_tabarea_newstab_menu { width: auto; margin: 0 18px -1px 0; padding: 10px 0; border-bottom: 2px solid transparent; }
  .news_content_tabarea_newstab_menu a { font-size: 12px; }
  .news_content_list_article { justify-content: flex-start; padding: 18px 0; }
  .news_content_list_article_img { flex: 0 0 72px; width: 72px; height: 72px; margin: 0; }
  .news_content_list_article_news { padding: 0 0 0 16px; }
  .news_content_list_article > .news_content_list_article_news:first-child { padding-left: 0; }
  .news_content_list_article_news_title { flex-wrap: wrap; gap: 8px; }
  .news_content_list_article_news_title_date { font-size: 12px; }
  .news_category { width: auto; margin: 0; padding: 2px 10px; font-size: 10px; }
  .news_content_list_article_news_link { padding: 8px 0 0; font-size: 14px; }
  html.is-en .mainCatch { left: 24px; width: calc(100% - 48px); font-size: clamp(22px,6vw,32px); }
  html.is-en .top_strength_6Srength_strengthImg_each_entire_whiteDt { margin: 10px auto 4px; font-size: 12px; line-height: 1.3; }
  html.is-en .top_strength_6Srength_strengthImg_each_entire_whiteDt span { font-size: 12px; letter-spacing: 0; }
  html.is-en .top_strength_6Srength_strengthImg_each_entire_blueDt { margin: 12px 4px 6px; padding: 0; }
  html.is-en .top_strength_6Srength_strengthImg_each_entire_blueDt a { font-size: 15px; }
  html.is-en .top_strength_6Srength_strengthImg_each_entire_blueDd { font-size: 11px; line-height: 1.4; }
}

/* MY-240: symmetrical honeycomb and readable descriptions. */
.strength-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); align-items:center; gap:clamp(32px,5vw,76px); max-width:1180px; margin:48px auto 0; padding:0 32px; box-sizing:border-box; }
.strength-diagram { margin:0; min-width:0; }
.strength-diagram svg { display:block; width:100%; height:auto; overflow:visible; }
.strength-diagram text { font-family:var(--sans); font-size:23px; font-weight:600; text-anchor:middle; dominant-baseline:central; }
.strength-diagram a:hover polygon { opacity:.86; }
.strength-diagram a:focus-visible polygon { stroke:#082e49; stroke-width:4px; }
.strength-diagram figcaption { max-width:32em; margin:20px auto 0; color:#465660; font-size:14px; line-height:1.9; text-align:left; }
.strength-details { list-style:none; padding:0; margin:0; min-width:0; }
.strength-details li { border-bottom:1px solid #9cbdd7; }
.strength-details li:first-child { border-top:1px solid #9cbdd7; }
.strength-details a { display:grid; grid-template-columns:42px minmax(0,1fr) 12px; gap:18px; padding:20px 0; text-align:left; color:var(--ink); }
.strength-details a:hover h2 { text-decoration:underline; }
.strength-number { color:#2670c6; font-size:30px; line-height:1.2; font-variant-numeric:tabular-nums; }
.strength-details h2 { margin:0 0 7px; color:#216aa2; font-family:var(--sans); font-size:19px; font-weight:600; line-height:1.5; letter-spacing:.08em; }
.strength-details p { margin:0; font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
.strength-arrow { align-self:center; color:#2670c6; }
.top_sgk_4Sgk_eachSgk { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:visible; }
.top_sgk_4Sgk_eachSgk_list { width:auto; min-width:0; }
.top_sgk_4Sgk_eachSgk_list a { box-sizing:border-box; padding:22px 18px; }
.top_sgk_4Sgk_eachSgk_list h2 { padding:0; }
.top_sgk_4Sgk_eachSgk_list h3 { padding:0; min-height:3em; line-height:1.5; margin:10px 0 0; }
.top_sgk_4Sgk_eachSgk_list_icon { margin:0; }
.top_sgk_4Sgk_eachSgk_list_icon img { display:block; height:80px; object-fit:contain; margin:20px auto; }
.top_sgk_4Sgk_eachSgk_list_icon p { padding:0; min-height:0; font-size:14px; line-height:1.9; }
.mainImg::after { background:linear-gradient(90deg,transparent 25%,rgba(3,28,47,.12) 39%,rgba(3,28,47,.40) 52%,rgba(3,28,47,.18) 100%); }
@media(max-width:800px) {
 .strength-layout { grid-template-columns:1fr; gap:32px; padding:0 24px; margin-top:32px; }
 .strength-diagram { width:min(100%,380px); margin:auto; }
 .strength-details a { grid-template-columns:34px minmax(0,1fr) 10px; gap:14px; padding:18px 0; }
 .strength-number { font-size:26px; }
 .strength-details h2 { font-size:18px; }
 .strength-details p { font-size:14px; }
 .top_sgk_4Sgk_eachSgk { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .top_sgk_4Sgk_eachSgk_list a { padding:20px 14px; }
 .top_sgk_4Sgk_eachSgk_list h3 { font-size:14px; }
 .mainImg::after { background:linear-gradient(180deg,rgba(3,28,47,.04),rgba(3,28,47,.4)); }
}
@media(max-width:380px) {
 .top_sgk_4Sgk_eachSgk { grid-template-columns:1fr; }
}

/* MY-240: mobile first viewport, compact header and crisp menu. */
@media screen and (max-width:766px) {
 #headerContener { min-height:68px; padding:10px 66px 10px 18px; box-sizing:border-box; }
 #headerContener .logo a { flex-basis:58px; width:58px; }
 #headerContener .companyName { font-size:12px; white-space:nowrap; letter-spacing:0; }
 #modal { position:fixed; top:0; right:0; width:62px; }
 #bt_open_modal { position:absolute; top:12px; right:12px; width:44px; height:44px; border:1px solid #c6d9e5; background:#fff; box-sizing:border-box; }
 #bt_open_modal img { opacity:0; width:100%; height:100%; margin:0; filter:none; }
 #bt_open_modal::before { content:""; position:absolute; left:11px; top:14px; width:20px; height:1.5px; background:#165c88; box-shadow:0 6px #165c88,0 12px #165c88; pointer-events:none; }
 .mainImg { height:clamp(320px,95vw,410px); }
 .mainImg .slick-slide img { object-position:center center; }
 .mainCatch { top:auto; bottom:32px; left:24px; width:calc(100% - 48px); font-size:clamp(19px,5.45vw,30px); line-height:1.65; letter-spacing:0; transform:none; text-shadow:0 2px 12px rgba(0,20,36,.35); }
 .mainCatch .bigText { font-size:1.45em; }
 .mainImg::after { background:linear-gradient(180deg,rgba(3,28,47,.02) 20%,rgba(3,28,47,.18) 50%,rgba(3,28,47,.6)); }
 .top_sgk { padding-top:42px; }
 .top_sgk::before { margin-bottom:20px; }
 .top_sgk .title { font-size:clamp(25px,7vw,34px); letter-spacing:0; }
 html.is-en .mainCatch { top:auto; bottom:32px; left:24px; width:calc(100% - 48px); font-size:clamp(22px,6vw,30px); }
}

/* MY-240: remove legacy mobile floats; give each technology a readable row. */
@media screen and (max-width:766px) {
 .top_sgk_4Sgk_eachSgk { grid-template-columns:1fr; gap:14px; margin-bottom:0; }
 .top_sgk_4Sgk_eachSgk_list { width:100%; margin:0; box-sizing:border-box; }
 .top_sgk_4Sgk_eachSgk_list a { padding:22px; }
 .top_sgk_4Sgk_eachSgk_list_name { display:flex; gap:14px; align-items:center; }
 .top_sgk_4Sgk_eachSgk_list h2 { flex:none; font-size:34px; line-height:1; margin:0; }
 .top_sgk_4Sgk_eachSgk_list h3 { min-height:0; margin:0; font-size:16px; line-height:1.5; letter-spacing:0; }
 .top_sgk_4Sgk_eachSgk_list_icon { display:grid; grid-template-columns:52px minmax(0,1fr); gap:18px; align-items:start; margin-top:20px; }
 .top_sgk_4Sgk_eachSgk_list_icon img { float:none; width:52px; height:60px; margin:0; }
 .top_sgk_4Sgk_eachSgk_list_icon p { width:auto; min-width:0; margin:0; padding:0; text-align:left; font-size:14px; line-height:1.85; }
 .top_sgk_catch { margin:32px 0; }
 .top_sgk_catch img { width:180px; max-width:80%; }
 .page_mainImg { height:210px; }
 .page_mainImg_catch_mainCatch { font-size:clamp(24px,7vw,32px); line-height:1.4; letter-spacing:.02em; }
 .contact_area input, .contact_area select, .contact_area textarea { box-sizing:border-box; max-width:100%; font-size:16px; }
 .company_profile_list_contents_box_office { overflow-wrap:anywhere; }
 .products_productsDeta_content_img_sideImg li { height:125px; }
 .footerNav a { display:inline-block; padding-block:8px; }
}

/* MY-240: a single sticky header, with the menu in its flex layout. */
header #bt_open_modal { display:none; }
@media screen and (max-width:766px) {
 body { padding-top:75px; }
 header { position:fixed; top:0; left:0; width:100%; z-index:10000; background:#fff; box-sizing:border-box; }
 #headerContener { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:72px; padding:10px 18px; }
 #headerContener .logoArea { flex:1; min-width:0; }
 #headerContener .logo { display:flex; align-items:center; gap:12px; margin:0; padding:0; line-height:1; }
 #headerContener .logo a { display:flex; align-items:center; flex:0 0 60px; width:60px; }
 #headerContener .logo img { display:block; width:100%; height:auto; }
 #headerContener .company { padding:0; margin:0; min-width:0; }
 #headerContener .companyName { margin:0; font-size:13px; line-height:1.5; white-space:normal; }
 header #bt_open_modal { display:block; position:relative; top:auto; right:auto; flex:0 0 44px; width:44px; height:44px; margin:0; border:0; background:transparent; }
 header #bt_open_modal::before { top:15px; }
 #modal { position:static; width:auto; }
 html { scroll-padding-top:80px; }
}

/* MY-240: open beneath the trigger, without the legacy bounce animation. */
#modal_area { display:none; }
a:focus-visible { outline:2px solid #2b83be; outline-offset:4px; }
.side a { transition:background-color .18s ease; }
.side a:focus-visible { outline-offset:-5px; background:rgba(255,255,255,.13); }
@media screen and (max-width:766px) {
 #modal_area { display:block; position:fixed; top:75px; left:0; right:0; width:100%; height:auto; max-height:calc(100vh - 75px); max-height:calc(100dvh - 75px); overflow-y:auto; z-index:9999; background:#fff !important; box-shadow:0 12px 24px #082e4924; visibility:hidden; opacity:0; transform:translateY(-8px); transition:opacity .18s ease,transform .18s ease,visibility .18s; }
 .site-menu-open #modal_area { visibility:visible; opacity:1; transform:translateY(0); }
 #modal_area .modal-content { width:auto; margin:0; padding:8px 24px 20px; }
 #modal_area .modal_navi { width:100%; margin:0; padding:0; }
 #modal_area .modal_navi li { float:none; width:100%; margin:0; padding:0; border:0; border-bottom:1px solid #dbe5eb; }
 #modal_area .modal_navi a { display:flex; align-items:center; justify-content:space-between; width:auto; padding:17px 0; color:#183849; font-size:16px; font-weight:600; line-height:1.5; text-align:left; letter-spacing:.04em; }
 #modal_area .modal_navi a::after { content:'›'; color:#2673a6; font-size:22px; }
 header #bt_open_modal { transition:none; }
 header #bt_open_modal::after { content:''; position:absolute; left:11px; top:21px; width:20px; height:1.5px; background:#165c88; opacity:0; }
 .site-menu-open header #bt_open_modal::before { top:21px; box-shadow:none; transform:rotate(45deg); }
 .site-menu-open header #bt_open_modal::after { opacity:1; transform:rotate(-45deg); }
}
@media (prefers-reduced-motion:reduce) {
 #modal_area, .side a { transition:none; }
}

/* ---- 404(MY-289。Cloudflare Pages で見つからないURLに返すページ) ---- */
.notfound_body {
  max-width: var(--wrap, 1120px);
  margin: 0 auto;
  padding: 40px var(--gutter, 36px) 96px;
  text-align: left;
}
.notfound_body p { max-width: 720px; margin: 0 0 12px; font-size: 15px; line-height: 2; }
.notfound_body p[lang="en"] { color: var(--muted); font-size: 13px; }
.notfound_links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}
.notfound_links a {
  display: inline-block;
  padding: 12px 28px;
  border: 1px solid var(--deep);
  color: var(--deep);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
  text-decoration: none;
}
.notfound_links a:hover { background: var(--deep); color: var(--white); }
@media (max-width: 766px) {
  .notfound_body { padding: 28px 20px 64px; }
  .notfound_links a { padding: 10px 18px; }
}
