@charset "UTF-8";

/*
    Theme Name: ハチ駆除専門店
    Description: ハチ駆除専門店のテーマ
    Theme URI: https://hachikujyo.group
    Author: 株式会社GRACE ビジネスコンサルティング事業部
    Author URI: http://gr1.jp/
    Version: 1.0
    License: GPL
    License URI: https://www.gnu.org/copyleft/gpl.html
*/
/* Reset */
h1,
h2,
h3,
h4,
h5 {
    padding: 0;
    margin: 0;
}

p {
    margin: 0;
}

ol,
ul {
    list-style: none;
}

ol,
ul,
dl,
dt,
dd {
    padding: 0;
    margin: 0;
}

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}

a {
    color: #413226;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

img {
    vertical-align: middle;
}

html {
    scroll-behavior: smooth;
}

/* Default */
#wrapper {
    width: 100%;
    min-width: 981px;
    font-size: 0.9em;
    color: #333333;
    font-family: "HiraKakuPro", "Hiragino kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, sans-serif;
    line-height: 1;
    letter-spacing: 1px;
}

#wrapper_mv {
    background: url(images/mv_bg.jpg) 50% 0 no-repeat;
    background-size: 100%;
}

.home #wrapper_mv {
    background: linear-gradient(to bottom, transparent 80%, #000 0%, #000 97%, transparent 0%), url(images/mv_bg.jpg)no-repeat center/cover;
    padding-bottom: 30px;
    position: relative;
}

.top-mv__area-box {
    position: absolute;
    display: flex;
    flex-direction: column;
    aspect-ratio: 6.8/1;
    width: 65%;
    bottom: 0;
    left: 0;
    border: 1px solid #fff;
}

.top-mv__area-title {
    background: #000;
    color: #fff;
    font-size: 16px;
    padding: .3em 0 .4em;
    margin: 0;
}

.top-mv__area-content {
    background: #fff;
    padding: .5em;
    flex-grow: 1;
    white-space: wrap;
    text-align: left;
    font-weight: 700;
    font-size: 14px;
}

.content {
    padding: 25px 0 0;
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 24px;
}

.content p {
    line-height: 1.4;
}

.main-content {
    width: 698px;
}

.top-mv,
.pages-mv img {
    max-width: 100%;
}

