@charset "UTF-8";

/*変数*/
:root {
  --main_color: #ffa351;
  --ttl_color: #314d93;
  --txt_color: #242424;
  --hover_color: #e4821d;
  --en_font: "Arial", sans-serif;
}

/*呼び出し方は var(--main_color)*/

/*ベース*/
p,
li,
a,
dt,
dd,
address,
th,
td,
label,
input,
textarea {
  font-size: 1rem;
  line-height: 2;
  color: var(--txt_color);
}

.inner {
  max-width: 1200px;
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

main {
  overflow: hidden;
}

.sp {
  display: none;
}

@media screen and (max-width: 640px) {
  .inner {
    width: 92%;
  }

  .sp {
    display: block;
  }
}

/*横並び*/
.column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 640px) {
  .column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.column-reverse {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-direction: row-reverse;
}

@media screen and (max-width: 640px) {
  .column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/*見出し*/
.ttl {
  font-size: 3.2rem;
  line-height: 1.5;
  text-align: center;
  color: #000054;
  font-weight: bold;
  margin-bottom: 6%;
  font-family: shippori-mincho-b1, sans-serif;
  font-weight: 500;
  font-style: normal;
  position: relative;
}

.ttl span {
  font-family: "stix-two-math", serif;
  font-weight: 400;
  font-style: normal;
  color: #ea8b0c;
  font-size: 1.5rem;
  display: block;
  line-height: .8;
}

.base::before {
  display: inline-block;
  content: "";
  width: 1px;
  height: 48px;
  background-color: #000054;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.message_area .ttl,
.contact .ttl {
  color: #fff;
  padding-bottom: 2%;
  margin-bottom: 2%;
}

.message_area .ttl::before,
.contact .ttl::before {
  display: inline-block;
  content: "";
  height: 1px;
  width: 80px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
}

.message_area p {
  color: #fff;
}

.ttl.left {
  text-align: left;
}

.ttl-sub {
  font-size: 1.4rem;
  line-height: 1.8;
  color: var(--txt_color);
  font-weight: bold;
  margin-bottom: 5%;
}

.ttl-sub.center {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .ttl {
    font-size: 1.8rem;
    line-height: 1.6;
  }
}


/*ボタン*/
.btn {
  position: relative;
  padding: 1.5% 9%;
  text-align: center;
  border-radius: 50px;
  display: table;
  margin: 4% auto 0;
  background: #ea8b0c;
  color: #fff;
  font-weight: bold;
  transition: .4s;
}

.btn:hover {
  opacity: .7;
}

.btn.left {
  margin: 4% 0 0;
}

.btn.right {
  margin: 4% 0 0 auto;
}

.btn::after {
  content: '';
  display: inline-block;
  width: .9rem;
  height: .9rem;
  margin-left: 10px;
  background: url(../../assets/img/arrow_white.svg) no-repeat right center / contain;
}

/*セクション上下の余白を設定*/
.sec {
  padding: 130px 0;
}

@media screen and (max-width: 640px) {
  .sec {
    padding: 15% 0;
  }
}

/*ヘッダー*/
#header {
  position: relative;
  justify-content: space-between;
  align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  padding: 1rem 80px;
  background: rgba(255, 255, 255, .8);
}

.header-logo {
  max-width: 320px;
  width: 25%;
}

.header-logo.center {
  margin: auto;
}

.tel-num {
  max-width: 225px;
  width: 30%;
  display: block;
}

@media screen and (max-width: 768px) {
  .tel-num {
    margin-right: 3rem;
  }
}

@media screen and (max-width: 640px) {
  #header {
    padding: 0;
  }

  .header-logo {
    width: 60%;
    max-width: 200px;
    padding: 4% 3%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
  }

  #header.thanks-parts .header-logo {
    position: relative;
    margin: auto;
  }

  .tel-num {
    background: url(../../assets/img/tel_sp.svg) no-repeat right top / contain;
    width: 60px;
    height: 60px;
    margin-right: 0;
    position: fixed;
    top: 0;
    right: 60px;
    z-index: 99;
  }

  .tel-num img {
    display: none;
  }
}

/*ナビゲーションのデザイン*/
.nav_content {}

.nav_list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 1% 2%;
  background: #fff;
}

.nav_list li {
  width: 11%;
  text-align: center;
}

.nav_list li:last-child {
  margin-right: 0;
}

.nav_list li:last-child::after {
  display: none;
}

.nav_list a {
  color: var(--txt_color);
  transition: .4s;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  line-height: 2.5;
  font-style: normal;
  padding: 2.5% 0;
}

.minw {
  min-width: 152px;
}

.nav_list li .picup {
  color: #fff;
}

.nav_list li .orange {
  background-color: #ea8b0c;
}

.nav_list li .orange::before {
  display: inline-block;
  content: "";
  background: url(../img/human.svg) no-repeat center center/contain;
  height: 21px;
  width: 21px;
  vertical-align: sub;
  margin-right: 4px;
}

.nav_list li .navy {
  background-color: #000054;
  position: relative;
}

.nav_list li .navy::before {
  display: inline-block;
  content: "";
  background: url(../img/mail.svg) no-repeat center center/contain;
  height: 16px;
  width: 18px;
  vertical-align: sub;
  margin-right: 4px;
}

/*contentのコメントアウトを外すと文字の頭にボッチがつきます*/


.nav_list.-footer {
  background: none;
  margin-top: 5%;
}

.nav_list.-footer li::after {
  background: #d1d1d1;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  display: none;
}

