@media (min-width:1025px){
  .sp_only{
    display: none!important;
  }
}
@media (min-width:768px){
  .under767{
    display: none!important;
  }
}
@media (max-width:767px){
  .over767{
    display: none!important;
  }
}

@media (max-width:1024px){
  .pc_only{
    display: none!important;
  }

  /*
  ------------------------------------------------
  共通部分
  ------------------------------------------------
  */

  body{
    position: relative;
    font-size: 16px;
    min-width:auto;
  }

  body.fixed {
    width: 100%;
    height: 100%;
    position: fixed;
  }

  main{
    padding-top: 60px;
  }


  /*以下、共通パーツ*/

  .container{
    max-width: 600px;
    margin:0 auto;
  }

  @media(max-width:767px){
    .container{
      max-width: 345px;
    }

  }/*@media(max-width:767px){*/

  .anchor_link{
    cursor: pointer;
  }

  .common_ir_link{
    padding:16px 24px;
    border-radius: 6px;
    font-size: 14px;

  }

  .common_ir_link::after{
    width:20px;
    height:20px;
    right:16px;
  }

  .common_ir_link:hover{
    background-color: #fff;
    color: #333;
  }

  .common_ir_link:hover::after{
    transform: translateX(0);
  }

  .common_ir_link:active{
    background-color: rgba(255,255,255,0.8);
    color:#A2A2A2;
  }

  .common_ir_link:active::after{
    transform: translateX(10px);
  }


  .common_left_border_title{
    padding-left: 28px;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.5;
    text-align: left;
    position: relative;
  }

  .common_left_border_title::before{
    content:"";
    width:3px;
    height:100%;
    background-color: #0E8BB9;
    position: absolute;
    top:0;
    left:0;
  }

  #page_top{
    display: block;
  }



  /*以下、アニメーション共通*/

  .common_hover_opa{
    transition: 0.4s;
  }

  .common_hover_opa:hover{
    opacity: 1;
  }

  .common_hover_opa:active{
    opacity: 0.7;
  }

  /*以下、共通セクション*/
  header{
    height:60px;
    background-color:#fff;
  }

  header .header_container{
    padding:0;
    height:100%;
    min-width:auto;
    margin:0 auto;
    background-color:#fff;
  }

  header .header_flex{
    display: flex;
    justify-content: space-between;
    height:100%;
  }

  header .header_left{
    padding-left: 16px;
    padding-top: 10px;
  }

  header .header_logo{
    display:block;
    width:145px;
  }

  header .header_logo img{
    width:100%;
  }

  header .header_right{
    display:flex;
    align-items: center;
    height:100%;
  }


  header .header_right ul{
    display: none;
  }

  header .header_right .contect_link{
    display: none;
  }

  header .header_right .search_open{
    display: none;
  }

  header .drawer_menu_block{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    width:60px;
    height:60px;
    cursor: pointer;
    background-color:#0E8BB9;
    padding:20px 16px;
  }

  header .drawer_menu_block .bar{
    height:2px;
    background-color: #fff;
    transition-duration: 0.5s;
  }

  header .drawer_menu_block.active .bar1 {
    transform: translateY(8.8px) rotate(-45deg);
  }
  header .drawer_menu_block.active .bar2 {
    display: none;
  }
  header .drawer_menu_block.active .bar3 {
    transform: translateY(-8.8px) rotate(45deg);
  }

  #drawer_menu_bg{
    width:100%;
    height:100vh;
    background-color: rgba(112,112,112,0.6);
    /* background-color: rgba(0,0,0,0.8); */
    position: fixed;
    top:0;
    left:0;
    z-index:90;
    transition: 0.5s;
    opacity: 0;
    pointer-events: none;
  }

  #drawer_menu_bg.show{
    opacity: 1;
  }

  #drawer_menu{
    position: fixed;
    top:60px;
    height:calc(100vh - 60px);
    width:100%;
    max-width:500px;
    background-color: #fff;
    transition: 0.5s;
    opacity: 0;
    z-index:95;
    pointer-events: none;
    right:-100px;
    padding-bottom: 16px;
    /* transform: translateX(100px); */
  }

  #drawer_menu.show{
    opacity: 1;
    pointer-events: auto;
    right:0;
  }

  #drawer_menu .frame{
   height:100%;
   padding:24px 16px;
   overflow-y: scroll;
  }

  #drawer_menu ul.parent_ul {
    margin-bottom: 72px;
    
  }

  #drawer_menu ul .parent_link{
    position: relative;
    display: block;
    padding:20px 32px;
    border-bottom: 1px solid #D6D6D6;
    font-weight: 500;
    font-size: 14px;
    line-height: 1;
    color: #1a1311;
  }

  #drawer_menu ul .child_menu_open::after{
    content:"";
    width:14px;
    height:14px;
    background-image: url('../img/common/plus.png');
    position: absolute;
    top:0;
    bottom:0;
    right:24px;
    margin:auto;
  }

  #drawer_menu ul .child_menu_open.active::after{
    width:14px;
    height:1px;
    background-image: url('../img/common/minus.png');
  }

  #drawer_menu ul.child_ul{
    padding-left: 16px;
    padding-top: 20px;
    border-bottom: 1px solid #D6D6D6;
    display: none;
  }

  #drawer_menu ul.child_ul li{
    margin-bottom: 20px;
  }


  #drawer_menu ul.child_ul li .child_link{
    display: inline-block;
    position: relative;
    padding-left: 20px;
    font-size: 14px;
    line-height: 1.5;
    color: #333;
  }

  #drawer_menu ul.child_ul li .child_link::before{
    content:"";
    width:9px;
    height:1px;
    background-color:#707070;
    position: absolute;
    left:0;
    top:10px;
  }

  #drawer_menu .link_flex{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 64px;
  }

  #drawer_menu .link_flex .search_open{
    position: relative;
    margin-bottom: 12px;
  }

  #drawer_menu .link_flex .search_open::after{
    content:"";
    width:15px;
    height:16px;
    background-image: url('../img/common/icon_search_white.png');
    position: absolute;
    left:24px;
    top:0;
    bottom:0;
    margin:auto;
  }

  #drawer_menu .link_flex .link{
    width: 228px;
    height: 44px;
    border-radius: 22px;
    background: #0e8bb9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 14px;
    line-height: 1;
    color: #fff;
  }

  #drawer_menu .link_list{

  }

  #drawer_menu .link_list p{
    margin-bottom: 16px;
  }

  #drawer_menu .link_list a{
    display: inline-block;
    position: relative;
    padding-right: 12px;
    font-weight: 500;
    font-size: 12px;
    line-height: 1;
    color: #333;
  }

  #drawer_menu .link_list a::after{
    content:"";
    width:6px;
    height:8px;
    background-image: url('../img/common/arrow_right_blue.png');
    position: absolute;
    right:0;
    top:0;
    bottom:0;
    margin:auto;
  }



  @media(max-width:767px) {
    
    
    #search_pop .search_container{
      position: relative;
      height:100%;
      max-width: 345px;
      min-height:400px;
      display: flex;
      justify-content: center;
      align-items: center;
      padding:0;
      margin:0 auto;
    }
    
    #search_pop .search_flex{
      display: flex;
      justify-content: center;
      flex-direction: column;
      align-items: center;
      width:310px;
    }
    
    #search_pop .search_flex .keyword{
      border: none;
      background: none;
      padding: 0 16px;
      width: 100%;
      height: 40px;
      background-color: #fff;
      border-radius: 5px;
      margin-bottom: 20px;
      font-size: 14px;
      padding:0 8px;
    }
    
    #search_pop .search_flex .button{
      border: none;
      background: none;
      cursor: pointer;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 90px;
      height: 32px;
      border-radius:5px;
      background: #0e4e8e;
      font-weight: bold;
      font-size: 14px;
      line-height: 1;
      color: #fff;
    }
    
    #search_pop .search_close{
      position: absolute;
      cursor: pointer;
      bottom:104px;
      left:0;
      right:0;
      margin:auto;
      width: 154px;
      height: 37px;
      border-radius: 18.5px;
      border: 1px solid #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      font-weight: bold;
      font-size: 14px;
      line-height: 1;
      color: #fff;
      padding-left: 16px;
    }
    
    #search_pop .search_close img{
      width:14px;
      margin-left: 24px;
    }
  }

  footer{
    padding-top: 112px;
    padding-bottom: 72px;
    position: relative;
  }

  footer::before{
    content:"";
    width:100%;
    height:100%;
    background-color:#fff;
    position: absolute;
    top:0;
    left:0;
    z-index:-5;
  }

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

  footer .flex{
    display: flex;
    justify-content: center;

    margin-bottom: 64px;
  }

  footer .flex .left{
    width:auto;
  }

  footer .footer_logo{
    display: block;
    margin-bottom: 20px;
    width:174px;
  }

  footer .footer_logo img{
    width:100%;
  }

  footer .p01{
    font-size: 12px;
    letter-spacing: 0.04em;
    line-height: 1.2;
    margin-bottom: 8px;
  }

  footer .p02{
    font-size: 12px;
    letter-spacing: 0.04em;
    line-height: 1.2;
    margin-bottom: 12px;
  }

  footer .p02 a.tel{
    pointer-events: auto;
    color:#333;
    font-weight: 500;
    display: inline-block;
    margin-bottom: 4px;
  }

  footer .contact_link{
    width: 162px;
    height: 36px;
    border-radius: 3px;
    background: #0e8bb9;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    font-size: 14px;
    line-height: 1;
    color: #fff;
    position: relative;
    margin-bottom: 40px;
  }

  footer .contact_link::after{
    content:"";
    width:3px;
    height:4.5px;
    background-image: url('../img/common/arrow_right_white.png');
    position: absolute;
    right:16px;
    top:0;
    bottom:0;
    margin:auto;
  }

  footer .p03{
    margin-bottom: 16px;
    
  }

  footer .p04{
    margin-bottom: 40px;
    
  }

  footer .p05{
    font-size: 10px;
    line-height: 1;
  }

  footer .company_logo01{
    width:194px;
    margin-top: 12px;
  }

  footer .company_logo02{
    width:190px;
    margin-top: 12px;
  }

  footer .text_link{
    display:inline-block;
    position: relative;
    padding-right: 12px;
    font-weight: 500;
    font-size: 12px;
    line-height: 1;
    color: #333;
  }

  footer .text_link::after{
    content:"";
    width:3px;
    height:4px;
    background-image: url('../img/common/arrow_right_blue.png');
    position: absolute;
    right:0;
    top:0;
    bottom:0;
    margin:auto;
  }

  footer .flex .right{
    display: none;
  }


  footer .copy{
    font-size: 10px;
    text-align: left;
    color: #525760;
    display: flex;
    justify-content: center;
  }


  footer .sns_flex{
    justify-content: center;
    padding-top: 0;
    border-top:none;
    margin-bottom: 32px;
  }

  @media(max-width:767px){
    footer .sns_flex{
      flex-direction: column;
    }

    footer .insta_feed{
      margin-left: 0;
      margin-top: 32px;
    }


  }/*@media(max-width:767px){*/


  footer .sns_area{
  position: static;
  width:fit-content;
  margin:0 auto 40px;
  }

  footer .sns_area .follow_text{
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 12px;
    letter-spacing: 0.04em;
    line-height: 1;
    color: #525760;
  }

  footer .sns_area .follow_text span{
    margin-left: 6px;
    width:36px;
    height:1px;
    background-color: #525760;
    margin-top: 3px;
  }

  footer .sns_area .sns_link{
    margin-top: 20px;
    width: 185px;
    height: 42px;
    border-radius: 8px;
    background: #a2a2a2;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  footer .sns_area .sns_link .youtube{
    width:92px;
  }


  /*下層ページのサブメニュー*/
  .common_submenu_frame{
    height:auto;
  }

  .common_submenu{
    width:100%;
    height:auto;
    background: #dbe9f2;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  }

  .common_submenu .submenu_frame{
    height:100%;
    padding:16px 32px;
    position: relative;
  }

  .common_submenu.fixed{
    top:60px;
    left:0;
    z-index:80;
    position: fixed;
  }

  .common_submenu .submenu_open{
    padding:12px 0;
  }

  .common_submenu .submenu_open .submenu_open_flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.04em;
    line-height: 1;
    color: #0e4e8e;
    max-width: 330px;
    margin:0 auto;
  }

  .common_submenu .submenu_open img{
    width:13px;
  }

  .common_submenu .submenu_close{
    position: absolute;
    right:24px;
    bottom:8px;
    padding:6px;
    cursor: pointer;
  }

  .common_submenu .submenu_close img{
    width:13px;
  }

  .common_submenu nav{
    height:auto;
    display: none;
    align-items: flex-end;
    justify-content: center;
    flex-wrap: wrap;
  }

  .common_submenu.open nav{
    display: flex;
  }

  .common_submenu.first_open nav{
    display: flex;
  }

  .common_submenu .link{
    margin:8px 24px;
  }

  .common_submenu .link p{
    padding-bottom: 16px;
    font-weight: 500;
    font-size: 13px;
    line-height: 1;
    text-align: center;
    color: #85929f;
    transition: 0.4s;
    position: relative;
  }

  .common_submenu .link p::after{
    content:"";
    width:100%;
    height:2px;
    background-color:#0E4E8E;
    position: absolute;
    bottom:0;
    left:0;
    transition: 0.4s;
    opacity: 0;
  }

  .common_submenu .link .icon{
    width:52px;
    height:46px;
    position: relative;
    margin:0 auto 6px;
  }

  .common_submenu .link .icon img{
    transition: 0.4s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }

  .common_submenu .link .icon img.on{
    opacity:0;
  }

  .common_submenu .link.active p{
    color:#0E4E8E;
  }

  .common_submenu .link.active p::after{
    opacity: 1;
  }

  .common_submenu .link.active img.on{
    opacity:1;
  }

  .common_submenu .link.active img.off{
    opacity:0;
  }

  .common_submenu .link:hover p{
    color: #85929f;
  }
  .common_submenu .link:hover p::after{
    opacity: 0;
  }

  .common_submenu .link:hover img.on{
    opacity:0;
  }

  .common_submenu .link:hover img.off{
    opacity:1;
  }

  .common_submenu .link:active p{
    color:#0E4E8E;
  }
  .common_submenu .link:active p::after{
    opacity: 1;
  }
  .common_submenu .link:active img.on{
    opacity:1;
  }

  .common_submenu .link:active img.off{
    opacity:0;
  }


  .common_submenu .link.active:hover p{
    color:#0E4E8E;
  }
  .common_submenu .link.active:hover p::after{
    opacity: 1;
  }

  .common_submenu .link.active:hover img.on{
    opacity:1;
  }

  .common_submenu .link.active:hover img.off{
    opacity:0;
  }

