@charset "utf-8";

/* Fonts */
html[lang="ja"] {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  /* font-optical-sizing: auto; */
  /* font-weight: 400; */
  /* font-style: normal; */
}

/*========= ナビゲーションのためのCSS ===============*/
#header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 96px;
  /* padding-right: 73px; */
  padding-left: 73px;
  border-bottom: 1px solid #CACACA;
}

#g-nav-list ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 96px;
}

#g-nav-list ul li {
  /* margin-left: 84px; */
  margin-left: 38px;
  font-size: 2.0rem;
}

#g-nav-list ul li a {
  font-size: 2.0rem;
  font-weight: 600;
  line-height: 1;
  padding: 10px 23px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  border-radius: 6px;
}

#g-nav-list ul li a:link,
#g-nav-list ul li a:visited {
  background-color: #FFF;
  color: #000;
}

#g-nav-list ul li a:hover,
#g-nav-list ul li a:active {
  background-color: #333;
  color: #fff;
  opacity: 1;
}


@media screen and (max-width: 1080px) {
  #header {
    height: 0;
    border-bottom: none;
  }

  #g-nav {
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
    top: -120%;
    left: 0;
    width: 100%;
    height: 70vh;
    /*ナビの高さ*/
    background: rgba(255, 255, 255, 0.9);
    /*動き*/
    transition: all 0.6s;
  }

  /*アクティブクラスがついたら位置を0に*/
  #g-nav.panelactive {
    top: 0;
  }

  /*ナビゲーションの縦スクロール*/
  #g-nav.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    /*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  /*ナビゲーション*/
  #g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  /*リストのレイアウト設定*/

  #g-nav-list ul {
    display: unset;
    height: auto;
    width: 100%;
    top: 240px;
  }

  #g-nav-list ul li {
    margin-left: auto;
    margin-bottom: 24px;
    position: relative;
  }


  #g-nav li {
    list-style: none;
    text-align: left;
    border-bottom: 1px solid #000;
  }

  #g-nav li a {
    color: #333;
    text-decoration: none;
    padding: 10px 10px 10px 22px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: bold;
    font-size: 2.0rem;
  }

  #g-nav li a::after {
    content: '';
    position: absolute;
    top: 25%;
    right: 25px;
    display: inline-block;
    width: 33px;
    height: 12px;
    background: url(../img/arw-bk.svg);
    z-index: 999;
    background-size: contain;
    background-repeat: no-repeat;
  }

  #g-nav-list ul li a:link,
  #g-nav-list ul li a:visited {
    background-color: unset;
  }


  /*========= ボタンのためのCSS ===============*/
  .openbtn {
    position: fixed;
    z-index: 9999;
    /*ボタンを最前面に*/
    top: 0;
    right: 0;
    cursor: pointer;
    width: 72px;
    height: 72px;
    background-color: #446CF2;
  }

  /*×に変化*/
  .openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 15px;
    height: 3px;
    /* border-radius: 2px; */
    background-color: #fff;
    width: 58.3%;
  }

  .openbtn span:nth-of-type(1) {
    top: 23px;
  }

  .openbtn span:nth-of-type(2) {
    top: 36px;
  }

  .openbtn span:nth-of-type(3) {
    top: 49px;
  }

  .openbtn.active {
    background-color: unset;
  }

  .openbtn.active span:nth-of-type(1) {
    top: 23px;
    left: 15px;
    transform: translateY(6px) rotate(-35deg);
    width: 58.3%;
    background-color: #000;
  }

  .openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }

  .openbtn.active span:nth-of-type(3) {
    top: 35px;
    left: 15px;
    transform: translateY(-6px) rotate(35deg);
    width: 58.3%;
    background-color: #000;
  }

}

/*========= レイアウトのためのCSS ===============*/

/* 汎用CSS */

* {
  box-sizing: border-box;
}

html {
  color: #000;
  font-size: 62.5%;
  height: 100%;
}

@media (max-width: 1080px) {
  /* html {
font-size: calc((100vw - 320px) / 140 + 16px);
} */
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.4;
  -webkit-text-size-adjust: none;
}

body.active {
  height: 100%;
  overflow: hidden;
}

a {
  color: #01b5d0;
  font-size: 1.4rem;
  font-weight: 400;
  transition: .3s;
}

a:hover {
  opacity: .75;
}

img {
  display: block;
  height: auto;
  max-width: 100%;
}

dl,
ul {
  list-style: none;
}

/* 汎用cssおわり */
.f-size-s {
  font-size: 0.8rem;
}

#footer {
  border-top: #CACACA 1px solid;
  padding-top: 44px;
  padding-bottom: 44px;
  font-size: 1.7rem;
  line-height: 1em;
  text-align: center;
}

#footer .footerLink {
  margin-top: 33px;
  margin-bottom: 55px;
}

#footer .footerLink a {
  color: #000;
}

section,
.secWrap {
  width: 95%;
  max-width: 1260px;
  margin-right: auto;
  margin-left: auto;
}

#header h1 {
  line-height: 1;
  position: absolute;
  top: 16px;
  left: 72px;
  z-index: 8;
}

#header h1 img {
  max-height: 62px;
  width: 389px;
  height: auto;
}

#main h2 {
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1;
  text-wrap: nowrap;
  /* width: 322px; */
  width: auto;
}

.heading {
  position: relative;
  padding-bottom: 20px;
  width: 100%;
}

.ratio-1_1:before {
  content: "";
  display: block;
  padding-top: 100%;
  /* 1:1 */
}


/* KV */
#top-kv-wrap {
  position: relative;
  width: 100%;
  height: auto;
}

#top-kv-photo {
  position: relative;
  width: 100%;
  height: 467px;
  background: url('../img/top_fv_pc.webp');
  /* background-position: cover; */
  background-position: bottom 50% right 0;
  background-size: 100%;
  background-repeat: no-repeat;
  display: grid;
  place-items: center;
}

#top-kv-copy {
  font-size: 5.0rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1;
  z-index: 7;
  text-align: center;
  color: #fff;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 1);
  /* width: auto; */
  /* height: auto; */
  /* background-color: #fff; */
  /* border-left: 13px solid #446CF2; */
  /* box-shadow: 0 0 8px 0 rgb(0 0 0 / 15%); */
  /* padding-top: 38px; */
  /* padding-bottom: 37px; */
  /* padding-left: 84px; */
  /* position: absolute; */
  /* right: 0; */
  /* top: 372px; */
}

/* /KV */

.hdLine {
  position: relative;
  width: 100%;
  padding-top: 25px;
  margin-bottom: 62px;
  font-size: 24px;
}