/*バーガーメニュー*/
/* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}

@media screen and (max-width: 960px) {

  /* ハンバーガーアイコンの設置スペース */
  .drawer_open {
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 100;
    /* 重なり順を一番上にする */
    cursor: pointer;
    position: fixed;
    top: 0;
    right: 0;
    background: #ea8b0c;
    z-index: 1000;
  }

  /* ハンバーガーメニューのアイコン */
  .drawer_open span,
  .drawer_open span:before,
  .drawer_open span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background: #fff;
    transition: 0.5s;
    position: absolute;
  }

  /*ナビゲーションのデザイン*/
  .nav_content {
    width: 90%;
    max-width: 500px;
    height: 100%;
    position: fixed;
    top: 0;
    right: -100%;
    z-index: 99;
    background: rgba(0, 0, 0, .8);
    transition: .5s;
  }

  main .nav_list {
    position: relative;
    padding-top: 60px;
  }

  /*
  main .nav_list::before{
    display: inline-block;
    content: "";
    background: url(../img/logo02.svg) no-repeat center/contain;
    width: 80%;
    height: 42%;
    position: absolute;
    bottom: 0;
    right: 0;
  }
*/
  .nav_list {
    flex-direction: column;
    align-items: center;
    background: none;
    padding: 0;
  }


  .nav_list li {
    width: 100%;
    margin-right: 0;
    border-bottom: 1px solid #6a6a6a;
  }

  .nav_list li:first-child {
    border-top: 1px solid #6a6a6a;
  }

  .nav_list .navy {
    border-bottom: none;
  }

  .nav_list li a {
    color: #fff;
    display: block;
    padding: 20px 12px;
    text-align: center;
    height: auto;
  }

  .nav_list li::after {
    display: none;
  }

  .nav_list.-footer {
    margin-top: 5%;
    flex-direction: row;
  }

  .nav_list.-footer li {
    border-bottom: none;
  }
}

@media screen and (max-width: 767px) {
  .nav_list.-footer a {
    line-height: 1.6;
    padding: 3% 0;
  }

  .nav_list.-footer {
    flex-wrap: wrap;
  }

  .nav_list.-footer li {
    width: auto;
    margin-right: 4%;
  }

  .nav_list.-footer li:last-child {
    margin-right: 0;
  }
}

@media screen and (max-width: 639px) {
  .nav_list.-footer {
    margin-top: 4%;
    padding-top: 4%;
    border-top: 1px solid #000054;
    flex-wrap: wrap;
  }
  .nav_list.-footer li{
    width: 25%;
    margin-right: 0;
    margin-bottom: 2%;
  }
  .nav_list.-footer a {
    font-size: .85rem;
  }
}


#drawer_input:checked~.drawer_open {
  background: #7a7a7a;
}

/*スクロールしたらナビゲーションに付与される*/
.fixed {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 100;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  bottom: 8px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked~.drawer_open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked~.drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked~.drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}

#drawer_input:checked~.drawer_open span::before,
#drawer_input:checked~.drawer_open span::after {
  background: #fff;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked~.nav_content {
  right: 0;
}


/*ファーストビュー*/
.top_fv_content {
  position: relative;
  padding-bottom: 100px;
}

.top_fv_content::before {
  display: inline-block;
  content: "";
  background-color: #000054;
  height: 35%;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
}

.fv {
  width: calc(100% - 80px);
  margin-left: auto;
}

.fv .copy-wrap {
  padding: 13rem 0;
}

@media screen and (min-width: 1500px) {
  .fv .copy-wrap {
    padding: 16rem 0;
  }

  .top_fv_content .inner {
    max-width: none;
    margin-left: 4%;
  }
}


.fv h1 {
  font-size: 3.7rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: left;
  color: #fff;
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
  text-shadow: #333333 1px 0 10px;
}

.vegas-content {
  padding: 0;
}

.fv p {
  color: #a5a5a5;
  text-align: center;
  font-family: var(--en_font);
}

/*ファーストビューの基準の位置を変更する*/
.fv .vegas-slide-inner {
  /*  background-position: center bottom!important;*/
}

.scroll {
  position: absolute;
  left: 32px;
  top: 35%;
  writing-mode: vertical-rl;
  transform: translateY(-50%);
}

/* 線のアニメーション部分 */
.scroll::before {
  animation: scroll 2s infinite;
  background-color: #000;
  bottom: -115px;
  content: "";
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}

/* 線のアニメーション */
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }

  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }

  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }

  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

@media screen and (max-width: 768px) {
  .fv .copy-wrap {
    padding: 40% 4% 30%;
  }

  .fv h1 {
    font-size: 2.6rem;
    line-height: 1.6;
  }
}

@media screen and (max-width: 425px) {
  .fv h1 {
    font-size: 2.2rem;
  }
}


/*ごあいさつ*/
.message_area {
  background: url(../../assets/img/bg.jpg) no-repeat center center / cover;
}


.message_area .txt-box.center {
  margin: auto;
}

.message_area .txt-box.right {
  margin-left: auto;
}

.message_area .txt-box.bg {
  background: #000054;
  padding: 5%;
  width: 60vw;
  box-shadow: -7px 4px 13px -2px rgba(0, 0, 0, .5);
  margin-left: auto;
}

.message_area .txt-box .ttl {
  text-align: left;
}

.message_area .txt-box.center .ttl {
  text-align: center;
}

@media screen and (min-width: 1500px) {
  .message_area .txt-box.bg {
  width:  50vw;
}
}

/*画像＋テキストの要素を横並びにする*/
.item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
}

.item-list::after {
  content: '';
  display: block;
  width: 32%;
}

.item-list li {
  width: 32%;
}

.item-list picture {
  width: 100%;
  display: block;
}

