@charset "utf-8";
.sub_top{
  padding-top: 65px;
}


.sub_menu{
  display:flex;
  justify-content:center;
  gap:20px;
align-items: center;
}


.company_panel{
  display:none;
}

.company_panel.active{
  display:block;
}

.menu_grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:15px 30px;
  margin-top:20px;
      padding: 0px 0 20px;
}
.menu_grid li{
  min-width: 120px;
}
.company_btn{
      display: flex;
    flex-wrap: wrap;
    list-style: none;
    justify-content: center;
        color: #857540;
        font-size: 12px;

}
@media screen and (min-width: 798px) {
  .company_btn{
        font-size: 14px;

}
}
.company_btn.active {
    border-bottom: 3px solid #fff;
    padding-bottom: 4px;
        box-sizing: border-box;
}
.plus_btn{
  display:inline-block;
  width:10px;
  height:10px;
  margin-left:10px;
  background:url(../img/plus_btn.svg) no-repeat center;
  background-size:contain;
margin-top: 1px;
}
.sub_menu li:nth-child(2) .plus_btn{
  margin-top: 8px;
}
@media screen and (min-width: 798px) {
  .sub_menu li:nth-child(2) .plus_btn {
  margin-top: 1px;
}
}
.company_btn.active .plus_btn{
  background-image:url(../img/mainasu_ico.svg);
  background-size:125%;
}
.company_panel{
  display:none;
  background:#fff;
    align-items:flex-start;
  gap:15px;
}
@media screen and (min-width: 798px) {
.company_panel{
  gap:30px;
}
}
.company_panel.active{
  display:flex;
}
/* PCトップ以外は従来と同じflex/gridの子要素として扱う。 */
.company_panel > .company_panel_inner { display: contents; }
.company_panel img{
    width: 38px;
    margin-top: 15px;
        margin-left: 20px;
}

.company_panel .menu_grid a{
    color: #857540;
}

.sub_company_intro_bg{
    background-color: #efecdf;
    background-image: url("../img/bg_main_pc.png");
    background-repeat: no-repeat;
    background-size: cover;
}

.sub_bg ,.sub_menu{
    background-size: cover;
  background-repeat: no-repeat;
  padding-bottom: 20px;
}

@media screen and (min-width: 798px) {
.sub_bg ,.sub_menu{
  padding-bottom: 50px;
}
}
.sub_info_bg{
    background-size: cover;
  background-repeat: no-repeat;
  padding-top: 15px;
  
}


.page_menu_btn{
  position:fixed;
     right: 2%;
  bottom:30px;
  z-index:9999;
  cursor:pointer;
}

.page_menu_btn img{
  width:80px;
}

.page_menu {
  position: fixed;
  right: 2%;
  bottom: 100px;
  width: 96%;
  box-sizing: border-box;
  padding: 15px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: .3s;
  z-index: 9998;
  border: 1px solid #fff;
  border-radius: 10px;
}

/* フッター内のPage menuの背景 */
footer.footer .page_menu {
  background-color: #BFBCAF;
}

.page_menu :where(.page_menu_inner, .menu_head, .menu_head img, .page_menu_list, .page_menu_list li, .page_menu_list a, .page_menu_list img) {
  background-color: transparent;
}

@media screen and (min-width: 798px) {
.page_menu{
  padding:40px;
}
}

.page_menu_overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.5);

  opacity:0;
  visibility:hidden;

  transition:.3s;

  z-index:9997;
}

.page_menu_overlay.active{
  opacity:1;
  visibility:visible;
}
.menu_head{
  flex-shrink:0;
  width:40px;
}
@media screen and (min-width: 798px) {
.menu_head{
  width:80px;
}
}


