@charset "UTF-8";

/*===============================================
●sp.css  画面の横幅が767px〜0pxまで
===============================================*/

/*SE等の最小幅用*/

/*===============================================
●sp.css  sp横向き
===============================================*/

@media screen and (max-width: 767px) {
  body {
    -webkit-text-size-adjust: 100%;
    font-weight: 300;
  }

  header {
    height: 60px;
    background-image: none;
    background-color: #fff;
    background-image: none;
  }

  .mgnB30 {
    margin-bottom: 30px;
  }

  .mgnB100 {
    margin-bottom: 60px;
  }

  .mgnB120 {
    margin-bottom: 60px;
  }

  .mgnB140 {
    margin-bottom: 80px;
  }

  .mgnB170 {
    margin-bottom: 100px;
  }

  .mgnB200 {
    margin-bottom: 100px;
  }

  .padT100 {
    padding-top: 50px;
  }

  .headerLogo {
    padding-left: 18px;
  }

  .headerLogo h1 {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1000;
  }

  .headerInner {
    width: 100%;
  }

  .nav_style {
    position: absolute;
    width: 100%;
    z-index: 999;
  }

  /*メニュー*/

  .slicknav_nav {
    height: calc(100vh - 60px);
    overflow: scroll !important;
  }

  .sub_menu li {
    background-color: #585858;
    display: block;
  }

  .sub_menu li.pcNone {
    display: block;
  }

  .slicknav_parent {
    position: relative;
  }

  .slicknav_parent .slicknav_arrow {
    font-size: 1.75rem;
    position: absolute;
    right: 0;
    top: 19px;
  }

  .slicknav_menu {
    height: 60px;
  }

  .slicknav_menu .slicknav_icon {
    width: 24px;
    height: 16px;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }

  .slicknav_menu .slicknav_open {
    padding-bottom: 0;
  }

  .slicknav_menu .slicknav_open > a {
    margin-bottom: 15px;
  }

  .slicknav_menu .slicknav_open .slicknav_icon-bar:nth-of-type(1) {
    -webkit-transform: translateY(0px) rotate(-45deg);
    transform: translateY(0px) rotate(-45deg);
    top: 1px;
  }

  .slicknav_menu .slicknav_open .slicknav_icon-bar:nth-of-type(2) {
    opacity: 0;
  }

  .slicknav_menu .slicknav_open .slicknav_icon-bar:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-11px) rotate(45deg);
    bottom: 1px;
  }

  .slicknav_menu .slicknav_open .slicknav_arrow {
    font-size: 1.75rem;
    position: absolute;
    right: 0;
    top: 12px;
    -webkit-transform: translateY(6px) rotate(-45deg);
    transform: translateY(6px) rotate(90deg);
  }

  .nav_style ul {
    background-color: #222;
    padding: 40px;
  }

  .nav_style li {
    border-top: 1px solid #585858;
    padding: 20px 0;
  }

  .nav_style li .sub_menu li {
    padding: 0;
  }

  .nav_style li:last-child {
    border-bottom: 1px solid #585858;
  }

  .nav_style li a {
    width: 100%;
    font-size: 1.4rem;
    font-weight: 700;
  }

  .slicknav_btn {
    background-color: #1F489D;
    width: 60px;
    height: 60px;
    padding: 12px;
  }

  .slicknav_btn .slicknav_icon-bar {
    width: 24px;
    height: 2px;
  }

  #navMenu .Hmenu {
    display: none;
  }

  .slicknav_menu {
    display: block;
  }

  .sub_menu {
    position: initial;
    width: 100%;
  }

  .sub_menu li:not(:last-child) {
    border-bottom: 1px solid #222;
  }

  .sub_menu li a {
    color: #fff !important;
  }

  .sub_menu li a:hover {
    background-color: none;
  }

  #navMenu .disabl {
    pointer-events: none;
  }

  /*トップページ*/

  .mvWrap {
    margin-top: 60px;
    height: calc(100vh - 60px);
  }

  .mvWrap .mvLine {
    top: -260px;
  }

  .mvWrap .ani09 {
    width: 0;
  }

  .mvWrap .ani09.move {
    width: 120px;
  }

  .mvWrap .mvDecoL {
    width: 30%;
  }

  .mvWrap .mvDecoR {
    width: calc(100% - 30%);
  }

  .mvInner {
    width: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 30px;
    padding-bottom: 0;
  }

  .mvInner div {
    width: 220px;
    padding-bottom: 10px;
  }

  .topNewsWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .topNewsWrap > div {
    width: 100%;
  }

  .topNewsWrap > div:not(:last-child) {
    margin-bottom: 50px;
  }

  #topIR:before {
    width: 100%;
  }

  #topIR .toIrTxt {
    width: 100%;
  }

  #topIR .borderL {
    top: 30px;
    left: 0;
  }

  #topIR .borderR {
    bottom: 30px;
    right: 0;
  }

  .ani08.move .borderL,
  .ani08.move .borderR {
    width: 80%;
  }

  #topBnr .serviceBnr {
    width: 100%;
  }

  #topBnr .businessBnr:not(:last-child) {
    margin-bottom: 0 !important;
    border-bottom: 1px solid #fff;
  }

  #topSdgs {
    margin-bottom: 300px;
    height: 270px;
  }

  #topSdgs:before {
    width: 100%;
  }

  #topSdgs:after {
    height: 190%;
    width: 85%;
  }

  #topSdgs .sdgsWrap {
    width: 88%;
    height: 220px;
    background-size: cover;
  }

  #topSdgs .inner {
    padding: 20px 0;
  }

  #topSdgs .inner .sdgsTxt {
    padding-top: 290px;
    height: auto;
    background-size: 9%;
    background-position: 9% 14px;
    background-image: url(../img/top_sdgs_txt_opacity.svg);
  }

  #topSdgs .inner .sdgsTxt a {
    padding: 0 6%;
  }

  #topSdgs .inner .sdgsTxt a:hover {
    background: none;
  }

  #topSdgs .inner .sdgsTxt h3 {
    color: #222;
    font-size: 2.3rem;
    margin-bottom: 20px;
  }

  #topSdgs .inner .sdgsTxt h3 img.sloganPC {
    display: none;
  }

  #topSdgs .inner .sdgsTxt h3 img.sloganSP {
    display: inline;
  }

  #topSdgs .inner .sdgsTxt div {
    background-color: #222;
    color: #fff;
    padding: 15px 30px 15px 15px;
    width: 240px;
    text-align: center;
    margin: 0 auto;
  }

  #topSdgs .inner .sdgsTxt div:after {
    content: "▲";
    display: inline-block;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    margin-left: 10px;
    font-size: 1.2rem;
    border: 0;
    width: auto;
    height: auto;
  }

  #topCompany {
    margin-bottom: 80px;
  }

  #topCompany:before {
    top: 110px;
    right: 0;
    width: 100%;
    height: 241px;
    background-size: 140%;
    background-position: -75px;
  }

  #topCompany .secTtl {
    border-bottom: 0;
    text-align: center;
  }

  #topCompany .secTtl.ani03:after {
    content: none;
  }

  #topCompany .topComCont {
    width: 100%;
    margin-top: 300px;
  }

  #topCompany .topComCont p.ani03 {
    padding-bottom: 20px;
    font-size: 1.8rem;
    font-weight: 700;
  }

  #topCompany .topComCont p.ani03:after {
    border-bottom: 1px solid #222;
  }

  #topCompany .topComCont p.ani03 br {
    display: none;
  }

  #topCompany .bgPh {
    top: 90px;
    width: 100%;
    height: 241px;
    background-position: center;
    background-size: 110%;
  }

  #topIR {
    height: auto;
    background-color: #666;
    padding: 60px 6%;
    background-image: image-set(url(../img/top_ir_ph_sp.jpg) 1x, url(../img/top_ir_ph_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/top_ir_ph_sp.jpg) 1x, url(../img/top_ir_ph_sp@2x.jpg) 2x);
    background-size: cover;
    background-position: center;
  }

  #topIR:before,
  #topIR:after {
    width: 20%;
    height: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    mix-blend-mode: multiply;
  }

  #topIR:before {
    top: 0;
    left: 0;
    z-index: 1;
    background-image: url(../img/top_ir_spbg01.svg);
  }

  #topIR:after {
    top: auto;
    bottom: 0;
    right: 0;
    z-index: 1;
    background-image: url(../img/top_ir_spbg02.svg);
    background-color: rgba(255, 255, 255, 0);
  }

  #topIR .inner {
    padding: 0;
  }

  #topIR .inner:after {
    content: none;
    height: auto;
  }

  #topIR .toIrTxt {
    position: relative;
    margin: auto;
    background-image: none;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 60px 5% 20px 5%;
  }

  #topIR .toIrTxt h3 {
    font-size: 2.5rem;
  }

  #topBnr {
    margin-bottom: 0;
  }

  #topBnr .inner {
    padding: 0;
  }

  #topBnr .serviceBnr {
    height: 240px;
    padding-bottom: 20px;
    margin-right: 6%;
    margin-left: 6%;
  }

  #topBnr .serviceBnr:not(:last-child) {
    margin-bottom: 30px;
  }

  #topBnr .serviceBnr h4 {
    font-size: 2.6rem;
  }

  #topBnr .btnArea {
    margin-top: 20px;
  }

  .vrArea {
    padding: 30px;
  }

  .vrArea .vrLogo {
    padding: 0 15%;
  }

  .vrArea .vrTtl {
    font-size: 2rem;
  }

  .vrArea .vriframe .vrbnr {
    display: block;
  }

  .vrArea .vriframe iframe {
    display: none;
  }

  body.recruit footer,
  body.interview-1 footer,
  body.interview-2 footer,
  body.step footer {
    margin-bottom: 60px;
  }

  .footerWrap {
    padding: 30px 0;
  }

  .footerWrap .inner {
    background-image: none;
  }

  .footerWrap .siteMap {
    display: none;
  }

  .footerWrap .logoArea div:nth-child(1) {
    padding: 0 15%;
    margin-bottom: 10px;
  }

  .footerWrap .logoArea div:nth-child(2) {
    text-align: center;
    font-size: 1.2rem;
  }

  .footerWrap .logoArea p {
    display: none;
  }

  .headerSpMenu,
  .footerSpAddress,
  .footerSpMenu,
  .footerSpCopy {
    display: block !important;
  }

  .footerSpMenu {
    background-color: #222;
    text-align: center;
    color: #fff;
    padding: 10px 6%;
  }

  .footerSpMenu a {
    color: inherit;
    font-size: 1.2rem;
  }

  .footerSpAddress a[href*="tel:"] {
    pointer-events: auto;
    color: inherit;
    font-size: inherit;
  }

  .footerSpCopy {
    padding: 10px;
    text-align: center;
    font-size: 1rem;
  }

  /*共通*/

  #pageTop {
    right: 6%;
  }

  body.recruit #pageTop,
  body.interview-1 #pageTop,
  body.interview-2 #pageTop,
  body.step #pageTop {
    bottom: 75px;
  }

  .breadCrumbWrap .inner {
    overflow: scroll;
  }

  .breadCrumbWrap .breadcrumbs {
    white-space: nowrap;
  }

  body.toppage .secTtl h2 {
    padding-bottom: 0;
  }

  .secTtl h2 {
    font-size: 2.6rem;
  }

  .secTtl h2 br {
    display: inline;
  }

  .secTtl h2.fontNomal {
    font-size: 1.9rem;
    font-weight: 500;
    padding-bottom: 20px;
    font-family: 'Noto Sans JP', serif;
  }

  .secTtl h2.font404 {
    font-size: 2.6rem;
  }

  .recruitSecTtlBorder h2.fontNomal {
    font-weight: 700;
  }

  .secSubhead {
    margin-top: -30px;
    margin-bottom: 15px;
    font-size: 1.6rem;
  }

  .inner {
    width: 100%;
    padding-right: 6%;
    padding-left: 6%;
  }

  .innerContactBnr {
    padding-right: 0;
    padding-left: 0;
  }

  .spInner0 .inner {
    padding-right: 0;
    padding-left: 0;
  }

  .btnArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }

  .btnBase {
    margin: 0 10px 10px;
  }

  #pageTtlWrap:before {
    right: 0;
    height: 168px;
    width: 24%;
    background-position: left;
    background-size: cover;
  }

  #pageTtlWrap:after {
    width: 23%;
    height: 168px;
    top: auto;
    bottom: 41px;
  }

  #pageTtlWrap .pageTtl {
    margin-top: 60px;
    height: 168px;
  }

  #pageTtlWrap .pageTtl .inner h2 {
    font-size: 3rem;
  }

  #pageTtlWrap .pageTtl .inner h2 br {
    display: inline !important;
  }

  #pageTtlWrap .pageTtl .inner div {
    font-size: 1.6rem;
  }

  #pageTtlWrap .mvLine {
    top: 28px;
    right: 0;
    height: 140px;
    width: 20%;
  }

  #pageTtlWrap .breadCrumb {
    overflow: scroll;
    white-space: nowrap;
  }

  body.realization #pageTtlWrap .pageTtl .inner h2 {
    font-size: 2.6rem !important;
  }

  #etcTtlWrap .pageTtl {
    height: 140px;
    margin-top: 60px;
    background-size: cover;
  }

  #etcTtlWrap .pageTtl .inner h2 {
    font-size: 2.8rem;
  }

  #etcTtlWrap .pageTtl .inner h2 br {
    display: inline !important;
  }

  #noTtlWrap {
    margin-top: 60px;
  }

  .pageNews {
    background-image: image-set(url(../img/pagettl/page_ttl_news_sp.jpg) 1x, url(../img/pagettl/page_ttl_news_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_news_sp.jpg) 1x, url(../img/pagettl/page_ttl_news_sp@2x.jpg) 2x);
  }

  body.company .pageTtl,
  body.profile .pageTtl,
  body.history .pageTtl {
    background-image: image-set(url(../img/pagettl/page_ttl_company_sp.jpg) 1x, url(../img/pagettl/page_ttl_company_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_company_sp.jpg) 1x, url(../img/pagettl/page_ttl_company_sp@2x.jpg) 2x);
  }

  .pageIr01 {
    background-image: image-set(url(../img/pagettl/page_ttl_ir01_sp.jpg) 1x, url(../img/pagettl/page_ttl_ir01_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_ir01_sp.jpg) 1x, url(../img/pagettl/page_ttl_ir01_sp@2x.jpg) 2x);
  }

  .pageIr02 {
    background-image: image-set(url(../img/pagettl/page_ttl_ir02_sp.jpg) 1x, url(../img/pagettl/page_ttl_ir02_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_ir02_sp.jpg) 1x, url(../img/pagettl/page_ttl_ir02_sp@2x.jpg) 2x);
  }

  body.sustainability .pageTtl {
    background-image: image-set(url(../img/pagettl/page_ttl_sustainability_sp.jpg) 1x, url(../img/pagettl/page_ttl_sustainability_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_sustainability_sp.jpg) 1x, url(../img/pagettl/page_ttl_sustainability_sp@2x.jpg) 2x);
  }

  body.future .pageTtl {
    background-image: image-set(url(../img/pagettl/page_ttl_future_sp.jpg) 1x, url(../img/pagettl/page_ttl_future_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_future_sp.jpg) 1x, url(../img/pagettl/page_ttl_future_sp@2x.jpg) 2x);
  }

  body.realization .pageTtl {
    background-image: image-set(url(../img/pagettl/page_ttl_kizuna_sp.jpg) 1x, url(../img/pagettl/page_ttl_kizuna_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_kizuna_sp.jpg) 1x, url(../img/pagettl/page_ttl_kizuna_sp@2x.jpg) 2x);
  }

  body.business .pageTtl {
    background-image: image-set(url(../img/pagettl/page_ttl_business_sp.jpg) 1x, url(../img/pagettl/page_ttl_business_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_business_sp.jpg) 1x, url(../img/pagettl/page_ttl_business_sp@2x.jpg) 2x);
  }

  body.product-1 .pageTtl {
    background-image: image-set(url(../img/pagettl/page_ttl_product1_sp.jpg) 1x, url(../img/pagettl/page_ttl_product1_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_product1_sp.jpg) 1x, url(../img/pagettl/page_ttl_product1_sp@2x.jpg) 2x);
  }

  body.product-2 .pageTtl {
    background-image: image-set(url(../img/pagettl/page_ttl_product2_sp.jpg) 1x, url(../img/pagettl/page_ttl_product2_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_product2_sp.jpg) 1x, url(../img/pagettl/page_ttl_product2_sp@2x.jpg) 2x);
  }

  body.recruit .pageTtl {
    background-image: image-set(url(../img/pagettl/page_ttl_recruit_sp.jpg) 1x, url(../img/pagettl/page_ttl_recruit_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_recruit_sp.jpg) 1x, url(../img/pagettl/page_ttl_recruit_sp@2x.jpg) 2x);
  }

  body.interview-1 .pageTtl {
    background-image: image-set(url(../img/pagettl/page_ttl_interview1_sp.jpg) 1x, url(../img/pagettl/page_ttl_interview1_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_interview1_sp.jpg) 1x, url(../img/pagettl/page_ttl_interview1_sp@2x.jpg) 2x);
  }

  body.interview-2 .pageTtl {
    background-image: image-set(url(../img/pagettl/page_ttl_interview2_sp.jpg) 1x, url(../img/pagettl/page_ttl_interview2_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_interview2_sp.jpg) 1x, url(../img/pagettl/page_ttl_interview2_sp@2x.jpg) 2x);
  }

  body.step .pageTtl {
    background-image: image-set(url(../img/pagettl/page_ttl_step_sp.jpg) 1x, url(../img/pagettl/page_ttl_step_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_step_sp.jpg) 1x, url(../img/pagettl/page_ttl_step_sp@2x.jpg) 2x);
  }

  .pageSanpai {
    background-image: image-set(url(../img/pagettl/page_ttl_sanpai_sp.jpg) 1x, url(../img/pagettl/page_ttl_sanpai_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_sanpai_sp.jpg) 1x, url(../img/pagettl/page_ttl_sanpai_sp@2x.jpg) 2x);
  }

  .pageContact {
    background-image: image-set(url(../img/pagettl/page_ttl_contact_sp.jpg) 1x, url(../img/pagettl/page_ttl_contact_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_contact_sp.jpg) 1x, url(../img/pagettl/page_ttl_contact_sp@2x.jpg) 2x);
  }

  .pageform,
  .pageEntry {
    background-image: image-set(url(../img/pagettl/page_ttl_contact_sp.jpg) 1x, url(../img/pagettl/page_ttl_contact_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_contact_sp.jpg) 1x, url(../img/pagettl/page_ttl_contact_sp@2x.jpg) 2x);
  }

  .pageForm {
    background-image: image-set(url(../img/pagettl/page_ttl_form_sp.jpg) 1x, url(../img/pagettl/page_ttl_form_sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/pagettl/page_ttl_form_sp.jpg) 1x, url(../img/pagettl/page_ttl_form_sp@2x.jpg) 2x);
  }

  .contW720,
  .contW900,
  .contW660 {
    width: 100%;
  }

  .tabWrap ul {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .tabBtn {
    width: calc(calc(100% - 10px) /2);
  }

  .tabContents.tabContents.show {
    padding-top: 40px;
  }

  .youTubeArea .col {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 6%;
  }

  .youTubeArea .col > div {
    position: relative;
    margin-bottom: 20px;
    width: 100%;
    height: auto;
    padding-top: 56.25%;
  }

  .youTubeArea iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }

  .pageBnrArea .bnrAreaCol1_type1 .bnrContact {
    padding: 50px 6%;
  }

  .pageBnrArea .bnrAreaCol1_type1 .bnrContact p br {
    display: inline !important;
  }

  .pageBnrArea .bnrAreaCol1_type1 .bnrKizuna {
    background-image: image-set(url(../img/bnr/bnr_kizunasp.jpg) 1x, url(../img/bnr/bnr_kizunasp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/bnr/bnr_kizunasp.jpg) 1x, url(../img/bnr/bnr_kizunasp@2x.jpg) 2x);
  }

  .pageBnrArea .bnrAreaCol1_type1 .bnrKizuna,
  .pageBnrArea .bnrAreaCol1_type1 .bnrContact {
    padding: 30px 6%;
  }

  .pageBnrArea .bnrAreaCol1_type1 .bnrKizuna h4,
  .pageBnrArea .bnrAreaCol1_type1 .bnrContact h4 {
    font-size: 1.8rem;
  }

  .pageBnrArea .bnrAreaCol1_type1 .bnrKizuna h4 br.brSP,
  .pageBnrArea .bnrAreaCol1_type1 .bnrContact h4 br.brSP {
    display: inline;
  }

  .pageBnrArea .bnrAreaCol1_type1 .bnrKizuna .btnArea,
  .pageBnrArea .bnrAreaCol1_type1 .bnrContact .btnArea {
    margin-top: 30px;
  }

  .pageBnrArea .bnrAreaCol1_type3 .bnrEntry3 {
    background-position: center;
  }

  .pageBnrArea .bnrAreaCol2_type1 > div {
    width: 100%;
    height: 120px;
  }

  .pageBnrArea .bnrAreaCol2_type1 > div:not(:last-child) {
    margin-bottom: 20px;
  }

  .pageBnrArea .bnrAreaCol2_type2 {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .pageBnrArea .bnrAreaCol2_type3 {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .pageBnrArea .bnrAreaCol2_type3 > div {
    margin-bottom: 20px;
    height: 240px;
  }

  .pageBnrArea .bnrAreaCol2_type3 .bnrTtl {
    padding: 10px 15px;
  }

  .pageBnrArea .bnrAreaCol2_type4 > div {
    width: 100%;
    border-right: 0;
  }

  .pageBnrArea .bnrAreaCol2_type4 > div:not(:last-child) {
    border-bottom: 2px solid #fff;
  }

  .pageBnrArea .bnrAreaCol2_type4 .bnrEntry2,
  .pageBnrArea .bnrAreaCol2_type4 .bnrEntry3,
  .pageBnrArea .bnrAreaCol2_type4 .bnrEntry4 {
    background-position: center !important;
  }

  .pageBnrArea .bnrAreaCol2_type5 > div {
    width: 100%;
  }

  .pageBnrArea .bnrAreaCol2_type5 > div:not(:last-child) {
    margin-bottom: 10px;
  }

  .pageBnrArea .bnrAreaCol3_type1 > div {
    width: 100%;
  }

  .pageBnrArea .bnrAreaCol3_type1 > div:not(:last-child) {
    margin-bottom: 10px;
  }

  .recruitPageBnrArea,
  #entry {
    padding: 0;
  }

  .recruitPageBnrArea .inner,
  #entry .inner {
    padding: 50px 0 50px 0;
  }

  #interview1-01 .inner,
  #interview1-02 .inner,
  #interview2-01 .inner,
  #interview2-02 .inner,
  #interview2-03 .inner,
  #interview2-04 .inner,
  #interview2-05 .inner,
  #interview2-06 .inner {
    padding: 0;
  }

  .interviewTtlWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-top: 20px;
    margin-bottom: 0;
  }

  .interviewTtlWrap:before {
    width: calc(100% - 6%);
    height: 100%;
    background-size: cover;
  }

  .interviewTtlWrap:after {
    position: absolute;
    content: "";
    top: -1px;
    left: 5.5%;
    width: 46px;
    height: 80px;
    background-image: url(../img/recruit/recruit_interviewttl_bg_l.svg);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1;
  }

  .interviewTtlWrap .interviewPh {
    width: calc(100% - 6%);
  }

  .interviewTtlWrap .interviewTtl {
    width: 100%;
  }

  .interviewTtlWrap .interviewTtl h4 {
    font-size: 2rem;
    margin: 25px 10% 0 10%;
    padding: 0 0 20px 0;
  }

  .interviewTtlWrap .interviewTtl div {
    margin: 25px 10% 0 10%;
    font-size: 1.4rem;
    padding-left: 0;
  }

  .interviewTtlWrap .interviewTtl div span.spFont {
    font-size: 1.2rem;
    display: inline !important;
  }

  .interviewTxtWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .interviewTxtWrap > div {
    width: 100%;
  }

  .interviewTxtWrap > div:nth-child(1) {
    background-color: #fff;
  }

  .interviewTxtWrap > div:nth-child(5n),
  .interviewTxtWrap > div:nth-child(4n) {
    background-color: #fff;
  }

  .interviewTxtWrap > div:nth-child(even) {
    background-color: #EAF2F7;
  }

  .interviewTxtWrap > div > div {
    text-align: right;
  }

  body.interview-2 .interviewTxtWrap > div {
    background-color: #fff;
  }

  body.interview-2 .interviewTxtWrap > div:nth-child(1) {
    padding: 0 30px;
    margin: 30px 0 30px;
  }

  body.interview-2 .interviewTxtWrap > div:nth-child(2) {
    padding: 0 30px;
    margin: 0;
  }

  /*ニュース関連*/

  .newsWrap li {
    padding-left: 0;
  }

  .newsListWrap .newsWrap {
    width: 100%;
  }

  .newsListWrap .newsWrap li {
    -webkit-box-pack: unset;
    -ms-flex-pack: unset;
    justify-content: unset;
    padding-right: 0;
  }

  .newsListWrap .newsWrap li div {
    width: 100%;
    padding-left: 0;
    margin-top: 5px;
  }

  .newsListWrap .newsCont {
    width: 100%;
  }

  .newsSideWrap {
    display: none;
  }

  .newsSPmenu {
    display: block;
  }

  .modalOpenBtn {
    margin-top: 0;
    margin-bottom: 30px;
  }

  .modalOpenBtn .btnBase {
    width: 100%;
    margin-bottom: 0;
  }

  .modalOpenBtn .btnBase a {
    position: relative;
  }

  .modalOpenBtn .btnBase a:after {
    position: absolute;
    right: 20px;
    content: "▲";
    color: #fff;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }

  #modal-content {
    width: 88%;
    margin: 0;
    background: #fff;
    position: fixed;
    display: none;
    z-index: 100;
  }

  #modal-content .newsSideWrap {
    position: relative;
    display: block;
    height: 100%;
  }

  #modal-overlay {
    z-index: 5;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background-color: rgba(0, 0, 0, 0.75);
  }

  .modal-closebtn {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 45px;
    background-color: #fff;
    border-bottom: 0;
    z-index: 1;
    padding: 0 20px;
    text-align: right;
  }

  .modal-closebtn a {
    font-size: 2.5rem;
  }

  .newsModalWrap {
    height: 100%;
    padding: 45px 20px 20px 20px;
    overflow: scroll;
  }

  .topicsTtl div {
    display: none;
  }

  .newsBody .entry-content .alignright {
    display: block;
    float: none;
    margin-left: auto;
    margin-right: auto;
  }

  .newsBody .entry-content .alignleft {
    display: block;
    float: none;
    margin-left: auto;
    margin-right: auto;
  }

  /*企業紹介*/

  #message .inner {
    padding-right: 0;
    padding-left: 0;
  }

  #message .inner .messageWrap {
    width: 100%;
    padding: 50px 7% 30px;
  }

  #message .messageTxt {
    padding-bottom: 90px;
    padding-right: 6%;
    padding-left: 6%;
    background-image: url(../img/company/message_txtbg.svg);
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: contain;
  }

  .messageWrap {
    background-size: contain;
    background-position: calc(100% + 85px) 10px;
    margin-bottom: 40px;
  }

  .messageWrap .messageCont {
    width: 63%;
  }

  .messageWrap .messageCont div {
    margin-bottom: 30px;
  }

  .messageWrap .messageCont div .messagePC {
    display: none;
  }

  .messageWrap .messageCont div .messageSP {
    display: block;
  }

  .messageWrap .messageCont p {
    margin-right: 0;
    text-align: left;
    margin-top: 0;
    font-size: 1.3rem;
    padding-right: 55px;
  }

  .messageWrap .messageCont p span {
    white-space: nowrap;
  }

  #group {
    padding-right: 6%;
    padding-left: 6%;
  }

  #group .inner {
    padding: 40px 7%;
  }

  table.infoTbl {
    width: 100%;
  }

  table.infoTbl span {
    white-space: normal;
  }

  table.infoTbl th,
  table.infoTbl td {
    width: 100%;
    display: block;
  }

  table.infoTbl th {
    padding: 10px;
    text-align: center;
  }

  table.infoTbl td {
    padding: 15px 22px;
  }

  table.infoTbl dt {
    width: 45%;
  }

  table.infoTbl dd {
    width: 55%;
  }

  table.infoTbl iframe {
    padding: 0;
    height: 250px;
    margin-top: 10px;
  }

  #groupCom .groupInfo {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }

  #groupCom .groupInfo div {
    width: 100%;
    margin-bottom: 10px;
    margin-left: 0;
    text-align: center;
  }

  #groupCom .groupInfo table.infoTbl {
    width: 100%;
  }

  #groupCom .groupInfo table.infoTbl tr:last-child {
    border-bottom: 0;
  }

  #groupCom .groupInfo table.infoTbl th {
    width: 100%;
  }

  #groupCom .groupComCont p:not(:last-child) {
    margin-bottom: 10px;
  }

  table.hisTbl td {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 22px 0;
  }

  table.hisTbl td .hisMonth {
    width: 20%;
    padding: 10px 0 10px 3%;
  }

  table.hisTbl td .hisMonth:first-child {
    padding-top: 0;
  }

  table.hisTbl td .hisTxt {
    width: 80%;
    padding: 10px 3% 10px 0;
  }

  table.hisTbl td .hisTxt:nth-child(2) {
    padding-top: 0;
  }

  table.hisTbl td .tblImg {
    text-align: center;
    width: 100%;
    margin: 0 auto;
    padding: 0 3%;
    margin-top: 10px;
  }

  table.hisTbl td .tblImg:not(:last-child) {
    margin-bottom: 20px;
  }

  table.hisTbl td .tblImg p {
    text-align: right;
  }

  table.hisTbl td .tblImg div {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }

  .historyBg:before,
  .historyBg:after {
    content: none;
  }

  /*IR*/

  #irMassage {
    background-color: #EAF2F7;
    background-image: url(../img/ir/ir_message_wrapbg_sp.svg);
    background-repeat: no-repeat;
    background-position: top left;
    background-size: contain;
  }

  .irMessageWrap {
    background: none;
    padding: 0;
  }

  .irMessageWrap .pcNone {
    display: block;
  }

  .irMessageWrap .spNone {
    display: none;
  }

  .irMessageWrap p {
    margin-left: auto;
    margin-right: auto;
    text-align: right;
    height: 70vw;
    max-height: 320px;
    max-width: 400px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    background-image: image-set(url(../img/ir/ir_message_bg_sp.png) 1x, url(../img/ir/ir_message_bg_sp@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/ir/ir_message_bg_sp.png) 1x, url(../img/ir/ir_message_bg_sp@2x.png) 2x);
    background-repeat: no-repeat;
    background-position: 70%;
    background-size: contain;
  }

  .irMessageCont,
  .messageTxt {
    width: 100%;
  }

  .irMessageCont img {
    margin: 0 auto;
  }

  #menu-ir_menu li {
    width: calc(calc(100% - 8px) / 2);
    height: 72px;
  }

  #menu-ir_menu li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: left;
  }

  #menu-ir_menu li a br {
    display: inline;
  }

  .irPdfArea .dateWrap {
    width: 100%;
    margin-right: 0;
  }

  .irPdfArea .pdfLink {
    position: relative;
  }

  .irPdfArea .iconPDF:before {
    top: 20px;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  #individual .inner {
    padding: 0;
  }

  #individual .inner .secTtl {
    padding-left: 6%;
    padding-right: 6%;
  }

  #individual .individualCont {
    margin-bottom: 0;
    padding-left: 6%;
    padding-right: 6%;
  }

  #individual .individualCont h4 {
    margin-bottom: 10px;
  }

  #individual .individualFlex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  #individual .individualTxt {
    padding-top: 20px;
    margin-bottom: 30px;
  }

  #individual .benefitsImg {
    display: none;
  }

  #individual table.benefitsTbl {
    width: 100%;
  }

  #individual table.benefitsTbl th {
    width: 35%;
  }

  #individual table.benefitsTbl td img {
    display: inline;
    margin-top: 10px;
  }

  #individual table td {
    width: 20%;
  }

  #individual table td.firstCell {
    width: 40%;
  }

  #individual table th {
    width: auto;
  }

  .individualDividend .individualPC {
    display: none;
  }

  .individualDividend .individualSP {
    display: block !important;
  }

  .individualDividend .individualSP img {
    width: 100%;
  }

  .highLightArea h4 {
    font-size: 1.6rem;
  }

  .highLightArea h4 br {
    display: inline !important;
  }

  /*製品情報*/

  #businessMessage .inner {
    padding: 0;
    height: 490px;
  }

  #businessMessage .inner:after {
    bottom: auto;
    width: 100%;
    top: 30px;
  }

  #businessMessage .businessMessageTtl {
    padding: 0 20% 20px 10%;
    margin-bottom: 20px;
    max-width: 600px;
  }

  #businessMessage p {
    width: 100%;
    padding: 0 10%;
  }

  #businessMessage .businessMessageTxt {
    background-image: image-set(url(../img/business/biz_message_phbg.png) 1x, url(../img/business/biz_message_phbg@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/business/biz_message_phbg.png) 1x, url(../img/business/biz_message_phbg@2x.png) 2x);
    background-size: cover;
    background-position: bottom;
    height: 200px;
    width: 100%;
    bottom: 0;
  }

  #businessMessage .businessMessageTxt img {
    display: none;
  }

  #system .systemLine {
    padding: 30px;
    max-width: 360px;
    margin-right: auto;
    margin-left: auto;
  }

  #system .linePC {
    display: none;
  }

  #system .lineSP {
    display: block !important;
  }

  #system .lineSP img:not(:last-child) {
    margin-bottom: 30px;
  }

  #businessMenu {
    margin-bottom: 30px !important;
  }

  #businessMenu .btnCol3,
  #businessMenu .btnCol4,
  #businessMenu .btnCol6 {
    padding: 0;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  #businessMenu .btnCol3 > div,
  #businessMenu .btnCol4 > div,
  #businessMenu .btnCol6 > div {
    width: calc(calc(100% - 10px) / 2);
    margin-bottom: 15px;
  }

  #businessMenu .btnCol3 a,
  #businessMenu .btnCol4 a,
  #businessMenu .btnCol6 a {
    font-size: 1.3rem;
    font-weight: 700;
  }

  #businessMenu .btnCol3 a:after,
  #businessMenu .btnCol4 a:after,
  #businessMenu .btnCol6 a:after {
    border-bottom: solid 2px #b5b5b5;
    border-right: solid 2px #b5b5b5;
  }

  #businessMenu .btnCol4,
  #businessMenu .btnCol6 {
    margin-bottom: 0;
  }

  #businessMenu .btnCol4 > div,
  #businessMenu .btnCol6 > div {
    height: 50px;
  }

  #businessMenu .btnCol4 > div a,
  #businessMenu .btnCol6 > div a {
    display: block;
    height: 100%;
  }

  #businessMenu .btnCol4 > div:not(:last-child),
  #businessMenu .btnCol6 > div:not(:last-child) {
    margin-right: 0;
  }

  #businessMenu .btnCol4 > div.spFont a,
  #businessMenu .btnCol6 > div.spFont a {
    font-size: 1.1rem;
    line-height: 1;
  }

  #businessMenu .btnCol2 a,
  #businessMenu .btnCol3 a,
  #businessMenu .btnCol4 a,
  #businessMenu .btnCol6 a,
  #contact .btnCol2 a,
  #contact .btnCol3 a,
  #contact .btnCol4 a,
  #contact .btnCol6 a {
    border: 1px solid #b5b5b5;
  }

  #product1_01 .inner,
  #product1_02 .inner,
  #product1_03 .inner,
  #product2_01 .inner,
  #product2_02 .inner,
  #product2_03 .inner,
  #product2_04 .inner,
  #product2_05 .inner,
  #product2_06 .inner,
  #product2_07 .inner,
  #product2_08 .inner,
  #product2_09 .inner,
  #product2_10 .inner,
  #product2_11 .inner {
    padding-left: 0;
    padding-right: 0;
  }

  .productWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .productWrap > div:first-child {
    width: 100%;
  }

  .productWrap > div:last-child {
    width: 100%;
  }

  .productWrap > div > h4 {
    margin-right: 6%;
    margin-left: 6%;
  }

  .productWrap p {
    padding-left: 6%;
    padding-right: 6%;
    margin-bottom: 30px;
  }

  .productWrap .productTtlWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .productWrap .productTtlWrap .productTtl {
    width: 100%;
    padding: 10px 5%;
    height: 140px;
  }

  .productWrap .productTtlWrap .productTtl h3 {
    margin-bottom: 10px;
    font-size: 2.8rem;
    line-height: 1.2;
  }

  .productWrap .productTtlWrap .productPh {
    width: 100%;
  }

  .productWrap .productTtlWrap .productPh img {
    width: 100%;
  }

  .productWrap ol {
    margin-bottom: 20px;
    padding: 0 6%;
  }

  .productWrap ol li p {
    margin-bottom: 5px;
    padding: 0;
    font-weight: 300;
  }

  .productWrap .pdfDL {
    padding-left: 6%;
    padding-right: 6%;
  }

  .productWrap .jisMark {
    margin-left: 6%;
    margin-right: 6%;
  }

  .productWrap .jisMark p {
    padding: 0;
  }

  .productWrap .jisMark p:last-child {
    margin-bottom: 0;
  }

  .productWrap .webSite h4 {
    text-align: center;
  }

  #product2_03 .productPh img,
  #product2_07 .productPh img,
  #product2_09 .productPh img {
    border: none;
  }

  body.puroduct-2 #sustBnr {
    padding-bottom: 30px;
  }

  /*採用情報*/

  body.step #recruitTtlWrap .pageTtl:before {
    height: 120px;
  }

  body.step #recruitTtlWrap .pageTtl .inner {
    height: 120px;
  }

  body.step #recruitTtlWrap .pageTtl h2 br {
    display: inline !important;
  }

  #recruitBnrPC {
    display: none;
  }

  #recruitBnrSP {
    display: block;
    position: fixed;
    width: 100%;
    height: 60px;
    bottom: 0;
    left: 0;
    z-index: 50;
  }

  #recruitBnrSP a {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #B90D0D;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-image: url(../img/bnr/bnr_sp_recruit_bgl.svg), url(../img/bnr/bnr_sp_recruit_bgr.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center left, center right;
  }

  #recruitTtlWrap .pageTtl {
    height: 200px;
    margin-top: 60px;
  }

  #recruitTtlWrap .pageTtl:before {
    height: 90px;
  }

  #recruitTtlWrap .pageTtl .inner {
    width: 100%;
    height: 90px;
    background-size: 11%, 11%;
  }

  #recruitTtlWrap .pageTtl .inner h2 {
    font-size: 2.8rem;
    line-height: 1.2;
  }

  #recruitTtlWrap .pageTtl .inner div {
    font-size: 1.6rem;
  }

  #recruitMessage {
    padding: 60px 0;
    background-image: image-set(url(../img/recruit/recruit_message_bgsp.jpg) 1x, url(../img/recruit/recruit_message_bgsp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/recruit/recruit_message_bgsp.jpg) 1x, url(../img/recruit/recruit_message_bgsp@2x.jpg) 2x);
    background-size: 115%;
    background-position: center top;
    background-repeat: no-repeat;
    margin-bottom: 0;
  }

  #recruitInterview .bnrCol {
    padding-left: 6%;
    padding-right: 6%;
  }

  body.interview-1 #businessMenu,
  body.interview-2 #businessMenu {
    display: block;
  }

  body.interview-1 #businessMenu .secTtl,
  body.interview-2 #businessMenu .secTtl {
    display: none;
  }

  .recruitBnrCareerWrap a {
    padding: 0;
  }

  .recruitBnrCareerWrap .bnrTtl {
    background-image: url(../img/bnr/bnr_career_bg_sp.svg);
    padding: 50px;
  }

  .recruitBnrCareerWrap .bnrTtl h4 {
    font-size: 2.2rem;
  }

  .recruitBnrCareerWrap .bnrTtl h4 br {
    display: inline;
  }

  .recruitBnrCareerWrap .bnrTtl div {
    font-size: 1.4rem;
  }

  #recruitData {
    padding: 50px 0;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 0;
  }

  #recruitData .dataWrap {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 460px;
    margin-right: auto;
    margin-left: auto;
  }

  #recruitData .dataItem {
    width: 47%;
    margin-right: 0;
  }

  #recruitData .dataItem h5 {
    font-size: 1.6rem;
  }

  #recruitData .dataItem h5.-two_lines {
    font-size: 1.2rem;
    line-height: 1.134em;
  }

  #recruitData .dataItem .dataCont {
    height: 220px;
    padding: 20px 5px;
  }

  #recruitData .dataItem .dataCont .dataTxt {
    font-size: 2rem;
    margin-bottom: 5px;
  }

  #recruitData .dataItem .dataCont .dataTxt span {
    font-size: 1rem;
    line-height: 1;
    margin-top: 5px;
  }

  #recruitData .dataItem .dataCont div:nth-child(2) img {
    width: 70%;
  }

  #recruitData .dataItem .dataCont div:nth-child(2) p {
    font-size: 1rem;
  }

  #statue .inner {
    padding-left: 6%;
    padding-right: 6%;
  }

  .careerDesc {
    padding: 25px;
  }

  .careerDesc .stepPC {
    display: none;
  }

  .careerDesc .stepSP {
    display: block !important;
    margin-right: auto;
    margin-left: auto;
  }

  .careerDescP {
    text-align: left;
  }

  .careerDescC div {
    padding: 20px 10px;
    width: 100%;
    font-size: 1.2rem;
  }

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

  #sustMessage {
    margin-bottom: 30px;
  }

  #sustMessage .inner {
    padding-right: 0;
    padding-left: 0;
  }

  #sustMessage .sustMessageTtl {
    width: 94%;
    margin-left: 6%;
    padding: 30px 6% 30px 0;
    height: auto;
  }

  #sustMessage .sustMessageTtl:before {
    background-size: auto 140%;
    height: 100%;
    width: 100%;
  }

  #sustMessage .sustMessageTxt {
    width: 100%;
    position: relative;
    top: 0;
    background-image: none;
    background-color: #1F489D;
    padding: 30px 6%;
  }

  .sustVisionWrap {
    background-image: none;
  }

  .sustVisionWrap h3 {
    font-size: 2.5rem;
  }

  .sustVisionWrap h3 span {
    font-size: 1.6rem;
  }

  .sustVisionWrap div {
    font-size: 1.4rem;
    line-height: 2;
    background-image: url(../img/sust/sust_vision_line.svg), url(../img/sust/sust_vision_line.svg);
    background-position: left, right;
    background-size: contain;
    background-repeat: no-repeat;
  }

  .sustTop h3 {
    font-size: 1.7rem;
    padding-left: 0;
  }

  .sustTop .figureImg {
    height: 160px;
  }

  .sustTop .figureImg img {
    display: none;
  }

  .sustTop .figureImg01 {
    background-image: image-set(url(../img/sust/sust_figure_ph.jpg) 1x, url(../img/sust/sust_figure_ph@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/sust/sust_figure_ph.jpg) 1x, url(../img/sust/sust_figure_ph@2x.jpg) 2x);
    background-size: cover;
    background-position: 30%;
  }

  .sustTop .figureImg02 {
    background-image: image-set(url(../img/sust/sust_realization_ph.jpg) 1x, url(../img/sust/sust_realization_ph@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/sust/sust_realization_ph.jpg) 1x, url(../img/sust/sust_realization_ph@2x.jpg) 2x);
    background-size: cover;
  }

  #sustFigure ul {
    width: 100%;
  }

  #sustFigure li br {
    display: inline !important;
  }

  #sustFigure li:nth-child(1),
  #sustFigure li:nth-child(2),
  #sustFigure li:nth-child(3) {
    background-position: center left, center right;
    background-size: contain;
  }

  #sustSDGs h3.ttlPC,
  #sustLongterm h3.ttlPC {
    display: none;
  }

  #sustSDGs h3.ttlSP,
  #sustLongterm h3.ttlSP {
    display: block !important;
  }

  #sustSDGs {
    margin-bottom: 0;
  }

  #sustSDGs .inner {
    padding-left: 0;
    padding-right: 0;
  }

  #sustSDGs .kizunaWrap {
    padding: 40px 6%;
    margin-bottom: 0;
  }

  #sustSDGs .kizunaTxt {
    font-size: 1.4rem;
  }

  #sustSDGs .kizunaTxt br.brSP {
    display: inline;
  }

  #sustSDGs .kizunaCircle {
    width: 80%;
    margin: 0 auto;
  }

  #sustSDGs .kizunaTxtWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  #sustSDGs .kizunaArrow {
    width: 20%;
    margin-top: 20px;
    margin-bottom: 20px;
  }

  #sustSDGs .detailCont {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    border-bottom: 0;
  }

  #sustSDGs .detailCont > div {
    width: 100% !important;
    text-align: center;
  }

  #sustSDGs .detailCont > div:not(:first-child) {
    background-color: #fff;
  }

  #sustSDGs .detailCont > div span {
    display: inline;
    font-weight: 700;
    margin-right: 10px;
  }

  #sustSDGs .detailCont > div:nth-child(1) {
    position: relative;
    z-index: 0;
  }

  #sustSDGs .detailCont > div:nth-child(1):before {
    position: absolute;
    content: "";
    background-color: #fff;
    width: 100%;
    height: 50%;
    bottom: 0;
    left: 0;
    z-index: -1;
  }

  #sustSDGs .detailCont > div:nth-child(2) {
    padding: 20px 6%;
  }

  #sustSDGs .detailCont > div:nth-child(3) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0 6% 20px 6%;
  }

  #sustSDGs .detailCont > div:nth-child(3) div {
    width: calc(calc(100% - 20px)/3);
    display: block;
    margin-bottom: 10px;
  }

  #sustSDGs .detailCont > div:nth-child(3) div:not(:nth-child(3)) {
    margin-right: 10px;
  }

  #sustSDGs .detailCont > div:nth-child(3) div img {
    width: 100%;
    height: auto;
  }

  #sustLongterm {
    margin-bottom: 40px;
  }

  #sustLongterm .inner {
    padding: 0;
  }

  #sustLongterm .longtermWrap {
    padding-right: 6%;
    padding-left: 6%;
    padding-bottom: 20px;
  }

  #sustLongterm .longtermCont .tblFlex {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  #sustLongterm .longtermCont .tblFlex table {
    width: 100%;
    margin-bottom: 0;
  }

  #sustLongterm .longtermCont .tblFlex table:not(:last-child) tr {
    border-bottom: 0;
  }

  #sustLongterm .longtermCont .tblFlex table th {
    text-align: left;
    padding: 10px 20px;
  }

  #sustLongterm .longtermCont table.tblKPI th,
  #sustLongterm .longtermCont table.tblKPI td {
    display: block;
    width: 100%;
  }

  #sustLongterm .longtermCont table.tblKPI td {
    font-size: 1.3rem;
  }

  #sustLongterm .longtermCont table.tblKPI td br {
    display: inline !important;
  }

  #sustEnvironment .btnWhite {
    width: 100%;
  }

  #sustEnvironment .btnWhite a.pdfLink {
    background-image: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  #sustEnvironment .btnWhite a.pdfLink span {
    display: inline-block;
    background-image: url(../img/icon_pdf.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 25px;
    height: 25px;
    margin-right: 10px;
  }

  #sustEnvironment .btnArea {
    margin-bottom: 50px;
  }

  #sustEnvironment .sustSdgsDesc {
    padding: 25px 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    border-right: none;
    border-left: none;
  }

  #sustEnvironment .sustSdgsDesc div:first-child {
    width: 100%;
    margin-right: 0;
    text-align: center;
    margin-bottom: 15px;
  }

  .sustFuture h3 br.brSP {
    display: inline !important;
  }

  .sustFuture .sustPhtxtImg {
    margin-bottom: 20px;
    text-align: center;
  }

  .sustFuture .sustPhtxt {
    display: block;
    padding: 0;
    margin-bottom: 30px;
  }

  .sustFuture .sustPhtxt .sustPhtxtImg,
  .sustFuture .sustPhtxt .sustPhtxtTxt {
    width: 100%;
  }

  .sustFuture div:nth-child(3) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }

  .sustFuture div:nth-child(3) .sustPhtxtTxt {
    margin-bottom: 0;
  }

  .sustFutureWrap {
    background-color: #fff;
  }

  .sustFutureWrap:before,
  .sustFutureWrap:after {
    content: none;
  }

  #sustDisaster .tblPC {
    display: none;
  }

  #sustDisaster .tblSP {
    display: inline-table;
  }

  #sustDisaster .tblSP tr:first-child th {
    padding: 15px 40px;
  }

  #sustDisaster .tblSP td:first-child {
    border-left: 0;
  }

  #sustDisaster .tblSP + span br {
    display: inline;
  }

  #sustDisaster tr:not(:first-child) td:last-child {
    background-color: #fff;
    color: #222;
    font-weight: 500;
  }

  #sustDisaster tr:nth-child(2) td {
    background-color: #f0f0f0 !important;
  }

  #sustDisaster tr:last-child td:last-child {
    background-color: #f8e6e6;
    color: #B90D0D;
    font-weight: 700;
  }

  #sustBnr .inner {
    padding: 0;
  }

  #sustBnr .pageBnrArea .bnrAreaCol1_type1 h4 {
    font-size: 1.8rem;
  }

  .kizunaWrap .kizunaDesc p {
    padding: 0 6%;
  }

  .kizunaWrap .kizunaDesc a br {
    display: inline !important;
  }

  #sustKizunaMessage {
    margin-bottom: 30px;
  }

  #sustKizunaMessage .inner {
    padding: 0;
  }

  #sustKizunaMessage .inner.ani04:before {
    content: none;
  }

  #sustKizunaMessage .sustMessageTtl {
    width: 100%;
    font-size: 1.8rem;
    margin-right: 0;
    height: 180px;
    padding: 30px 10% 30px 6%;
    display: block;
    background-position-x: 70%;
  }

  #sustKizunaMessage .sustMessageTtl:before {
    content: "";
    position: absolute;
    bottom: 20px;
    left: 0;
    top: auto;
    width: 100%;
    height: 2px;
    background-color: #fff;
    z-index: 1;
  }

  #sustKizunaMessage .sustMessageTtl img {
    max-width: 320px;
    width: 100%;
  }

  #sustKizunaMessage .sustMessageTxt {
    position: relative;
    top: -40px;
    width: 95%;
    left: 5%;
    right: auto;
    text-align: right;
  }

  #kizunaArea .inner,
  #kizunaStaff .inner,
  #kizunaPartner .inner,
  #kizunaIr .inner {
    padding: 0;
  }

  #kizunaArea .kizunaTtl:before,
  #kizunaStaff .kizunaTtl:before,
  #kizunaPartner .kizunaTtl:before,
  #kizunaIr .kizunaTtl:before {
    width: 100%;
  }

  .kizunaWrap {
    margin-bottom: 60px;
  }

  .kizunaWrap .kizunaTtl {
    padding: 0 22%;
    text-align: center;
  }

  .kizunaWrap .kizunaDesc {
    width: 100%;
  }

  .kizunaWrap .kizunaDesc p {
    width: 100%;
    margin-right: 0;
    margin-bottom: 0;
    padding: 20px 6%;
  }

  .kizunaWrap .kizunaDesc .kizunaCase {
    display: none;
  }

  .kizunaCaseSP {
    display: block !important;
    padding: 20px 6%;
  }

  .kizunaCaseSP h5 {
    padding: 5px 10px;
    margin-bottom: 10px;
    font-weight: 700;
    font-size: 1.6rem;
  }

  .kizunaCaseSP a {
    pointer-events: auto;
  }

  .kizunaCaseSP a span {
    text-decoration: underline !important;
  }

  .kizunaCaseSP span {
    pointer-events: none;
    display: block;
    white-space: nowrap;
    margin-right: 0;
    margin-bottom: 10px;
    padding-left: 15px;
    font-size: 1.4rem;
    color: #222;
  }

  .kizunaCaseSP span:hover {
    opacity: 0.5;
  }

  .kizunaCaseSP span br {
    display: inline !important;
  }

  .kizunaCaseSP a br {
    display: none;
  }

  #kizunaArea .kizunaCaseSP,
  #kizunaArea .swiper-container {
    background-color: #f4faee;
  }

  #kizunaStaff .kizunaCaseSP,
  #kizunaStaff .swiper-container {
    background-color: #fff6ed;
  }

  #kizunaPartner .kizunaCaseSP,
  #kizunaPartner .swiper-container {
    background-color: #edf7fa;
  }

  #kizunaIr .kizunaCaseSP,
  #kizunaIr .swiper-container {
    background-color: #faecec;
  }

  .swiper-container {
    width: 100% !important;
    height: auto;
    position: relative !important;
    top: 0;
    right: auto;
    left: 0;
    padding-right: 6% !important;
    padding-left: 6% !important;
  }

  .swiper-wrapper {
    text-align: center;
  }

  #sanpai .secTtl h2 {
    font-size: 2.2rem;
  }

  #sanpai .secTtl h2 br {
    display: inline !important;
  }

  #sanpai p {
    text-align: left;
  }

  #sanpai .sanpaiYearWrap .sanpaiLink {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  #sanpai .sanpaiYearWrap .sanpaiLink > div {
    width: calc(100% / 4);
  }

  #sanpai .sanpaiYearWrap .sanpaiLink div.bdrR {
    border-right: none;
  }

  #sanpai .sanpaiYearWrap .sanpaiLink span {
    display: block;
    width: 100%;
    height: 1px;
    background-color: #f0f0f0;
    margin: 5px 0;
  }

  #contact {
    margin-bottom: 40px;
  }

  #contact .btnCol2 div {
    width: 90%;
    margin-bottom: 20px;
  }

  #contact .btnCol2 a {
    border: 2px solid #1F489D;
  }

  #contactform h4,
  #contactTel h4 {
    font-size: 2rem;
    background-position: right top;
    background-size: auto;
  }

  #contactform h4 {
    margin-right: 6%;
    margin-left: 6%;
  }

  #contactform .formItem {
    display: block;
    padding: 20px 0;
  }

  #contactform .formItem .formItemTtl {
    width: 100%;
    margin-bottom: 10px;
  }

  #contactform .formItem .formItemTtl br {
    display: none;
  }

  #contactform .formItem .formItemParts {
    width: 100%;
  }

  #contactform .formItem .formItemParts div {
    display: block;
  }

  #contactform .formItem .formItemParts div span {
    width: 40px;
  }

  #contactform .formItem .formItemParts div input[type="text"] {
    width: calc(100% - 50px);
    margin-right: 0;
    margin-left: 0;
  }

  #contactform .formItem .formItemParts div div:nth-child(1) {
    margin-right: 0;
    margin-bottom: 10px;
  }

  #contactform .formItem .formItemParts label {
    font-size: 1.3rem;
  }

  #contactform .formItem .formItemParts a {
    margin-left: 0;
  }

  #contactform .formItem .formItemParts p br.brSP {
    display: inline !important;
  }

  #contactform .contactItemWrap {
    text-align: center;
  }

  #contactform .contactItemWrap:after {
    right: 20px;
  }

  #contactform select.contactItem {
    width: 100%;
    padding: 15px 50px 15px 15px;
    white-space: normal;
    text-align: left;
  }

  #contactTel {
    margin-bottom: 0;
    padding-bottom: 50px;
  }

  #contactTel .telItem {
    width: 100%;
  }

  #contactTel .telItem div {
    font-size: 2.4rem;
    font-weight: 900;
  }

  #contactTel .telItem:last-child {
    margin-bottom: 0;
  }

  #contactTel .telItem div a[href*="tel:"] {
    pointer-events: auto;
  }

  #contactform .inner {
    padding: 0;
  }

  #contactform p.formAttention {
    padding-right: 6%;
    padding-left: 6%;
  }

  #contactform div.formAttention,
  #contactform .formWrap {
    padding-right: 6%;
    padding-left: 6%;
    width: 100%;
  }

  .formConfirmation {
    padding: 30px 6%;
  }

  #entry .inner {
    padding: 0;
  }

  .pageTtl .mvLineL,
  .pageTtl .mvLineR {
    height: 80px;
    width: 47px;
  }

  .pageTtl .mvLineL {
    margin-left: 0;
  }

  .pageTtl .mvLineR {
    margin-right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
    bottom: 10px;
    right: 0;
  }

  body.step .pageTtl .mvLineR {
    bottom: 40px;
  }

  .page404Wrap {
    margin-top: 60px;
    padding: 60px 0;
  }

  .page404Wrap .secTtl {
    margin-bottom: 50px;
  }

  .page404Wrap .page404Ttl {
    font-size: 1.8rem;
    margin-bottom: 30px;
  }

  .page404Wrap p br.spbr {
    display: inline !important;
  }
}

@media screen and (max-width: 320px) {
  .nav_style ul {
    padding: 30px;
  }

  .sub_menu li a {
    font-size: 1.2rem;
  }
}