@media screen and (max-width: 640px) {
  .item-list li {
    width: 100%;
    margin-bottom: 8%;
    padding-bottom: 8%;
    border-bottom: 1px dotted #9b9b9b;
    ;
  }

  .item-list li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .item-list picture {
    margin-bottom: 0;
    margin-right: 5%;
    width: 35%;
    float: left;
  }

  .item-list .ttl-sub {
    float: left;
    font-size: 1.2rem;
    width: 60%;
    margin-bottom: 2%;
  }

  .item-list li p {
    float: left;
    width: 60%;
    line-height: 1.6;
  }

  .item-list .ttl-sub.center {
    text-align: left;
  }
  .message_area {
  background: url(../../assets/img/sp_bg.jpg) no-repeat center center / cover;
}
}

@media screen and (max-width: 425px) {

  .item-list picture,
  .item-list .ttl-sub,
  .item-list li p {
    float: none;
    width: 100%;
  }
}

/*li要素が4つ〜6つ以上の時*/
.item-list li:first-child:nth-last-child(4),
.item-list li:first-child:nth-last-child(4)~.item-list li,
.item-list li:first-child:nth-last-child(5),
.item-list li:first-child:nth-last-child(5)~.item-list li,
.item-list li:first-child:nth-last-child(6),
.item-list li:first-child:nth-last-child(6)~.item-list li {
  margin-bottom: 8%;
}

/*要素が2つの場合*/
.item-list.two {
  justify-content: center;
}

.item-list.two li {
  margin-right: 8%;
}

.item-list.two li:last-child {
  margin-right: 0;
}

.item-list picture {
  margin-bottom: 5%;
}

@media screen and (max-width: 768px) {}

/*要素が4つの場合*/
.item-list.four li {
  width: 23%;
}

@media screen and (max-width: 1023px) {
  .item-list.four {
    flex-wrap: wrap;
    justify-content: center;
  }

  .item-list.four li {
    width: 42%;
    margin-right: 8%;
    margin-bottom: 8%;
  }

  .item-list.four li:nth-child(3),
  .item-list.four li:nth-child(4) {
    margin-bottom: 0;
  }

  .item-list.four li:nth-child(even) {
    margin-right: 0;
  }
}

@media screen and (max-width: 640px) {
  .item-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .item-list.four li {
    width: 100%;
  }

  .item-list.four li:nth-child(3),
  .item-list.four li:nth-child(4) {
    margin-right: 8%;
    margin-bottom: 8%;
  }

  .message_area .txt-box.bg {
    width: 80%;
  }
}

@media screen and (max-width: 425px) {
  .message_area .txt-box.bg {
    width: 100%;
  }
}

/*事業内容*/
.business {
  background-color: #f5f8fa;
  padding-bottom: 14%;
}

.business_box {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
}

.business_img {
  position: relative;
  width: 37%;
  z-index: 5;
}

.business_img::before {
  display: inline-block;
  content: "";
  height: 100%;
  width: 100%;
  background-color: #69a9cc;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: -1;
}

.business_list {
  width: 55%;
  background-color: #fff;
  position: relative;
  z-index: 1;
  padding-right: 6%;
}

.business_list::before {
  display: inline-block;
  content: "";
  background-color: #fff;
  width: 100vw;
  height: 130%;
  position: absolute;
  top: 50%;
  right: 0;
  z-index: -1;
  transform: translateY(-50%);
  box-shadow: 6px 9px 13px rgba(0, 0, 0, .1);
}

.business_list li {
  margin-bottom: 2%;
  border-bottom: 1px solid #000054;
  padding-bottom: 2%;
  position: relative;
  font-weight: 500;
}

.business_list li:last-child {
  margin-bottom: 0;
  border-bottom: none;
  padding-bottom: 0;
  position: relative;
}

.business_list li:last-child::after {
  display: inline-block;
  content: "など";
  position: absolute;
  right: 0;
}
@media screen and (max-width: 425px) {
.business_list li:last-child::after {
    top: 100%;
}
}

.business_list li::before {
  display: inline-block;
  content: "";
  background: url(../img/list_icon.svg) no-repeat center/contain;
  width: 15px;
  height: 15px;
  vertical-align: middle;
  margin-right: 12px;
}

/*施工実績*/
.works {
  background: url(../img/bg_02.jpg) no-repeat center/cover;
  background-attachment: fixed;
}

.works_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.works_list li {
  width: 26%;
  margin-right: 6%;
  margin-bottom: 8%;
  position: relative;
}

.works_list li:nth-last-of-type(3),
.works_list li:last-of-type {
  margin-right: 0;
}

.works_list li:nth-of-type(4),
.works_list li:last-of-type {
  margin-bottom: 0;
}

.works_list li .works_name {
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  color: #fff;
  background-color: rgba(0, 0, 84, .6);
  width: 100%;
  padding: 4% 0;
  font-weight: 500;
  font-size: 1.2rem;
}


/*会社紹介*/
.company {
  background-color: #000054;
}

.company .inner {
  background-color: #fff;
  padding: 8%;
}

.data_content {
  margin-bottom: 4%;
}

.company .data-list {
  width: 46%;
}

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

.company_jp li {
  width: 46%;
  position: relative;
  margin-bottom: 4%;
  padding-left: 2%;
}

.company_jp li:nth-child(3),
.company_jp li:last-child {
  margin-bottom: 0;
}

.company_jp li::before {
  display: inline-block;
  content: "";
  height: 100%;
  width: 8px;
  background-color: #000054;
  position: absolute;
  left: 0;
}

.company_jp li dl dt {
  color: #000054;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1.5;
}

.company_jp li dl dt::before {
  display: inline-block;
  content: "";
  background: url(../img/logo02.svg) no-repeat center/contain;
  height: 21px;
  width: 21px;
  margin-right: 4px;
  vertical-align: middle;
  position: relative;
  top: -2px;
}

