@charset "UTF-8";

/*!
Theme Name: lightning-child
Template:   lightning
*/

/******************************************************************************
 共通
******************************************************************************/
div.flex {
    display: flex;
}

div.center {
    text-align: center;
    align-items: center;
    width: fit-content;
    margin: auto;
}

.no-disp {
    display: none;
}

.siteContent .container {
    padding-left: 10px;
    padding-right: 10px;
}

/* 投稿見出し */
.post .entry-body h2 {
    border-bottom: 4px solid bisque;
    padding: .8em 0 .2em;
}
.post .entry-body h3 {
    border-bottom: 1px solid brown;
    position: static;
    font-size: 1.5rem;
}

/***
検索ボックス
***/

.main-search-user,
.main-search {
    border: 1px solid #333;
    padding: .5em;
}
@media screen and (min-width: 768px) {
    .main-search-user,
    .main-search {
        width: 80%;
        margin: auto;
    }
}


/* 勝手に入る p */
.main-search-user p,
.main-search p {
    margin: 0;
}

.selects {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: .5em;
}
.selects select {
    font-size: 1rem;
}
.selects .inspection-select {
    width: 14rem;
}
.selects .pref-select {
    width: 8rem;
}
.selects .area-select {
    width: 9rem;
}

.x-webfont {
    padding: .5em;
    height: calc(1.5em + .75rem + 2px);
    text-align: center;
}

.count-and-search {
    display: flex;
}

.search-button {
    margin-left: 1rem;
}
.search-button button {
    width: 6rem;
}

/***
管理画面
***/

.management-tabs {
    display: flex;
    margin-top: 1rem;
}

.management-tabs div {
    border-width: 1px 1px 0 1px;
    padding: .5rem;
    margin: 0 .1rem;
    border-color: gainsboro;
    border-style: solid;
    cursor: pointer;
}

.management-tab-pages > div {
    border-width: 1px;
    padding: .5rem;
    border-color: gainsboro;
    border-style: solid;
}

.contractors details {
    border: white 8px solid;
    box-sizing: border-box;
}

.contractors details .contractor-name:hover {
    background-color:antiquewhite;
}
/*
.contractors details[open] .contractor-summary:hover {
    background-color: inherit;
}
*/
.contractors details[open]:hover {
    border-color: antiquewhite;
}

.contractors table thead {
    background-color:WhiteSmoke;
}

.contractor-data thead tr td:nth-child(1) {
    min-width: 40%;
}
.contractor-data thead tr td:nth-child(2),
.contractor-data thead tr td:nth-child(3),
.contractor-data thead tr td:nth-child(4),
.contractor-data thead tr td:nth-child(5) {
    min-width: 15%;
}

.contractor-data,
.image-pr,
.charging-histories {
    margin: .5rem;
}

.charging-histories-table {
  thead {
    white-space: nowrap;
    tr td {
      min-width: 20%;
    }
  }
  input {
    box-sizing: border-box;
    width: 100%;
  }
}

.charging-expired {
    color: red;
}

/* メインページと共通 */
.cwtv-checkbox {
    margin: 0 1rem 0 0;
    display: inline-block;
}

/******************************************************************************
 日本地図
******************************************************************************/

.japan-map-wrap {
    position: relative;
    width: fit-content;
    margin: 0 auto;
}

.japan-map {
    font-size: 14px;
    --map-pref-width: 48px;
    position: relative;
    margin: auto;
}

.japan-map .map-area {
    text-align: center;
    border: 2px solid;
    border-radius: 4px;
}

.japan-map .area-title {
    font-weight: bold;
    font-size: 1.1em;
}

.japan-map .area-inner {
    display: flex;
    flex-wrap: wrap;
    background-color: white;
}

.japan-map .map-pref-spacer {
    display: none;
}

.japan-map .map-pref {
    border: 1px solid gainsboro;
    width: var(--map-pref-width);
    background-color: white;
    cursor: default;
}

.japan-map .map-pref:hover {
    background-color: #eee;
}

.japan-map .map-pref a {
    text-decoration: none;
    color: black;
    display: block;
    width: 100%;
}

.japan-map .japan-map-image {
    display: none;
}

.japan-map .hokkaido-tohoku {
    border-color: #52bbd1;
    background-color: #52bbd1;
}

.japan-map .kanto {
    border-color: #71d5cb;
    background-color: #71d5cb;
}