.menu_head img{
  width:100%;
}
.page_menu.active{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.page_menu_inner{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.page_menu_list{
  flex:1;

  display:grid;
  grid-template-columns:repeat(2,1fr);

  gap:12px 25px;
}
@media screen and (min-width: 798px) {
  .page_menu_list{
    grid-template-columns:repeat(4,1fr);
    gap:18px 32px;
  }
}
.page_menu_list a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#fff;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (min-width: 798px) {
  .page_menu_list a{font-size: 18px;
}
}
.page_menu_list img{
  width:8px;
}
.hiruma_logo_wrap{
  padding:10px;
}
@media screen and (min-width: 798px) {
  .hiruma_logo_wrap{
    padding-bottom: 80px;
  }
}
@media screen and (min-width: 798px) {
 .com_sub_main{
  margin: 0 auto;
  width: 100%;
  height: 400px;
  object-fit: cover;
}
}

.com_logo_txt{
  background:url(../img/hiruma_bg.svg) no-repeat center center;
  background-size:contain;
}
.mheg_logo_txt{
    background:url(../img/mheg_bg.svg) no-repeat center center;
}
.company_logo_txt{
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  min-height:180px;
  display:flex;
  align-items:center;
}
.marumi_logo_txt{
  background-image:url(../img/marumi_bg.svg);
  
}
.biso_logo_txt{
  background-image:url(../img/biso_bg.svg);
}
.sub_hero{
  position:relative;
}
.sub_hero .sub_top{
  display:block;
  width:100%;
}
.sub_hero_copy{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  padding:95px 20px 0;
  background:rgba(238,236,223,.34);
  box-sizing:border-box;
}
.sub_hero_copy img{
  width:50px;
  margin-bottom:8px;
}
.sub_hero_copy p{
  font-size:13px;
  line-height:1.7;
}
.sub_hero_copy h2{
  line-height:1.75;
  letter-spacing:0;
  font-size: 16px;
}
.tit_left{
      display: inline-block;
    font-size: 18px;
}
@media screen and (min-width:798px){
.tit_left{
      display: inline-block;
    font-size: 22px;
}
.sub_hero_copy img {
  width: 80px;
  margin-bottom: 50px;
}
.sub_hero_copy p {
  font-size: 16px;
}
.sub_hero_copy h2{
  font-size: 24px;
}
.tit_left{
    font-size: 30px;
}
}
.tit_left .border_b{
    border-bottom: 1px solid;
    padding-bottom: 5px;
    margin-bottom: 15px;
}
.sub_business .service_box{
align-items: flex-start;
margin-top: 15px;
}


.about_hiruma_img{
  width:80% ;
  margin: 0px auto 30px;
  max-width: 400px;
}
@media screen and (min-width:798px){
.about_hiruma_img{
  margin: 30px auto 30px;
}
}


.text_link_slider_area{
    position:relative;
    margin-bottom:20px;
}

.text_link_slider_item{
    display:none;
    position:relative;
}

.text_link_slider_item.active{
    display:block;
}

.text_link_slider_item img{
      width: 85%;
    display: block;
    text-align: center;
    margin: 0 auto;
}

/* 画像左上 */

.text_link_slider_label{
    position:absolute;
    top:0px;
        left: 7%;
    z-index:10;
background: #857540;
    color:#fff;
    font-size:14px;
    letter-spacing:.1em;
    padding: 10px 20px;  
      font-size: 14px;
    font-weight: 700;
      font-family: "Zen Kaku Gothic New", sans-serif;
}

@media screen and (min-width: 799px) {
  .text_link_slider_item {
    --slider-image-width: 85%;
  }

  .text_link_slider_item > img {
    width: var(--slider-image-width);
  }

  .text_link_slider_item > .text_link_slider_label {
    left: calc((100% - var(--slider-image-width)) / 2);
  }

}

/* 画像下の説明文 */

.text_link_slider_content {
    width: 93%;
    max-width: 700px;
    margin: -50px auto 0;
    color: #000;
    padding: 15px;
    position: relative;
    z-index: 5;
    line-height: 1.5em;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (min-width: 798px) {
  .text_link_slider_content {
  margin: -50px auto 50px;
  font-size: 18px;
  line-height: 2em;
}
}
/* 矢印 */

.text_link_slider_arrow{
    position: absolute;
    top: 30%;
    z-index: 20;
    border: none;
    cursor: pointer;
    color: #857540;
}
.text_link_slider_prev{
    left:5px;
}

.text_link_slider_next{
    right:5px;
}

/* テキストナビ */

.text_link_slider_nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
        gap: 15px 10px;
  font-family: "Zen Kaku Gothic New", sans-serif;
    list-style:none;
    padding:0;
    margin:0;
}
@media screen and (min-width: 798px) {
  .text_link_slider_nav {
  gap: 15px 30px;
}
}
.text_link_slider_nav li{
    position:relative;
    cursor:pointer;
   color: #857540;
    display:flex;
    flex-direction:column;
    align-items:center;

    padding-left:0;
    padding-top:25px;

    text-align:center;
}

.text_link_slider_nav li::before{
        content:"";
    display:block;

    width:12px;
    height:12px;

    margin:0 auto 10px;

    border:1px solid #857540;
    border-radius:50%;

    background:#fff;

    position:absolute;
    top:0;
    left:50%;

    transform:translateX(-50%);

    color:#857540;
}

.text_link_slider_nav li.active::before{
    background:#857540;
}

.text_link_slider_nav li.active{
    font-weight:700;
    color:#857540;
}
.hiruma-standards_img{
  margin: 0 auto;
}

@media (min-width:768px){

  .text_link_slider{
      max-width:1600px;
      overflow:hidden;
  }

  .text_link_slider_area{
      width:70%;
      margin:auto;
  }

}
    .flex_standards{
        display:block;
    }

    .flex_standards li{
        margin-bottom:15px;
    }
.flex_standards_h2 {
  margin-bottom: 10px;
}

@media screen and (min-width:798px){
.flex_standards{
    display:grid;
    grid-template-columns:repeat(6, 1fr);
    gap:30px;
}

.flex_standards{
    display:grid;
    grid-template-columns:repeat(6, 1fr);
    gap:30px;
}

.flex_standards li{
    width:auto;
}

/* 上段 */
.flex_standards li:nth-child(1){
    grid-column:2 / 4;
}

.flex_standards li:nth-child(2){
    grid-column:4 / 6;
}

/* 下段 */
.flex_standards li:nth-child(3){
    grid-column:1 / 3;
}

.flex_standards li:nth-child(4){
    grid-column:3 / 5;
}

.flex_standards li:nth-child(5){
    grid-column:5 / 7;
}
.flex_standards_h2 {
    line-height: 1.5em;
    min-height: 3em;
}
    
}

.no_box {
    background: #fff;
    border: 1px solid #857540;
    color: #857540;
    font-size: 12px;
    border-radius: 5px;
    padding: 7px 10px 1px;
    display: inline-block;
    margin: 10px auto 10px;
}
@media screen and (min-width:798px){
 .no_box {
    margin: 20px auto 10px;
} 
}
.no_box span{
   color:#857540;
      font-size: 2em;
    margin-left: 4px;
}

.under_b_tit{
  border-bottom: 1px solid ;
  padding-bottom: 5px;
  margin-bottom: 10px;
}
@media screen and (min-width:798px){
  .under_b_tit {
    padding-bottom: 10px;
    margin-bottom: 30px;
}
}
.manage_box{
  border: 1px solid #857540;
  border-radius: 10px;
  padding: 15px;
}
@media screen and (min-width:798px){
.manage_box{
  padding: 50px;
}
}
.manage_box .bg_fff{
  padding: 15px 25px;
}
.sp_mgt30{
  margin-top: 30px;
}
@media screen and (min-width:798px){
  .sp_mgt30{
  margin-top: 0px;
}
}


.border_p{
  border: 1px solid #857540;
  border-radius: 10px;
  padding: 15px;
}
@media screen and (min-width:798px){
.border_p{
  border-radius: 20px;
  padding: 30px;
}
}

.mg-30{
  margin-top: -30px;
}
.service_box.service_box_detail {
  display: block;
}

.service_box_head {
  display: flex;
  gap: 15px;
  align-items: flex-start;
}


.service_box_head .service_txt {
  flex: 1;
  min-width: 0;
}

.service_description {
  margin-top: 15px;
  font-size: 14px;
  line-height: 1.8;
}

.faq_en_with_logo{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.faq_title_logo{
  width:30px;
  height:auto;
  display:inline-block;
}

.gold_fff_con{
  text-align: center;
}

.gold_fff{
  background: #fff;
  color: #857540;
  border: 1px solid ;
  padding: 5px 15px;
  margin-bottom: 15px;
      display: inline-block;
    margin-top: 15px;
}

@media screen and (min-width:798px){
.gold_fff{
  padding: 15px 25px;
  margin-bottom: 30px;
    margin-top: 30px;
}
}


.group_role_area{
  width:100%;
}

.group_role_img{
  width:100%;
}

.group_role_img img{
  width:100%;
  display:block;
}

.group_role_text{
  line-height:1.9;
}

.group_role_box{
  border:1px solid #857540;
  padding:25px 20px 30px;
  background:#fff;
}

.group_role_box_label{
  font-size:14px;
  line-height:1.6;
  text-align:center;
}

.group_role_box_title{
  margin-top:15px;
  font-size:20px;
  line-height:1.7;
  font-weight:500;
}

@media screen and (min-width:798px){
  .group_role_box{
    padding:35px 30px 40px;
  }

  .group_role_box_title{
    font-size:24px;
  }
}




.about_marumi_main{
  margin: 15px auto;
}
@media screen and (min-width:798px){
 .about_marumi_main{
margin: 30px auto 50px;
    width: 435px;
  }
}


.biso_about_slider .text_link_slider_item img{
  aspect-ratio:300 / 185;
  object-fit:cover;
}



.biso_slider_add{
  margin-top:35px;
  padding:24px 20px;
  border:1px solid #857540;
  border-radius:12px;
}

.biso_slider_add_main{
  color:#857540;
  font-weight:500;
  line-height:1.7;
  letter-spacing:.08em;
}

.biso_slider_add_note {
    margin-top: 5px;
    color: #000;
    line-height: 1.7;
    letter-spacing: .06em;
    background: #fff;
    padding: 5px 10px;
}

@media screen and (min-width:798px){
  .biso_slider_add{
    padding:32px 30px;
    border-radius:16px;
  }
}


.biso_taiou_area{
  width:100%;
}

.biso_taiou_item{
  margin-top:55px;
}

.biso_taiou_item:first-child{
  margin-top:0;
}

.biso_taiou_img img{
  width:100%;
  display:block;
}

.biso_taiou_body{
  padding:28px 0 0;
}

.biso_taiou_body h2{
  line-height:1.6;
}

.biso_taiou_list{
  line-height:1.9;
  letter-spacing:.04em;
  margin-top: 15px;
}

.biso_taiou_list li{
  padding-left:1em;
  text-indent:-1em;
  color: #000;
  font-size:14px;
  margin-top: 5px;
}
.biso_taiou_img{
  margin-top: 15px;
}
.biso_taiou_list li::before{
  content:"・";
}

@media screen and (min-width:798px){
  .biso_taiou_list li{
 font-size:16px;
}

  .biso_taiou_item{
    margin-top:75px;
  }
}



/*サブページ共通*/
.sub_pdt{
  padding-top: 70px;
}
.sub_com .sub_menu {
  background-image: none;
}

.sub_title_heading {
  position: relative;
  width: 100%;
  height: 88px;
  color: #fff;
  background-color: #857540;
}
@media screen and (min-width: 798px) {
  .sub_title_heading {
  height: 108px;
}
}
.sub_title_logo {
  position: absolute;
  top: 18px;
  left: 20px;
  width: 60px;
  height: auto;
  filter: brightness(0) saturate(100%) invert(91%) sepia(9%)
    saturate(263%) hue-rotate(5deg) brightness(99%) contrast(89%);
}
@media screen and (min-width: 798px) {
  .sub_title_logo {
  width: 80px;
  left: 36px;
}
}
.sub_title_heading_text {
  position: absolute;
  top: 18px;
  left: 93px;
  color: #fff;
}
@media screen and (min-width: 798px) {
  .sub_title_heading_text {
  left: 140px;
}
}
.sub_title_company {
  display: block;
  margin-left: 11px;
  color: #fff;
  font-size: 10px;
  line-height: 1.3;
}
@media screen and (min-width: 798px) {
 .sub_title_company {
  font-size: 14px;
} 
}
.sub_title_heading h1 {
  margin: 2px 0 0 11px;
  color: #fff;
  font-size: 20px;
  line-height: 1.2;
}
@media screen and (min-width: 798px) {
.sub_title_heading h1 {
font-size: 28px;
}
}
.sub_title_en {
  display: block;
  margin-top: 2px;
  color: #fff;
  font-size: 12px;
  line-height: 1.2;
      margin: 2px 0 0 11px;
}
@media screen and (min-width: 798px) {
  .sub_title_en {
  margin-top: 5px;
  font-size: 14px;
}
}
.sub_breadcrumb {
  display: flex;
  align-items: center;
  width: 100%;
  height: auto;
  min-height: 35px;
  box-sizing: border-box;
  background-color: #eeecdf;
      background-image: url(../img/sub_topics.png);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 5px 0;
    background-position: left;
}

.sub_breadcrumb_list {
  display: flex;
  align-items: center;
  width: 100%;
  height: auto;
  min-height: 25px;
  box-sizing: border-box;
  margin: 0;
  padding: 0 20px;
  list-style: none;
}

.sub_breadcrumb_list li {
  display: flex;
  align-items: center;
  color: #000;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.sub_breadcrumb_list li:not(:last-child)::after {
  content: "";
  width: 0;
  height: 0;
  margin: 0 10px;
  border-top: 2.5px solid transparent;
  border-bottom: 2.5px solid transparent;
  border-left: 4px solid #bfbcaf;
}

.sub_breadcrumb_list a {
  color: #857540;
  text-decoration: underline;
}
.sub_section_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #857540;
  text-align: center;
}

.sub_section_title_en {
  color: #857540;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 798px) {
.sub_section_title_en {
  font-size: 14px;
}
}
.sub_section_title_line {
  display: block;
  width: 46.5px;
  height: 1px;
  margin: 8px 0 6px;
  background-color: #857540;
}

.sub_section_title .sub_section_title_jp {
  margin: 0;
  color: #857540;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 400;
}
@media screen and (min-width: 798px) {
  .sub_section_title .sub_section_title_jp {
  font-size: 25px;
}
}

.business_detail_main_img{
  
}

/*サブページ共通*/


/*対応事業*/
.sub_business_content {
  width: 100%;
  padding: 19px 0 1px;
  box-sizing: border-box;
}

.sub_business_block {
  width: 100%;
}

.sub_business_heading {
  margin: 0 20px 20px;
  color: #000;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.sub_business_inner {
  margin: 0 auto;
      padding:0 8%;
}

.sub_business_image {
  display: block;
  object-fit: cover;
}

.sub_business_list {
  margin: 15px 0;
  padding: 0 0 0 9px;
  border-left: 1px solid #000;
  list-style: none;
  box-sizing: border-box;
}

.sub_business_list li {
  position: relative;
  padding-left: 1em;
  color: #000;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.sub_business_list li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

.sub_business_text {
  color: #000;
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
}

.sub_business_consultation {
  margin-top: 37px;
}

.sub_business_consultation_list  {
  position: relative;
  min-height: 166px;
  margin: 0;
  padding: 22px 20px 20px 29px;
  border: 1px solid #d1ccb9;
  background-color: #fff;
  box-sizing: border-box;
}

/* リスト左側の縦線 */
.sub_business_consultation_list::before {
  content: "";
  position: absolute;
  top: 22px;
  bottom: 20px;
  left: 19px;
  width: 1px;
  background-color: #000;
}

.sub_business_consultation_list li {
  position: relative;
  padding-left: 1em;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.sub_business_consultation_list li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.sub_business_consultation .sub_business_text {
  margin-top: 15px;
}

.sub_business_contact {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 280px;
  height: 53px;
  margin-top: 15px;
  color: #eeecdf;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  background-color: #857540;
  border-radius: 14px;
  box-sizing: border-box;
}

.sub_business_contact img {
  width: 7px;
  margin-left: 15px;
}




.business_page_menu {
  width: 100%;
  padding: 0 px;
  background-color: #eeecdf;
  box-sizing: border-box;
}

.business_page_menu_title {
  margin: 0 0 23px;
  color: #857540;
  font-weight: 400;
  text-align: center;
}

.business_page_menu_title .zen {
  display: block;
  font-size: 18px;
  line-height: 1.2;
}

.business_page_menu_title .SD {
  display: block;
  margin-top: 2px;
  font-size: 20px;
  line-height: 1;
}

.business_page_menu_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #857540;
  border-radius: 10px;
  list-style: none;
  box-sizing: border-box;
}

.business_page_menu_list li {
  min-width: 0;
  border-bottom: 1px solid #c1b9a0;
  box-sizing: border-box;
}

/* 右側の列 */
.business_page_menu_list li:nth-child(even) {
  border-left: 1px solid #857540;
}

/* 最後の流通加工 */
.business_page_menu_list li:last-child {
  grid-column: 1 / -1;
  border-bottom: 0;
}

/* 3行目右側の下線は残す */
.business_page_menu_list li:nth-child(6) {
  border-bottom: 1px solid #c1b9a0;
}

.business_page_menu_list a {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 35px;
  padding: 0 30px 0 14px;
  color: #857540;
  font-size: 12px;
  line-height: 1.3;
  text-decoration: none;
  box-sizing: border-box;
}

.business_page_menu_arrow {
  position: absolute;
  top: 50%;
  right: 14px;
  width: 6px;
  height: 6px;
  border-right: 1px solid #857540;
  border-bottom: 1px solid #857540;
  transform: translateY(-70%) rotate(45deg);
}

.business_page_menu_list a:hover {
  color: #fff;
  background-color: #857540;
}

.business_page_menu_list a:hover .business_page_menu_arrow {
  border-color: #fff;
}

.business_page_menu_list li:last-child {
  grid-column: 1 / -1;
  border-bottom: 0;
}

.business_page_menu_list li:last-child a {
  justify-content: center;
  padding-right: 30px;
  padding-left: 30px;
}
/* アンカー移動時に固定ヘッダーと重ならないようにする */
#DL_services,
#IL_hiruma,
#EC_hiruma,
#plant_hiruma,
#logistics_center_hiruma,
#logistics_system_hiruma,
#processing_hiruma {
  scroll-margin-top: 80px;
}

html {
  scroll-behavior: smooth;
}

.company_top_main > section[id] {
  scroll-margin-top: 95px;
}

.business_detail_sub_img + p {
 padding: 0 30px;
}
.company_business_page .company_subpage_visual + p {
  padding: 0 30px;
}
@media screen and (min-width: 798px) {
  .business_page_menu {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
  }

  .business_page_menu_title {
    margin-bottom: 30px;
  }

  .business_page_menu_list {
    grid-template-columns: repeat(7, 1fr);
    border-radius: 8px;
  }

  .business_page_menu_list li,
  .business_page_menu_list li:nth-child(6) {
    border-bottom: 0;
  }

  .business_page_menu_list li:nth-child(even),
  .business_page_menu_list li {
    border-left: 1px solid #c1b9a0;
  }

  .business_page_menu_list li:first-child {
    border-left: 0;
  }

  .business_page_menu_list li:last-child {
    grid-column: auto;
  }

  .business_page_menu_list a {
    justify-content: center;
    height: 55px;
    padding: 0 25px 0 10px;
    text-align: center;
  }

  .business_page_menu_arrow {
    right: 12px;
  }
    .business_page_menu_list li:last-child {
    grid-column: auto;
  }

  .business_page_menu_list li:last-child a {
    padding-right: 25px;
    padding-left: 10px;
  }
.sub_business_inner {
  margin: 0 auto;
      padding:0 15%;
}

}




.standards_count_heading {
  width: 98px;
  color: #000;
  text-align: center;
    margin-left: auto;
  margin-right: auto;
}

.standards_count_main {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.standards_count_no {
  display: block;
  font-size: 90px;
  line-height: 0.78;
  letter-spacing: 0.125em;
  text-indent: 0.125em;
}

.standards_count_en {
  display: block;
  margin-top: 18px;
  font-size: 25px;
  line-height: 1;
  letter-spacing: 0.01em;
}

.standards_count_jp {
  margin: 13px 0 0;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.125em;
}

.large_no{
  font-size: 1.5em;
}

.white_tit{
   width: 100%;
   max-width: 500px;
   margin:  30px auto ;
   text-align: center;
   border: 1px solid #857540;
   padding: 15px 0;
   color: #857540;
}


.flow_section {
  background-color: #eeecdf;
}

.consultation_flow {
  margin-top: 30px;
}

.consultation_flow_item {
  position: relative;
  padding: 0 0 70px 60px;
}

.consultation_flow_item::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 70px;
  left: 35px;
  width: 1px;
  background-color: #857540;
}

.consultation_flow_item::after {
  content: "";
  position: absolute;
  left: 30px;
  bottom: 30px;
  width: 0;
  height: 0;
  border-top: 9px solid #857540;
  border-right: 5.5px solid transparent;
  border-left: 5.5px solid transparent;
}

.consultation_flow_item:last-child {
  padding-bottom: 0;
}

.consultation_flow_item:last-child::before {
  bottom: 0;
}

.consultation_flow_item:last-child::after {
  display: none;
}

.consultation_flow_title {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin: 0;
  padding-bottom: 3px;
  color: #857540;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 52%,
    #eeecdf 52%,
    #eeecdf 100%
  );
  font-size: 18px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.075em;
    font-family: 'Zen Old Mincho',
    'Noto Serif SC',
    serif;
}