.company_jp li dl dd {
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .company .item {
    width: 35%;
  }

  .company .data-list {
    width: 60%;
  }
  .works {
  background:none;

}
.works::before{
  display: block;
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100vh;
  background: url(../img/bg_02.jpg) no-repeat center/cover;
}
}

@media screen and (max-width: 640px) {
  .company .column {
    flex-direction: column-reverse;
  }

  .company .item {
    width: 100%;
  }

  .company .data-list {
    width: 100%;
    margin-bottom: 5%;
  }
}

/*採用情報*/
.recruit {
  background-color: #f9f9f9;
  padding-bottom: 0;
}

.bg_white {
  width: 92%;
  background-color: #fff;
  padding: 12% 8%;
  position: relative;
  margin-bottom: 12%;
  box-shadow: 6px 9px 13px rgba(0, 0, 0, .1);
}

@media screen and (min-width: 1500px) {
  .bg_white {
    padding: 8%;
  }
}
@media screen and (max-width: 1250px) {
.bg_white {
    width: 98%;
  }
}

.bg_white::after {
  display: inline-block;
  content: "";
  background: url(../img/recruit_text.svg) no-repeat left bottom/contain;
  height: 46%;
  width: 18%;
  position: absolute;
  left: -4px;
  bottom: 0;
}

.bg_white .center_colmun {
  align-items: center;
}

.recruit_img {
  width: 40vw;
  margin-left: calc(50% - 50vw);
  position: relative;
  z-index: 5;
}

@media screen and (min-width: 1500px) {
  .recruit_img {
    width: 37vw;
  }
}

.recruit_img::before {
  display: inline-block;
  content: "";
  background-color: #000054;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: -1;
}

.recruit_content {
  width: 58%;
}

@media screen and (min-width: 1500px) {
  .recruit_content {
    width: 58%;
  }
}

.recruit_subttl {
  font-size: 2rem;
  font-family: shippori-mincho-b1, sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.4;
  color: #000054;
  margin-bottom: 6%;
}

.recruit_subttl span {
  background-color: #000054;
  line-height: 1;
  margin-bottom: 2%;
}

.recruit_subttl02 {
  font-size: 1.7rem;
  font-family: shippori-mincho-b1, sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #fff;
  padding: 16px 32px;
  display: table;
}

.komidashi {
  background-color: #ea8b0c;
  margin: auto;
  margin-top: 12%;
}

.komidashi::before {
  display: inline-block;
  content: "";
  background: url(../img/human.svg) no-repeat center/contain;
  height: 28px;
  width: 28px;
  vertical-align: top;
  margin-right: 4px;
}

.recruit_box {
  display: flex;
  flex-wrap: wrap;
  max-width: 800px;
  margin: auto;
  margin-top: 6%;
  box-shadow: 6px 9px 13px rgba(0, 0, 0, .1);
  width: 79%;
  min-width: 595px;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1500px) {
.recruit_box {
        width: 70%;
        max-width: 100%;
    }
}

.recruit_box dt {
  width: 175px;
  background-color: #000054;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #b3b3b3;
  padding: 4% 2%;
}

.recruit_box dd {
  background-color: #f9f9f9;
  width: calc(100% - 175px);
  border-bottom: 1px solid #b3b3b3;
  padding: 4%;
}

.recruit_box dt:last-of-type,
.recruit_box dd:last-of-type {
  border-bottom: none;
}

.contact_announce {
  background-color: #fff;
  padding: 5%;
  position: relative;
  z-index: 5;
  border-radius: 20px 0 0 0;
  box-shadow: -7px -5px 13px rgba(0, 0, 0, .1);
  width: 92%;
  margin-left: auto;
}
@media screen and (max-width: 1250px) {
.contact_announce {
width: 98%;
}
}
@media screen and (max-width: 640px) {
    .contact_announce {
        width: 96%;
    }
}
/*.contact_announce::before {
  display: inline-block;
  content: "";
  background-color: #fff;
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  border-radius: 20px 0 0 0;
  box-shadow: -7px -5px 13px rgba(0, 0, 0, .1);
}
*/
.contact_announce_ttl {
  font-weight: 700;
  font-size: 1.7rem;
  display: table;
  margin: auto;
  margin-bottom: 4%;
  padding-bottom: .8%;
  color: #ea8b0c;
  position: relative;
}

.contact_announce_ttl::before {
  display: inline-block;
  content: "";
  height: 95%;
  width: 100%;
  background: url(../img/fukidashi.svg) no-repeat center/contain;
  position: absolute;
  top: 100%;
  left: 0;
}

.contact_announce_text {
  font-size: 1.2rem;
  text-align: center;
  font-weight: 700;
}

/*お問い合わせメールフォーム*/
.contact {
  background: #000054;
}

.contact .ttl::before {
  left: 50%;
  transform: translateX(-50%);
}

.contact p {
  text-align: center;
}

.contact_text {
  color: #fff;
  font-weight: 700;
  margin-bottom: 4%;
}

.contact_fukidashi {
  background-color: #ea8b0c;
  padding: 4%;
  border-radius: 20px;
  width: 80%;
  max-width: 800px;
  margin: auto;
  color: #fff;
  font-weight: 700;
  font-size: 1.2rem;
  text-align: center;
  line-height: 1.8;
  margin-bottom: 4%;
  position: relative;
}

.contact_fukidashi::before {
  display: inline-block;
  content: "";
  position: absolute;
  top: 99%;
  left: 50%;
  transform: translateX(-50%);
  border: 20px solid transparent;
  border-top: 20px solid #ea8b0c;
}

.formstyle {
  width: 80%;
  max-width: 800px;
  margin: 30px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 20px;
  padding: 5%;
  position: relative;
}

.formstyle label {
  margin-bottom: 1%;
  display: block;
  font-weight: 700;
}