.japan-map .hokuriku-koshinetsu {
    border-color: #75b777;
    background-color: #75b777;
}
.japan-map .chubu-tokai {
    border-color: #c0c743;
    background-color: #c0c743;
}

.japan-map .kinki {
    border-color: #efb838;
    background-color: #efb838;
}

.japan-map .chugoku {
    border-color: #f58c3f;
    background-color: #f58c3f;
}

.japan-map .shikoku {
    border-color: #f1a296;
    background-color: #f1a296;
}

.japan-map .kyushu-okinawa {
    border-color: #e77a72;
    background-color: #e77a72;
}

.post-japan-map {
    padding: 0 0 .5rem 0;
    margin-top: 2.4rem;
    border: 2px solid rgb(160, 30, 30);
    border-radius: 8px;
}
.post-japan-map p {
    padding-left: 1rem;
    margin-bottom: .5rem;
    color: white;
    font-size: 1.5rem;
    font-weight: bold;
    background-color: rgb(160, 30, 30);
    background-image: linear-gradient(gray 1px, transparent 0), linear-gradient(90deg, gray 1px, transparent 0);
    background-size: 4px 4px;
}
.post-japan-map .japan-map::before {
    position: absolute;
    content: '';
    white-space: pre;
    top: 12px;
    font-size: 1.5rem;
}


/* 576px 以上 */
@media (min-width: 576px) {
    /* .container 540px */
    /* font-size 14px */
}

/* 768px 以上 */
@media (min-width: 768px) {
    /* .container 720px */
    /* font-size 14px */
    /* 地図表示開始 */
    .japan-map {
        /* ブロック内に入れたとき都道府県要素がはみ出る分の調整 */
        margin-bottom: 64px;
    }
    .japan-map .japan-map-image {
        display: block;
    }
    .japan-map .map-area {
        position: absolute;
    }
    .japan-map .area-inner {
        width: calc(var(--map-pref-width) * 2);
    }
    .japan-map .hokkaido-tohoku {
        left: 380px;
        top: 80px;
    }
    .japan-map .kanto {
        left: 380px;
        top: 200px;
    }
    .japan-map .hokuriku-koshinetsu {
        left: 146px;
        top: 90px;
    }
    .japan-map .hokuriku-koshinetsu .area-inner {
        width: calc(var(--map-pref-width) * 3);
    }
    .japan-map .chubu-tokai {
        left: 272px;
        top: 320px;
    }
    .japan-map .kinki {
        left: 170px;
        top: 340px;
    }
    .japan-map .chugoku {
        left: -26px;
        top: 164px;
    }
    .japan-map .chugoku .area-inner {
        width: calc(var(--map-pref-width) * 5);
    }
    .japan-map .shikoku {
        left: 66px;
        top: 340px;
    }
    .japan-map .kyushu-okinawa {
        left: -62px;
        top: 266px;
    }
    .post-japan-map .japan-map::before {
        content: '※都道府県を選ぶと\a一覧ページに移動します';
    }
}

/* 992px 以上 */
@media (min-width: 992px) {
    /* .container 960px */
    /* font-size 16px */
}

/* 1200px 以上 */
@media (min-width: 1200px) {
    /* font-size 16px */
    /* .container 1140px */
}





/******************************************************************************
 固定ヘッダ
 lightning のヘッダは非表示、コンテンツの先頭に固定領域を作り疑似ヘッダとしている
 疑似ヘッダは .gMenu_outer で lightning のスクロール時アクションを適用
 その代わり .gMenu_outer に関する lightning の css を一部リセット
 モバイル時は最下部に移動
******************************************************************************/

.fixed-header {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    background-color: #f2efea;
    padding: 8px;
    align-items: center;
}

.fixed-header-wrap.gMenu_outer {
    float: initial;
    /* transition 初期値用 */
    top: -54px;
    bottom: -54px;
    /* bottom は使用するが高さには反映しない */
    height: fit-content;
    width: 100%;
    display: block;
}

.header_scrolled .gMenu_outer {
    position: fixed;
    top: 0;
    z-index: 1000;
    /* top をマイナス座標から 0 にトランジション */
    transition: top 1s;
    box-shadow: 0 0 4px grey;
}

.header_scrolled.admin-bar .gMenu_outer {
    top: 32px;
    bottom: initial;
}

