/*
Theme Name:Switch child
Theme URI:
Description:WordPressテーマ「Switch」の自作子テーマです。
Template:switch_tcd063
Author:
Author URI:
Version:2025.03.05
*/


/* body{
font-family: "Segoe UI", Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !;
} */

/* メニューアイコン設定 */
/*
.fa, .far, .fas {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
.fa::before,
.far::before,
.fas::before{
  font-style: normal;
}

.fa-home::before{
  content: "\f015";
}

.fa-user::before {
  content: "\f007";
}

.fa-fist-raised:before {
    content: "\f6de";
}

.fa-money-bill:before {
    content: "\f0d6";
}

.fa-envelope:before {
    content: "\f0e0";
}

.fa-pencil-alt:before {
    content: "\f303";
}

.fa-building:before {
    content: "\f1ad";
}
*/
/* 固定ページメイン画像が正常に反映しないためcss修正
（カスタマイズのカスタムCSSに記載があった部分）
*/
.p-page-header::before {
    z-index: 1;
}

.p-page-header__img {
  z-index: 0;
}

.p-page-header__title {
    z-index: 2;
}


/* テーブルのスタイルが上書きされていたため子テーマ側で追加 */
/* table */
.p-entry__body table { margin: 0 0 24px 0; border-collapse: collapse; }