/*必須*/
.red {
  display: inline-block;
  background-color: #E00A19;
  padding: 0 1%;
  line-height: 1.8;
  color: #fff;
  font-size: .8rem;
  margin-left: 5px;
  border-radius: 10%;
}

/*任意*/
.gray {
  display: inline-block;
  background-color: #606060;
  padding: 0 1%;
  line-height: 1.8;
  color: #fff;
  font-size: .8rem;
  margin-left: 5px;
  border-radius: 10%;
}

.formstyle select,
.formstyle input,
.formstyle textarea {
  width: 100%;
  background: #f7f7f7;
  border: 1px solid #919191;
  padding: 1% 2%;
  margin: 0 0 3%;
  font-size: 1rem;
  color: #231815;
  border-radius: 12px;
  border-radius: 4px;
}

input.radio {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 25px;
  height: 25px;
  -webkit-transition: all 0.15s ease-out 0s;
  transition: all 0.15s ease-out 0s;
  background-color: #d9d9d9;
  border: none;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  margin-right: 0.5rem;
  outline: none;
  position: relative;
  margin-bottom: 0;
  z-index: 10;
}

.radiobox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.checks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 5px;
}

label.radiotxt {
  margin: 0;
}

input.radio:hover {
  background: #9faab7;
}

input.radio:checked {
  background: #ea8b0c;
}

input.radio:checked::before {
  content: '';
  width: 10px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
  display: block;
  transform: translate(-50%, -50%) rotate(-45deg);
  display: block;
  position: relative;
  top: 40%;
  left: 50%;
}

.formstyle textarea {
  height: 250px;
}

.privacy {
  padding: 20px;
  width: 80%;
  height: 200px;
  margin: 30px auto;
  overflow-y: scroll;
  border: #231815 1px solid;
}

.privacy h2 {
  font-size: 1.1rem;
  font-weight: bold;
  line-height: 2rem;
  border-bottom: 1px dotted #8c8c8c;
  padding-bottom: 2%;
  margin-bottom: 2%;
}

.privacy h3 {
  font-size: 1rem;
  font-weight: bold;
  line-height: 2rem;
  margin-bottom: 12px;
  border-left: 5px solid #a6a6a6;
  padding-left: 2%;
}

.privacy p,
.privacy-list {
  font-size: 0.9rem;
  line-height: 1.8;
  margin-bottom: 20px;
  text-align: left;
}

.privacy-list li {
  list-style: disc;
  font-size: 0.9rem;
  margin-left: 2rem;
  line-height: 1.6;
}

.formstyle .submit-btn {
  width: 80%;
  font-size: 1.5rem;
  padding: 3% 0;
  border-radius: 50px;
  margin: 5% auto 0;
  color: #fff;
  background-color: #ea8b0c;
  border: none;
  font-weight: 700;
}

.privacycheck {
  width: 90%;
  text-align: center;
  margin: 0 auto;
  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;
}

.aicon-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.aicon-name ::before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background: url(../img/common/onepoint-blk.svg) no-repeat center center/contain;
}

.submit-btn {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.submit-btn:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1024px) {
.recruit_subttl02 {
    padding: 12px 32px;
  }
}

@media screen and (max-width: 960px) {
  .formstyle {
    width: 100%;
  }

  .contctform {
    width: 100%;
    margin: 0 auto;
  }

  .contctform p.txt {
    text-align: left;
  }

  .formstyle {
    width: 100%;
    margin: 20px auto;
  }

  .privacy {
    padding: 2%;
    width: 100%;
    height: 200px;
  }

  .privacycheck {
    width: 100%;
    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;
  }

  .formstyle textarea {
    height: 150px;
  }

  /*採用情報*/
  .bg_white .center_colmun {
    flex-direction: column-reverse;
  }
  .recruit_content {
    width: 100%;
    margin-bottom: 8%;
}
.recruit_subttl br{
  display: none;
}
.recruit_img {
    width: 80%;
    margin: auto;
  }
  .recruit_img::before {
    top: 12px;
    left: 12px;
  }
}

@media screen and (max-width: 640px) {
  .formstyle {
    border-radius: 5px;
  }

  .privacy {
    padding: 4%;
  }

  .radiobox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 2%;
  }
      .recruit_img::before {
        top: 10px;
        left: 10px;
    }
        .recruit_img {
        width: 96%;
        margin-bottom: 12%;
      }
}

/*フォーム確認画面*/
#cheked .ttl {
  margin-bottom: 2%;
}

.confirmation {
  padding: 100px 0;
}

.cheked-ttl {
  margin: 0 auto;
  text-align: center;
  font-size: 2.5rem;
  font-weight: 500;
  color: #231815;
  position: relative;
  margin-bottom: 50px;
}

@media screen and (max-width: 640px) {
  .formstyle .radio-label {
    display: block;
    margin-left: 0;
  }

  .confirmation {
    padding: 15% 0;
  }
}

/*サンクスページ*/
#thanks {
  padding: 10% 0;
}

.thanks {
  background-color: #000054;
}

#thanks .contact-ttl {
  margin: 0 auto 50px auto;
}

.thanks .ttl {
  color: #fff;
}

.top-column .logo-ttl.-center {
  width: 220px;
  display: block;
  text-align: center;
  margin: auto;
}

.thanks-wrap {
  padding: 80px 0;
}

.thanks-wrap .thanks-ttl {
  text-align: center;
  font-weight: 600;
  line-height: 1.8;
  color: #231815;
  font-size: 2rem;
  margin-bottom: 40px;
}

.thanks-wrap .txt {
  text-align: center;
}

#thanks_footer {
  padding: 0;
}

#thanks_footer .copy {
  margin-top: 0;
}

