@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

*{
  margin:0;
  padding:0;
  list-style: none;
  box-sizing: border-box;
  text-decoration: none;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  
}

*::before,
*::after{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  font-family: 'Noto Sans JP' , 'Noto Sans CJK JP' , sans-serif;
}

html {
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
}

body{
  color: #333;
  font-size: 16px;
  letter-spacing: 0.05em;
  font-family: 'Noto Sans JP' , 'Noto Sans CJK JP' , sans-serif;
  -webkit-font-smoothing: antialiased;
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
}

input,
select,
textarea{
  color: #333;
  font-size: 16px;
  letter-spacing: 0.05em;
  font-family: 'Noto Sans JP' , 'Noto Sans CJK JP' , sans-serif;
}

img{
  display: block;
  object-position: center;
}

#body_wrap{
  overflow: hidden;
}

main{
  padding-top: 140px;
}

a{
  color: #333;
}

@media (any-hover:hover){
  a[href^="tel:"] {
    pointer-events: none;
  }
}

.fax a{
  pointer-events: none;
}

/*
------------------------------------
アニメーション関係
------------------------------------
*/

.common_hover_opa{
  transition: 0.4s;
}


@media (any-hover:hover){
  .common_hover_opa:hover{
    opacity: 0.7;
  }
}


/*
------------------------------------
共通パーツ
------------------------------------
*/

.container{
  max-width: 1240px;
  margin:0 auto;
  padding:0 20px;
}


.common_title_set{
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.2;
}

.common_title_set .en_title{
  font-size: 16px;
  font-family: 'Roboto', sans-serif;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #00436d;
}

.common_title_set .ja_title{
  font-size: 32px;
  font-weight: bold;
}

.common_title_set .en_title + .ja_title{
  margin-top: 8px;
}


.common_white_button{
  display: flex;
  justify-content: center;
  align-items: center;
  height:60px;
  background-color: #fff;
  font-weight: bold;
  line-height: 1;
  color: #00436d;
  transition-duration: 0.4s;
  position: relative;
}

.common_white_button::after{
  content:'';
  width: 9px;
  height: 16px;
  background-image: url('../img/common/angle_right_blue.png');
  position: absolute;
  right:20px;
  top:0;
  bottom:0;
  margin:auto;
  transition-duration: 0.4s;
}

@media(any-hover:hover){
  .common_white_button:hover{
    background-color: #00436d;
    color:#fff;
  }
  .common_white_button:hover::after{
    background-image: url('../img/common/angle_right_white.png');
  }
}

.common_blue_button{
  display: flex;
  justify-content: center;
  align-items: center;
  height:60px;
  background-color: #00436d;
  border:1px solid #00436d;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  transition-duration: 0.4s;
  position: relative;
}

.common_blue_button::after{
  content:'';
  width: 9px;
  height: 16px;
  background-image: url('../img/common/angle_right_white.png');
  position: absolute;
  right:20px;
  top:0;
  bottom:0;
  margin:auto;
  transition-duration: 0.4s;
}

@media(any-hover:hover){
  .common_blue_button:hover{
    background-color:#fff;
    color: #00436d;
  }
  .common_blue_button:hover::after{
    background-image: url('../img/common/angle_right_blue.png');
  }
}


/*下線タイトル*/
.common_bottom_border_title{
  font-size: 20px;
  font-weight: bold;
  line-height: 1.2;
  text-align: left;
  padding-bottom: 14px;
  border-bottom:2px solid #00436d;
}

/*下線タイトル2*/
.common_bottom_half_border_title{
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
}

.common_bottom_half_border_title::after{
  content:'';
  width: 46px;
  height: 2px;
  background-color: #00436d;
  margin-top: 24px;
}


/*ページネーション*/
.common_pagenation{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap:14px;
}

.common_pagenation span.current{/*現在のページボタン*/
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background-color: #00436d;
  border:1px solid #00436d;
  font-family: 'Roboto', sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
}

.common_pagenation a.page-numbers{/*指定のページ移動ボタン*/
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border:1px solid #00436d;
  font-family: 'Roboto', sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #00436d;
  transition-duration: 0.4s;
}

.common_pagenation a.page-numbers.next,
.common_pagenation a.page-numbers.prev{
  background-color: #00436d;
}

.common_pagenation a.page-numbers.next::after,
.common_pagenation a.page-numbers.prev::after{/*next prevボタン*/
  content:'';
  width: 8px;
  height: 13px;
  background-image: url('../img/common/angle_right_white.png');
}


.common_pagenation a.page-numbers.next{
  margin-left: 24px;
}


.common_pagenation a.page-numbers.prev{
  margin-right: 24px;
}
.common_pagenation a.page-numbers.prev::after{
  transform: rotateZ(180deg);
}

@media(any-hover:hover){
  .common_pagenation a.page-numbers:hover{
    background-color: #00436d;
    color: #ffffff;
  }
}

/*
------------------------------------
共通セクション　ヘッダー
------------------------------------
*/

header{
  position: fixed;
  width:100%;
  top:0;
  left:0;
  z-index: 20;
}

header a{
  transition-duration: 0.4s;
}

@media(any-hover:hover){
  header a:hover{
    opacity: 0.5;
  }
}

header .header_container{
  width: 1240px;
  max-width: 100%;
  margin:0 auto;
  padding:0 20px;
}

header .header_line01{
  position: relative;
  height:80px;
  display: flex;
  align-items: center;
  background-color: #fff;
  z-index: 21;
}

header .header_line01 .header_logo{
  display: block;
}


header .header_line01 .header_logo_inner{
  display: flex;
  align-items: center;
}

header .header_line01 .header_logo_inner .header_logo01{
  width:243px;
}
header .header_line01 .header_logo_inner .header_logo02{
  width:243px;
  margin-left: 20px;
}

header .header_line01 .header_button_area{
  position: absolute;
  right:30px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  display: flex;
  align-items: center;
}

header .header_line01 .contact_link{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 230px;
  height: 56px;
  padding-left:20px;
  border:1px solid #ed7b0b;
  background-color: #ed7b0b;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  transition-duration: 0.4s;
}

header .header_line01 .contact_link::before{
  content:'';
  width: 26px;
  height: 19px;
  transition-duration: 0.4s;
  background-image: url('../img/common/icon_contact_white.png');
  position: absolute;
  left:36px;
  top:0;
  bottom:0;
  margin:auto;
}


@media (any-hover:hover){
  header .header_line01 .contact_link:hover{
    background-color: #fff;
    color: #ed7b0b;
    opacity: 1;
  }

  header .header_line01 .contact_link:hover::before{
    background-image: url('../img/common/icon_contact_orange.png');
  }
}

header .header_line01 .lang_select_frame{
  position: relative;
  margin-left: 10px;
  cursor: pointer;
  width: 230px;
  height: 56px;
  z-index: 21;
}

header .header_line01 .lang_select_frame .lang_text{
  position: absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border: solid 1px #ccc;
  font-weight: bold;
  line-height: 1;
  color: #00436d;
  pointer-events: none;
} 

header .header_line01 .lang_select_frame .lang_text::before{
  content:'';
  width: 27px;
  height: 26px;
  border-radius: 50%;
  background-image: url('../img/common/icon_lang_blue.png');
  pointer-events: none;
  position: absolute;
  left:40px;
  top:0;
  bottom:0;
  margin:auto;
}

header .header_line01 .lang_select_frame .lang_text::after{
  content:'';
  width: 16px;
  height: 9px;
  background-image: url('../img/common/angle_bottom_blue.png');
  pointer-events: none;
  position: absolute;
  right:13px;
  top:0;
  bottom:0;
  margin:auto;
}

header .header_line01 .lang_select_list{
  position: absolute;
  top:100%;
  left:0;
  transition-duration: 0.4s;
  pointer-events: none;
  opacity: 0;
  width:100%;
  background-color: #fff;
  padding:24px;
  z-index: 22;
}


header .header_line01 .lang_select_list.show{
  pointer-events: auto;
  opacity: 1;
}

header .header_line01 .lang_select_list li{
  margin-top: 16px;
}

header .header_line01 .lang_select_list li:first-child{
  margin-top: 0;
}

header .header_line01 .lang_select_list li a{
  line-height: 1.1;
}