@media (max-width: 782px) {
    .header_scrolled.admin-bar .gMenu_outer {
        top: 46px;
    }
}
@media (max-width: 600px) {
    .header_scrolled .gMenu_outer,
    .header_scrolled.admin-bar .gMenu_outer {
        top: initial;
        bottom: 0;
        /* bottom をマイナス座標から 0 にトランジション */
        transition: bottom 1s;
    }
}

.site-logo-image {
    width: 190px;
    height: 32px;
    /*
    background-image: url("/wp-content/uploads/2023/12/2dbe089cd3a60c92bf2480ba35333938.png");
    */
    background-size: 100% 100%;
    margin: auto 1rem;
}

.sns-buttons-wrap {
    font-size: 32px;
    display: flex;
    margin: auto 1rem auto 0;
    line-height: 1;
}
/*
.sns-buttons-wrap.in-mobile {
    position: absolute;
    top: 50%;
    opacity: 0;
}
*/

.sns-buttons-wrap > div {
    margin: auto .5rem auto 0;
    width: 32px;
    height: 32px;
}

.sns-buttons-wrap > div:hover {
    opacity: .6;
}

.sns-x a {
    color: black;
}
.sns-facebook a {
    color: #1877F2;
}
.sns-hatena {
    position: relative;
    display: inline-block;
    width: 32px;
    height: 32px;
    background-color: #00A4DE;
    border-radius: 6px;
}
.sns-hatena a {
    color: #f2efea;
    text-decoration: none;
}
.alt-fa-hatena::before {
    position: absolute;
	content: "B!";
	font-family: Verdana;
	font-weight: bold;
    font-size: 24px;
    top: 3px;
    left: 2px;
}
.sns-pocket a {
    color: #ef4056;
}
.sns-line a {
    color: #06c755;
}

/*
#SNS-check:checked ~ #SNS-close {
    display: block;
    opacity: .6;
}

#SNS-close {
    display: none;
    position: fixed;
    z-index: 3000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
}
*/

.custom-menu-wrap {
    font-size: 32px;
    color: #444;
    line-height: 1;
    margin: auto 0;
}
.custom-menu-item {
    position: relative;
    display: none;
    margin-right: .5rem;
}
.custom-menu-item.Articles {
    display: none;
    margin-left: .1rem;
    text-align: center;
}

.custom-menu-item > a {
    color: #444;
    text-decoration: none;
}

.custom-menu-item > div:hover,
.custom-menu-item summary:hover,
.custom-menu-item > a:hover {
    opacity: .6;
}
.custom-menu-item details[open] summary {
    color: #800;
}
.custom-menu-item details {
    position: relative;
}
.custom-menu-item summary {
    list-style-type: none;
}
.custom-menu-item summary::-webkit-details-marker {
    display: none;
}
.custom-menu-item .sns-buttons-wrap {
    position: absolute;
    top: 58px;
    z-index: 2000;
    background-color: #f2efea;
    padding: .5rem;
}

.menu-description {
    font-size: .8rem;
    text-align: center;
}

.navi-selector-wrap {
    width: fit-content;
    margin: auto 1rem auto auto;
    display: flex;
}
.navi-selector-wrap select {
    padding: .2rem .4rem;
}

.navi-inspection-selector {
    width: 11.5em;
}

.navi-pref-selector {
    width: 6.5em;
}

/* 2023/12/8 ページ遷移アイコンは非表示 */
.navi-page-transition {
    display: none;
}

a.navi-page-transition {
    color: #333;
    font-size: 1.5rem;
}
a.navi-page-transition:hover {
    opacity: .6;
}

@media (max-width: 782px) {
    .custom-menu-wrap {
        display: flex;
    }
    .custom-menu-item.SNS {
        display: block;
    }
    .sns-buttons-wrap:not(.in-mobile) {
        display: none;
    }
}
@media (max-width: 600px) {
    .custom-menu-wrap {
        margin-left: 1rem;
        font-size: 30px;
    }
    .custom-menu-item.Home {
        display: block;
    }
    .site-logo-image {
        display: none;
    }
    .header_scrolled .custom-menu-item .sns-buttons-wrap {
        top: -57px;
    }
}
@media (max-width: 480px) {
    .navi-inspection-selector,
    .navi-pref-selector {
        font-size: 12px;
    }
    .navi-page-transition {
        font-size: 1.3rem;
    }
}
@media (max-width: 400px) {
    .custom-menu-wrap {
        font-size: 28px;
        margin-left: 0;
    }
    .navi-selector-wrap {
        margin-right: 0.5rem;
    }
    .navi-inspection-selector,
    .navi-pref-selector {
        font-size: 11px;
    }
    .navi-page-transition {
        font-size: 1.2rem;
    }
}