.hdLine:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 31px;
  height: 4px;
  background-color: #446CF2;
  z-index: 9;
}

.top-cont-wrap.about {
  margin-top: 139px;
  padding-top: 43px;
}

.top-about-bg {
  background-color: #F7FAFF;
  position: relative;
  /* padding: 21px 0; */
  padding: 0 0;
  min-height: 431px;
  margin-bottom: 254px;
  /* max-width: 1260px; */
  /* width: calc(min(95%, 1260px) + (99vw - min(95%, 1260px)) / 2); */
}

/* PC右の余白乗せ */
.top-about-bg-w {
  background-color: #ffffff;
  position: absolute;
  right: 0;
  width: 24%;
  height: 100%;
}

.top-about-bg-area {
  position: relative;
  width: 95%;
  max-width: 1260px;
  height: auto;
  margin-right: auto;
  margin-left: auto;
}

.top-about-bg-pic {
  position: absolute;
  right: 0;
  top: -233px;
  width: 547px;
  /* width: calc(min(95%, 1260px) + (99vw - min(95%, 1260px)) / 2); */
  min-height: 728px;
  background: url('../img/top_about.webp');
  background-position: left;
  background-size: cover;
}

.top-about-bg-txt {
  position: absolute;
  z-index: 6;
  width: 742px;
  height: 251px;
  background-color: #fff;
  font-size: 1.8rem;
  line-height: 2;
  padding: 61px 57px;
  /* bottom: -35%; */
  /* left: -135px; */
  top: 217px;
  left: -713px;
}

@media screen and (min-width:1081px) and (max-width:1340px) {
  .top-about-bg-txt {
    left: -520px;
    width: 732px;
  }
}

.bkLine {
  position: relative;
  width: 100%;
  height: auto;
}

.bkLine:before {
  content: '';
  position: absolute;
  top: 7px;
  left: 0;
  width: 99px;
  height: 2px;
  background-color: #000;
  z-index: 9;
}

.top-cont-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
}

.top-cont-wrap.r-business {
  padding-top: 158px;
}

.top-cont-wrap-tit {
  width: 25.7%;
}

.top-cont-wrap .bkLine {
  width: 7.9%;
}

.top-cont-wrap-txt {
  width: 66.4%;
  padding-left: 78px;
}

/* タイトル横並び右文章横幅max(bkLineなしの時のみ) */
.top-cont-wrap-txt.noBkLine {
  width: 74.3%;
}

.top-cont-wrap.recruit .top-cont-wrap-tit,
.top-cont-wrap.business .top-cont-wrap-tit {
  /* width: 33.6%; */
  width: 29.1%;
  /* border: 1px solid red; */
}

.recruit .top-cont-wrap-txt,
.business .top-cont-wrap-txt {
  /* width: 74.3%; */
  width: 70.9%;
  padding-left: 0;
  /* border: 1px solid red; */
}

#top-map-wrap {
  margin: 97px 0;
}

.company .top-cont-wrap-tit {
  width: 28.9%;
}

.company .top-cont-wrap-txt {
  width: 68%;
  padding-left: 0;
}

.company .top-cont-wrap-txt dl {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}

.company .top-cont-wrap-txt dt {
  display: inline;
  width: 67.2%;
  clear: both;
}

.company .top-cont-wrap-txt dd {
  display: inline;
  width: 32.8%;
  letter-spacing: -0.06em;
}

.company .top-cont-wrap-txt dt,
.company .top-cont-wrap-txt dd {
  border-bottom: 1px solid #000;
  padding-top: 65px;
  padding-bottom: 17px;
  font-size: 1.7rem;
  line-height: 2.118;
}

.top-cont-wrap-txt p {
  font-size: 1.8rem;
  line-height: 2;
}

.recruit .top-cont-wrap-txt p {
  margin-bottom: 1rem;
}

.recruit .top-cont-wrap-txt p.toppage-innbtntex {
  margin-bottom: 42px;
}

.btn-bk {
  display: block;
  width: 100%;
}

.btn-bk a {
  text-align: center;
  color: #fff;
  display: block;
  padding-top: 22px;
  padding-bottom: 22px;
  text-decoration: none;
  background-color: #000;
  font-size: 2.6rem;
  line-height: 1;
  border: 1px solid #000;
}

.btn-bk.btn-recruit {
  text-align: right;
  margin-bottom: 106px;
}

.btn-bk.btn-recruit a {
  width: 346px;
  margin-right: 0;
  margin-left: auto;
}

.btn-bk.btn-recruit a:hover,
.btn-bk.btn-recruit a:active,
.btn-bk.btn-toi a:hover,
.btn-bk.btn-toi a:active {
  border: 1px solid #333;
  background-color: #EAEAEA;
  color: #000;
  opacity: 1;
}

.btn-bk.btn-recruit a .path-btn,
.btn-bk.btn-toi a .path-btn,
.btn-wh a:hover .path-btn {
  stroke: #FFF;
}

.btn-bk.btn-recruit a:hover .path-btn,
.btn-bk.btn-toi a:hover .path-btn,
.btn-wh a .path-btn {
  stroke: #333;
}


.btn-bk.btn-toi {
  text-align: center;
  margin-bottom: 98px;
}

.btn-bk.btn-toi a {
  width: 497px;
  margin-right: auto;
  margin-left: auto;
}

.btn-bk a svg,
.btn-wh a svg,
.btn-bk a img,
.btn-wh a img {
  width: 48px;
  display: inline;
  margin-left: 27px;
  vertical-align: top;
}

.top-business-list {
  margin-bottom: 48px;
  position: relative;
}

.btn-wh {
  display: block;
  width: auto;
  position: absolute;
  right: -54px;
  top: 137px;
}

.btn-wh a {
  text-align: center;
  color: #000;
  display: block;
  padding-top: 22px;
  padding-bottom: 22px;
  text-decoration: none;
  background-color: #fff;
  font-size: 2.6rem;
  line-height: 1;
  border: 2px solid #000;
}

.btn-wh.btn-kw {
  text-align: right;
}

.btn-wh.btn-kw a {
  width: 496px;
  margin-right: 0;
  margin-left: auto;
}

.btn-wh a:hover,
.btn-wh a:active {
  border: 2px solid #333;
  background-color: #333;
  color: #fff;
  opacity: 1;
}

.video_wrap video {
  width: 100%;
}



/* モーダルでSNSシェア */
.videoFooter .link:before,
.unitContent .videoSet .videoFooter .link:before {
  content: "";
  position: relative;
  display: inline-block;
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
  content: '\f064';
  margin-right: 2px;
}



/* ビジネス */
#main.b-pageOnly .business {
  padding-top: 62px;
  margin-bottom: 178px;
}