header .header_line02{
  background-color: #00436d;
}

header .header_parent_menu{
  display: flex;
  justify-content: center;
}

header .header_parent_menu .header_parent_item{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height:60px;
  margin:0 40px;
  z-index: 20;
}

header .header_parent_menu .header_parent_link{
  font-weight: bold;
  line-height: 1;
  color: #fff;

}

header .header_child_menu{
  position: absolute;
  top:100%;
  left:0;
  background-color: #f2f4f7;
  transition-duration: 0.4s;
  opacity: 0;
  pointer-events: none;
}

header .header_child_menu.show{
  opacity: 1;
  pointer-events: auto;
}

header .header_child_item{
  border-bottom:1px solid #ddd;

  
}

header .header_child_item:last-child{
  border-bottom:none;
}

header .header_child_link{
  padding:24px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
  line-height: 1;
  width:360px;
  color: #333;
}

header .header_child_link::after{
  content:'';
  width: 8px;
  height: 13px;
  background-image: url('../img/common/angle_right_blue.png');
}


#fix_sidebar{
  position: fixed;
  right:0;
  top:0;
  bottom:0;
  margin:auto;
  z-index: 17;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#fix_sidebar .banner{
  display: block;
  width:150px;
}

#fix_sidebar .banner img{
  width:100%;
}

#fix_sidebar .banner02{
  margin-top: 10px;
}

@media screen and (max-width:1500px){
  #fix_sidebar .banner{
    width: 100px;
  }

}
/*
------------------------------------
共通セクション　ページ下部のお問い合わせエリア
------------------------------------
*/

.common_contact_section{
  padding:80px 0;
  background-image: url('../img/common/common_contact_bg.jpg');
}

.common_contact_section .common_title_set .en_title{
  color: #fff;
}
.common_contact_section .common_title_set .ja_title{
  color: #fff;
}

.common_contact_section .contact_text01{
  margin-top: 20px;
  line-height: 2.13;
  text-align: center;
  color: #fff;
}


.common_contact_section .contact_link{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 360px;
  height: 60px;
  border:1px solid #ed7b0b;
  background-color: #ed7b0b;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  transition-duration: 0.4s;
  margin:28px auto 0;
}

.common_contact_section .contact_link::before{
  content:'';
  width: 26px;
  height: 19px;
  transition-duration: 0.4s;
  background-image: url('../img/common/icon_contact_white.png');
  margin-right: 12px;
}


@media (any-hover:hover){
  .common_contact_section .contact_link:hover{
    background-color: #fff;
    color: #ed7b0b;
  }

  .common_contact_section .contact_link:hover::before{
    background-image: url('../img/common/icon_contact_orange.png');
  }
}


/*
------------------------------------
共通セクション　フッター
------------------------------------
*/

footer{

}

footer a{
  transition-duration: 0.4s;
}

@media(any-hover:hover){
  footer a:hover{
    opacity: 0.5;
  }
}

footer .footer_area01{
  position: relative;
  padding:80px 0 96px;
  background-color: #f2f4f7;

}

footer .footer_flex{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

footer .footer_left{

}

footer .footer_left .footer_logo{
  display: block;
  width:295px;
}

footer .footer_left .footer_logo img{
  width:100%;
}

footer .footer_left .footer_tel{
  display: flex;
  align-items: center;
  width: fit-content;
  margin-top: 36px;
  font-family: 'Roboto', sans-serif;
  font-size: 30px;
  font-weight: bold;
  line-height: 1;
  color: #00436d;
}

footer .footer_left .footer_tel::before{
  content:'';
  width: 20px;
  height: 26px;
  background-image: url('../img/common/icon_tel_blue.png');
  margin-right: 5px;
}

footer .footer_left .footer_tel_remark{
  margin-top: 10px;
  font-size: 14px;
  line-height: 1;
}

footer .footer_left .footer_address{
  font-size: 14px;
  line-height: 1.71;
  margin-top: 24px;
}

footer .footer_right{
  display: flex;
  align-items: flex-start;
} 

footer .footer_nav{
  display: flex;
  align-items: flex-start;
}

footer .footer_nav ul li.menu_head{
  font-family: 'Roboto', sans-serif;
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
  color: #00436d;
  margin-bottom: 32px;
}

footer .footer_nav ul li{
  margin-top: 12px;
}

footer .footer_nav ul li a{
  font-size: 14px;
  font-weight: normal;
  line-height: 1.3;
  transition-duration: 0.4s;
}



footer .footer_nav ul + ul{
  margin-left: 80px;
}


footer .footer_banner_area{
  margin-left: 72px;
}

footer .footer_banner_area a{
  display: block;
  width:250px;
}

footer .footer_banner_area a img{
  width:100%;
}

footer .footer_banner_area a.rakuten{
  margin-top: 20px;
}

footer .footer_copy{
  background-color: #00436d;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.3;
  color: #fffefe;
  padding:12px 0;
}

/*
------------------------------------
トップページ
------------------------------------
*/

body.top_body{
  
}

main.top_main{

}

.top_section{

}

.top_mv_section{

}

.top_mv_section .flex{
  display: flex;
}

.top_mv_section .top_mv_catch{
  width:50%;
  aspect-ratio: 1/0.885;
}

.top_mv_section .top_mv_catch img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.top_mv_section .top_swiper_block{
  width:50%;
  position: relative;
  overflow: hidden;
}

.top_mv_section .top_mv_slide{
  width:100%;
  aspect-ratio: 1/0.885;
}

.top_mv_section .top_mv_slide .top_mv_card{
  width:100%;
  height:100%;
}

.top_mv_section .top_mv_slide a.top_mv_card{
  transition-duration: 0.4s;
  cursor: pointer;
}

@media(any-hover:hover){
  .top_mv_section .top_mv_slide a.top_mv_card:hover{
    opacity: 0.7;
  }
}

.top_mv_section .top_mv_slide .top_mv_card img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.top_mv_section .swiper_pagination{
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom:30px;
  left:0;
  width:100%;
  z-index: 15;
}

.top_mv_section .swiper-pagination-bullet{
  width:14px;
  height:14px;
  margin:0 12px;
  opacity:1;
  background:#fff;
  transition-duration: 0.4s;
  border-radius: 50%;
  cursor: pointer;
  border: 1px solid #00436d;
}

@media(any-hover:hover){
  .top_mv_section .swiper-pagination-bullet:hover{
    background-color: #00436d;
  }
}


.top_mv_section .swiper-pagination-bullet-active{
  opacity:1;
  background-color: #00436d;
}

.top_news_section{

}

.top_news_section .flex{
  display: flex;
}

.top_news_section .flex .left{
  flex-shrink: 0;
  width:180px;
  position: relative;
}

.top_news_section .flex .left::before{
  content:'';
  width:100vw;
  height: 3px;
  background-color: #00436d;
  position: absolute;
  top:0;
  right:0;
}

.top_news_section .flex .left::after{
  content:'';
  width: 1px;
  height: 31px;
  background-color: #ccc;
  position: absolute;
  right:0;
  bottom:0;
  top:0;
  margin:auto;
}

.top_news_section .sec_title{
  display: flex;
  align-items: center;
  height:90px;
}

.top_news_section .sec_title .ja_title{
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
}

.top_news_section .sec_title .en_title{
  font-size: 16px;
  font-family: 'Roboto', sans-serif;
  font-weight: bold;
  line-height: 1;
  margin-left: 14px;
  color: #00436d;
}

.top_news_section .flex .right{
  width:100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height:90px;
  padding-left: 32px;
}

.top_news_section .flex .right br{
  display: none;
}

.top_news_section .news_single{
  display: flex;
  align-items: center;
  
}

.top_news_section .news_single .news_date{
  margin-right: 24px;
  flex-shrink: 0;
  font-weight: bold;
  line-height: 1;
  color: #808080;
}

.top_news_section .news_single .news_title{
  line-height: 1.3;
}

.top_news_section .news_list_link{
  flex-shrink: 0;
  margin-left: 16px;
  width: 152px;
  color: #00436d;
  padding-left: 8px;
  padding-bottom: 8px;
  font-weight: bold;
  line-height: 1;
  position: relative;
}

.top_news_section .news_list_link::after{
  content:'';
  width:100%;
  height:8px;
  position: absolute;
  right:0;
  bottom:0;
  background-image: url('../img/common/arrow_right_blue.png');
  background-position: right bottom;
}


.top_about_section{
  position: relative;
  padding:120px 0;
}

.top_about_section::before{
  content:'';
  width: 543px;
  height: 709px;
  background-color: #e1e8f2;
  position: absolute;
  top:0;
  right:calc(50% + 417px);
  z-index:-1;
}

.top_about_section::after{
  content:'';
  width:100%;
  height:100%;
  background-color: #f2f4f7;
  position: absolute;
  top:0;
  left:0;
  z-index:-3;
}

.top_about_section .flex{
  margin-top: 48px;
  display: flex;
  justify-content: space-between;
}

.top_about_section .flex .left{
  width:570px;
}

.top_about_section .left .top_about01{
  width:100%;
}

.top_about_section .left .top_about02{
  width:388px;
  margin-right: 40px;
  margin-left: auto;
  margin-top: -48px;
}

.top_about_section .flex .right{
  width:560px;
}

.top_about_section .right p{
  line-height: 2.13;
}

.top_about_section .right p span{
  font-weight: bold;
  color: rgba(215,0,23,1);

}

.top_oem_section{
  padding:120px 0;
  background-image: url('../img/top/top_oem_bg.jpg');
}

.top_oem_section .common_title_set .ja_title{
  color:#fff;
}

.top_oem_section .owm_head{
  width: fit-content;
  margin: 48px auto 0;
  padding:24px 44px;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.2;
  display: flex;
  align-items: center;
  color: #fff;
  border:1px solid #fff;
  border-bottom: 0;
  position: relative;
}

.top_oem_section .owm_head::before{
  content:'';
  width:50%;
  height:1px;
  background-color: #fff;
  position: absolute;
  left:0;
  bottom:0;
}

.top_oem_section .owm_head::after{
  content:'';
  width:46%;
  height:28px;
  background-image:url('../img/top/top_oem_shape.png');
  background-position: left top;
  position: absolute;
  left:50%;
  top:100%;
}

.top_oem_section .oem_list{
  margin-top: 56px;
  display: flex;
  justify-content:space-evenly;
  flex-wrap:wrap;
}

.top_oem_section .oem_list .oem_block{
  width:244px;
  padding-right:5%;
  padding-bottom:10%;
  padding-left:5%
}

.top_oem_section .oem_block .oem_img{
  aspect-ratio: 1/1;
  border-radius: 50%;
}

.top_oem_section .oem_block .oem_img img{
  width:100%;
  height:100%;
  border-radius: 50%;
  object-fit: cover;
}

.top_oem_section .oem_block .oem_info{
  margin-top: 12px;
  font-weight: bold;
  line-height: 1.63;
  text-align: center;
  color: #fff;
  white-space: nowrap;
}

.top_oem_section .oem_text01{
  margin-top: 96px;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.54;
  text-align: center;
  color: #fff;
}

.top_oem_section .oem_text02{
  margin-top: 36px;
  line-height: 2.13;
  text-align: center;
  color: #fff;
}

.top_oem_section .oem_link{
  margin:40px auto 0;
  width:280px;
}

.top_product_section{
  padding:120px 0;
}

.top_product_section .product_list{
  margin-top: 48px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap:30px;
}

.top_product_section .product_banner{
  width: 380px;
  aspect-ratio: 1/0.345;
  display: block;
}

.top_product_section .product_banner img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.top_product_section .product_link{
  width: 280px;
  margin:60px auto 0;
}

.top_link_section{

}

.top_link_section .link_list{
  display: flex;
  /* justify-content: center; */
  gap:0 1px;
}

.top_link_section .link_block{
  width:33.3%;
  display: block;
}

.top_link_section .link_block .link_thumb{
  height:360px;
  position: relative;
}

.top_link_section .link_block .link_thumb img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.top_link_section .link_block .link_text_area{
  position: absolute;
  /* width:calc(100% - 100px); */
  width:85%;
  height:calc(100% - 100px);
  top:0;
  left:0;
  bottom:0;
  right:0;
  margin:auto;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255,255,255,0.7);

}