/*ir関係のアイコン*/
  .common_submenu .news_icon{
    width:42px;
  }
  .common_submenu .manage_icon{
    width:42px;
  }
  .common_submenu .stock_icon{
    width:49px;
  }
  .common_submenu .ad_icon{
    width:43px;
  }
  .common_submenu .flow_icon{
    width:39px;
  }
  .common_submenu .meeting_icon{
    width:52px;
  }
  .common_submenu .calendar_icon{
    width:39px;
  }
  .common_submenu .term_icon{
    width:35px;
  }



  @media(max-width:767px){
    .common_submenu nav{
      width:310px;
      margin:0 auto;
      justify-content:space-between;

    }

    .common_submenu .link{
      margin:0 0 16px;
      display:flex;
      align-items:center;

      width:48%;
    }

    .common_submenu .link p{
      padding-bottom: 6px;
      font-weight: 500;
      font-size: 13px;
      line-height: 1;
      text-align: left;
      color: #85929f;
      transition: 0.4s;
      position: relative;
      /* white-space: nowrap; */
    }

    .common_submenu .link p::after{
      content:"";
      width:100%;
      height:2px;
      background-color:#0E4E8E;
      position: absolute;
      bottom:0;
      left:0;
      transition: 0.4s;
      opacity: 0;
    }

    .common_submenu .link .icon{
      width:48px;
      height:28px;
      position: relative;
      margin:0 0 6px;
    }

    .common_submenu .link .icon img{
      transition: 0.4s;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(0, -50%);
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
    }

    .common_submenu .news_icon{
      width:30px;
    }
    .common_submenu .manage_icon{
      width:30px;
    }
    .common_submenu .stock_icon{
      width:32px;
    }
    .common_submenu .ad_icon{
      width:30px;
    }
    .common_submenu .flow_icon{
      width:29px;
    }
    .common_submenu .meeting_icon{
      width:37px;
    }
    .common_submenu .calendar_icon{
      width:29px;
    }
    .common_submenu .term_icon{
      width:28px;
    }
    .common_submenu .stockholder_icon{
      width:32px;
    }


        /*事業内容のアイコン*/
  .common_submenu .machine_icon{
    width:30px;
  }
  .common_submenu .resource_icon{
    width:42px;
  }
  .common_submenu .estate_icon{
    width:18px;
  }
  .common_submenu .material_icon{
    width:32px;
  }
  .common_submenu .product_icon{
    width:20px;
  }

  
  /*会社情報のアイコン*/
  .common_submenu .outline_icon{
    width:30px;
  }
  .common_submenu .message_icon{
    width:32px;
  }
  .common_submenu .history_icon{
    width:26px;
  }
  .common_submenu .office_icon{
    width:35px;
  }

  }/*  @media(max-width:767px){*/


  /*下層ページのページ上部エリア*/

  .page_head_section{
    padding-top: 32px;
    display: flex;
    flex-direction: column-reverse;
  }

  .page_head_section .title_area{
    margin-top: 0;
    padding-bottom: 24px;
    border-bottom: 1px solid #525760;

  }

  .page_head_section .page_title{
    font-weight: 500;
    font-size: 32px;
    line-height: 1.5;
    text-align: left;
  }

  /*パンクズ*/
  .bread_section{
    padding-top: 16px;
  }

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

  .bread_section .flex{
    display: flex;
    flex-wrap: wrap;
  }

  .bread_section a{
    font-size: 13px;
    font-weight: 500;
    line-height: 1.2;
    color: #525760;
    transition: 0.4s;
    margin-bottom: 12px;
  }

  .bread_section a:hover{
    text-decoration: none;
  }

  .bread_section .text{
    font-size: 13px;
    font-weight: 500;
    line-height: 1.2;
    color: #525760;
    margin-bottom: 12px;
  }

  .bread_section .arrow{
    width:4px;
    margin:0 16px;
    padding-top: 6px;
    margin-bottom: 12px;
  }

  .bread_section .arrow img{
    width:100%;
  }


  /*ページネーション*/
  .pagenation .wp-pagenavi{
    display: flex;
    justify-content: center;
  }

  .pagenation .wp-pagenavi span.current{/*現在のページボタン*/
    font-weight: bold;
    font-size: 17px;
    line-height: 1.2;
    color: #0E8BB9;
    border-bottom: 1px solid #0E8BB9;
    margin:0 6px;
    transition: 0.4s;
  }

  .pagenation .wp-pagenavi a.page-numbers{/*指定のページ移動ボタン*/
    font-weight: bold;
    font-size: 17px;
    line-height: 1.2;
    color: #333;
    transition: 0.4s;
    margin:0 6px;
  }

  .pagenation .wp-pagenavi a.page-numbers:hover{
    color: #0E8BB9;
    border-bottom: 1px solid #0E8BB9;
  }




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

  body.top_body{

  }

  body.top_body footer::before{

    background-color:#F4F5F7;

  }

  /* body.top_body::before{
    background-color:#fff;

  } */

  main.top_main{

  }


  main.top_main .white_section{
    position: relative;
  }

  main.top_main .white_section::before{
    content:"";
    width:100%;
    height:100%;
    background-color: #fff;
    position: absolute;
    top:0;
    left:0;
    z-index:-10;
  }

  main.top_main .top_fix_frame{
    position: fixed;
    top:0;
    left:0;
    z-index:-20;
    width:100%;
    height:100vh;
    min-height:600px;
  }


  main.top_main .top_fix_frame img{
    width:100%;
    height:100%;
    object-fit: cover;
  }

  .top_section01{
    /* width:100%;
    height:100vh;
    min-height:600px; */
  }

  .top_section02{

  }

  .top_section02 .box{
    width: 100%;
    max-width: 100%;
    height: 100vh;
    backdrop-filter: blur(26.363300323486328px);
    --webkit-backdrop-filter: blur(26.363300323486328px);
    background-color: rgba(14, 139, 185, 0.12);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    /* padding:0 24px 88px; */
    padding:90px 24px 0;
    color:#fff;
  }

  .top_section02 .box .p01{
    font-weight: bold;
    font-size: 10vw;
    font-size:min(10vw ,46px);
    line-height: 1.5;
    font-feature-settings: "palt";
  }

  .top_section02 .box .p02{
    font-size: 3.733vw;
    font-size:min(3.733vw ,20px);
    line-height: 1.8;
  }


  .top_section02 .youtube_open{
    right:0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width:240px;
    /* min-width:50vw; */
  }

  .top_section02 .youtube_open .thumb{
    /* min-width:50vw; */
    width:240px;
  }

  .top_section02 .youtube_pop .youtube_frame{
    width:70vw;
    height:40vw;
    max-height: 75vh;
  }

  .top_section02 .youtube_pop .youtube_close{
    position: absolute;
    z-index:201;
    width:24px;
    right:-32px;
    top:-32px;
    cursor: pointer;
  }

  

  .top_section03{
    padding-top: 100px;
    padding-bottom: 100px;
    overflow: hidden;
    position: relative;
  }

  .top_section03 .bg{
    position: absolute;
    width:310px;
    z-index:-3;
    margin-top: 0;
    top: 72px;
    left:-72px;
    right:calc(50% + 310px);
    transform: translateY(0);
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
  }


  .top_section03 .flex{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
  }

  .top_section03 .left{
    margin-bottom: 48px;
  }

  .top_section03 .right{
    width:732px;
    max-width:100%;
  }
  
  .top_section03 .right .cat_list{
    display: flex;
    gap:0 40px;
    margin-bottom: 20px;
  }
  
  .top_section03 .right .cat_link{
    padding:0 2px 4px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1;
    display: flex;
    justify-content: center;
    color: #333;
    border-bottom:2px solid transparent;
    transition: 0.4s;
  } 
  
  .top_section03 .right .cat_link.active{
    color:#0E8BB9;
    border-bottom:2px solid #0E8BB9;
    pointer-events: none;
  }
  
  .top_section03 .right li{
    border-top:1px solid #CCCCCC;
  }
  
  .top_section03 .right li .news_link{
    display: flex;
    flex-wrap: wrap;
    padding:12px 0;
    color:#333333;
  }
  
  .top_section03 .right li .news_link.link_off{
    pointer-events: none;
  }
  
  .top_section03 .news_link .info_flex{
    flex-shrink: 0;
    margin-right: 24px;
    display: flex;
  }
  
  .top_section03 .news_link .date{
    width:100px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.3;
  }
  
  .top_section03 .news_link .cat{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 18px;
    border-radius: 9px;
    background: #525760;
    font-family: "Noto Sans JP";
    font-weight: 500;
    font-size: 10px;
    line-height: 1;
    color: #fff;
    white-space: nowrap;
    letter-spacing: 0;
  }
  
  .top_section03 .news_link .news_title{
    width:100%;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.3;
    margin-top: 10px;
  }

  .top_section03 .left .ja_title{
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    color: #0e8bb9;
    margin-bottom: 16px;
    text-align: left;
  }

  .top_section03 .left .en_title{
    font-weight: bold;
    font-size: 36px;
    line-height:20px;
    text-align: left;
    color: #333;

  }



  .top_section04 .flex{
    display: flex;
    justify-content:center;
    flex-direction: column;
  }

  .top_section04 .flex .box{
    position: relative;
    display: flex;
    justify-content: center;
    width:100%;
    color: #fff;
  }

  .top_section04 .flex .link_box{
    overflow: hidden;
  }

  .top_section04 .flex .link_box:hover .bg{
    transform: scale(1);
  }
  .top_section04 .flex .link_box:active .bg{
    transform: scale(1.1);
  }

  .top_section04 .flex .link_box .link_title{
    width:fit-content;
    margin:0 auto 24px;
    font-weight: bold;
    font-size: 20px;
    line-height: 1;
    position: relative;
  }

  .top_section04 .flex .link_box .link_title::after{
    content:"";
    width:5px;
    height:7px;
    background-image: url('../img/common/arrow_right_white.png');
    position: absolute;
    top:0;
    bottom:0;
    right:-20px;
    margin:auto;
  }

  .top_section04 .flex .link_box .link_text{
    font-size: 14px;
    line-height: 1.6;
    text-align: center;
    color: #fff;
  }

  .top_section04 .flex01{

  }

  .top_section04 .flex01 .box{
    width:100%;
    height:265px;
    align-items: center;
  }

  .top_section04 .text_box{
    background-color: #0E8BB9;
    padding-top: 80px;

    padding-bottom: 88px;
  }
  .top_section04 .flex01 .text_box{
    height:auto;
  }

  .top_section04 .text_box .contents{
    padding:0 28px;
    max-width:500px;
  }

  .top_section04 .text_box .ja_title{
    font-weight: 500;
    font-size: 12px;
    line-height: 1.2;
    text-align: left;
    margin-bottom: 8px;
  }

  .top_section04 .text_box .en_title{
    font-weight: bold;
    font-size: 36px;
    line-height: 1;
    margin-bottom: 20px;
  }

  .top_section04 .text_box .p01{
    font-weight: bold;
    font-size: 22px;
    line-height: 1.4;
    margin-bottom: 12px;
  }

  .top_section04 .text_box .border{
    width:52px;
    height:1px;
    background-color: #CCCCCC;
    margin-bottom: 12px;
  }

  .top_section04 .text_box .p02{
    font-size: 14px;
    line-height: 1.6;
  }

  .top_section04 .flex02 .box{
    width:100%;
    height:265px;
    padding-top: 0;
    align-items: center;
  }

  .top_section05{
    padding-top: 80px;
    padding-bottom: 80px;
    background-color:#F4F5F7;
  }
  
  .top_section05 .ja_title{
    font-weight: 500;
    font-size: 12px;
    line-height: 1x;
    color: #0e8bb9;
    margin-bottom: 8px;
  }
  
  .top_section05 .en_title{
    font-weight: bold;
    font-size: 36px;
    line-height: 1;
    color: #0e8bb9;
    /* margin-bottom: 40px; */
  }
  
  .top_section05 .product_area{
    /* padding-top: 32px; */
    width:calc(50% + 155px);
    margin:0 0 0 auto;
    padding-top: 64px;
  }
  
  .top_section05 .side_scroll_list_wrapper {
    position: relative;
    width: 100%;
    height: 350px;
  }
  
  .side_scroll_list {
    position: absolute;
    top:40px;
    left: 0;
    display: flex;
    gap: 0 40px;
  }
  
  .side_scroll_item {
    width: 272px;
  }
  
  .top_section05 .swiper-slide{
    padding-left: 40px;
  }
  
  .top_section05 .product_link{
    display: block;
    width:272px;
  }
  
  .top_section05 .product_link .thumb{
    height:226px;
    overflow: hidden;
    margin-bottom: 20px;
  }
  
  .top_section05 .product_link .thumb img{
    width:100%;
    height:100%;
    object-fit: cover;
    transition: 0.4s;
  }
  
  .top_section05 .product_link:hover .thumb img{
    transform: scale(1);
  }
  
  .top_section05 .product_link .product_name{
    font-weight: bold;
    font-size: 17px;
    line-height: 1;
    text-align: center;
    color: #0e8bb9;
    margin-bottom: 16px;
  }
  
  .top_section05 .product_link .product_text{
    font-weight: 500;
    font-size: 12px;
    line-height: 1.7;
    text-align: center;
    color: #333;
    white-space: nowrap;
    font-feature-settings: "palt";
  }

  .top_section06{
    position: relative;
    padding-top: 48px;
    padding-bottom: 88px;
  }

  .top_section06 .container{
    width:100%;
    max-width:100%;
  }

  .top_section06 .bg{
    position: static;
    width:91.467vw;
    max-height:none;
    height:auto;
    object-fit: cover;
    bottom:0;
    left:0;
    z-index:-5;
  }

  .top_section06 .flex{
    display: flex;
    justify-content: flex-end;
  }


  .top_section06 .box{
    margin-top: -24px;
    position: relative;
    z-index:1;
    padding:36px 20px 36px;
    color: #fff;
    width:96%;
    /* width:360px; */
  }

  .top_section06 .box::before{
    content:"";
    width:100%;
    height:100%;
    background-color:#0E8BB9;
    position: absolute;
    top:0;
    left:auto;
    right:0;
    z-index:-3;
    border-radius:5px 0 0 5px;
  }

  .top_section06 .box .icon{
    width:57px;
    position: absolute;
    z-index:-2;
    top:40px;
    left:140px;
  }

  .top_section06 .box .ja_title{
    font-weight: 500;
    font-size: 11px;
    line-height: 1;
    text-align: left;
    margin-bottom: 8px;
  }

  .top_section06 .box .en_title{
    font-weight: bold;
    font-size: 36px;
    line-height: 1;
    margin-bottom: 32px;
  }

  .top_section06 .box .text{
    font-weight: 400;
    font-size: 22px;
    line-height: 1.6;
    margin-bottom: 16px;
  }

  .top_section06 .box .text span{
    font-size: 24px;
    font-weight: 500;
  }

  .top_section06 .box .link{
    width: 176px;
    height: 48px;
    border-radius: 24px;
    font-size: 13px;
    line-height: 1;
    color: #fff;
    margin:0 auto;
  }

  .top_section06 .box .link::after{

    right:20px;
    margin:auto;
  }

  .top_section07{
    position: relative;
    overflow:hidden;
    padding-bottom: 40px;
    padding-top: 0;
  }

  .top_section07 .flex{
    display: flex;
    justify-content:center;
    flex-direction: column-reverse;
    align-items: center;
  }

  .top_section07 .flex .left{
    width:100%;
  }

  .top_section07 .left{
    display: flex;
    justify-content:flex-end;
  }

  .top_section07 .left .contents{
    width:100%;
    max-width:100%;
  }

  .top_section07 .left .bg{
    width:100%;
    margin:0 auto;
    /* max-width:500px; */
  }

  .top_section07 .left .ja_title{
    font-weight: 500;
    font-size: 12px;
    line-height: 1;
    text-align: left;
    color: #0E8BB9;
    margin-bottom: 8px;
    padding-left: 32px;
  }

  .top_section07 .left .en_title{
    font-weight: bold;
    font-size: 36px;
    line-height: 1;
    margin-bottom: 24px;
    padding-left: 32px;
  }

  .top_section07 .left .text_area{
    position: relative;
    padding:36px 36px 0;
    width:fit-content;
    margin:0 auto;
  }

  .top_section07 .left .text_area::before{
    content:'';
    width:200vw;
    height:calc(100% + 400px);
    background-color: #F4F5F7;
    position: absolute;
    top:0;
    left:-50vw;
    z-index:-3;
  }
  .top_section07 .left .p01{
    font-weight: bold;
    font-size: 17px;
    line-height: 1;
  }

  .top_section07 .left .p02{
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 36px;
  }

  .top_section07 .left .border{
    width: 52px;
    height: 1px;
    background-color: #ccc;
    margin:16px 0;

  }

  .top_section07 .left .link{
    width: 176px;
    height: 48px;
    border-radius: 24px;
    font-size: 13px;
    margin:0 auto 32px;
  }

  .top_section07 .left .link::after{
    width:5px;
    height:7px;
    right:20px;
  }

  .top_section07 .flex .right{
    display: none;
  }

  .top_section07 .company_name{
    position: static;
    width:100%;
    bottom:32px;
    font-weight: bold;
    font-size:min(8.9vw,134px);
    line-height: 1;
    white-space: nowrap;
    text-align: center;
    color: #fff;
  }

  .top_section08{
    padding-top: 72px;
    padding-bottom: 80px;
    position: relative;
    color: #fff;
  }

  .top_section08::before{
    content:"";
    width:100%;
    height:100%;
    background-color: #0E8BB9;
    position: absolute;
    z-index:-2;
    top:0;
    left:0;
    opacity:0.85;
  }

  .top_section08::after{
    content:"";
    width:100%;
    height:80px;
    /* background-color: #fff; */
    position: absolute;
    z-index:-3;
    bottom:0;
    left:0;
  }

  .top_section08 .bg{
    position: absolute;
    width:100%;
    height:100%;
    object-fit: cover;
    z-index:-6;
    top:0;
    left:0;
  }


  .top_section08 .ja_title{
    font-weight: 500;
    font-size: 12px;
    line-height: 1;
    text-align: center;
    margin-bottom: 8px;
  }

  .top_section08 .en_title{
    font-weight: bold;
    text-align: center;
    font-size: 36px;
    line-height: 1;
    margin-bottom: 32px;
  }

  .top_section08 .p01{
    font-weight: bold;
    font-size: 24px;
    line-height: 1;
    display: flex;
    justify-content: center;
    display: none;
  }

  .top_section08 .p02{
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 36px;
    display: flex;
    justify-content: center;
    display: none;
  }

  .top_section08 .border{
    width: 52px;
    height: 1px;
    background-color: #ccc;
    margin:16px auto;
    display: none;
  }

  .top_section08 .p03{
    font-size: 14px;
    line-height: 1.6;
    text-align: center;
    color: #fff;
    margin-bottom: 40px;
  }

  .top_section08 .link{
    width: 176px;
    height: 48px;
    border-radius: 24px;
    font-size: 13px;
    line-height: 1;
    color: #fff;
    margin:0 auto 40px;
  }

  .top_section08 .link::after{
    width:5px;
    height:7px;
    right:20px;
  }

  .top_section08 ul{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 500px;
    margin:0 auto;
  }

  .top_section08 ul li{
    /* width:16.67%;
    max-width:320px; */
    width:50%;
    max-width:50%;
  }

  .top_section08 ul li:nth-child(1),
  .top_section08 ul li:nth-child(2){
    width:50%;
    max-width:50%;
  }

  .top_section08 ul li img{
    width:100%;
    height: 100%;
    object-fit: cover;
  }


  /*
  ------------------------------------------------
  IRニュース/ライブラリ
  ------------------------------------------------
  */

  body.library_body{

  }

  main.library_main{

  }


  .library_section01{
    padding-top: 64px;
    padding-bottom: 96px;
  }

  .library_section01 .list{
    display: flex;
    flex-wrap: wrap;
  }

  .library_section01 .list li{
    margin-right: 32px;
    margin-bottom: 24px;
  }

  .library_section01 .list li a{
    transition: 0.4s;
    display: inline-block;
    font-weight: bold;
    font-size: 14px;
    line-height: 1;
    color: #333;
    white-space: nowrap;
  }

  .library_section01 .list li a:hover{
    color:#333;
  }

  .library_section01 .list li a.active{
    color:#0E8BB9;
  }

  .library_section01 .list01{
    margin-bottom: 40px;
  }

  .library_section01 .list02{
    margin-bottom: 56px;
  }

  .library_section01 .ir_news_list{
    margin-bottom: 88px;
  }

  .library_section01 .ir_news_list li{
    padding-top: 36px;
    padding-bottom: 20px;
    border-bottom:1px solid #A2A2A2;
  }

  .library_section01 .ir_news_list li a{
    display: block;
  }

  .library_section01 .ir_news_list li .info_flex{
    margin-bottom: 20px;
    display: flex;
    align-items: center;
  }

  .library_section01 .ir_news_list li .date{
    width:100px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1;
    color: #333;
  }

  .library_section01 .ir_news_list li .ir_category{
    padding:0 16px;
    height: 20px;
    border-radius: 10px;
    background: #0e8bb9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 13px;
    line-height: 1;
    color: #fff;
  }

  .library_section01 .ir_news_list li .ir_title{
    font-weight: 500;
    font-size: 14px;
    line-height:2;
    color: #333;
  }


  /*
  ------------------------------------------------
  株式情報
  ------------------------------------------------
  */

  body.stock_information_body{

  }

  main.stock_information_main{

  }


  .stock_information_section01{
    padding-top: 72px;
    padding-bottom: 80px;
  }

  .stock_information_section01 h2{
    padding-left: 28px;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.5;
    text-align: left;
    position: relative;
    margin-bottom: 40px;
  }

  .stock_information_section01 h2::before{
    content:"";
    width:3px;
    height:100%;
    background-color: #0E8BB9;
    position: absolute;
    top:0;
    left:0;
  }

  .stock_information_section01 table{
    table-layout: fixed;
    border-collapse: collapse;
    width:100%;
  }

  .stock_information_section01 .table_frame{
    position: relative;
    overflow-x: scroll;
  }

  .stock_information_section01 .table_frame01{
    margin-bottom: 124px;
  }

  .stock_information_section01 .table01 td{
    border:2px solid #CCCCCC;
  }

  .stock_information_section01 .table01 td:nth-child(1){
    background-color:#E6E6E6;
    padding:16px;
    width:45%;
    font-weight: bold;
    font-size: 14px;
    line-height: 1.2;
  }

  .stock_information_section01 .table01 td:nth-child(2){
    padding:16px;
    width:55%;
    font-size: 14px;
    line-height: 1.2;
  }

  .stock_information_section01 h3{
    padding-left: 28px;
    font-weight: bold;
    font-size: 17px;
    line-height: 1;
    margin-bottom: 32px;
    position: relative;
  }

  .stock_information_section01 h3::before{
    content:"";
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #0e8bb9;
    position: absolute;
    top:3px;
    left:0;
  }

  .stock_information_section01 .table_frame02{
    margin-bottom: 32px;
  }

  .stock_information_section01 .table02{
    width:500px;
    min-width:100%;
  }

  .stock_information_section01 .table02 th{
    border:2px solid #CCCCCC;
    padding:16px;
    font-weight: bold;
    font-size: 14px;
    line-height: 1.3;
    text-align: center;
    background-color:#E6E6E6;
  }

  .stock_information_section01 .table02 th:nth-child(1){
    text-align: left;
    width:53%;
  }
  .stock_information_section01 .table02 th:nth-child(2){
    width:22%;
  }
  .stock_information_section01 .table02 th:nth-child(3){
    width:25%;
  }

  .stock_information_section01 .table02 td{
    border:2px solid #CCCCCC;
    padding:16px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.3;
    text-align: right
  }
  .stock_information_section01 .table02 td:nth-child(1){
    text-align: left;
  }

  .stock_information_section01 .info_text{
    font-size: 14px;
    line-height: 1.6;
  }

  /*
  ------------------------------------------------
  電子広告
  ------------------------------------------------
  */

  body.electronic_body{

  }

  main.electronic_main{

  }


  .electronic_section01{
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .electronic_section01 .p01{
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 32px;
  }

  .electronic_section01 .common_ir_link{
    max-width:350px;
    margin:0 auto;
  }

  /*
  ------------------------------------------------
  株式手続き
  ------------------------------------------------
  */

  body.flow_body{

  }

  main.flow_main{

  }

  .flow_section h2{
    margin-bottom: 40px;
  }

  .flow_section .flow_text{
    margin-bottom: 28px;
    font-size: 14px;
    line-height: 1.6;
  }

  .flow_section01{
    padding-top: 32px;
    padding-bottom: 110px;
  }

  .flow_section01 .common_ir_link{
    max-width:350px;
  }

  .flow_section02{
    padding-bottom: 110px;
  }

  .flow_section02 .common_ir_link{
    max-width:350px;
  }

  .flow_section03{
    padding-bottom: 80px;
  }

  .flow_section03 .common_ir_link{
    max-width:295px;
  }


  /*
  ------------------------------------------------
  株主総会
  ------------------------------------------------
  */

  body.meeting_body{

  }

  main.meeting_main{

  }

  .meeting_section01{
    margin-top: 64px;
    padding-bottom: 80px;
  }

  .meeting_section01 .meeting_text{
    margin-bottom: 40px;
    font-size: 14px;
    line-height: 1.6;
  }

  .meeting_section01 .pdf_list{

  }

  .meeting_section01 .pdf_list li{
    margin-bottom: 20px;
  }

  .meeting_section01 .common_ir_link{
    padding:16px 64px 16px 24px;
    width:fit-content;
    min-width:310px;
    max-width:100%;
  }

  .meeting_section01 .meeting_link {
    padding-right: 32px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    color: #0e8bb9;
    margin-top: 24px;
  }
  
  .meeting_section01 .meeting_link::after {
    width: 20px;
    height: 20px;
  }

  /*
  ------------------------------------------------
  IRカレンダー
  ------------------------------------------------
  */

  body.calendar_body{

  }

  main.calendar_main{

  }

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

  .calendar_section01 h2{
    margin-bottom: 100px;
  }

  .calendar_section01 .calendar_block{
    position: relative;
  }

  .calendar_section01 .calendar_block .calendar_head{
    position: absolute;
    width:128px;
    left:0;
    bottom:0;
  }

  .calendar_section01 .calendar_frame{
    position: relative;
    max-width: 1240px;
    margin:0 auto;
    padding:0 20px 0 0;
    overflow-x: scroll;
  }

  .calendar_section01 .calendar_frame .calendar{
    width:1200px;
  }

  /*
  ------------------------------------------------
  中期経営計画
  ------------------------------------------------
  */

  body.plan_body{

  }

  main.plan_main{

  }

  .plan_section01{
    margin-top: 56px;
    padding-bottom: 80px;
  }

  .plan_section01 .plan_text{
    margin-bottom: 32px;
    font-size: 14px;
    line-height: 1.6;
  }

  .plan_section01 .pdf_list{
    margin-bottom: 24px;
  }

  .plan_section01 .pdf_list li{
    margin-bottom: 20px;
  }

  .plan_section01 .pdf_list li:last-child{
    margin-bottom: 0;
  }

  .plan_section01 .common_ir_link{
    padding:16px 64px 16px 24px;
    width:fit-content;
    min-width:310px;
    max-width:100%;
  }

  .plan_section01 .plan_link{
    padding-right: 32px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    color: #0e8bb9;
    position: relative;
  }

  .plan_section01 .plan_link::after{
    content:"";
    width:20px;
    height:20px;
    border-radius: 50%;
    background-image: url('../img/ir/ir_button_arrow02.png');
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);

  }

  /*
  ------------------------------------------------
  用語集
  ------------------------------------------------
  */

  body.glossary_body{

  }

  main.glossary_main{

  }

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

  .glossary_section01 .line_flex{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 48px;
  }

  .glossary_section01 .line_flex .line_link{
    display: flex;
    align-items: center;
    width: 118px;
    height: 42px;
    border-radius: 10px;
    background: #fff;
    padding-left: 20px;
    position: relative;
    margin-right: 16px;
    margin-bottom: 16px;
    font-weight: bold;
    font-size: 17px;
    line-height: 1;
    color: #333;
  }

  .glossary_section01 .line_flex .line_link::after{
    content:"";
    width:7px;
    height:4px;
    background-image: url('../img/common/arrow_bottom_blue.png');
    position: absolute;
    right:16px;
    top:0;
    bottom:0;
    margin:auto;
  }

  .glossary_section01 .line_block{
    margin-bottom: 96px;
  }

  .glossary_section01 .line_block .common_left_border_title{
    margin-bottom: 40px;
  }

  .glossary_section01 .glossary_list{

  }

  .glossary_section01 .glossary_block{
    margin-bottom: 80px;
  }

  .glossary_section01 .glossary_block:last-child{
    margin-bottom: 0;
  }

  .glossary_section01 .glossary_block .glossary_title{
    margin-bottom: 32px;
    font-weight: bold;
    font-size: 24px;
    line-height: 1;
    color: #0e8bb9;
  }

  .glossary_section01 .glossary_block .glossary_text{
    font-size: 14px;
    line-height: 1.6;
  }

  .glossary_section01 .glossary_block .flex{
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
  }

  .glossary_section01 .glossary_block .left{
    /* width:600px; */
    width:100%;

  }

  .glossary_section01 .glossary_block .right{
    width:100%;
    /* width:calc(100% - 600px); */
    display: flex;
    justify-content: center;
    margin-bottom: 24px;
  }

  .glossary_section01 .glossary_block .glossary01{
    width:189px;
  }
  .glossary_section01 .glossary_block .glossary02{
    width:140px;
  }
  .glossary_section01 .glossary_block .glossary03{
    width:188px;
  }


  /*
------------------------------------------------
事業内容関連共通
------------------------------------------------
*/


