.page-img {
  background-size: cover;
  background-position: center;
}

.pageimg01 {
  background-image: url(../img/pageimg14_3.jpg);
}
/* .pageimg02 {
  background-image: url(../img/pageimg13.jpg);
} */
.pageimg02 {
  background-image: url(../img/pageimg13-02.jpg);
}

.pageimg03 {
  background-image: url(../img/pageimg03.jpg);
}
.pageimg04 {
  background-image: url(../img/pageimg04.jpg);
}
.pageimg05 {
  background-image: url(../img/pageimg05.jpg);
}
.pageimg06 {
  background-image: url(../img/pageimg06.jpg);
}
.pageimg07 {
  background-image: url(../img/pageimg07.jpg);
}
.pageimg08 {
  background-image: url(../img/pageimg08.jpg);
}
.pageimg09 {
  background-image: url(../img/pageimg09.jpg);
}
.pageimg10 {
  background-image: url(../img/pageimg12.jpg);
}
.pageimg11 {
  background-image: url(../img/pageimg11.jpg);
}

.page-title {
  background-color: rgba(0, 0, 0, 0.4);
  color: #fff;
  padding: 280px 0 200px 0;
  text-align: center;
}
.page-title h2 {
  font-size: 300%;
  font-weight: 900;
}
.page-title h6 {
  font-size: 80%;
  font-weight: 900;
  ffont-family: Arial, Helvetica, "sans-serif";
  margin-top: 10px;
  letter-spacing: 0.2em;
}
.page-title img {
  max-width: 60px;
  margin: 0 auto;
  margin-bottom: 10px;
}
.page-title-r {
  background-color: rgba(0, 0, 0, 0);
  color: #fff;
  padding: 180px 0 100px 0;
  text-align: center;
}
.page-title-r h2 {
  padding-bottom: 50px;
}
.r_subtitle {
  font-size: 140%;
  font-weight: bold;
}

h3 {
  font-size: 240%;
  letter-spacing: 0.08em;
  line-height: 1.5;
  margin-bottom: 80px;
  position: relative;
  font-weight: bold;
}
h3::before {
  border-bottom: 2px solid #e96c06;
  bottom: -20px;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 60px;
}

/*会社案内*/
.g_flex {
  display: flex;
  justify-content: center;
}
.g_l {
  width: 55%;
}
.g_r {
  width: 38%;
}
.g_r img {
  width: 80%;
}
.g_r p {
  text-align: center;
  margin-top: 10px;
}
.g_title {
  margin-bottom: 25px;
  font-size: 220%;
  font-weight: bold;
}
.daihname {
  font-size: 130%;
  font-weight: bold;
  margin-top: 20px;
  text-align: right;
}
.daihname span {
  font-size: 80%;
}
/* テーブル */
.table01 {
  width: 49%;
}

.table {
  width: 100%;
  border-top: 1px solid #ffdcbf;
}
.table td {
  font-size: 110%;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.06em;
  padding: 10px 0;
  border-bottom: 1px solid #ffdcbf;
}
.table02 td {
  padding: 2% 0;
}
.table .td01 {
  width: 30%;
  text-align: center;
  background-color: #ffdcbf;
  border-bottom: 1px solid #fff;
}
.table .td02 {
  padding-left: 3%;
}
.gaiyou_flex {
  display: flex;
  justify-content: space-between;
}
.map {
  width: 40%;
}
.table-gaiyou {
  width: 55%;
}
.g-table-maji {
  margin-bottom: 60px;
}

.company-img {
  width: 100%;
}

/*募集要項*/
.table05 .table {
  width: 100%;
  border-top: 1px solid #dbdbdb;
}
.table05 .td01 {
  width: 30%;
  text-align: center;
  background-color: #f8f8f8;
  border-bottom: 1px solid #dbdbdb;
}
.table05 td {
  border-bottom: 1px solid #dbdbdb;
}
/*タブ切り替え全体のスタイル*/
.tabs {
  margin-top: 50px;
  padding-bottom: 40px;
  background-color: #fff;
  width: 100%;
  margin: 0 auto;
}