#main.b-pageOnly .top-cont-wrap-tit {
  width: 51.2%;
}

#main.b-pageOnly .business .top-cont-wrap-txt {
  width: 48.8%;
  padding-left: 43px;
}

#main.b-pageOnly h2.heading {
  font-size: 3.2rem;
  margin-top: 90px;
  /* margin-bottom: 10px; */
  text-wrap: wrap;
  width: 100%;
  line-height: 1.3;
}

#main.b-pageOnly .business .top-cont-wrap-txt p {
  font-size: 1.8rem;
  line-height: 2;
}

.b-pageOnly section.top-business-list-wrap,
.b-pageOnly .secWrap.top-business-list-wrap {
  width: 100%;
  max-width: 100%;
  margin-right: auto;
  margin-left: 0;
  margin-bottom: 320px;
}

/* W3Cクリア用 セクション中の見出し*/
.displayNone {
  display: none;
}


.b-text-wrap {
  /* border:2px solid magenta; */
  width: 65.6%;
  max-width: 1259px;
  background-color: #fff;
  padding: 59px 57px 34px;
  z-index: 8;
  position: absolute;
  /* top: 137px; */
  /* right: 5%; */
  top: 645px;
  left: 50%;
  transform: translate(-50%, 0);
  box-shadow: 0 0 8px 0 rgb(0 0 0 / 15%);
}

/* .b-text-wrap {
width: 715px;
background-color: #fff;
padding: 59px 57px 34px;
z-index: 8;
position: absolute;
top: 137px;
right: 5%;
box-shadow: 0 0 8px 0 rgb(0 0 0 / 15%);
} */

h2.b-text-tit {
  font-size: 3.6rem;
}

p.b-text-p {
  font-size: 1.8rem;
  line-height: 2;
  padding-bottom: 30px;
  border-bottom: 1px solid #CECECE;
}

.b-text-wrap .hdLine {
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 20px;
  padding-top: 39px;
  margin-bottom: 0;
  font-size: 1.8rem;
}

#b-bg {
  /* background-color: #F7FAFF; */
  overflow: hidden;
  padding-top: 27px;
}

@media screen and (max-width: 1080px) {
  #header h1 {
    line-height: 1;
    position: absolute;
    top: 16px;
    left: 10px;
    z-index: 8;
  }

  #header h1 img {
    width: auto;
    height: 32px;
  }

  #b-bg {
    padding-top: 0;
  }

  #main.b-pageOnly .business {
    padding-top: 72px;
    margin-bottom: 66px;
    width: 100%;
  }

  #main.b-pageOnly .top-cont-wrap-tit {
    width: 100%;
  }

  #main.b-pageOnly .business .top-cont-wrap-txt {
    width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }

  #main.b-pageOnly .top-cont-wrap-tit img {
    width: 100%;
    height: auto;
  }

  #main.b-pageOnly h2.heading {
    font-size: 2.0rem;
    margin-top: 40px;
    /* margin-bottom: 10px; */
  }

  #main.b-pageOnly .business .top-cont-wrap-txt p {
    font-size: 1.5rem;
    line-height: 2.267;
  }

  .b-pageOnly section.top-business-list-wrap,
  .b-pageOnly .secWrap.top-business-list-wrap {
    margin-bottom: 180px;
  }

  .b-pageOnly .top-business-list:last-child {
    margin-bottom: 0;
  }

  .b-text-wrap {
    width: 91%;
    max-width: 982px;
    padding: 39px 17px 32px;
    /* position: relative; */
    position: absolute;
    top: 448px;
    right: 0;
    bottom: auto;
    left: auto;
    transform: unset;
    margin-right: 0;
    margin-left: auto;
    /* border: 2px solid mediumspringgreen; */
  }


  p.b-text-p {
    font-size: 1.5rem;
    line-height: 2;
    /* padding-right: 1rem; */
    padding-bottom: 27px;
    border-bottom: 1px solid #CECECE;
  }

}

/* 採用について */

/* .top-cont-wrap.members-tit {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: stretch;
} */

section.members-tit,
.secWrap.members-tit {
  width: 95%;
  max-width: 1260px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 0;
  position: absolute;
  top: -60px;
  right: 0;
  left: 0;
}

.r-img-center {
  display: block;
  position: relative;
}

.r-img-members {
  margin-top: 233px;
}

.comm-one-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 60px;
}

.comm-icon-area {
  width: 13.9%;
}

.comm-text-area {
  width: 86.1%;
  position: relative;
}

.r-img-members .comm-name-wrap {
  width: auto;
}

.r-img-members .comm-name {
  font-size: 1.8rem;
  line-height: 1;
  border-bottom: 2px solid #446CF2;
  padding-bottom: 8px;
  margin-right: auto;
  margin-left: 4em;
  display: inline-block;
  position: absolute;
  margin-top: -1em;
}

.r-img-members .comm-name::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  width: 27px;
  height: calc(2px);
  background-color: #333;
}

.r-img-members .comm-line {
  margin: 10px 16px 16px 40px;
  padding: 26px 29px 49px;
  height: auto;
  min-height: 235px;
  background-color: #fff;
  font-size: 1.8rem;
  line-height: 2;
}

.r-img-members .comm-line::before {
  content: "";
  height: 100%;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  transition: inherit;
  width: 50%;
  z-index: 1;
  border-radius: inherit;
  background-image: url(../img/recruit-comm-line.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
}


#main.r-pageOnly h2.h2tit {
  margin-top: 62px;
  margin-bottom: 62px;
  font-size: 3.6rem;
}

#r-kv {
  margin-bottom: 175px;
}

.r-pageOnly .recruit .top-cont-wrap-txt p {
  margin-bottom: 83px;
}

.r-about-tex-wrap {
  border-radius: 5px;
  box-shadow: 0 0 8px 0 rgb(0 0 0 / 15%);
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: 158px;
}

.r-about-pic {
  width: 100%;
}

.business .top-cont-wrap-txt.members {
  width: 67.1%;
  padding-left: 0;
}

.top-cont-wrap.business .business.top-cont-wrap-tit {
  width: 33.6%;
}

/* .top-cont-wrap.business .hdLine { */
/* width: 32%; */
/* width: 33.6%; */
/* } */

.r-pageOnly .top-business-list-wrap {
  margin-bottom: 187px;
}

.r-pageOnly .r-about-tex-wrap .hdLine {
  position: relative;
  width: 9.4%;
  padding-top: 25px;
  margin-bottom: 0;
  font-size: 24px;
  /* top: 83px; */
  top: 4em;
}

.r-pageOnly .r-about-tex-wrap .hdLine:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 13px;
  background-color: #446CF2;
  z-index: 9;
}