.top_link_section .link_block .link_name{
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  padding-bottom: 24px;
  position: relative;
}

.top_link_section .link_block .link_name::after{
  content:'';
  width: 41px;
  height: 2px;
  background-color: #00436d;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.top_link_section .link_block .link_text{
  margin-top: 16px;
  line-height: 2.13;
  text-align: center;
}

.top_link_section .link_block .link_button{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  background-color: #00436d;
  position: relative;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  transition-duration: 0.4s;
}

.top_link_section .link_block .link_button::after{
  content:'';
  width: 9px;
  height: 16px;
  background-image: url('../img/common/angle_right_white.png');
  position: absolute;
  right:30px;
  top:0;
  bottom:0;
  margin:auto;
  transition-duration: 0.4s;
}

@media(any-hover:hover) {
  .top_link_section .link_block:hover .link_button{
    background-color: #fff;
    color: #00436d;
  }
  .top_link_section .link_block:hover .link_button::after{
    background-color: #fff;
    background-image: url('../img/common/angle_right_blue.png');
  }
}

.top_banner_section{
  padding:100px 0;
} 

.top_banner_section .banner{
  display: block;
  max-width: 880px;
  margin:0 auto;
}

.top_banner_section .banner img{
  width:100%;
}


/*
------------------------------------
下層mv
------------------------------------
*/

.page_mv_section{
  min-height: 180px;
  padding:24px 0;
  background-color: #f2f4f7;
  display: flex;
  justify-content: center;
  align-items: center;
}

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

.page_mv_section .page_title_set .en_title{
  font-family: 'Roboto', sans-serif;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #00436d;
}

.page_mv_section .page_title_set .ja_title{
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
}

.page_mv_section .page_title_set .en_title + .ja_title{
  margin-top: 12px;
}


/*
------------------------------------
パンクズ
------------------------------------
*/

.common_bread_section{
  padding:40px 0;
}

.common_bread_section .bread_list{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap:15px;
  line-height: 1.2;
  letter-spacing: 0;
}

.common_bread_section .bread_list a{
  color: #00436d;
  transition-duration: 0.4s;
}

@media(any-hover:hover){
  .common_bread_section .bread_list a:hover{
    opacity: 0.5;
  }
}

.common_bread_section .bread_list .arrow{
  width: 6px;
  height: 10px;
  background-image: url('../img/common/angle_right_blue.png');
  margin-top: 1px;
}

/*
------------------------------------
製品一覧
------------------------------------
*/  

body.archive_products_body{
  
}

main.archive_products_main{

}

.archive_products_section{

}

.archive_products_section01{
  padding-top: 60px;
  padding-bottom: 156px;
}