.pages-mv img {
    max-width: 1200px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages-mv {
    border-bottom: solid 6px #000000;
}

.header,
.footer {
    min-width: 981px;
    width: 100%;
    font-size: 0.9em;
}

/* Default - side menu */
.side-menu {
    width: 261px;
    height: max-content;
    position: sticky;
    top: 25px;
    max-height: calc(100vh- 25px);
    overflow-y: scroll;
}

.side-menu__address {
    font-size: 12px;
    font-style: normal;
}

.side-menu .side-tel a {
    background: #000;
    color: #fff;
    font-size: 24px;
    display: block;
    font-weight: bold;
    padding: 16px 8px;
    white-space: nowrap;
}

.side-menu__title {
    font-size: 18px;
    display: block;
    padding-bottom: 4px;
    position: relative;
    margin-bottom: .5em;
}

.side-menu__title::after {
    content: "";
    display: block;
    background: linear-gradient(-45deg, transparent calc(50% - .5px), #000 0, #000 calc(50% + .5px), transparent 0) repeat-x;
    background-size: 5px 100%;
    position: absolute;
    height: 4px;
    left: 0;
    right: 0;
    bottom: 0;
}

.side-case__item {
    border: solid 1px #ddd;
    margin-bottom: 5px;
    font-size: 1.1em;
    border-radius: 3px;
}

.side-case__link {
    display: grid;
    gap: 10px;
    grid-template-columns: auto 1fr;
    align-items: center;
    padding: 8px;
}

.side-case__thumbnail {
    width: 80px;
    aspect-ratio: 1/1;
}

.side-case__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.side-case__date {
    color: #FFCB16;
    display: inline-block;
    margin-bottom: 5px;
    font-size: 12px;
}

.side-case__title {
    font-size: 14px;
}

.side-box {
    background: #FFF76E url(images/side_company_bg.png);
    padding: 10px;
}

.side-box h2 img {
    width: auto;
    display: block;
    margin: 10px auto;
}

.side-box .slide_inner {
    background: #fff;
    padding: 10px;
    border-radius: 3px;
}

.side-box .slide_inner img.center {
    display: block;
    margin: 20px auto;
}

.side-box .slide_inner p.tel {
    color: #000;
    font-size: 22px;
    display: block;
    font-weight: bold;
    letter-spacing: 0em;
    text-align: center;
    white-space: nowrap;
}

.side-box .slide_inner p.tel img {
    width: 1em;
    display: inline-block;
}

.side-box .slide_inner p.tel_description {
    text-align: center;
    font-size: 14px;
    color: #DE2900;
    font-weight: bold;
    letter-spacing: 0em;
}

.tel_description__open-time,
.tel_description__holiday-text {
    display: inline-block;
}

.side-box-inner {
    padding: 0 10px;
}

.side-box-inner span {
    font-weight: bold;
    font-size: 1em;
}

/* Default - header */
h1 {
    font-size: 0.95em;
    font-weight: normal;
}

.header {
    color: #000000;
    background: rgba(255, 255, 255, .8);
    padding-bottom: 30px;
}

.header__home-link__shop-name {
    display: inline-block;
    font-size: .8em;
}

.header_txt_line {
    padding: 5px 0;
    background: #FFCB16;
    color: #000000;
}

.header-top-left {
    padding: 25px 0 25px;
}

.header-top-left a {
    font-size: 24px;
    color: #000;
    text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0-1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
    font-weight: 800;
}

.header-top-left .flt_l p {}

.header_tel_wrap {
    position: relative;
}

.header_tel_info {
    text-align: center;
    font-weight: 700;
    margin-top: 5px;
}
.header_tel_info_item {
    display: inline-block;
}

.header_tel_wrap .tel {
    position: absolute;
    top: 20px;
    left: 30px;
    color: #DE2900;
    font-size: 27px;
    font-weight: bold;
    letter-spacing: -1px;
    white-space: nowrap;
}

.header__content {
    display: flex;
    align-items: center;
}

.header-top-left {
    display: flex;
    gap: 10px;
    margin-right: auto;
    align-items: center;
}

.header__features {
    display: flex;
    flex-wrap: nowrap;
    gap: 5px;
}

.header__features__item {
    background: url(images/header_features_bg.png)no-repeat center/contain;
    align-content: center;
    aspect-ratio: 1/1;
    width: clamp(0px, 10vw, 96px);
}

.header__feature-text {
    font-weight: 700;
    -webkit-text-stroke: #fff .25em;
    paint-order: stroke;
    text-align: center;
    letter-spacing: -.02em;
    font-size: clamp(0px, 1.5vw, 15px);
}

.header__feature-text--strong {
    color: #f00;
    font-size: 1.1em;
}

.header__credit__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.gnav {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    width: 981px;
    margin: -30px auto 0;
    border-right: solid 1px #EBB702;
}

.gnav__item {
    float: left;
    font-weight: bold;
    text-align: center;
}

.gnav__link {
    padding: 20px 10px;
    display: block;
    color: #000000;
    background: #FFCB16;
    border-left: solid 1px #EBB702;
}

.gnav__link:before {
    content: ">  ";
    color: #ED6E03;
}

.gnav__link:hover,
.current .gnav__link {
    background: #FFF336;
    text-decoration: none;
}

.mv_inner {
    position: relative;
    width: 100%;
    max-width: 961px;
    margin: 0 auto;
}

.mv p.tel {
    position: absolute;
    bottom: 0px;
    font-size: 68px;
    font-weight: bold;
    left: 360px;
    letter-spacing: 0;
    color: #000;
    text-shadow: 0px 4px 1px white, 0px 3px 1px white, 1px 3px 1px white, 2px 3px 1px white, 2px 2px 1px white, 3px 2px 1px white, 3px 1px 1px white, 3px 0px 1px white, 4px 0px 1px white, 3px -1px 1px white, 3px -2px 1px white, 3px -3px 1px white, 2px -3px 1px white, 2px -4px 1px white, 1px -4px 1px white, 0px -4px 1px white, -1px -4px 1px white, -2px -4px 1px white, -3px -4px 1px white, -3px -3px 1px white, -4px -3px 1px white, -4px -2px 1px white, -4px -1px 1px white, -4px 0px 1px white, -4px 1px 1px white, -4px 2px 1px white, -3px 2px 1px white, -3px 3px 1px white, -2px 3px 1px white, -1px 3px 1px white, 0px 8px 1px #FAD801, 0px 7px 1px #FAD801, 1px 7px 1px #FAD801, 2px 7px 1px #FAD801, 3px 7px 1px #FAD801, 3px 6px 1px #FAD801, 4px 6px 1px #FAD801, 5px 6px 1px #FAD801, 5px 5px 1px #FAD801, 6px 5px 1px #FAD801, 6px 4px 1px #FAD801, 7px 3px 1px #FAD801, 7px 2px 1px #FAD801, 7px 1px 1px #FAD801, 7px 0px 1px #FAD801, 8px 0px 1px #FAD801, 7px -1px 1px #FAD801, 7px -2px 1px #FAD801, 7px -3px 1px #FAD801, 7px -4px 1px #FAD801, 6px -4px 1px #FAD801, 6px -5px 1px #FAD801, 6px -6px 1px #FAD801, 5px -6px 1px #FAD801, 5px -7px 1px #FAD801, 4px -7px 1px #FAD801, 3px -7px 1px #FAD801, 3px -8px 1px #FAD801, 2px -8px 1px #FAD801, 1px -8px 1px #FAD801, 0px -8px 1px #FAD801, -1px -8px 1px #FAD801, -2px -8px 1px #FAD801, -3px -8px 1px #FAD801, -4px -8px 1px #FAD801, -5px -7px 1px #FAD801, -6px -7px 1px #FAD801, -6px -6px 1px #FAD801, -7px -6px 1px #FAD801, -7px -5px 1px #FAD801, -8px -4px 1px #FAD801, -8px -3px 1px #FAD801, -8px -2px 1px #FAD801, -8px -1px 1px #FAD801, -8px 0px 1px #FAD801, -8px 1px 1px #FAD801, -8px 2px 1px #FAD801, -8px 3px 1px #FAD801, -7px 4px 1px #FAD801, -7px 5px 1px #FAD801, -6px 5px 1px #FAD801, -6px 6px 1px #FAD801, -5px 6px 1px #FAD801, -4px 7px 1px #FAD801, -3px 7px 1px #FAD801, -2px 7px 1px #FAD801, -1px 7px 1px #FAD801;
}

.area-block__area-text {
    background: url(images/areablock_bg.jpg)repeat center/400px auto;
}


.area-block__area-header {
    background: #001d37;
    color: #fff;
    text-align: center;
    font-weight: 700;
    padding: .4em 0 .5em;
    font-size: 5vw;
}

.area-block__area-content {
    padding: 1em .5em 1.5em;
    text-align: left;
    font-size: 3vw;
    line-height: 1.6;
    font-weight: bold;
}

/* Default - footer */
.footer {
    margin-top: 80px;
    color: #000000;
}

.footer__map__body {
    border: none;
}

.footer_inner {
    padding: 20px 0 40px;
    background: url(images/footer_inner_bg.jpg);
    border-top: #FFBA16 10px solid;
}

.footer_logo {
    margin-right: 20px;
    float: left;
    max-width: 240px;
}
.footer_logo img {
    width: 100%;
    height: auto;
}

.footer_logo_shopname {
    display: block;
    font-weight: 700;
    margin-left: 1em;
    font-size: 20px;
}

.sitemap-link {
    float: right;
    font-size: 1.1em;
    padding-top: 10px;
}

.sitemap-link li {
    float: left;
    border-right: 1px solid #000000;
}

.sitemap-link li:first-child {
    border-left: 1px solid #000000;
}

.sitemap-link li a {
    padding: 0 20px;
    color: #000000;
}

.footer-bottom-left {
    font-weight: bold;
    margin-top: 0;
    width: 40%;
    line-height: 1.5em;
}

.footer-bottom-right {
    margin-top: 0;
    width: 60%;
    line-height: 1.5em;
}

.copy {
    padding: 10px 0;
    background: #FFBA16;
    text-align: center;
    color: #ffffff;
}

/* Default - 下層ページ ぱんくず */
.breadcrumbs {
    margin-bottom: 20px;
}

.breadcrumbs a {
    color: #FFBA16;
    text-decoration: underline;
}

.breadcrumbs a:hover {
    opacity: .6;
    text-decoration: none;
}

/* Default - contact_bnr */
.contact_bnr {
    position: relative;
    display: block;
}

/* Default - 下層ページ ページナビ */
.wp-pagenavi {
    margin-top: 25px;
}

.wp-pagenavi a,
.wp-pagenavi span {
    padding: 3px 6px 2px;
    margin-left: 5px;
    background: #ffffff;
    border: 1px solid #444;
    border-radius: 2px;
    text-align: center;
}

.wp-pagenavi a:hover,
.wp-pagenavi span {
    background: #cccccc;
    text-decoration: none;
}

/* TOPページ */
.top-message-01 {
    background: #fdf6f3;
    border-top: solid 6px #ec8a5a;
    border-bottom: solid 6px #ffffff;
    -webkit-box-shadow: inset 0 3px #ffffff;
    -moz-box-shadow: inset 0 3px #ffffff;
    box-shadow: inset 0 3px #ffffff;
}

.top-message-02 {
    background: #fbd9c8;
}

.top-menu {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px 16px;
}

.top-menu__item {
    border: solid 1px #FFCD1E;
}

.top-menu__item img.pcimg {
    display: block;
}

.top-menu__item img.spimg {
    display: none;
}

.top-menu__item:first-child {
    margin-left: 0;
}

.top-menu__link {
    display: block;
    text-decoration: none;
}

.top-menu__colflex {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.top-menu__item img:hover {
    opacity: 1;
}

.top-menu-inner {
    padding: 10px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.top-menu__arrow {
    margin: 0;
}

.top-menu__arrow-wrapper {
    display: flex;
    font-size: 12px;
    color: #000;
    font-weight: 600;
    align-items: center;
    gap: 5px;
    margin-top: auto;
    margin-left: auto;
}

/* TOPページ - 新着スクロール */
.jspDrag {
    background: #ec8a5a;
}

.jspTrack {
    background: #c6c6c6;
}

/* TOPページ - お客様の声 */
.top-voice li {
    float: left;
    margin-left: 16px;
    width: 220px;
    font-size: 90%;
    line-height: 1.5em;
}

.top-voice li:first-child {
    margin-left: 0;
}

.top-voice li img {
    width: 100%;
    margin-bottom: 10px;
}

.top-voice li strong {
    display: block;
    margin-bottom: 10px;
}

.top-voice li p {
    padding: 10px;
    height: 99px;
    background: url("images/top_voice_bg02.png") no-repeat left center;
    font-size: 0.9em;
    line-height: 1.8;
}

.top-voice li:first-child p {
    background: url("images/top_voice_bg01.png") no-repeat left center;
}

/* 下層ページ - よくある質問 */
.qa-list dt,
.qa-list dd {
    background: #fffce5;
}

.qa-list dt {
    padding: 15px 15px 10px;
    margin-top: 25px;
    color: #000000;
    font-size: 1.4em;
    font-weight: bold;
    line-height: 1.2;
}

.qa-list dt:first-child {
    margin-top: 0;
}

.qa-list dt span {
    display: inline-block;
    padding-left: 2.8em;
    text-indent: -2.8em;
}

.qa-list dd {
    padding: 0 15px 20px;
    line-height: 1.4;
}

.qa-list dd span {
    display: block;
    padding-top: 25px;
    border-top: solid 1px #000000;
}

/* 下層ページ - 会社概要 */
.tb_company {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d7d7d7;
    margin-bottom: 40px;
}

.company-table__row:nth-child(odd) {
    background: #fff;
}

.company-table__row:nth-child(even) {
    background: #fffce5;
}

.tb_company th {
    width: 20%;
    box-sizing: border-box;
    padding: 20px;
    border-right: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
    font-weight: normal;
    text-align: center;
}

.tb_company td {
    width: 80%;
    box-sizing: border-box;
    padding: 20px;
    border-right: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
}

.googlemap {
    border: 1px solid #d7d7d7;
}

/* 下層ページ - お問い合わせ */
table#tb_contact {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d7d7d7;
    margin-bottom: 30px;
}

table#tb_contact th {
    width: 34%;
    box-sizing: border-box;
    padding: 20px 15px;
    border-right: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
    text-align: left;
    background: #fdf6f3;
    font-size: 15px;
    vertical-align: middle;
    letter-spacing: 0.5px;
}

table#tb_contact th span.right {
    float: right;
    padding: 5px 10px;
    background: #ff0000;
    color: #fff;
    border-radius: 3px;
    font-size: 12px;
}

table#tb_contact td {
    width: 66%;
    box-sizing: border-box;
    padding: 17px 15px;
    border-right: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
    background: #fff;
    font-size: 16px;
}