.r-about-tex {
  width: 90.6%;
  padding-top: 83px;
  padding-bottom: 83px;
  padding-left: 0;
  padding-right: 59px;
}

.r-about-tex p {
  font-size: 1.8rem;
  line-height: 2;
}

.r-bg {
  background-color: #F7FAFF;
  /* overflow: hidden; */
  /* margin-bottom: 109px; */
  position: relative;
  width: 100%;
  height: auto;
  padding-top: 60px;
  margin-top: 145px;
  padding-bottom: 82px;
  margin-bottom: 109px;
}

.r-img-center img {
  text-align: center;
  margin: 0 auto;
}

.top-cont-wrap-txt.message .r-img-center img {
  margin-bottom: 56px;
}

.top-cont-wrap-txt.message {
  margin-bottom: 129px;
}

.top-cont-wrap-txt.message h3 {
  font-size: 2.6rem;
  margin-bottom: 39px;
}

.top-cont-wrap-txt.message p {
  font-size: 1.8rem;
}

.sdw {
  box-shadow: 0 0 8px 0 rgb(0 0 0 / 15%);
}

.photo-wrap {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 135px;
}

.r-photo {
  font-size: 1.6rem;
  text-align: center;
  width: 31.1%;
  height: auto;
}

.business .top-cont-wrap-txt.r-business,
.business .top-cont-wrap-txt.moreinfo,
.business .top-cont-wrap-txt.benefits,
.business .top-cont-wrap-txt.photos {
  width: 74.3%;
  padding-left: 0;
}

/* 選考フロー */
.r-img-center.senkou {
  text-align: center;
  margin-bottom: 69px;
  padding-top: 90px;
  padding-bottom: 70px;
}

.r-img-center.senkou .senkou-titmark img {
  text-align: center;
  margin: 0 auto 39px;
}

.r-img-center.senkou h3.senkou-tit {
  font-size: 2.6rem;
  line-height: 1;
  text-align: center;
  margin: 0 0 49px;
  width: 100%;
  text-wrap: nowrap;
}

.r-img-center.video {
  margin-bottom: 69px;
  text-align: right;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  align-content: stretch;
}

.r-img-center.benefits {
  margin-bottom: 69px;
}

/* 面接、福利厚生 */
#main .senkou-benefits-wrap h2,
#main .benefits-wrap h2 {
  position: relative;
}

.hdLine-moreinfo:before {
  content: '';
  position: absolute;
  top: 25%;
  left: -37px;
  width: 23px;
  height: 7px;
  background-color: #446CF2;
  z-index: 9;
}

.senkou-benefits-wrap {
  display: flex;
  column-gap: 2.6%;
}

.benefits-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0 45px;
}

.benefits-wrap.fukurikousei {
  flex-direction: row;
  gap: 0 2%;
}

.benefits-wrap .benefits-inn {
  border: #c2c2c2 1px solid;
  padding: 59px 36px;
  font-size: 1.8rem;
  line-height: 1.889;
  flex-basis: 47%;
  margin-bottom: 45px;
  position: relative;
}

.senkou-benefits-wrap .senkou-benefits-inn {
  border: #c2c2c2 1px solid;
  padding-top: 52px;
  padding-right: 36px;
  padding-bottom: 50px;
  padding-left: 36px;
  font-size: 1.8rem;
  line-height: 1.889;
  width: 31.4%;
  position: relative;
}

.senkou-benefits-wrap .senkou-benefits-inn img {
  width: 80px;
  margin-bottom: 52px;
}

#main .senkou-benefits-wrap h2,
#main .benefits-wrap h2 {
  font-size: 2.0rem;
  font-weight: 500;
  line-height: 1;
  text-wrap: wrap;
  width: auto;
  margin-bottom: 70px;
}

/* TB 面接について3カラム横並び調整 */
@media screen and (max-width: 1080px) {
  .hdLine-moreinfo:before {
    content: '';
    position: absolute;
    top: 40%;
    left: -34px;
    width: 21px;
    height: 7px;
    background-color: #446CF2;
    z-index: 9;
  }

  .senkou-benefits-wrap {
    display: flex;
    column-gap: 1%;
  }

  .senkou-benefits-wrap .senkou-benefits-inn {
    padding-top: 40px;
    padding-right: 33px;
    padding-bottom: 40px;
    padding-left: 33px;
    font-size: 1.5rem;
    line-height: 1.3;
    width: 32.6%;
    position: relative;
  }

  .senkou-benefits-wrap .senkou-benefits-inn img {
    width: 76px;
    margin-bottom: 40px;
  }

  #main .senkou-benefits-wrap h2,
  #main .benefits-wrap h2 {
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1;
    text-wrap: wrap;
    width: auto;
    margin-bottom: 20px;
  }

  .top-cont-wrap.r-business {
    padding-top: 65px;
  }
}

@media screen and (max-width: 606px) {
  .senkou-benefits-wrap .senkou-benefits-inn img {
    width: 76px;
    margin-bottom: 44px;
  }

  .hdLine-moreinfo:before {
    content: '';
    position: absolute;
    top: 32%;
    left: -34px;
    width: 21px;
    height: 7px;
  }

  .benefits-inn .hdLine-moreinfo:before {
    content: '';
    position: absolute;
    top: 2%;
    left: -11px;
    width: 6px;
    height: 15px;
  }

  .senkou-benefits-wrap .senkou-benefits-inn {
    padding-top: 40px;
    padding-right: 33px;
    padding-bottom: 40px;
    padding-left: 33px;
    margin-bottom: 22px;
    width: 100%;
  }

  .senkou-benefits-wrap {
    flex-direction: column;
  }

  .senkou-benefits-wrap .senkou-benefits-inn p {
    font-size: 1.5rem;
    line-height: 2.133;
  }

  .benefits-wrap {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 2%;
  }

  #main .senkou-benefits-wrap h2 {
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1;
    text-wrap: wrap;
    width: auto;
    margin-bottom: 36px;
  }

  #main .benefits-wrap h2 {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1;
    text-wrap: wrap;
    width: auto;
    margin-bottom: 30px;
  }

  .benefits-wrap .benefits-inn {
    padding: 33px 11px;
    font-size: 1.4rem;
    line-height: 1.75;
    flex-basis: 49%;
    position: relative;
    margin-bottom: 15px;
  }

  .top-cont-wrap.r-business {
    padding-top: 60px;
    padding-bottom: 47px;
  }
}



.senkou-tit {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 32px;
}

.senkou-tit::before,
.senkou-tit::after {
  content: '';
  width: 40%;
  height: 7px;
  background-color: #e5e5e5;
}