.archive_products_section01 .flex{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.archive_products_section01 .archive_products_article{
  width:860px;
}

.archive_products_section01 .sidebar{
  width:280px;
}


.archive_products_section01 .products_list{
  display: flex;
  flex-wrap: wrap;
  gap:40px;
  margin-top: 40px;
}

.archive_products_section01 .products_list .products_item{
  width: 260px;
}

.archive_products_section01 .products_list .products_card{
  display: block;
  height:100%;
  background-color: #f2f4f7;
}

.archive_products_section01 .products_card .thumb{
  background-color: #fff;
  aspect-ratio: 1/0.64;
  border: 1px solid#ddd;
}

.archive_products_section01 .products_card .thumb img{
  width:100%;
  height:100%;
  object-fit: contain;
}

.archive_products_section01 .products_card .products_body{
  padding:24px 20px;
}

.archive_products_section01 .products_card .products_date{
  font-family: 'Roboto', sans-serif;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  color: #00436d;
}

.archive_products_section01 .products_card .products_name{
  margin-top: 4px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.63;
  letter-spacing: 0;
}

.archive_products_section01 .products_card .products_tag_list{
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap:5px;
}

.archive_products_section01 .products_card .products_tag_list span{
  padding:5px 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0;
  color: #00436d;
  border: 1px solid #00436d;
}

.archive_products_section01 .common_pagenation{
  margin-top: 88px;
}


.archive_products_section01 .no_result{
  margin-top: 40px;
}

.archive_products_section01 .sidebar{
  width:280px;
}

.archive_products_section01 .keyword_area{

}

.archive_products_section01 .keyword_area .keyword_frame{
  position: relative;
  margin-top: 20px;
}

.archive_products_section01 .keyword_area .keyword{
  border:none;
  background: none;
  border-radius: 0;
  display: block;
  width: 100%;
  height: 52px;
  padding-left: 44px;
  padding-right: 16px;
  border: 1px solid #ddd;
  background-color: #fff;
  font-weight: bold;
}

.archive_products_section01 .keyword_area .keyword::placeholder{
  color: #888;
}

.archive_products_section01 .keyword_area .search_button{
  cursor: pointer;
  width:23px;
  position: absolute;
  left:10px;
  top:0;
  bottom:0;
  margin:auto;
  height: fit-content;
  border:none;
  background: none;
  border-radius: 0;
}

.archive_products_section01 .keyword_area .search_button img{
  width:100%;
}

.archive_products_section01 .category_area{
  margin-top: 64px;
}

.archive_products_section01 .category_area .search_cat_list{
  margin-top: 10px;
}

.archive_products_section01 .category_area .search_cat_list li{
  border-bottom:1px solid #ddd;
}

.archive_products_section01 .category_area .search_cat_list a{
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
  line-height: 1.2;
  padding:20px 12px 20px 0;
}

.archive_products_section01 .category_area .search_cat_list a::after{
  content:'';
  width: 8px;
  height: 14px;
  background-image: url('../img/common/angle_right_blue.png');
  flex-shrink: 0;
  margin-left: 4px;
}


.archive_products_section01 .tag_area{
  margin-top: 64px;
}

.archive_products_section01 .tag_area .search_tag_list{
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap:10px;
}

.archive_products_section01 .tag_area .search_tag_item{
  padding:5px 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0;
  color: #00436d;
  border:1px solid #00436d;
}


/*
------------------------------------
製品詳細
------------------------------------
*/  

body.single_products_body{
  
}

main.single_products_main{

}

.single_products_section{

}

.single_products_section01{
  padding-top: 40px;
  padding-bottom: 140px;
}


.single_products_section01 .flex{
  display: flex;
  align-items: flex-start;
}

.single_products_section01 .flex .img_area{
  width: 580px;
  flex-shrink: 0;
  margin-right: 70px;
}

.single_products_section01 .products_main_img_frame{
  position: relative;
  aspect-ratio: 1/0.67;
}

.single_products_section01 .products_main_img_frame img{
  width:100%;
  height:100%;
  object-fit: contain;
  position: absolute;
  top:0;
  left:0;
  opacity: 0;
  transition-duration: 0.4s;
}

.single_products_section01 .products_main_img_frame img.show{
  opacity: 1;
}

.single_products_section01 .products_gal_list{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap:10px;
}

.single_products_section01 .products_gal_item{
  width:108px;
  aspect-ratio: 1/1;
  cursor: pointer;
} 

.single_products_section01 .products_gal_item img{
  width:100%;
  height:100%;
  object-fit: contain;
}

.single_products_section01 .flex .text_area{
  width: 100%;
}

.single_products_section01 .products_num{
  line-height: 1.1;
}

.single_products_section01 .products_name{
  margin-top: 16px;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.3;
}

.single_products_section01 .products_tag_list{
  display: flex;
  flex-wrap: wrap;
  gap:10px;
  margin-top: 12px;
}

.single_products_section01 .products_tag_item{
  display: flex;
  justify-content: center;
  align-items: center;
  padding:5px 18px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0;
  color: #00436d;
  border:1px solid #00436d;
}

.single_products_section01 .products_info{
  margin-top: 24px;
  line-height: 2.13;
}

.single_products_section01 .products_info.common_single_frame>p {
  margin-bottom: 0;
}

.single_products_section01 .products_online{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 450px;
  max-width: 100%;
  height: 70px;
  border:1px solid #00436d;
  background-color: #00436d;
  position: relative;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  transition-duration: 0.4s;
  margin-top: 40px;
}

.single_products_section01 .products_online::after{
  content:'';
  width: 9px;
  height: 16px;
  background-image: url('../img/common/angle_right_white.png');
  position: absolute;
  right:30px;
  top:0;
  bottom:0;
  margin:auto;
  transition-duration: 0.4s;
}

.single_products_section01 .products_online span{
  position: relative;
}

.single_products_section01 .products_online span::before{
  content:'';
  width: 26px;
  height: 27px;
  background-image: url('../img/common/icon_online_white.png');
  position: absolute;
  left:-40px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transition-duration: 0.4s;
}

@media(any-hover:hover){
  .single_products_section01 .products_online:hover{
    color:#00436d;
    background-color: #fff;
  }

  .single_products_section01 .products_online:hover::after{
    background-image: url('../img/common/angle_right_blue.png');
  }

  .single_products_section01 .products_online:hover span::before{
    background-image: url('../img/common/icon_online_blue.png');
  }
}

.single_products_section01 .list{
  margin-top: 108px;
}

.single_products_section01 .list li{
  display: flex;
  border-bottom:1px solid #ddd;
}

.single_products_section01 .list .list_title{
  padding:28px 10px 28px 5px;
  position: relative;
  flex-shrink: 0;
  width:200px;
  font-weight: bold;
  line-height: 1.5;
}

.single_products_section01 .list .list_title::after{
  content:'';
  width:100%;
  height:1px;
  background-color: #00436d;
  position: absolute;
  bottom:-1px;
  left:0;
}

.single_products_section01 .list .list_contents{
  padding:28px 28px;
  width:100%;
  line-height: 1.5;

}

.single_products_section01 .products_img{
  display: flex;
  justify-content: center;
  max-width: 800px;
  margin:80px auto 0;
}

.single_products_section01 .products_img img{
  max-width: 100%;
}

.single_products_section01 .products_point_area{
  margin-top: 120px;
  padding-top: 100px;
  padding-bottom: 100px;
  position: relative;
}

.single_products_section01 .products_point_area::before{
  content:'';
  width:100vw;
  height:100%;
  background-color: #f2f4f7;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
}

.single_products_section01 .products_point_area .point_head{
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
  gap:0 20px;
}

.single_products_section01 .products_point_area .point_head::before,
.single_products_section01 .products_point_area .point_head::after{
  content:'';
  width: 36px;
  height: 2px;
  background-color: #00436d;
}

.single_products_section01 .products_point_area .point_list{
  margin-top: 48px;
  display: flex;
  flex-wrap: wrap;
  gap:32px 30px;
}

.single_products_section01 .products_point_area .point_item{
  width:276px;
  background-color: #fff;
}

.single_products_section01 .products_point_area .point_thumb{
  aspect-ratio: 1/0.5;
  /* background-color: #dddddd; */
}

.single_products_section01 .products_point_area .point_thumb img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.single_products_section01 .products_point_area .point_body{
  padding:20px;
}

.single_products_section01 .products_point_area .point_text{
  line-height: 1.75;
  letter-spacing: 0;
}

.single_products_section01 .products_point_area .point_text strong{
  color:#00436d;
}

.single_products_section01 .product_list_link{
  width:280px;
  margin:72px auto 0;
}


/*
------------------------------------
お知らせ一覧
------------------------------------
*/  

body.archive_news_body{
  
}

main.archive_news_main{

}

.archive_news_section{

}

.archive_news_section01{
  padding-top: 40px;
  padding-bottom: 150px;
}

.archive_news_section01 .p01{
  margin-top: 24px;
  line-height:1.3;
  text-align: center;
}


.archive_news_section01 .news_list{
  margin-top: 72px;
}

.archive_news_section01 .news_list li{
  border-bottom:1px solid #ddd;
}
.archive_news_section01 .news_list li:first-child{
  border-top:1px solid #ddd;
}

.archive_news_section01 .news_item{
  display: flex;
  padding:28px 48px 28px 20px;
  position: relative;
}

.archive_news_section01 .news_item::after{
  content:'';
  width: 9px;
  height: 16px;
  background-image: url('../img/common/angle_right_blue.png');
  position: absolute;
  right:20px;
  top:0;
  bottom:0;
  margin:auto;
}

.archive_news_section01 .news_item .news_date{
  flex-shrink: 0;
  width:115px;
  font-weight: bold;
  line-height: 1.3;
  color: #808080;
}

.archive_news_section01 .news_item .news_title{
  line-height: 1.3;
}

.archive_news_section01 .common_pagenation{
  margin-top: 70px;
}

/*
------------------------------------
お知らせ詳細
------------------------------------
*/  

body.single_news_body{
  
}

main.single_news_main{

}

.single_news_section{

}

.single_news_section01{
  padding-top: 32px;
  padding-bottom: 150px;
}

.single_news_section01 .single_news_article{
  max-width: 800px;
  margin:0 auto;
}

.single_news_section01 .link_flex{
  margin-top: 80px;
  display: flex;
  justify-content: center;
}

.single_news_section01 .link_flex .link{
  width: 50%;
}


.single_news_section01 .link_flex .link a{
  display: flex;
  /* justify-content: center; */
  align-items: center;
  height: 100px;
  border: solid 1px #ddd;
  line-height: 1.63;
  
  position: relative;
  transition-duration: 0.4s;
}

.single_news_section01 .link_flex .link a span{
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
}

@media(any-hover:hover){
  .single_news_section01 .link_flex .link a:hover{
    opacity: 0.5;
  }
}


.single_news_section01 .link_flex .link a::after{
  content:'';
  width: 10px;
  height: 18px;
  background-image: url('../img/common/angle_right_blue.png');
  position: absolute;
  top:0;
  bottom:0;
  margin:auto;
}

.single_news_section01 .link_flex .link_prev a{
  padding-right: 24px;
  padding-left: 48px;
}
.single_news_section01 .link_flex .link_prev a::after{
  left:20px;
  transform: rotateZ(180deg);
}

.single_news_section01 .link_flex .link_next{
  margin-left: -1px;
}
.single_news_section01 .link_flex .link_next a{
  padding-right: 48px;
  padding-left: 24px;
}
.single_news_section01 .link_flex .link_next a::after{
  right:20px;
  
}


.single_news_section01 .news_list_link{
  width:280px;
  margin:72px auto 0;
}

.single_news_section01 .news_date{
  font-weight: bold;
  line-height: 1;
  color: #808080;
}

.single_news_section01 .news_title{
  font-size: 32px;
  font-weight: bold;
  line-height: 1.44;
  text-align: left;
  margin-top: 16px;
}

.common_single_frame{
  margin-top: 24px;
} 

.common_single_frame .wp-block-image{
  margin-bottom: 72px;
}

.common_single_frame .wp-block-image img{
  max-width: 100%;
}

.common_single_frame h2{
  margin-bottom:56px;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.54;
  text-align: left;
  color: #00436d;
  padding:12px 0;
  border-top:3px solid #00436d;
  border-bottom:3px solid #00436d;
}


.common_single_frame h3{
  margin-bottom: 40px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.67;
  padding-left: 20px;
  position: relative;
}

.common_single_frame h3::before{
  content:'';
  width: 5px;
  height: 100%;
  border-radius: 0;
  background-color:  #00436d;
  position: absolute;
  left:0;
  top:0;
}

.common_single_frame h4{
  margin-bottom: 40px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.3;
  padding-bottom: 12px;
  border-bottom: 1px solid #00436d;
}

.common_single_frame h5{
  margin-bottom: 32px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3;
  padding-bottom: 12px;
  border-bottom: 1px solid #ddd;
}

.common_single_frame h6{
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 28px;
}

.common_single_frame p{
  line-height: 2.13;
}

.common_single_frame>p{
  margin-bottom: 40px;
}

.common_single_frame a{
	text-decoration: underline;
}

.common_single_frame ul{
  margin-bottom: 56px;
}

.common_single_frame ul li{
  line-height: 1.5;
  position: relative;
  padding-left: 28px;
}

.common_single_frame ul li::before{
  content:'';
  width:10px;
  height:10px;
  border-radius: 50%;
  background-color: #00436d;
  position: absolute;
  left:0;
  top:7px;
}

.common_single_frame ul li + li{
  margin-top: 10px;
}

.common_single_frame ol{
  margin-bottom: 56px;
}

.common_single_frame ol li{
  line-height: 1.5;
  position: relative;
  padding-left: 28px;
  counter-increment: cnt;
  position: relative;
}

.common_single_frame ol li::before {
  font-family: 'Roboto', sans-serif;
  content: counter(cnt)"";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22px;
  height:22px;
  border-radius: 50%;
  background-color:#00436d;
  font-size: 14px;
  font-weight: bold;
  line-height:1;
  color: #fff;

  position: absolute;
  left:0;
  top:2px;
}

.common_single_frame ol li + li{
  margin-top: 10px;
}

.common_single_frame pre{
  margin-bottom: 60px;
  padding:30px 40px;
  background-color: #f2f4f7;
  line-height: 2;
}

.common_single_frame .wp-block-table{
  margin-bottom: 60px;
}

.common_single_frame table{
  border-collapse: collapse;
  width: 100%;
}

.common_single_frame table tr{
  
}

.common_single_frame table td{
  padding:24px 20px;
  font-size: 16px;
  line-height: 1.3;
  border:none;
  border:1px solid #ccc;
}

.common_single_frame table td:first-child{
  background-color: #00436d;
  color:#fff;
}

.common_single_frame .wp-block-quote{
  position: relative;
  padding:40px 72px 32px 92px;
  background-color: #f2f4f7;
  border-left:5px solid #00436d;
  line-height: 2;
  margin-bottom: 40px;
  word-break: break-all;
}

.common_single_frame .wp-block-quote::before{
  content:'';
  width:39px;
  height:31px;
  background-image: url('../img/common/mark_quote_gray.png');
  position: absolute;
  top:32px;
  left:36px;
}

/*
------------------------------------
こだわり・生産体制
------------------------------------
*/  

body.commit_body{
  
}

main.commit_main{

}

.commit_mv_section{
  background-image: url('../img/commit/commit_mv.jpg');
  min-height: 300px;
}
.commit_mv_section .page_title_set .en_title{
  color:#fff;
}
.commit_mv_section .page_title_set .ja_title{
  color:#fff;
}

.commit_section01{
  padding-top: 40px;
  padding-bottom: 120px;
}

.commit_section01 .link_list{
  display: flex;
  justify-content: center;
  gap:0 40px;
  margin-bottom: 108px;
}

.commit_section01 .link_list a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 320px;
  height: 60px;
  background-color: #00436d;
  border:1px solid #00436d;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  position: relative;
  transition-duration: 0.4s;
}