.consultation_flow_text {
  margin: 14px 0 0;
  color: #000;
  font-size: 14px;
  line-height: 1.57;
  letter-spacing: 0.025em;
  
}

@media screen and (min-width: 798px) {
  .consultation_flow {
    max-width: 760px;
    margin: 50px auto 0;
  }

  .consultation_flow_item {
    padding-left: 90px;
    padding-bottom: 80px;
  }

  .consultation_flow_item::before {
    left: 45px;
    bottom: 80px;
  }

  .consultation_flow_item::after {
    left: 40px;
    bottom: 35px;
  }

  .consultation_flow_item:last-child::before {
    bottom: 0;
  }

  .consultation_flow_title {
    font-size: 20px;
  }

  .consultation_flow_text {
    font-size: 15px;
    line-height: 1.8;
  }
}


.mng_logo{
max-width: 480px;
margin: 30px auto;
}



.mng_logo {
  display: block;
  width: 160px;
  height: auto;
  margin: 0 auto;
}

.mng_role_list {
  display: grid;
  gap: 30px;
  margin-top: 50px;
}

.mng_role_card {
  padding: 30px 14px 27px;
  border: 1px solid #857540;
  border-radius: 10px;
  background-color: transparent;
  box-sizing: border-box;
  text-align: center;
}

.mng_role_logo {
  display: block;
  width: auto;
  max-width: 90px;
  height: 58px;
  margin: 0 auto 20px;
  object-fit: contain;
}

.mng_role_name {
  margin: 0;
  color: #000;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.025em;
}

.mng_role_text {
  margin: 17px 0 0;
  color: #000;
  font-size: 14px;
  line-height: 1.43;
  letter-spacing: 0.025em;
  text-align: left;
}

.mng_role_lead {
  margin: 50px 0 0;
  color: #000;
  font-size: 14px;
  line-height: 1.71;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 798px) {
  .mng_role_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    max-width: 1120px;
    margin: 60px auto 0;
  }

  .mng_role_card {
    padding: 34px 18px 30px;
  }

  .mng_role_lead {
    max-width: 820px;
    margin: 60px auto 0;
    font-size: 15px;
    line-height: 1.9;
  }
}

@media screen and (min-width: 1100px) {
  .mng_role_list {
    grid-template-columns: repeat(4, 1fr);
  }
}


.hiruma_sdgs{
  width: 80%;
  margin: 50px auto;
  max-width: 480px;
}

.hiruma_sdgs {
  display: block;
  width: 100%;
  max-width: 350px;
  height: auto;
  margin-right: auto;
  margin-left: auto;
}

.sdgs_box {
  margin-top: 80px;
}

.sdgs_main_img {
  display: block;
  width: 100%;
  height: auto;
}

.sdgs_icon {
  display: block;
  width: 150px;
  height: auto;
  margin-right: auto;
  margin-left: auto;
}

.sdgs_text {
  margin-top: 30px;
  line-height: 1.8;
}
.sdgs_text_box {
  margin-top: 30px;
}


@media screen and (min-width: 798px) {
  .sdgs_text_box {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 40px;
    align-items: center;
    max-width: 760px;
    margin: 40px auto 0;
  }

  .sdgs_icon {
    width: 120px;
    margin: 0;
  }

  .sdgs_text {
    margin-top: 0;
    font-size: 15px;
    line-height: 1.9;
  }
}