.business_head_section{
  height:205px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 16px;
}

.business_head_section .bg{
  width:100%;
  height:100%;
  object-fit: cover;
  position: absolute;
  z-index:-5;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.business_head_section .business_title{
  font-weight: 500;
  font-size: 32px;
  letter-spacing: 0.04em;
  line-height:1.5;
  text-align: center;
  color: #fff;

}

/*
------------------------------------------------
資源関連事業
------------------------------------------------
*/

  body.resource_body{

  }

  body.resource_body::before{
    background-color: #fff;
  }

  main.resource_main{

  }

  main.resource_main .business_head_section{
    height:400px;
  }


  .resource_section01{
    padding-top:80px;
  }

  .resource_section01 .tab_flex{
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .resource_section01 .tab{
    cursor: pointer;
    width:150px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.4s;
    font-weight: 500;
    font-size: 17px;
    line-height: 1;
    padding-bottom: 8px;
    
  }

  .resource_section01 .tab01{
    border-bottom:9px solid #0E8BB9;
    color:#333;
  }

  .resource_section01 .tab02{
    border-bottom:9px solid #DBE9F2;
    color:#85929F;
  }

  .resource_section02{

    position: relative;
    border-top:1px solid #707070;
  }

  .resource_section02 .p01{
    padding:50px 0 50px;
    font-weight: bold;
    font-size: 17px;
    line-height: 1.6;
    text-align: center;
    background-color: #F4F5F7;
  }

  .resource_section02 .p01 span{
    color:#0E8BB9;
  }

  .resource_section02 .block_list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap:6px;
  }

  .resource_section02 .block{
    position: relative;
  }

  .resource_section02 .block .bg{
    z-index:-3;
    width:100%;
    height:100%;
    object-fit: cover;
    position: absolute;
    top:0;
    left:0;
    object-fit: cover;
  }

  .resource_section02 .block01{
    padding:96px 0;
    width:100%;
  }

  .resource_section02 .block01 .container{
    padding:0 16px;
  }
  

  .resource_section02 .block01 .block_title{
    position: relative;
    padding-left: 24px;
    margin-bottom: 48px;
    font-size: 17px;
    font-weight: bold;
    line-height: 1;
    color:#fff;
  }

  .resource_section02 .block01 .block_title::before{
    content:"";
    width: 3px;
    height: 120%;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }

  .resource_section02 .block01 .block_title span{
    font-size: 24px;
  }

  .resource_section02 .block01 .flex{
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    
  }

  .resource_section02 .block01 .left{
    width:100%;
    margin-right: 0;
    
  }

  .resource_section02 .block01 .block_text{
    font-weight: 500;
    font-size: 17px;
    line-height: 1.6;
    color: #fff;
    margin-bottom: 48px;
  }

  .resource_section02 .block01 a{
    width: 264px;
    height: 50px;
    border-radius: 25px;
    border: 1px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-right: 10px;
    font-weight: bold;
    font-size: 17px;
    line-height: 1;
    color: #fff;
    transition: 0.4s;
    position: relative;
    margin:0 auto;
  }

  

  .resource_section02 .block01 a::after{
    content:"";
    width:5px;
    height:8px;
    background-image: url('../img/common/arrow_right_white.png');
    position: absolute;
    right:24px;
    top:0;
    bottom:0;
    margin:auto;
  }

  .resource_section02 .block01 a:hover{
    background-color: rgba(255,255,255,0.2);
    border: 1px solid rgba(255,255,255,0.2);
  }

  .resource_section02 .block01 .right{
    width:100%;
    max-width:400px;
    margin-bottom: 40px;
  }

  .resource_section02 .block01 .right img{
    width:100%;
  }

  .resource_section02 .block02{
    width:calc(50% - 3px);
    height:350px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .resource_section02 .block02 .block_point{
    margin-bottom: 24px;
    font-weight: bold;
    font-size: 18px;
    line-height: 1;
    text-align: center;
    color: #fff;

  }

  .resource_section02 .block02 .block_point_title{
    font-weight: bold;
    font-size: 24px;
    line-height: 1;
    text-align: center;
    color: #fff;
    margin-bottom: 24px;
  }

  .resource_section02 .block02 .block_point_text{
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    text-align: center;
    color: #fff;
  }

  @media(max-width:767px){
    .resource_section02 .block02{
      width:100%;
      height:450px;
    }
  }

  .resource_section03{
    padding-top: 64px;
    padding-bottom: 56px;
  }

  .resource_section03 .p01{
    margin-top: 32px;
    margin-bottom: 80px;
    width:430px;
    max-width: 100%;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
  }

  .resource_section03 .flex{
    display: flex;
    justify-content: center;
    margin-bottom: 72px;
  }

  .resource_section03 .flex img{
    width:100%;
  }

  .resource_section03 .flex .left{
    margin-right: 100px;
    width:385px;
  }

  .resource_section03 .flex .right{
    width:310px;
  }

  .resource_section03 .flex .left{
    margin-right: 100px;
    width:385px;
  }

  @media(max-width:767px){
    .resource_section03 .flex{
      flex-direction: column;
      align-items: center;
    }

    .resource_section03 .flex .left{
      width:100%;
      max-width:400px;
      margin-bottom: 72px;
      margin-right: 0;
    }

    .resource_section03 .flex .right{
      width:100%;
      max-width:400px;
    
    }

  }/*@media(max-width:767px){*/

  .resource_section03 .usage_list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;

    gap:48px 24px;
  }

  .resource_section03 .usage_block{
    width:288px;

  }

  .resource_section03 .usage_block .usage_title{
    margin-bottom: 8px;
    height:44px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 17px;
    line-height: 1.2;
    text-align: center;

  }

  .resource_section03 .usage_block img{
    width:100%;
  }

  .resource_section04{
    padding:120px 0 120px;
    background-image: url('../img/resource/resource_bg02_sp.jpg');
    text-align: center;
  }

  .resource_section04 .point{
    font-weight: bold;
    font-size: 18px;
    line-height: 1;
    color: #fff;
    margin-bottom: 28px;
  }

  .resource_section04 .point_title{
    font-weight: bold;
    font-size: 24px;
    line-height: 1;
    color: #fff;
    margin-bottom: 24px;
  }

  .resource_section04 .point_text{
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #fff;
  }


  .resource_section05{
    padding-top: 48px;
    padding-bottom: 88px;
  }

  .resource_section05 .p01{
    font-size: 14px;
    white-space: normal;
    margin-bottom: 56px;
  }

  .resource_section05 .flow_frame{
    position: relative;
    margin-top: 56px;
    border:4px solid #0E8BB9;  
    padding:88px 0 64px;
  }

  .resource_section05 .flow_frame .flow_head{
    width:280px;
    height:40px;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top:-20px;
    left:0;
    right:0;
    margin:auto;
    z-index:3;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    color:#0E8BB9;
  }

  .resource_section05 .flow_frame .flow_head span{
    font-size: 24px;
    background-color: #DBE9F2;
    padding:4px;
  }

  .resource_section05 .flow_list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap:60px 16px;
  }

  .resource_section05 .flow_block{
    width: 270px;
    border-radius: 35px;
    background: #dbe9f2;
    position: relative;
    padding:24px 16px 16px;
  }

  .resource_section05 .flow_block .flow_num{
    font-weight: bold;
    font-size: 51px;
    line-height: 1;
    color: #0e8bb9;
    position: absolute;
    left:24px;
    top:-24px;
    z-index:1;
  }

  .resource_section05 .flow_block .flow_title{
    margin-bottom: 24px;
    font-weight: bold;
    font-size: 17px;
    line-height: 1;
    text-align: center;
    color: #0e8bb9;
  }

  .resource_section05 .flow_block img{
    width:100%;
    
  }

  .resource_section06{
    padding:72px 0 40px;
    background-image: url('../img/resource/resource_bg03_sp.jpg');
    background-position: left;
  }


  .resource_section06 .flex{
    display: flex;
    justify-content: center;
    flex-direction: column;
  }

  .resource_section06 .flex .left{
    width:100%;
    text-align: center;
    margin-bottom: 24px;
  }

  .resource_section06 .flex .left .point{
    font-weight: bold;
    font-size: 18px;
    line-height: 1;
    color: #fff;
    margin-bottom: 24px;
  }

  .resource_section06 .flex .left .point_title{
    font-weight: bold;
    font-size: 24px;
    line-height: 1;
    color: #fff;
    margin-bottom: 24px;
  }

  .resource_section06 .flex .left .point_text{
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #fff;
  }

  .resource_section06 .flex .right{
    width:100%;
    display: flex;
    justify-content: center;
  }

  .resource_section06 .flex .right img{
    width:182px;
  }

  .resource_section07{
    padding:56px 0 80px;
  }

  .resource_section07 .detail_content{
    padding:24px 16px 32px;
  }
  
  .resource_section07 .detail_content .detail_text01{
    font-weight: bold;
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
  }
  
  .resource_section07 .detail_flex{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 20px;
  }
  
  .resource_section07 .detail_block{
    width: 100%;
    height: auto;
    margin-top: 24px;
    padding:20px 12px 24px;
  }
  
  .resource_section07 .detail_block .common_radi_title{
    font-size: 17px;
    margin-left: 12px;
    padding-left: 20px;
  }
  
  .resource_section07 .detail_block .common_radi_title::before{
    top:7px;
  }
  
  .resource_section07 .detail_block ul{
    margin-top: 12px;
  }
  
  .resource_section07 .detail_block ul li{
    font-weight: 500;
    font-size: 14px;
    line-height: 1.75;
  }

  .resource_section08{
    padding:48px 0 80px;
    position: relative;
  }

  .resource_section08::before{
    content:"";
    width:100%;
    height:100%;
    background-color: #F4F5F7;
    position: absolute;
    top:0;
    left:0;
    z-index:-3;
  }

  .resource_section08 .title_radi{
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #0e8bb9;
    margin:0 auto 16px;
  }

  .resource_section08 h2{
    font-weight: bold;
    font-size: 24px;
    line-height: 1;
    text-align: center;
    color: #0e8bb9;
    margin-bottom: 32px;
  }

  .resource_section08 .contact_link{
    width: 264px;
    height: 48px;
    border-radius: 24px;
    background: #0e8bb9;
    display: flex;
    justify-content: center;
    align-items: center;
    margin:0 auto 12px;
    transition: 0.4s;
    position: relative;
    padding-right: 15px;
    font-weight: 500;
    font-size: 17px;
    line-height: 1;
    color: #fff;
  }

  .resource_section08 .contact_link::after{
    content:"";
    width:6.5px;
    height:9px;
    background-image: url('../img/common/arrow_right_white.png');
    transition: 0.4s;
    position: absolute;
    right:16px;
    top:0;
    bottom:0;
    margin:auto;
  }

  .resource_section08 .ipros_link{
    width: 264px;
    height: 48px;
    border-radius: 24px;
    border: 1px solid #0e8bb9;
    display: flex;
    justify-content: center;
    align-items: center;
    margin:0 auto;
    transition: 0.4s;
    position: relative;
    padding-right: 15px;
    font-weight: 500;
    font-size: 17px;
    line-height: 1;
    color: #0e8bb9;
  }

  .resource_section08 .ipros_link::after{
    content:"";
    width:6.5px;
    height:9px;
    background-image: url('../img/common/arrow_right_blue.png');
    transition: 0.4s;
    position: absolute;
    right:16px;
    top:0;
    bottom:0;
    margin:auto;
  }


  .resource_section08 .table_frame{
    margin-top: 80px;
    margin-bottom: 120px;
    overflow-x: scroll;
  }

  
  .resource_section08 .main_table{
    table-layout: fixed;
    width:944px;
    border-collapse: collapse;
  }
  
  .resource_section08 .main_table th,
  .resource_section08 .main_table td{
    border:2px solid #CCCCCC;
    padding:10px 0;
    font-weight: bold;
    font-size: 14px;
    line-height: 1.3;
    text-align: left;
  }
  
  .resource_section08 .main_table thead th{
    background-color: #E6E6E6;
  }
  
  .resource_section08 .main_table thead th:nth-child(1){
    width:30%;
    padding-left: 80px;
  }
  
  .resource_section08 .main_table thead th:nth-child(2){
    width:11%;
    text-align: center;
  }
  
  .resource_section08 .main_table thead th:nth-child(3){
    width:59%;
    padding-left: 36px;
  }
  
  .resource_section08 .main_table tbody{
  
  }
  
  .resource_section08 .main_table tbody .popup_open{
    width: 89px;
    height: 27px;
    border-radius: 13.5px;
    background: #a2a2a2;
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 20px;
    font-weight: bold;
    font-size: 14px;
    line-height: 1;
    color: #fff;
    cursor: pointer;
  }
  
  .resource_section08 .main_table tbody .popup_open::after{
    content:"";
    width:8px;
    height:10px;
    background-image: url('../img/product/white_arrow.png');
    position: absolute;
    right:12px;
    top:0;
    bottom:0;
    margin:auto;
  }
  
  .resource_section08 .main_table tbody td:nth-child(1){
    padding-right: 16px;
    padding-left: 38px;
    vertical-align: top;
  }
  
  .resource_section08 .main_table tbody td:nth-child(1) .td_flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .resource_section08 .main_table tbody td:nth-child(2){
    padding-left: 40px;
  }
  
  .resource_section08 .main_table tbody td:nth-child(3){
    padding-right: 16px;
    padding-left: 38px;
    
  }
  
  .resource_section08 .popup{
    position: fixed;
    z-index:200;
    width:100%;
    height:100vh;
    background-color: rgba(0,0,0,0.8);
    top:0;
    left:0;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    transition: 0.7s;
    opacity: 0;
  }
  
  .resource_section08 .popup.show{
    pointer-events: auto;
    opacity: 1;
  }
  
  @media(max-width:767px){
    .resource_section08 .popup_table_frame{
      /* max-width: 200px; */
      width:400px;
      max-width: 90vw;
      max-height: 80vh;
      overflow: scroll;
    }
  }
  
  
  
  
  .resource_section08 .popup .his{
    width:448px;
  }
  
  .resource_section08 .popup .high01{
    width:463px;
  }
  .resource_section08 .popup .high02{
    margin-top: 32px;
    width:463px;
  }
  
  .resource_section08 .popup .optical01{
    width:483px;
  }
  .resource_section08 .popup .optical02{
    margin-top: 32px;
    width:483px;
  }
  
  .resource_section08 .popup .filler01{
    width:582px;
    background-color: #fff;
  }
  .resource_section08 .popup .filler02{
    /* margin: 32px auto 0; */
    margin-top: 32px;
    width:404px;
  }
  

  .resource_section08 .nhp_flex{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    margin-bottom: 80px;
  }

  .resource_section08 .nhp_flex .left{
    width:100%;
    max-width:400px;
    margin-bottom: 24px;
  }

  .resource_section08 .left img{
    width:100%;
  }

  .resource_section08 .nhp_flex .right{
    width:100%;
    max-width:400px;
  }

  .resource_section08 .nhp_flex .nhp_text01{
    margin-bottom: 24px;
    font-weight: bold;
    font-size: 17px;
    line-height: 1.4;
  }

  .resource_section08 .nhp_flex .nhp_text02{
    margin-bottom: 24px;
    font-family: "Noto Sans JP";
    font-weight: 500;
    font-size: 14px;
  }

  .resource_section08 .nhp_flex .ipros_link{
    margin:0 auto;
  }

  .resource_section08 .product_list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap:72px 24px;

  }

  .resource_section08 .product_block{
    width:288px;
  }

  .resource_section08 .product_block img{
    width:100%;
    margin-bottom: 16px;
  }

  .resource_section08 .product_block p{
    margin-bottom: 16px;
    font-weight: bold;
    font-size: 17px;
    line-height: 1.4;
    text-align: center;
    min-height:48px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .resource_section08 .product_block p.double{
    min-height:48px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  @media(max-width:767px){
    .resource_section08 .product_block p{
      min-height:auto;
    }
    .resource_section08 .product_block p.double{
      min-height:auto;
    }
  }

  


  /*
  ------------------------------------------------
  機械関連事業
  ------------------------------------------------
  */

  body.machine_body{

  }

  body.machine_body::before {
    /* content: none; */
  }

  main.machine_main{

  }


  main.machine_main .business_head_section {
    height: 400px;
  }

  .machine_section .point_container{
    max-width:1200px;
    margin:0 auto;
  }


  .machine_section01{
    padding-top:80px;
    position: relative;
  }

  .machine_section01 .tab{
    cursor: pointer;
    width: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.4s;
    font-weight: 500;
    font-size: 17px;
    line-height: 1;
    padding-bottom: 8px;
    
  }

  .machine_section01 .tab01{
    border-bottom:9px solid #0E8BB9;
    color:#333;
  }

  .machine_section01 .tab02{
    border-bottom:9px solid #DBE9F2;
    color:#85929F;
  }

  .machine_section02{
    position: relative;
    border-top: 1px solid #707070;
  }

  .machine_section02 .p01{
    padding: 48px 0;
    font-family: 'Zen Old Mincho', serif;
    font-weight: bold;
    font-size: 17px;
    line-height: 1.6;
    text-align: center;
    background-color: #F4F5F7;
  }

  .machine_section02 .p01 span {
    color: #0E8BB9;
  }

  .machine_section02 .point_block{
    text-align: center;
  }

  .machine_section02 .point{
    margin-bottom: 20px;
    font-weight: bold;
    font-size: 18px;
    line-height: 1;
    color: #fff;
  }

  .machine_section02 .point_title{
    margin-bottom: 24px;
    font-weight: bold;
    font-size: 24px;
    line-height: 1;
    color: #fff;
  }

  .machine_section02 .point_title span{
    font-size: 18px;
  }
  .machine_section02 .point_text{
    font-weight: 500;
    font-size: 14px;
    line-height: 1.8;
    color: #fff;
    white-space: nowrap;
  }

  .machine_section02 .point_block01{
    padding:116px 0 80px;
    margin-bottom: 6px;
    background-image: url('../img/machine/machine_bg01_sp.jpg');
  }

  .machine_section02 .point_block01 .flex{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
  }

  .machine_section02 .point_block01 .left{
    width:100%;
    max-width: 100%;
    padding-top: 0;
    margin-bottom: 32px;
  }

  .machine_section02 .point_block01 .right{
    width:100%;
    max-width: 100%;
  }

  .machine_section02 .point_block01 .img_flex{
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap:0 36px;
  }

  .machine_section02 .point_block01 .machine_point01_01{
    width:124px;
  }

  .machine_section02 .point_block01 .machine_point01_02{
    width:165px;
    margin-bottom: 10px;
  }

  .machine_section02 .point_block01 .list_flex{
    padding-right: 0;
    padding-left: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap:0 24px;
    /* align-items: center; */
  }

  .machine_section02 .point_block01 .list_flex li{
    margin-top: 24px;
  }

  .machine_section02 .point_block02{
    padding:120px 0 88px;
    background-image: url('../img/machine/machine_bg02_sp.jpg');
  }

  .machine_section02 .point_block02 .flex{
    display: flex;
    justify-content: space-between;
    flex-direction: column-reverse;
    padding-left: 0;
    align-items: center;
  }

  .machine_section02 .point_block02 .flex .left{
    width:345px;
  }

  .machine_section02 .point_block02 .flex .left img{
    width:100%;
  }

  .machine_section02 .point_block02 .flex .right{
    padding-top: 0;
    width:100%;
    margin-bottom: 56px;
  }

  .machine_section03{
    padding:48px 0 140px;
  }

  .machine_section03 .flex{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    max-width:750px;
    margin:0 auto 80px;
  }

  .machine_section03 .fac_block{
    width:100%;
    max-width:500px;
    margin-bottom: 24px;
  }

  .machine_section03 .fac_block img{
    width:100%;
    margin-bottom: 20px;
  }

  .machine_section03 .fac_block .fac_name{
    font-weight: bold;
    font-size: 20px;
    line-height: 1;
    text-align: center;
    margin-bottom: 20px;
  }

  .machine_section03 .fac_block .fac_text{
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
  }

  .machine_section03 .fac_detail_block{
    width:100%;
    max-width:500px;
  }

  .machine_section03 .fac_detail_open{
    width: 100%;
  }

  .machine_section03 .fac_block01{
    order:0;
  }

  .machine_section03 .fac_block02{
    order:2;
  }

  .machine_section03 .fac_detail_block01{
    order:1;
    margin-bottom: 80px;
  }

  .machine_section03 .fac_detail_block02{
    order:3;
  }

  .machine_section03 .faci_scroll_frame{
    overflow-x: scroll;
    margin-top: 48px;
  }

  .machine_section03 .faci_list{
    display: flex;
    flex-wrap: nowrap;
    gap:0 20px;
    margin-top: 0;
  }

  .machine_section03 .faci_list li{
    width:285px;
    flex-shrink: 0;
  }

  .machine_section03 .faci_list li img{
    width:100%;
    margin-bottom: 14px;
  }

  .machine_section03 .faci_list li p{
    font-weight: bold;
    font-size: 17px;
    line-height: 1;
    text-align: center;
  }

  .machine_section04{
    padding-bottom: 96px;
  }

  .machine_section04 .point_block{
    padding:120px 0 105px;
    background-image: url('../img/machine/machine_bg03_sp.jpg');
    margin-bottom: 48px;
  }

  .machine_section04 .point_block .flex{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
  }

  .machine_section04 .point_block .flex .left{
    padding-left: 0;
    width:100%;
    text-align: center;
  }

  .machine_section04 .point_block .flex .right{
    width:100%;
    max-width: 400px;
    flex-direction: column;
    align-items: center;
  }

  .machine_section04 .point_block .flex .right img{
    width: 100%;
    height:auto;
  }

  .machine_section04 .point_block .flex .right img + img{
    margin-left: 0;
    margin-top: 24px;
  }


  .machine_section04 .point_block .point{
    margin-bottom: 24px;
    font-size: 18px;
    line-height: 1;
    color: #fff;
  }

  .machine_section04 .point_block .point_title{
    margin-bottom: 24px;
    font-weight: bold;
    font-size: 24px;
    line-height: 1.4;
    color: #fff;
  }

  .machine_section04 .point_block .point_title span{
    font-size: 24px;
  }

  .machine_section04 .point_block .point_text{
    font-weight: 500;
    font-size: 14px;
    line-height: 1.8;
    color: #fff;
    white-space: nowrap;
    margin-bottom: 48px;
  }

  .machine_section04 ul li{
    font-weight: 500;
    font-size: 14px;
    line-height: 1.8;
  }

  .machine_section05{
    padding:0 0 96px;
  }

  .machine_section05 .title_radi {
    width: 12px;
    height: 12px;
    margin: 0 auto 16px;
  }

  .machine_section05 h2{
    font-size: 24px;
    margin-bottom: 40px;
  }

  .machine_section05 .product_block{
    width:92%;
    max-width:650px;
    margin:0 auto;
    background-color: #fff;
  }

  .machine_section05 .product_block .product_head{
    padding:32px 0;
    border-top:12px solid #0E8BB9;
    background-color: #DBE9F2;
  }

  .machine_section05 .product_block .product_head .product_num{
    margin-bottom: 10px;
    font-size: 24px;
  }

  .machine_section05 .product_block .product_head .product_kind{
    font-size: 24px;

  }

  .machine_section05 .product_block .product_body{
    padding:80px 0;
  }

  .machine_section05 .product_block01{
    margin-top: 40px;
    margin-bottom: 64px;
  }

  .machine_section05 .product_block01 .blue_radi{
    width: 12px;
    height: 12px;
    margin:0 auto 16px;
  }

  .machine_section05 .product_block01 .product_name{
    margin-bottom: 24px;
    font-size: 24px;
  }

  .machine_section05 .product_block01 .product_info{
    font-size: 14px;
    text-align: center;
    line-height: 1.5;
  }

  .machine_section05 .product_block01 .hatch_flex{
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width:500px;
    padding:0 16px;
    margin:24px auto 32px;
  }

  .machine_section05 .product_block01 .hatch_flex .hatch_img{
    width:100%;
    padding-left: 0;
    padding-right: 0;
    
  }

  .machine_section05 .product_block01 .hatch_flex .hatch_img img{
    width:100%;
  }

  .machine_section05 .product_block01 .hatch_flex .hatch_text{
    width:100%;
    padding-top: 32px;
    padding-left: 0;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
  }

  .machine_section05 .product_block01 .type_list{
    margin-bottom: 120px;
    background-color: #DBE9F2;
    padding-bottom: 88px;
  }

  .machine_section05 .product_block01 .type_block{
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
    
  }

  .machine_section05 .product_block01 .type_block .type_img_frame{
    width:100%;
    max-width:500px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index:3;
  }

  .machine_section05 .product_block01 .type_block .type_text_frame{
    width:100%;
    
    position: relative;
    height:auto;
    padding-top: 36px;
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 120px;
    margin-bottom: 40px;
  }

  .machine_section05 .product_block01 .type_block .machine_hatch_bg{
    position: absolute;
    width:100%;
    height:100%;
    object-fit: cover;
    object-position: bottom;
    top:0;
    left:0;
  }

  .machine_section05 .product_block01 .type_block .type_text_contants{
    position: relative;
    z-index:3;
    max-width:350px;
    margin:0 auto;

  }

  .machine_section05 .product_block01 .type_block .radi{
    width: 14px;
    height: 14px;
    background: #fff;
    border-radius: 50%;
    margin:0 auto 16px;
  }

  .machine_section05 .product_block01 .type_block .type_text01{
    font-size: 22px;
    margin-bottom: 10px;
  }

  .machine_section05 .product_block01 .type_block .type_text02{
    font-size: 14px;
    margin-bottom: 32px;
  }

  .machine_section05 .product_block01 .type_block .type_text03{
    height:auto;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    color: #fff;
    margin-bottom: 24px;
  }

  .machine_section05 .product_block01 .type_block .type_text04{
    white-space: nowrap;
    font-size: 14px;
    line-height: 1;
  }

  .machine_section05 .product_block01 .type_block01{
    margin-bottom: 96px;
  }

  .machine_section05 .product_block01 .type_block02{
    flex-direction: column;
    margin-bottom: 120px;
  }

  .machine_section05 .product_block01 .type_block02 .type_text_frame{
    padding-top: 36px;
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 120px;
  }

  .machine_section05 .product_block01 .type_block02 .machine_hatch_bg{
    transform: rotateZ(0);
  }

  .machine_section05 .product_block01 .type_block .folding_img{
    width:320px;
  }

  .machine_section05 .product_block01 .type_block .rolling_img{
    width:460px;
    margin-right: 40px;
  }

  .machine_section05 .product_block01 .type_block .pontoon_img{
    width:332px;
  }

  .machine_section05 .product_block01 .hatch_area{
    padding-left: 16px;
    margin-bottom: 120px;
  }

  .machine_section05 .product_block01 .hatch_list_scroll_frame{
    margin-top: 48px;
    overflow-x: scroll;
  }

  .machine_section05 .product_block01 .hatch_list{
    display: flex;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap:0 16px;
  }

  .machine_section05 .product_block01 .hatch_list li{
    width:284px;
    flex-shrink: 0;
  }

  .machine_section05 .product_block01 .hatch_list li img{
    width:100%;
  }

  .machine_section05 .product_block01 .hatch_flow_area{
    margin-bottom: 140px;
    padding-left: 16px;
  }

  .machine_section05 .product_block01 .hatch_flow_scroll_frame{
    overflow-x: scroll;
    margin-top: 40px;
  }

  .machine_section05 .product_block01 .hatch_flow_list{
    display: flex;
    flex-wrap: nowrap;
    gap:0 10px;
  }

  .machine_section05 .product_block01 .hatch_flow_list li{
    width:282px;
    flex-shrink: 0;
  }

  .machine_section05 .product_block01 .hatch_flow_list p{
    font-size: 17px;

  }

  .machine_section05 .product_block01 .hatch_flow_list p span{
    font-size: 13px;
    color: #0e8bb9;
  }

  .machine_section05 .product_block01 .hatch_flow_list img{
    width:100%;
  }

  .machine_section05 .product_block01 .ship_area{
    margin-bottom: 120px;
    padding:0 16px;
  }

  .machine_section05 .product_block01 .machine_ship00{
    width:430px;
    margin:40px auto 96px;
  }

  .machine_section05 .product_block01 .ship_list_scroll_frame{
    margin-bottom: 32px;
    overflow-x: scroll;
  }

  .machine_section05 .product_block01 .ship_list{
    display: flex;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap:0 20px;
  }

  .machine_section05 .product_block01 .ship_list li{
    width:264px;
    flex-shrink: 0;
  }

  .machine_section05 .product_block01 .ship_list p{
    font-size: 15px;
  }

  .machine_section05 .product_block01 .ship_list p span{
    font-weight: 500;
    color:#0E8BB9;
  }

  .machine_section05 .product_block01 .ship_list img{
    width:100%;
  }

  .machine_section05 .product_block01 .ship_remark{
    font-weight: bold;
    font-size: 17px;
    line-height: 1.5;
  }

  .machine_section05 .product_block01 .other_flex{
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width:500px;
    padding:0 16px;
    margin:0 auto;
  }

  .machine_section05 .product_block01 .other_img{
    width:100%;
    padding-left: 0;
    margin-bottom: 16px;
  }

  .machine_section05 .product_block01 .other_img img{
    width:100%;
  }

  .machine_section05 .product_block01 .other_text{
    width:100%;
    padding-left: 0;
  }

  .machine_section05 .product_block01 .other_text01{
    font-weight: bold;
    font-size: 20px;
    line-height: 1;
    margin-bottom: 16px;
  }

  .machine_section05 .product_block01 .other_text02{
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;

  }

  .machine_section05 .product_block01 .other_flex01{
    margin-top: 72px;
    margin-bottom: 48px;
  }

  .machine_section05 .product_block01 .other_flex01 .other_img{
    padding-right: 0;
  }

  .machine_section05 .product_block01 .other_flex01 .other_text{
    padding-top: 0;
  }

  .machine_section05 .product_block01 .other_flex02 .other_img{
    padding-right: 0;
  }

  .machine_section05 .product_block02{
    margin-bottom: 64px;
  }

  .machine_section05 .product_block02 .info_text{
    text-align: center;
    margin-bottom: 56px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    margin-top: -40px;
    padding:0 16px;
  }

  .machine_section05 .product_block02 .product_name{
    text-align: center;
    margin-bottom: 16px;
    font-weight: bold;
    font-size: 17px;
    line-height: 1;
  }

  .machine_section05 .product_block02 .machine_plant01{
    width:236px;
    margin:0 auto 72px;
  }

  .machine_section05 .product_block02 .machine_plant02{
    width:90%;
    max-width:400px;
    margin:0 auto 40px;
  }

  .machine_section05 .product_block02 .machine_plant03{
    width:100%;
    max-width:450px;
    margin:0 auto 24px;
  }

  .machine_section05 .product_block02 .list_flex{
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding:0 16px;
    gap:0;
  }

  .machine_section05 .product_block02 .list_flex li{
    font-weight: bold;
    font-size: 17px;
    line-height: 1.2;
    margin-bottom: 5px;
  }

  .machine_section05 .product_block02 .list_flex li span{
    color:#0E8BB9;
  }

  .machine_section05 .product_block03{
    margin-bottom: 64px;
  }

  .machine_section05 .product_block03 .info_text{
    text-align: center;
    margin-bottom: 48px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    margin-top: -40px;
  }

  .machine_section05 .product_block03 .engine_block{
    width:100%;
    max-width:500px;
    padding:0 16px;
    margin:0 auto 48px;
  }

  .machine_section05 .product_block03 .flex{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    margin-top: 40px;
  }

  .machine_section05 .product_block03 .flex .left{
    width:100%;
    display: flex;
    justify-content: center;
    margin-bottom: 24px;
  }

  .machine_section05 .product_block03 .flex .right{
    width:100%;
  }

  .machine_section05 .product_block03 .flex img{
    width:100%;
  }

  .machine_section05 .product_block03 .text_area{
    width:100%;
    padding-top: 12px;
  }

  .machine_section05 .product_block03 .engine_text01{
    font-weight: bold;
    font-size: 14px;
    line-height: 1.7;
  }

  .machine_section05 .product_block03 .engine_text02{
    margin-top: 10px;
    width:100%;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.5;
  }

  .machine_section05 .product_block03 .flex img.machine_air03{
    width:195px;
  }

  .machine_section05 .product_block03 .flex img.machine_element03{
    width:240px;
  }

  .machine_section05 .product_block04{
    margin-bottom: 88px;
  }

  .machine_section05 .product_block04 .info_text{
    text-align: center;
    margin-bottom:64px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    margin-top: -40px;
  }

  .machine_section05 .product_block04 .const_list{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
    gap:0;
    padding:0 16px;
    max-width:500px;
    margin:0 auto;
  }

  .machine_section05 .product_block04 .const_block{
    width:100%;
    
    text-align: center;
    margin-bottom: 64px;
  }

  .machine_section05 .product_block04 .const_block img{
    width:100%;
    margin-top: 16px;
  }

  .machine_section05 .product_block04 .const_block .const_text01{
    font-weight: bold;
    font-size: 17px;
    letter-spacing: -0.02em;
    line-height: 1;
    white-space: nowrap;
  }

  .machine_section05 .product_block04 .const_block .const_text02{
    margin-top: 8px;
    font-weight: 500;
    font-size: 12px;
    line-height: 1;
  }

  .machine_section05 .product_block04 .const_block02 img{
    margin-top: 16px;
  }

  .machine_section05 .product_block04 .const_block03{
    margin-bottom: 16px;
  }

  .machine_section05 .product_block04 .const_block04{
    text-align: left;
    padding-left: 0px;
    padding-bottom: 0;
    margin-bottom: 0;
  }

  .machine_section05 .product_block04 .const_block04 .const_text01{
    margin-top: 16px;
  }

/*
------------------------------------------------
不動産関連事業
------------------------------------------------
*/

body.estate_body{

}

main.estate_main{

}


.estate_section .flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column-reverse;
}

.estate_section .flex .left{

}


.estate_section .left table{
  width:100%;
  max-width: 500px;
  table-layout: fixed;
  border-collapse: collapse;
  border:2px solid #CCCCCC;
}

.estate_section .left table th{
  width:37%;
  border-right:2px solid #CCCCCC;
  border-bottom:1px solid #CCCCCC;
  white-space: nowrap;
  padding:9px 12px;
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 14px;
  line-height: 1.3;
  text-align: left;
  letter-spacing: 0;
}

.estate_section .left table td{
  width:63%;
  border-bottom:1px solid #CCCCCC;
  padding:9px 12px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.3;
  
}

.estate_section .right{
  width:100%;
  margin-bottom: 48px;
}

.estate_section .right .estate01{
  width:397px;
  max-width: 100%;
  margin:0 auto;
}

.estate_section .right .estate02{
  width:440px;
  max-width: 100%;
  margin:0 auto;
}

.estate_section01{
  padding-top: 80px;
  padding-bottom: 116px;
}

.estate_section01 .flex{
  margin-top: 40px;
  

}

.estate_section02{
  padding-bottom: 116px;
}

.estate_section02 .flex{
  margin-top: 48px;
}

.estate_section03{
  padding-bottom: 80px;
}

.estate_section03 .p01{
  margin-top: 48px;
  margin-bottom: 48px;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.estate_section03  iframe{
  display: block;
  width:100%;
  height:332px;

}

/*
------------------------------------------------
素材関連事業
------------------------------------------------
*/

body.material_body{

}

main.material_main{

}

.material_section01{
  padding-top: 80px;
  padding-bottom: 116px;
}


.material_section01 .p01{
  margin-top: 32px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 48px;
}

.material_section01 .p02{
  margin-top: 32px;
  margin-bottom: 56px;
}

.material_section01 .flex{
  display: flex;
  justify-content: space-between;
  flex-direction: column-reverse;
  align-items: center;
  margin-top: 40px;
}

.material_section01 .flex .left{
  padding-top: 56px;
}

.material_section01 .left ul{
  margin-top: 0;
  margin-bottom: 30px;
}

.material_section01 .left ul li{
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
}

.material_section01 .left ul li .blue{
  margin-right: 0;
  margin-bottom: 4px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.2;
  color: #0e8bb9;
}

.material_section01 .left ul li .li_text::before{
  content:none;
}

.material_section01 .left ul li:last-child{
  margin-bottom: 0;
}

.material_section01 .left .common_ir_link{
  max-width:504px;
  margin:0 auto;
}

.material_section01 .flex .right{
  width:auto;
  margin-left: 0;
}

.material_section01 .flex .right img{
  width:100vw;
  max-width:500px;
  margin:0 auto;
}

.material_section02{
  padding-bottom: 80px;
}

.material_section02 .material02{
  width:100%;
  max-width:400px;
  margin:40px auto;
}

.material_section02 .p02{
  margin-bottom: 80px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.7;

}

.material_section02 .flex{
  display: flex;
  justify-content: space-bctween;
  flex-direction: column-reverse;
  align-items: center;
  margin-top: 32px;
  margin-bottom: 80px;
}

.material_section02 .flex .left{
  width:100%;
  padding-top: 36px;
  padding-bottom: 0;
}

.material_section02 .left p{
  margin-bottom: 30px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.7;
}

.material_section02 .left .common_ir_link{
  width:100%;
  max-width:504px;
  margin:0 auto;
}

.material_section02 .flex .right{
  width:auto;
}
.material_section02 .flex .right img{
  width:100vw;
  max-width:500px;
  margin:0 auto;
}

.material_section02 .faci_list{
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  align-items: center;
  margin-top: 56px;
}

.material_section02 .faci_block{
  width:288px;
  margin-bottom: 80px;
}

.material_section02 .faci_block:last-child{
  margin-bottom: 0;
}

.material_section02 .faci_block p{
  margin-bottom: 16px;
  font-weight: bold;
  font-size: 17px;
  line-height: 1.2;
  text-align: center;
}

.material_section02 .faci_block img{
  width:100%;
}

/*
------------------------------------------------
製品案内
------------------------------------------------
*/


body.product_body{

}

main.product_main{

}

.product_section .flex{
  display: flex;
  justify-content: space-between;
  flex-direction: column-reverse;
  align-items: center;
  margin-bottom: 0;
  margin-top: 48px;
}

.product_section .flex .left{
  width:100%;
  padding-top: 48px;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: 1.7;
}

.product_section .flex .left span{
  color:#0E8BB9;
}

.product_section .flex .left .common_ir_link{
  width:100%;
  max-width: 504px;
  margin: 24px auto 0;
}

.product_section .flex .right{
  width:auto;
}
.product_section .flex .right img{
  width:100vw;
  max-width:500px;
  margin:0 auto;
}

.product_section01{
  padding-top: 48px;
  padding-bottom: 116px;
}

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

.product_section01 .tab_flex .tab{
  margin-right: 0;
  margin-bottom: 10px;
  width: 311px;
  height: 66px;
  border-radius: 10px;
  background: #fff;
  position: relative;
  display: flex;
  align-items: center;
}

.product_section01 .tab_flex .tab::after{
  content:"";
  width:10px;
  height:8px;
  background-image: url('../img/common/arrow_bottom_blue.png');
  position: absolute;
  top:0;
  margin:auto;
  bottom:0;
  right:32px;
}

.product_section01 .tab .icon{
  width:55px;
  margin-left: 24px;
  margin-right: 16px;
  height:100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.product_section01 .tab .product_icon01{
  width:51px;
}
.product_section01 .tab .product_icon02{
  width:36px;
}
.product_section01 .tab .product_icon03{
  width:24px;
}

.product_section01 .tab p{
  font-weight: bold;
  font-size: 14px;
  line-height: 1;
  text-align: left;
}

.product_section02{
  padding-bottom: 108px;
}

.product_section.product_section02 .flex{
  margin-top: 0;
  margin-bottom: 112px;
  flex-direction: column;
  align-items: center;
}

.product_section.product_section02 .flex .left{
  margin-bottom: 40px;
}

.product_section.product_section02 .flex .right img{
  width:100%;
  max-width:500px;
  margin:0 auto;
}

.product_section02 .table_frame{
  margin-top: 32px;
  margin-bottom: 80px;
  overflow-x: scroll;
}

.product_section02 .main_table{
  table-layout: fixed;
  width:944px;
  border-collapse: collapse;
}

.product_section02 .main_table th,
.product_section02 .main_table td{
  border:2px solid #CCCCCC;
  padding:10px 0;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.3;
  text-align: left;
}

.product_section02 .main_table thead th{
  background-color: #E6E6E6;
}

.product_section02 .main_table thead th:nth-child(1){
  width:30%;
  padding-left: 80px;
}

.product_section02 .main_table thead th:nth-child(2){
  width:11%;
  text-align: center;
}

.product_section02 .main_table thead th:nth-child(3){
  width:59%;
  padding-left: 36px;
}

.product_section02 .main_table tbody{

}

.product_section02 .main_table tbody .popup_open{
  width: 89px;
  height: 27px;
  border-radius: 13.5px;
  background: #a2a2a2;
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 20px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1;
  color: #fff;
  cursor: pointer;
}

.product_section02 .main_table tbody .popup_open::after{
  content:"";
  width:8px;
  height:10px;
  background-image: url('../img/product/white_arrow.png');
  position: absolute;
  right:12px;
  top:0;
  bottom:0;
  margin:auto;
}

.product_section02 .main_table tbody td:nth-child(1){
  padding-right: 16px;
  padding-left: 38px;
  vertical-align: top;
}

.product_section02 .main_table tbody td:nth-child(1) .td_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.product_section02 .main_table tbody td:nth-child(2){
  padding-left: 40px;
}

.product_section02 .main_table tbody td:nth-child(3){
  padding-right: 16px;
  padding-left: 38px;
  
}

.product_section02 .popup{
  position: fixed;
  z-index:200;
  width:100%;
  height:100vh;
  background-color: rgba(0,0,0,0.8);
  top:0;
  left:0;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  transition: 0.7s;
  opacity: 0;
}

.product_section02 .popup.show{
  pointer-events: auto;
  opacity: 1;
}

@media(max-width:767px){
  .product_section02 .popup_table_frame{
    /* max-width: 200px; */
    width:400px;
    max-width: 90vw;
    max-height: 80vh;
    overflow: scroll;
  }
}




.product_section02 .popup .his{
  width:448px;
}

.product_section02 .popup .high01{
  width:463px;
}
.product_section02 .popup .high02{
  margin-top: 32px;
  width:463px;
}

.product_section02 .popup .optical01{
  width:483px;
}
.product_section02 .popup .optical02{
  margin-top: 32px;
  width:483px;
}

.product_section02 .popup .filler01{
  width:582px;
  background-color: #fff;
}
.product_section02 .popup .filler02{
  /* margin: 32px auto 0; */
  margin-top: 32px;
  width:404px;
}

.product_section02 .detail_section{

}

.product_section02 .detail_open{
  position: relative;
  height: 56px;
  border-radius: 10px 10px 0px 0px;
  background-color: #a2a2a2;
  display: flex;
  align-items: center;
  padding-left: 16px;
  cursor: pointer;
  font-weight: bold;
  font-size: 17px;
  line-height: 1;
  color: #fff;
}

.product_section02 .detail_open::before{
  content:"";
  width:21px;
  height:21px;
  background-image: url('../img/product/plus.png');
  position: absolute;
  right:16px;
  top:0;
  bottom:0;
  margin:auto;
}

.product_section02 .detail_open.active::before{
  height:2px;
  background-image: url('../img/product/minus.png');
}

.product_section02 .detail_content{
  padding:24px 16px 40px;
  background-color: #fff;
  display: none;
}

.product_section02 .detail_content .detail_text01{
  font-weight: bold;
  font-size: 14px;
  line-height: 1.7;
  text-align: left;
}

.product_section02 .detail_flex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 20px;
}

.product_section02 .detail_block{
  width: 100%;
  height: auto;
  background: #f4f5f7;
  margin-top: 24px;
  padding:20px 12px 24px;
}

.product_section02 .detail_block .common_radi_title{
  font-size: 17px;
  margin-left: 12px;
  padding-left: 20px;
}

.product_section02 .detail_block .common_radi_title::before{
  top:7px;
}

.product_section02 .detail_block ul{
  margin-top: 12px;
}

.product_section02 .detail_block ul li{
  font-weight: 500;
  font-size: 14px;
  line-height: 1.75;
}

.product_section03{
  padding-bottom: 124px;
}

.product_section03 .flex{
  margin-bottom: 0;
}

.product_section04{
  padding-bottom: 80px;
}

.product_section04 .flex{
  margin-bottom: 0;
}


/*
------------------------------------------------
会社概要
------------------------------------------------
*/

body.outline_body{

}

main.outline_main{

}

.outline_section01{
  padding-top: 96px;
  padding-bottom: 130px;
}


.outline_section01 table{
  table-layout: fixed;
  width:100%;
  border-collapse: collapse;
  margin-bottom: 40px;
}

.outline_section01 table th,
.outline_section01 table td{
  border:1px solid #CCCCCC;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.3;
  text-align: left;
}

.outline_section01 table th{
  padding:16px;
  background-color: #E6E6E6;
  width:30%;
}

.outline_section01 table td{
  padding:16px 24px;
  width:70%;
}

.outline_section01 iframe{
  display: block;
  width:100%;
  height:350px;
}

.outline_section02{
  padding-bottom: 108px;
}

.outline_section02 .president_block{
  margin: 40px auto 0;
  width:fit-content;
}

.outline_section02 .president_block img{
  width:180px;
  margin:0 auto 12px;
}

.outline_section02 .president_block .president01{
  font-weight: bold;
  font-size: 20px;
  line-height: 1;
  text-align: center;
  margin-bottom: 8px;
}

.outline_section02 .president_block .president02{
  font-weight: 500;
  font-size: 17px;
  line-height: 1;
  text-align: center;
  color: #a2a2a2;
}

.outline_section02 .block ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 750px;
}

.outline_section02 .block ul li{
  min-width:auto;
  width:48%;
  padding:0;
  margin-top: 48px;
  text-align: center;
  font-feature-settings: "palt";
}

.outline_section02 .block ul li .p01{
  font-weight: bold;
  font-size: 20px;
  line-height: 1.2;
  margin-bottom: 4px;
}

.outline_section02 .block ul li .p02,
.outline_section02 .block ul li .p03,
.outline_section02 .block ul li .p04{
  font-weight: 500;
  font-size: 17px;
  line-height: 1.5;
  color: #a2a2a2;
  
}

.outline_section02 .block01{
  margin-top: 48px;
}

.outline_section02 .block02{
  margin-top: 80px;
}

.outline_section03{
  padding-bottom: 80px;
}

.outline_section03 .map_frame{
  padding:0;
  margin-top: 72px;
}


.outline_section03 .map_frame img{
  width:100%;
}

@media(max-width:767px){
  .outline_section03 .map_frame{
    padding:0;
    overflow-x: scroll;
  }

  .outline_section03 .map_frame img{
    width:630px;
  }
}


/*
------------------------------------------------
トップメッセージ
------------------------------------------------
*/

body.message_body{

}

main.message_main{

}

.message_section01{
  padding-top: 220px;
  padding-bottom: 60px;
}

@media(max-width:767px){
  .message_section01{
    padding-top: 280px;
  }
  
}

.message_section01 .thumb{
  position: relative;
  width: 100vw;
  margin: 0 calc(50% - 50vw) 64px;
}

.message_section01 .thumb img{
  width:100vw;
  max-width:600px;
  margin:0 auto;
}

.message_section01 .box{
  color:#fff;
  background-color: #0E8BB9;
  padding:56px 32px 28px 32px;
  position: absolute;
  z-index:2;
  left:calc(50% - 50vw);
  top:-160px;
}

@media(max-width:767px){
  .message_section01 .box{
    color:#fff;
    background-color: #0E8BB9;
    padding:48px 32px 24px 16px;
    position: absolute;
    z-index:2;
    left:calc(50% - 50vw);
    top:-212px;
  }
}

.message_section01 .box .box_text01{
  font-family: "Zen Old Mincho";
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 0.04em;
  line-height: 1.7;
  text-align: left;
  color: #fff;
  margin-bottom: 24px;
}

.message_section01 .box .box_text02{
  text-align: right;
  font-size: 14px;
  line-height: 1;
  font-weight: bold;
}

.message_section01 .box .box_text02 span{
  font-size: 17px;
  margin-left: 10px;
}

.message_section01 .message_text{
  font-weight: 500;
  font-size: 14px;
  line-height: 2.2;
  text-align: left;
}

.message_section02{
  padding-top: 60px;
  padding-bottom: 70px;
}


.message_section02 .philosophy_text{
  margin-top: 40px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8;

}

.message_section03{
  padding-top: 70px;
  padding-bottom: 70px;
}

.message_section03 .rule_text{
  margin-top: 40px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8;

}


/*
------------------------------------------------
企業沿革
------------------------------------------------
*/

body.history_body{

}

main.history_main{

}

.history_section01{
  padding-top: 140px;
  padding-bottom: 80px;
}

.history_section01 .history_list{
  padding-top: 16px;
  padding-bottom: 96px;
  position: relative;
  max-width:500px;
  margin:0 auto 108px;
}

.history_section01 .history_list::before{
  content:"";
  width: 35px;
  height: 100%;
  border-radius: 17.5px;
  background: #0e8bb9;
  position: absolute;
  top:0;
  left:0;
  z-index:-2;
}

.history_section01 .history_block{
  display: flex;
  margin-bottom: 48px;
  position: relative;
  flex-direction: column;
  padding-left: 42px;
}

.history_section01 .history_block:last-child{
  margin-bottom: 0;
}

.history_section01 .history_block .history_left{
  width:100%;
  font-weight: bold;
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;
  margin-bottom: 8px;
}
.history_section01 .history_block .history_center{
  position: absolute;
  top: 13px;
  left: 8px;
  width: 19px;
  height: 19px;
  background: #fff;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 0;
}

.history_section01 .history_block .history_right{
  padding-left: 0;
  padding-top: 10px;
  position: relative;
  width:100%;
}

.history_section01 .history_block .history_right::before{
  content:"";
  width:calc(100% + 30px);
  height: 3px;
  background-color: #0e8bb9;
  position: absolute;
  z-index:-3;
  left:auto;
  right:0;
  top:0;

}

.history_section01 .history_block .history_right p{
  font-weight: bold;
  font-size: 14px;
  line-height: 1.3;
}

.history_section01 .history_block .history_right p.p02{
  margin-top: 16px;
}

.history_section01 .history_block .history_right .history01{
  margin-top: 16px;
  width:272px;

}


.history_section01 .flex{
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  align-items: center;
}

.history_section01 .flex .block{
  width:100%;
  max-width:400px;
  margin-bottom: 80px;
}

.history_section01 .flex .block:last-child{
  margin-bottom: 0;
}

.history_section01 .flex .block p{
  margin-bottom: 12px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1;
}

.history_section01 .flex .block img{
  width:100%;
}


/*
------------------------------------------------
事業所紹介
------------------------------------------------
*/

body.office_body{

}

main.office_main{

}

.office_section .container{
  padding-left: 0;
}

.office_section .common_left_border_title{
  margin-bottom: 32px;
}

.office_section .common_radi_title{
  margin-bottom: 8px;
}

.office_section .flex{
  display: flex;
  flex-direction: column;
}

.office_section .flex02{
  margin-bottom: 72px;
}

.office_section .flex04{
  margin-bottom: 56px;
}

.office_section .flex06{
  margin-bottom: 112px;
}

.office_section .office_block{
  min-width:auto;
  max-width:400px;
  /* padding-left: 16px; */
  padding-left: 0;
}

.office_section .flex .office_block:nth-child(2){
  margin-top: 56px;
}

.office_section .office_block .info_block{
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8;
  text-align: left;
  color: #333;
}



.office_section .office_block .info_block p a{
  pointer-events: none;
  color: #333;
}

.office_section .office_block .info_block p .tel{
  pointer-events: auto;
  color: #333;
}

.office_section .office_block .map_link_line{
  margin-top: 12px;
}

.office_section .office_block .map_link{
  display: flex;
  align-items: center;
  width:fit-content;
  height:22px;
  padding-left: 24px;
  padding-right: 10px;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #85929f;
  position: relative;
}

.office_section .office_block .map_link::before{
  content:"";
  width:14px;
  height:21px;
  background-image: url('../img/office/map_icon.png');
  position: absolute;
  top:0;
  left:0;
}

.office_section .office_block .map_link::after{
  content:"";
  width:5px;
  height:7.5px;
  background-image: url('../img/office/map_arrow.png');
  position: absolute;
  right:0;
  top:10px;
}

.office_section .img_block{
  padding-left: 0;
  max-width:400px;
  margin-top:16px;
}

.office_section .office01{
  width:100%;
}
.office_section .office02{
  width:100%;
}
.office_section .office03{
  width:100%;
}
.office_section .office04{
  width:100%;
}
.office_section .office05{
  width:100%;
}

.office_section .gray_text{
  min-height:auto;
  margin-top: 0;
  margin-bottom: 16px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
  color: #85929f;
}

.office_section01{
  padding-top: 124px;
  padding-bottom: 108px;
}

.office_section02{
  padding-bottom: 124px;
}

.office_section03{
  padding-bottom: 120px;
}

.office_section04{
  padding-bottom: 124px;
}

.office_section05{
  padding-bottom: 116px;
}

.office_section06{
  padding-bottom: 140px;
}


/*
------------------------------------------------
サステナビリティ
------------------------------------------------
*/

body.sustainability_body{

}

main.sustainability_main{

}

main.sustainability_main .page_head_section{
  padding-top: 72px;
}

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

.sustainability_section .flex01{
  margin-top: 56px;
}

.sustainability_section .flex02{
  margin-top: 48px;
}

.sustainability_section .flex03{
  margin-top: 56px;
}

.sustainability_section .flex .left{
  width:100%;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: 1.75;
  margin-bottom: 64px;
}

.sustainability_section .flex .right{
  padding-left: 0;
}

.sustainability_section .flex .right .sustainability01{
  width:230px;
}

.sustainability_section .flex .right .sustainability02{
  width:293px;
}

.sustainability_section .flex .right .sustainability03{
  width:298px;
}

.sustainability_section .block{
  margin-top: 48px;
}

.sustainability_section .block p{
  font-weight: 500;
  font-size: 14px;
  line-height: 1.75;
}

.sustainability_section .block .common_ir_link{
  max-width:440px;
  margin-top: 30px;
}

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

.sustainability_section02{
  padding-bottom: 108px;
}

.sustainability_section03{
  padding-bottom: 112px;
}

.sustainability_section04{
  padding-bottom: 108px;
}

/*
------------------------------------------------
採用情報
------------------------------------------------
*/

body.recruit_body{

}

main.recruit_main{

}

main.recruit_main .white_section{
  position: relative;
}

main.recruit_main .white_section::before{
  content:"";
  width:100%;
  height:100%;
  background-color: #fff;
  position: absolute;
  z-index:-8;
  top:0;
  left:0;
}

.recruit_section01{
  
}

.recruit_section01 .mv_list{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
}

@media(max-width:767px){
  .recruit_section01 .mv_list .mv_panel{
    width: 50%;
    aspect-ratio: 1 / calc(154 / 187)
  }
  
  .recruit_section01 .mv_list .mv_panel:nth-child(1){
    width: 50%;
  }
  
  .recruit_section01 .mv_list .mv_panel:nth-child(2){
    width: 50%;
  }
}


/* @media(max-width:767px){
  .recruit_section01 .mv_list .panel{
    width:50%;
    height:50vw;
    object-fit: cover;
  }
} */


.recruit_section01 .mv_list::before{
  content:"";
  width:100%;
  height:100%;
  background-color: rgba(51,51,51,0.1);
  position: absolute;
  top:0;
  left:0;
  z-index:1;
}

.recruit_section01 .title_block{
  top: 37%;
}


@media(max-width:767px){
  .recruit_section01 .title_block .ja_title{
    font-family: "Zen Old Mincho";
    font-weight: 500;
    font-size: 13px;
    line-height: 1;
    text-align: center;
    color: #fff;
  }
  
  .recruit_section01 .title_block .en_title{
    font-family: "Zen Old Mincho";
    font-weight: bold;
    font-size: 46px;
    text-align: center;
    color: #f4f5f7;
    line-height: 1;
  }
}


.recruit_section02{
  padding-top: 188px;
  padding-bottom: 160px;
}

.recruit_section02 p{
  text-align: center;
  position: relative;
  font-weight: 500;
  font-size: 17px;
  line-height: 1.9;
  text-align: center;
}

.recruit_section02 img.sign{
  position: absolute;
  width:340px;
  max-width: 90%;
  z-index:-1;
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
}

.recruit_section .color_area{
  padding:96px 0 200px;
  position: relative;
}

.recruit_section .color_area::before{
  content:"";
  width:100vw;
  height:100%;
  background-color: #0E8BB9;
  position: absolute;
  top:0;
  left:0;
  z-index:-5;
}

.recruit_section .recruit_flex{
  display: flex;
  flex-direction: column;
  max-width:1240px;
  margin:0 auto;
  padding:0 20px;
}

.recruit_section .recruit_flex .left{
  flex-shrink: 0;
  position: relative;
  color: #fff;
}

.recruit_section .recruit_flex .left .deco{
  width:240px;
  position: absolute;
  z-index:-2;
  left:96px;
  top:-8px;
}

.recruit_section .recruit_flex .left .num{
  font-weight: 500;
  font-size: 27px;
  line-height: 1;
  margin-bottom: 24px;
}

.recruit_section .recruit_flex .left .recruit_title{
  font-weight: 500;
  font-size: 36px;
  line-height: 1;
  text-align: left;
}

.recruit_section .recruit_flex .left .border{
  width: 66px;
  border-top: 1px solid #fff;
  margin:24px 0 32px;
}

.recruit_section .recruit_flex .left .recruit_text{
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: 1.7;
}

.recruit_section .recruit_flex .right{
  display: flex;
  justify-content: flex-start;
  padding-left: 0;
  padding-top: 80px;
  overflow-x: scroll;
}

.recruit_section .recruit_flex .right .member{
  width:253px;
  flex-shrink: 0;
  /* margin-right: 36px; */
}

.recruit_section .yuutube_frame{
  width:595px;
  height:335px;
  position: relative;
  margin:-96px auto 0;
}

@media(max-width:767px){
  .recruit_section .yuutube_frame{
    width:340px;
    height:191px;
    position: relative;
    margin:-96px auto 0;
  }
}


.recruit_section .yuutube_frame iframe{
  display: block;
  width:100%;
  height:100%;
}

.recruit_section03{
  padding-bottom: 180px;
}
.recruit_section04{
  padding-bottom: 160px;
}

.recruit_section05{
  padding:64px 0 120px;
  position:relative;
}

.recruit_section05::before{
  content:"";
  width:100%;
  height:100%;
  background-color: #F4F5F7;
  position: absolute;
  top:0;
  left:0;
  z-index:-5;
}

.recruit_section05 h2{
  margin-bottom: 88px;
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 0.04em;
  line-height: 1;
  text-align: center;
  position: relative;
  padding-bottom: 16px;
}

.recruit_section05 h2::after{
  content:"";
  width: 66px;
  height: 1px;
  background-color: #333;
  position: absolute;
  bottom:0;
  left:0;
  right:0;
  margin:auto;
}

.recruit_section05 .link_list a::after{
  right:16px;
}

.recruit_section05 .appli_block{
  border-bottom:2px solid #CCCCCC;
}

.recruit_section05 .appli_block:first-child{
  border-top:2px solid #CCCCCC;
}

.recruit_section05 .appli_block .appli_head{
  cursor:pointer;
  position: relative;
  min-height:auto;
  padding:32px 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.recruit_section05 .appli_block .appli_head::after{
  content:"";
  width:31px;
  height:31px;
  background-image: url('../img/recruit/plus.png');
  position: absolute;
  right:0;
  top:28px;
  bottom:auto;
  margin:auto;
}

.recruit_section05 .appli_block .appli_head.active::after{
  width:31px;
  top:42px;
  height:3px;
  background-image: url('../img/recruit/minus.png');
}

.recruit_section05 .appli_block .appli_head .head_left{
  /* display: flex;
  align-items: center; */
  min-width:100%;
  margin-right: 0;
  flex-shrink: 0;
}

.recruit_section05 .appli_block .appli_head .appli_title{
  font-weight: bold;
  font-size: 17px;
  line-height: 1.3;
  color: #0e8bb9;
  margin-right: 16px;
}

.recruit_section05 .appli_block .appli_head .appli_loca{
  height: 26px;
  border-radius: 5px;
  background: #85929f;
  display: flex;
  justify-content: center;
  align-items: center;
  padding:0 6px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  color: #fff;
}

.recruit_section05 .appli_block.active .appli_head .appli_loca{
  opacity:0;
}

.recruit_section05 .appli_block .appli_head .appli_info{
  width:100%;
  padding-right: 88px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #a2a2a2;
  margin-top: 12px;
}

.recruit_section05 .appli_block .appli_body{
  padding-top: 0;
  padding-bottom: 40px;
  display: none;
}

.recruit_section05 .appli_block .appli_info_list{

}

.recruit_section05 .appli_block .appli_info_block{
  display: flex;
  padding:16px 0;
  border-bottom: 1px solid #CCCCCC;
  flex-direction: column;
}

.recruit_section05 .appli_block .info_title{
  width:100%;
  padding-left: 0;
  white-space: nowrap;
  font-weight: bold;
  font-size: 17px;
  line-height: 1.1;
  flex-shrink: 0;
  margin-bottom: 16px;
}

.recruit_section05 .appli_block .info_text{
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  padding-left: 0;
}


.recruit_section06{
  padding:64px 0 ;
  position:relative;
  color:#fff;
}

.recruit_section06::before{
  content:"";
  width:100%;
  height:100%;
  background-color: #0E8BB9;
  position: absolute;
  top:0;
  left:0;
  z-index:-5;
}

.recruit_section06 .p01{
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  margin-bottom: 16px;
}

.recruit_section06 .p02{
  font-weight: bold;
  font-size: 54px;
  line-height: 1;
  color: #f4f5f7;
  margin-bottom: 32px;
}

.recruit_section06 .p3{
  font-weight: bold;
  font-size: 14px;
  color: #fff;
  line-height:1.5;
}

.recruit_section06 .flex{
  display: flex;
  justify-content: space-between;
  flex-direction:column ;
  align-items: flex-end;
}

.recruit_section06 .flex .left{
  padding-left: 0;
  width:100%;
}


.recruit_section06 .flex .right{
  margin-right: 0;
  padding-top: 56px;
}

.recruit_section06 .flex .radi{
  transition: 0.4s;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  border:1px solid #fff;
  position: relative;
  display: block  ;
}

.recruit_section06 .flex .radi .arrow{
  position: absolute;
  width:29px;
  top:0;
  left:0;
  bottom:0;
  right:0;
  margin:auto;
  transition: 0.4s;
}

.recruit_section06 .flex .radi .arrow.on{
  opacity: 0;
}

.recruit_section06 .flex .radi:hover{
  background-color: #fff;
}

.recruit_section06 .flex .radi:hover .arrow.on{
  opacity:1;
}
.recruit_section06 .flex .radi:hover .arrow.off{
  opacity:0;
}

/*
------------------------------------------------
お問い合わせフォーム
------------------------------------------------
*/

body.contact_body{

}

main.contact_main{

}

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

.contact_section01 h1{
  margin-bottom: 24px;
  font-size: 28px;
}

.contact_section01 .contact01{
  margin-bottom: 24px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8;
  text-align: center;
} 

.common_form_status{
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-bottom: 56px;
}

.common_form_status .border{
  height:3px;
  background-color: #CCCCCC;
  margin-bottom: 18px;
}

.common_form_status .border.active{
  background-color: #0E8BB9;
}

.common_form_status .border01{
  width:52px;
}

.common_form_status .border02{
  width:80px;
}

.common_form_status .status_block p{
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  color:#A2A2A2;
  margin-bottom: 8px;
}

.common_form_status .status_block .radi{
  width: 38px;
  height: 38px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 300;
  font-size: 17px;
  line-height: 1;
  color: #a2a2a2;
}

.common_form_status .status_block.active p{
  color: #0e8bb9;
}

.common_form_status .status_block.active .radi{
  border: 1px solid #0e8bb9;
  color: #0e8bb9;
}

.contact_white_box{
  max-width: 742px;
  margin:0 auto;
  background: #fff;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.16);
  padding:40px 32px 56px;
}

.contact_white_box .form_line{
  padding:16px 0;
  border-bottom:1px solid #CCCCCC;
}

.contact_white_box .form_line .left{
  margin-bottom: 12px;
  width:fit-content;
  position: relative;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.3;
}

.contact_white_box .form_line .left.must::after{
  content:"必須";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 54px;
  height: 20px;
  background: #0e8bb9;
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 15px;
  line-height: 1;
  text-align: center;
  color: #fff;
  position: absolute;
  top:0;
  right:-72px;
  
}

.contact_white_box .form_line .left.free::after{
  content:"任意";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 54px;
  height: 20px;
  background: #CCCCCC;
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 15px;
  line-height: 1;
  text-align: center;
  color: #fff;
  position: absolute;
  top:0;
  right:-72px;
  
}

.contact_white_box .form_line .text_input{
  border:none;
  background: none;
  display: block;
  width: 100%;
  height: 40px;
  background: #f4f5f7;
  font-size: 15px;
  font-weight: 500;
  padding:0 16px;
}

.contact_white_box .form_line .pre_flex{
  display: flex;
  flex-direction: column;
}


.contact_white_box .form_line .pre_flex .pre_block{
  width:140px;
  margin-right: 0;
  margin-bottom: 16px;
}

.contact_white_box .form_line  .pre_block .title_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.3;
  margin-bottom: 12px;
}

.contact_white_box .form_line  .pre_block .title_flex .auto_text{
  font-weight: 500;
  font-size: 13px;
  line-height: 1.3;
  color: #525760;
  
}

.contact_white_box .form_line .out_link{
  font-size: 12px;
  line-height: 1.3;
}

.contact_white_box .form_line .out_link a{
  font-weight: normal;
  color:#0E8BB9;
  text-decoration: underline;
}

.contact_white_box .form_line .out_link01{
  margin-bottom: 6px;
  margin-top: 16px;
}

.contact_white_box .form_line .kind_area{
  padding: 4px 0;
  display: flex;
  flex-direction: column;
}

.contact_white_box .mw_wp_form .horizontal-item {
  margin-left: 0!important;
  margin-bottom: 8px;
}

.contact_white_box .form_line .kind_area label{
  margin-right: 32px;
}

.contact_white_box .form_line .place_area{
  display: flex;
  flex-wrap: wrap;
  /* justify-content: space-between; */
}

.contact_white_box .form_line .place_area .mwform-checkbox-field{
  margin-bottom: 16px;
}

.contact_white_box .form_line .place_area  label{
  margin-right: 56px;
  margin-bottom: 16px;

  font-weight: 500;
  font-size: 15px;
  line-height: 1.3;
  color: #646464;
}

.contact_white_box .form_line .place_area  span{
  margin-left: 0 !important;
}

.contact_white_box .form_line textarea{
  border:none;
  background: none;
  display: block;
  width: 100%;
  height: 180px;
  background: #f4f5f7;
  font-size: 15px;
  font-weight: 500;
  padding:16px;
}


.contact_white_box .privacy_area{
  margin-top: 40px;
}

.contact_white_box .privacy_area .privacy_title{
  font-weight: bold;
  font-size: 13px;
  line-height: 1.3;
  color: #0e8bb9;
  margin-bottom: 16px;
}

.contact_white_box .privacy_area .privacy_box{
  height: 120px;
  overflow-y: scroll;
  border: 1px solid #0e8bb9;
  margin-bottom: 24px;
}

.contact_white_box .privacy_area .privacy_text{
  font-weight: 500;
  font-size: 12px;
  line-height: 1.8;
  color: #525760;
  padding:16px;
}

.contact_white_box .privacy_area label{
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.04em;
  line-height: 1.3;
  color: #0e8bb9;

}

.contact_white_box .submit_area{
  display: flex;
  justify-content: center;
  flex-direction: row-reverse;
  margin-top: 80px;
}

.contact_white_box .submit_area .submit{
  border:none;
  background: none;
  width: 180px;
  height: 36px;
  border-radius: 18px;
  background: #0e8bb9;
  border: 1px solid #0e8bb9;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 12px;
  line-height: 1;
  color: #fff;
  margin:0 24px;
  cursor: pointer;
  transition: 0.4s;
}

.contact_white_box .submit_area .submit:hover{
  opacity: 0.7;
}

.contact_white_box .submit_area .return{
  border:none;
  background: none;
  width: 180px;
  height: 36px;
  border-radius: 18px;
  background: #E6E6E6;
  border: 1px solid #E6E6E6;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 12px;
  line-height: 1;
  color: #333333;
  cursor: pointer;
  transition: 0.4s;
}

.contact_white_box .submit_area .return:hover{
  opacity: 0.7;
}

@media(max-width:767px){
  .contact_white_box .finish_text01{
    font-weight: 500;
    font-size: 18px;
    white-space: nowrap;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-align: center;
    color: #0e8bb9;
    margin-bottom: 24px;
  }
  
  .contact_white_box .finish_text02{
    font-weight: 500;
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
  }
}


.contact_white_box .confirm_block .out_link,
.contact_white_box .confirm_block .privacy_area{
  display: none;
}

.entry_section01{

}

.entry_section01 .entry_flow_area{
  margin-top: 88px;
  margin-bottom: 88px;
}

.entry_section01 .entry01{
  padding-left: 30px;
  margin-bottom: 16px;
  font-weight: bold;
  font-size: 17px;
  line-height: 1;
  color: #0e8bb9;
}

.entry_section01 .entry_color_box{
  padding:24px 16px 32px;
  border-radius: 16px;
  border: 2px solid #0e8bb9;
  margin-bottom: 20px;
}

.entry_section01 .entry_flow_block{
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
}

.entry_section01 .entry_flow_block:last-child{
  margin-bottom: 0;
}

.entry_section01 .entry_flow_block .flow_left{
  display: flex;
  padding-top: 0;
  width:100px;
  flex-shrink: 0;
}

.entry_section01 .entry_flow_block .flow_left .num{
  font-weight: bold;
  font-size: 17px;
  line-height: 1;
  color: #0e8bb9;
  padding-top: 2px;
}

.entry_section01 .entry_flow_block .flow_left .border{
  height:22px;
  width:2px;
  background-color: #CCCCCC;
  margin:0 16px 0 6px;
}

.entry_section01 .entry_flow_block .flow_left .flow_title{
  font-weight: 500;
  font-size: 20px;
  line-height: 1;
  color: #0e8bb9;
}

.entry_section01 .entry_flow_block .flow_right{
  margin-top: 20px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.7;
  padding-left: 0;
}

.entry_section01 .entry02{
  font-weight: 500;
  font-size: 12px;
  line-height: 1.7;
}



/*
------------------------------------------------
News
------------------------------------------------
*/

body.news_body{

}

main.news_main{

}

.news_head_section{
  padding-top: 72px;
}

.news_section01{
  padding-top: 112px;
  padding-bottom: 96px;
}

.news_section01 .category_list{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 48px;
}

.news_section01 .category_list .category_link{
  margin-right: 48px;
  font-weight: 500;
  font-size: 17px;
  line-height: 1;
  color: #333;
  padding-bottom: 6px;
  transition: 0.2s;
  margin-bottom: 24px;
}

.news_section01 .category_list .category_link:hover,
.news_section01 .category_list .category_link.active{
  color:#0E8BB9;
  border-bottom:2px solid #0E8BB9;
}

.news_section01 .category_list .category_link:last-child{
  margin-right: 0;
}

.news_section01 .news_list{
  margin-bottom: 88px;
}

.news_section01 .news_list .link_off{
  pointer-events: none;
}

.news_section01 .news_list .news_block{
  border-bottom:1px solid #A2A2A2;
}

.news_section01 .news_block .news_link{
  display: block;
  padding:32px 0 20px;
}

.news_section01 .news_block .info_flex{
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.news_section01 .news_block .info_flex .date{
  width:100px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  color: #333;
}

.news_section01 .news_block .info_flex .tag{
  height: 20px;
  border-radius: 10px;
  background: #0e8bb9;
  display: flex;
  justify-content: center;
  align-items: center;
  padding:0 16px;
  font-weight: bold;
  font-size: 13px;
  line-height: 1;
  color: #fff;

}

.news_section01 .news_block .news_title{
  font-weight: 500;
  font-size: 17px;
  line-height: 1.5;
  color: #333;
}


/*
------------------------------------------------
検索結果一覧
------------------------------------------------
*/

body.search_body{

}

main.search_main{

}


.search_section01{
  padding-top: 80px;
  padding-bottom: 96px;
}




.search_section01 .result_list{
  margin-top: 40px;
  margin-bottom: 40px;
}

.search_section01 .result_list li{
  border-bottom: 1px solid #A2A2A2;
}

.search_section01 .result_list li a{
  display: block;
  padding:24px 0;
  color:#333333;
}

.search_section01 .result_list li a.off{
  pointer-events: none;
}

@media(max-width:767px){
  .search_section01 .result_text{
    font-size: 14px;
  }

  .search_section01 .result_list li .result_title{
    font-size: 15px;
    font-weight: bold;
    line-height: 1.3;
  }
  
  .search_section01 .result_list li .result_info{
    font-weight: 500;
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.5;
  }
}



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

  .privacy_section01{
    padding-top: 56px;
    padding-bottom: 40px;
  }

  .privacy_section01 .privacy_msg{
    margin-bottom: 48px;
  } 

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


  /*
  ------------------------------------------------
  ウェルカムバック採用
  ------------------------------------------------
  */
  .welcome_section01 .welcome_back_text{
    font-size:14px;
  }

  /*
  ------------------------------------------------
  配当/株主優待制度
  ------------------------------------------------
  */

  body.stockholder_body{
    
  }

  main.stockholder_main{

  }

  .stockholder_section{
    padding:80px 0;
  }

  .stockholder_section .bottom_border_title{
    font-size: 32px;
  }

}/*@media (max-width:1024px){*/