.commit_section01 .link_list a::after{
  content:'';
  width: 16px;
  height: 9px;
  background-image: url('../img/common/angle_bottom_white.png');
  position: absolute;
  right:20px;
  top:0;
  bottom:0;
  margin:auto;
  transition-duration: 0.4s;
}

@media(any-hover:hover){
  .commit_section01 .link_list a:hover{
    color:#00436d;
    background-color: #fff;
  }
  .commit_section01 .link_list a:hover::after{
    background-image: url('../img/common/angle_bottom_blue.png');
  }
}

.commit_section01 .commit_list{
  margin-top: 56px;
  display: flex;
  justify-content: space-between;
}

.commit_section01 .commit_block{
  width:372px;
}

.commit_section01 .commit_block .commit_pic{
  width: 100%;
}

.commit_section01 .commit_block .commit_text{
  line-height: 1.75;
  margin-top: 20px;
}


.commit_system_section{
  position: relative;
  padding-top: 120px;
  padding-bottom: 170px;
}
.commit_system_section::before{
  content:'';
  width:100%;
  height:100%;
  background-color: #f2f4f7;
  position: absolute;
  top:0;
  left:0;
  z-index:-5;
}

.commit_system_section .system_list{
  margin-top: 56px;
}

.commit_system_section .system_block{
  padding:30px;
  display: flex;
  align-items: flex-start;
  background-color: #fff;
  position: relative;
}

.commit_system_section .system_block::before{
  content:'';
  width:100vw;
  height:100%;
  background-color: #e1e8f2;
  position: absolute;
  z-index: -1;
  bottom:-40px;
}

.commit_system_section .system_block + .system_block{
  margin-top: 100px;
}