/******************************************************************************
 contact form 7
******************************************************************************/
.form-label-required {
    font-size: .9em;
    font-weight: bold;
    padding: 0 2px;
    margin-left: 2px;
    color: white;
    background-color: indianred;
}
.form-label-title {
    font-weight: bold;
}
.form-note {
    font-size: .9em;
    &.important-note {
        font-weight: bold;
    }
}
.form-image-rect {
    width: fit-content;
    border: 2px solid gainsboro;
    border-radius: 4px;
    padding: 1em;
    margin-bottom: 1em;
    > * {
        margin: 0;
    }
}
.wpcf7-submit:focus,
.wpcf7-submit {
    color: #333;
    background-color: whitesmoke;
    border-color: gainsboro;
    box-shadow: unset;
}
.wpcf7-submit:hover {
    color: #333;
    background-color: gainsboro;
}
.wpcf7-form-control-wrap {
    display: inline-block;
    > .wpcf7-not-valid-tip {
        display: none;
        margin-top: 10px;
    }
    &.show-tips:not(:has(.original-error)) {
        > .wpcf7-not-valid-tip {
            display: block;
        }
    }
    input.form-fee {
        width: fit-content;
    }
    ~ .original-error-text {
        display: none;
        /* contact form 7 と同じ */
        color: #dc3232;
        font-size: 1em;
        font-weight: normal;
        margin-top: 10px;
    }
    &.show-tips:has(.original-error):has(.wpcf7-not-valid-tip) ~ .original-error-text {
        display: block;
    }
    .wpcf7-list-item label {
        margin-bottom: 0;
    }
}
.membership-agreements-wrap {
    width: fit-content;
    border: 1px solid #ced4da;
    border-radius: 4px;
    margin-bottom: 1em;
    padding: 1em 1em .5em 1em;
    #membership-agreements {
        margin-left: 1em;
    }
    p {
        margin: 0;
    }
}
.registration-appeal {
    width: fit-content;
    border: 2px solid cadetblue;
    border-radius: 4px;
    margin-bottom: 2em;
    padding: 1em;
    p {
        margin: 0;
    }
    .btn-primary {
        background-color: cadetblue;
        width: 100%;
    }
}
.general-contact {
    .btn-primary {
        background-color: cadetblue;
        width: 100%;
    }
}


/******************************************************************************
 点検種別×都道府県の固定ページ
******************************************************************************/

/* タイトル等 */
.page-header {
    position: relative;
    /* これをしないとデフォルト背景色が一瞬表示される */
    /* キーカラーを白に変更したためコメント */
    /*
    background-color: transparent;
    */
}

.no-contractors {
  font-size: 1.2em;
}

.cwtv-page h1,
.pref-page h1 {
    color: black;
}

.page-header_pageTitle, h1.page-header_pageTitle:first-child {
    font-size: 2rem;
    z-index: 1000;
}

.shobo-setsubi {
    background-image: url("/wp-content/uploads/2023/11/shobo-setsubi.jpg");
}
.shobo-boka {
    background-image: url("/wp-content/uploads/2023/11/shobo-boka.jpg");
}
.shobo-bosai {
    background-image: url("/wp-content/uploads/2023/11/shobo-bosai.jpg");
}
.kenchiku-tokken {
    background-image: url("/wp-content/uploads/2023/11/kenchiku-tokken.jpg");
}
.kenchiku-setsubi {
    background-image: url("/wp-content/uploads/2023/11/kenchiku-setsubi.jpg");
}
.kenchiku-boka {
    background-image: url("/wp-content/uploads/2023/11/kenchiku-boka.jpg");
}
.denji-dengen {
    background-image: url("/wp-content/uploads/2025/06/denji-dengen.jpg");
}


.denji-dengen::after,
.kenchiku-boka::after,
.kenchiku-setsubi::after,
.kenchiku-tokken::after,
.shobo-bosai::after,
.shobo-boka::after,
.shobo-setsubi::after {
    position: absolute;
    top: 0px;
    left: 0px;
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.3);
	background-image: radial-gradient(#888 20%, transparent 0%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
}