.senkou-tit::before {
  margin-right: 30px;
}

.senkou-tit::after {
  margin-left: 30px;
}

.senkou-speedy {
  font-size: 1.8rem;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 40px;
}

.senkou-speedy::before,
.senkou-speedy::after {
  content: '';
  width: 1px;
  height: 22px;
  background-color: #000000;
}

.senkou-speedy::before {
  margin-right: 30px;
  transform: rotate(-35deg);
}

.senkou-speedy::after {
  margin-left: 30px;
  transform: rotate(35deg);
}

.senkou-f-oubo,
.senkou-f-mensetsu,
.senkou-f-naitei {
  border: 1px solid #000000;
  border-radius: 8px;
  padding-top: 30px;
  padding-bottom: 30px;
  width: 55.2%;
  margin-right: auto;
  margin-bottom: 40px;
  margin-left: auto;
  font-weight: 500;
}


.senkou-f-oubo {
  font-size: 2.0rem;
}

.senkou-f-mensetsu {
  font-size: 2.0rem;
}

.senkou-f-naitei {
  font-size: 2.0rem;
  margin-bottom: 50px;
  background-color: #FDBF2D;
}

.senkou-text-wrap {
  text-align: center;
}

.senkou-text {
  font-size: 1.8rem;
  line-height: 1.889;
}

.triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 18px solid transparent;
  border-left: 18px solid transparent;
  border-top: 19px solid #000000;
  border-bottom: 0;
  display: block;
  position: absolute;
  margin-top: 40px;
  left: calc(50% - 9px);
}

/* グリッド分割用 */

.container-wrap {
  display: grid;
  grid-template-rows: 693px;
  grid-template-columns: 24.6% 24.6% 24.6% 24.6%;
  column-gap: 0.5%;
  row-gap: 0.5%;
}

.item-01,
.item-02,
.item-03,
.item-04 {
  /* border: 2px solid fuchsia; */
  display: block;
  background-position: center;
  background-size: cover;
}

/* PC */
/* kw */
.b-photo-kw .item-01 {
  background-image: url(../img/b-photo-kw-01.jpg);
}

.b-photo-kw .item-02 {
  background-image: url(../img/b-photo-kw-02.jpg);
}

.b-photo-kw .item-03 {
  background-image: url(../img/b-photo-kw-03.jpg);
}

.b-photo-kw .item-04 {
  background-image: url(../img/b-photo-kw-04.jpg);
}

/* st */
.b-photo-st .item-01 {
  background-image: url(../img/b-photo-st-01.jpg);
}

.b-photo-st .item-02 {
  background-image: url(../img/b-photo-st-02.jpg);
}

.b-photo-st .item-03 {
  background-image: url(../img/b-photo-st-03.jpg);
}

.b-photo-st .item-04 {
  background-image: url(../img/b-photo-st-04.jpg);
}

/* tk */
.b-photo-tk .item-01 {
  background-image: url(../img/b-photo-tk-01.jpg);
}

.b-photo-tk .item-02 {
  background-image: url(../img/b-photo-tk-02.jpg);
}

.b-photo-tk .item-03 {
  background-image: url(../img/b-photo-tk-03.jpg);
}

.b-photo-tk .item-04 {
  background-image: url(../img/b-photo-tk-04.jpg);
}

/* ga */
.b-photo-ga .item-01 {
  background-image: url(../img/b-photo-ga-01.jpg);
}

.b-photo-ga .item-02 {
  background-image: url(../img/b-photo-ga-02.jpg);
}

.b-photo-ga .item-03 {
  background-image: url(../img/b-photo-ga-03.jpg);
}

.b-photo-ga .item-04 {
  background-image: url(../img/b-photo-ga-04.jpg);
}

/* rt */
.b-photo-rt .item-01 {
  background-image: url(../img/b-photo-rt-01.jpg);
}

.b-photo-rt .item-02 {
  background-image: url(../img/b-photo-rt-02.jpg);
}

.b-photo-rt .item-03 {
  background-image: url(../img/b-photo-rt-03.jpg);
}

.b-photo-rt .item-04 {
  background-image: url(../img/b-photo-rt-04.jpg);
}

.b-photo-rt {
  background-image: url(../img/business-photo-rt.jpg);
}

/* TB */
@media screen and (max-width: 1080px) {
  .container-wrap {
    display: grid;
    grid-template-rows: 283px 283px;
    grid-template-columns: 49.5% 49.5%;
    column-gap: 0.9%;
    row-gap: 1.7%;
  }

  .item-01,
  .item-02,
  .item-03,
  .item-04 {
    display: block;
    background-position: center;
    background-size: cover;
  }

  /* TB */
  /* kw */
  .b-photo-kw .item-01 {
    background-image: url(../img/b-photo-kw-01_tb.jpg);
  }

  .b-photo-kw .item-02 {
    background-image: url(../img/b-photo-kw-02_tb.jpg);
  }

  .b-photo-kw .item-03 {
    background-image: url(../img/b-photo-kw-03_tb.jpg);
  }

  .b-photo-kw .item-04 {
    background-image: url(../img/b-photo-kw-04_tb.jpg);
  }

  /* st */
  .b-photo-st .item-01 {
    background-image: url(../img/b-photo-st-01_tb.jpg);
  }

  .b-photo-st .item-02 {
    background-image: url(../img/b-photo-st-02_tb.jpg);
  }

  .b-photo-st .item-03 {
    background-image: url(../img/b-photo-st-03_tb.jpg);
  }

  .b-photo-st .item-04 {
    background-image: url(../img/b-photo-st-04_tb.jpg);
  }

  /* tk */
  .b-photo-tk .item-01 {
    background-image: url(../img/b-photo-tk-01_tb.jpg);
  }

  .b-photo-tk .item-02 {
    background-image: url(../img/b-photo-tk-02_tb.jpg);
  }

  .b-photo-tk .item-03 {
    background-image: url(../img/b-photo-tk-03_tb.jpg);
  }

  .b-photo-tk .item-04 {
    background-image: url(../img/b-photo-tk-04_tb.jpg);
  }

  /* ga */
  .b-photo-ga .item-01 {
    background-image: url(../img/b-photo-ga-01_tb.jpg);
  }

  .b-photo-ga .item-02 {
    background-image: url(../img/b-photo-ga-02_tb.jpg);
  }

  .b-photo-ga .item-03 {
    background-image: url(../img/b-photo-ga-03_tb.jpg);
  }

  .b-photo-ga .item-04 {
    background-image: url(../img/b-photo-ga-04_tb.jpg);
  }

  /* rt */
  .b-photo-rt .item-01 {
    background-image: url(../img/b-photo-rt-01_tb.jpg);
  }

  .b-photo-rt .item-02 {
    background-image: url(../img/b-photo-rt-02_tb.jpg);
  }

  .b-photo-rt .item-03 {
    background-image: url(../img/b-photo-rt-03_tb.jpg);
  }

  .b-photo-rt .item-04 {
    background-image: url(../img/b-photo-rt-04_tb.jpg);
  }
}