.commit_system_section .system_block .system_img_area{
  width: 400px;
  flex-shrink: 0;
}

.commit_system_section .system_block .system_img_area img{
  width: 100%;
}

.commit_system_section .system_block .system_text_area{
  width: 100%;
  padding-top: 24px;
}

.commit_system_section .system_block .system_head{
  font-size: 22px;
  font-weight: bold;
  line-height: 1.55;
  color: #00436d;
}

.commit_system_section .system_block .system_text{
  margin-top: 28px;
  line-height: 2;

}

.commit_system_section .system_block .system_text strong{
  background-color: #fdf3ad;
}

.commit_system_section .system_block:nth-child(odd){

}
.commit_system_section .system_block:nth-child(odd)::before{
  left:230px;
}
.commit_system_section .system_block:nth-child(odd) .system_img_area{
  margin-right: 48px;
}

.commit_system_section .system_block:nth-child(even){
  flex-direction: row-reverse;
}
.commit_system_section .system_block:nth-child(even)::before{
  right:230px;
}
.commit_system_section .system_block:nth-child(even) .system_img_area{
  margin-left: 48px;
}

.commit_banner_section{
  padding-top: 120px;
  padding-bottom: 120px;
}

.commit_banner_section .banner{
  position: relative;
  display: block;
  min-height: 300px;
}

.commit_banner_section .banner img{
  width:100%;
}

.commit_banner_section .oem_button{
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  width: 280px;
  height: 60px;
  border:1px solid #6ca4d7;
  background-color: #6ca4d7;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  
  transition-duration: 0.4s;
  position: absolute;
  bottom:64px;
  right:415px;
}

.commit_banner_section .oem_button::after{
  content:'';
  width: 9px;
  height: 16px;
  background-image: url('../img/common/angle_right_white.png');
  position: absolute;
  right:20px;
  top:0;
  bottom:0;
  margin:auto;
  transition-duration: 0.4s;
}

@media(any-hover:hover){
  .commit_banner_section .oem_button:hover{
    background-color: #fff;
    color: #6ca4d7;
  }
  .commit_banner_section .oem_button:hover::after{
    background-image: url('../img/common/angle_right_light_blue.png');
  }
}


/*
------------------------------------
OEMについて
------------------------------------
*/  

body.oem_body{
  
}

main.oem_main{

}

.oem_mv_section{
  background-image: url('../img/oem/oem_mv.jpg');
  min-height: 300px;
}
.oem_mv_section .page_title_set .en_title{
  color:#fff;
}
.oem_mv_section .page_title_set .ja_title{
  color:#fff;
}

.oem_kind_section{
  padding-top: 24px;
  padding-bottom: 120px;
}

.oem_kind_section .p01{
  line-height: 2;
  text-align: center;
  margin-bottom: 100px;
}

.oem_kind_section .kind_list{
  margin-top: 48px;
  display: flex;
  justify-content: space-between;
}

.oem_kind_section .kind_box{
  position: relative;
  width: 380px;
  padding:32px 40px 24px;
  border:3px solid #00436d;
}

.oem_kind_section .kind_box .kind_head{
  background-color: #fff;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #00436d;
  width: fit-content;
  white-space: nowrap;
  padding:0 20px;
  position: absolute;
  top:-18px;
  left:0;
  right:0;
  margin:auto;
}

.oem_kind_section .kind_box .kind_pic{
  flex-shrink: 0;
  width: 154px;
  height: 154px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto;
}

.oem_kind_section .kind_box .kind_text{
  width: 100%;
  line-height: 1.75;
  padding-top: 12px;
}

.oem_reason_section{
  padding-top: 120px;
  padding-bottom: 120px;
  background-color: #f2f4f7;
}

.oem_reason_section .reason_list{
  margin-top: 56px;
}

.oem_reason_section .reason_block{
  padding:30px 40px 30px 30px;
  background-color: #fff;
  display: flex;
  align-items: flex-start;
}

.oem_reason_section .reason_block + .reason_block{
  margin-top: 40px;
}

.oem_reason_section .reason_block .reason_img_area{
  width: 400px;
  flex-shrink: 0;
  margin-right: 50px;
}

.oem_reason_section .reason_block .reason_img_area img{
  width: 100%;
}

.oem_reason_section .reason_block .reason_text_area{
  width: 100%;
  padding-top: 24px;
}

.oem_reason_section .reason_block .reason_head{
  font-size: 22px;
  font-weight: bold;
  line-height: 1.55;
  padding-bottom: 16px;
  border-bottom: 1px solid #00436d;
}

.oem_reason_section .reason_block .reason_text{
  line-height: 2;
  margin-top: 16px;
}

.oem_example_section{
  padding-top: 120px;
  padding-bottom: 120px;
}

.oem_example_section .example_list{
  margin-top: 56px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap:30px 0;
}

.oem_example_section .example_block{
  width: 585px;
  min-height: 310px;
  padding: 30px 48px 30px 30px;
  background-color: #f2f4f7;
  display: flex;
  align-items: flex-start;
}


.oem_example_section .example_block .example_img_area{
  width:150px;
  flex-shrink: 0;
  margin-right: 18px;
}

.oem_example_section .example_block .example_img_area img{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 50%;
}

.oem_example_section .example_block .example_text_area{
  width: 100%;
  padding-top: 12px;
}

.oem_example_section .example_block .example_head{
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  color: #00436d;
}

.oem_example_section .example_block .example_text{
  margin-top: 10px;
  line-height: 1.75;
}

.oem_flow_section{
  padding-top: 120px;
  padding-bottom: 120px;
  background-color: #f2f4f7;
}

.oem_flow_section .flow_list{
  margin-top: 56px;
}

.oem_flow_section .flow_block{
  display: flex;
  align-items: flex-start;
  padding:40px;
  background-color: #fff;
  position: relative;
}

.oem_flow_section .flow_block + .flow_block{
  margin-top: 60px;
}
.oem_flow_section .flow_block + .flow_block::before{
  content:'';
  width:10px;
  height:60px;
  background-color: #00436d;
  position: absolute;
  top:-60px;
  left:0;
  right:0;
  margin:auto;
  opacity: 0.1;
}

.oem_flow_section .flow_block .flow_text_area{
  width: 100%;
}

.oem_flow_section .flow_block .flow_head{
  display: flex;
  align-items: center;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.55;
  color: #00436d;
}

.oem_flow_section .flow_block .flow_head .num{
  flex-shrink: 0;
  margin-right: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  background-color: #00436d;
  font-family: 'Roboto', sans-serif;
  font-size: 30px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
}

.oem_flow_section .flow_block .flow_text{
  margin-top: 20px;
  line-height: 2;
}

.oem_flow_section .flow_block .contact_link{
  margin-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 280px;
  height: 60px;
  border:1px solid #ed7b0b;
  background-color: #ed7b0b;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  position: relative;
  transition-duration: 0.4s;
}

.oem_flow_section .flow_block .contact_link::after{
  content:'';
  width: 9px;
  height: 16px;
  background-image: url('../img/common/angle_right_white.png');
  position: absolute;
  right:20px;
  top:0;
  bottom:0;
  margin:auto;
  transition-duration: 0.4s;
}

.oem_flow_section .flow_block .contact_link span{
  position: relative;
}

.oem_flow_section .flow_block .contact_link span::before{
  content:'';
  width: 26px;
  height: 19px;
  background-image: url('../img/common/icon_contact_white.png');
  position: absolute;
  top: 50%;
  left: -36px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transition-duration: 0.4s;
}

@media(any-hover:hover){
  .oem_flow_section .flow_block .contact_link:hover{
    color:#ed7b0b;
    background-color: #fff;
  }
  .oem_flow_section .flow_block .contact_link:hover::after{
    background-image: url('../img/common/angle_right_orange.png');
  }
  .oem_flow_section .flow_block .contact_link:hover span::before{
    background-image: url('../img/common/icon_contact_orange.png');
  }
}

.oem_flow_section .flow_block .flow_img_area{
  width: 350px;
  flex-shrink: 0;
  margin-left: 56px;
}

.oem_flow_section .flow_block .flow_img_area img{
  width: 100%;
}
/*
------------------------------------
企業情報
------------------------------------
*/  

body.company_body{
  
}

