/* reCAPTCHAバッジ */
.grecaptcha-badge {
    display: none;
}
.page-id-20 .grecaptcha-badge,
.page-id-39 .grecaptcha-badge,
.page-id-1997 .grecaptcha-badge,
.page-id-1995 .grecaptcha-badge,
.page-id-2157 .grecaptcha-badge,
.page-id-661 .grecaptcha-badge,
.page-id-313 .grecaptcha-badge,
.page-id-1183 .grecaptcha-badge,
.page-id-1262 .grecaptcha-badge {
    display: block;
}

footer .copySection p:nth-child(2) {
    display: none !important;
}
/* FAQのスタイル */
.jim_dl {
    display: flex;
    align-items: center;
}
.jim_dl i.far.fa-file-pdf {
    font-size: 2rem;
}
.jim_dl a.download-link {
    font-size: 0.9rem;
}
/* デフォルトCSSの修正 */
#ewd-ufaq-faq-list {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}
div.ewd-ufaq-faq-body {
    padding: 40px;
    background: #f8f8f8;
		margin-bottom:2em;
}
.ewd-ufaq-faqs {
    border-top: 1px solid #999;
}
.ewd-ufaq-faqs .ewd-ufaq-faq-div {
    border-bottom: 1px solid #999;
}
.ewd-ufaq-faq-div a {
    color: #212529;
    padding: 8px;
    display: block;
}
.ewd-ufaq-faq-title-text h4 {
    font-size: 1.1rem;
}
.page-header{
	background-color: transparent;
}
.page-header_pageTitle{
		text-align: left;
		font-weight: bold;
		font-size: 2rem;
		line-height: 1;
}
.form__complete-text {
    font-size: 1.2rem;
    font-weight: bold;
}
.breadSection{
	border: none;
}
.breadSection .breadcrumb{
		padding: 1em;
}
.siteHeader{
		box-shadow: none;
		border-bottom: 1px solid #eee;
}
.wp-block-search__button, .btn-primary{
		background-color: #127b99;
}
.siteFooter{
		border-top: none
}
/* FAQ本文のスタイル */
.ob_faq * {
    box-sizing: border-box;
}
.ob_faq {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}
.ob_faq ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.ob_faq h3,
.ob_faq h4 {
    font-weight: bold;
    margin-bottom: 0.5rem;
}
.ob_faq h3 {
    font-size: 1.2rem;
}
.ob_faq h4 {
    font-size: 1rem;
}
.ob_faq p {
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
}
.ob_faq a:hover {
    opacity: 0.6;
}
#serial_1.ob_faq_box {
    margin-bottom: 80px;
}
.ob_faq_box{
	font-size: 0.9rem;
}
.ob_faq_box ul.faq_flex {
    display: flex;
    justify-content: space-around;
}
.ob_faq_box ul.faq_flex li {
    padding: 0;
    width: 49%;
}
.serial_menu {
    margin-bottom: 120px;
}
.serial_menu ul {
    display: flex;
    justify-content: space-around;
}
.serial_menu a {
    color: #333;
    padding: 20px 40px;
    background: #eee;
    border-radius: 10px;
}
p.kome {
    color: #dc3545;
    font-size: 0.9rem;
    font-weight: bold;
}
p.basho {
    background: #1c3f94;
    padding: 8px 16px;
    color: #fff;
}
/* 連絡先のスタイル */
.logo-after .message {
    font-size: 16px;
    text-align: right;
}
.logo-after .tel {
    color: #337ab7;
    font-size: 24px;
    text-align: right;
}
.logo-after .time {
    font-size: 16px;
    text-align: right;
}
#section breadSection {
    display: none;
}
body,
html {
    font-size: 16px;
}
/* グローバルメニューのフォントサイズ */
ul.gMenu li {
    font-size: 20px;
}
/* グローバルメニュー2行目のフォントサイズ */
.gMenu_description {
    font-size: 14px;
    line-height: 120%;
}
.widget .subSection-title {
    margin-top: 0;
    font-size: 28px;
}
h3:after,
.subSection-title:after {
    border-bottom-color: #ccc;
}
ul.gMenu li {
    font-size: 14px;
}
.header-text-inner {
    padding: 5px 10px;
    font-size: 14px;
}
/* フォームレイアウト */
.ob_form {
    max-width: 680px;
    margin: 0 auto;
}
.ob_form dl.bunrui {
    display: none;
}
.ob_form_img {
    text-align: center;
    margin-bottom: 3.5rem;
}
.ob_form dt,
.ob_form dd {
    padding: 0;
    margin: 0;
    border: none;
}
.ob_form dt {
    margin-bottom: 0.5rem;
}
.ob_form dl {
    margin-bottom: 1rem;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 40px;
}
.ob_form p {
    margin: 0;
}
.ob_form i {
    margin-left: 0.5rem;
}
dd.imgfile {
    align-items: center;
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
}
dd.imgfile input[type="file"] {
    background: #f8f8f8;
    padding: 10px;
}
dd.imgfile input[type="file"]:hover,
dd.imgfile span.mwform-file-delete:hover {
    background: #ccc;
}
dd.ob_form_comment {
    margin-top: 0.5rem;
}
dd.ob_form_comment_before {
    margin-bottom: 0.5rem;
}
div.ob_form_kome {
    padding: 20px;
    font-size: 0.8rem;
    background: #f8f8f8;
}
div.ob_form_kome_before {
    font-size: 0.8rem;
}
p.description {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}
span.mwform-file-delete {
    padding: 10px;
}
dd.imgfile h4 {
    font-size: 0.9rem;
    font-weight: bold;
    margin: 0;
}
dl.ex_huguai dd.imgfile {
    margin-bottom: 3rem;
}
.ob_form ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.ob_form ul li:last-child {
    margin-bottom: 0;
}
dl.addr dd {
    margin-bottom: 1rem;
}
dl.addr dd:nth-of-type(n + 4) {
    margin-bottom: 0;
}
.wpcf7-spinner {
    display: none !important;
}
.ob_form ul li dl {
    margin: 0;
    padding: .5em 1em;
		width: 60%;
    border: none;
    display: flex;
    border-radius: 0;
    border-top: 1px solid #ccc;
}
.ob_form ul li dl dt {
    width: 50%;
    margin: 0;
}
.ob_form ul li dl dd {
    flex: 1;
}
.ob_form ul li dl:first-of-type {
    margin-top: 1em;
}
.ob_form ul li dl:last-child {
    border-bottom: 1px solid #ccc;
}
/* 確認ページ */
.ob_form .error {
    font-size: 0.8rem;
    background: #ffefef;
    padding: 5px 10px;
}
.policycheck {
    text-align: center;
    margin-top: 3rem;
    margin-bottom: 1rem;
}
.button_area {
    text-align: center;
    margin-bottom: 3rem;
}
.button_area input {
    max-width: 320px;
    padding: 10px 0;
    width: 100%;
    border: none;
}
/* 内容確認ページ */
.mw_wp_form_confirm.mw_wp_form_preview p.description,
.mw_wp_form_confirm.mw_wp_form_preview div.ob_form_kome,
.mw_wp_form_confirm.mw_wp_form_preview .policycheck {
    display: none;
}
.mw_wp_form_confirm.mw_wp_form_preview .button_area {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
}
.mw_wp_form_confirm.mw_wp_form_preview input[name=submitBack] {
    background: transparent;
    color: #333;
    border: 1px solid #ccc
}
.mw_wp_form_confirm.mw_wp_form_preview input[name=submitBack]:hover {
    color: #999;
    background: transparent;
    border: 1px solid #eee
}
.mw_wp_form_confirm.mw_wp_form_preview input[name=send] {
    margin-bottom: 1rem;
}
/* 完了メッセージページ */
.complete_msg {
    border: 1px solid #666;
    padding: 20px 0;
    text-align: center;
    font-weight: bold;
}
.complete_description {
    padding: 60px 20px;
    font-size: 0.9rem;
}
/* お問い合わせ */
.ob_contact_form {
    margin: 0 auto;
}
.ob_contact_form dl {
    display: flex;
    align-items: flex-start;
    margin: 0;
    padding: 40px 16px;
    border-bottom: 1px solid #eee;
    justify-content: space-between;
}
.ob_contact_form dl.first {
    margin-top: 40px;
    border-top: 1px solid #eee;
}
.ob_contact_form dt,
.ob_contact_form dd {
    position: relative;
    border: none;
    padding: 0;
    margin: 0;
}
.ob_contact_form dd {
    flex: 1;
}
.ob_contact_form dl.inq .wpcf7-form-control,
.ob_contact_form dl.product .wpcf7-form-control {
    display: flex;
    flex-direction: column;
}
.ob_contact_form dt {
    width: 40%;
    display: flex;
    align-items: center;
    padding-top: 8px;
}
.ob_contact_form input,
.ob_contact_form select {
    margin: 0;
}
.ob_contact_form .addr dd {
    margin-bottom: 0;
}
.ob_contact_form .addr dd div {
    margin-bottom: 12px;
}
.ob_contact_form .addr dd div:last-child {
    margin-bottom: 0;
}
.ob_contact_form .wpcf7-list-item {
    margin: 0;
}
.ob_contact_form input#zip {
    display: inline-block;
    margin-left: 0.5rem;
    width: 9rem;
}
.ob_contact_form select#pref {
    width: 10.5rem;
    background: #f8f8f8
}
.ob_contact_form .button_area {
    margin-top: 3rem;
}
.ob_contact_form .button_area input {
    margin: 0 16px;
}
.entry-meta-dataList,
span.entry-meta_items.entry-meta_items_term {
    display: none;
}
#wpmem_login legend {
    display: none;
}