/*タブのスタイル*/
.tab_item {
  width: calc(100% / 2);
  height: 50px;
  border-bottom: 3px solid #e96c06;
  background-color: #d9d9d9;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  border-radius: 10px 10px 0 0;
}
.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}
.tab_item span {
  position: relative;
  padding-right: 30px;
}

.tab_item span::before {
  content: "";
  display: block;
  position: absolute;
  top: -10%;
  right: 0%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: translateX(-50%) rotate(135deg);
}
/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 40px 40px 0;
  clear: both;
  overflow: hidden;
}

/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#programming:checked ~ #programming_content,
#design:checked ~ #design_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #e96c06;
  color: #fff;
}

.tabs input:checked + .tab_item span::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

/*テツウン*/
.tabs02 {
  margin-top: 50px;
  padding-bottom: 40px;
  background-color: #fff;

  width: 100%;
  margin: 0 auto;
}

/*タブのスタイル*/
.tab_item02 {
  width: calc(100% / 2);
  height: 50px;
  border-bottom: 3px solid #e96c06;
  background-color: #d9d9d9;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  border-radius: 10px 10px 0 0;
}
.tab_item02:hover {
  opacity: 0.75;
}

.tab_item02 span {
  position: relative;
  padding-right: 30px;
}

.tab_item02 span::before {
  content: "";
  display: block;
  position: absolute;
  top: -10%;
  right: 0%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: translateX(-50%) rotate(135deg);
}

/*ラジオボタンを全て消す*/
input[name="tab_item02"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content02 {
  display: none;
  padding: 40px 40px 0;
  clear: both;
  overflow: hidden;
}

/*選択されているタブのコンテンツのみを表示*/
#all02:checked ~ #all_content02,
#programming02:checked ~ #programming_content02,
#design02:checked ~ #design_content02 {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item02 {
  background-color: #e96c06;
  color: #fff;
}

.tabs input:checked + .tab_item02 span::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.oubo-soto {
  padding: 40px 40px 0px 40px;
}
.oubo {
  background-color: #f8f8f8;
  border-radius: 10px;
  padding: 40px;
  border: 1px solid #dbdbdb;
  max-width: 760px;
  margin: 0 auto;
}

.oubo-box {
  display: flex;
  justify-content: space-between;
}
.oubo h4 {
  font-size: 120%;
  letter-spacing: 0.08em;
  padding-bottom: 8px;
  margin-bottom: 15px;
  border-bottom: 1px solid #e96c06;
  font-weight: bold;
  line-height: 1.5;
}
.oubo h4 span {
  color: #e96c06;
  font-size: 80%;
  margin-right: 10px;
}

.oubo h6 {
  font-size: 120%;
  letter-spacing: 0.08em;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 15px;
}
.oubo h6 a {
  font-size: 200%;
  letter-spacing: 0.08em;
  color: #e96c06;
}

.oubo h5 a {
  font-size: 100%;
  letter-spacing: 0.08em;
  line-height: 1.5;
  background-color: #e96c06;
  color: #fff;
  border-radius: 20px;
  padding: 10px 20px;
}

.tel_c a {
  font-size: 240%;
  font-weight: bold;
  letter-spacing: 0.08em;
  line-height: 1.4;
  color: #e96c06;
}
.tel_c a span {
  font-size: 60%;
  color: #000;
}

/* お問合せエントリー */
.table0 {
  width: 100%;
  margin-top: 10%;
}
.table0 td {
  font-size: 110%;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.06em;
  padding: 10px 0;
  border-bottom: 1px solid #eee;
}
.table0 td {
  padding: 2% 0;
}
.table0 .td01 {
  width: 30%;
  text-align: left;
  background-color: #fff;
}
.table0 .td02 {
  padding-left: 3%;
}
.table0 tr {
  margin-bottom: 10px;
}
.cp_iptxt {
  position: relative;
  width: 80%;
}
.cp_iptxt input[type="text"] {
  box-sizing: border-box;
  width: 100%;
  padding: 0.5em;
  transition: 0.3s;
  letter-spacing: 1px;
  color: #000;
  background-color: #eee;
  border: none;
}
.ef input[type="text"]:focus {
  outline: none;
}
.form a {
  background-color: #e96c06;
  display: block;
  width: 15%;
  font-size: 120%;
  color: #fff;
  margin: 0 auto;
  margin-top: 5%;
  padding: 20px 30px;
  text-align: center;
}