main.company_main{

}

.company_mv_section{
  background-image: url('../img/company/company_mv.jpg');
  min-height: 300px;
}

.company_mv_section .page_title_set .en_title{
  color:#fff;
}
.company_mv_section .page_title_set .ja_title{
  color:#fff;
}

.company_philosophy_section{
  padding-top: 20px;
}

.company_philosophy_section .link_list{
  display: flex;
  justify-content: space-between;
}

.company_philosophy_section .link_list a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 220px;
  height: 60px;
  background-color: #00436d;
  border:1px solid #00436d;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  position: relative;
  transition-duration: 0.4s;
}

.company_philosophy_section .link_list a::after{
  content:'';
  width: 16px;
  height: 9px;
  background-image: url('../img/common/angle_bottom_white.png');
  position: absolute;
  right:20px;
  top:0;
  bottom:0;
  margin:auto;
  transition-duration: 0.4s;
}

@media(any-hover:hover){
  .company_philosophy_section .link_list a:hover{
    color:#00436d;
    background-color: #fff;
  }
  .company_philosophy_section .link_list a:hover::after{
    background-image: url('../img/common/angle_bottom_blue.png');
  }
}

.company_philosophy_section .philosophy_box{
  position: relative;
  border: 3px solid #00436d;
  padding:54px 24px 44px;
  margin-top: 130px;
}


.company_philosophy_section .philosophy_box .philosophy_head{
  width:fit-content;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #00436d;
  background-color: #fff;
  padding:0 88px;
  position: absolute;
  left:0;
  right:0;
  margin:auto;
  top:-18px;
}

.company_philosophy_section .philosophy_box .philosophy_text{
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
}

.company_message_section{
  padding-top: 100px;
}


.company_message_section .president_img{
  max-width: 680px;
  margin:50px auto 0;
}

.company_message_section .president_img img{
  width: 100%;
}
.company_message_section .message_text{
  margin-top: 40px;
  line-height: 2.13;
}

.company_message_section .president_sign{
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  line-height: 1;
  margin-top: 20px;
}

.company_message_section .president_sign img{
  width:87px;
  margin-left: 12px;
}

.company_outline_section{
  padding-top: 100px;
}

.company_outline_section .outline_list{
  margin-top: 32px;
}

.company_outline_section .outline_item{
  display: flex;
  border-bottom:1px solid #ccc;
  padding:15px 0;
} 

.company_outline_section .outline_item .outline_title{
  width: 260px;
  flex-shrink: 0;
  padding-left: 20px;
  font-weight: bold;
  line-height: 2.25;
}

.company_outline_section .outline_item .outline_contents{
  width:100%;
  padding-right: 20px;
  line-height: 2.25;
  font-weight: 500;

}

.company_outline_section .outline_item .box_flex{
  display: flex;
}

.company_outline_section .outline_item .box{
  width:360px;
  margin-top: 12px;
}

.company_outline_section .outline_item .box + .box{
  margin-left: 30px;
}

.company_outline_section .outline_item .box img{
  width: 100%;
}

.company_outline_section .outline_item .box p{
  margin-top: 10px;
}

.company_access_section{
  padding-top: 100px;
  
}

.company_access_section .map_frame{
  margin-top: 48px;
}

.company_access_section .map_frame iframe{
  display: block;
  width:100%;
  height:500px;
}


.company_history_section{
  padding-top: 100px;
  padding-bottom: 116px;
} 

.company_history_section .history_list{
  margin-top: 56px;
}

.company_history_section .history_item{
  display: flex;
  align-items: flex-start;
} 

.company_history_section .history_item + .history_item{
  margin-top: 36px;
}

.company_history_section .history_year{
  width:132px;
  flex-shrink: 0;
  padding-left: 20px;
  font-weight: bold;
  color: #00436d;
  line-height: 1.63;
}

.company_history_section .history_border{
  flex-shrink: 0;
  width: 90px;
  height: 1px;
  background-color: #00436d;
  margin-top: 12px;
  margin-right: 36px;
}

.company_history_section .history_contents{
  font-weight: 500;
  line-height: 1.63;
}

/*
------------------------------------
SDGsへの取り組み
------------------------------------
*/  

body.sdgs_body{
  
}

main.sdgs_main{

}

.sdgs_mv_section{
  background-image: url('../img/sdgs/sdgs_mv.jpg');
  min-height: 300px;
}

.sdgs_mv_section .page_title_set .en_title{
  color:#fff;
}
.sdgs_mv_section .page_title_set .ja_title{
  color:#fff;
}

.sdgs_section01{
  padding-top: 32px;
  padding-bottom: 120px;
}

.sdgs_section01 .p01{
  line-height: 2.13;
  text-align: center;
}

.sdgs_section01 .sdgs_all{
  max-width: 1086px;
  margin:60px auto 0;
} 

.sdgs_section01 .sdgs_all img{
  width:100%;
}

.sdgs_section01 .sdgs_head{
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  margin-top: 100px;
}

.sdgs_section01 .sdgs_head::after{
  content:'';
  width: 46px;
  height: 2px;
  background-color: #00436d;
  margin-top: 26px;
}

.sdgs_section01 .sdgs_title{
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3;
  padding-bottom: 16px;
  border-bottom:1px solid #00436d;
  margin-top: 56px;
}


.sdgs_section01 .sdgs_list{
  margin-top: 40px;
} 

.sdgs_section01 .sdgs_block{
  padding:30px;
  background-color: #f2f4f7;
  display: flex;
  align-items: center;
  
}

.sdgs_section01 .sdgs_block + .sdgs_block{
  margin-top: 40px;
}

.sdgs_section01 .sdgs_block .sgds_img_list{
  display: flex;
  align-items: center;
  gap:20px;
  flex-shrink: 0;
  width:510px;
}

.sdgs_section01 .sdgs_block .sgds_img_list img{
  width:140px;
  height:140px;
  object-fit: cover;
}

.sdgs_section01 .sdgs_block .sgds_text_area{
  width: 100%;
  font-weight: bold;
  line-height: 2.25;
}

.sdgs_section01 .box{
  margin-top: 108px;
  position: relative;
  border:3px solid #00436d;
  padding:64px 86px 40px;
}

.sdgs_section01 .box .box_head{
  width: fit-content;
  background-color: #fff;
  padding:0 24px;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #00436d;
  white-space: nowrap;
  position: absolute;
  left:0;
  right:0;
  margin:auto;
  top:-16px;
}

.sdgs_section01 .box ul li{
  display: flex;
  align-items: flex-start;
  font-weight: bold;
  line-height: 1.63;
}

.sdgs_section01 .box ul li::before{
  content:'';
  width: 13px;
  height:13px;
  border-radius: 50%;
  background-color: #00436d;
  flex-shrink: 0;
  margin-top: 7px;
  margin-right: 14px;
}

.sdgs_section01 .box ul li + li{
  margin-top: 16px;
}

/*
------------------------------------
お問い合わせ
------------------------------------
*/  

body.contact_body{
  
}

main.contact_main{

}

.contact_mv_section{
  background-image: url('../img/contact/contact_mv.jpg');
  min-height: 300px;
}

.contact_mv_section .page_title_set .en_title{
  color:#fff;
}
.contact_mv_section .page_title_set .ja_title{
  color:#fff;
}

.contact_section01{
  padding-top: 32px;
  padding-bottom: 80px;
}

.contact_section01 .flex{
  display: flex;
  justify-content: center;
  align-items: center;
  gap:0 40px;
}

.contact_section01 .flex a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 320px;
  height: 60px;
  border:1px solid #00436d;
  background-color: #00436d;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  transition-duration: 0.4s;
  position: relative;
}

.contact_section01 .flex a::after{
  content:'';
  width: 16px;
  height: 9px;
  background-image: url('../img/common/angle_bottom_white.png');
  position: absolute;
  right:20px;
  top:0;
  bottom:0;
  margin: auto;
  transition-duration: 0.4s;
}

@media(any-hover:hover){
  .contact_section01 .flex a:hover{
    color:#00436d;
    background-color: #fff;
  }

  .contact_section01 .flex a:hover::after{
    background-image: url('../img/common/angle_bottom_blue.png');
  }
}