table#tb_contact input[type="checkbox"] {
    margin-right: 5px;
}

table#tb_contact label {
    margin-right: 7px;
}

table#tb_contact .text,
table#tb_contact textarea,
table#tb_contact input[type="text"],
table#tb_contact input[type="email"] {
    width: 95%;
}

table#tb_contact .contact-tel input[type="text"] {
    width: 20%;
}

#btn_confirm {
    text-align: center;
}

#btn_confirm input[name="submitConfirm"] {
    background: url(images/btn_contact.png) no-repeat;
    width: 142px;
    height: 37px;
    text-indent: -9999px;
    overflow: hidden;
    border: none;
    cursor: pointer;
}

#btn_confirm input[name="送信"] {
    background: url(images/btn_contact.png) no-repeat;
    width: 142px;
    height: 37px;
    text-indent: -9999px;
    overflow: hidden;
    border: none;
    cursor: pointer;
}

span.contact_return {
    margin-left: 10px;
}

table#tb_contact td.box390 textarea {
    width: 375px;
}

table#tb_contact td input,
table#tb_contact td textarea {
    border: 1px solid #cccccc;
    font-size: 12px;
    margin: 3px 0;
    padding: 7px 10px;
    box-shadow: 4px 4px 6px -6px rgba(0, 0, 0, 0.5) inset;
}