/* ページ上部の共通お知らせ */
.site__infomation {
    font-size: 0.8rem;
    background-color: #f9ffb7;
    padding: 1em;
}
.site__infomation p {
    margin: 0;
}
@media screen and (max-width: 480px) {
    .ob_form dl {
        padding: 30px 15px;
    }
    .button_area input {
        max-width: 100%;
    }
    dd.imgfile input[type="file"] {
        padding: 8px 0;
    }
    span.mwform-file-delete {
        padding: 0 6px;
    }
    div.ob_form_kome {
        padding: 20px 8px;
    }
    div.ewd-ufaq-faq-body {
        padding: 10px 0;
    }
    .ob_faq {
        padding: 30px 15px;
    }
    /* お問い合わせ */
    .ob_contact_form dl {
        flex-wrap: wrap;
        padding: 16px 0;
    }
    .ob_contact_form dt {
        width: 100%;
        margin-bottom: 8px;
    }
    .form-control {
        font-size: 0.9rem;
    }
    .ob_contact_form .button_area {
        display: flex;
        flex-direction: column-reverse;
    }
    .ob_contact_form .button_area input {
        margin: 0;
    }
    .ob_contact_form .button_area input.wpcf7-submit {
        margin-bottom: 16px;
    }
	.ob_form ul li dl {
    width: 100%;
    text-align: center;
}
}