.contact_form_section{
  padding-top: 100px;
  padding-bottom: 100px;
  background-color: #f2f4f7;

}

.contact_form_section .p01{
  margin-top: 20px;
  line-height: 2.13;
  text-align: center;
}

.contact_form_section .form_box{
  padding:80px 100px;
  background-color: #fff;
  margin-top: 48px;
}

.contact_form_section .form_line{
  display: flex;
  align-items: flex-start;
  position: relative;
  padding-bottom:30px;
  border-bottom:1px solid #ddd;
}

.contact_form_section .form_line::before{
  content:'';
  width:230px;
  height:1px;
  background-color: #00436d;
  position: absolute;
  bottom:-1px;
  left:0;
}

.contact_form_section .form_line + .form_line{
  padding-top: 30px;
}

.contact_form_section .form_left{
  width: 230px;
  flex-shrink: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
  line-height: 1;
  padding-top: 12px;
}

.contact_form_section .form_left::after{
  content:'任意';
  width: 45px;
  height: 24px;
  border-radius: 2px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  font-weight: bold;
  line-height:1;
  color: #fff;
  background-color: #999;
}

.contact_form_section .form_left.must::after{
  content:'必須';
  background-color: #d71315;
}

.contact_form_section .form_left.pt0{
  padding-top: 0;
}

.contact_form_section .form_right{
  width: 100%;
  padding-left: 14px;
}


.contact_form_section .input_frame{
  width:calc(100% - 10px);
} 

.contact_form_section .form_line input[type='text'],
.contact_form_section .form_line input[type='number'],
.contact_form_section .form_line input[type='tel'],
.contact_form_section .form_line input[type='email']{
  border:none;
  background: none;
  border-radius: 0;
  display: block;
  width: 100%;
  height: 50px;
  padding: 0 16px;
  border-radius: 4px;
  border: solid 1px #ccc;
  background-color: #f5f5f5;
  font-weight: 400;
}

.contact_form_section .form_line input::placeholder,
.contact_form_section .form_line textarea::placeholder{
  color: #999;
}

.contact_form_section .form_line textarea{
  border:none;
  background: none;
  border-radius: 0;
  display: block;
  width: 100%;
  height: 230px;
  padding: 24px 20px;
  border-radius: 4px;
  border: solid 1px #ccc;
  background-color: #f5f5f5;
  font-weight: 400;
  line-height: 1.5;
}

.contact_form_section .form_line .msg_text{
  display: flex;
  align-items: flex-start;
  margin-top: 10px;
  line-height: 1.63;
  margin-bottom: 20px;
}


.contact_form_section .form_line .msg_text::before{
  content:"※";
  flex-shrink: 0;
  line-height: 1.63;
}

.contact_form_section .form_line .adress_flex{
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.contact_form_section .form_line .adress_flex .mark{
  margin-left: 16px;
  line-height: 1;
}

.contact_form_section .form_line .adress_flex .adress_frame{
  width: 180px;
  margin-left: 16px;
  margin-right: 10px;
}

.contact_form_section .form_line .adress_flex .adress_search{
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  width: 60px;
  height: 36px;
  background-color: #00436d;
  color: #fff;
  line-height: 1;
}

.contact_form_section .wpcf7-list-item {
  margin:0;
}

.contact_form_section .check_list .wpcf7-checkbox {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap:20px 24px;
}

.contact_form_section .check_list label{
  display: flex;
  align-items: center;
  cursor: pointer;
  line-height: 1.2;
}

.contact_form_section .check_list label input{
  display: block;
  width: 26px;
  height: 26px;
  margin-right: 8px;
}

.contact_form_section .privacy_text{
  margin-top: 60px;
  line-height: 2.13;
  text-align: center;
}

.contact_form_section .privacy_text a{
  color:#00436d;
  border-bottom:1px solid #00436d;
}

.contact_form_section .privacy_box{
  margin-top: 24px;
  background-color: #f2f4f7;
  padding:24px 12px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.contact_form_section .privacy_box::before{
  content:'必須';
  display: flex;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 24px;
  border-radius: 2px;
  background-color: #d71315;
  margin-right: 20px;
  font-size: 13px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  margin-top: 1px;
}


.contact_form_section .privacy_box label{
  display: flex;
  align-items: center;
  cursor: pointer;
  line-height: 1.2;
}

.contact_form_section .privacy_box label input{
  display: block;
  width: 26px;
  height: 26px;
  margin-right: 8px;
}

.contact_form_section .submit_frame{
  width: 280px;
  height: 60px;
  position: relative;
  margin:50px auto 0;
}

.contact_form_section .submit_frame::after{
  content:'';
  width: 9px;
  height: 16px;
  background-image: url('../img/common/angle_right_white.png');
  transition-duration: 0.4s;
  position: absolute;
  right:20px;
  top:0;
  bottom:0;
  margin:auto;
}

.contact_form_section .submit_frame input{
  border:none;
  background: none;
  border-radius: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width:100%;
  height: 60px;
  background-color: #00436d;
  border:1px solid #00436d;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  transition-duration: 0.4s;
  cursor: pointer;
}

@media(any-hover:hover){
  .contact_form_section .submit_frame:hover::after{
    background-image: url('../img/common/angle_right_blue.png');
  }
  .contact_form_section .submit_frame:hover input{
    color:#00436d;
    background-color: #fff;
  }
}

.contact_tel_section{
  padding-top: 100px;
  padding-bottom: 100px;
}

.contact_tel_section .tel_box{
  padding:32px 24px 48px;
  border: 3px solid #00436d;
  position: relative;
  text-align: center;
}

.contact_tel_section .tel_box .tel_head{
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  background-color: #fff;
  width: fit-content;
  padding:0 24px;
  white-space: nowrap;
  position: absolute;
  top:-14px;
  left:0;
  right:0;
  margin:auto;
}

.contact_tel_section .tel_box .tel_text01{
  line-height: 2.13;
}

.contact_tel_section .tel_box .tel{
  
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  margin:24px auto 0;
  font-family: 'Roboto', sans-serif;
  font-size: 48px;
  font-weight: bold;
  line-height: 1;
  color: #00436d;
}

.contact_tel_section .tel_box .tel::before{
  content:'';
  width: 32px;
  height: 41px;
  background-image: url('../img/common/icon_tel_blue.png');
  margin-right: 8px;
}

.contact_tel_section .tel_box .tel_text02{
  margin-top: 12px;
  line-height: 1.2;
}

.contact_section .finish_text01{
  font-size: 24px;
  text-align: center;
  font-weight: bold;
}

.contact_section .finish_text02{
  margin-top: 32px;
  text-align: center;
  line-height: 1.75;
}

.contact_section .top_link{
  width: 280px;
  margin:32px auto 0;
}

/*
------------------------------------
プライバシーポリシー
------------------------------------
*/  

body.privacy_body{
  
}

main.privacy_main{

}

.privacy_section01{
  padding-top: 24px;
  padding-bottom: 180px;
}

.privacy_section01 .privacy_head{
  font-size: 20px;
  font-weight: bold;
  line-height: 1.2;
  padding-bottom: 16px;
  border-bottom: 1px solid #00436d;
}

.privacy_section01 * + .privacy_head{
  margin-top: 64px;
}

.privacy_section01 .privacy_text{
  line-height: 2.13;
  margin-top: 20px;
}

.privacy_section01 ul{
  margin-top: 16px;
}

.privacy_section01 ul li{
  display: flex;
  align-items: flex-start;
  line-height: 1.5;
}

.privacy_section01 ul li::before{
  content:'';
  width: 8px;
  height:8px;
  border-radius: 50%;
  background-color: #00436d;
  flex-shrink: 0;
  margin-right: 12px;
  margin-top: 8px;
}

.privacy_section01 ul li + li{
  margin-top: 8px;
}

.privacy_section01 .link{
  color:#00436d;
  border-bottom:1px solid #00436d;
}

/*
------------------------------------
404
------------------------------------
*/  

body.page404_body{
  
}

main.page404_main{

}

.page404_section01{
  padding-top: 40px;
  padding-bottom: 80px;
}


.page404_section01 .p01{
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 32px;
  font-weight: bold;
}

.page404_section01 .p02{
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.7;
  margin-top: 32px;
  font-size: 18px;
}