/* グループ各社「私達について・会社概要」ページ共通 */
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .sub_hero .sub_top {
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_lead {
  padding: 14px 0 55px;
}
@media screen and (max-width: 798px) {
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_lead .common_inner {
  width: 88%;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_lead .com_logo_txt p {
  max-width: 660px;
  margin: 0 auto;
  padding: 0 14px;
  font-size: 17px;
  line-height: 1.5;
  letter-spacing: .11em;
}
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_philosophy {
  padding: 35px 0 80px;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_philosophy > .common_inner {
  width: 90%;
  max-width: 800px;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_philosophy_tagline {
  margin: 30px 0;
  font-size: 18px;
  line-height: 1.5;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_body {
  color: #000;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_values {
  margin-top: 36px;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_minor_heading {
  margin: 0;
  color: #000;
  font-size: 16px;
  line-height: 1.5;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_values .about_hiruma_img {
  display: block;
  height: auto;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_value_copy {
  width: 80%;
  max-width: 600px;
  margin: 0 auto;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_value_heading {
  margin: 0 0 15px;
  padding-left: 10px;
  border-left: 2px solid #555;
  color: #000;
  font-size: 16px;
  line-height: 1.4;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_policy {
  margin-top: 36px;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_policy_list {
  width: 80%;
  max-width: 600px;
  margin: 24px auto 0;
  padding: 0;
  list-style: none;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_policy_list li + li {
  margin-top: 16px;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_policy_number {
  display: block;
  color: #857540;
  font-size: 40px;
  line-height: 1.1;
  text-align: center;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_policy_list h4 {
  margin: 4px 0 18px;
  color: #857540;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile {
  background: #e8e5d8;
  padding: 80px 0;
  color: #3b352d;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile * {
  background: transparent;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile .sub_section_title_line {
  background: #857540;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile > .common_inner {
  width: 84%;
  max-width: 800px;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile_logo {
  width: 90px;
  height: auto;
  margin: 0 auto 10px;
  display: block;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile_en {
  text-align: center;
  font-size: 12px;
  color: #7d6b3a;
  margin-top: 10px;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile_phrase {
  text-align: center;
  font-size: 16px;
  line-height: 1.8;
  margin: 18px 0 40px;
  color: #2f2a24;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile_list {
  position: relative;
  display: block;
  width: 100%;
  margin: 40px 0 0;
  color: #3b352d;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile_list::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 128px;
  border-left: 1px solid #857540;
  pointer-events: none;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile_row {
  display: grid;
  width: 100%;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-bottom: 28px;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile_row dt,
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile_row dd {
  float: none;
  width: auto;
  margin-right: 0;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile_row:last-child {
  margin-bottom: 0;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile_row dt {
  white-space: nowrap;
  color: #3b352d;
  font-size: 14px;
  line-height: 1.8;
  font-weight: 500;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile_row dd {
  min-width: 0;
  margin: 0;
  padding-left: 19px;
  color: #3b352d;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.9;
  overflow-wrap: break-word;
}
:is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_profile_row dd br {
  line-height: 1.9;
}
@media screen and (min-width: 798px) {
  :is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_lead {
    padding: 40px 0 90px;
  }
  :is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_philosophy {
    padding: 45px 0 110px;
  }
  :is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .company_policy_list li + li {
    margin-top: 34px;
  }
}


/* 下層ページ PC レイアウト: タイトル直下のメイン画像と本文ブロック */
@media screen and (min-width: 799px) {
  .sub_page_main_visual {
    display: block;
    width: 100%;
    max-width: none;
    height: clamp(350px, 33vw, 500px);
    padding-top: 0;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center center;
  }

  :is(.hiruma_company_page, .mheg_company_page, .biso_company_page, .marumi_company_page) .sub_hero .sub_page_main_visual {
    aspect-ratio: auto;
  }

  .sub_page_main_visual_focus_top {
    object-position: center 25%;
  }

  .marumi_company_page .sub_page_main_visual {
    object-position: center 65%;
  }

  .sub_business_content .sub_business_block {
    max-width: 600px;
    margin-inline: auto;
  }

  .sub_business_content .sub_business_inner {
    width: calc(100% - 40px);
    max-width: 560px;
    padding: 0;
    margin-inline: auto;
  }

  .sub_business_content .sub_business_image {
    width: 100%;
    height: auto;
  }

  .business_detail_sub_img {
    display: block;
    width: min(100%, 780px);
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }

  .sdgs_main_img {
    width: min(100%, 1100px);
    margin-left: auto;
    margin-right: auto;
  }
}

/* FAQ taxonomy archives: existing FAQ card styles remain shared. */
.faq_taxonomy_page .sub_title_heading { min-height: 88px; height: auto; }
.faq_taxonomy_page .sub_title_heading_text { position: relative; top: auto; padding: 17px 20px 17px 93px; left: auto; }
.faq_taxonomy_page .faq_taxonomy_title_no_logo { padding-left: 20px; }
.faq_taxonomy_page .sub_title_heading h1 { overflow-wrap: anywhere; }
.faq_taxonomy_page .sub_breadcrumb_list { flex-wrap: wrap; row-gap: 7px; }
.faq_taxonomy_page .sub_breadcrumb_list li { white-space: normal; line-height: 1.4; }
.faq_taxonomy_page .faq_taxonomy_intro { margin-top: 48px; margin-bottom: 48px; }
.faq_taxonomy_page .faq_taxonomy_overview { margin-top: 48px; margin-bottom: 48px; text-align: center; }
.faq_taxonomy_page .faq_taxonomy_categories { padding: 80px 0; }
.faq_taxonomy_page .faq_taxonomy_card_grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; max-width: 800px; margin: 48px auto 0; padding: 0; list-style: none; }
.faq_taxonomy_page .faq_taxonomy_card { min-width: 0; }
.faq_taxonomy_page .faq_taxonomy_card a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; height: 100%; min-height: 150px; padding: 18px 8px 14px; border: 1px solid #bfb89e; border-radius: 10px; background: #fff; color: #857540; text-align: center; text-decoration: none; }
.faq_taxonomy_page .faq_taxonomy_card a:focus-visible, .faq_taxonomy_page .faq_question_button:focus-visible { outline: 2px solid #857540; outline-offset: 3px; }
.faq_taxonomy_page .faq_taxonomy_card_en { display: inline-block; padding-bottom: 4px; border-bottom: 1px solid #857540; font-size: 12px; }
.faq_taxonomy_page .faq_taxonomy_card_icon { display: block; width: 40px; height: 40px; object-fit: contain; }
.faq_taxonomy_page .faq_taxonomy_card_name {
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.5;
  color: #857540;
  font-weight: 500;
}
.faq_taxonomy_page .faq_taxonomy_card_arrow { display: block; width: 8px; height: 8px; border-top: 1px solid #857540; border-right: 1px solid #857540; transform: rotate(45deg); }
.faq_taxonomy_page .faq_question_button { display: flex; width: calc(100% - 40px); border: 0; border-radius: 0; background: transparent; color: inherit; font-size: inherit; }
.faq_taxonomy_page .faq_more_btn { text-decoration: none; }
.faq_taxonomy_page .faq_item.active .faq_more_btn span { transform: rotate(45deg); }
.faq_taxonomy_page .faq_taxonomy_empty { padding: 60px 0; text-align: center; }
@media screen and (min-width: 798px) {
  .faq_taxonomy_page .sub_title_heading { min-height: 108px; }
  .faq_taxonomy_page .sub_title_heading_text { padding-left: 120px; }
  .faq_taxonomy_page .faq_taxonomy_card_grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  .faq_taxonomy_page .faq_taxonomy_card a { min-height: 190px; }
}
@media screen and (max-width: 498px) {
  .faq_taxonomy_page .faq_question_button { width: calc(100% - 20px); }
  .faq_taxonomy_page .faq_taxonomy_categories { padding: 60px 0; }
}

@media screen and (min-width: 768px) {
  .mheg_about_img {
    display: block;
    width: 730px;
    max-width: 100%;
    margin: 60px auto;
  }
}

/* 蛭間運送トップ: PCデザイン。共通のSP・他ページには適用しない。 */
@media screen and (min-width: 799px) {
  body:has(> .hiruma_main) #header_bx .sp_h,
  body:has(> .hiruma_main) #header_bx .sp_form_link {
    display: block;
  }

  .hiruma_main #about-hiruma:not(.hiruma_consult_section) .about_hiruma_img {
    width: min(100%, 560px);
    max-width: none;
  }


  .hiruma_main .hiruma_consult_section > .common_inner {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 0 40px;
    align-items: center;
  }
  .hiruma_main .hiruma_consult_section h1 {
    grid-column: 1 / -1;
    justify-self: start;
  }
  .hiruma_main .hiruma_consult_section .bc_hiruma_img {
    grid-column: 1;
    grid-row: 2 / 4;
    display: block;
    width: 100%;
    height: auto;
  }
  .hiruma_main .hiruma_consult_section > .common_inner > p {
    grid-column: 2;
    grid-row: 2;
    margin-bottom: 0;
    line-height: 1.8;
  }
  .hiruma_main .hiruma_consult_section > .common_inner > .aline_c {
    grid-column: 2;
    grid-row: 3;
    width: 100%;
    margin-top: 25px;
    align-self: start;
  }
  .hiruma_main .hiruma_consult_section .btn_style {
    margin-top: 0;
  }

  .hiruma_main #hiruma-mng {
    margin-top: 0;
    padding-top: 40px;
    background: #E5E4D9;
  }
  .hiruma_main #hiruma-mng .flex {
    align-items: stretch;
  }
  .hiruma_main #hiruma-mng .manage_box {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    padding: 30px;
  }
  .hiruma_main #hiruma-mng .manage_box > img {
    display: block;
    width: 100%;
    height: auto;
  }
  .hiruma_main #hiruma-mng .manage_box > .bg_fff {
    margin-top: 30px;
    flex: 1;
  }

}
/* 4社トップのファーストビュー。下層ページには適用しない。 */
@media screen and (min-width: 799px) {
  .company_top_intro {
    display: flex;
    flex-direction: column;
    position: relative;
    padding-top: 70px;
    /* The image belongs below the hero, not behind the whole first view. */
    background-image: none;
    background-color: #EDECDF;
  }
  .company_top_intro::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 70px;
    background: #EDECDF;
  }
  :is(.group_company_nav--home, .group_company_nav--company) .company_contents {
    background-color: transparent;
  }
  main.company_top_main .company_top_intro > .sub_hero {
    padding-top: 0;
    padding-bottom: 0;
  }
  :is(.group_company_nav--home, .group_company_nav--company) .sub_menu {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    min-height: 45px;
    margin: 0;
    padding: 0 20px;
    box-sizing: border-box;
    background-color: #EDECDF;
    border: 0;
    align-content: center;
  }
  :is(.group_company_nav--home, .group_company_nav--company) .sub_menu > li {
    position: relative;
    min-width: 0;
  }
  :is(.group_company_nav--home, .group_company_nav--company) .sub_menu > li:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 1px;
    height: 16px;
    background: #d1ccb9;
    transform: translateY(-50%);
  }
  :is(.group_company_nav--home, .group_company_nav--company) .sub_menu .company_btn {
    width: 100%;
    min-height: 24px;
    align-items: center;
    box-sizing: border-box;
  }

  :is(.group_company_nav--home, .group_company_nav--company) .sub_menu .company_btn.active {
    border-bottom: 0;
    padding-bottom: 0;
  }
  body:has(> main.company_top_main) #header_bx .sp_h,
  body:has(> main.company_top_main) #header_bx .sp_form_link {
    display: block;
  }
  body:has(> main.company_top_main) #header_bx .menu_btn:not(.active) span:nth-child(1) {
    top: 9px;
  }
  body:has(> main.company_top_main) #header_bx .menu_btn:not(.active) span:nth-child(2) {
    top: 24px;
  }
  /* 4社切り替えプルダウンはPCだけ一列・高さ70pxにする。 */
  :is(.group_company_nav--home, .group_company_nav--company) .company_contents {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: 0;
  }
  :is(.group_company_nav--home, .group_company_nav--company) .company_contents .company_panel.active {
    width: 100%;
    max-width: none;
    height: 70px;
    min-height: 70px;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    align-items: center;
    gap: 0;
    background: #fff;
    border: 0;
    box-shadow: none;
  }
  :is(.group_company_nav--home, .group_company_nav--company) .company_contents .company_panel_inner {
    display: flex;
    align-items: center;
    gap: 40px;
    width: 100%;
    max-width: 1440px;
    height: 100%;
    margin-inline: auto;
    padding-inline: 20px;
    box-sizing: border-box;
    min-width: 0;
  }
  :is(.group_company_nav--home, .group_company_nav--company) .company_contents .company_panel_inner > img {
    flex: 0 0 auto;
    width: 38px;
    height: auto;
    margin: 0;
  }
  :is(.group_company_nav--home, .group_company_nav--company) .company_contents .menu_grid {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 40px;
    min-width: 0;
    margin: 0;
    padding: 0;
  }
  :is(.group_company_nav--home, .group_company_nav--company) .company_contents .menu_grid li {
    min-width: 0;
    flex: 0 0 auto;
  }
  :is(.group_company_nav--home, .group_company_nav--company) .company_contents .menu_grid a {
    display: block;
    white-space: nowrap;
    font-size: clamp(11px, 0.82vw, 14px);
    letter-spacing: 0;
    line-height: 1.4;
  }
  .company_top_intro > .info {
    padding-top: 50px;
    background-color: #EDECDF;
    /* Keep the paper texture proportional; only the color fade fills the area. */
    background-image:
      linear-gradient(to bottom, rgba(237, 236, 223, 0) 60%, #EDECDF 100%),
      url("../img/bg_main_pc.png");
    /* Skip the source image's transparent 17px top edge at its width scale. */
    background-position: center top, center -1.180556vw;
    background-size: 100% 100%, 100% auto;
    background-repeat: no-repeat;
    padding-bottom: 60px;
  }
  .company_top_intro > .info :where(*) {
    background-color: transparent;
  }
  .company_top_intro > .info > .common_inner {
    position: relative;
  }
  .company_top_intro > .info .topics_ico {
    position: absolute;
    top: 50%;
    left: 0;
    width: 70px;
    margin: 0;
    transform: translateY(-50%);
  }
  .company_top_intro > .info p {
    min-height: 52px;
    margin: 0 0 0 100px;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
  }
  .company_top_intro > .info p > a {
    width: 100%;
    min-height: 52px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 14px;
    line-height: 1.5;
  }
  .company_top_intro > .info p > a > .hel {
    flex: 0 0 105px;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px;
  }
  .company_top_intro > .info p > a > span:last-child {
    margin-left: auto;
  }

  body:has(> .hiruma_main) .page_menu_btn img {
    display: block;
    width: 70px;
    height: 70px;
    object-fit: contain;
  }

}
/* Hiruma top PC design. Keep every rule scoped to this page and above the SP breakpoint. */
@media screen and (min-width: 799px) {
  .hiruma_main .flex_business > .aline_c .btn_style { margin-top: var(--company-pc-inner-gap); }

  .hiruma_main #about-hiruma:not(.hiruma_consult_section) {
    margin-bottom: 0;
  }
  .hiruma_main #about-hiruma:not(.hiruma_consult_section) .about_hiruma_img {
    display: block;
    width: min(100%, 600px);
    height: auto;
    margin: 0 auto var(--company-pc-inner-gap);
  }

  .hiruma_main #hiruma-standards > .common_inner { margin-top: 0; padding-top: 0; padding-bottom: 0; }
  .hiruma_main #hiruma-standards .btn_style { margin-top: var(--company-pc-inner-gap); }

  .hiruma_main .hiruma_consult_section { margin-top: 0; }
  .hiruma_main .hiruma_consult_section > .common_inner { margin-top: 0; padding-top: 0; padding-bottom: 0; }
  .hiruma_main #hiruma-consult.hiruma_consult_section > .common_inner > p.zen {
    margin-top: 0;
    font-family: "Zen Old Mincho", "Noto Serif SC", serif;
    font-size: 15px;
  }

  .hiruma_main #hiruma-mng { margin-top: 0; }
  .hiruma_main #hiruma-mng .manage_box > h2 { font-family: "Zen Old Mincho", serif; font-size: 18px; font-weight: 400; }
  .hiruma_main #hiruma-mng .manage_box > p.font_b { font-size: 18px; }
  .hiruma_main #hiruma-mng .manage_box > p.font_b > span,
  .hiruma_main #hiruma-mng .manage_box > .bg_fff { font-size: 16px; }

}
@media screen and (min-width: 799px) and (max-width: 1100px) {
  .hiruma_main #hiruma-mng.section_pdt120_pc { padding-top: 70px; }
}
@media screen and (min-width: 1101px) {
  .hiruma_main #hiruma-mng.section_pdt120_pc { padding-top: 120px; }
}

/* 4社トップ本文のPC共通ルール。下層ページと798px以下には適用しない。 */
@media screen and (min-width: 799px) {
  .company_top_main {
    --company-pc-section-gap: 150px;
    --company-pc-background-gap: 120px;
    --company-pc-inner-gap: 55px;
  }

  .company_top_main .company_section_bottom_space {
    padding-bottom: var(--company-pc-background-gap);
  }

  /* Section spacing belongs to company tops, not the shared brand component. */
  .company_top_main > .company_intro_section {
    padding-top: 80px;
    padding-bottom: 30px;
  }

  .company_top_main > section:not(.company_intro_section):not(.bg_e5):not(.section_pdt120_pc):not([id^="faq-"]) {
    margin-top: var(--company-pc-section-gap);
  }
  .company_top_main > section:not([id^="faq-"]) > .common_inner.mgt120 { margin-top: 0; }
  .company_top_main > section:not([id^="faq-"]) > .common_inner.pdt120 { padding-top: 0; }

  .company_top_main:not(.hiruma_main) > section.bg_e5 {
    margin-top: 0;
    padding-top: var(--company-pc-background-gap);
    padding-bottom: var(--company-pc-background-gap);
  }
  .company_top_main:not(.hiruma_main) > section.bg_e5 > .common_inner.pdb120,
  .company_top_main:not(.hiruma_main) > section:not(.bg_e5):not([id^="faq-"]) > .common_inner.pdb120 {
    padding-bottom: 0;
  }
  .company_top_main > section.bg_e5.company_content_section--continuous-background { padding-top: 0; }
  .company_top_main > section.bg_e5.company_content_section--faq-adjacent { padding-bottom: 0; }

  .company_top_main > section h1.tit_left:has(> .border_b) {
    position: relative;
    display: inline-block;
    width: max-content;
    max-width: 100%;
    margin-top: 0;
    margin-bottom: var(--company-pc-inner-gap);
    padding-top: 38px;
    font-family: "Zen Old Mincho", "Noto Serif SC", serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.5;
  }
  .company_top_main > section h1.tit_left > .border_b {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    margin: 0;
    padding-bottom: 5px;
    box-sizing: border-box;
    font-family: "SD";
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    white-space: nowrap;
  }
  .company_top_main .company_business_lead {
    margin-bottom: var(--company-pc-inner-gap);
    font-family: "Zen Old Mincho", "Noto Serif SC", serif;
    font-size: 16px;
    line-height: 1.8;
  }
  .company_top_main .company_about_lead {
    margin-top: 0;
    margin-bottom: var(--company-pc-inner-gap);
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 16px;
    line-height: 1.8;
  }

  .company_top_main .company_about_slider {
    max-width: 1100px;
    margin-inline: auto;
  }
  .company_top_main .company_about_slider .text_link_slider_area {
    width: calc(100% - 110px);
    max-width: 800px;
  }
  .company_top_main .company_about_slider .text_link_slider_item {
    --slider-image-width: 100%;
  }
  .company_top_main .company_about_slider .text_link_slider_item > img {
    height: auto;
  }
  .company_top_main .company_about_slider .text_link_slider_prev { left: -45px; }
  .company_top_main .company_about_slider .text_link_slider_next { right: -45px; }
  .company_top_main .company_about_slider .text_link_slider_content {
    font-size: 16px;
  }
  .company_top_main .company_about_slider .text_link_slider_nav {
    width: 100%;
    justify-content: center;
    column-gap: 30px;
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
  .company_top_main .company_about_slider--extended-content .text_link_slider_arrow {
    top: 171px;
  }

  .company_top_main .company_business_cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
  }
  .company_top_main .company_business_cards > .flex48,
  .company_top_main .company_business_cards .service_box_cover {
    display: contents;
  }
  .company_top_main .company_business_cards .service_box {
    display: block;
    flex: 0 0 calc((100% - 90px) / 4);
    min-width: 0;
    margin: 0;
    text-align: left;
  }
  .company_top_main .company_business_cards > .aline_c {
    flex: 0 0 100%;
    width: 100%;
  }
  .company_top_main .company_business_cards .service_box_head {
    display: block;
  }
  .company_top_main .company_business_cards .service_img {
    width: 100%;
  }
  .company_top_main .company_business_cards .service_img > img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
  }
  .company_top_main .company_business_cards .service_txt {
    padding-top: 14px;
  }
  .company_top_main .company_business_cards .service_txt h3 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 18px;
  }
  .company_top_main .company_business_cards .service_txt .sev_t,
  .company_top_main .company_business_cards .service_description {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 16px;
    line-height: 1.7;
  }

  /* Full-bleed images follow the section width, excluding the scrollbar. */
  .company_top_main .company_numbered_section {
    container-type: inline-size;
  }
  .company_top_main .company_numbered_section .company_numbered_image {
    display: block;
    width: 100cqw;
    max-width: none;
    height: auto;
    margin-left: calc(50% - 50cqw);
  }
  .company_top_main .company_numbered_section picture.company_numbered_image > img {
    display: block;
    width: 100%;
    height: auto;
  }
  .company_top_main .company_numbered_section .common_inner:has(> .company_numbered_grid) {
    margin-top: 0;
  }
  .company_top_main .company_numbered_grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 1000px;
    column-gap: 60px;
    row-gap: var(--company-pc-inner-gap);
    margin: var(--company-pc-inner-gap) auto 0;
  }
  .company_top_main .company_numbered_grid > li {
    grid-column: auto;
    width: auto;
    min-width: 0;
    margin-bottom: 0;
  }
  .company_top_main .company_numbered_grid_5 > li:first-child {
    grid-column: 1 / -1;
    width: min(100%, 800px);
    margin-inline: auto;
  }
  .company_top_main .company_numbered_grid .no_box {
    width: 100px;
    box-sizing: border-box;
    font-size: 13px;
  }
  .company_top_main .company_numbered_grid .sd_no {
    font-size: 29px;
  }
  .company_top_main .company_numbered_grid .flex_standards_h2 {
    min-height: 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    font-weight: 400;
  }
  .company_top_main .company_numbered_grid > li > p.zen {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 16px;
  }
  .company_top_main .btn_style {
    width: min(400px, 100%);
    max-width: 100%;
    box-sizing: border-box;
  }
  .company_top_main .btn_style a { font-size: 18px; }

  .company_top_main > section[id^="faq-"] { margin-top: 0; }
  .company_top_main > section[id^="faq-"] > .common_inner {
    max-width: 1100px;
    margin-top: 0;
    padding-top: var(--company-pc-background-gap);
  }
  .company_top_main > section[id^="faq-"] .tit_center {
    font-family: "Zen Old Mincho", serif;
    font-size: 12px;
    font-weight: 400;
  }
  .company_top_main > section[id^="faq-"] .tit_center .SD { font-family: "SD"; font-size: 40px; }
  .company_top_main > section[id^="faq-"] .gold_btn { margin-top: 60px; }
  .company_top_main > section[id^="faq-"] .gold_btn a { font-family: "Zen Old Mincho", serif; font-size: 16px; }
  .company_top_main > section[id^="faq-"] .aline_c.mgb60 + .faq_item { margin-top: 60px; }
  .company_top_main > section[id^="faq-"]:last-child > .common_inner { padding-bottom: 120px; }
}

@media screen and (min-width: 799px) and (max-width: 1100px) {
  .company_top_main {
    --company-pc-section-gap: 75px;
    --company-pc-background-gap: 70px;
  }
  .company_top_main .company_about_slider .text_link_slider_area {
    max-width: 600px;
  }
  .company_top_main .company_about_slider--extended-content .text_link_slider_arrow {
    top: 134px;
  }
  .company_top_main > section[id^="faq-"] .gold_btn { margin-top: 30px; }
  .company_top_main > section[id^="faq-"] .aline_c.mgb60 + .faq_item { margin-top: 30px; }
  .company_top_main > section[id^="faq-"]:last-child > .common_inner { padding-bottom: 70px; }
}

@media screen and (min-width: 799px) and (max-width: 1199px) {
  .company_top_main .company_business_cards .service_box {
    flex-basis: calc((100% - 30px) / 2);
  }
}

@media screen and (min-width: 1200px) {
  .company_top_main .company_business_cards.company_business_cards--five {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .company_top_main .company_business_cards--five > .flex48:first-child > .service_box:first-child { grid-column: 2 / span 2; grid-row: 1; }
  .company_top_main .company_business_cards--five > .flex48:first-child > .service_box:nth-child(2) { grid-column: 4 / span 2; grid-row: 1; }
  .company_top_main .company_business_cards--five > .flex48:first-child > .service_box:nth-child(3),
  .company_top_main .company_business_cards--five > .flex48:nth-child(2) > .service_box:first-child { grid-column: 6 / span 2; grid-row: 1; }
  .company_top_main .company_business_cards--five > .flex48:first-child > .service_box:nth-child(4),
  .company_top_main .company_business_cards--five > .flex48:nth-child(2) > .service_box:nth-child(2) { grid-column: 3 / span 2; grid-row: 2; }
  .company_top_main .company_business_cards--five > .flex48:first-child > .service_box:nth-child(5),
  .company_top_main .company_business_cards--five > .flex48:nth-child(2) > .service_box:nth-child(3) { grid-column: 5 / span 2; grid-row: 2; }
}

@media screen and (min-width: 1101px) {
  .company_top_main .company_numbered_grid_5 > li:first-child > p.zen {
    text-align: center;
  }
  .company_top_main .company_numbered_grid_5 > li:first-child .pc {
    display: none;
  }
}

/* 4社共通の画像表示と、HTMLコピーを使う2社のPC配置。 */
.company_top_intro > .sub_hero {
  padding-top: 65px;
}
.company_top_intro > .sub_hero > picture {
  display: block;
  width: 100%;
}
.company_top_intro > .sub_hero > picture > .sub_top {
  display: block;
  width: 100%;
  height: auto;
  padding-top: 0;
}

@media screen and (max-width: 798px) {
  /* PHPではメニューを画像より前に置き、スマホだけ元の表示順へ戻す。 */
  .company_top_intro { display: flex; flex-direction: column; }
  .company_top_intro > .sub_hero { order: 0; }
  .company_top_intro .sub_menu { order: 1; }
  .company_top_intro .company_contents { order: 2; }
  .company_top_intro > .info { order: 3; }
  .company_top_intro > .sub_hero {
    padding-bottom: 20px;
  }
  .company_top_intro > .sub_hero > .sub_hero_copy {
    top: 65px;
    padding-top: 30px;
  }
  .company_top_intro > .sub_hero > .sub_hero_copy img {
    width: 50px;
    margin-bottom: 8px;
  }
  .company_top_intro > .sub_hero > .sub_hero_copy p {
    font-size: 13px;
  }
  .company_top_intro > .sub_hero > .sub_hero_copy h2 {
    font-size: 16px;
  }
  .company_top_intro .sub_menu {
    padding-bottom: 20px;
  }
  .company_top_intro .sub_menu .company_btn {
    font-size: 12px;
  }
  .company_top_intro .sub_menu .sp_br {
    display: block;
  }
  .company_top_intro .sub_menu li:nth-child(2) .plus_btn {
    margin-top: 8px;
  }
  .company_top_intro .company_contents .company_panel {
    gap: 15px;
  }
  .company_top_intro > .info p {
    font-size: 12px;
    padding-bottom: 5px;
    margin-bottom: 5px;
  }
  .company_top_intro > .info p .hel {
    font-size: 10px;
  }
  .company_top_intro > .info .info_ico {
    width: 22px;
  }
  .company_top_intro > .info .topics_ico {
    width: 50px;
  }
}

@media screen and (min-width: 799px) {
  .company_top_intro > .sub_hero > .sub_hero_copy {
    justify-content: flex-start;
    padding-top: clamp(90px, 11vw, 170px);
    background: transparent;
  }
  .company_top_intro > .sub_hero > .sub_hero_copy img {
    width: clamp(55px, 5.6vw, 80px);
    margin-bottom: 12px;
  }
  .company_top_intro > .sub_hero > .sub_hero_copy p {
    margin-bottom: 10px;
  }
}

/* 下層ページ: 4社の会社概要と蛭間運送の対応事業だけに適用 */
@media screen and (max-width: 798px) {
  .company_business_page .business_page_menu {
    width: auto;
    padding: 0;
    background-color: transparent;
  }
}

@media screen and (min-width: 799px) {
  .company_subpage .sub_hero picture,
  .company_subpage .company_subpage_visual {
    display: block;
    width: 100%;
  }
  .company_subpage .sub_hero .sub_page_main_visual,
  .company_business_page .company_subpage_visual .sub_page_main_visual {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    object-fit: contain;
  }
  .company_about_page--hero-cover .sub_hero .sub_page_main_visual {
    height: clamp(350px, 33vw, 500px);
    object-fit: cover;
  }
  .company_about_page .company_profile {
    padding-bottom: 120px;
  }

  .company_business_page {
    --subpage-section-gap: 150px;
  }
  .company_business_page .company_business_lead {
    padding-top: 55px;
  }
  .company_business_page .company_business_lead .hiruma_logo_wrap {
    padding: 0;
  }
  .company_business_page .company_business_lead .com_logo_txt p {
    max-width: 798px;
    margin: 0 auto;
    font-size: 16px;
    line-height: 1.8;
  }
  .company_business_page .company_business_menu_wrap {
    max-width: 1200px;
    margin-top: 55px;
  }
  .company_business_page .business_page_menu {
    width: 100%;
    max-width: 1200px;
    padding: 0;
  }
  .company_business_page > section[id] {
    margin-top: 0;
    padding-top: var(--subpage-section-gap);
    padding-bottom: 0;
  }
  .company_business_page > section[id]:last-of-type {
    padding-bottom: 120px;
  }
  .company_business_page .sub_section_title_en {
    font-size: 14px;
    font-family: "SD", serif;
  }
  .company_business_page .sub_section_title_line {
    width: 55px;
  }
  .company_business_page .sub_section_title .sub_section_title_jp {
    font-size: 22px;
    font-family: "Zen Old Mincho", serif;
  }
  .company_business_page .company_subpage_visual .business_detail_sub_img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
  }
  .company_business_page .sub_business_content {
    width: min(95%, 1100px);
    max-width: 1100px;
    margin-right: auto;
    margin-left: auto;
  }
  .company_business_page .sub_business_block {
    width: 100%;
    max-width: 1100px;
    margin-right: auto;
    margin-left: auto;
  }
  .company_business_page .sub_business_inner,
  .company_business_page .sub_business_content .sub_business_inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 30px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  .company_business_page .sub_business_image {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 100%;
    height: auto;
  }
  .company_business_page .sub_business_list:not(.sub_business_consultation_list),
  .company_business_page .sub_business_inner > .sub_business_text {
    grid-column: 2;
  }
  .company_business_page .sub_business_list:not(.sub_business_consultation_list) {
    margin-top: 0;
  }
  .company_business_page .sub_business_consultation_list {
    grid-column: 1;
    grid-row: 1 / span 2;
  }
  .company_business_page .sub_business_contact {
    grid-column: 2;
    justify-self: center;
  }
  .company_business_page .sub_business_heading {
    margin-left: 0;
    margin-right: 0;
  }
  .company_business_page .sub_business_text,
  .company_business_page .sub_business_list li {
    font-size: 16px;
    line-height: 1.8;
  }
}

@media screen and (min-width: 799px) and (max-width: 1100px) {
  .company_business_page {
    --subpage-section-gap: 75px;
  }
  .company_business_page .sub_business_inner,
  .company_business_page .sub_business_content .sub_business_inner {
    column-gap: 24px;
  }
  .company_business_page > section[id]:last-of-type,
  .company_about_page .company_profile {
    padding-bottom: 70px;
  }
}

/* 蛭間運送「私達の基準」下層ページの番号付き項目 */
@media screen and (max-width: 798px) {
  .hiruma_standards_page .company_standard_item,
  .hiruma_standards_page .company_standard_row {
    display: contents;
  }
}

@media screen and (min-width: 799px) {
  #biso_project-experience .company_project_grid--three-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2.1vw, 30px);
    align-items: start;
  }

  #biso_project-experience .company_project_grid--three-columns > .biso_taiou_item {
    min-width: 0;
    margin-top: 0;
    overflow-wrap: anywhere;
  }

  #biso_project-experience .company_project_grid--three-columns img {
    width: 100%;
    height: auto;
  }

  .hiruma_standards_page .company_standards_detail {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
    padding-top: 80px;
  }

  .hiruma_standards_page .company_standard_item {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    grid-template-rows: minmax(0, 1fr) auto auto minmax(0, 1fr);
    column-gap: clamp(28px, 4.2vw, 60px);
  }

  .hiruma_standards_page .company_standard_item--reverse {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  }

  .hiruma_standards_page .company_standard_item + .company_standard_item {
    margin-top: 60px;
  }

  .hiruma_standards_page .company_standard_item > .sub_section_title {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    margin: 0 0 40px;
  }

  .hiruma_standards_page .company_standards_detail .sub_section_title_en {
    font-size: 18px;
  }

  .hiruma_standards_page .company_standard_row {
    display: contents;
  }

  .hiruma_standards_page .company_standard_row > img {
    grid-column: 1;
    grid-row: 1 / 5;
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    align-self: center;
  }

  .hiruma_standards_page .company_standard_row > p {
    grid-column: 2;
    grid-row: 3;
    min-width: 0;
    margin: 0;
    padding: 0;
    overflow-wrap: anywhere;
  }

  .hiruma_standards_page .company_standard_item--reverse > .sub_section_title,
  .hiruma_standards_page .company_standard_item--reverse > .company_standard_row > p {
    grid-column: 1;
  }

  .hiruma_standards_page .company_standard_item--reverse > .company_standard_row > img {
    grid-column: 2;
  }
}

/* Standards detail body copy: PC only. */
@media screen and (min-width: 799px) {
  .hiruma_standards_page .company_standard_row .fnt16 {
    font-size: 18px;
  }
}

/* Standards page opening title only; allow the enlarged labels their intrinsic width. */
@media screen and (min-width: 799px) {
  .hiruma_standards_page .standards_count_heading {
    width: max-content;
    min-width: 98px;
    max-width: 100%;
  }

  .hiruma_standards_page .standards_count_heading .standards_count_en {
    font-size: 27px;
  }

  .hiruma_standards_page .standards_count_heading .standards_count_jp {
    font-size: 14px;
    white-space: nowrap;
  }
}

/* 蛭間運送「私達の基準」: 解決事例のPC 3列表示 */
@media screen and (min-width: 1101px) {
  .hiruma_standards_page .company_case_grid--three {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 60px;
    align-items: start;
    margin-top: 50px;
  }

  .hiruma_standards_page .company_case_grid--three > .sub_business_block {
    min-width: 0;
    max-width: none;
    margin: 0;
  }

  .hiruma_standards_page .company_case_grid--three > .sub_business_block > .sub_business_heading {
    min-height: 2.8em;
    margin: 0 0 20px;
  }

  .hiruma_standards_page .company_case_grid--three .sub_business_inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  .hiruma_standards_page .company_case_grid--three .sub_business_image {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
}


/* お問い合わせページ：既存の下層ページCSSに統合 */
/* Contact page only. Typography, spacing and the site shell use existing classes. */
.contact_page .sub_title_heading_text,
.contact_page .sub_title_heading_text * {
  background: transparent;
}

.contact_page .sub_title_heading_text {
  top: 23px;
  left: 20px;
}

.contact_page .sub_title_heading h1,
.contact_page .sub_title_en {
  margin-left: 0;
}

.contact_page .contact_intro {
  padding-right: 20px;
  padding-left: 20px;
}

.contact_page .contact_intro .common_inner,
.contact_page .contact_form_inner {
  max-width: 760px;
}

.contact_page .contact_intro p {
  color: #000;
}

.contact_page .contact_form_area {
  padding-right: 10px;
  padding-left: 10px;
}

/* base.css gives every element a beige background. Keep the form area uniform. */
.contact_page .contact_form_area * {
  background: transparent;
}

.contact_page .contact_form_area option {
  background: #fff;
  color: #000;
}

.contact_page .contact_field {
  min-width: 0;
  padding: 0;
  border: 0;
}

.contact_page .contact_field_heading {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  margin-bottom: 16px;
  color: #000;
  line-height: 1.4;
}

.contact_page .contact_required {
  display: inline-block;
  flex: none;
  margin-left: 0;
  padding: 2px 5px;
  border-radius: 3px;
  background: #857540;
  color: #fff;
  line-height: 1.2;
}

.contact_page .contact_choice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #000;
  line-height: 1.5;
  cursor: pointer;
}

.contact_page .contact_choice + .contact_choice {
  margin-top: 10px;
}

.contact_page .contact_choice input {
  width: 17px;
  height: 17px;
  flex: none;
  margin: 2px 0 0;
  accent-color: #857540;
  background: #fff;
}

.contact_page .contact_choice span {
  color: #000;
  font-size: inherit;
  line-height: inherit;
}

.contact_page .contact_input {
  display: block;
  width: 100%;
  min-height: 46px;
  padding: 11px 12px;
  border: 1px solid #e2dfd3;
  border-radius: 9px;
  background: #fff;
  color: #000;
  line-height: 1.5;
}

.contact_page .contact_input::placeholder {
  color: #999;
  opacity: 1;
}

.contact_page .contact_input:focus-visible,
.contact_page .contact_choice input:focus-visible,
.contact_page .contact_confirm_button:focus-visible {
  outline: 2px solid #857540;
  outline-offset: 2px;
}

.contact_page .contact_location {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.contact_page .contact_city_label {
  color: #000;
  white-space: nowrap;
}

.contact_page .contact_select {
  padding-right: 8px;
  cursor: pointer;
}

.contact_page .contact_textarea {
  min-height: 165px;
  resize: vertical;
}

.contact_page .contact_consent p {
  color: #000;
}

.contact_page .contact_policy_reference {
  color: #357db1;
  font-size: inherit;
  line-height: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.contact_page .contact_consent_choice {
  display: inline-flex;
  border-bottom: 1px solid #555;
  padding-bottom: 3px;
  font-weight: 700;
}

.contact_page .contact_confirm_button {
  display: inline-flex;
  width: min(100%, 315px);
  min-width: 0;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border: 0;
  background: #857540;
  color: #fff;
  line-height: 1.2;
  cursor: pointer;
}

.contact_page .contact_confirm_button span {
  color: #fff;
  font-size: 24px;
  line-height: 0.5;
}

.contact_page .contact_demo_note,
.contact_page .contact_form_status {
  color: #555;
  line-height: 1.5;
}

.contact_page .contact_sr_only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

@media (max-width: 798px) {
  .contact_page .contact_form_inner {
    max-width: calc(100% - 20px);
  }
}

@media (max-width: 359px) {
  .contact_page .contact_location {
    grid-template-columns: 1fr;
  }
}

/* Contact confirmation only: override the shared dl, dt and dd defaults. */
.contact_page .contact_errors {
  color: #8a2525;
  line-height: 1.6;
  margin-bottom: 24px;
}
.contact_page .contact_errors li { margin-left: 1.3em; list-style: disc; }

.contact_page .contact_confirmation .contact_confirmation_title {
  margin: 0;
  color: #222;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

.contact_page .contact_confirmation .contact_review {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  width: 100%;
  margin: 24px 0 0;
  color: #222;
}

.contact_page .contact_confirmation .contact_review > dt,
.contact_page .contact_confirmation .contact_review > dd {
  float: none;
  clear: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 16px 12px;
  border-bottom: 1px solid #c9c6bd;
  color: #222;
  font-size: 14px;
  line-height: 1.7;
  overflow-wrap: anywhere;
  word-break: normal;
}

.contact_page .contact_confirmation .contact_review > dt {
  font-weight: 700;
}

.contact_page .contact_confirmation .contact_confirmation_actions {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 32px;
}

.contact_page .contact_confirmation .contact_edit_button,
.contact_page .contact_confirmation .contact_send_form {
  display: flex;
  width: min(100%, 250px);
  min-width: 0;
  margin: 0;
}

.contact_page .contact_confirmation .contact_edit_button {
  box-sizing: border-box;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border: 1px solid #857540;
  border-radius: 10px;
  color: #584d28;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}

.contact_page .contact_confirmation .contact_send_form > .contact_confirm_button {
  width: 100%;
  min-height: 54px;
  margin: 0;
  background: #857540;
  color: #fff;
}

.contact_page .contact_confirmation .contact_edit_button:focus-visible,
.contact_page .contact_confirmation .contact_send_form > .contact_confirm_button:focus-visible {
  outline: 2px solid #857540;
  outline-offset: 3px;
}

@media (max-width: 798px) {
  .contact_page .contact_confirmation .contact_review { grid-template-columns: minmax(0, 1fr); }
  .contact_page .contact_confirmation .contact_review > dt { padding-bottom: 4px; border-bottom: 0; }
  .contact_page .contact_confirmation .contact_review > dd { padding-top: 4px; }
  .contact_page .contact_confirmation .contact_edit_button,
  .contact_page .contact_confirmation .contact_send_form { width: min(100%, 315px); }
}

/* プライバシーポリシーページ：既存の下層ページCSSに統合 */
/* Privacy page only. Shared title, breadcrumb, type, spacing and site shell use existing classes. */
.privacy_page .sub_title_heading_text,
.privacy_page .sub_title_heading_text * {
  background: transparent;
}

.privacy_page .sub_title_heading_text {
  top: 23px;
  left: 20px;
}

.privacy_page .sub_title_heading h1,
.privacy_page .sub_title_en {
  margin-left: 0;
}

.privacy_page .privacy_content {
  width: 100%;
  max-width: 840px;
  margin: 0 auto;
  padding: 16px 20px 60px;
  box-sizing: border-box;
}

.privacy_page .privacy_intro,
.privacy_page .privacy_section,
.privacy_page .privacy_section h2,
.privacy_page .privacy_section h3,
.privacy_page .privacy_section p,
.privacy_page .privacy_section ul,
.privacy_page .privacy_section li,
.privacy_page .privacy_contact,
.privacy_page .privacy_contact strong,
.privacy_page .privacy_contact span {
  background: transparent;
}

.privacy_page .privacy_intro,
.privacy_page .privacy_section p,
.privacy_page .privacy_section li,
.privacy_page .privacy_contact {
  color: #000;
}

.privacy_page .privacy_section {
  margin-top: 32px;
  padding-left: 14px;
  border-left: 2px solid #857540;
}

.privacy_page .privacy_section h2 {
  margin: 0 0 16px;
  color: #857540;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.privacy_page .privacy_subheading {
  margin: 18px 0 10px;
  color: #000;
  font-size: 16px;
  line-height: 1.5;
}

.privacy_page .privacy_list {
  margin: 8px 0;
  padding: 0;
  list-style: none;
}

.privacy_page .privacy_list li {
  position: relative;
  padding-left: 1em;
}

.privacy_page .privacy_list li::before {
  position: absolute;
  left: 0;
  content: "・";
}

.privacy_page .privacy_contact {
  margin-top: 18px;
}

.privacy_page .privacy_contact span {
  display: inline-block;
  margin-left: 1em;
}

@media (min-width: 799px) {
  .privacy_page .privacy_content {
    padding-top: 36px;
    padding-bottom: 100px;
  }

  .privacy_page .privacy_section {
    margin-top: 42px;
    padding-left: 20px;
  }
}

/* One navigation instance: transparent wrappers preserve the original SP flow. */
.group_company_nav,
.group_company_nav_bar { display: contents; }
.group_company_nav--home { display: block; }

/* News links stay in document flow; only the shared header menu is PC-only. */
.home_news_company_links a { display: block; }
@media screen and (max-width: 798px) {
  .group_company_nav--home { display: none; }
}

@media screen and (min-width: 799px) {
  :is(.group_company_nav--home, .group_company_nav--company),
  :is(.group_company_nav--home, .group_company_nav--company) > .group_company_nav_bar {
    display: block;
    width: 100%;
    max-width: none;
    background: #EDECDF;
    box-sizing: border-box;
    overflow: visible;
  }
  .group_company_nav--home {
    position: fixed;
    inset-inline: 0;
    top: calc(var(--hcj-header-top, 0px) + var(--hcj-header-height, 0px));
    z-index: 9995;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .15s ease, visibility .15s;
  }
  body.hcj_navigation_home #header_bx.scroll + .group_company_nav--home {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  /* Hide only the following PC tabs’ symbols; retain the full-width links. */
  body:has(> #header_bx.scroll) :is(.group_company_nav--home, .group_company_nav--company.is-following) .sub_menu .plus_btn {
    display: none;
  }
  .group_company_nav--company.is-following {
    height: var(--hcj-nav-placeholder-height);
  }
  .group_company_nav--company.is-following > .group_company_nav_bar {
    position: fixed;
    inset-inline: 0;
    top: calc(var(--hcj-header-top, 0px) + var(--hcj-header-height, 0px));
    z-index: 9995;
  }
  .group_company_nav--home .sub_menu > li { width: auto; padding: 0; min-height: 0; }
  .group_company_nav--home .sub_menu .company_btn {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
  }
  body:is(.hcj_navigation_home, .hcj_navigation_company) main [id] {
    scroll-margin-top: calc(var(--hcj-header-height, 0px) + var(--hcj-tab-height, 0px) + var(--hcj-toolbar-offset, 0px) + 16px);
  }
}

/* Front-page Group Role image only; keep the original inline flow on SP. */
.home_group_role_visual { display: contents; }
@media screen and (min-width: 799px) {
  .home_group_role_visual {
    display: block;
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
  }
  .home_group_role_visual > img {
    width: 100%;
    height: auto;
  }
}

/* Make only the four Portfolio button padding areas part of their links. */
.portfolio_business_button { position: relative; }
.portfolio_business_button > a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
}

/* 美創社トップ：グループでの役割。既存共通レイアウトとSPは維持する。 */
@media screen and (min-width: 799px) {
  .biso_main #biso_grouprole.company_group_role--split .group_role_area {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    column-gap: 55px;
  }
  .biso_main #biso_grouprole.company_group_role--split .group_role_img,
  .biso_main #biso_grouprole.company_group_role--split .group_role_content {
    min-width: 0;
  }
  .biso_main #biso_grouprole.company_group_role--split .group_role_img img {
    display: block;
    width: 100%;
    height: auto;
  }
  .biso_main #biso_grouprole.company_group_role--split .group_role_content > h2 {
    margin-top: 0;
  }
  /* 背景とFAQの境目が詰まらないよう、この節のみ下余白を復活。 */
  .company_top_main.biso_main > #biso_grouprole.company_group_role--split.company_content_section--faq-adjacent {
    padding-bottom: var(--company-pc-background-gap, 120px);
  }
}
@media screen and (min-width: 799px) and (max-width: 1100px) {
  .biso_main #biso_grouprole.company_group_role--split .group_role_area {
    column-gap: 30px;
  }
}


/* Group FAQ directory only. Company FAQ and question detail pages are unchanged. */
.faq_directory_page .faq_directory_title_text { padding-left: 5%; }
.faq_directory_page .faq_directory_company { padding: 65px 0 70px; background: #EDECDF; }
.faq_directory_page .faq_directory_company:nth-of-type(even) { background: #E5E4D9; }
.faq_directory_page .faq_taxonomy_card_grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 36px 0 0; padding: 0; list-style: none; }
.faq_directory_page .faq_taxonomy_card { min-width: 0; }
.faq_directory_page .faq_taxonomy_card > a { display: flex; flex-direction: column; align-items: center; height: 100%; min-height: 210px; padding: 24px 12px; border: 1px solid #D1CCB9; border-radius: 14px; background: #fff; color: #857540; text-align: center; text-decoration: none; box-sizing: border-box; }
.faq_directory_page .faq_taxonomy_card > a:focus-visible { outline: 2px solid #857540; outline-offset: 4px; }
.faq_directory_page .faq_taxonomy_card_en { display: inline-block; padding-bottom: 6px; border-bottom: 1px solid #857540; font-size: 14px; line-height: 1; }
.faq_directory_page .faq_directory_icon_slot { display: flex; align-items: center; justify-content: center; width: 60px; height: 54px; margin: 22px 0; }
.faq_directory_page .faq_taxonomy_card_icon { display: block; width: 52px; height: 48px; object-fit: contain; }
.faq_directory_page .faq_taxonomy_card_name { margin-bottom: 18px; color: #857540; font-size: 14px; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
.faq_directory_page .faq_taxonomy_card_arrow { display: block; width: 9px; height: 9px; margin-top: auto; border-top: 1px solid #857540; border-right: 1px solid #857540; transform: rotate(45deg); }
.faq_directory_page .faq_directory_company_link { margin-top: 36px; text-align: center; }
.faq_directory_page .faq_directory_company_link .gold_btn { display: block; width: 100%; max-width: 470px; margin: 0 auto; padding: 0; background: #fff; }
.faq_directory_page .faq_directory_company_link a { position: relative; display: flex; min-height: 46px; padding: 10px 30px; box-sizing: border-box; overflow-wrap: anywhere; }
.faq_directory_page .faq_directory_company_link .more_sankaku { position: absolute; right: 16px; margin: 0; }
.faq_directory_page .faq_directory_empty { margin-top: 36px; color: #333; text-align: center; }
@media screen and (min-width: 799px) {
  .faq_directory_page .faq_directory_company { padding: 75px 0 70px; }
  .faq_directory_page .sub_section_title_en { font-size: 18px; }
  .faq_directory_page .sub_section_title_jp { font-size: 28px; }
  .faq_directory_page .faq_taxonomy_card_grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2.8vw, 45px); margin-top: 50px; }
  .faq_directory_page .faq_taxonomy_card > a { min-height: 235px; padding: 28px 12px; }
  .faq_directory_page .faq_taxonomy_card_en { font-size: 16px; }
  .faq_directory_page .faq_taxonomy_card_name { font-size: 18px; }
  .faq_directory_page .faq_directory_company_link a { font-size: 22px; }
}
@media screen and (min-width: 799px) and (max-width: 1100px) {
  .faq_directory_page .faq_taxonomy_card_name { font-size: 16px; }
  .faq_directory_page .faq_taxonomy_card > a { padding-inline: 10px; }
}
@media screen and (max-width: 449px) {
  .faq_directory_page .faq_taxonomy_card_grid { gap: 12px; }
  .faq_directory_page .faq_directory_company { padding: 50px 0; }
  .faq_directory_page .sub_section_title_jp { font-size: 21px; }
}


/* Shared PC logo/copy component for company tops and company overview leads. */
@media screen and (min-width: 799px) {
  .company_brand_intro { background: none; }
  .company_brand_intro > .company_brand_intro_inner { position: relative; }
  .company_intro_section.company_brand_intro {
    background: var(--company-brand-logo) no-repeat center center;
    background-size: auto calc(100% - 20px);
  }
  .company_lead.company_brand_intro > .company_brand_intro_inner::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    top: calc(50% - 25px);
    height: var(--company-brand-logo-height);
    transform: translateY(-50%);
    background: var(--company-brand-logo) no-repeat center center / auto 100%;
    pointer-events: none;
  }
  .company_brand_intro .hiruma_logo_wrap { position: relative; }
  .company_lead.company_brand_intro > .company_brand_intro_inner {
    display: grid;
    align-items: center;
    min-height: var(--company-brand-logo-height);
  }
  /* Preserve the completed top-page logo dimensions regardless of copy length. */
  .company_brand_intro--hiruma { --company-brand-logo: url(../img/hiruma_bg.svg); --company-brand-logo-height: 205.1875px; }
  .company_brand_intro--mheg { --company-brand-logo: url(../img/mheg_bg.svg); --company-brand-logo-height: 176.390625px; }
  .company_brand_intro--marumi { --company-brand-logo: url(../img/marumi_bg.svg); --company-brand-logo-height: 205.1875px; }
  .company_brand_intro--biso { --company-brand-logo: url(../img/biso_bg.svg); --company-brand-logo-height: 176.390625px; }
  .company_brand_intro > .company_brand_intro_inner {
    width: calc(100% - 40px);
    max-width: 798px;
    margin-inline: auto;
    padding: 0;
    box-sizing: border-box;
  }
  .company_brand_intro .hiruma_logo_wrap { padding: 0; }
  .company_brand_intro .com_logo_txt {
    display: block;
    min-height: 0;
    background: none;
  }
  .company_brand_intro .company_brand_intro_text {
    max-width: none;
    margin: 0;
    padding: 0;
    font-family: "Zen Old Mincho", "Noto Serif SC", serif;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: normal;
  }
}


/* Biso Standards: keep the bottom spacing inside its own background. */
@media screen and (min-width: 799px) {
  .company_top_main.biso_main > #biso_standards {
    padding-bottom: var(--company-pc-background-gap, 120px);
  }
}


/* Hiruma business anchor menu only: four + three equal-width cells, then seven. */
@media screen and (min-width: 799px) {
  .company_business_page .business_page_menu--seven .business_page_menu_list {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-rows: 56px;
    overflow: hidden;
  }
  .company_business_page .business_page_menu--seven .business_page_menu_list > li {
    grid-column: span 3;
    min-width: 0;
    border: 0;
    border-right: 1px solid #c1b9a0;
  }
  .company_business_page .business_page_menu--seven .business_page_menu_list > li:nth-child(n+5) {
    grid-column: span 4;
    border-top: 1px solid #c1b9a0;
  }
  .company_business_page .business_page_menu--seven .business_page_menu_list > li:last-child {
    border-right: 0;
  }
  .company_business_page .business_page_menu--seven .business_page_menu_list a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    height: 100%;
    padding: 8px 20px 8px 8px;
    font-size: clamp(14px, 1.4vw, 16px);
    line-height: 1.4;
    letter-spacing: 0;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
  }
  .company_business_page .business_page_menu--seven .business_page_menu_arrow { right: 8px; width: 5px; height: 5px; }
}
/* Preserve the existing row-end divider below 1200px only. */
@media screen and (min-width: 799px) and (max-width: 1199px) {
  .company_business_page .business_page_menu--seven .business_page_menu_list > li:nth-child(4) {
    border-right: 0;
  }
}
/* Seven cells start where the longest 13px label and right arrow have room. */
@media screen and (min-width: 1180px) {
  .company_business_page .business_page_menu--seven .business_page_menu_list { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .company_business_page .business_page_menu--seven .business_page_menu_list > li,
  .company_business_page .business_page_menu--seven .business_page_menu_list > li:nth-child(n+5) {
    grid-column: auto;
    border: 0;
    border-right: 1px solid #c1b9a0;
  }
  .company_business_page .business_page_menu--seven .business_page_menu_list > li:last-child { border-right: 0; }
  .company_business_page .business_page_menu--seven .business_page_menu_list a { font-size: clamp(13px, 1.05vw, 14px); }
}


/* Hiruma business only: one content width and padding inside each service background. */
@media screen and (min-width: 799px) {
  .hiruma_business_page { --business-service-bottom-gap: 120px; }
  .company_business_page.hiruma_business_page > section.company_business_service {
    padding-bottom: var(--business-service-bottom-gap);
  }
  .hiruma_business_page .sub_business_content {
    width: 100%;
    max-width: none;
    padding-bottom: 0;
  }
  .hiruma_business_page > .company_business_service > .sub_business_content.common_inner {
    width: 95%;
    max-width: 1200px;
  }
  .hiruma_business_page .sub_business_block { max-width: none; }
}
@media screen and (min-width: 799px) and (max-width: 1100px) {
  .hiruma_business_page { --business-service-bottom-gap: 70px; }
}


/* Shared PC content for Mheg / Marumi / Biso company pages only. */
@media screen and (min-width: 799px) {
  .company_profile_content_page { --company-content-gap: 120px; --company-values-gap: 55px; }
  .company_profile_content_page .company_philosophy { padding-bottom: var(--company-content-gap); }
  .company_profile_content_page .company_philosophy > .company_profile_content_inner {
    width: calc(100% - 40px);
    max-width: 1200px;
    margin-inline: auto;
    padding: 0;
    box-sizing: border-box;
  }
  .company_profile_content_page .company_values.company_values_layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto auto minmax(0, 1fr);
    column-gap: var(--company-values-gap);
    margin-top: var(--company-content-gap);
  }
  .company_profile_content_page .company_values_layout > .about_hiruma_img {
    grid-column: 1;
    grid-row: 1 / 5;
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    align-self: center;
  }
  .company_profile_content_page .company_values_layout > .company_minor_heading {
    grid-column: 2;
    grid-row: 2;
    margin: 0 0 28px;
    font-size: 20px;
    text-align: left;
  }
  .company_profile_content_page .company_values_layout > .company_value_copy {
    grid-column: 2;
    grid-row: 3;
    min-width: 0;
    width: 100%;
    max-width: none;
    margin: 0;
    text-align: left;
    overflow-wrap: anywhere;
  }
  .company_profile_content_page .company_policy { margin-top: var(--company-content-gap); }
  .company_profile_content_page .company_policy > .company_minor_heading { font-size: 20px; }
  .company_profile_content_page .company_policy .company_policy_grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 30px;
    row-gap: 32px;
    width: 100%;
    max-width: none;
    margin: 40px 0 0;
    padding: 0;
    list-style: none;
  }
  .company_profile_content_page .company_policy .company_policy_grid > li {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    row-gap: 12px;
    min-width: 0;
    margin: 0;
  }
  .company_profile_content_page .company_policy_grid > li > .company_policy_number { margin: 0; }
  .company_profile_content_page .company_policy_grid > li > h4 {
    margin: 0;
    align-self: start;
  }
  .company_profile_content_page .company_policy_grid > li > p {
    margin: 0;
    text-align: left;
    overflow-wrap: anywhere;
  }
}
@media screen and (min-width: 799px) and (max-width: 1100px) {
  .company_profile_content_page { --company-content-gap: 70px; --company-values-gap: 30px; }
  .company_profile_content_page .company_policy .company_policy_grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* マルミ通商トップ：対応実績4件のPC専用カードグリッド。SPは従来の縦配置。 */
@media screen and (min-width: 799px) {
  .marumi_main #project-experience .marumi_project_grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    align-items: start;
  }
  .marumi_main #project-experience .marumi_project_grid > .marumi_project_body { min-width: 0; }
  .marumi_main #project-experience .marumi_project_grid .marumi_project_img img {
    display: block;
    width: 100%;
    height: auto;
  }
  .marumi_main #project-experience .marumi_project_grid .gold_fff { max-width: 100%; box-sizing: border-box; }
}
@media screen and (min-width: 799px) and (max-width: 1100px) {
  .marumi_main #project-experience .marumi_project_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 35px 25px;
  }
}

/* マルミ通商：美創社のGroup Roleと同じ2カラム設計を共通ルールとして適用。 */
@media screen and (min-width: 799px) {
  .marumi_main #grouprole.company_group_role--split > .common_inner {
    max-width: 1200px;
    box-sizing: border-box;
  }
  .marumi_main #grouprole.company_group_role--split .group_role_area {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    column-gap: 55px;
  }
  .marumi_main #grouprole.company_group_role--split .group_role_img,
  .marumi_main #grouprole.company_group_role--split .group_role_content { min-width: 0; }
  .marumi_main #grouprole.company_group_role--split .group_role_img img { display: block; width: 100%; height: auto; }
  .marumi_main #grouprole.company_group_role--split .group_role_content > h2 { margin-top: 0; }
  .company_top_main.marumi_main > #grouprole.company_group_role--split.company_content_section--faq-adjacent {
    padding-bottom: var(--company-pc-background-gap, 120px);
  }
}
@media screen and (min-width: 799px) and (max-width: 1100px) {
  .marumi_main #grouprole.company_group_role--split .group_role_area { column-gap: 30px; }
}