/* 地域と市区町村の絞り込み */
.advanced-search {
    background-color: GhostWhite;
    border: 2px solid #aad;
    border-radius: 10px;
    padding: .5rem;
    margin-bottom: .5rem;
}

.advanced-search p {
    margin-bottom: .2rem;
    line-height: 1.5;
    font-size: 1.1rem;
    font-weight: bold;
    border-bottom: 1px solid gainsboro;
}

.advanced-search-areas {
    width: 100%;
    margin-bottom: .2rem;
}

.advanced-search-area {
    margin: 0 1rem 0 0;
}

.major-cities-wrap {
    padding: 3px 0;
}

.major-city {
    display: inline-block;
    background-color: white;
    border-radius: 6px;
    border: 1px solid gainsboro;
    padding: 2px 4px;
    margin-right: 1rem;
}

.major-city a {
    color: #333;
    text-decoration: none;
}

.major-city::before {
    content: '\f02b';
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    color: #444;
}

.major-city:hover {
    background-color: #f5f8fa;
}

/*
.main-search-user #advancedsearch {
    margin: .5rem;
}
*/
.contractors-list {
    list-style-type: none;
    padding-left: 0;
    margin-top: 0;
}

.contractors-list th,
.contractors-list td {
    padding: .5rem;
}

.contractors-listitem {
    border-top: cadetblue solid 4px;
}

.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.t-center {
    text-align: center;
    vertical-align: middle;
}

/* 会員 */
.member.contractors-listitem table {
    border-top: none;
    font-size: 16px;
}
.member.contractors-listitem th {
    background-color:darkcyan;
    color: white;
    font-weight: bold;
    width: 7rem;
    font-size: 16px;
}
.member.contractors-listitem td {
    font-size: 16px;
}
.member.contractors-listitem {
  div.rented-hp, div.official-hp, div.official-pamphlet {
    background-color: #696;
    width: 100%;
    line-height: 2rem;
    border-bottom: 4px solid #242;
    border-radius: 1em;
    text-align: center;
    margin-top: .5rem;
    margin-bottom: .5rem;
  }
  div.rented-hp:hover, div.official-hp:hover, div.official-pamphlet:hover {
    background-color: #8b8;
  }
  div.rented-hp a, div.official-hp a, div.official-pamphlet a {
    text-decoration: none;
    display: block;
    color: white;
    font-weight: bold;
  }
}

.member .location-dot {
    margin-left: .5rem;
    font-size: 1.2rem;
}
.member .location-dot a {
    color: #cc0000;
}

.member.contractors-listitem {
    padding: .5rem;
}

.attr-pr-word,
.attr-member {
    background-color: #55a;
    border-radius: 4px;
    color: white;
    font-size: .9rem;
    font-weight: bold;
    padding: .2rem .3rem .1rem .3rem;
    display: inline-block;
}

.attributes span:not(:last-child) {
  margin-right: .3rem;
}

.member .sns-links {
  display: flex;
  flex-wrap: wrap;
  div:not(:last-child) {
    margin-right: .3em;
  }
  .sns-link {
    display: flex;
    width: fit-content;
    a {
      display: inline-flex;
      align-items: center;
      text-decoration: none;
      i {
        font-size: 2.5em;
      }
    }
    &:hover {
      opacity: .7;
    }
  }
}

.member .contractor-image-wrap {
  margin: auto;
  width: 320px;
  position: relative;
  .contractor-image {
    position: relative;
    width: 320px;
    /*
    height: 240px;
    */
    margin: auto;
    img {
      width: 100%;
      height: 100%;
    }
  }
}

/*
.member .contractor-logo {
    text-align: center;
    margin-bottom: .2rem;
    position: absolute;
    z-index: 100;
}
*/

.member .contractor-image-overlay-text {
    position: absolute;
    font-size: .8rem;
    line-height: 1.5;
}

.member .contractor-info-wrap {
    margin: auto;
    width: fit-content;
}

.member .contractor-info {
  margin-top: .5rem;
  .sns-link span {
    color: black;
  }
}

@media screen and (min-width: 768px) {
    .member.contractors-listitem {
        display: flex;
    }
    .member .contractor-image-wrap {
        margin: auto 1rem auto auto;
    }
    .member .contractor-info-wrap {
        margin: auto auto auto 1rem;
        width: 60%;
    }
}