.page-id-42 .mw_wp_form .error {
    margin-top: 5px;
    font-weight: bold;
    color: #ff0000;
}

/* Layout */
.container {
    margin: 0 auto;
    width: 981px;
}

.center {
    text-align: center;
}

.flt_l {
    float: left;
}

.flt_r {
    float: right;
}

.mb5 {
    margin-bottom: 5px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb15 {
    margin-bottom: 15px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb25 {
    margin-bottom: 25px;
}

.mb40 {
    margin-bottom: 40px;
}

.mt50 {
    margin-top: 50px;
}

.mr15 {
    margin-right: 15px;
}

.mr20 {
    margin-right: 20px;
}

.pages_box+.pages_box {
    margin-top: 40px;
}

.page-box-list h3 {
    overflow: auto;
    padding-bottom: 5px;
    margin-bottom: 20px;
    border-bottom: solid 2px #ec8a5a;
}

.case-list__link img {
    aspect-ratio: 5 / 4;
    display: block;
    width: 200px;
    height: auto;
    object-fit: cover;
}


.page-box-list h3 span {
    display: block;
    margin-bottom: 10px;
    font-size: 0.8em;
    line-height: 1.1;
}

.page-box-list h3 a:hover {
    text-decoration: none;
}

.page-box-list {
    padding-bottom: 25px;
    border-bottom: 1px dashed #000000;
}

.page-box-list+.page-box-list {
    margin-top: 25px;
}

/* Decoration */
.default-title {
    margin-bottom: 25px;
    background: url(images/default-title_icon.png) 0 50% no-repeat;
    padding: 10px 0 10px 50px;
    color: #000000;
    font-size: 24px;
}

.case-detail__content img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages_title {
    padding-bottom: 8px;
    margin-bottom: 15px;
    border-bottom: solid 4px #000000;
    color: #000000;
    font-size: 1.4em;
}

a img:hover {
    opacity: 0.75;
}

/*IE８用*/
.ie8 .gnav__item.lines-first {
    width: 141px;
}

@media screen and (min-width: 769px) {
    .sp {
        display: none !important;
    }
}

@media screen and (max-width: 768px) {
    .pc {
        display: none !important;
    }

    /* 以下　SP版テーマからのコピー*/
    /* Reset */
    h1,
    h2,
    h3,
    h4,
    h5 {
        padding: 0;
        margin: 0;
    }

    p {
        margin: 0;
    }

    ol,
    ul {
        list-style: none;
    }

    ol,
    ul,
    dl,
    dt,
    dd {
        padding: 0;
        margin: 0;
    }

    .clearfix:after {
        content: ".";
        display: block;
        clear: both;
        height: 0;
        visibility: hidden;
    }

    a {
        color: #413226;
        text-decoration: none;
    }

    a:hover {
        text-decoration: underline;
    }

    img {
        vertical-align: middle;
    }

    /* Default */
    #wrapper {
        width: 100%;
        font-size: 0.9em;
        color: #333333;
        font-family: "HiraKakuPro", "Hiragino kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, sans-serif;
        line-height: 1;
        letter-spacing: 1px;
        overflow: hidden;
        z-index: 1;
        min-width: inherit;
    }

    #wrapper_mv {
        background-size: cover;
    }

    .home #wrapper_mv {
        background: url(images/mv_bg.jpg) 50% 0 no-repeat;
        background-size: auto 100%;
        padding-bottom: 30px;
    }

    .content {
        padding: 25px 15px 0;
        grid-template-columns: 100%;
    }

    .content p {
        line-height: 1.4;
    }

    .main-content {
        width: 100%;
    }

    .top-mv__img {
        background: url(images/mv_bg_sp.jpg)no-repeat center/cover;
    }

    .top-mv__area-box {
        position: relative;
        border: none;
        border-top: 1px solid #fff;
        width: 100%;
    }

    .top-mv__area-title {
        padding: .4em 0 .5em;
        font-size: 5vw;
    }

    .top-mv__area-content {
        padding: 1em .5em 1.5em;
        text-align: left;
        font-size: 3vw;
        line-height: 1.6;
        font-weight: bold;
    }

    .top-mv,
    .pages-mv img {
        max-width: 100%;
    }

    .pages-mv {
        border-bottom: solid 6px #000;
    }

    .header,
    .footer {
        width: 100%;
        font-size: 0.9em;
        min-width: inherit;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    /* Default - side menu */
    .side-menu {
        order: 1;
        position: relative;
        height: auto;
        max-height: none;
        margin-top: 30px;
        width: 100%;
    }

    .side-menu img {
        width: 100%;
    }

    .side-menu .side-tel img {
        width: 24px;
    }

    .side-menu .side-tel a {
        background: #000;
        color: #fff;
        font-size: 7.6vw;
        display: block;
        font-weight: bold;
        padding: 16px 8px;
        white-space: nowrap;
        text-align: center;
    }

    .side-nav {
        margin: 0 0 15px 0;
        font-weight: bold;
    }

    .side-nav li {}

    .side-nav li:first-child {
        border-top: none;
    }

    .side-nav li a {
        display: block;
        padding: 12px 0 12px 12px;
        text-decoration: none;
        color: #eb6100;
    }

    .side-nav li a:before {
        content: "└ ";
        color: #333;
    }

    .side-nav li a:hover {
        background: #fdf6f3;
        text-decoration: none;
    }

    .side-case__item {
        padding: 10px;
        border: solid 1px #ddd;
        margin-bottom: 5px;
        font-size: 1.1em;
    }

    .side-case__date {
        color: #FFCB16;
        display: inline-block;
        margin-bottom: 5px;
        font-size: 90%;
    }

    .side-box {
        background: #FFF76E url(images/side_company_bg.png);
        padding: 10px;
    }

    .side-box h2 img {
        display: block;
        width: auto;
        margin: 10px auto;
    }

    .side-box .slide_inner {
        background: #fff;
        padding: 15px 10px;
    }

    .side-box .slide_inner img {
        display: block;
        /* margin: 20px auto; */
    }

    .side-box .slide_inner img.icon {
        display: inline;
        width: 8.0vw;
        margin: 0;
    }

    .side-box .slide_inner p.tel {
        color: #000;
        font-size: 8.0vw;
        display: block;
        font-weight: bold;
        letter-spacing: 0em;
        text-align: center;
        white-space: nowrap;
    }

    .side-box .slide_inner p.tel_description {
        text-align: center;
        font-size: 5.6vw;
        color: #DE2900;
        font-weight: bold;
        letter-spacing: 0em;
    }

    .side-box-inner {
        padding: 0 10px;
    }

    .side-box-inner span {
        font-weight: bold;
        font-size: 1.1em;
    }

    /* Default - header */
    h1 {
        font-size: 1em;
        font-weight: normal;
        line-height: 1.3;
    }

    .header {
        color: #ec8a5a;
    }

    .header_txt_line {
        padding: 5px 15px;
        background: #FFCB16;
        color: #000000;
    }

    .header-top {
        position: relative;
        padding: 15px 15px 0;
        font-size: 5vw;
        color: #000;
        text-shadow: 0.5px 0.5px 0 #FFF, -0.5px -0.5px 0 #FFF, -0.5px 0.5px 0 #FFF, 0.5px -0.5px 0 #FFF, 0px 0.5px 0 #FFF, 0-0.5px 0 #FFF, -0.5px 0 0 #FFF, 0.5px 0 0 #FFF;
        font-weight: 800;
    }

    .header-top {
        color: #000;
    }

    .header-top img {
        width: 58%;
        vertical-align: middle;
        position: relative;
        top: 6px;
    }

    .header-bottom {
        padding: 15px;
    }

    .header-bottom img {
        width: 100%;
    }

    .gnav__item {
        float: left;
        width: 140px;
        font-weight: bold;
        text-align: center;
    }

    .gnav__item:first-child {
        width: 141px;
    }

    .gnav__link {
        padding: 10px 0;
        display: block;
        color: #ec8a5a;
    }

    .gnav__link:hover {
        background: #fbd9c8;
        text-decoration: none;
    }

    .mv_inner {
        position: relative;
        margin: 0 auto;
    }

    .mv p.tel {
        position: absolute;
        bottom: 0px;
        right: 8px;
        font-size: 7.6vw;
        font-weight: bold;
        letter-spacing: 0;
        color: #000;
        text-shadow: 0px 2px 1px white, 0px 1px 1px white, 1px 1px 1px white, 1px 0px 1px white, 2px 0px 1px white, 1px -1px 1px white, 1px -2px 1px white, 0px -2px 1px white, -1px -2px 1px white, -2px -2px 1px white, -2px -1px 1px white, -2px 0px 1px white, -2px 1px 1px white, -1px 1px 1px white, 0px 4px 1px #FAD801, 0px 3px 1px #FAD801, 1px 3px 1px #FAD801, 2px 3px 1px #FAD801, 2px 2px 1px #FAD801, 3px 2px 1px #FAD801, 3px 1px 1px #FAD801, 3px 0px 1px #FAD801, 4px 0px 1px #FAD801, 3px -1px 1px #FAD801, 3px -2px 1px #FAD801, 3px -3px 1px #FAD801, 2px -3px 1px #FAD801, 2px -4px 1px #FAD801, 1px -4px 1px #FAD801, 0px -4px 1px #FAD801, -1px -4px 1px #FAD801, -2px -4px 1px #FAD801, -3px -4px 1px #FAD801, -3px -3px 1px #FAD801, -4px -3px 1px #FAD801, -4px -2px 1px #FAD801, -4px -1px 1px #FAD801, -4px 0px 1px #FAD801, -4px 1px 1px #FAD801, -4px 2px 1px #FAD801, -3px 2px 1px #FAD801, -3px 3px 1px #FAD801, -2px 3px 1px #FAD801, -1px 3px 1px #FAD801;
    }

    /* Default - footer */
    .footer {
        margin-top: 0;
    }

    .footer_inner {
        padding: 20px 15px 40px;
        background: url(images/footer_inner_bg.jpg);
        border-top: #FFBA16 10px solid;
    }

    .footer_logo {
        margin-bottom: 20px;
    }

    .footer_inner .footer-bottom-left {
        float: none;
        margin-bottom: 15px;
    }

    .footer_inner .footer-bottom-right {
        float: none;
        width: 100%;
    }

    .footer_inner div.clearfix {
        text-align: left;
    }

    .sitemap-link {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        font-size: 1.1em;
    }

    .sitemap-link li {
        margin-top: 10px;
        float: left;
        text-align: left;
        border: none;
        list-style-type: disc;
        margin-left: 2em;
    }

    .sitemap-link li:first-child {
        border: none;
    }

    .sitemap-link li a {
        color: #000000;
        padding: 0;
    }

    .footer-bottom-left {
        margin-top: 5px;
        font-weight: bold;
        font-size: 1.4em;
    }

    .footer-bottom-right {
        margin-top: 23px;
        line-height: 1.5em;
    }

    .copy {
        padding: 10px 0;
        background: #FFBA16;
        text-align: center;
        color: #ffffff;
    }

    /* Default - 下層ページ ぱんくず */
    .breadcrumbs {
        margin-bottom: 20px;
    }

    /* Default - 下層ページ ページナビ */
    .wp-pagenavi {
        margin-top: 25px;
    }

    .wp-pagenavi a,
    .wp-pagenavi span {
        padding: 3px 6px 2px;
        margin-left: 5px;
        background: #ffffff;
        border: 1px solid #444;
        border-radius: 2px;
        text-align: center;
    }

    .wp-pagenavi a:hover,
    .wp-pagenavi span {
        background: #cccccc;
        text-decoration: none;
    }

    /* TOPページ */
    .top-message-01 {
        background: #fdf6f3;
        border-top: solid 6px #ec8a5a;
        border-bottom: solid 6px #ffffff;
        -webkit-box-shadow: inset 0 3px #ffffff;
        -moz-box-shadow: inset 0 3px #ffffff;
        box-shadow: inset 0 3px #ffffff;
    }

    .top-message-02 {
        background: #fbd9c8;
    }

    .top-menu {
        grid-template-columns: 100%;
    }

    .top-menu__item {
        width: 100%;
        margin: 0 auto 20px;
        border: solid 1px #FFCD1E;
        min-height: inherit;
    }

    .top-menu__item img.pcimg {
        display: none;
    }

    .top-menu__item img.spimg {
        display: block;
    }

    .top-menu__link {
        display: block;
        text-decoration: none;
        color: #929292;
        text-align: center;
    }

    .top-menu__item:hover {
        opacity: 0.75;
    }

    .top-menu__item img:hover {
        opacity: 1;
    }

    .top-menu-inner {
        padding: 10px;
        text-align: left;
    }

    .main-content div.mb40 div.clearfix img:first-child {
        width: 50%;
    }

    /* TOPページ - 新着スクロール */
    .scroll_area {
        height: auto;
    }

    .scroll_area li {
        padding: 10px 10px;
        border: solid 1px #ddd;
        font-weight: bold;
        font-size: 1.1em;
        margin-top: 10px;
    }

    .scroll_area li span {
        display: block;
        margin-right: 30px;
        line-height: 1.7;
        font-size: 0.9em;
        color: #FFCB16;
        float: none;
    }

    .jspDrag {
        background: #ec8a5a;
    }

    .jspTrack {
        background: #c6c6c6;
    }

    /* TOPページ - お客様の声 */
    .top-voice li {
        margin-left: 0;
        margin-top: 20px;
        width: auto;
    }

    .top-voice li:first-child {
        margin-top: 0;
    }

    .top-voice li img {
        width: 100%;
        margin-bottom: 10px;
    }

    .top-voice li strong {
        display: block;
        margin-bottom: 10px;
    }

    .top-voice li p {
        padding: 10px;
        height: 99px;
        background: url("images/top_voice_bg02.png") no-repeat left center;
        font-size: 0.9em;
        line-height: 1.8;
    }

    /* 下層ページ - よくある質問 */
    .qa-list dt,
    .qa-list dd {
        background: #fffce5;
    }

    .qa-list dt {
        padding: 15px 15px 10px;
        margin-top: 25px;
        color: #000000;
        font-size: 1.4em;
        font-weight: bold;
        line-height: 1.2;
    }

    .qa-list dt:first-child {
        margin-top: 0;
    }

    .qa-list dt span {
        display: inline-block;
        padding-left: 2.8em;
        text-indent: -2.8em;
    }

    .qa-list dd {
        padding: 0 15px 20px;
        line-height: 1.4;
    }

    .qa-list dd span {
        display: block;
        padding-top: 25px;
        border-top: solid 1px #000000;
    }

    /* 下層ページ - 会社概要 */
    .tb_company {
        width: 100%;
        box-sizing: border-box;
        border: 1px solid #d7d7d7;
        margin-bottom: 40px;
    }

    .company-table__row.odd {
        background: #fff;
    }

    .company-table__row.even {
        background: #fdf6f3;
    }

    .tb_company th {
        width: 35%;
        box-sizing: border-box;
        padding: 15px 10px;
        border-right: 1px solid #d7d7d7;
        border-bottom: 1px solid #d7d7d7;
        font-weight: normal;
        text-align: center;
    }

    .tb_company td {
        width: 65%;
        box-sizing: border-box;
        padding: 15px 10px;
        border-right: 1px solid #d7d7d7;
        border-bottom: 1px solid #d7d7d7;
    }

    .googlemap {
        border: 1px solid #d7d7d7;
    }

    /* 下層ページ - お問い合わせ */
    table#tb_contact {
        width: 100%;
        box-sizing: border-box;
        border: 1px solid #d7d7d7;
        margin-bottom: 30px;
    }

    table#tb_contact th {
        width: 34%;
        box-sizing: border-box;
        padding: 20px 15px;
        border-right: 1px solid #d7d7d7;
        border-bottom: 1px solid #d7d7d7;
        text-align: left;
        background: #fdf6f3;
        font-size: 15px;
        vertical-align: middle;
        letter-spacing: 0.5px;
    }

    table#tb_contact th span.right {
        display: block;
        padding: 5px 10px;
        margin-top: 5px;
        background: #ff0000;
        color: #fff;
        border-radius: 3px;
        font-size: 12px;
        text-align: center;
    }

    table#tb_contact td {
        width: 66%;
        box-sizing: border-box;
        padding: 17px 15px;
        border-right: 1px solid #d7d7d7;
        border-bottom: 1px solid #d7d7d7;
        background: #fff;
        font-size: 16px;
    }

    table#tb_contact input[type="checkbox"] {
        margin-right: 5px;
    }

    table#tb_contact label {
        margin-right: 7px;
    }

    table#tb_contact .text,
    table#tb_contact textarea,
    table#tb_contact input[type="text"],
    table#tb_contact input[type="email"] {
        width: 85%;
    }

    table#tb_contact .contact-tel input[type="text"] {
        width: 11%;
    }

    #btn_confirm {
        text-align: center;
    }

    #btn_confirm input[name="submitConfirm"] {
        background: url(images/btn_contact.png) no-repeat;
        width: 142px;
        height: 37px;
        text-indent: -9999px;
        overflow: hidden;
        border: none;
        cursor: pointer;
    }

    #btn_confirm input[name="送信"] {
        background: url(images/btn_contact.png) no-repeat;
        width: 142px;
        height: 37px;
        text-indent: -9999px;
        overflow: hidden;
        border: none;
        cursor: pointer;
    }

    span.contact_return {
        margin-left: 10px;
    }

    table#tb_contact td.box390 textarea {
        width: 375px;
    }

    table#tb_contact td input,
    table#tb_contact td textarea {
        border: 1px solid #cccccc;
        font-size: 12px;
        margin: 3px 0;
        padding: 7px 10px;
        box-shadow: 4px 4px 6px -6px rgba(0, 0, 0, 0.5) inset;
    }

    .page-id-42 .mw_wp_form .error {
        margin-top: 5px;
        font-weight: bold;
        color: #ff0000;
    }

    .mw_wp_form_confirm table#tb_contact th {
        padding: 10px;
    }

    .mw_wp_form_confirm table#tb_contact td {
        padding: 0 10px;
    }

    /* ドロワーメニュー */
    .sb-slidebar {
        display: block;
        position: fixed;
        top: 0;
        height: 100vh;
        width: 70vw;
        max-width: 400px;
        right: 0;
        color: #fff;
        padding: 0px;
        transform: translateX(100%);
        transition: transform .5s;
        background: #000c;
    }

    .hamb-switch {
        aspect-ratio: 1/1;
        width: 40px;
        background: #fff8;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 9999;
    }

    .navicon {
        position: relative;
        width: 100%;
        height: 100%;
        aspect-ratio: 1/1;
    }

    .hamb_check {
        display: none;
        visibility: none;
    }

    body:has(.hamb_check:checked) .sb-slidebar {
        transform: translateX(0);
    }

    .hamb_check:checked+.hamb-switch {
        right: clamp(0, 60vw, 400px);
    }

    .navi a {
        margin: 19px 15px 0 0;
        color: #333;
        display: block;
        width: 32px;
        height: 32px;
        text-align: center;
        text-decoration: none;
        font-weight: bolder;
    }

    .menu {
        list-style: none;
        background: #666;
    }

    .menu li {
        border-bottom: #CCC solid 1px;
    }

    .menu li a {
        display: block;
        padding: 10px;
        color: #ffffff;
    }

    .sb-slidebar h2 {
        font-size: 14px;
        height: 40px;
        line-height: 40px;
        text-align: center;
    }

    .navicon-line {
        position: absolute;
        background-color: #000000;
        border-radius: 1px;
        height: 4px;
        width: 24px;
        left: 50%;
        top: 50%;
        transform: translateX(-50%) translateY(-50%) rotate(0);
        transition: all .3s;
    }

    .navicon-line:first-child {
        transform: translateX(-50%) translateY(-250%);
    }

    .navicon-line:last-child {
        transform: translateX(-50%) translateY(150%);
    }

    .hamb_check:checked+.hamb-switch .navicon-line {
        transform: translateX(-50%) translateY(-50%);
    }

    .hamb_check:checked+.hamb-switch .navicon-line:first-child {
        transform: translateX(-50%) translateY(-50%) rotate(45deg);
    }

    .hamb_check:checked+.hamb-switch .navicon-line:nth-child(2) {
        opacity: 0;
    }

    .hamb_check:checked+.hamb-switch .navicon-line:last-child {
        transform: translateX(-50%) translateY(-50%) rotate(135deg);
    }

    /* Layout */
    .container {
        max-width: 100%;
        width: auto;
    }

    .center {
        text-align: center;
    }

    .flt_l {
        float: left;
    }

    .flt_r {
        float: right;
    }

    .mb5 {
        margin-bottom: 5px;
    }

    .mb10 {
        margin-bottom: 10px;
    }

    .mb15 {
        margin-bottom: 15px;
    }

    .mb20 {
        margin-bottom: 20px;
    }

    .mb25 {
        margin-bottom: 25px;
    }

    .mb30 {
        margin-bottom: 30px;
    }

    .mb40 {
        margin-bottom: 40px;
    }

    .mt50 {
        margin-top: 50px;
    }

    .mr15 {
        margin-right: 15px;
    }

    .mr20 {
        margin-right: 20px;
    }

    .pages_box .clearfix img {
        margin: 0 0 15px 0;
        width: 100%;
    }

    .pages_box+.pages_box {
        margin-top: 40px;
    }

    .page-box-list .flt_l,
    .page-box-list .flt_l img {
        float: none;
        width: 100%;
    }

    .page-box-list .flt_l img {
        margin: 0 0 15px;
    }

    .page-box-list h3 {
        overflow: auto;
        padding-bottom: 5px;
        margin-bottom: 20px;
        border-bottom: solid 2px #ec8a5a;
    }

    .page-box-list h3 span {
        display: block;
        margin-bottom: 10px;
        font-size: 0.8em;
        line-height: 1.1;
    }

    .page-box-list h3 a:hover {
        text-decoration: none;
    }

    .page-box-list {
        padding-bottom: 25px;
        border-bottom: 1px dashed #000000;
    }

    .page-box-list+.page-box-list {
        margin-top: 25px;
    }

    /* Decoration */
    .default-title {
        margin-bottom: 25px;
        background: url(images/default-title_icon.png) 0 50% no-repeat;
        padding: 10px 0 10px 50px;
        color: #000000;
        font-size: 24px;
    }

    .basic-title {
        padding: 10px 0;
        margin-bottom: 20px;
        background: url(images/h2_border.png) 0 100% repeat-x;
        color: #000000;
        font-size: 1.2em;
    }

    .basic-title a {
        padding-right: 15px;
        margin-top: 3px;
        background: url(images/more_arrow.png) no-repeat right center;
        font-size: 0.8em;
        color: #000000;
        text-decoration: none;
    }

    .pages_title {
        padding-bottom: 8px;
        margin-bottom: 15px;
        border-bottom: solid 4px #000000;
        color: #000000;
        font-size: 1.4em;
        line-height: 1.2;
    }

    a img:hover {
        opacity: 0.75;
    }

    /*IE８用*/
    .ie8 .gnav__item.lines-first {
        width: 141px;
    }

    #fix_menu {
        position: sticky;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 10000;
    }

    #fix_menu table {
        width: 100%;
        background: rgba(0, 0, 0, .8);
        text-align: center;
        font-weight: bold;
        font-size: 90%;
    }

    #fix_menu table td {
        border: solid 1px #fff;
    }

    #fix_menu table td a {
        display: block;
        padding: 7px;
        color: #fff;
    }

    #fix_menu table td a .fas {
        color: #F8BD25;
    }
}