@media screen and (max-width: 640px) {
  .thanks-wrap {
    padding: 15% 0;
  }

  .thanks-wrap .thanks-ttl {
    font-size: 1.2rem;
  }

  .thanks-wrap .txt {
    text-align: left;
    font-size: 0.9rem;
  }
}


/*概要リスト*/
.data-list {
  flex-wrap: wrap;
}

.data-list dt {
  padding: 2%;
  border-bottom: 2px solid #000054;
}

.data-list dd {
  padding: 2%;
  border-bottom: 2px solid #cecece;
}


.data-list dt {
  width: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.data-list dd {
  width: calc(100% - 110px);
  padding-left: 1rem;
}

.data-list li {
  list-style: none;
}

.data-list address {
  font-style: normal;
  line-height: 1.6;
}

@media screen and (max-width: 640px) {
  .data-list {
    flex-direction: row !important;
  }
}

@media screen and (max-width: 500px) {
  .data-list {
    flex-direction: column !important;
  }

  .data-list dt,
  .data-list dd {
    padding: 2% 4%;
    border-bottom: none;
  }

  .data-list dt {
    width: 100%;
    font-weight: normal;
    background: #000054;
    color: #fff;
  }

  .data-list dd {
    width: 100%;
    padding: 2% 0;
  }
}

/*ギャラリー*/
.gallery {
  flex-wrap: wrap;
}

.gallery::before,
.gallery::after {
  content: '';
  display: block;
  width: 24%;
}

.gallery::before {
  order: 1;
}

.gallery li {
  width: 24%;
  margin-bottom: 1.5%;
}

/*横3つの場合*/
.gallery.three::after {
  width: 32%;
}

.gallery.three::before {
  display: none;
}

.gallery.three li {
  width: 32%;
}

@media screen and (max-width: 768px) {
  .gallery::after {
    width: 32%;
  }

  .gallery::before {
    display: none;
  }

  .gallery li {
    width: 32%;
  }
}

@media screen and (max-width: 640px) {
  .gallery {
    flex-direction: row;
  }

  .gallery::after {
    width: 49%;
  }

  .gallery li,
  .gallery.three li {
    width: 49%;
  }
}


/*TOPへ戻るボタン*/
.re-btn {
  position: fixed;
  bottom: 2%;
  right: 2%;
  z-index: 999;
  -webkit-transition: .4s;
  transition: .4s;
  max-width: 75px;
  opacity: .7
}

.re-btn img {
  width: 100%
}

.re-btn:hover {
  opacity: .7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)"
}

@media screen and (max-width: 640px) {
  .re-btn {
    position: fixed;
    bottom: 2%;
    right: 2%;
    z-index: 50;
    -webkit-transition: .4s;
    transition: .4s;
    width: 30%;
    z-index: 200;
    max-width: 80px;
    opacity: .7
  }

  .re-btn img {
    width: 100%
  }

  .re-btn:hover {
    opacity: .7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)"
  }
}

/*footer*/
footer {
  background: #f7f7f7;
  padding: 100px 0 0;
}

footer .footer-logo {
  width: 60%;
  max-width: 370px;
  margin: 0 auto;
  display: block;
}

footer address {
  font-style: normal;
  font-size: 1rem;
  line-height: 1.8;
  color: #fff;
  text-align: center;
}

footer .copy {
  font-size: .9rem;
  text-align: center;
  display: block;
  margin-top: 5%;
  padding: 1% 0;
  background: #f7f7f7;
}

@media screen and (max-width: 639px) {
  footer {
    padding: 15% 0 0;
  }

  footer .copy {
    margin-top: 15%;
  }
}

/*thanksページ*/
.thanks p {
  text-align: center;
  color: #fff;
}

@media screen and (max-width: 639px) {
  .thanks p {
    text-align: left;
  }
}

/*送信内容確認画面*/
.confirm-page .tel-num {
  right: 0;
}

#formWrap {
  line-height: 120%;
  /*cursor:pointer*/
}

table.formTable {
  width: 85%;
  margin: 5% auto;
  border-collapse: collapse;
}

table.formTable td {
  border-bottom: 1px solid #777777;
  padding: 15px;
  background-color: #fff;
}

table.formTable td {
  border: 1px solid #DDDDDD;
  padding: 15px;
  background-color: #fff;
}

table.formTable th {
  width: 30%;
  font-weight: normal;
  background: #3d3d3d;
  color: #fff;
  text-align: left;
  border: 1px solid #ddd;
  border-bottom: 1px solid #fff;
  padding: 15px;
  padding: 15px;
}

p.error_messe {
  margin: 5px 0;
  color: red;
}

.send {
  display: -webkit-box;
  display: flex;
  justify-content: space-around;
  width: 400px;
  margin: 0 auto;
  font-size: .87rem;
}

.submitbtn {
  background-color: #ea8b0c;
  font-size: 1rem;
  height: fit-content;
  text-align: center;
  margin: 20px auto;
  color: #fff;
  width: 190px;
  height: 50px;
  font-weight: 700;
}

.submitbtn,
.backpage {
  -webkit-transition: .4s;
  -o-transition: .4s;
  transition: .4s;
}

.submitbtn:hover,
.backpage:hover {
  opacity: .7;
}

.backpage {
  background-color: #b7b7b7;
  color: #231815;
  font-size: 1rem;
  height: fit-content;
  margin: 20px auto;
  text-align: center;
  width: 190px;
  height: 50px;
  font-weight: 700;
}