.member .contractor-prtext {
    font-size: .9rem;
    line-height: 1.5;
    padding: .2rem;
}

.member .contractor-name {
  color: #444;
  font-size: 1.7rem;
  font-weight: bold;
  padding: .6rem 0 .3rem 0;
  border: none;
  margin: 0;
  a {
    color: #444;
    text-decoration: none;
    &:hover {
      color: #337ab7;
    }
  }
}

.member .contact-details {
  display: flex;
  align-items: center;
  margin-bottom: .2rem;
  .tel-number {
    text-decoration: underline;
  }
  .tel-number, .fax-number {
    font-size: 1.2rem;
    margin-left: .5rem;
  }
  .tel-contact-name {
    margin-right: 1rem;
  }
}

.member .support-areas,
.member .support-inspections {
  display: flex;
  margin-bottom: .2rem;
}

.member .support-areas-title,
.member .support-inspections-title {
    background-color: #a60;
    color: white;
    border-radius: 4px;
    padding: .2rem .3rem .1rem .3rem;
    margin-right: .2rem;
    width: 7rem;
    font-weight: bold;
    white-space: nowrap;
    flex-shrink: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.member .support-areas-contents,
.member .support-inspections-contents {
  margin: auto 0;
}

/* autop を解除しても自動で付く p */
.member .support-areas p {
    margin: 0;
}

/* リクエストメッセージ */
.request-msg {
    width: 100%;
    margin: .5rem auto;
    padding: .5rem;
    background-color: beige;
    border: 2px solid burlywood;
    text-align: center;
    font-size: 1rem;
}


/* 非会員 */
@media screen and (min-width: 768px) {
    .no-member.contractors-listitem .flex-div {
        display: flex;
    }
    .no-member .contact-details {
        margin-left: auto;
    }
}

.no-member.contractors-listitem {
    padding: .5rem 1rem;
}

.no-member .contractor-name {
    color: #444;
    font-size: 1.5rem;
    font-weight: bold;
    padding: .5rem 0;
    border: none;
    margin: 0;
}

.no-member .contact-details {
  .tel-number, .tel-contact-name {
    font-size: 1.2rem;
  }
  .tel-number {
    margin-left: .5rem;
  }
}

/* ページネーション */
.pagenation-title {
    text-align: center;
}

.pagenation-page {
    display: flex;
    justify-content: center;
}

.pagenation-page > div {
    position: relative;
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    width: 2.2rem;
    background-color: lightgray;
    padding: .35rem;
    margin: .25rem;
    border-radius: 50%;
}

.pagenation-page > div > a {
    display: block;
    position: absolute;
    text-decoration: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: .35rem;
    border-radius: 50%;
}

@media screen and (min-width: 768px) {
    .pagenation-page > div {
        font-size: 1.2rem;
        width: 3rem;
        height: 3rem;
        padding: .7rem;
    }
    .pagenation-page > div > a {
        padding: .7rem;
    }
}

.pagenation-page > div > a:hover {
    background-color: gray;
    color: white;
}


.pagenation .nowpage {
    background-color: gray;
    color: white;
    font-weight: bold;
}

/******************************************************************************
 業者別対応
******************************************************************************/
#_00000840-000 {
  .contractor-image-wrap .contractor-prtext {
    /* バランス調整 */
    font-size: .85rem;
  }
}

#_00001310-000 {
  .contractor-logo {
    /* バランス調整 */
    margin-bottom: .2em;
  }
}

#_00002155-000 {
  .attr-pr-word {
    background-color: #004272;
  }
  .location-dot {
    /*
      2025/02/27 googleマップが修正されるまで
    */
    display: none;
  }
  .support-inspections-contents {
    line-height: 1.4;
  }
  .external-links {
    display: flex;
    align-items: center;
    .sns-links {
      flex-shrink: 0;
      padding: 0 .5em;
      i {
        font-size: 3em;
      }
      img {
        width: 3em;
        height: 3em;
      }
    }
    .official-contact {
      font-size: 3rem;
      margin-left: .5rem;
      a {
        display: inline-block;
        color: #004272;
        &:hover {
          color: #d53f27;
        }
      }
    }
  }
  .contractor-image-wrap .contractor-prtext {
    /* バランス調整 */
    font-size: 1.1rem;
  }
}