/* SP */
@media screen and (max-width: 390px) {
  .b-text-wrap {
    width: 91%;
    max-width: 355px;
    top: 549px;
  }

  .b-pageOnly section.top-business-list-wrap,
  .b-pageOnly .secWrap.top-business-list-wrap {
    margin-bottom: 347px;
  }

  .container-wrap {
    display: grid;
    grid-template-rows: 283px 283px;
    grid-template-columns: 48.7% 48.7%;
    column-gap: 2.6%;
    row-gap: 1.7%;
  }

  .item-01,
  .item-02,
  .item-03,
  .item-04 {
    display: block;
    background-position: center;
    background-size: cover;
  }

  /* SP */
  /* kw */
  /* SP表示時のテキスト枠の下に隙間 */
  .b-photo-kw {
    padding-top: 0;
  }

  .b-photo-st {
    padding-top: 33px;
  }

  .b-photo-tk {
    padding-top: 33px;
  }

  .b-photo-ga {
    padding-top: 33px;
  }

  .b-photo-rt {
    padding-top: 33px;
  }

  .b-photo-kw .item-01 {
    background-image: url(../img/b-photo-kw-01_sp.jpg);
  }

  .b-photo-kw .item-02 {
    background-image: url(../img/b-photo-kw-02_sp.jpg);
  }

  .b-photo-kw .item-03 {
    background-image: url(../img/b-photo-kw-03_sp.jpg);
  }

  .b-photo-kw .item-04 {
    background-image: url(../img/b-photo-kw-04_sp.jpg);
  }

  /* st */
  .b-photo-st .item-01 {
    background-image: url(../img/b-photo-st-01_sp.jpg);
  }

  .b-photo-st .item-02 {
    background-image: url(../img/b-photo-st-02_sp.jpg);
  }

  .b-photo-st .item-03 {
    background-image: url(../img/b-photo-st-03_sp.jpg);
  }

  .b-photo-st .item-04 {
    background-image: url(../img/b-photo-st-04_sp.jpg);
  }

  /* tk */
  .b-photo-tk .item-01 {
    background-image: url(../img/b-photo-tk-01_sp.jpg);
  }

  .b-photo-tk .item-02 {
    background-image: url(../img/b-photo-tk-02_sp.jpg);
  }

  .b-photo-tk .item-03 {
    background-image: url(../img/b-photo-tk-03_sp.jpg);
  }

  .b-photo-tk .item-04 {
    background-image: url(../img/b-photo-tk-04_sp.jpg);
  }

  /* ga */
  .b-photo-ga .item-01 {
    background-image: url(../img/b-photo-ga-01_sp.jpg);
  }

  .b-photo-ga .item-02 {
    background-image: url(../img/b-photo-ga-02_sp.jpg);
  }

  .b-photo-ga .item-03 {
    background-image: url(../img/b-photo-ga-03_sp.jpg);
  }

  .b-photo-ga .item-04 {
    background-image: url(../img/b-photo-ga-04_sp.jpg);
  }

  /* rt */
  .b-photo-rt .item-01 {
    background-image: url(../img/b-photo-rt-01_sp.jpg);
  }

  .b-photo-rt .item-02 {
    background-image: url(../img/b-photo-rt-02_sp.jpg);
  }

  .b-photo-rt .item-03 {
    background-image: url(../img/b-photo-rt-03_sp.jpg);
  }

  .b-photo-rt .item-04 {
    background-image: url(../img/b-photo-rt-04_sp.jpg);
  }

}

/* グリッド分割用　ここまで */


@media screen and (max-width: 910px) {
  .senkou-text-wrap {
    text-align: left;
    padding-right: 16px;
    padding-left: 16px;
  }
}

@media screen and (max-width: 1080px) {
  #r-bg {
    padding-top: 0;
  }

  #main.r-pageOnly {
    padding-top: 72px;
    margin-bottom: 66px;
  }

  #main.r-pageOnly h2.h2tit {
    margin-top: 0;
    margin-bottom: 28px;
    font-size: 2.6rem;
  }

  #r-kv {
    margin-bottom: 54px;
  }

  .r-about-tex p,
  .top-cont-wrap-txt.message p,
  .r-photo p {
    font-size: 1.5rem;
    line-height: 2.267;
  }

  .top-cont-wrap-txt.message h3 {
    font-size: 1.8rem;
    margin-bottom: 14px;
  }

  .r-pageOnly .recruit .top-cont-wrap-txt p {
    margin-bottom: 45px;
  }

  .r-about-tex {
    /* width: 90.6%; */
    width: 99%;
    padding-top: 43px;
    padding-bottom: 39px;
    padding-left: 21px;
    padding-right: 12px;
  }

  .r-pageOnly .r-about-tex-wrap .hdLine {
    width: 1%;
    top: 53px;
  }

  .r-about-tex-wrap {
    margin-bottom: 28px;
  }

  .r-pageOnly .r-about-tex-wrap .hdLine:before {
    width: 10px;
  }

  .r-img-center img {
    margin: 0 auto 34px;
  }

  .top-cont-wrap.business.members-tit {
    margin-bottom: 0;
  }

  .r-bg .top-cont-wrap.business .hdLine,
  .r-bg .top-cont-wrap.business .top-cont-wrap-txt.members {
    width: 100%;
  }

  .business .top-cont-wrap-txt.members {
    margin-bottom: 45px;
  }

  .r-bg {
    margin-bottom: 54px;
  }

  .r-pageOnly .top-business-list-wrap {
    margin-bottom: 92px;
  }

  .r-img-center.benefits img {
    text-align: center;
    margin: 0 auto 54px;
  }

  .r-img-center.message img {
    text-align: center;
    margin: 0 auto 34px;
  }

  .top-cont-wrap.business.r-message-tit {
    margin-bottom: 73px;
  }

  .top-cont-wrap.business.message {
    margin-right: 0;
  }

  .top-cont-wrap-txt.message {
    margin-bottom: 7px;
    padding-left: 8.9% !important;
  }

  .r-img-center.video img {
    text-align: center;
    margin: 0 auto 0;
  }

  .photo-wrap {
    display: flex;
    /* flex-direction: column; */
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 36px;
  }

  .r-photo {
    /* width: 100%; */
    width: 47.8%;
  }

  .r-photo p {
    line-height: 1.2;
    font-size: 1.4rem;
    padding-top: 13px;
    margin-bottom: 38px;
  }

  .r-img-center.senkou {
    text-align: center;
    margin-bottom: 65px;
    padding-top: 45px;
    padding-bottom: 39px;
  }

  .r-img-center.senkou .senkou-titmark img {
    margin: 0 auto 22px;
    width: auto;
    height: 46px;
  }
}