.tel_cont {
  max-width: 800px;
  background-color: #ededed;
  border-radius: 5px;
  padding: 40px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.telc-tel2 {
  border-left: 1px solid #e96c06;
  padding-left: 20px;
}

/*お知らせ一覧*/
.news_list li {
  border-bottom: 2px solid #e96c06;
}
.news_list li a {
  display: flex;
  padding: 10px 0px;
}
.day {
  width: 110px;
  margin-right: 10px;
}

/*お知らせ詳細*/
.news_cont {
  display: flex;
  border-bottom: 2px solid #e96c06;
  padding-bottom: 10px;
}
.news_text {
  margin-top: 30px;
  margin-bottom: 10%;
}

.n_itiran02 {
  display: block;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.kaki-ka {
  color: #e96c06;
  text-decoration: underline;
}

.gaikan {
  margin-top: 30px;
  display: flex;
  justify-content: space-around;
}

.gaikan img {
  width: 30%;
  object-fit: cover;
}

.gaikan-mobile {
  display: none;
}

.gaiyou-t {
  font-size: 180%;
  font-weight: bold;
  margin-bottom: 20px;
  color: #e96c06;
}

.contactformboxs {
  max-width: 800px;
  background-color: #ededed;
  border-radius: 5px;
  padding: 40px;
  margin: 0 auto;
}
.contactformboxs .contactbox {
  margin-top: 20px;
  margin-bottom: 20px;
}
.contactformboxs .contactbox input {
  width: 100%;
  box-sizing: border-box;
  font-size: 120%;
  padding: 1%;
}
.contactformboxs .contactbox textarea {
  width: 100%;
  box-sizing: border-box;
  font-size: 120%;
  padding: 1%;
}
.contactformboxs .contactbox h5 {
  font-size: 140%;
  font-weight: bold;
  margin-bottom: 5px;
}
.contactformboxs .contactbox h5 span {
  font-size: 70%;
  font-weight: bold;
  margin-left: 10px;
  color: #d31215;
}
.screen-reader-response ul {
  display: none;
}
.screen-reader-response p {
  background-color: #d31215;
  color: #fff;
  box-sizing: border-box;
  padding: 0 5px;
  border-radius: 6px;
}
.wpcf7-not-valid-tip {
  color: #d31215;
  font-weight: bold;
}
.has-spinner {
  font-size: 140%;
  font-weight: bold;
  padding: 10px 40px;
  background-color: #e96c06;
  color: #fff;
  border: none;
  border-radius: 10px;
  cursor: pointer;
}
.wpcf7-response-output {
  box-sizing: border-box;
  margin-top: 20px;
  font-size: 115%;
  letter-spacing: 0.09em;
  line-height: 1.9;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3",
    "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic";
  padding: 0 5px;
  border-radius: 6px;
}

@media screen and (max-width: 800px) {
  .ega01 {
    width: 100%;
    float: none;
  }
  .ega02 {
    width: 100%;
    float: none;
    padding-top: 20px;
  }
  .sub-contents {
    display: flex;
    flex-direction: column;
  }

  .bne01 {
    order: 2;
    width: 100%;
    float: none;
    padding-top: 20px;
  }
  .bne02 {
    width: 100%;
    float: none;
    margin-top: 0px;
  }
  .sub-contents {
    padding-left: 0%;
    padding-right: 0%;
    padding-bottom: 50px;
  }
  .btn-bg a {
    padding: 30px 0px;
    background-position: 95% 50%;
  }
  .btb01 {
    display: none;
  }
  .btb02 img {
    display: none;
  }
  .btb02 {
    width: 80%;
    float: left;
    padding-left: 20px;
  }
  .btb02 h4 {
    font-size: 100%;
  }
  .submenu {
    display: block;
  }
  .submenu li {
    padding: 10px 0px;
  }
  .beneul {
    display: block;
  }
  .beneul li {
    width: 100%;
    padding-right: 5%;
    padding-top: 30px;
  }
  .menu-ul02 li {
    width: 50%;
  }
  .nag01 {
    width: 100%;
    float: none;
  }
  .nag02 {
    width: 100%;
    float: none;
  }
  .nag {
    margin-left: 0%;
    margin-right: 0%;
    padding: 20px 20px;
  }
  .daih-img {
    width: 100%;
    float: none;
  }
  .daih-text {
    width: 100%;
    float: none;
    padding-top: 30px;
  }
  .daih-img h5 {
    text-align: right;
  }
  .gaiyou01 {
    width: 100%;
    float: none;
    padding-bottom: 20px;
  }
  .gaiyou02 {
    width: 100%;
    float: none;
  }
  .int01 {
    background-size: cover;
    background-position: center;
    padding: 150px 20px 20px 0px;
    margin-bottom: 30px;
  }
  .int01 h5 {
    display: none;
  }
  .int01 h6 {
    display: none;
  }
  .int02 {
    background-size: cover;
    background-position: center;
    padding: 150px 20px 20px 0px;
    margin-bottom: 30px;
  }
  .int02 h5 {
    display: none;
  }
  .int02 h6 {
    display: none;
  }

  .int-b01 {
    width: 100%;
    float: none;
    padding-top: 20px;
  }
  .int-b02 {
    width: 100%;
    float: none;
    padding-top: 20px;
  }
  .of01 {
    width: 100%;
    float: none;
  }
  .of02 {
    width: 100%;
    float: none;
    padding-top: 20px;
  }
  .busi-t {
    padding: 20px 20px;
  }
  .ser_element {
    display: block;
    padding: 20px 0px;
  }
  .ser_text {
    width: 100%;
    margin-right: 0%;
  }
  .ser_img {
    width: 100%;
    padding-top: 15px;
  }
  .ser_cal {
    width: 100%;
    height: 0px;
    margin: 0 auto;
    display: block;
    justify-content: center;
    margin-top: 50px;
  }
  .btb03 {
    display: none;
  }
  .btb04 img {
    display: none;
  }
  .price {
    width: 95%;
  }

  /*社風*/
  .cal00 {
    width: 100%;
    margin: 0 auto;
  }
  .cal01 {
    width: 85%;
    margin: 0 auto;
  }
  .cal_cont {
    margin: 0 auto;
    width: 100%;
    display: flex;
    align-items: center;
  }
  .cal_coment {
    width: 25%;
    margin-left: 0px;
  }
  .cal_text {
    padding-top: 20px;
    font-size: 100%;
    text-align: left;
  }
  .g_flex {
    display: block;
    text-align: center;
  }
  .g_l {
    width: 100%;
    text-align: start;
  }
  .g_r {
    width: 100%;
    padding-top: 10px;
  }
  .g_title {
    font-size: 140%;
    margin-top: 30px;
  }
  .gaiyou_flex {
    display: block;
    justify-content: space-between;
  }
  .table01 {
    width: 100%;
    margin-bottom: 50px;
  }
  .tab_content {
    padding: 40px 0px 0;
  }
  /*タブ切り替えの中身のスタイル*/
  .tab_content02 {
    padding: 40px 0px 0;
  }
  .page-title {
    padding: 60px 0 60px 0;
  }

  .oubo-soto {
    padding: 0px;
    padding-top: 20px;
  }
  .oubo {
    padding: 5%;
  }

  .oubo-box {
    display: inherit;
  }
  .oubo h4 {
    font-size: 120%;
    padding-bottom: 8px;
    margin-bottom: 15px;
    border-bottom: 1px solid #e96c06;
  }

  .oubo h6 {
    font-size: 120%;
    line-height: 1.5;
    margin-bottom: 15px;
  }
  .oubo h6 a {
    font-size: 160%;
  }
  .oubo01 {
    margin-bottom: 20px;
  }

  .tel_cont {
    padding: 5%;

    display: inherit;
  }

  .telc-tel2 {
    border-left: none;
    padding-left: 0px;
    border-top: 1px solid #e96c06;
    padding-top: 20px;
    margin-top: 20px;
  }
  .tel_c a {
    font-size: 200%;
  }
  .map {
    width: 100%;
  }

  .gaikan {
    display: none;
  }

  .gaikan-mobile {
    margin-top: 30px;
    display: block;
  }
  .gaikan-mobile img {
    width: 100%;
    object-fit: cover;
  }

  .news_text img {
    width: 100%;
    height: auto;
  }
}