/* ===== 暗転（ローディング） ===== */
.cf7-dim-lock,
.cf7-dim-lock body { overflow: hidden; }

#cf7-dim {
    position: fixed;
    inset: 0;
    display: none;
    z-index: 9998;
}
#cf7-dim.is-open { display: block; }

#cf7-dim .cf7-dim__overlay {
    position: absolute; inset: 0;
    background: rgba(0,0,0,.45);
}

#cf7-dim .cf7-dim__box {
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%,-50%);
    min-width: 220px;
    background: #fff;
    border-radius: 12px;
    padding: 18px 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,.2);
    display: flex; align-items: center; gap: 12px;
    font-size: .95rem; line-height: 1.6;
}
.cf7-dim__spinner {
    width: 22px; height: 22px;
    border: 3px solid #ddd; border-top-color: #999;
    border-radius: 50%;
    display: inline-block;
    animation: cf7dimspin 1s linear infinite;
}
@keyframes cf7dimspin { to { transform: rotate(360deg); } }

/* ===== ポップアップ ===== */
.cf7-popup-lock,
.cf7-popup-lock body { overflow: hidden; }

#cf7-popup-wrap {
    position: fixed; inset: 0; display: none; z-index: 9999;
}
#cf7-popup-wrap.is-open { display: block; }

#cf7-popup-wrap .cf7-popup__overlay {
    position: absolute; inset: 0; background: rgba(0,0,0,.5);
}
#cf7-popup-wrap .cf7-popup {
    position: absolute; left: 50%; top: 50%;
    transform: translate(-50%,-50%);
    width: min(90vw, 520px);
    background: #fff; border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,.2);
    padding: 24px 24px 16px;
}
.cf7-popup__title {
    margin: 0 0 8px; font-size: 1.25rem; line-height: 1.4; font-weight: 700;
}
.cf7-popup__body { font-size: .95rem; line-height: 1.8; margin-bottom: 16px; }
.cf7-popup__actions { display: flex; justify-content: flex-end; gap: 8px; }
.cf7-popup__ok {
    border: 1px solid #ddd; background: #f7f7f7;
    font-size: .95rem; padding: 8px 16px; border-radius: 8px; cursor: pointer;
}
.cf7-popup__ok:hover { background: #efefef; }
.cf7-popup__close {
    position: absolute; right: 10px; top: 8px;
    border: none; background: none; font-size: 22px; line-height: 1; cursor: pointer;
}