.p-entry__body td, .p-entry__body th { padding: 10px 15px 7px; border: 1px solid #ddd; font-size: 14px; line-height: 2.2; }

.p-entry__body th { background: #fafafa; font-weight: normal; }

/* table style */
.table_no_border th, .table_no_border td { padding-left: 0; border: none; }
@media only screen and (max-width: 767px) {
  .p-entry__body td, .p-entry__body th{
    border: none;
  }
  .tablepress tbody td, .tablepress tfoot th {
    border-top: none;
}
}

/* =========新規スタイル設定========= */
/* header */
/* ハンバーガーメニュー */
@media only screen and (max-width: 1199px) {
    .p-global-nav .menu-item-has-children > a > .p-global-nav__toggle::before {
      letter-spacing: 0;
    }
}
/* top */
/* 3カラムコンテンツ */
.p-article08__desc .right{
display: block;
text-align: right;
}
.p-article08__desc .top{
  display: block;
  line-height: 1.3;
}
.p-index-content03__content{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* footer */
/* 20250602 管理画面PRエリアhtml直書きCSS抜き出し */
footer h2{
  text-align: center;
  font-size: 36px;
  border-bottom: solid 3px;
  display: inline-block;
  line-height: 1.6em;
  margin-bottom: 50px;
}
footer .area_outer,
footer .flow_outer,
footer .contact_outer{
  text-align: center;
}
/* ここまで */

/* AREA */
.area_wrap::before,
.area_wrap::after{
  display: none;
}
.area_txt{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.area_txt span{
  display: block;
  width: 72px;
}
.flow > li:not(:last-child) dl::after{
  border-top-color: #F0FAFE !important;
}
.post_row.area_wrap{
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.post_col.left_box{
  /* position: relative; */
  /* width: 540px; */
  width: 50%;
  max-width: 540px;
  margin-right: auto;
}
/* .post_col.left_box img{
  width: 458px;
  height: auto;
  display: block;
} */
.post_col.right_box{
  /* width: calc(100% - 540px); */
  width: 50%;
  max-width: 610px;
  margin-bottom: 100px;
}
.left_box .img_box{
  position: relative;
  background-image: url(https://cc-service.jp/wp/wp-content/uploads/2025/04/hokkaido-2.png);
  background-size: contain;
  background-position: left center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
}
/* 管理画面PRエリアhtml直書きCSS抜き出し */
footer .area_outer .right_box .area_ttl{
  text-align: left;
}
footer .area_outer .right_box .area_txt{
  margin-bottom: 50px;
  text-align: left;
}
footer .area_outer .right_box .area_txt:last-child{
  margin-bottom: 0;
}
/* ここまで */

/*吹き出しの位置の設定*/
.fukidashi_box{
  background-color:#E5F6FF;
  border-radius: 10px;
  width: 253px;
  /* height: 148px; */
  padding: 18px;
  position: absolute;
  /* left: 64%; */
  left: 284px;
  top: 61%;
  z-index: 1;
}

/* 吹き出しの三角部分の設定 */
.fukidashi_box::before{
  display: block;
  content: "";
  border-width: 32px;
  border-style: solid;
  border-color: #E5F6FF transparent transparent transparent;
  position: absolute;
  top: 30%;
  left: -6%;
  transform: rotate(-118deg);
  z-index: -1;
}
.fukidashi_box::after{
  display: block;
  content: "";
}
p.fukisashi{
  font-size: 18px;
  font-weight: bold;
  line-height: 1.8;
  text-align: left;
  /* display: inline; */
}
@media screen and (max-width: 1306px) {
  .fukidashi_box{
    left: 305px;
  }
}

@media screen and (max-width: 1265px) {
  .post_col.right_box{
    max-width: 540px;
  }
  .fukidashi_box{
    left: 312px;
  }
}
@media screen and (max-width: 1220px) {
  .post_col.right_box{
    max-width: 500px;
  }
}
@media screen and (max-width: 1175px) {
  .post_col.left_box{
    max-width: 450px;
  }
  .fukidashi_box{
    left: 285px;
    top: 59%;
  }
}
@media screen and (max-width: 1145px) {
  .post_col.right_box{
    max-width: 450px;
  }
}
@media screen and (max-width: 1100px) {
  .post_col.left_box{
    max-width: 440px;
  }
  .fukidashi_box{
    left: 271px;
    top: 57%;
  }
}
@media screen and (max-width: 1072px) {
  .post_col.right_box{
    max-width: 400px;
  }
}
@media screen and (max-width: 1026px) {
  .post_col.right_box{
    max-width: 362px;
  }
}
@media screen and (max-width: 991px) {
  .post_col.left_box{
    max-width: 390px;
  }
  .fukidashi_box{
    left: 239px;
    top: 55%;
    width: 228px;
  }
  p.fukisashi{
    font-size: 16px;
  }
}
@media screen and (max-width: 943px) {
  .post_col.right_box{
    max-width: 310px;
  }
  .left_box .img_box{
    background-position: left top;
  }
  .fukidashi_box {
    left: 210px;
    top: 52%;
  }
  .fukidashi_box::before {
    top: -21%;
    left: 16%;
    transform: rotate(-96deg);
  }
}
@media screen and (max-width: 863px) {
  .fukidashi_box {
    left: 164px;
  }
}
@media screen and (max-width: 825px) {
  .fukidashi_box {
    left: 110px;
    top: 47%;
  }
  .fukidashi_box::before {
    left: 49%;
  }
}
@media screen and (max-width: 767px) {
 .post_row.area_wrap{
  flex-direction: column;
  margin-left: 0;
  margin-right: 0;
 }
  .post_col.left_box{
    width: 100%;
    max-width: none;
    height: 350px;
    margin-right: 0;
    margin-bottom: 96px;
  }
  .left_box .img_box{
    background-position: center;
  }
  .post_col.right_box{
    width: 100%;
    max-width: none;
  }
  .fukidashi_box {
    left: 37vw;
    top: 83%;
  }
}
@media screen and (max-width: 480px) {
  .fukidashi_box {
    left: 50%;
    transform: translateX(-50%);
    /* top: 33vh; */
  }
  .fukidashi_box::before{
    left: 79%;
  }
}
@media screen and (max-width: 400px) {
  .fukidashi_box {
    top: 75%;
  }
}


/* CONTACT */
footer .button_box{
  align-items: stretch;
  gap: 0 32px;
}
.q_button .contact_sub-txt{
  display: block;
}
footer .contact_button{
  height: auto;
  display: flex;
  justify-content: center;
}
footer .contact_button:first-of-type{
  justify-content: flex-end;
  margin-right: 0;
}
footer .contact_button:last-of-type{
  justify-content: flex-start;
  margin-left: 0;
}
footer .contact_button a:hover{
  background: #005db2;
  opacity: 0.8;
}
footer .contact_button .q_button{
  height: 100%;
  min-height: 112px;
}
footer .contact_button:last-of-type .q_button{
  /* min-height: 112px; */
    display: flex;
    justify-content: center;
    align-items: center;
}
/* 管理画面PRエリアhtml直書きCSS抜き出し */
footer .contact_button a{
  background: #005db2;
}
/* ここまで */
/* FLOW */
footer .flow{
  margin-bottom: 100px;
}
  ul.flow li dd{
    letter-spacing: normal !important;
    width: calc(100% - 230px - 2vw);
    letter-spacing: 0.2em;
    line-height: 2em;
    }
/* 管理画面PRエリアhtml直書きCSS抜き出し */
/* footer .flow_outer .flow{
  margin-bottom: 100px;
} */
/* footer .flow_outer dl dd{
  letter-spacing: 0.2em;
  line-height: 2em;
} */
/* ここまで */

/* サービス */
.p-desc.l-inner{
  font-size: 18px;
}
.p-block01{
  margin-bottom: 40px;
}
.p-block01__title--sm{
 margin-bottom: 0;
}
.p-block04__desc{
  font-size: 18px;
}
.p-block05{
  margin-bottom: 0;
  gap: 16px 0;
}
.p-block05__item{
  width: calc(100%/3);
  border: none;
  /* padding: 40px 2.9661% 23px; */
  padding: 20px 2.9661% 20px;
}
.p-block05__item-icon{
  margin-bottom: 0;
}
.p-block05__item-icon img{
  height: 76px;
}
.p-block05__item-desc span{
  display: block;
  width: 100%;
  /* font-size: 24px; */
  font-size: 20px;
  color: #E3A470;
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  padding-top: 16px;
  padding-bottom: 8px;
}
/* FAQ */
.p-faq__cat{
  display: none;
}
/* お問い合わせ・採用フォーム */
.wpcf7 .outer p{
  width: 100%;
  display: flex;
  align-items: center;
  margin-bottom: 0;
}
@media screen and (max-width: 899px) {
  .wpcf7 .outer p{
    flex-wrap: wrap;
  }
}
  /* フォームバリデーションメッセージ */
.wpcf7-not-valid-tip{
  width: auto !important;
}

/* 会社概要・採用情報 */
.p-entry__body table tr td.column-1{
  background-color: #f9f9f9;
}
@media screen and (max-width: 767px) {
    .p-entry__body table tbody{
      display: block;
    }
    .p-entry__body table tr{
      display: flex;
      flex-direction: column;
      width: 100%;
    }
    .p-entry__body table tr td{
      width: 100%;
      border-left: 0;
      border-right: 0;
    }
    .p-entry__body table tr td.column-1{
      font-weight: bold;
    }
  }

/* NEWS　アーカイブ */
.post-type-archive-news .l-primary{
  width: 100%;
}
.post-type-archive-news .l-secondary{
  display: none;
}

/* page共通 */
/* .p-block04{
  margin-bottom: 100px;
} */
.p-block02:last-child {
  margin-bottom: 100px;
}
.p-cover{
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
    .p-block04{
    margin-bottom: 40px;
  }
  .p-block04__item--img {
    margin-bottom: 40px;
  }
  .p-cover {
    margin-bottom: 40px;
  }
  .p-block02:last-child{
    margin-bottom: 40px;
  }
  .p-block02__item.p-block02__item--content{
    margin-bottom: 0;
  }
}


/* レスポンシブ */
@media screen and (max-width: 1119px) {
  footer .button_box {
    flex-direction: column;
  }
  footer .contact_button:first-of-type {
    justify-content: center;
    margin-left: 0;
  }
  footer .contact_button:last-of-type {
    justify-content: center;
    margin-right: 0;
  }
}

@media screen and (max-width: 767px) {
  footer h2{
    font-size: 20px;
    margin-bottom: 40px;
  }
  ul.flow li dd{
    width: 100%;
  }
  footer .contact_button .q_button{
    min-height: 96px;
  }
  .p-footer-nav li {
    width: auto;
    padding-right: 16px;
  }
  .p-footer-nav li:last-of-type{
    padding-right: 0;
  }
  .p-block02{
    display: flex;
    flex-direction: column-reverse;
  }
  .p-block02__item{
    margin-bottom: 40px;
  }
  .p-block02__item-title {
      display: block !important;
  }
  .p-block02__item-desc{
    letter-spacing: normal !important;
  }
  .p-block04__desc {
    letter-spacing: normal !important;
    font-size: 16px;
  }
  .p-block05__item {
    width: 100%;
  }
  .p-block05__item-desc{
    font-size: 14px;
  }
  .p-block05__item-icon img{
    height: 64px;
  }
  .p-index-content02__title{
    margin-bottom: 16px;
  }
  .p-index-content06__title{
    margin-bottom: 16px;
  }
  .wpcf7{
    margin-bottom: 40px !important;
  }
}


