@charset "utf-8";

/* ==========================================================================
   WordPress最適化用の調整（競合回避）
   ========================================================================== */

/* 
   WordPress標準のブロック要素やプラグインによる
   テーブルスタイルの強制上書き（リセット）を防ぐための調整 
*/
.entry-content table.contact_form,
table.contact_form {
  width: 100% !important;
  border-collapse: collapse;
}

/* 
   管理バー（Admin Bar）表示中のアンカーリンク（ページ内リンク）のズレを補正。
   固定ヘッダー(60px) ＋ 管理バー(PC:32px / SP:46px)の高さ分をスクロール位置から相殺します。
*/
.admin-bar .anchor-point {
  transform: translateY(-92px); /* 60px + 32px */
}
@media (max-width: 782px) {
  .admin-bar .anchor-point {
    transform: translateY(-106px); /* 60px + 46px */
  }
}

/* ==========================================================================
   既存のスタイル定義・レスポンシブ最適化
   ========================================================================== */

.bg01 {
  padding: 60px 0;
}

.news_box_wap {
  width: 100%;
  margin-top: 30px;
}

.news_box_wap .news_box_ttl {
  padding-right: 40px;
}

.news_s_box {
  margin-bottom: 100px;
}

/* 投稿リストやテーブル表示の縦並び化（SP） */
.table01 th {
  padding: 15px 0 0;
  width: 100%;
  display: block;
  border: none;
  font-size: 3.8vw;
}

.table01 td {
  padding: 0 0 15px;
  width: 100%;
  display: block;
  border-bottom: 1px solid #ccc;
  font-size: 3.8vw;
}

/* フォーム送信ボタンなどのSP最適化 */
input[type="button"],
input[type="submit"],
button {
  margin-bottom: 10px;
  -webkit-appearance: none; /* iOSブラウザでのデフォルトデザイン強制解除 */
  border-radius: 4px;
}

.sub_ttl {
  padding: 60px 0;
}

/* --------------------------------------------------------------------------
   お問い合わせフォーム（Contact Form）のSP最適化
   -------------------------------------------------------------------------- */
table.contact_form th {
  padding: 15px 0 5px;
  width: 100%;
  display: block;
  text-align: left;
  border: none;
}

table.contact_form td {
  width: 100%;
  display: block;
  padding: 0;
}

/* WordPressのフォームプラグイン（Contact Form 7等）を使用する場合に、
   入力欄が横にはみ出すのを防ぐためのレスポンシブ幅100%化 */
table.contact_form input[type="text"],
table.contact_form input[type="email"],
table.contact_form input[type="tel"],
table.contact_form textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.mt-200 {
  margin-top: -15px;
}

/* 実績紹介（Results）等のテーブルレスポンシブ */
.cont11 .cont11-box .table-ptn01 tr th,
.cont11 .cont11-box .table-ptn01 tr td {
  display: block;
}

.cont11 .cont11-box .table-ptn01 tr th {
  width: 100%;
}

.table-ptn02-wrap {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch; /* SPスクロールを滑らかにする */
}

.cont11 .cont11-box .table-ptn02 {
  width: 800px;
}

/* 選ばれる理由（About）等のグリッド崩れ防止 */
.cont14 .cont14-row-wrap .cont14-row {
  -webkit-flex-direction: column !important;
  flex-direction: column !important;
}

.cont14 .cont14-row-wrap .cont14-row .cont14-row-item {
  width: 100%;
}

/* --------------------------------------------------------------------------
   コンテンツブロック（各ページ共通）
   -------------------------------------------------------------------------- */
.cont01 .cont01_ttl {
  width: 100%;
  text-align: center;
}

.cont01 .cont01_ttl .btn_main {
  display: none;
}

.cont01 .btn_wap {
  width: 100%;
}

.cont01 .btn_wap .btn_main {
  display: inline-block !important;
}

/* 業務内容（Business）などの画像配置調整 */
.cont02 > img {
  width: 100%;
  left: 0;
  height: 200px;
  object-fit: cover;
}

.cont02.rev > img {
  position: relative;
  right: 0;
  left: 0;
}

.cont02 .cont02_txt_box {
  width: 100%;
  margin-top: 10px;
}

.cont02 .cont02_txt_box .bg_inner {
  padding: 40px 0;
}

.con03 .container {
  width: 100%;
}

.con03 img {
  width: 100%;

}

.cont04 {
  padding: 60px 0;
}

.cont06 .cont06-row {
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-bottom: 40px;
}

.cont06 .cont06-row img {
  margin-bottom: 30px;
}

.cont06 .cont06-row img,
.cont06 .cont06-row p {
  width: 100%;
}

/* Google Map (iframe) レスポンシブ */
.cont07 iframe {
  width: 100% !important;
  height: 200px;
}

.cont08 .cont08_box_txt02 i {
  font-size: 7vw;
}

.cont09 .cont09_box figure img {
  height: 140px;
  object-fit: cover;
}

.cont09 .cont09_box figure .material-icons-outlined {
  left: unset;
  right: 10%;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.cont12 .cont12-wrap .cont12-item {
  -webkit-flex-direction: column;
  flex-direction: column;
  padding: 20px;
}

.cont12.cont12-1 .cont12-wrap .cont12-item p:first-child {
  border-right: none;
  border-bottom: 1px solid #2e3192;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.cont12 .cont12-wrap .cont12-item p:last-child {
  padding-left: 0;
}

.cont12 .cont12-wrap .cont12-item img {
  width: 100%;
  margin: 30px 0;
}

.anchor-link {
  -webkit-flex-direction: column;
  flex-direction: column;
}

.anchor-link a:nth-child(2) {
  margin: 20px 0;
}

/* 通常のアンカーリンク（ページ内ジャンプ）位置調整 */
.anchor-point {
  -webkit-transform: translateY(-60px);
  transform: translateY(-60px);
}

/* --------------------------------------------------------------------------
   その他の調整
   -------------------------------------------------------------------------- */
.rev {
  -webkit-flex-direction: initial;
  flex-direction: initial;
}

.pc_none {
  display: block;
}

#footer .footer-inner .footer-nav{
  display:none ;
}