@charset "UTF-8";
/* CSS Document */

/*------------------------------------------------
 sub.css
------------------------------------------------*/
h1{
  line-height: 1;
  font-weight: 500;
  font-size: 0.8rem;
}
h1 small{
  display: block;
  line-height: 1.4;
  font-weight: 500;
  font-size: 0.35rem;
  margin-top: 10px;
}
/* 中見出し */
.heading_lined{
  max-width: 500px;
  margin-bottom: 35px;
}
.heading_lined b{
  display: block;
  line-height: 1.3;
  font-weight: 500;
  font-size: 0.55rem;
  color: var(--site_color02);
}
.heading_lined .inner{
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  gap: 0 20px;
}
.heading_lined .inner:has(img){
  grid-template-columns: auto 1fr auto;
}
.heading_lined .inner span{
  line-height: 1.6;
  font-weight: 500;
  font-size: 0.40rem;
  color: var(--site_color02);
}
.heading_lined .inner .lined{
  background-color: var(--site_color02);
  width: 100%;
  height: 1px;
}
.heading_lined .inner img{
  max-height: 50px;
}
.heading_lined.orange b, .heading_lined.orange .inner span{
  color: var(--site_color01);
}
.heading_lined.orange .inner .lined{
  background-color: var(--site_color01);
}



/*------------------------------------------------
 下層タグパーツ
------------------------------------------------*/
.business section{
  margin-bottom: 90px;
}
p{
  line-height: 2.2;
  letter-spacing: 1px;
  font-weight: 500;
  font-size: 0.18rem;
}