#_00002615-000 {
  .external-links {
    .sns-links {
      i {
        font-size: 2em;
      }
    }
  }
}

#_00002620-000 {
  .location-dot {
    /* 2025/03/11 要望により非表示 */
    display: none;
  }
}

#_00002623-000 {
  .external-links {
    display: flex;
    align-items: center;
    .sns-links {
      flex-shrink: 0;
      line-height: 0;
      padding: 0 .5em;
      img {
        width: 2.5em;
        height: 2.5em;
      }
    }
  }
}

#_00002628-000 {
  .external-links {
    display: flex;
    align-items: center;
    .sns-links {
      flex-shrink: 0;
      line-height: 0;
      padding: 0 .5em;
      img {
        width: 2.5em;
        height: 2.5em;
      }
    }
  }
}

#_00002663-000 {
  .location-dot {
    display: none;
  }
  .contractor-logo {
    /* バランス調整 */
    margin-bottom: .2em;
    img {
      width: 70%;
    }
  }
  .contractor-name {
    ruby {
      position: relative;
      rt {
        position: absolute;
        font-weight: normal;
        font-size: .45em;
        top: -0.7em;
        left: 50%;
        transform: translateX(-50%);
      }
    }
  }
  .external-links {
    display: flex;
    align-items: center;
    .sns-links {
      flex-shrink: 0;
      padding: 0 .5em;
      i {
        font-size: 3em;
      }
      img {
        width: 3em;
        height: 3em;
      }
    }
    .official-contact {
      font-size: 3rem;
      margin-left: .5rem;
      a {
        display: inline-block;
        color: #004272;
        &:hover {
          color: #d53f27;
        }
      }
    }
  }
}

#_00002666-000 {
  .location-dot {
    display: none;
  }
  .contractor-logo {
    /* バランス調整 */
    margin-bottom: .2em;
    img {
      width: 70%;
    }
  }
  .external-links {
    display: flex;
    align-items: center;
    .sns-links {
      flex-shrink: 0;
      padding: 0 .5em;
      i {
        font-size: 3em;
      }
      img {
        height: 3em;
        width: auto;
      }
    }
  }
}

/******************************************************************************
 都道府県ページ
******************************************************************************/

.card-type-2.content-card-wrap {
    position: relative;
    width: fit-content;
}

.card-type-2 .content-card-title {
    font-size: 1.3rem;
    padding: 2px;
}

/******************************************************************************
 市区町村ページ
******************************************************************************/
h2.odcity {
    background-color: cadetblue;
    color: white;
    font-weight: bold;
    font-size: 1.5rem;
    padding: .5em .5em .3em .5em;
    margin-bottom: 0;
    border: none;
}

h2.odcity:first-of-type {
    margin-top: 1rem;
}

.odcity-heading-anchor,
.without-odcity {
    display: inline-block;
    margin-right: .5em;
}

.odcity-heading-anchor::before,
.without-odcity::before {
    content: '\f138';
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    color: #246;
    margin-right: .3em;
}

/******************************************************************************
 投稿ページ
******************************************************************************/

.single .entry-meta_items_term {
    display: none;
}

.single .widget_archive {
    display: none;
}

/* 投稿内のレイアウト設定でもできるが一括 */
.single .page-header {
    display: none;
}

.single .siteContent {
    padding-top: 0;
}

.single .media-heading a:hover {
    /* なぜか白に設定されている */
    /* インラインなので important */
    color: #464646 !important;
}

.single .media:hover,
.single .relatedPosts_item:hover {
    background-color: whitesmoke;
}


/******************************************************************************
 固定ページ
******************************************************************************/

@media screen and (min-width: 992px) {
    .page .breadSection,
    .page .mainSection .entry-body {
        width: 90%;
        margin: auto;
    }
}
@media screen and (min-width: 1200px) {
    .page .breadSection,
    .page .mainSection .entry-body {
        width: 80%;
        margin: auto;
    }
    .page .gMenu_outer {
        min-height: unset;
    }
}

.page .siteHeader {
    display: none;
}

.page .vk-mobile-nav-menu-btn {
    display: none;
}

/******************************************************************************
 サイトマップ
******************************************************************************/
.custom-sitemap {
    display: flex;
}

.custom-sitemap h2 {
    background-color: aliceblue;
    font-size: 1.5rem;
    padding: .5em;
}