/* 吹き出し狭い時レイアウト変更 */
@media screen and (max-width: 640px) {
  .comm-icon-area {
    width: 100%;
  }

  .comm-text-area {
    width: 100%;
  }

  .comm-one-wrap {
    flex-wrap: nowrap;
    flex-direction: column;
  }

  .r-bg .r-img-center img {
    margin: 0 auto 0 0;
  }

  .r-img-members .comm-name {
    font-size: 1.7rem;
    line-height: 1;
    padding-bottom: 16px;
    margin-right: 0;
    margin-left: auto;
    display: inline-block;
    position: absolute;
    right: 0;
    margin-top: 0;
  }

  .r-img-members .comm-line::before {
    content: "";
    height: 100%;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    transition: inherit;
    width: 100%;
    z-index: 1;
    border-radius: inherit;
    background-image: url(../img/recruit-comm-line-sp.svg);
    background-position: top left;
    background-repeat: no-repeat;
    background-size: contain;
  }

  .r-img-members .comm-line {
    margin: 44px 11px 16px 19px;
    padding: 34px 12px 39px;
    height: auto;
    background-color: #fff;
    font-size: 1.5rem;
    line-height: 2.133;
  }
}

@media screen and (max-width: 520px) {
  .r-img-members .comm-line::before {
    height: 100%;
    top: 0;
    left: 0;
    width: 40%;
    background-size: contain;
  }
}

@media screen and (max-width: 250px) {
  .r-img-members .comm-line::before {
    background-image: none;
  }
}

@media screen and (max-width:910px) {
  .photo-wrap {
    flex-direction: column;
    margin-bottom: 36px;
  }

  .r-photo {
    width: 100%;
  }

  .r-photo img {
    width: 100%;
  }
}


@media screen and (max-width: 390px) {
  #main.r-pageOnly h2.h2tit {
    /* margin-top: 0; */
    margin-top: 40px;
    margin-bottom: 21px;
    font-size: 2.0rem;
  }

  section#r-kv,
  .secWrap#r-kv {
    width: 100%;
  }

  section#r-kv .sp_view,
  .secWrap#r-kv .sp_view {
    padding-left: 10px;
    padding-right: 10px;
  }
}



/* PC TB SP 切り替え */
/* PC */
.pc_view {
  display: block;
}

.tb_view {
  display: none;
}

.sp_view {
  display: none;
}

/* TAB */
@media screen and (max-width: 1080px) {
  .pc_view {
    display: none;
  }

  .tb_view {
    display: block;
  }

  .sp_view {
    display: none;
  }
}

/* 幅が 1080px以上 1200px以下横スクロール回避 */

@media (min-width:1080px) and (max-width:1386px) {
  .btn-wh {
    width: auto;
    position: absolute;
    right: 0;
    top: 137px;
  }
}