/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
@media screen and (max-width:639px) {


  #formWrap h4 {
    font-size: 1.5rem;
    margin: 10% auto;
  }

  table.formTable td {
    border-bottom: none;

  }

  table.formTable th,
  table.formTable td {
    width: auto;
    display: block;
  }

  table.formTable td,
  table.formTable th {
    padding: 10px;
    border: none;
  }

  table.formTable th {
    margin-top: 5px;
    border-bottom: 0;
  }

  form input[type="submit"],
  form input[type="reset"],
  form input[type="button"] {
    display: block;
    font-size: 1rem;
    width: 100%;
    height: 70px;
  }

  .backpage {
    font-weight: normal;
    cursor: pointer;
    margin: 20px auto 0px;
    width: 100%;
    height: 70px;
  }

  .send {
    display: flex;
    justify-content: space-around;
    width: 80%;
    margin: 0 auto;
    flex-direction: column;
  }

  .send>.nav-entry {
    padding: 2rem 2rem;
  }
}


/*1024*/
@media screen and (max-width:1024px) {
  .fv h1 {
    font-size: 3.2rem;
  }

  .ttl {
    font-size: 2.5rem;
  }

  .ttl span {
    font-size: 1.3rem;
  }

  .works_list li .works_name {
    font-size: 1rem;
  }

  .recruit_subttl02,
  .contact_announce_ttl {
    font-size: 1.5rem;
  }

  .recruit_subttl {
    font-size: 1.8rem;
  }

  .contact_announce_text {
    font-size: 1.1rem
  }

  .formstyle .submit-btn {
    width: 60%;
    font-size: 1.3rem;
  }
}

/*960px*/
@media screen and (max-width:960px) {
  .tel-num {
    width: 24%;
  }

  .header-logo {
    width: 32%;
  }

  .ttl {
    margin-bottom: 8%;
  }

  /*事業内容*/
  .business_box {
    align-items: center;
    justify-content: center;
  }

  .business_img {
    width: 30%;
  }

  .business_list {
    width: 65%;
    padding: 6%;
  }

  .business_list::before {
    height: 100%;
  }

  /*会社紹介*/
  .company .data_content{
    flex-direction: column;
  }
  .company .data-list {
    width: 76%;
    margin: auto;
}
footer .nav_list li:first-child {
        border-top: none;
    }
footer .nav_list{
  flex-wrap: nowrap;
}
footer .nav_list li a {
        color: #242424;
}
}

/*768px*/
@media screen and (max-width:768px) {
  .fv {
    width: calc(100% - 50px);
  }

  .fv h1 {
    font-size: 2.8rem;
  }

  #header {
    padding: 1rem 50px
  }

  .header-logo {
    width: 45%;
  }

  .scroll {
    left: 18px;
    font-size: .85rem;
  }

  .top_fv_content {
    padding-bottom: 100px;
  }

  .sec {
    padding: 100px 0;
  }
  .recruit {
    padding-bottom: 0;
  }

  .tel-num {
    width: 34%;
  }

  /*ごあいさつ*/
  .message_area .txt-box.bg {
    padding: 7% 10% 7% 7%;
    width: 80vw;
  }

  .ttl {
    font-size: 2.1rem;
  }

  .ttl span {
    font-size: 1.1rem;
  }

  /*事業紹介*/
  .business_box {
    background-color: #fff;
    position: relative;
    z-index: 1;
    flex-direction: column-reverse;
    padding: 8% 0;
  }

    .business_list{
      padding: 0 6% 8% 4%;
    }
  .business_list::before {
    display: none;
  }

  .business_box::before {
    display: inline-block;
    content: "";
    background-color: #fff;
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    box-shadow: 6px 9px 13px rgba(0, 0, 0, .1);
    z-index: -1;
  }
      .business_list {
        width: 100%;
      }
          .business_img {
        width: 50%;
    }

    /*会社紹介*/
    .company_jp {
      flex-direction: column;
      align-items: center;
    }
    .company_jp li:nth-child(3){
      margin-bottom: 4%;
    }
    .company_jp li {
    width: 70%;
    padding-left: 3%;
  }
  .company_jp li dl dt {
    font-size: 1.1rem;
}
/*採用情報*/
.recruit_box {
  min-width: auto;
  width: 100%;
  flex-direction: column;
}
.recruit_box dt {
    width: 100%;
    padding: 2%;
  }
  .recruit_box dd {
    width: 100%;
  }
}

/*645 個別指定*/
@media screen and (max-width:645px) {
    .company .data-list {
        width: 100%;}
            .company_jp li {
        width: 100%;
        padding-left: 4%;
      }

}

/*640*/
@media screen and (max-width:640px) {
  .bg_white {
  max-width: 1200px;
  width: 96%;
}
      .top_fv_content {
        padding-bottom: 80px;
    }
      .sec {
        padding: 80px 0;
    }
    .recruit {
    padding-bottom: 0;
  }
  #header {
    padding: 2rem 50px;
  }

  .header-logo {
    width: 60%;
    max-width: 254px;
    background-color: #fff;
    padding: 3%;
  }

  .fv h1 {
    writing-mode: vertical-rl;
    font-size: 2.4rem;
    line-height: 2;
  }

  .fv .copy-wrap {
    padding: 10% 4%;
  }

  /*ごあいさつ*/
  .ttl {
    font-size: 2rem;
    margin-bottom: 11%;
    }

  .ttl span {
    font-size: 1rem;
  }

  .message_area .txt-box.bg {
    padding: 10%;
    width: 90vw;
  }

  .message_area .ttl,
  .contact .ttl {
    padding-bottom: 4%;
    margin-bottom: 4%;
  }
  .business_list li{
    text-indent: -27px;
    padding-left: 27px;
    line-height: 1.6;
        margin-bottom: 4%;
    padding-bottom: 4%;
  }
  /*実績紹介*/
    .works_list{
      justify-content: space-between;
    }
  .works_list li {
    width: 47%;
    margin-right: 0;
    margin-bottom: 8%;
  }
  .works_list li:nth-of-type(4){
    margin-bottom: 8%;
  }
  .works_list li:last-of-type{
    margin:auto;
  }
  /*採用情報*/
            .recruit_subttl02, .contact_announce_ttl {
        font-size: 1.3rem;
    }
        .recruit_subttl {
        font-size: 1.6rem;
        margin-bottom: 8%;
    }
        .recruit_subttl br {
        display: block;
    }
    .recruit_subttl span {
    margin-bottom: 4%;
  }
  .recruit_box {
    margin-top: 8%;
  }
  .contact_announce {
    padding: 8% 5%;
  }
      .contact_announce_text {
        font-size: 1rem;
    }
    .komidashi{
      width: 100%;
      text-align: center;
    }
    /*お問い合わせ*/
    .contact_text {
          margin-bottom: 6%;
    }
    .contact_fukidashi {
    margin-bottom: 8%;
    width: 100%;
    font-size: 1.1rem;
  }
    .formstyle .submit-btn {
        width: 80%;
        font-size: 1.2rem;
    }
    .privacy h2 {
    font-size: 1rem;
  }
  .privacy h3 {
    font-size: 1rem;
  }


  .base::before {
    height: 32px;
  }
  footer .footer-logo {
    width: 70%;
  }
}