/*------------------------------------------------
 下層パーツ
------------------------------------------------*/
/* 下層トップ */
.sub_top{
  position: relative;
  min-height: 440px;
  height: 100%;
  padding: 110px 0 65px;
  margin-bottom: 90px !important;
}
.sub_top figure{
  position: absolute;
  inset: 0;
  z-index: -100;
}
.sub_top img{
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.sub_top figure::before{
  content: "";
  position: absolute;
  background-color: #fff;
  inset: 0;
  opacity: .5;
  z-index: 10;
}
.sub_top .boot{
  width: 100%;
}
/* 中サイズテキスト */
.txt_md{
  display: block;
  line-height: 1.8;
  letter-spacing: 1px;
  font-weight: 500;
  font-size: 0.28rem;
  margin-bottom: 25px;
}


/*------------------------------------------------
 背景色ボックス
------------------------------------------------*/
/* 包括親要素 */
.fill_wrap{
  position: relative;
}
/* 疑似色ボックス */
.fill_wrap::before{
  content: "";
  position: absolute;
  background-color: var(--site_color02);
  width: 70%;
  z-index: -100;
}
/* 個別指定｜包括親要素 */
.business_service_box01_wrap{
  padding-bottom: 40px;
}
.product_content_box01_wrap{
  padding-bottom: 100px;
}
.product_content_box04_wrap{
  padding: 90px 0 60px;
}
.about_history_wrap{
  padding-bottom: 60px;
}
.about_order_wrap{
  padding-bottom: 120px;
}
.oem_process_wrap{
  padding-bottom: 120px;
}
/* 個別指定｜疑似色ボックス */
.business_service_box01_wrap::before{
  top: 40px;
  bottom: 0;
  left: 0;
}
.business_service_box02_wrap::before{
  height: 1360px;
  top: 40px;
  right: 0;
}
.business_introduce_box_wrap::before {
  background-color: var(--site_color01);
  height: 680px;
  right: 0;
  top: 25%;
}
.business_particulars_box_wrap::before{
  height: 1360px;
  top: -50%;
  left: 0;
}
.business_info_box_wrap::before{
  background-color: var(--site_color01);
  height: 680px;
  left: 0;
  top: 15px;
}
.product_content_box01_wrap::before{
  height: 55%;
  bottom: 0;
  left: 0;
}
.product_content_box02_wrap::before{
  bottom: -250px;
  top: 40px;
  right: 0;
}
.product_content_box03_wrap::before{
  background-color: var(--site_color01);
  height: 680px;
  top: -10%;
  right: 0;
}
.product_content_box04_wrap::before{
  left: 0;
  top: 0;
  bottom: 0;
}
.product_content_box05_wrap::before{
  background-color: var(--site_color01);
  transform: translateY(-50%);
  top: 50%;
  left: 0;
  height: 40%;
}
.about_outline_wrap::before{
  top: -20%;
  right: 0;
  height: 550px;
}
.about_history_wrap::before{
  background-color: var(--site_color01);
  height: 60%;
  right: 0;
  bottom: 0;
}
.about_order_wrap::before{
  height: 88%;
  left: 0;
  bottom: 0;
}
.oem_policy_wrap::before {
  height: 80%;
  bottom: -65%;
  left: 0;
}
.oem_process_wrap::before{
  height: 65%;
  right: 0;
  bottom: 0;
}
.brand_about_wrap::before{
  height: 80%;
  bottom: -50%;
  left: 0;
}
.brand_item_wrap::before{
  transform: translateY(-50%);
  height: 60%;
  top: 50%;
  right: 0;
}
.brand_item_wrap::after{
  content: "";
  position: absolute;
  background-color: var(--site_color01);
  width: 70%;
  z-index: -100;
  bottom: -8%;
  right: 0;
  height: 10%;
}
/* レスポンシブサイズ */
@media screen and (max-width:767px) {
  .business_service_box01_wrap{
    padding-bottom: 0;
  }
  .business_service_box01_wrap::before {
    top: 35%;
    bottom: -15%;
  }
  .business_service_box02_wrap::before {
    height: 1050px;
    top: 35%;
  }
  .business_introduce_box_wrap::before {
    height: 875px;
    top: -30px;
  }
  .business_particulars_box_wrap::before {
    height: 65%;
  }
  .business_info_box_wrap::before {
    height: 30%;
    top: 34%;
  }
  .product_content_box01_wrap {
    padding-bottom: 55px;
  }
  .product_content_box04_wrap {
    padding-top: 55px;
    margin-bottom: 0;
  }
  .oem_process_wrap {
    padding-bottom: 60px;
  }
}

/* 白背景塗りボックス */
.fill_content_left, .fill_content_right, .fill_content_both{
  position: relative;
}
.fill_content_left{
  padding-left: 15px;
}
.fill_content_right{
  padding-right: 15px;
}
.fill_content_both{
  padding-left: 15px;
  padding-right: 15px;
}
.fill_content_left::before, .fill_content_right::before, .fill_content_both::before{
  content: "";
  position: absolute;
  background-color: #ffffff;
  border-radius: 20px;
  inset: 0;
  z-index: -10;
}
.fill_content_left::before{
  left: 10%;
}
.fill_content_right::before{
  right: 10%;
}
.fill_content_both::before{
  inset: 0 10%;
}
/* レスポンシブサイズ */
@media screen and (max-width:1700px){
  .fill_content_left::before{
    left: 5%;
  }
  .fill_content_right::before{
    right: 5%;
  }
  .fill_content_both::before{
    inset: 0 5%;
  }
}
@media screen and (max-width:1500px){
  .fill_content_left::before{
    left: 15px;
  }
  .fill_content_right::before{
    right: 15px;
  }
  .fill_content_both::before{
    inset: 0 15px;
  }
}



/*------------------------------------------------
 事業案内
------------------------------------------------*/
/* お魚ボックス */
.business_fish_box{
  max-width: 1095px;
  margin: 0 auto;
}
.business_fish_box ul{
  list-style: none;
}
.business_fish_list{
  display: grid;
  align-items: center;
  grid-template-columns: 35.4% 34% 31.5%;
  padding-left: 4.5%;
}
.business_fish_list li{
  margin-left: -13%;
}
.business_fish_list li:nth-child(1){
  z-index: 3;
}
.business_fish_list li:nth-child(2){
  z-index: 2;
}
.business_fish_list li:nth-child(3){
  z-index: 1;
}
.business_fish_arrow_list{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 65%;
  margin: 55px auto 40px;
}
.business_fish_heading b{
  display: block;
  text-align: center;
  line-height: 1.3;
  font-weight: 500;
  font-size: 0.35rem;
  margin-bottom: 10px;
}
.business_fish_heading article{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  max-width: max-content;
  margin: 0 auto;
}
.business_fish_heading article span{
  line-height: 1.3;
  font-weight: 500;
  font-size: 0.54rem;
}
.business_fish_heading article span:nth-child(1){
  color: var(--site_color04);
}
.business_fish_heading article span:nth-child(2){
  color: var(--site_color03);
}
.business_fish_heading article span:nth-child(3){
  color: var(--site_color02);
}
/* サービスボックス */
.business_service_box{
  position: relative;
  background-color: #ffffff;
  border-radius: 20px;
  padding: 50px 60px 65px;
}
.business_service_content{
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 420px;
  gap: 100px;
}
.business_service_content img{
  display: block;
  width: 100%;
  border-radius: 20px;
}
/* サービスボックス個別指定 */
.business_service_box.business_service_box01{
  margin-right: 10%;
}
.business_service_box.business_service_box01 .heading_lined b,
.business_service_box.business_service_box01 .heading_lined .inner span{
  color: var(--site_color04);
}
.business_service_box.business_service_box01 .heading_lined .inner .lined{
  background-color: var(--site_color04);
}
.business_service_box.business_service_box02{
  margin-left: 10%;
}
.business_service_box.business_service_box02 .heading_lined b,
.business_service_box.business_service_box02 .heading_lined .inner span{
  color: var(--site_color03);
}
.business_service_box.business_service_box02 .heading_lined .inner .lined{
  background-color: var(--site_color03);
}
.business_service_box.business_service_box03{
  margin-right: 10%;
}
/* 自社関連会社コンテンツ */
.business_introduce_box{
  background-color: #ffffff;
  border-radius: 20px;
  padding: 80px 60px 95px;
}
.business_introduce_content{
  display: flex;
  align-items: center;
  gap: 100px;
}
.business_introduce_content article{
  width: auto;
}
.business_introduce_content article *{
  display: block;
  font-weight: 500;
}
.business_introduce_content article strong{
  line-height: 1.4;
  font-size: 0.35rem;
  color: var(--site_color01);
  margin-bottom: 15px;
}
.business_introduce_content img{
  display: block;
  width: 490px;
  border-radius: 20px;
}
/* 自社関連会社コンテンツ個別指定 */
.business_introduce_content.business_introduce_content02{
  margin-bottom: 125px;
}
.business_introduce_content.business_introduce_content03{
  margin-bottom: 80px;
}
/* 装飾ライン */
.business_introduce_line{
  background-color: var(--site_color01);
  height: 115px;
  width: 1px;
  border: 0;
  margin: 30px 0 25px;
  margin-left: 25%;
}
/* こだわりポイントコンテンツ */
.business_particulars_box{
  background-color: #fff;
  width: calc(100% - 30px);
  max-width: 1540px;
  border-radius: 20px;
  padding: 50px 60px 65px;
  margin: 0 auto;
}
.business_particulars_grid{
  display: grid;
  align-items: flex-start;
  grid-template-columns: 1fr 610px;
  margin-right: 5%;
  gap: 80px;
}
.business_particulars_grid article{
  padding-top: 150px;
}
.business_particulars_grid article b{
  display: block;
  font-weight: 500;
  font-size: 0.28rem;
  line-height: 1.4;
  border-bottom: 2px solid var(--site_color01);
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.business_particulars_grid img{
  border-radius: 20px;
}
.business_particulars_list{
  display: grid;
  list-style: none;
  align-items: flex-start;
  grid-template-columns: 38% 1fr;
  gap: 7%;
  max-width: 1020px;
  margin-top: 30px;
  margin-left: auto;
}
.business_particulars_list li:first-of-type{
  margin-top: 25px;
}
.business_particulars_list li img{
  border-radius: 20px;
}
/* 基本情報ボックス */
.business_info_box{
  position: relative;
  background-color: #fff;
  border-radius: 20px;
  max-width: 1420px;
  width: calc(100% - 30px);
  padding: 30px 15px 100px;
  margin: 0 auto;
}
.business_info_inner{
  max-width: 790px;
  margin: 0 auto;
}
.business_info_inner h2{
  line-height: 1.4;
  font-weight: 600;
  font-size: 0.28rem;
  margin-bottom: 15px;
}
.business_info_inner table{
  width: 100%;
}
.business_info_inner table tr{
  width: 100%;
}
.business_info_inner table th, .business_info_inner table td{
  border-bottom: 1px solid var(--font_color);
  padding: 20px 0;
}
.business_info_inner table th{
  width: 20%;
  font-weight: 600;
  font-size: 0.2rem;
}
.business_info_inner table td{
  width: 80%;
  font-size: 0.18rem;
  letter-spacing: 1px;
}


/*------------------------------------------------
 取り扱い商品
------------------------------------------------*/
/* ページ内リンクリスト */
.product_jump_list{
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  align-items: center;
  justify-content: center;
  gap: 15px 30px;
  padding: 0 15px;
}
.product_jump_list a {
  display: block;
  text-align: center;
  border: 1px solid var(--site_color01);
  border-radius: 5px;
  font-weight: 500;
  font-size: 0.22rem;
  width: 210px;
  padding: 10px 5px 12px;
}
/* 商品コンテンツボックス */
.product_content_box{
  position: relative;
  padding: 60px 15px;
}
.product_content_box::before {
  content: "";
  position: absolute;
  background-color: #fff;
  border-radius: 0 20px 20px 0;
  max-width: 90%;
  width: calc(100% - 15px);
  inset: 0;
  z-index: -10;
}
.product_content_box.right::before{
  border-radius: 20px 0 0 20px;
  left: unset;
}
.product_content_box article{
  line-height: 1.9;
  letter-spacing: 1px;
  font-weight: 500;
  font-size: 0.25rem;
  margin-bottom: 45px;
}
.product_content_box ul{
  display: grid;
  list-style: none;
  align-items: flex-start;
  grid-template-columns: repeat(2, 1fr);
  gap: 5%;
}
.product_content_box li *{
  display: block;
}
.product_content_box img{
  border-radius: 20px;
  margin-bottom: 30px;
}
.product_content_box strong {
  line-height: 1.4;
  font-weight: 500;
  font-size: 0.28rem;
  margin-bottom: 20px;
}
.product_content_box p{
  margin-bottom: 25px;
}
.product_content_box p:last-of-type{
  margin-bottom: 0;
}
.product_content_box p:empty{
  display: none;
}
/* OEM箇所 */
.product_content_box .product_oem_list{
  display: block;
  max-width: 1070px;
  margin: 0 auto;
}
.product_content_box .product_oem_list li{
  max-width: 610px;
}
.product_content_box .product_oem_list li:last-of-type{
  margin-left: auto;
}
.product_content_box .product_oem_list .lined{
  background-color: var(--site_color01);
  width: 1px;
  height: 120px;
  margin: -75px auto 25px;
}
.product_content_box .product_oem_list img{
  margin-bottom: 15px;
}
.product_content_box .product_oem_list strong{
  margin-bottom: 10px;
}


/*------------------------------------------------
 私たちについて
------------------------------------------------*/
/* 経営方針コンテンツ */
.about_policy_fill{
  position: relative;
  padding-right: 15px;
  padding-bottom: 80px;
}
.about_policy_content {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(45%, 500px) 1fr;
  max-width: 1100px;
  margin: 0 auto;
}
.about_policy_list{
  list-style: none;
  margin-left: -160px;
}
.about_policy_list li {
  display: grid;
  align-items: flex-start;
  grid-template-columns: 210px 1fr;
  gap: 35px;
  margin-bottom: 30px;
}
.about_policy_list li:nth-child(2){
  margin-left: 120px;
}
.about_policy_list li:last-of-type{
  margin-bottom: 0;
}
.about_policy_list strong {
  display: block;
  line-height: 1;
  font-weight: 500;
  font-size: 0.79rem;
  color: var(--site_color02);
}
.about_policy_list .about_circle{
  position: relative;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid var(--site_color02);
  background-color: #fff;
  border-radius: 1000px;
  padding: 0 0 6px 6px;
}
.about_policy_list .about_circle *{
  text-align: center;
  line-height: 1.3;
  font-weight: 500;
  font-size: 0.34rem;
}
.about_policy_list .about_circle strong {
  position: absolute;
  background-color: #fff;
  border-radius: 1000px;
  font-size: 0.45rem;
  top: -15px;
  right: -15px;
  padding: 5px;
}
.about_policy_list .about_circle p{
  color: var(--site_color02);
}
.about_policy_list .about_circle p span{
  color: var(--site_color01);
}
.about_policy_list article strong{
  margin-left: -5px;
  margin-bottom: 15px;
}
.about_policy_list article p{
  font-size: 0.16rem;
}
/* 会社概要コンテンツ */
.about_outline_content{
  position: relative;
  padding-top: 80px;
}
.about_outline_content::before{
  content: "";
  position: absolute;
  background-color: #fff;
  inset: 0;
  z-index: -10;
}
.about_outline_list{
  list-style: none;
}
.about_outline_list li{
  display: grid;
  align-items: stretch;
  grid-template-columns: 220px 1fr;
  gap: 130px;
}
.about_outline_list b, .about_outline_list article{
  display: block;
  border-bottom: 1px solid var(--site_color02);
  font-size: 0.18rem;
  letter-spacing: 1px;
  padding: 20px 0;
}
.about_outline_list b{
  display: flex;
  align-items: center;
  font-weight: 700;
}
.about_outline_list article{
  font-weight: 500;
}
.about_outline_list li > br, .about_outline_list p:empty{
  display: none;
}
/* 沿革コンテンツ */
.about_history_fill{
  position: relative;
  padding-bottom: 120px;
}
.about_history_content{
  position: relative;
}
.about_history_content figure{
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
}
.about_history_content figure img{
  display: block;
  object-fit: cover;
  border-radius: 20px;
  width: 100%;
  height: 100%;
}
.about_history_timeline{
  position: relative;
  max-width: max-content;
}
.about_history_timeline::before{
  content: "";
  position: absolute;
  background-color: var(--site_color02);
  width: 2px;
  top: 0;
  bottom: 0;
  left: 178px;
}
.about_history_timeline ul{
  list-style: none;
  padding: 40px 0;
}
.about_history_timeline li{
  position: relative;
  display: grid;
  align-items: flex-start;
  grid-template-columns: 205px 1fr;
  margin-bottom: 70px;
}
.about_history_timeline li:last-of-type{
  margin-bottom: 0;
}
.about_history_timeline li::before {
  content: "";
  position: absolute;
  aspect-ratio: 1/1;
  border-radius: 1000px;
  background-color: var(--site_color01);
  top: 9px;
  left: 169px;
  width: 20px;
}
.about_history_timeline b, .about_history_timeline b span, .about_history_timeline b .year{
  font-weight: 700;
}
.about_history_timeline b{
  font-size: 0.18rem;
}
.about_history_timeline b span{
  display: inline-block;
  color: var(--site_color02);
  vertical-align: -1px;
  font-size: 0.3rem;
  margin: 0 3px;
}
.about_history_timeline b .year{
  display: inline-block;
}
.about_history_timeline article {
  line-height: 2.1;
  letter-spacing: 2px;
  font-size: 0.18rem;
  font-weight: 500;
  padding-top: 0px;
}
/* 五十音順コンテンツ */
.about_order_fill{
  position: relative;
  padding-left: 15px;
  padding-bottom: 90px;
}
.about_order_list_box{
  display: grid;
  align-items: flex-start;
  grid-template-columns: repeat(3, 1fr);
  gap: 45px 15px;
  margin-top: 25px;
}
.about_order_list_box ul{
  list-style: none;
}
.about_order_list_box li{
  font-weight: 500;
  margin-bottom: 15px;
}
.about_order_list_box li:last-of-type{
  margin-bottom: 0;
}
/* 個別指定 */
.about_order_list_box .about_order_list01{
  order: 1;
}
.about_order_list_box .about_order_list02{
  order: 2;
}
.about_order_list_box .about_order_list03{
  order: 3;
}


/*------------------------------------------------
 OEM商品
------------------------------------------------*/
/* ポリシーコンテンツ */
.oem_policy_box{
  position: relative;
  overflow: hidden;
  padding-left: 15px;
  padding-bottom: 45px;
}
.oem_policy_label{
  max-width: max-content;
  margin: 60px 0 90px;
  margin-left: auto;
}
.oem_policy_label strong{
  display: block;
  font-size: 0.40rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 25px;
}
.oem_policy_label b{
  display: block;
  position: relative;
  color: #ffffff;
  font-size: 0.69rem;
  font-weight: 600;
  line-height: 1.3;
  padding: 5px 0px 10px 15px;
}
.oem_policy_label b::before{
  content: "";
  position: absolute;
  background: var(--site_color02) url(../img/common/parts/fill_dot.png) repeat;
  background-size: 112px;
  border-radius: 8px;
  inset: 0;
  right: -100vw;
  z-index: -10;
}
.oem_policy_box article p{
  line-height: 2.6;
  font-size: 0.16rem;
  margin-bottom: 45px;
}
/* プロセスコンテンツ */
.oem_process_box{
  position: relative;
  padding: 65px 15px 90px;
}
.oem_process_list{
  display: grid;
  list-style: none;
  align-items: flex-start;
  grid-template-columns: repeat(3, 1fr);
  gap: 45px 5%;
  margin-top: 65px;
}
.oem_process_list b{
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.2rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 10px;
}
.oem_process_list b span{
  color: var(--site_color02);
  font-size: 0.55rem;
  font-weight: 500;
  line-height: 1;
  padding-bottom: 3px;
}
.oem_process_list img{
  display: block;
  object-fit: cover;
  border-radius: 20px;
  width: 100%;
}
.oem_process_list article{
  margin-top: 15px;
}
.oem_process_list article *{
  font-weight: 500;
  font-size: 0.16rem;
  line-height: 1.8;
}
.oem_process_list article span{
  display: inline-block;
  color: var(--site_color01);
  margin: 0 5px;
}


/*------------------------------------------------
 北のブランド
------------------------------------------------*/
/* 北のブランドについてコンテンツ */
.brand_about_content_box{
  position: relative;
  padding-bottom: 90px;
}
.brand_about_content_inner{
  position: relative;
}
.brand_about_content_inner .heading_lined{
  margin-bottom: 65px;
}
.brand_about_content_inner p{
  font-size: 0.16rem;
  line-height: 2.4;
}
.brand_about_content_inner .brand_about_txt_end, .brand_about_content_inner .brand_about_txt_end a{
  line-height: 2;
  font-weight: 500;
  font-size: 0.18rem;
  margin-top: 45px;
}
.brand_about_content_inner .brand_about_txt_end a{
  color: var(--site_color02);
}
.brand_about_content_inner ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  align-items: center;
  gap: 25px 5%;
  margin: 35px 0;
}
.brand_about_content_inner li{
  display: flex;
  align-items: center;
  font-weight: 500;
  font-size: 0.25rem;
  line-height: 1.4;
  gap: 10px;
}
.brand_about_content_inner li span{
  color: var(--site_color02);
  font-weight: 500;
  font-size: 0.4rem;
  line-height: 1;
}
.brand_about_content_inner .brand_about_banner{
  margin-top: 15px;
}
.brand_about_content_inner .brand_about_logo{
  position: absolute;
  right: 0;
  top: 0;
}
/* 取り扱い商品コンテンツ */
.brand_item_content_box{
  padding-top: 45px;
  padding-bottom: 90px;
}
.brand_item_list{
  list-style: none;
}
.brand_item_list li{
  margin-bottom: 65px;
}
.brand_item_list .brand_item_inner{
  display: grid;
  align-items: center;
  grid-template-columns: 50% 1fr;
  gap: 5%;
}
.brand_item_list .brand_item_inner img{
  border-radius: 20px;
}
.brand_item_list .brand_item_inner b {
  display: block;
  line-height: 1.4;
  font-size: 0.28rem;
  font-weight: 500;
  margin-bottom: 25px;
}


/*------------------------------------------------
 レスポンシブ　　　max-width:1700px
------------------------------------------------*/
@media screen and (max-width:1700px) {
  .product_content_box::before{
    max-width: 95%;
  }
}

/*------------------------------------------------
 レスポンシブ　　　max-width:1500px
------------------------------------------------*/
@media screen and (max-width:1500px) {
  .product_content_box::before{
    max-width: 100%;
  }
}

/*------------------------------------------------
 レスポンシブ　　　max-width:1199px
------------------------------------------------*/
@media screen and (max-width:1199px) {
  .heading_lined b {
    font-size: 0.5rem;
  }
  .heading_lined {
    margin-bottom: 25px;
  }
  .heading_lined .inner span {
    font-size: 0.3rem;
  }
  .txt_md {
    font-size: 0.24rem;
  }
  .business_service_box.business_service_box01,
  .business_service_box.business_service_box02,
  .business_service_box.business_service_box03 {
    margin: 0;
  }
  .business_service_content {
    grid-template-columns: 1fr 350px;
    gap: 55px;
  }
  .business_introduce_content {
    gap: 55px;
  }
  .business_introduce_content img {
    width: 350px;
  }
  .business_introduce_content article strong {
    font-size: 0.28rem;
  }
  .business_particulars_grid {
    align-items: center;
    grid-template-columns: 1fr 40%;
    gap: 5%;
  }
  .business_particulars_grid article{
    padding: 0;
  }
  .business_particulars_list {
    gap: 4%;
    margin-left: 15%;
  }
  .product_jump_list {
    gap: 13px 15px;
  }
  .product_jump_list a {
    font-size: 0.18rem;
    width: 175px;
    padding: 5px 5px 6px;
  }
  .product_content_box article {
    font-size: 0.2rem;
    margin-bottom: 30px;
  }
  .about_policy_content {
    grid-template-columns: 45% 1fr;
  }
  .about_policy_list li {
    align-items: center;
    grid-template-columns: 170px 1fr;
    gap: 25px;
  }
  .about_policy_list .about_circle * {
    font-size: 0.28rem;
  }
  .about_policy_list article strong {
    font-size: 0.65rem;
  }
  .about_outline_list li {
    gap: 5%;
  }
  .about_order_list_box {
    grid-template-columns: repeat(2, 1fr);
  }
  .oem_policy_label {
    margin-top: 45px;
    margin-bottom: 65px;
  }
  .oem_policy_label strong {
    font-size: 0.32rem;
    margin-bottom: 15px;
  }
  .oem_policy_label b {
    font-size: 0.58rem;
  }
  .brand_about_content_inner .brand_about_logo {
    width: 130px;
  }
  .brand_item_list .brand_item_inner {
    grid-template-columns: 40% 1fr;
  }
}

/*------------------------------------------------
 レスポンシブ　　　max-width:991px
------------------------------------------------*/
@media screen and (max-width:991px) {
  section{
    margin-bottom: 60px;
  }
  h1 {
    font-size: 0.65rem;
  }
  h1 small {
    font-size: 0.28rem;
  }
  .heading_lined b {
    font-size: 0.45rem;
  }
  .txt_md {
    font-size: 0.22rem;
  }
  p {
    font-size: 0.16rem;
  }
  .sub_top {
    display: flex;
    align-items: center;
    min-height: 330px;
    padding-top: 45px;
  }
  .business_fish_arrow_list{
    margin: 40px auto 35px;
  }
  .business_fish_arrow_list img{
    display: block;
    width: 65%;
    margin: 0 auto;
  }
  .business_fish_heading b {
    font-size: 0.28rem;
  }
  .business_fish_heading article span {
    font-size: 0.45rem;
  }
  .business_service_content{
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .business_introduce_content{
    flex-wrap: wrap;
    gap: 25px;
  }
  .business_introduce_content.business_introduce_content02 {
    margin-bottom: 0;
  }
  .business_introduce_content.business_introduce_content03 {
    margin-bottom: 40px;
  }
  .business_introduce_content img{
    width: 100%;
  }
  .business_introduce_line{
    height: 80px;
    margin-left: auto;
    margin-right: auto;
  }
  .business_particulars_grid{
    grid-template-columns: 1fr;
    gap: 30px;
    margin: 0;
  }
  .business_particulars_list {
    margin-left: 0;
  }
  .business_particulars_grid article b {
    font-size: 0.22rem;
  }
  .business_info_inner h2 {
    font-size: 0.25rem;
  }
  .product_content_box {
    padding: 45px 15px;
  }
  .product_content_box article {
    font-size: 0.18rem;
  }
  .product_content_box img{
    margin-bottom: 20px;
  }
  .product_content_box strong {
    font-size: 0.22rem;
    margin-bottom: 15px;
  }
  .about_policy_content{
    position: relative;
    display: block;
  }
  .about_policy_content figure{
    display: none;
  }
  .about_policy_list {
    max-width: max-content;
    margin: 0 auto;
  }
  .about_policy_list li:nth-child(2){
    margin-left: 0;
  }
  .about_outline_list li{
    display: block;
    border-bottom: 1px solid var(--site_color02);
    padding: 15px 0;
  }
  .about_outline_list b, .about_outline_list article{
    font-size: 0.16rem;
    border: 0;
    padding: 0;
  }
  .about_history_content figure {
    width: 43%;
  }
  .about_history_timeline::before {
    left: 168px;
  }
  .about_history_timeline li {
    grid-template-columns: 190px 1fr;
    margin-bottom: 50px;
  }
  .about_history_timeline li::before {
    left: 159px;
  }
  .about_history_timeline b {
    font-size: 0.16rem;
  }
  .about_history_timeline article {
    font-size: 0.16rem;
  }
  .about_order_wrap {
    padding-bottom: 45px;
  }
  .about_order_fill {
    padding-bottom: 55px;
  }
  .oem_policy_label strong {
    font-size: 0.28rem;
  }
  .oem_policy_label b {
    font-size: 0.45rem;
  }
  .oem_policy_box article p {
    line-height: 2.4;
    margin-bottom: 25px;
  }
  .oem_process_list {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 45px;
  }
  .brand_item_list .brand_item_inner b {
    font-size: 0.24rem;
    margin-bottom: 15px;
  }
}

/*------------------------------------------------
 レスポンシブ　　　max-width:767px
------------------------------------------------*/
@media screen and (max-width:767px) {
  .business section{
    margin-bottom: 30px;
  }
  h1 {
    font-size: 0.55rem;
  }
  h1 small {
    font-size: 0.24rem;
  }
  .heading_lined .inner img {
    max-height: 45px;
  }
  .sub_top {
    min-height: 280px;
  }
  .txt_md {
    font-size: 0.2rem;
  }
  .business_service_box {
    padding: 25px 15px 20px;
  }
  .business_introduce_box {
    padding: 25px 15px 55px;
  }
  .business_particulars_box{
    padding: 30px 0px 15px;
  }
  .business_info_box{
    padding: 0 0px 35px;
  }
  .business_particulars_list {
    grid-template-columns: 1fr;
    gap: 25px;
    margin-top: 25px;
  }
  .business_particulars_list li:first-of-type {
    margin-top: 0px;
  }
  .business_info_inner table tr, .business_info_inner table th, .business_info_inner table td{
    display: block;
    width: 100%;
  }
  .business_info_inner table th, .business_info_inner table td{
    border: 0;
    padding: 0;
  }
  .business_info_inner table tr{
    border-bottom: 1px solid var(--font_color);
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
  .business_info_inner table th{
    font-size: 0.18rem;
    margin-bottom: 3px;
  }
  .business_info_inner table td{
    font-size: 0.16rem;
  }
  .business_introduce_content article strong {
    font-size: 0.24rem;
    margin-bottom: 15px;
  }
  .business_particulars_grid img,
  .business_particulars_list li img{
    aspect-ratio: 24/13;
    border-radius: 10px;
    object-position: center top;
    object-fit: cover;
    height: auto;
    width: 100%;
  }
  .product_jump_list{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .product_jump_list a{
    font-size: 0.16rem;
    width: 100%;
  }
  .product_content_box ul {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .product_content_box article {
    font-size: 0.16rem;
  }
  .product_content_box img {
    margin-bottom: 15px;
  }
  .product_content_box strong {
    font-size: 0.22rem;
    margin-bottom: 10px;
  }
  .product_content_box p {
    margin-bottom: 15px;
  }
  .product_content_box .product_oem_list .lined {
    height: 90px;
    margin: -65px auto 25px;
  }
  .about_policy_list li{
    grid-template-columns: 1fr;
    gap: 15px;
    margin-bottom: 45px;
  }
  .about_policy_list .about_circle{
    width: 170px;
    margin: 0 auto;
  }
  .about_history_content figure{
    position: static;
    width: 100%;
    margin-bottom: 35px;
  }
  .about_history_timeline{
    padding-right: 15px;
    margin: 0 auto;
  }
  .about_outline_content {
    padding-top: 50px;
  }
  .about_history_fill {
    padding-bottom: 65px;
  }
  .about_order_list_box {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 10px;
  }
  .about_order_list_box li {
    margin-bottom: 10px;
  }
  .oem_policy_label {
    margin-top: 35px;
    margin-bottom: 40px;
  }
  .oem_policy_label strong {
    font-size: 0.21rem;
    margin-bottom: 10px
  }
  .oem_policy_label b {
    font-size: 0.3rem;
  }
  .oem_process_box {
    padding: 35px 15px 55px;
  }
  .oem_process_list {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .brand_about_content_box {
    padding-bottom: 45px;
  }
  .brand_about_content_inner .brand_about_logo {
    position: static;
    display: block;
    width: auto;
    margin: -25px auto 40px;
  }
  .brand_about_content_inner li {
    font-size: 0.22rem;
    gap: 15px;
  }
  .brand_about_content_inner li span {
    font-size: 0.35rem;
    padding-bottom: 3px;
  }
  .brand_item_content_box {
    padding-top: 35px;
    padding-bottom: 55px;
  }
  .brand_item_list li {
    margin-bottom: 35px;
  }
  .brand_item_list .brand_item_inner {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/*------------------------------------------------
 レスポンシブ　　　max-width:480px
------------------------------------------------*/
@media screen and (max-width:480px) {
  .business_fish_heading b {
    font-size: 0.24rem;
  }
  .business_fish_heading article span {
    font-size: 0.34rem;
  }
  .business_introduce_line {
    height: 50px;
    margin-top: 20px;
    margin-bottom: 15px;
  }
  .about_history_timeline::before {
    left: 96px;
  }
  .about_history_timeline ul {
    padding: 20px 0;
  }
  .about_history_timeline li {
    grid-template-columns: 120px 1fr;
    margin-bottom: 35px;
  }
  .about_history_timeline li::before {
    width: 16px;
    left: 89px;
  }
  .about_history_timeline b, .about_history_timeline b .year{
    line-height: 1.8;
    font-size: 0.14rem;
  }
  .about_history_timeline b span{
    font-size: 0.25rem;
  }
  .about_history_timeline b .year{
    display: block;
  }
  .oem_policy_label strong {
    font-size: 0.18rem;
    margin-bottom: 10px;
  }
  .oem_policy_label b {
    font-size: 0.25rem;
  }
}

/*------------------------------------------------
 ページネーション
------------------------------------------------*/
.wp-pagenavi {
    clear: both;
    text-align:center;
    padding:30px 0;
}
.wp-pagenavi a, .wp-pagenavi span {
    color: #333;
    background-color: #FFF;
    border: solid 1px #e0e0d2;
    padding: 10px 12px!important;
    margin: 0 2px;
    white-space: nowrap;
    text-align: center;
    text-decoration:none;
}
.wp-pagenavi a:hover{
    color:#FFF;
    background-color:#333!important;
    border-color: #333!important;
}
.wp-pagenavi span.current{
    color: #FFF;
    background-color: #FF440B!important;
    border-color: #FF440B!important;
    font-weight: bold;
}
.wp-pagenavi span.pages{
    display:none;
}
.wp-pagenavi a.first{
    display:none;
}
.wp-pagenavi a.last{
    display:none;
}