@media screen and (max-width: 1080px) {

  section,
  .secWrap {
    width: 95%;
    font-size: 1.5rem;
  }

  section p,
  .secWrap p {
    line-height: 2.267;
  }

  #top-kv-photo {
    background-position: top 0% right 0;
  }

  /* #top-kv-copy {
width: 98%;
font-size: 2.0rem;
font-weight: 500;
letter-spacing: 0.08em;
padding-top: 14px;
padding-bottom: 14px;
padding-left: 34px;
line-height: 1.4;
position: absolute;
right: 0;
border-left: 5px solid #446CF2;
top: 519px;
} */

  #top-kv-copy {
    width: 90%;
    /* font-size: 6.0rem; */
    font-size: clamp(1.5rem, 0.551rem + 4.74vw, 3.75rem);
    min-height: 0vw;
    min-height: 0;
    /* clampバグ回避用 */
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1;
    z-index: 7;
    text-align: center;
    color: #fff;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 1);
    /* width: auto; */
    /* height: auto; */
    /* background-color: #fff; */
    /* border-left: 13px solid #446CF2; */
    /* box-shadow: 0 0 8px 0 rgb(0 0 0 / 15%); */
    /* padding-top: 38px; */
    /* padding-bottom: 37px; */
    /* padding-left: 84px; */
    /* position: absolute; */
    /* right: 0; */
    /* top: 372px; */
  }

  .top-about-bg {
    /* background-color: #F7FAFF; */
    background-color: unset;
    position: relative;
    padding: 0 0;
    /* min-height: 730px; */
    min-height: 980px;
    margin-bottom: 0;
  }

  .top-about-bg-area {
    background-color: #F7FAFF;
    position: relative;
    width: 100%;
    max-width: none;
    height: 920px;
    margin-right: auto;
    margin-left: auto;
  }

  /* .top-about-bg-pic:before{
content: '';
position: absolute;
bottom: -125px;
left: 0;
background-color: #F7FAFF;
margin-bottom:0;
width: 100%;
height: 125px;
} */

  .top-about-bg-pic {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    /* width: 100%; */
    /* height: 210px; */
    width: calc(547vw / 10.79);
    height: calc(728vw / 10.79);
    background: url('../img/top_about.webp');
    background-position: center;
    background-size: cover;
  }

  .top-about-bg-txt {
    position: relative;
    /* width: 94%; */
    margin: 0 calc(50% - 50vw);
    /* 画面幅が1079pxのとき幅(width)が982pxになるようにしたい。 */
    width: calc(982vw / 10.79);
    /* width: 100vw; */
    height: auto;
    font-size: 1.5rem;
    line-height: 2.267;
    padding: 35px 18px;
    top: 695px;
    /* bottom: -82px; */
    left: 0;
  }

  .top-cont-wrap.about {
    margin-top: 68px;
    padding-top: 0;
  }

  #main h2 {
    font-size: 2.3rem;
    font-weight: 500;
    line-height: 1;
    text-wrap: nowrap;
    width: 100%;
  }

  .hdLine img {
    height: 12px;
  }

  .hdLine {
    position: relative;
    width: 100%;
    padding-top: 16px;
    margin-bottom: 28px;
    font-size: 24px;
  }

  .hdLine:before {
    width: 20px;
  }

  .heading {
    padding-bottom: 13px;
  }

  .top-cont-wrap {
    flex-wrap: wrap;
  }

  .top-cont-wrap-tit {
    width: 100%;
  }

  .bkLine:before {
    top: 18px;
    width: 54px;
  }

  .top-cont-wrap-txt {
    width: 100%;
    padding-left: 76px;
  }

  .top-cont-wrap-txt p {
    font-size: 1.5rem;
    line-height: 2.267;
  }

  /* タイトル横並び右文章横幅max(bkLineなしの時のみ) */
  .top-cont-wrap-txt.noBkLine {
    width: 100% !important;
    padding-left: 0;
  }

  .recruit .top-cont-wrap-txt p.toppage-innbtntex,
  .recruit .top-cont-wrap-txt p {
    margin-bottom: 2rem;
  }

  .btn-bk a {
    padding-top: 14px;
    padding-bottom: 14px;
    font-size: 1.7rem;
    line-height: 1;
  }

  .btn-bk a img,
  .btn-wh a img {
    width: 32px;
    margin-left: 20px;
  }

  .btn-bk.btn-recruit a {
    width: 234px;
  }

  .recruit .top-cont-wrap-txt,
  .business .top-cont-wrap-txt {
    width: 100%;
    padding-left: 0;
  }

  .top-cont-wrap.business {
    margin-bottom: 47px;
  }

  .top-cont-wrap.business.textNone {
    margin-bottom: 0;
  }

  .top-business-list-wrap {
    width: 100%;
  }

  .top-business-list img {
    display: none;
  }

  .r-img-center.video {
    margin-bottom: 54px;
  }

  .b-list-kw,
  .b-list-st,
  .b-list-tk,
  .b-list-ga,
  .b-list-rt {
    display: block;
    width: 100%;
    height: auto;
    min-height: 163px;
    background-position: center;
    background-size: cover;
  }

  .b-list-kw {
    background-image: url(../img/business-kw.jpg);
  }

  .b-list-st {
    background-image: url(../img/business-st.jpg);
  }

  .b-list-tk {
    background-image: url(../img/business-tk.jpg);
  }

  .b-list-ga {
    background-image: url(../img/business-ga.jpg);
  }

  .b-list-rt {
    background-image: url(../img/business-rt.jpg);
  }

  .btn-wh {
    width: auto;
    position: absolute;
    right: 0;
    top: 137px;
  }

  .btn-wh.btn-kw a {
    width: 300px;
  }

  .btn-wh a {
    padding-top: 19px;
    padding-bottom: 19px;
    font-size: 1.5rem;
    border: 1px solid #000;
  }

  .company .top-cont-wrap-tit {
    width: 100%;
  }

  .company .top-cont-wrap-txt {
    width: 100%;
    padding-left: 0;
  }

  .top-business-list:last-child {
    margin-bottom: 100px;
  }

  .senkou-text {
    font-size: 1.5rem;
    line-height: 2.133;
  }

  .senkou-f-oubo,
  .senkou-f-mensetsu,
  .senkou-f-naitei {
    padding-top: 19px;
    padding-bottom: 19px;
    width: 93%;
    margin-right: auto;
    margin-bottom: 26px;
    margin-left: auto;
    font-weight: 500;
    font-size: 1.6rem;
  }

  .triangle {
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 14px solid transparent;
    border-left: 14px solid transparent;
    border-top: 15px solid #000000;
    border-bottom: 0;
    display: block;
    position: absolute;
    margin-top: 26px;
    left: calc(50% - 7px);
  }

  .company .top-cont-wrap-txt dt,
  .company .top-cont-wrap-txt dd {
    padding-top: 56px;
    padding-bottom: 17px;
    font-size: 1.5rem;
    line-height: 1.2;
  }

  .company .top-cont-wrap-txt dt {
    width: 72%;
  }

  .company .top-cont-wrap-txt dd {
    width: 28%;
    letter-spacing: 0;
    line-height: 2.118;
  }

  .company .hdLine {
    margin-bottom: 0;
  }

  #top-map-wrap {
    margin: 28px 0 50px;
  }

  .btn-bk.btn-toi a {
    width: 90%;
  }

  .btn-bk.btn-toi {
    margin-bottom: 45px;
  }

  #footer {
    padding-top: 29px;
    padding-bottom: 29px;
    font-size: 1.3rem;
    line-height: 1em;
  }

  #footer .footerLink {
    margin-top: 22px;
    margin-bottom: 45px;
  }
}

@media screen and (max-width: 580px) {

  /* SP時のトップ調整 */
  #top-kv-photo {
    /* height: 100vh; */
    height: 563px;
    background: url(../img/top_fv_sp.jpg);
    background-size: cover;
  }

  #top-kv-copy {
    font-size: 2.4rem;
  }

  .b-list-kw {
    background-image: url(../img/business-kw-sp.jpg);
  }

  .b-list-st {
    background-image: url(../img/business-st-sp.jpg);
  }

  .b-list-tk {
    background-image: url(../img/business-tk-sp.jpg);
  }

  .b-list-ga {
    background-image: url(../img/business-ga-sp.jpg);
  }

  .b-list-rt {
    background-image: url(../img/business-rt-sp.jpg);
  }

  .top-about-bg-pic {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    /* width: 100%; */
    /* height: 210px; */
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    height: calc(520vw / 3.9);
    background: url('../img/top_about.webp');
    background-position: center;
    background-size: cover;
  }
}

@media screen and (max-width: 1080px) {
  .top-cont-wrap.business {
    margin-top: 48px;
  }
}

@media screen and (max-width: 665px) {
  .top-about-bg-area {
    height: 940px;
    /* max-height: 1000px; */
  }

  .company .top-cont-wrap-txt dt {
    width: 29.2%;
  }

  .company .top-cont-wrap-txt dd {
    width: 70.8%;
    letter-spacing: 0;
    line-height: 2.118;
  }

}

@media screen and (max-width: 517px) {
  .top-about-bg-area {
    height: 970px;
    min-height: 970px;
  }
}

@media screen and (max-width: 420px) {
  .top-about-bg-area {
    height: 1010px;
    min-height: 1010px;
  }
}

@media screen and (max-width: 344px) {
  .top-about-bg-area {
    height: 1040px;
    min-height: 1040px;
  }
}

@media screen and (max-width: 325px) {
  .top-about-bg-area {
    height: 1100px;
    min-height: 1100px;
  }
}

@media screen and (max-width: 259px) {
  .top-about-bg-area {
    height: 1200px;
    min-height: 1200px;
  }
}

/* SP 最小デバイスのみ */
@media screen and (max-width: 390px) {
  .pc_view {
    display: none;
  }

  .tb_view {
    display: none;
  }

  .sp_view {
    display: block;
  }
}