/*425*/
@media screen and (max-width:425px) {
  .header-logo {
    width: 60%;
    max-width: 260px;
    background-color: #fff;
    padding: 4% 3%;
  }

  .fv h1 {
    font-size: 2rem;
  }
      .business_box {
        padding: 18% 0 20%;
      }
      .business_img {
        width: 80%;
    }
        .business_list {
        padding: 0 8% 12% 6%;
    }
        .contact_announce {
        padding: 12% 5%;
    }
    .contact_announce_ttl {
    margin-bottom: 8%;
    padding-bottom: 2%;
  }
    .recruit_subttl02, .contact_announce_ttl {
        font-size: 1.2rem;
    }
        .ttl {
        margin-bottom: 14%;
    }
        .business_list li {
        margin-bottom: 6%;
        padding-bottom: 6%;
    }
        .works_list li {
        margin-bottom: 12%;
    }
        .works_list li:nth-of-type(4) {
        margin-bottom: 12%;
    }
    .company .inner {
    padding: 14% 8%;
}
    .data-list dd {
        width: 100%;
        padding: 5% 0;
    }
    .company_jp li {
    margin-bottom: 10%;
}
    .company_jp li:nth-child(3) {
        margin-bottom: 10%;
    }
    .bg_white {
    padding: 14% 8%;
    margin-bottom: 14%;
}
    .recruit_content {
        margin-bottom: 10%;
    }
    .komidashi {
    margin-top: 14%;
}
    .recruit_box {
        margin-top: 12%;
    }
    .komidashi::before {
    height: 20px;
    width: 20px;
  }
  .recruit_box dd {
    padding: 6%;
}
    .message_area .ttl, .contact .ttl {
        padding-bottom: 8%;
        margin-bottom: 8%;
    }
        .contact_text {
        margin-bottom: 8%;
    }
        .contact_fukidashi {
        margin-bottom: 14%;
      }
      .contact_fukidashi{
        border-radius: 8px;
      }
      .contact_fukidashi::before {
    border: 15px solid transparent;
    border-top: 15px solid #ea8b0c;
  }
  .formstyle {
    padding: 10% 6%;
  }
  .formstyle select, .formstyle input, .formstyle textarea {
    margin: 0 0 8%;
}
.radio{
  margin-right: 4px !important;
  margin-bottom: 0 !important;
}
.bg_white::after {
    width: 31%;
  }
}

/*375*/
@media screen and (max-width:375px) {
  .header-logo {
    width: 60%;
    max-width: 260px;
    background-color: #fff;
    padding: 5% 2%;
  }
    .works_list li {
    width: 48%;
  }
      .works_list li .works_name {
        font-size: .9rem;
      }
          .nav_list.-footer li {
        width: 32%;
      }
          .company_jp li {
        padding-left: 6%;
    }
}


.w_350{
  display: none;
}


/*350*/
@media screen and (max-width:350px) {
  .header-logo {
    width: 61%;
    max-width: 260px;
    background-color: #fff;
    padding: 6% 3%;
  }
  .works_list li .works_name {
        font-size: .85rem;
      }
              .recruit_subttl br {
        display: none;
    }
    .w_350{
      display: block;
    }
    .contact .ttl {
      line-height: 1.3;
    }
        .formstyle .submit-btn {
        width: 100%;
      }
      .privacycheck {
        font-size: .9rem;
      }
}

.re-btn {
  display: flex;
  align-items: center;
    position: fixed;
    bottom: 11%;
    right: 2%;
    z-index: 50;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    width: 100px;
    height: 100px;
    max-width: 100px;
    opacity: .8;
    border-radius: 50%;
    background: linear-gradient(90deg, rgb(27, 88, 173) 0%, rgb(0, 0, 84) 100%);

}
@media screen and (max-width:960px) {
  .re-btn {
   bottom: 2%;
       width: 80px;
    height: 80px;

  }
}

.recruit_box ul li{
  text-indent: -1em;
  padding-left: 1em;
}
.w425{
  display: none;
}
@media screen and (max-width:640px) {
.recruit_box ul li{
line-height: 1.4;
margin-bottom: 2%;
}
.recruit_box p{
line-height: 1.4;
}
.recruit_box dd{
  line-height: 1.4;
}
}
@media screen and (max-width:425px) {
.w425{
  display: block;
}
}
/*画像追加*/
.worksimg{
    width: 70%;
    margin: auto;
    margin-top: 80px;
    filter: drop-shadow(8px 8px 0px #000054);
}

@media screen and (max-width:640px) {
.worksimg {
    width: 100%;
    margin: auto;
    margin-top: 60px;
  }
}