.privacy-policy {
    margin-top: 80px;
    display: block;
    position: relative;
    border: orange 2px solid;
    max-height: 340px;
    overflow-y: scroll;
}

.privacy-policy__title {
    display: block;
    background: orange;
    color: #fff;
    position: sticky;
    top: 0;
    text-align: center;
}

.privacy-policy__content {
    padding: 10px;
    font-size: 16px;
}

.privacy-policy__section-title {
    font-size: 1em;
    margin: .8em 0 .5em;
    padding-top: .8em;
    border-top: 1px solid #ccc;
}

.privacy-policy__intro,
.privacy-policy__section-description {
    font-size: .9em;
}

.privacy-policy__list-item {
    font-size: .9em;
    list-style-type: disc;
    margin-left: 1.6em;
}

.policy-link {
    text-decoration: underline;
}

.contact-thanks__home-link,
#btn_confirm>span>input[type=submit] {
    font-weight: 700;
    display: inline-block;
    margin: 20px auto;
    background: #fff;
    border: 2px solid #ffa501;
    border-radius: 3px;
    color: #ffa501;
    padding: .2em 1em;
}

.contact-thanks__description {
    margin-top: 40px;
}

.common-cta__link {
    display: block;
    position: relative;
}

.common-cta__content {
    position: absolute;
    z-index: 2;
    width: 100%;
    bottom: .7em;
    font-size: 8vw;
}

.common-cta__phone-number {
    font-weight: 700;
}

.common-cta__info {
    display: flex;
    gap: .5em .2em;
    flex-wrap: wrap;
    justify-content: center;
}

.common-cta__info-item {
    font-size: .5em;
    display: block;
}

@media screen and (max-width: 768px) {
    .privacy-policy__section-description {
        font-size: 14px;
    }

    table#tb_contact th,
    table#tb_contact td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        min-height: 40px;
    }

    .contact-thanks__description {
        margin-top: 30px;
    }

    .header__home-link {
        display: flex;
        align-items: flex-end;
        gap: 5px;
    }
}