.custom-sitemap .pref-list,
.custom-sitemap .knowledge-posts {
    width: 50%;
}

.custom-sitemap .list-block {
    margin: .5rem;
}

.custom-sitemap .category-list ul,
.custom-sitemap .tag-list ul {
    list-style: none;
    padding-left: 0;
}

.custom-sitemap .category-list a,
.custom-sitemap .tag-list a {
    display: inline-block;
    background-color: white;
    text-decoration: none;
    color: #333;
}

.custom-sitemap .category-item a:hover,
.custom-sitemap .tag-item a:hover {
    background-color: #f5f8fa;
}

.custom-sitemap .category-item::before {
    content: '\f07b';
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    color: #444;
    margin-right: .3em;
}

.custom-sitemap .tag-item::before {
    content: '\f02b';
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    color: #444;
    margin-right: .3em;
}

/******************************************************************************
 記事装飾
******************************************************************************/

.box-common {
    padding: 1em 1em 0 1em;
    margin-bottom: 1.2rem;
    border-radius: .5rem;
}

.box-common li:last-child,
.box-common *:last-child {
    margin-bottom: 1rem;
}

.gray-box {
    background-color: whitesmoke;
    border: 1px solid LightGrey;
}

.knowledge-title {
    margin-bottom: 0;
    padding: 0 .5rem;
    width: fit-content;
    border: 2px solid #acf;
    border-bottom: none;
    background-color: #e8f0ff;
    border-radius: .5rem .5rem 0 0;
    font-weight: bold;
}
.knowledge-title::before {
    content: '\f02d';
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    margin-right: .5rem;
    color: darkgreen;
}
.knowledge-box {
    border: 2px solid #acf;
    margin: -2px auto 1.2rem auto;
    border-radius: 0 .5rem .5rem .5rem;
}


/* リストのマーカーに指定文字 */
/* ul または　li に .list-??? を付ける */
ul {
    padding-left: 1.25rem;
}

ul[class^="list-"] {
    list-style: none;
    padding-left: 1.25rem;
}

ul[class^="list-"] li {
    position: relative;
}

li[class^="list-"]::before,
[class^="list-"] > li::before {
    list-style: none;
    position: absolute;
    left: -1.2em;
    top: -1px;
}

li.list-square::before,
.list-square > li::before {
    content: '■';
}
li.list-star::before,
.list-star > li::before {
    content: '★';
}

ul[class^="list-"] .list-normal {
    list-style: disc;
}
ul[class^="list-"] .list-normal::before {
    content: '';
}

.standard-table thead td {
    background-color: aliceblue;
    font-weight: bold;
}
.standard-table tbody {
    background-color: white;
}

dt {
    border-left: 4px solid #acf;
}
dd {
    border-left-color: transparent;
}

/******************************************************************************
 その他 Lightning に関するスタイル
******************************************************************************/

li {
    margin-bottom: .2rem;
}

.siteHeader_logo {
    width: 190px;
}

.has-inline-color {
    padding: 0;
}

/* フッターの Copyright 非表示  */
footer {
  .copySection {
    padding-top: 0;
    p:nth-child(3) {
      display: none !important;
      padding-bottom: 1em;
    }
  }
  .grecaptcha-text {
    font-size: 12px;
    a {
      /* 標準のリンク色はコントラストで怒られる */
      color: #2269a6
    }
  }
  .banner-for-contractor {
    background-color: indianred;
    font-size: 1.5em;
    text-align: center;
    border: 4px double black;
    a {
      text-decoration: none;
      color: floralwhite;
      font-weight: bold;
    }
  }
}
.grecaptcha-badge {
    visibility: hidden;
}

.vk-mobile-nav nav ul li a i,
.gMenu_name i {
    margin: 0 .3rem;
}

.gMenu li::before {
    border-bottom: none;
}
.gMenu > li:hover {
    background-color: darkseagreen;
}

.page_top_btn {
    right: 2%;
    bottom: 3%;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: darkseagreen;
    background-image: none;
    box-shadow: none;
}
.page_top_btn::before {
    position: absolute;
    content: "▲";
    color: white;
    font-size: 24px;
    left: 13px;
    top: 7px;
}

.scrolled .page_top_btn {
    opacity: 0.7;
}

@media (max-width: 600px) {
    .page_top_btn {
        bottom: calc(3% + 54px);
    }
}
