/* https://theduispecialist.com/wp-content/plugins/instagram-feed/assets/tokens/sb-tokens-local.css?ver=6.13.1 */
:root { --sb-color-gray-600: #4a5565; --sb-color-gray-700: #364153; --sb-color-wp-light-blue-600: #007ca8; --sb-duration-75: 75ms; --sb-duration-100: 100ms; --sb-duration-150: 150ms; --sb-duration-200: 200ms; --sb-duration-300: 300ms; --sb-duration-500: 500ms; --sb-duration-700: 700ms; --sb-duration-1000: 1000ms; --sb-opacity-disabled: 0.5; --sb-fg-muted: var(--sb-color-gray-700); --sb-fg-subtle: var(--sb-color-gray-600); --sb-focus-ring: var(--sb-color-wp-light-blue-600); --sb-text-secondary: var(--sb-fg-muted); --sb-text-tertiary: var(--sb-fg-subtle); }
@media (prefers-reduced-motion: reduce) {
  :root { --sb-duration-75: 0.01ms; --sb-duration-100: 0.01ms; --sb-duration-150: 0.01ms; --sb-duration-200: 0.01ms; --sb-duration-300: 0.01ms; --sb-duration-500: 0.01ms; --sb-duration-700: 0.01ms; --sb-duration-1000: 0.01ms; }
}
/* https://theduispecialist.com/wp-content/plugins/instagram-feed/css/sbi-styles.min.css?ver=6.13.1 */
@-webkit-keyframes sbi-sk-scaleout { 0% { transform: scale(0); }
  100% { opacity: 0; transform: scale(1); } }
@keyframes sbi-sk-scaleout { 0% { transform: scale(0); }
  100% { opacity: 0; transform: scale(1); } }
@-webkit-keyframes fa-spin { 0% { transform: rotate(0deg); }
  100% { transform: rotate(359deg); } }
@keyframes fa-spin { 0% { transform: rotate(0deg); }
  100% { transform: rotate(359deg); } }
/* inline */
:root { --wp--preset--aspect-ratio--square: 1; --wp--preset--aspect-ratio--4-3: 4/3; --wp--preset--aspect-ratio--3-4: 3/4; --wp--preset--aspect-ratio--3-2: 3/2; --wp--preset--aspect-ratio--2-3: 2/3; --wp--preset--aspect-ratio--16-9: 16/9; --wp--preset--aspect-ratio--9-16: 9/16; --wp--preset--color--black: #000000; --wp--preset--color--cyan-bluish-gray: #abb8c3; --wp--preset--color--white: #ffffff; --wp--preset--color--pale-pink: #f78da7; --wp--preset--color--vivid-red: #cf2e2e; --wp--preset--color--luminous-vivid-orange: #ff6900; --wp--preset--color--luminous-vivid-amber: #fcb900; --wp--preset--color--light-green-cyan: #7bdcb5; --wp--preset--color--vivid-green-cyan: #00d084; --wp--preset--color--pale-cyan-blue: #8ed1fc; --wp--preset--color--vivid-cyan-blue: #0693e3; --wp--preset--color--vivid-purple: #9b51e0; --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%); --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%); --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%); --wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%); --wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%); --wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%); --wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%); --wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%); --wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%); --wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%); --wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%); --wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%); --wp--preset--font-size--small: 13px; --wp--preset--font-size--medium: 20px; --wp--preset--font-size--large: 36px; --wp--preset--font-size--x-large: 42px; --wp--preset--spacing--20: 0.44rem; --wp--preset--spacing--30: 0.67rem; --wp--preset--spacing--40: 1rem; --wp--preset--spacing--50: 1.5rem; --wp--preset--spacing--60: 2.25rem; --wp--preset--spacing--70: 3.38rem; --wp--preset--spacing--80: 5.06rem; --wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2); --wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4); --wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2); --wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0); --wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0); }
:root { --wp--style--global--content-size: 823px; --wp--style--global--wide-size: 1080px; }
:where(body) { margin: 0px; }
:where(.is-layout-flex) { gap: 0.5em; }
:where(.is-layout-grid) { gap: 0.5em; }
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: var(--wp--style--global--content-size); margin-left: auto !important; margin-right: auto !important; }
body { padding: 0px; }
:root :where(.wp-element-button, .wp-block-button__link) { background-color: rgb(50, 55, 60); border-width: 0px; color: rgb(255, 255, 255); font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; letter-spacing: inherit; line-height: inherit; padding: calc(0.667em + 2px) calc(1.333em + 2px); text-decoration: none; text-transform: inherit; }
/* inline */
a, abbr, acronym, address, applet, b, big, blockquote, body, center, cite, code, dd, del, dfn, div, dl, dt, em, fieldset, font, form, h1, h2, h3, h4, h5, h6, html, i, iframe, img, ins, kbd, label, legend, li, object, ol, p, pre, q, s, samp, small, span, strike, strong, sub, sup, tt, u, ul, var { margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 100%; text-size-adjust: 100%; vertical-align: baseline; background: transparent; }
body { line-height: 1; }
ol, ul { list-style: none; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
blockquote, q { quotes: none; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
blockquote::after, blockquote::before, q::after, q::before { content: none; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
blockquote { margin: 20px 0px 30px; border-left: 5px solid; padding-left: 20px; }
:focus { outline: 0px; }
article, aside, footer, header, hgroup, nav, section { display: block; }
body { font-family: "Open Sans", Arial, sans-serif; font-size: 14px; color: rgb(102, 102, 102); background-color: rgb(255, 255, 255); line-height: 1.7em; font-weight: 500; -webkit-font-smoothing: antialiased; }
body.et_cover_background { background-attachment: fixed; background-size: cover !important; background-position: center top !important; background-repeat: no-repeat !important; }
a { color: rgb(46, 163, 242); }
a, a:hover { text-decoration: none; }
p { padding-bottom: 1em; }
p:not(.has-background):last-of-type { padding-bottom: 0px; }
strong { font-weight: 700; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
cite, em, i { font-style: italic; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
blockquote p { padding-bottom: 0px; }
embed, iframe, object, video { max-width: 100%; }
h1, h2, h3, h4, h5, h6 { color: rgb(51, 51, 51); padding-bottom: 10px; line-height: 1em; font-weight: 500; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; }
h1 { font-size: 30px; }
h2 { font-size: 26px; }
h3 { font-size: 22px; }
h4 { font-size: 18px; }
h5 { font-size: 16px; }
/* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
h6 { font-size: 14px; }
input { appearance: none; }
input.text, input.title, input[type="email"], input[type="password"], input[type="tel"], input[type="text"], select, textarea { background-color: rgb(255, 255, 255); border: 1px solid rgb(187, 187, 187); padding: 2px; color: rgb(78, 78, 78); }
input.text:focus, input.title:focus, input[type="text"]:focus, select:focus, textarea:focus { border-color: rgb(45, 57, 64); color: rgb(62, 62, 62); }
input.text, input.title, input[type="text"], select, textarea { margin: 0px; }
textarea { padding: 4px; }
button, input, select, textarea { font-family: inherit; }
img { max-width: 100%; height: auto; }
#et_search_icon:hover, .et-social-icon a:hover, .et_password_protected_form .et_submit_button, .form-submit .et_pb_buttontton.alt.disabled, .nav-single a, .posted_in a { color: rgb(46, 163, 242); }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et-search-form, blockquote { border-color: rgb(46, 163, 242); }
#main-content { background-color: rgb(255, 255, 255); }
.container { width: 80%; max-width: 1080px; margin: auto; position: relative; }
.et_button_custom_icon .et_pb_button::after { line-height: 1.7em; }
.et_button_custom_icon.et_button_icon_visible .et_pb_button::after, .et_button_custom_icon .et_pb_button:hover::after { margin-left: 0.3em; }
#left-area ul, .entry-content ul, .et-l--body ul, .et-l--footer ul, .et-l--header ul { list-style-type: disc; padding: 0px 0px 23px 1em; line-height: 26px; }
/* サービスページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
#left-area ol, .entry-content ol, .et-l--body ol, .et-l--footer ol, .et-l--header ol { list-style-type: decimal; list-style-position: inside; padding: 0px 0px 23px; line-height: 26px; }
.page.et_pb_pagebuilder_layout #main-content { background-color: transparent; }
@media (max-width: 980px) {
  #page-container { padding-top: 80px; }
}
@media print {
  #page-container { padding-top: 0px !important; }
}
* html .clearfix, :first-child + html .clearfix { zoom: 1; }
.et-social-facebook a.icon::before { content: ""; }
.et-social-twitter a.icon::before { content: ""; }
.et-social-google-plus a.icon::before { content: ""; }
.et-social-instagram a.icon::before { content: ""; }
* { box-sizing: border-box; }
#et-info-email::before, #et-info-phone::before, #et_search_icon::before, .comment-reply-link::after, .et-cart-info span::before, .et-pb-arrow-next::before, .et-pb-arrow-prev::before, .et-social-icon a::before, .et_audio_container .mejs-playpause-button button::before, .et_audio_container .mejs-volume-button button::before, .et_overlay::before, .et_password_protected_form .et_submit_button::after, .et_pb_button::after, .et_pb_contact_reset::after, .et_pb_contact_submit::after, .et_pb_font_icon::before, .et_pb_newsletter_button::after, .et_pb_pricing_table_button::after, .et_pb_promo_button::after, .et_pb_testimonial::before, .et_pb_toggle_title::before, .form-submit .et_pb_button::after, .mobile_menu_bar::before, a.et_pb_more_button::after { speak: none; font-style: normal; font-weight: 400; font-feature-settings: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; text-shadow: 0px 0px; direction: ltr; font-family: ETmodules !important; }
.et-pb-icon, .et_pb_custom_button_icon.et_pb_button::after, .et_pb_login .et_pb_custom_button_icon.et_pb_button::after, .et_pb_woo_custom_button_icon .button.et_pb_custom_button_icon.et_pb_button::after, .et_pb_woo_custom_button_icon .button.et_pb_custom_button_icon.et_pb_button:hover::after { content: attr(data-icon); }
.et-pb-icon { font-family: ETmodules; speak: none; font-weight: 400; font-feature-settings: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; font-size: 96px; font-style: normal; display: inline-block; box-sizing: border-box; direction: ltr; }
.et_pb_button { font-size: 20px; font-weight: 500; padding: 0.3em 1em; background-color: transparent; background-size: cover; background-position: 50% center; background-repeat: no-repeat; border: 2px solid; border-radius: 3px; transition-duration: 0.2s; line-height: 1.7em !important; transition-property: all !important; }
.et_pb_button, .et_pb_button_inner { position: relative; }
.et_pb_button:hover, .et_pb_module .et_pb_button:hover { border: 2px solid transparent; padding: 0.3em 2em 0.3em 0.7em; }
.et_pb_button:hover { background-color: rgba(255, 255, 255, 0.2); }
.et_pb_bg_layout_light.et_pb_button:hover, .et_pb_bg_layout_light .et_pb_button:hover { background-color: rgba(0, 0, 0, 0.05); }
.et_pb_button::after, .et_pb_button::before { font-size: 32px; line-height: 1em; content: "5"; opacity: 0; position: absolute; margin-left: -1em; transition: 0.2s; text-transform: none; font-feature-settings: "kern" 0; font-variant: none; font-style: normal; font-weight: 400; text-shadow: none; }
.et_pb_button::before { display: none; }
.et_pb_button:hover::after { opacity: 1; margin-left: 0px; }
.et_pb_column_1_3 h2, .et_pb_column_1_4 h2, .et_pb_column_1_5 h2, .et_pb_column_1_6 h2, .et_pb_column_2_5 h2 { font-size: 23px; }
.et_pb_column_1_3 h3, .et_pb_column_1_4 h3, .et_pb_column_1_5 h3, .et_pb_column_1_6 h3, .et_pb_column_2_5 h3 { font-size: 20px; }
.et_pb_column_1_3 h4, .et_pb_column_1_4 h4, .et_pb_column_1_5 h4, .et_pb_column_1_6 h4, .et_pb_column_2_5 h4 { font-size: 18px; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_column_1_3 h5, .et_pb_column_1_4 h5, .et_pb_column_1_5 h5, .et_pb_column_1_6 h5, .et_pb_column_2_5 h5 { font-size: 16px; }
/* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_column_1_3 h6, .et_pb_column_1_4 h6, .et_pb_column_1_5 h6, .et_pb_column_1_6 h6, .et_pb_column_2_5 h6 { font-size: 15px; }
.et_pb_bg_layout_dark, .et_pb_bg_layout_dark h1, .et_pb_bg_layout_dark h2, .et_pb_bg_layout_dark h3, .et_pb_bg_layout_dark h4, .et_pb_bg_layout_dark h5, .et_pb_bg_layout_dark h6 { color: rgb(255, 255, 255) !important; }
.et_pb_module.et_pb_text_align_left { text-align: left; }
.et_pb_module.et_pb_text_align_center { text-align: center; }
.et_pb_module.et_pb_text_align_right { text-align: right; }
.clearfix::after { visibility: hidden; display: block; font-size: 0px; content: " "; clear: both; height: 0px; }
.et_builder_inner_content { position: relative; z-index: 1; }
.et_pb_css_mix_blend_mode_passthrough { mix-blend-mode: unset !important; }
.et_pb_image_container { margin: -20px -20px 29px; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_module_inner { position: relative; }
.et_hover_enabled:hover { position: relative; z-index: 2; }
.et_pb_all_tabs, .et_pb_module, .et_pb_posts_nav a, .et_pb_tab, .et_pb_with_background { position: relative; background-size: cover; background-position: 50% center; background-repeat: no-repeat; }
.et_pb_with_border { position: relative; border: 0px solid rgb(51, 51, 51); }
.et_pb_no_bg { padding: 0px !important; }
.et_parallax_bg_wrap { overflow: hidden; position: absolute; inset: 0px; }
.et_parallax_bg { background-repeat: no-repeat; background-position: center top; background-size: cover; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 100%; display: block; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_parallax_gradient { inset: 0px; display: block; position: absolute; }
.et_pb_section_parallax .et_pb_parallax_css, .et_pb_slides .et_parallax_bg.et_pb_parallax_css { background-attachment: fixed; }
.box-shadow-overlay { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 10; pointer-events: none; }
.has-box-shadow-overlay { position: relative; }
.et_clickable { cursor: pointer; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
#et-pb-motion-effects-offset-tracker { opacity: 0; position: absolute; top: 0px; left: 0px; visibility: hidden !important; }
@keyframes multi-view-image-fade { 0% { opacity: 0; }
  10% { opacity: 0.1; }
  20% { opacity: 0.2; }
  30% { opacity: 0.3; }
  40% { opacity: 0.4; }
  50% { opacity: 0.5; }
  60% { opacity: 0.6; }
  70% { opacity: 0.7; }
  80% { opacity: 0.8; }
  90% { opacity: 0.9; }
  100% { opacity: 1; } }
.et_pb_module { animation-timing-function: linear; animation-duration: 0.2s; }
@-webkit-keyframes fadeBottom { 0% { opacity: 0; transform: translateY(10%); }
  100% { opacity: 1; transform: translateY(0px); } }
@keyframes fadeBottom { 0% { opacity: 0; transform: translateY(10%); }
  100% { opacity: 1; transform: translateY(0px); } }
@-webkit-keyframes fadeLeft { 0% { opacity: 0; transform: translateX(-10%); }
  100% { opacity: 1; transform: translateX(0px); } }
@keyframes fadeLeft { 0% { opacity: 0; transform: translateX(-10%); }
  100% { opacity: 1; transform: translateX(0px); } }
@-webkit-keyframes fadeRight { 0% { opacity: 0; transform: translateX(10%); }
  100% { opacity: 1; transform: translateX(0px); } }
@keyframes fadeRight { 0% { opacity: 0; transform: translateX(10%); }
  100% { opacity: 1; transform: translateX(0px); } }
@-webkit-keyframes fadeTop { 0% { opacity: 0; transform: translateY(-10%); }
  100% { opacity: 1; transform: translateX(0px); } }
@keyframes fadeTop { 0% { opacity: 0; transform: translateY(-10%); }
  100% { opacity: 1; transform: translateX(0px); } }
@-webkit-keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
.et-waypoint:not(.et_pb_counters) { opacity: 0; }
@media (min-width: 981px) {
  .et_pb_section.et_section_specialty div.et_pb_row .et_pb_column .et_pb_column .et_pb_module.et-last-child, .et_pb_section.et_section_specialty div.et_pb_row .et_pb_column .et_pb_column .et_pb_module:last-child, .et_pb_section.et_section_specialty div.et_pb_row .et_pb_column .et_pb_row_inner .et_pb_column .et_pb_module.et-last-child, .et_pb_section.et_section_specialty div.et_pb_row .et_pb_column .et_pb_row_inner .et_pb_column .et_pb_module:last-child, .et_pb_section div.et_pb_row .et_pb_column .et_pb_module.et-last-child, .et_pb_section div.et_pb_row .et_pb_column .et_pb_module:last-child { margin-bottom: 0px; }
}
@media (max-width: 980px) {
  .et_pb_column .et_pb_module { margin-bottom: 30px; }
  .et_pb_row .et_pb_column .et_pb_module.et-last-child, .et_pb_row .et_pb_column .et_pb_module:last-child, .et_section_specialty .et_pb_row .et_pb_column .et_pb_module.et-last-child, .et_section_specialty .et_pb_row .et_pb_column .et_pb_module:last-child { margin-bottom: 0px; }
}
@-webkit-keyframes multi-view-image-fade { 0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.01); opacity: 1; }
  100% { transform: scale(1); opacity: 1; } }
/* https://theduispecialist.com/wp-content/et-cache/7/et-divi-dynamic-7-late.css */
.et_pb_contact_main_title { overflow-wrap: break-word; }
.et_pb_contact_submit { color: rgb(46, 163, 242); }
.et_pb_contact_form { margin-left: -3%; }
.et_pb_contact_reset:hover, .et_pb_contact_submit:hover { background-color: rgba(0, 0, 0, 0.05); }
.et_pb_contact_main_title { font-weight: 500; padding-bottom: 16px; position: relative; }
h1.et_pb_contact_main_title { font-size: 26px; }
.et-pb-contact-message { position: relative; }
.et_pb_contact { position: relative; }
.et_pb_contact .et_pb_contact_field_half { width: 50%; float: left; }
.et_pb_contact p input, .et_pb_contact p textarea { appearance: none; background-color: rgb(238, 238, 238); width: 100%; border-width: 0px; border-radius: 0px; color: rgb(153, 153, 153); font-size: 14px; padding: 16px; }
.et_pb_contact p textarea { font-family: inherit; }
.et_pb_contact_reset, .et_pb_contact_submit { font-family: inherit; display: inline-block; margin: 0px 0px 0px 18px; cursor: pointer; }
.et_contact_bottom_container { float: right; text-align: right; margin-top: -1.5%; display: flex; }
@media (max-width: 767px) {
  .et_pb_column .et_pb_contact p.et_pb_contact_field_half { width: 100%; margin-right: 0px; }
}
.et_pb_newsletter_description { overflow-wrap: break-word; }
.et_pb_newsletter { padding: 25px; }
.et_pb_newsletter .et_pb_module_header:empty { display: none; }
.et_pb_newsletter_description p:last-of-type { padding-bottom: 0px; }
.et_pb_newsletter_form p.et_pb_newsletter_field { padding-bottom: 1em; margin-bottom: 0px; }
.et_pb_newsletter_form .input, .et_pb_newsletter_form input[type="password"], .et_pb_newsletter_form input[type="text"], .et_pb_newsletter_form p.et_pb_newsletter_field input[type="text"], .et_pb_newsletter_form p.et_pb_newsletter_field textarea, .et_pb_newsletter_form select, .et_pb_newsletter_form textarea { appearance: none; font-size: 16px; color: rgb(102, 102, 102); background-color: rgb(255, 255, 255); width: 100%; font-weight: 400; border-width: 0px; border-radius: 3px; padding: 14px 4% !important; }
.et_pb_newsletter_result { display: none; }
.et_pb_newsletter_success { text-align: center; }
.et_pb_newsletter_button { display: block; color: inherit; width: 100%; text-align: center; box-sizing: border-box; }
.et_pb_newsletter_button:hover { text-decoration: none; }
.et_pb_newsletter_button:hover::after { opacity: 1; margin-left: 0px; }
.et_pb_newsletter_button_text { word-break: break-word; }
.et_pb_newsletter_fields, .et_pb_newsletter_footer { width: 100%; }
.et_pb_newsletter .et_pb_newsletter_fields { display: flex; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; }
.et_pb_newsletter .et_pb_newsletter_fields > * { flex-basis: 100%; }
.et_pb_newsletter .et_pb_contact_field_last + .et_pb_newsletter_field { padding-left: 0px; }
.et_pb_newsletter.et_pb_subscribe.et_pb_newsletter_layout_left_right .et_pb_newsletter_form, .et_pb_newsletter.et_pb_subscribe.et_pb_newsletter_layout_top_bottom .et_pb_newsletter_form { padding-top: 25px; }
@media (max-width: 980px) {
  .et_pb_newsletter.et_pb_subscribe.et_pb_newsletter_layout_top_bottom .et_pb_newsletter_form { padding-top: 25px; }
  .et_pb_newsletter .et_pb_contact_field_last_tablet + .et_pb_newsletter_field { padding-left: 0px; }
  .et_pb_newsletter .et_pb_newsletter_form .et_pb_contact_field_last_tablet { flex-basis: 100%; }
}
@media (max-width: 767px) {
  .et_pb_newsletter.et_pb_subscribe.et_pb_newsletter_layout_left_right .et_pb_newsletter_form, .et_pb_newsletter.et_pb_subscribe.et_pb_newsletter_layout_top_bottom .et_pb_newsletter_form { padding-top: 25px; }
  .et_pb_newsletter .et_pb_contact_field_last_phone + .et_pb_newsletter_field { padding-left: 0px; }
  .et_pb_newsletter .et_pb_newsletter_form .et_pb_contact_field_last_phone { flex-basis: 100%; }
}
body .grecaptcha-badge { visibility: hidden; }
body.et_pb_recaptcha_enabled .grecaptcha-badge { visibility: initial; z-index: 9999; }
.et_pb_contact_form_label { display: none; }
p.et_pb_contact_field { padding: 0px 0px 0px 3%; margin-bottom: 3%; background-position: 50% center; background-size: cover; }
p.et_pb_contact_field.et_pb_contact_field_last + p.et_pb_contact_field.et_pb_contact_field_last, p.et_pb_contact_field:not(.et_pb_contact_field_last), p.et_pb_contact_field_half + p.et_pb_contact_field_last:not(.et_pb_contact_field_half) { clear: both; }
.et_pb_contact_field *, .et_pb_contact_field.et_pb_section_parallax, .et_pb_contact_field.et_pb_section_video { position: relative; }
.et_pb_contact_field textarea.et_pb_contact_message { min-height: 150px; display: block; }
.et_pb_newsletter.et_pb_subscribe { display: flex; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: center; align-items: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; }
.et_pb_newsletter.et_pb_subscribe .et_pb_newsletter_description { align-self: start; }
.et_pb_newsletter.et_pb_subscribe .et_pb_newsletter_description, .et_pb_newsletter.et_pb_subscribe .et_pb_newsletter_form { width: 100%; }
.et_subscribe_loader { display: none; width: 16px; height: 16px; position: absolute; left: 50%; top: 16px; margin-left: -8px; }
.et_pb_newsletter .et_pb_newsletter_description, .et_pb_newsletter .et_pb_newsletter_form { position: relative; }
ul.et_pb_social_media_follow { margin: 0px 0px 22px; padding: 0px; list-style-type: none !important; }
.et_pb_social_media_follow li { display: inline-block; margin-bottom: 8px; position: relative; }
.et_pb_social_media_follow li a { margin-right: 8px; display: inline-block; text-decoration: none; text-align: center; position: relative; }
.et_pb_social_media_follow li.last-child a, .et_pb_social_media_follow li:last-child a { margin-right: 0px; }
.et_pb_social_media_follow li a.icon { height: 32px; width: 32px; padding: 0px; box-sizing: content-box; }
.et_pb_social_media_follow li a.icon::before { height: 32px; width: 32px; font-size: 16px; line-height: 32px; display: block; color: rgb(255, 255, 255); transition: color 0.3s; position: relative; z-index: 10; }
.et_pb_social_media_follow li a.icon:hover::before { color: rgba(255, 255, 255, 0.7); }
.et_pb_social_media_follow li a.icon { border-radius: 3px; }
.et_pb_social_media_follow_network_name { display: none; }
.et_pb_social_icon a.icon { vertical-align: middle; }
.et_pb_social_icon a.icon::before { font-family: ETmodules; speak: none; font-style: normal; font-weight: 400; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; text-shadow: 0px 0px; direction: ltr; }
.et-pb-social-fa-icon a.icon::before { font-family: FontAwesome; }
.et-social-google a.icon::before { content: ""; }
.et-social-line a.icon::before { content: ""; }
.et-social-yelp a.icon::before { content: ""; }
.et-social-linkedin a.icon::before { content: ""; }
.et-social-youtube a.icon::before { content: ""; }
/* inline */
@font-face { font-family: ETmodules; font-display: block; src: url("fonts/icons/modules.woff2?v=326a08ab") format("woff2"); font-weight: 400; font-style: normal; }
@font-face { font-family: FontAwesome; font-style: normal; font-weight: 400; font-display: block; src: url("fonts/icons/fa-regular-400.woff2?v=5d09213e") format("woff2"); }
@font-face { font-family: FontAwesome; font-style: normal; font-weight: 900; font-display: block; src: url("fonts/icons/fa-solid-900.woff2?v=6c1b905e") format("woff2"); }
@font-face { font-family: FontAwesome; font-style: normal; font-weight: 400; font-display: block; src: url("fonts/icons/fa-brands-400.woff2?v=2d4f548a") format("woff2"); }
@media (min-width: 981px) {
  .et_pb_gutters3 .et_pb_column, .et_pb_gutters3.et_pb_row .et_pb_column { margin-right: 5.5%; }
  .et_pb_gutters3 .et_pb_column_4_4, .et_pb_gutters3.et_pb_row .et_pb_column_4_4 { width: 100%; }
  .et_pb_gutters3 .et_pb_column_4_4 .et_pb_module, .et_pb_gutters3.et_pb_row .et_pb_column_4_4 .et_pb_module { margin-bottom: 2.75%; }
  /* サービスページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_gutters3 .et_pb_column_1_2, .et_pb_gutters3.et_pb_row .et_pb_column_1_2 { width: 47.25%; }
  .et_pb_gutters3 .et_pb_column_1_2 .et_pb_module, .et_pb_gutters3.et_pb_row .et_pb_column_1_2 .et_pb_module { margin-bottom: 5.82%; }
  .et_pb_gutters3 .et_pb_column_1_4, .et_pb_gutters3.et_pb_row .et_pb_column_1_4 { width: 20.875%; }
  .et_pb_gutters3 .et_pb_column_1_4 .et_pb_module, .et_pb_gutters3.et_pb_row .et_pb_column_1_4 .et_pb_module { margin-bottom: 13.174%; }
  /* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_column.et_pb_column_1_2 > .et_pb_row_inner.et_pb_gutters3 > .et_pb_column_4_4, .et_pb_gutters3 .et_pb_column_1_2 > .et_pb_row_inner > .et_pb_column_4_4 { width: 100%; }
  /* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_column.et_pb_column_1_2 > .et_pb_row_inner.et_pb_gutters3 > .et_pb_column_4_4 .et_pb_module, .et_pb_gutters3 .et_pb_column_1_2 > .et_pb_row_inner > .et_pb_column_4_4 .et_pb_module { margin-bottom: 5.82%; }
}
@media (min-width: 981px) {
  /* サービスページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_gutters4 .et_pb_column, .et_pb_gutters4.et_pb_row .et_pb_column { margin-right: 8%; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_gutters4 .et_pb_column_4_4, .et_pb_gutters4.et_pb_row .et_pb_column_4_4 { width: 100%; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_gutters4 .et_pb_column_4_4 .et_pb_module, .et_pb_gutters4.et_pb_row .et_pb_column_4_4 .et_pb_module { margin-bottom: 4%; }
  .et_pb_gutters4 .et_pb_column_2_3, .et_pb_gutters4.et_pb_row .et_pb_column_2_3 { width: 64%; }
  .et_pb_gutters4 .et_pb_column_2_3 .et_pb_module, .et_pb_gutters4.et_pb_row .et_pb_column_2_3 .et_pb_module { margin-bottom: 6.25%; }
  .et_pb_gutters4 .et_pb_column_1_3, .et_pb_gutters4.et_pb_row .et_pb_column_1_3 { width: 28%; }
  .et_pb_gutters4 .et_pb_column_1_3 .et_pb_module, .et_pb_gutters4.et_pb_row .et_pb_column_1_3 .et_pb_module { margin-bottom: 14.286%; }
  /* サービスページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_gutters4 .et_pb_column_1_4, .et_pb_gutters4.et_pb_row .et_pb_column_1_4 { width: 19%; }
  .et_pb_gutters4 .et_pb_column_1_4 .et_pb_module, .et_pb_gutters4.et_pb_row .et_pb_column_1_4 .et_pb_module { margin-bottom: 21.053%; }
  .et_pb_gutters1 .et_pb_column, .et_pb_gutters1.et_pb_row .et_pb_column { margin-right: 0px; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_gutters1 .et_pb_column_4_4, .et_pb_gutters1.et_pb_row .et_pb_column_4_4 { width: 100%; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_gutters1 .et_pb_column_4_4 .et_pb_module, .et_pb_gutters1.et_pb_row .et_pb_column_4_4 .et_pb_module { margin-bottom: 0px; }
  .et_pb_gutters1 .et_pb_column_3_4, .et_pb_gutters1.et_pb_row .et_pb_column_3_4 { width: 75%; }
  .et_pb_gutters1 .et_pb_column_3_4 .et_pb_module, .et_pb_gutters1.et_pb_row .et_pb_column_3_4 .et_pb_module { margin-bottom: 0px; }
  .et_pb_gutters1 .et_pb_column_1_2, .et_pb_gutters1.et_pb_row .et_pb_column_1_2 { width: 50%; }
  .et_pb_gutters1 .et_pb_column_1_2 .et_pb_module, .et_pb_gutters1.et_pb_row .et_pb_column_1_2 .et_pb_module { margin-bottom: 0px; }
  .et_pb_gutters1 .et_pb_column_1_3, .et_pb_gutters1.et_pb_row .et_pb_column_1_3 { width: 33.3333%; }
  .et_pb_gutters1 .et_pb_column_1_3 .et_pb_module, .et_pb_gutters1.et_pb_row .et_pb_column_1_3 .et_pb_module { margin-bottom: 0px; }
  .et_pb_gutters1 .et_pb_column_1_4, .et_pb_gutters1.et_pb_row .et_pb_column_1_4 { width: 25%; }
  .et_pb_gutters1 .et_pb_column_1_4 .et_pb_module, .et_pb_gutters1.et_pb_row .et_pb_column_1_4 .et_pb_module { margin-bottom: 0px; }
  .et_pb_gutters1 .et_pb_column_1_5, .et_pb_gutters1.et_pb_row .et_pb_column_1_5 { width: 20%; }
  .et_pb_gutters1 .et_pb_column_1_5 .et_pb_module, .et_pb_gutters1.et_pb_row .et_pb_column_1_5 .et_pb_module { margin-bottom: 0px; }
}
@media (max-width: 980px) {
  .et_pb_gutters1 .et_pb_column, .et_pb_gutters1 .et_pb_column .et_pb_module, .et_pb_gutters1.et_pb_row .et_pb_column, .et_pb_gutters1.et_pb_row .et_pb_column .et_pb_module { margin-bottom: 0px; }
  .et_pb_gutters1 .et_pb_row_1-2_1-4_1-4 > .et_pb_column.et_pb_column_1_4, .et_pb_gutters1 .et_pb_row_1-4_1-4 > .et_pb_column.et_pb_column_1_4, .et_pb_gutters1 .et_pb_row_1-4_1-4_1-2 > .et_pb_column.et_pb_column_1_4, .et_pb_gutters1 .et_pb_row_1-5_1-5_3-5 > .et_pb_column.et_pb_column_1_5, .et_pb_gutters1 .et_pb_row_3-5_1-5_1-5 > .et_pb_column.et_pb_column_1_5, .et_pb_gutters1 .et_pb_row_4col > .et_pb_column.et_pb_column_1_4, .et_pb_gutters1 .et_pb_row_5col > .et_pb_column.et_pb_column_1_5, .et_pb_gutters1.et_pb_row_1-2_1-4_1-4 > .et_pb_column.et_pb_column_1_4, .et_pb_gutters1.et_pb_row_1-4_1-4 > .et_pb_column.et_pb_column_1_4, .et_pb_gutters1.et_pb_row_1-4_1-4_1-2 > .et_pb_column.et_pb_column_1_4, .et_pb_gutters1.et_pb_row_1-5_1-5_3-5 > .et_pb_column.et_pb_column_1_5, .et_pb_gutters1.et_pb_row_3-5_1-5_1-5 > .et_pb_column.et_pb_column_1_5, .et_pb_gutters1.et_pb_row_4col > .et_pb_column.et_pb_column_1_4, .et_pb_gutters1.et_pb_row_5col > .et_pb_column.et_pb_column_1_5 { width: 50%; margin-right: 0px; }
}
@media (max-width: 767px) {
  .et_pb_gutters1 .et_pb_column, .et_pb_gutters1 .et_pb_column .et_pb_module, .et_pb_gutters1.et_pb_row .et_pb_column, .et_pb_gutters1.et_pb_row .et_pb_column .et_pb_module { margin-bottom: 0px; }
}
@media (max-width: 479px) {
  .et_pb_gutters1 .et_pb_column, .et_pb_gutters1.et_pb_row .et_pb_column { margin: 0px !important; }
  .et_pb_gutters1 .et_pb_column .et_pb_module, .et_pb_gutters1.et_pb_row .et_pb_column .et_pb_module { margin-bottom: 0px; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_map_container > .et_pb_map { height: 200px; }
}
@media (min-width: 981px) {
  .et_pb_gutters2 .et_pb_column, .et_pb_gutters2.et_pb_row .et_pb_column { margin-right: 3%; }
  .et_pb_gutters2 .et_pb_column_4_4, .et_pb_gutters2.et_pb_row .et_pb_column_4_4 { width: 100%; }
  .et_pb_gutters2 .et_pb_column_4_4 .et_pb_module, .et_pb_gutters2.et_pb_row .et_pb_column_4_4 .et_pb_module { margin-bottom: 1.5%; }
  .et_pb_gutters2 .et_pb_column_3_4, .et_pb_gutters2.et_pb_row .et_pb_column_3_4 { width: 74.25%; }
  .et_pb_gutters2 .et_pb_column_3_4 .et_pb_module, .et_pb_gutters2.et_pb_row .et_pb_column_3_4 .et_pb_module { margin-bottom: 2.02%; }
  .et_pb_gutters2 .et_pb_column_2_3, .et_pb_gutters2.et_pb_row .et_pb_column_2_3 { width: 65.667%; }
  .et_pb_gutters2 .et_pb_column_2_3 .et_pb_module, .et_pb_gutters2.et_pb_row .et_pb_column_2_3 .et_pb_module { margin-bottom: 2.284%; }
  .et_pb_gutters2 .et_pb_column_3_5, .et_pb_gutters2.et_pb_row .et_pb_column_3_5 { width: 58.8%; }
  .et_pb_gutters2 .et_pb_column_3_5 .et_pb_module, .et_pb_gutters2.et_pb_row .et_pb_column_3_5 .et_pb_module { margin-bottom: 2.551%; }
  .et_pb_gutters2 .et_pb_column_1_2, .et_pb_gutters2.et_pb_row .et_pb_column_1_2 { width: 48.5%; }
  .et_pb_gutters2 .et_pb_column_1_2 .et_pb_module, .et_pb_gutters2.et_pb_row .et_pb_column_1_2 .et_pb_module { margin-bottom: 3.093%; }
  .et_pb_gutters2 .et_pb_column_2_5, .et_pb_gutters2.et_pb_row .et_pb_column_2_5 { width: 38.2%; }
  .et_pb_gutters2 .et_pb_column_2_5 .et_pb_module, .et_pb_gutters2.et_pb_row .et_pb_column_2_5 .et_pb_module { margin-bottom: 3.927%; }
  .et_pb_gutters2 .et_pb_column_1_3, .et_pb_gutters2.et_pb_row .et_pb_column_1_3 { width: 31.3333%; }
  .et_pb_gutters2 .et_pb_column_1_3 .et_pb_module, .et_pb_gutters2.et_pb_row .et_pb_column_1_3 .et_pb_module { margin-bottom: 4.787%; }
  .et_pb_gutters2 .et_pb_column_1_4, .et_pb_gutters2.et_pb_row .et_pb_column_1_4 { width: 22.75%; }
  .et_pb_gutters2 .et_pb_column_1_4 .et_pb_module, .et_pb_gutters2.et_pb_row .et_pb_column_1_4 .et_pb_module { margin-bottom: 6.593%; }
  .et_pb_gutters2 .et_pb_column_1_5, .et_pb_gutters2.et_pb_row .et_pb_column_1_5 { width: 17.6%; }
  .et_pb_gutters2 .et_pb_column_1_5 .et_pb_module, .et_pb_gutters2.et_pb_row .et_pb_column_1_5 .et_pb_module { margin-bottom: 8.523%; }
  /* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_gutters2 .et_pb_column_1_6, .et_pb_gutters2.et_pb_row .et_pb_column_1_6 { width: 14.1667%; }
  /* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_gutters2 .et_pb_column_1_6 .et_pb_module, .et_pb_gutters2.et_pb_row .et_pb_column_1_6 .et_pb_module { margin-bottom: 10.588%; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_gutters2 .et_pb_column_single.et_pb_column_1_3 .et_pb_module, .et_pb_gutters2.et_pb_row .et_pb_column_single.et_pb_column_1_3 .et_pb_module { margin-bottom: 4.787%; }
  /* サービスページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_gutters2 .et_pb_column_single.et_pb_column_1_2 .et_pb_module, .et_pb_gutters2.et_pb_row .et_pb_column_single.et_pb_column_1_2 .et_pb_module { margin-bottom: 3.093%; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_column.et_pb_column_2_3 > .et_pb_row_inner.et_pb_gutters2 > .et_pb_column_4_4, .et_pb_gutters2 .et_pb_column_2_3 > .et_pb_row_inner > .et_pb_column_4_4 { width: 100%; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_column.et_pb_column_2_3 > .et_pb_row_inner.et_pb_gutters2 > .et_pb_column_4_4 .et_pb_module, .et_pb_gutters2 .et_pb_column_2_3 > .et_pb_row_inner > .et_pb_column_4_4 .et_pb_module { margin-bottom: 2.284%; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_column.et_pb_column_2_3 > .et_pb_row_inner.et_pb_gutters2 > .et_pb_column_1_3, .et_pb_gutters2 .et_pb_column_2_3 > .et_pb_row_inner > .et_pb_column_1_3 { width: 47.716%; margin-right: 4.569%; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_column.et_pb_column_2_3 > .et_pb_row_inner.et_pb_gutters2 > .et_pb_column_1_3 .et_pb_module, .et_pb_gutters2 .et_pb_column_2_3 > .et_pb_row_inner > .et_pb_column_1_3 .et_pb_module { margin-bottom: 4.787%; }
}
@media (min-width: 981px) {
  .et_pb_column.et_pb_column_1_2 > .et_pb_row_inner.et_pb_gutters2 > .et_pb_column_4_4, .et_pb_gutters2 .et_pb_column_1_2 > .et_pb_row_inner > .et_pb_column_4_4 { width: 100%; }
  .et_pb_column.et_pb_column_1_2 > .et_pb_row_inner.et_pb_gutters2 > .et_pb_column_4_4 .et_pb_module, .et_pb_gutters2 .et_pb_column_1_2 > .et_pb_row_inner > .et_pb_column_4_4 .et_pb_module { margin-bottom: 3.093%; }
  /* サービスページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_column.et_pb_column_1_2 > .et_pb_row_inner.et_pb_gutters2 > .et_pb_column_1_4, .et_pb_gutters2 .et_pb_column_1_2 > .et_pb_row_inner > .et_pb_column_1_4 { width: 46.9072%; margin-right: 6.186%; }
  .et_pb_column.et_pb_column_1_2 > .et_pb_row_inner.et_pb_gutters2 > .et_pb_column_1_4 .et_pb_module, .et_pb_gutters2 .et_pb_column_1_2 > .et_pb_row_inner > .et_pb_column_1_4 .et_pb_module { margin-bottom: 6.593%; }
  /* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_column.et_pb_column_1_2 > .et_pb_row_inner.et_pb_gutters2 > .et_pb_column_1_6, .et_pb_gutters2 .et_pb_column_1_2 > .et_pb_row_inner > .et_pb_column_1_6 { width: 29.21%; margin-right: 6.186%; }
  /* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_column.et_pb_column_1_2 > .et_pb_row_inner.et_pb_gutters2 > .et_pb_column_1_6 .et_pb_module, .et_pb_gutters2 .et_pb_column_1_2 > .et_pb_row_inner > .et_pb_column_1_6 .et_pb_module { margin-bottom: 10.588%; }
}
@media (min-width: 981px) {
  .et_pb_gutters2 .et_pb_column .et_pb_blog_grid .column.size-1of1 .et_pb_post:last-child, .et_pb_gutters2 .et_pb_column .et_pb_blog_grid .column.size-1of2 .et_pb_post:last-child, .et_pb_gutters2 .et_pb_column .et_pb_blog_grid .column.size-1of3 .et_pb_post:last-child, .et_pb_gutters2.et_pb_row .et_pb_column .et_pb_blog_grid .column.size-1of1 .et_pb_post:last-child, .et_pb_gutters2.et_pb_row .et_pb_column .et_pb_blog_grid .column.size-1of2 .et_pb_post:last-child, .et_pb_gutters2.et_pb_row .et_pb_column .et_pb_blog_grid .column.size-1of3 .et_pb_post:last-child { margin-bottom: 30px; }
  .et_pb_gutters2 .et_pb_column_2_3 .et_pb_blog_grid .column.size-1of2, .et_pb_gutters2.et_pb_row .et_pb_column_2_3 .et_pb_blog_grid .column.size-1of2 { width: 47.716%; margin-right: 4.569%; }
  .et_pb_gutters2 .et_pb_column_2_3 .et_pb_blog_grid .column.size-1of2 .et_pb_post, .et_pb_gutters2.et_pb_row .et_pb_column_2_3 .et_pb_blog_grid .column.size-1of2 .et_pb_post { margin-bottom: 9.137%; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_gutters2 .et_pb_column_2_5 .et_pb_blog_grid .column.size-1of1 .et_pb_post, .et_pb_gutters2 .et_pb_column_2_5 .et_pb_grid_item, .et_pb_gutters2 .et_pb_column_2_5 .et_pb_shop_grid .woocommerce ul.products li.product, .et_pb_gutters2 .et_pb_column_2_5 .et_pb_widget, .et_pb_gutters2.et_pb_row .et_pb_column_2_5 .et_pb_blog_grid .column.size-1of1 .et_pb_post, .et_pb_gutters2.et_pb_row .et_pb_column_2_5 .et_pb_grid_item, .et_pb_gutters2.et_pb_row .et_pb_column_2_5 .et_pb_shop_grid .woocommerce ul.products li.product, .et_pb_gutters2.et_pb_row .et_pb_column_2_5 .et_pb_widget { width: 100%; margin-bottom: 7.853%; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_gutters2 .et_pb_column_1_2 .et_pb_grid_item, .et_pb_gutters2 .et_pb_column_1_2 .et_pb_shop_grid .woocommerce ul.products li.product, .et_pb_gutters2 .et_pb_column_1_2 .et_pb_widget, .et_pb_gutters2.et_pb_row .et_pb_column_1_2 .et_pb_grid_item, .et_pb_gutters2.et_pb_row .et_pb_column_1_2 .et_pb_shop_grid .woocommerce ul.products li.product, .et_pb_gutters2.et_pb_row .et_pb_column_1_2 .et_pb_widget { width: 46.907%; margin-right: 6.186%; margin-bottom: 6.186%; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_gutters2 .et_pb_column_1_2 .et_pb_grid_item.et_pb_portfolio_item:nth-child(2n), .et_pb_gutters2 .et_pb_column_1_2 .et_pb_shop_grid .woocommerce ul.products li.product:nth-child(2n), .et_pb_gutters2 .et_pb_column_1_2 .et_pb_widget:nth-child(2n), .et_pb_gutters2 .et_pb_column_2_3 .et_pb_grid_item.et_pb_portfolio_item:nth-child(2n), .et_pb_gutters2 .et_pb_column_2_3 .et_pb_shop_grid .woocommerce ul.products li.product:nth-child(2n), .et_pb_gutters2 .et_pb_column_2_3 .et_pb_widget:nth-child(2n), .et_pb_gutters2.et_pb_row .et_pb_column_1_2 .et_pb_grid_item.et_pb_portfolio_item:nth-child(2n), .et_pb_gutters2.et_pb_row .et_pb_column_1_2 .et_pb_shop_grid .woocommerce ul.products li.product:nth-child(2n), .et_pb_gutters2.et_pb_row .et_pb_column_1_2 .et_pb_widget:nth-child(2n), .et_pb_gutters2.et_pb_row .et_pb_column_2_3 .et_pb_grid_item.et_pb_portfolio_item:nth-child(2n), .et_pb_gutters2.et_pb_row .et_pb_column_2_3 .et_pb_shop_grid .woocommerce ul.products li.product:nth-child(2n), .et_pb_gutters2.et_pb_row .et_pb_column_2_3 .et_pb_widget:nth-child(2n) { margin-right: 0px; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_gutters2 .et_pb_column_1_2 .et_pb_grid_item.et_pb_portfolio_item:nth-child(2n+1), .et_pb_gutters2 .et_pb_column_1_2 .et_pb_shop_grid .woocommerce ul.products li.product:nth-child(2n+1), .et_pb_gutters2 .et_pb_column_1_2 .et_pb_widget:nth-child(2n+1), .et_pb_gutters2 .et_pb_column_2_3 .et_pb_grid_item.et_pb_portfolio_item:nth-child(2n+1), .et_pb_gutters2 .et_pb_column_2_3 .et_pb_shop_grid .woocommerce ul.products li.product:nth-child(2n+1), .et_pb_gutters2 .et_pb_column_2_3 .et_pb_widget:nth-child(2n+1), .et_pb_gutters2.et_pb_row .et_pb_column_1_2 .et_pb_grid_item.et_pb_portfolio_item:nth-child(2n+1), .et_pb_gutters2.et_pb_row .et_pb_column_1_2 .et_pb_shop_grid .woocommerce ul.products li.product:nth-child(2n+1), .et_pb_gutters2.et_pb_row .et_pb_column_1_2 .et_pb_widget:nth-child(2n+1), .et_pb_gutters2.et_pb_row .et_pb_column_2_3 .et_pb_grid_item.et_pb_portfolio_item:nth-child(2n+1), .et_pb_gutters2.et_pb_row .et_pb_column_2_3 .et_pb_shop_grid .woocommerce ul.products li.product:nth-child(2n+1), .et_pb_gutters2.et_pb_row .et_pb_column_2_3 .et_pb_widget:nth-child(2n+1) { clear: both; }
  .et_pb_gutters2 .et_pb_column_1_2 .et_pb_blog_grid .column.size-1of2:nth-child(2n), .et_pb_gutters2 .et_pb_column_1_2 .et_pb_blog_grid .column.size-1of3:nth-child(3n), .et_pb_gutters2 .et_pb_column_1_2 .et_pb_grid_item.last_in_row, .et_pb_gutters2 .et_pb_column_2_3 .et_pb_blog_grid .column.size-1of2:nth-child(2n), .et_pb_gutters2 .et_pb_column_2_3 .et_pb_blog_grid .column.size-1of3:nth-child(3n), .et_pb_gutters2 .et_pb_column_2_3 .et_pb_grid_item.last_in_row, .et_pb_gutters2 .et_pb_column_3_4 .et_pb_blog_grid .column.size-1of2:nth-child(2n), .et_pb_gutters2 .et_pb_column_3_4 .et_pb_blog_grid .column.size-1of3:nth-child(3n), .et_pb_gutters2 .et_pb_column_3_4 .et_pb_grid_item.last_in_row, .et_pb_gutters2.et_pb_row .et_pb_column_1_2 .et_pb_blog_grid .column.size-1of2:nth-child(2n), .et_pb_gutters2.et_pb_row .et_pb_column_1_2 .et_pb_blog_grid .column.size-1of3:nth-child(3n), .et_pb_gutters2.et_pb_row .et_pb_column_1_2 .et_pb_grid_item.last_in_row, .et_pb_gutters2.et_pb_row .et_pb_column_2_3 .et_pb_blog_grid .column.size-1of2:nth-child(2n), .et_pb_gutters2.et_pb_row .et_pb_column_2_3 .et_pb_blog_grid .column.size-1of3:nth-child(3n), .et_pb_gutters2.et_pb_row .et_pb_column_2_3 .et_pb_grid_item.last_in_row, .et_pb_gutters2.et_pb_row .et_pb_column_3_4 .et_pb_blog_grid .column.size-1of2:nth-child(2n), .et_pb_gutters2.et_pb_row .et_pb_column_3_4 .et_pb_blog_grid .column.size-1of3:nth-child(3n), .et_pb_gutters2.et_pb_row .et_pb_column_3_4 .et_pb_grid_item.last_in_row { margin-right: 0px; }
}
.et_animated { opacity: 0; animation-duration: 1s; animation-fill-mode: both !important; }
.et_had_animation { position: relative; }
@-webkit-keyframes et_pb_fade { 100% { opacity: 1; } }
@keyframes et_pb_fade { 100% { opacity: 1; } }
@-webkit-keyframes et_pb_fadeTop { 0% { transform: translate3d(0px, -100%, 0px); }
  100% { opacity: 1; transform: none; } }
@keyframes et_pb_fadeTop { 0% { transform: translate3d(0px, -100%, 0px); }
  100% { opacity: 1; transform: none; } }
@-webkit-keyframes et_pb_fadeRight { 0% { transform: translate3d(100%, 0px, 0px); }
  100% { opacity: 1; transform: none; } }
@keyframes et_pb_fadeRight { 0% { transform: translate3d(100%, 0px, 0px); }
  100% { opacity: 1; transform: none; } }
@-webkit-keyframes et_pb_fadeBottom { 0% { transform: translate3d(0px, 100%, 0px); }
  100% { opacity: 1; transform: none; } }
@keyframes et_pb_fadeBottom { 0% { transform: translate3d(0px, 100%, 0px); }
  100% { opacity: 1; transform: none; } }
@-webkit-keyframes et_pb_fadeLeft { 0% { transform: translate3d(-100%, 0px, 0px); }
  100% { opacity: 1; transform: none; } }
@keyframes et_pb_fadeLeft { 0% { transform: translate3d(-100%, 0px, 0px); }
  100% { opacity: 1; transform: none; } }
@-webkit-keyframes et_pb_slide { 100% { transform: scaleX(1); opacity: 1; } }
@keyframes et_pb_slide { 100% { transform: scaleX(1); opacity: 1; } }
@-webkit-keyframes et_pb_slideTop { 100% { transform: translateZ(0px); opacity: 1; } }
@keyframes et_pb_slideTop { 100% { transform: translateZ(0px); opacity: 1; } }
@-webkit-keyframes et_pb_slideRight { 100% { transform: translateZ(0px); opacity: 1; } }
@keyframes et_pb_slideRight { 100% { transform: translateZ(0px); opacity: 1; } }
@-webkit-keyframes et_pb_slideBottom { 100% { transform: translateZ(0px); opacity: 1; } }
@keyframes et_pb_slideBottom { 100% { transform: translateZ(0px); opacity: 1; } }
@-webkit-keyframes et_pb_slideLeft { 100% { transform: translateZ(0px); opacity: 1; } }
@keyframes et_pb_slideLeft { 100% { transform: translateZ(0px); opacity: 1; } }
@-webkit-keyframes et_pb_bounce { 0%, 20%, 40%, 60%, 80%, 100% { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { transform: scale3d(0.3, 0.3, 0.3); }
  20% { transform: scale3d(1.1, 1.1, 1.1); }
  40% { transform: scale3d(0.9, 0.9, 0.9); }
  60% { transform: scale3d(1.03, 1.03, 1.03); }
  80% { transform: scale3d(0.97, 0.97, 0.97); }
  100% { opacity: 1; transform: scaleX(1); } }
@keyframes et_pb_bounce { 0%, 20%, 40%, 60%, 80%, 100% { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { transform: scale3d(0.3, 0.3, 0.3); }
  20% { transform: scale3d(1.1, 1.1, 1.1); }
  40% { transform: scale3d(0.9, 0.9, 0.9); }
  60% { transform: scale3d(1.03, 1.03, 1.03); }
  80% { transform: scale3d(0.97, 0.97, 0.97); }
  100% { opacity: 1; transform: scaleX(1); } }
@-webkit-keyframes et_pb_bounceTop { 0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { transform: translate3d(0px, -200px, 0px); }
  60% { transform: translate3d(0px, 25px, 0px); }
  75% { transform: translate3d(0px, -10px, 0px); }
  90% { transform: translate3d(0px, 5px, 0px); }
  100% { transform: none; opacity: 1; } }
@keyframes et_pb_bounceTop { 0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { transform: translate3d(0px, -200px, 0px); }
  60% { transform: translate3d(0px, 25px, 0px); }
  75% { transform: translate3d(0px, -10px, 0px); }
  90% { transform: translate3d(0px, 5px, 0px); }
  100% { transform: none; opacity: 1; } }
@-webkit-keyframes et_pb_bounceRight { 0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { transform: translate3d(200px, 0px, 0px); }
  60% { transform: translate3d(-25px, 0px, 0px); }
  75% { transform: translate3d(10px, 0px, 0px); }
  90% { transform: translate3d(-5px, 0px, 0px); }
  100% { transform: none; opacity: 1; } }
@keyframes et_pb_bounceRight { 0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { transform: translate3d(200px, 0px, 0px); }
  60% { transform: translate3d(-25px, 0px, 0px); }
  75% { transform: translate3d(10px, 0px, 0px); }
  90% { transform: translate3d(-5px, 0px, 0px); }
  100% { transform: none; opacity: 1; } }
@-webkit-keyframes et_pb_bounceBottom { 0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { transform: translate3d(0px, 200px, 0px); }
  60% { transform: translate3d(0px, -20px, 0px); }
  75% { transform: translate3d(0px, 10px, 0px); }
  90% { transform: translate3d(0px, -5px, 0px); }
  100% { transform: translateZ(0px); opacity: 1; } }
@keyframes et_pb_bounceBottom { 0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { transform: translate3d(0px, 200px, 0px); }
  60% { transform: translate3d(0px, -20px, 0px); }
  75% { transform: translate3d(0px, 10px, 0px); }
  90% { transform: translate3d(0px, -5px, 0px); }
  100% { transform: translateZ(0px); opacity: 1; } }
@-webkit-keyframes et_pb_bounceLeft { 0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { transform: translate3d(-200px, 0px, 0px); }
  60% { transform: translate3d(25px, 0px, 0px); }
  75% { transform: translate3d(-10px, 0px, 0px); }
  90% { transform: translate3d(5px, 0px, 0px); }
  100% { transform: none; opacity: 1; } }
@keyframes et_pb_bounceLeft { 0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { transform: translate3d(-200px, 0px, 0px); }
  60% { transform: translate3d(25px, 0px, 0px); }
  75% { transform: translate3d(-10px, 0px, 0px); }
  90% { transform: translate3d(5px, 0px, 0px); }
  100% { transform: none; opacity: 1; } }
@-webkit-keyframes et_pb_zoom { 100% { transform: scaleX(1); opacity: 1; } }
@keyframes et_pb_zoom { 100% { transform: scaleX(1); opacity: 1; } }
@-webkit-keyframes et_pb_zoomTop { 100% { transform: scaleX(1); opacity: 1; } }
@keyframes et_pb_zoomTop { 100% { transform: scaleX(1); opacity: 1; } }
@-webkit-keyframes et_pb_zoomRight { 100% { transform: scaleX(1); opacity: 1; } }
@keyframes et_pb_zoomRight { 100% { transform: scaleX(1); opacity: 1; } }
@-webkit-keyframes et_pb_zoomBottom { 100% { transform: scaleX(1); opacity: 1; } }
@keyframes et_pb_zoomBottom { 100% { transform: scaleX(1); opacity: 1; } }
@-webkit-keyframes et_pb_zoomLeft { 100% { transform: scaleX(1); opacity: 1; } }
@keyframes et_pb_zoomLeft { 100% { transform: scaleX(1); opacity: 1; } }
@-webkit-keyframes et_pb_flip { 100% { opacity: 1; transform: rotateX(0deg); } }
@keyframes et_pb_flip { 100% { opacity: 1; transform: rotateX(0deg); } }
@-webkit-keyframes et_pb_flipTop { 100% { opacity: 1; transform: rotateX(0deg); } }
@keyframes et_pb_flipTop { 100% { opacity: 1; transform: rotateX(0deg); } }
@-webkit-keyframes et_pb_flipRight { 100% { opacity: 1; transform: rotateY(0deg); } }
@keyframes et_pb_flipRight { 100% { opacity: 1; transform: rotateY(0deg); } }
@-webkit-keyframes et_pb_flipBottom { 100% { opacity: 1; transform: rotateX(0deg); } }
@keyframes et_pb_flipBottom { 100% { opacity: 1; transform: rotateX(0deg); } }
@-webkit-keyframes et_pb_flipLeft { 100% { opacity: 1; transform: rotateY(0deg); } }
@keyframes et_pb_flipLeft { 100% { opacity: 1; transform: rotateY(0deg); } }
@-webkit-keyframes et_pb_fold { 100% { opacity: 1; transform: rotateY(0deg); } }
@keyframes et_pb_fold { 100% { opacity: 1; transform: rotateY(0deg); } }
@-webkit-keyframes et_pb_foldTop { 100% { opacity: 1; transform: rotateX(0deg); } }
@keyframes et_pb_foldTop { 100% { opacity: 1; transform: rotateX(0deg); } }
@-webkit-keyframes et_pb_foldRight { 100% { opacity: 1; transform: rotateY(0deg); } }
@keyframes et_pb_foldRight { 100% { opacity: 1; transform: rotateY(0deg); } }
@-webkit-keyframes et_pb_foldBottom { 100% { opacity: 1; transform: rotateX(0deg); } }
@keyframes et_pb_foldBottom { 100% { opacity: 1; transform: rotateX(0deg); } }
@-webkit-keyframes et_pb_foldLeft { 100% { opacity: 1; transform: rotateY(0deg); } }
@keyframes et_pb_foldLeft { 100% { opacity: 1; transform: rotateY(0deg); } }
@-webkit-keyframes et_pb_roll { 0% { transform-origin: center center; }
  100% { transform-origin: center center; transform: none; opacity: 1; } }
@keyframes et_pb_roll { 0% { transform-origin: center center; }
  100% { transform-origin: center center; transform: none; opacity: 1; } }
@-webkit-keyframes et_pb_rollTop { 0% { transform-origin: center top; }
  100% { transform-origin: center top; transform: none; opacity: 1; } }
@keyframes et_pb_rollTop { 0% { transform-origin: center top; }
  100% { transform-origin: center top; transform: none; opacity: 1; } }
@-webkit-keyframes et_pb_rollRight { 0% { transform-origin: right center; }
  100% { transform-origin: right center; transform: none; opacity: 1; } }
@keyframes et_pb_rollRight { 0% { transform-origin: right center; }
  100% { transform-origin: right center; transform: none; opacity: 1; } }
@-webkit-keyframes et_pb_rollBottom { 0% { transform-origin: center bottom; }
  100% { transform-origin: center bottom; transform: none; opacity: 1; } }
@keyframes et_pb_rollBottom { 0% { transform-origin: center bottom; }
  100% { transform-origin: center bottom; transform: none; opacity: 1; } }
@-webkit-keyframes et_pb_rollLeft { 0% { transform-origin: left center; }
  100% { transform-origin: left center; transform: none; opacity: 1; } }
@keyframes et_pb_rollLeft { 0% { transform-origin: left center; }
  100% { transform-origin: left center; transform: none; opacity: 1; } }
#et-secondary-menu li, #top-menu li { overflow-wrap: break-word; }
.nav li ul, .et_mobile_menu { border-color: rgb(46, 163, 242); }
.mobile_menu_bar::before, .mobile_menu_bar::after, #top-menu li.current-menu-ancestor > a, #top-menu li.current-menu-item > a { color: rgb(46, 163, 242); }
#main-header { transition: background-color 0.4s, color 0.4s, transform 0.4s, opacity 0.4s ease-in-out, -webkit-transform 0.4s; }
.container { text-align: left; position: relative; }
.et_fixed_nav.et_show_nav #page-container { padding-top: 80px; }
.et_fixed_nav #main-header { position: fixed; }
.et_header_style_left #et-top-navigation { padding-top: 33px; }
.et_header_style_left #et-top-navigation nav > ul > li > a { padding-bottom: 33px; }
.et_header_style_left .logo_container { position: absolute; height: 100%; width: 100%; }
.et_header_style_left #et-top-navigation .mobile_menu_bar { padding-bottom: 24px; }
#logo { width: auto; transition: 0.4s ease-in-out; margin-bottom: 0px; max-height: 54%; display: inline-block; float: none; vertical-align: middle; transform: translate3d(0px, 0px, 0px); }
.logo_container { transition: 0.4s ease-in-out; }
span.logo_helper { display: inline-block; height: 100%; vertical-align: middle; width: 0px; }
#top-menu-nav, #top-menu { line-height: 0; }
#et-top-navigation { font-weight: 600; }
.et_fixed_nav #et-top-navigation { transition: 0.4s ease-in-out; }
nav#top-menu-nav, #top-menu, nav.et-menu-nav, .et-menu { float: left; }
#top-menu li { display: inline-block; font-size: 14px; padding-right: 22px; }
#top-menu > li:last-child { padding-right: 0px; }
#top-menu a { color: rgba(0, 0, 0, 0.6); text-decoration: none; display: block; position: relative; transition: opacity 0.4s ease-in-out, background-color 0.4s ease-in-out; }
#top-menu-nav > ul > li > a:hover { opacity: 0.7; transition: 0.4s ease-in-out; }
.container.et_menu_container { z-index: 99; }
#et-top-navigation { float: right; }
#top-menu li li { padding: 0px 20px; margin: 0px; }
#top-menu li li a { padding: 6px 20px; width: 200px; }
#top-menu .menu-item-has-children > a:first-child::after, #et-secondary-nav .menu-item-has-children > a:first-child::after { font-family: ETmodules; content: "3"; font-size: 16px; position: absolute; right: 0px; top: 0px; font-weight: 800; }
#top-menu .menu-item-has-children > a:first-child, #et-secondary-nav .menu-item-has-children > a:first-child { padding-right: 20px; }
#et_mobile_nav_menu { float: right; display: none; }
.mobile_menu_bar { position: relative; display: block; line-height: 0; }
.mobile_menu_bar::before, .et_toggle_slide_menu::after { content: "a"; font-size: 32px; left: 0px; position: relative; top: 0px; cursor: pointer; }
.mobile_nav .select_page { display: none; }
@media (min-width: 981px) {
  #main-header.et-fixed-header { box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 7px !important; }
  .et_header_style_left .et-fixed-header #et-top-navigation { padding-top: 20px; }
  .et_header_style_left .et-fixed-header #et-top-navigation nav > ul > li > a { padding-bottom: 20px; }
  .et_primary_nav_dropdown_animation_expand #et-top-navigation ul li:hover > ul, .et_secondary_nav_dropdown_animation_expand #et-secondary-nav li:hover > ul { transform-origin: 0px 0px; animation: 0.4s ease-in-out 0s 1 normal none running Grow; backface-visibility: visible !important; }
}
@media (max-width: 980px) {
  .et_fixed_nav.et_show_nav.et_secondary_nav_enabled #page-container, .et_fixed_nav.et_show_nav #page-container { padding-top: 80px; }
  #top-menu { display: none; }
  #et-top-navigation { margin-right: 0px; transition: none; }
  .et_fixed_nav #main-header { position: absolute; }
  .et_header_style_left .et-fixed-header #et-top-navigation, .et_header_style_left #et-top-navigation { padding-top: 24px; display: block; }
  .et_fixed_nav #main-header { transition: none; }
  #logo, .logo_container, #main-header, .container { transition: none; }
  .et_header_style_left #logo { max-width: 50%; }
  #et_mobile_nav_menu { display: block; }
}
@media (max-width: 767px) {
  #et-top-navigation { margin-right: 0px; }
  /* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_blurb_position_left_phone .et_pb_blurb_container, .et_pb_blurb_position_right_phone .et_pb_blurb_container { display: table-cell; vertical-align: top; }
  /* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_blurb_position_left_phone .et_pb_blurb_container { padding-left: 15px; }
  /* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_blurb_position_left_phone .et_pb_blurb_content { text-align: left; }
}
@media (max-width: 479px) {
  #et-top-navigation { margin-right: 0px; }
}
@media print {
  #top-header, #main-header { position: relative !important; inset: auto !important; }
}
@-webkit-keyframes fadeOutTop { 0% { opacity: 1; transform: translateY(0px); }
  100% { opacity: 0; transform: translateY(-60%); } }
@keyframes fadeOutTop { 0% { opacity: 1; transform: translateY(0px); }
  100% { opacity: 0; transform: translateY(-60%); } }
@-webkit-keyframes fadeInTop { 0% { opacity: 0; transform: translateY(-60%); }
  100% { opacity: 1; transform: translateY(0px); } }
@keyframes fadeInTop { 0% { opacity: 0; transform: translateY(-60%); }
  100% { opacity: 1; transform: translateY(0px); } }
@-webkit-keyframes fadeInBottom { 0% { opacity: 0; transform: translateY(60%); }
  100% { opacity: 1; transform: translateY(0px); } }
@keyframes fadeInBottom { 0% { opacity: 0; transform: translateY(60%); }
  100% { opacity: 1; transform: translateY(0px); } }
@-webkit-keyframes fadeOutBottom { 0% { opacity: 1; transform: translateY(0px); }
  100% { opacity: 0; transform: translateY(60%); } }
@keyframes fadeOutBottom { 0% { opacity: 1; transform: translateY(0px); }
  100% { opacity: 0; transform: translateY(60%); } }
@-webkit-keyframes Grow { 0% { opacity: 0; transform: scaleY(0.5); }
  100% { opacity: 1; transform: scale(1); } }
@keyframes Grow { 0% { opacity: 0; transform: scaleY(0.5); }
  100% { opacity: 1; transform: scale(1); } }
@-webkit-keyframes flipInX { 0% { transform: perspective(400px) rotateX(90deg); animation-timing-function: ease-in; opacity: 0; }
  40% { transform: perspective(400px) rotateX(-20deg); animation-timing-function: ease-in; }
  60% { transform: perspective(400px) rotateX(10deg); opacity: 1; }
  80% { transform: perspective(400px) rotateX(-5deg); }
  100% { transform: perspective(400px); } }
@keyframes flipInX { 0% { transform: perspective(400px) rotateX(90deg); animation-timing-function: ease-in; opacity: 0; }
  40% { transform: perspective(400px) rotateX(-20deg); animation-timing-function: ease-in; }
  60% { transform: perspective(400px) rotateX(10deg); opacity: 1; }
  80% { transform: perspective(400px) rotateX(-5deg); }
  100% { transform: perspective(400px); } }
@-webkit-keyframes flipInY { 0% { transform: perspective(400px) rotateY(90deg); animation-timing-function: ease-in; opacity: 0; }
  40% { transform: perspective(400px) rotateY(-20deg); animation-timing-function: ease-in; }
  60% { transform: perspective(400px) rotateY(10deg); opacity: 1; }
  80% { transform: perspective(400px) rotateY(-5deg); }
  100% { transform: perspective(400px); } }
@keyframes flipInY { 0% { transform: perspective(400px) rotateY(90deg); animation-timing-function: ease-in; opacity: 0; }
  40% { transform: perspective(400px) rotateY(-20deg); animation-timing-function: ease-in; }
  60% { transform: perspective(400px) rotateY(10deg); opacity: 1; }
  80% { transform: perspective(400px) rotateY(-5deg); }
  100% { transform: perspective(400px); } }
#main-header { line-height: 23px; font-weight: 500; top: 0px; background-color: rgb(255, 255, 255); width: 100%; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 0px; position: relative; z-index: 99999; }
.nav li li { padding: 0px 20px; margin: 0px; }
.nav li { position: relative; line-height: 1em; }
.nav li li { position: relative; line-height: 2em; }
.nav li ul { position: absolute; padding: 20px 0px; z-index: 9999; width: 240px; background: rgb(255, 255, 255); visibility: hidden; opacity: 0; border-top: 3px solid rgb(46, 163, 242); box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 5px; transform: translateZ(0px); text-align: left; }
.nav li.et-hover > ul { visibility: visible; }
.nav li.et-touch-hover > ul, .nav li:hover > ul { opacity: 1; visibility: visible; }
.nav li:hover { visibility: inherit; }
.et_mobile_menu li a, .nav li li a { font-size: 14px; transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out; }
.et_mobile_menu li a:hover, .nav ul li a:hover { background-color: rgba(0, 0, 0, 0.03); opacity: 0.7; }
.et_mobile_menu { position: absolute; left: 0px; padding: 5%; background: rgb(255, 255, 255); width: 100%; visibility: visible; opacity: 1; display: none; z-index: 9999; border-top: 3px solid rgb(46, 163, 242); box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 5px; }
#main-header .et_mobile_menu li ul, .et_pb_fullwidth_menu .et_mobile_menu li ul, .et_pb_menu .et_mobile_menu li ul { padding-left: 10px; visibility: visible !important; display: block !important; }
.et_mobile_menu li li { padding-left: 5%; }
.et_mobile_menu li a { border-bottom: 1px solid rgba(0, 0, 0, 0.03); color: rgb(102, 102, 102); padding: 10px 5%; display: block; }
.et_mobile_menu .menu-item-has-children > a { font-weight: 700; background-color: rgba(0, 0, 0, 0.03); }
.mobile_menu_bar { position: relative; display: block; line-height: 0; }
.mobile_menu_bar::before { content: "a"; font-size: 32px; position: relative; left: 0px; top: 0px; cursor: pointer; }
.mobile_nav .select_page { display: none; }
.et_transparent_nav #page-container { padding-top: 0px !important; }
@media (min-width: 981px) {
  .et_transparent_nav #page-container { transition: none; }
}
.et-social-icons { float: right; }
.et-social-icons li { display: inline-block; margin-left: 20px; }
.et-social-icon a { display: inline-block; font-size: 24px; position: relative; text-align: center; transition: color 300ms; color: rgb(102, 102, 102); text-decoration: none; }
.et-social-icons a:hover { opacity: 0.7; transition: 0.4s ease-in-out; }
.et-social-icon span { display: none; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_widget { float: left; max-width: 100%; overflow-wrap: break-word; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_widget a { text-decoration: none; color: rgb(102, 102, 102); }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_widget li a:hover { color: rgb(130, 192, 199); }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_widget ol li, .et_pb_widget ul li { margin-bottom: 0.5em; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_widget_area .et_pb_widget a { color: inherit; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_bg_layout_light .et_pb_widget li a { color: rgb(102, 102, 102); }
@media (max-width: 980px) {
  .et-social-icons { float: none; text-align: center; }
}
@media (max-width: 980px) {
  .et-social-icons { margin: 0px 0px 5px; }
}
.mfp-hide { display: none !important; }
.et_pb_section { position: relative; background-color: rgb(255, 255, 255); background-position: 50% center; background-size: cover; }
.et_pb_section.et_section_transparent { background-color: transparent; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.et_pb_fullwidth_section { padding: 0px; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.et_pb_bottom_inside_divider, .et_pb_top_inside_divider { display: block; height: 100%; position: absolute; pointer-events: none; width: 100%; left: 0px; right: 0px; }
@media (min-width: 981px) {
  .et_pb_section { padding: 4% 0px; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_fullwidth_section { padding: 0px; }
}
@media (max-width: 980px) {
  .et_pb_section { padding: 50px 0px; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_fullwidth_section { padding: 0px; }
}
.et_pb_row { width: 80%; max-width: 1080px; margin: auto; position: relative; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.section_has_divider .et_pb_row { z-index: 5; }
.et_pb_row_inner { width: 100%; position: relative; }
.et_pb_row::after, .et_pb_row_inner::after { content: ""; display: block; clear: both; visibility: hidden; line-height: 0; height: 0px; width: 0px; }
.et_pb_row_4col .et-last-child, .et_pb_row_4col .et-last-child-2, .et_pb_row_6col .et-last-child, .et_pb_row_6col .et-last-child-2, .et_pb_row_6col .et-last-child-3 { margin-bottom: 0px; }
.et_pb_column { float: left; background-size: cover; background-position: 50% center; position: relative; z-index: 2; min-height: 1px; }
.et_pb_column.et_pb_column_empty { min-height: 1px; }
.et_pb_row .et_pb_column.et-last-child, .et_pb_row .et_pb_column:last-child, .et_pb_row_inner .et_pb_column.et-last-child, .et_pb_row_inner .et_pb_column:last-child { margin-right: 0px !important; }
.et_pb_column, .et_pb_row, .et_pb_row_inner { background-size: cover; background-position: 50% center; background-repeat: no-repeat; }
@media (min-width: 981px) {
  .et_pb_row { padding: 2% 0px; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_column_2_3 .et_pb_row_inner { padding: 4.2415% 0px; }
  .et_pb_column_1_2 .et_pb_row_inner, .et_pb_column_3_5 .et_pb_row_inner { padding: 5.82% 0px; }
  .et_section_specialty > .et_pb_row { padding: 0px; }
  .et_pb_row_inner { width: 100%; }
  .et_pb_column_single { padding: 2.855% 0px; }
  /* サービスページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_column_single .et_pb_module.et-first-child, .et_pb_column_single .et_pb_module:first-child { margin-top: 0px; }
  .et_pb_column_single .et_pb_module.et-last-child, .et_pb_column_single .et_pb_module:last-child { margin-bottom: 0px; }
  .et_pb_row .et_pb_column.et-last-child, .et_pb_row .et_pb_column:last-child, .et_pb_row_inner .et_pb_column.et-last-child, .et_pb_row_inner .et_pb_column:last-child { margin-right: 0px !important; }
  .et_pb_row.et_pb_equal_columns, .et_pb_row_inner.et_pb_equal_columns, .et_pb_section.et_pb_equal_columns > .et_pb_row { display: flex; }
  .et_pb_row.et_pb_equal_columns > .et_pb_column, .et_pb_section.et_pb_equal_columns > .et_pb_row > .et_pb_column { -webkit-box-ordinal-group: 2; order: 1; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_section_sticky, .et_pb_section_sticky.et_pb_bottom_divider .et_pb_row:nth-last-child(2), .et_pb_section_sticky .et_pb_column_single, .et_pb_section_sticky .et_pb_row.et-last-child, .et_pb_section_sticky .et_pb_row:last-child, .et_pb_section_sticky .et_pb_specialty_column .et_pb_row_inner.et-last-child, .et_pb_section_sticky .et_pb_specialty_column .et_pb_row_inner:last-child { padding-bottom: 0px !important; }
}
@media (max-width: 980px) {
  .et_pb_row { max-width: 1080px; }
  .et_pb_column .et_pb_row_inner, .et_pb_row { padding: 30px 0px; }
  .et_section_specialty > .et_pb_row { padding: 0px; }
  .et_pb_column { width: 100%; margin-bottom: 30px; }
  .et_pb_bottom_divider .et_pb_row:nth-last-child(2) .et_pb_column:last-child, .et_pb_row .et_pb_column.et-last-child, .et_pb_row .et_pb_column:last-child { margin-bottom: 0px; }
  .et_section_specialty .et_pb_row > .et_pb_column { padding-bottom: 0px; }
  .et_pb_column.et_pb_column_empty { display: none; }
  .et_pb_row_1-2_1-4_1-4, .et_pb_row_1-2_1-6_1-6_1-6, .et_pb_row_1-4_1-4, .et_pb_row_1-4_1-4_1-2, .et_pb_row_1-5_1-5_3-5, .et_pb_row_1-6_1-6_1-6, .et_pb_row_1-6_1-6_1-6_1-2, .et_pb_row_1-6_1-6_1-6_1-6, .et_pb_row_3-5_1-5_1-5, .et_pb_row_4col, .et_pb_row_5col, .et_pb_row_6col { display: flex; flex-wrap: wrap; }
  .et_pb_row_1-4_1-4 > .et_pb_column.et_pb_column_1_4, .et_pb_row_1-4_1-4_1-2 > .et_pb_column.et_pb_column_1_4, .et_pb_row_4col > .et_pb_column.et_pb_column_1_4 { width: 47.25%; margin-right: 5.5%; }
  .et_pb_row_1-4_1-4 > .et_pb_column.et_pb_column_1_4:nth-child(2n), .et_pb_row_1-4_1-4_1-2 > .et_pb_column.et_pb_column_1_4:nth-child(2n), .et_pb_row_4col > .et_pb_column.et_pb_column_1_4:nth-child(2n) { margin-right: 0px; }
  .et_pb_row_1-2_1-4_1-4 .et_pb_column:nth-last-child(-n+2), .et_pb_row_1-4_1-4 .et_pb_column:nth-last-child(-n+2), .et_pb_row_4col .et_pb_column:nth-last-child(-n+2) { margin-bottom: 0px; }
  .et_pb_row_1-5_1-5_3-5 > .et_pb_column.et_pb_column_1_5, .et_pb_row_5col > .et_pb_column.et_pb_column_1_5 { width: 47.25%; margin-right: 5.5%; }
  .et_pb_row_1-5_1-5_3-5 > .et_pb_column.et_pb_column_1_5:nth-child(2n), .et_pb_row_5col > .et_pb_column.et_pb_column_1_5:nth-child(2n) { margin-right: 0px; }
  .et_pb_row_3-5_1-5_1-5 .et_pb_column:nth-last-child(-n+2), .et_pb_row_5col .et_pb_column:last-child { margin-bottom: 0px; }
  /* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_blurb_position_left_tablet .et_pb_blurb_container, .et_pb_blurb_position_right_tablet .et_pb_blurb_container { display: table-cell; vertical-align: top; }
  /* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_blurb_position_left_tablet .et_pb_blurb_container { padding-left: 15px; }
  /* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_blurb_position_left_tablet .et_pb_blurb_content { text-align: left; }
}
@media (max-width: 479px) {
  .et_pb_row .et_pb_column.et_pb_column_1_4, .et_pb_row .et_pb_column.et_pb_column_1_5, .et_pb_row .et_pb_column.et_pb_column_1_6 { width: 100%; margin: 0px 0px 30px; }
  .et_pb_row .et_pb_column.et_pb_column_1_4.et-last-child, .et_pb_row .et_pb_column.et_pb_column_1_4:last-child, .et_pb_row .et_pb_column.et_pb_column_1_5.et-last-child, .et_pb_row .et_pb_column.et_pb_column_1_5:last-child, .et_pb_row .et_pb_column.et_pb_column_1_6.et-last-child, .et_pb_row .et_pb_column.et_pb_column_1_6:last-child { margin-bottom: 0px; }
  .et_pb_column { width: 100% !important; }
}
.et_pb_text { overflow-wrap: break-word; }
/* サービスページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_text ol, .et_pb_text ul { padding-bottom: 1em; }
.et_pb_text > :last-child { padding-bottom: 0px; }
.et_pb_text_inner { position: relative; }
.et_pb_promo { padding: 40px 60px; text-align: center; }
.et_pb_promo_description { padding-bottom: 20px; position: relative; }
.et_pb_promo_description p:last-of-type { padding-bottom: 0px; }
.et_pb_promo_button { display: inline-block; color: inherit; }
.et_pb_promo_button:hover { text-decoration: none; }
.et_pb_promo_button:hover::after { opacity: 1; margin-left: 0px; }
@media (max-width: 767px) {
  .et_pb_promo { padding: 40px; }
}
@media (max-width: 479px) {
  .et_pb_promo { padding: 40px; }
}
.et_pb_with_border .et_pb_image_wrap { border: 0px solid rgb(51, 51, 51); }
.et_pb_image { margin-left: auto; margin-right: auto; line-height: 0; }
.et_pb_image { display: block; }
.et_pb_image .et_pb_image_wrap { display: inline-block; position: relative; max-width: 100%; }
.et_pb_image img { position: relative; }
.et_pb_image_sticky { margin-bottom: 0px !important; display: inherit; }
.et_pb_number_counter { overflow-wrap: break-word; margin: 0px auto 30px; position: relative; text-align: center; }
.et_pb_number_counter .percent { z-index: 2; }
.et_pb_number_counter h3 { font-size: 18px; position: relative; }
.et_pb_number_counter { opacity: 0; transition: opacity 1s; }
.et_pb_number_counter.active { opacity: 1; }
.et_pb_number_counter { width: auto; }
.et_pb_number_counter canvas { display: none; visibility: hidden; }
.et_pb_number_counter .percent { height: 72px; position: relative; }
.et_pb_number_counter .percent p { font-size: 72px; line-height: 72px; font-weight: 500; }
.et_pb_number_counter.et_pb_with_title .percent { margin-bottom: 20px; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_widget_area_left { border-right: 1px solid rgba(0, 0, 0, 0.1); padding-right: 30px; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_widget_area ul { list-style: none !important; padding: 0px !important; line-height: inherit !important; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_team_member { overflow-wrap: break-word; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_team_member_image { max-width: 320px; margin-right: 30px; position: relative; line-height: 0 !important; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_member_position { color: rgb(170, 170, 170); padding-bottom: 7px; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_column_1_2 .et_pb_team_member_image, .et_pb_column_1_3 .et_pb_team_member_image, .et_pb_column_1_4 .et_pb_team_member_image, .et_pb_column_1_5 .et_pb_team_member_image, .et_pb_column_1_6 .et_pb_team_member_image, .et_pb_column_2_5 .et_pb_team_member_image, .et_pb_column_3_5 .et_pb_team_member_image, .et_pb_column_3_8 .et_pb_team_member_image { display: block; width: auto; margin: 0px 0px 12px; text-align: center; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_column_1_2 .et_pb_team_member, .et_pb_column_1_2 .et_pb_team_member_description, .et_pb_column_1_3 .et_pb_team_member, .et_pb_column_1_3 .et_pb_team_member_description, .et_pb_column_1_4 .et_pb_team_member, .et_pb_column_1_4 .et_pb_team_member_description, .et_pb_column_1_5 .et_pb_team_member, .et_pb_column_1_5 .et_pb_team_member_description, .et_pb_column_1_6 .et_pb_team_member, .et_pb_column_1_6 .et_pb_team_member_description, .et_pb_column_2_5 .et_pb_team_member, .et_pb_column_2_5 .et_pb_team_member_description, .et_pb_column_3_4 .et_pb_team_member, .et_pb_column_3_4 .et_pb_team_member_description, .et_pb_column_3_5 .et_pb_team_member, .et_pb_column_3_5 .et_pb_team_member_description, .et_pb_column_3_8 .et_pb_team_member, .et_pb_column_3_8 .et_pb_team_member_description { display: block; }
@media (min-width: 981px) and (max-width: 1100px) {
  .et_pb_column_1_4 .et_pb_number_counter .percent, .et_pb_column_1_5 .et_pb_number_counter .percent, .et_pb_column_1_6 .et_pb_number_counter .percent { height: 55px; }
  .et_pb_column_1_4 .et_pb_number_counter h3, .et_pb_column_1_5 .et_pb_number_counter h3, .et_pb_column_1_6 .et_pb_number_counter h3 { padding: 10px 0px 0px; }
}
.et_pb_space { box-sizing: content-box; height: 23px; }
.et_pb_divider_hidden { margin-bottom: 0px !important; }
.et_pb_divider_internal { display: inline-block; width: 100%; }
.et_pb_divider { margin: 0px 0px 30px; position: relative; }
.et_pb_divider::before { content: ""; width: 100%; height: 1px; border-top: 1px solid rgba(0, 0, 0, 0.1); position: absolute; left: 0px; top: 0px; z-index: 10; }
.et_pb_divider::after, .et_pb_space::after { content: ""; display: table; }
.et_pb_button[data-icon]:not([data-icon=""])::after { content: attr(data-icon); }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.et_pb_map { height: 440px; width: 100%; position: relative; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.et_pb_map_container img { max-width: inherit; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.et_pb_map_pin { display: none; visibility: hidden; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.et_pb_fullwidth_section .et_pb_map_container { margin: 0px; }
/* https://theduispecialist.com/wp-content/et-cache/7/et-divi-dynamic-7-late.css?ver=1787812520 */
.et_pb_contact_main_title { overflow-wrap: break-word; }
.et_pb_contact_submit { color: rgb(46, 163, 242); }
.et_pb_contact_form { margin-left: -3%; }
.et_pb_contact_reset:hover, .et_pb_contact_submit:hover { background-color: rgba(0, 0, 0, 0.05); }
.et_pb_contact_main_title { font-weight: 500; padding-bottom: 16px; position: relative; }
h1.et_pb_contact_main_title { font-size: 26px; }
.et-pb-contact-message { position: relative; }
.et_pb_contact { position: relative; }
.et_pb_contact .et_pb_contact_field_half { width: 50%; float: left; }
.et_pb_contact p input, .et_pb_contact p textarea { appearance: none; background-color: rgb(238, 238, 238); width: 100%; border-width: 0px; border-radius: 0px; color: rgb(153, 153, 153); font-size: 14px; padding: 16px; }
.et_pb_contact p textarea { font-family: inherit; }
.et_pb_contact_reset, .et_pb_contact_submit { font-family: inherit; display: inline-block; margin: 0px 0px 0px 18px; cursor: pointer; }
.et_contact_bottom_container { float: right; text-align: right; margin-top: -1.5%; display: flex; }
@media (max-width: 767px) {
  .et_pb_column .et_pb_contact p.et_pb_contact_field_half { width: 100%; margin-right: 0px; }
}
.et_pb_newsletter_description { overflow-wrap: break-word; }
.et_pb_newsletter { padding: 25px; }
.et_pb_newsletter .et_pb_module_header:empty { display: none; }
.et_pb_newsletter_description p:last-of-type { padding-bottom: 0px; }
.et_pb_newsletter_form p.et_pb_newsletter_field { padding-bottom: 1em; margin-bottom: 0px; }
.et_pb_newsletter_form .input, .et_pb_newsletter_form input[type="password"], .et_pb_newsletter_form input[type="text"], .et_pb_newsletter_form p.et_pb_newsletter_field input[type="text"], .et_pb_newsletter_form p.et_pb_newsletter_field textarea, .et_pb_newsletter_form select, .et_pb_newsletter_form textarea { appearance: none; font-size: 16px; color: rgb(102, 102, 102); background-color: rgb(255, 255, 255); width: 100%; font-weight: 400; border-width: 0px; border-radius: 3px; padding: 14px 4% !important; }
.et_pb_newsletter_result { display: none; }
.et_pb_newsletter_success { text-align: center; }
.et_pb_newsletter_button { display: block; color: inherit; width: 100%; text-align: center; box-sizing: border-box; }
.et_pb_newsletter_button:hover { text-decoration: none; }
.et_pb_newsletter_button:hover::after { opacity: 1; margin-left: 0px; }
.et_pb_newsletter_button_text { word-break: break-word; }
.et_pb_newsletter_fields, .et_pb_newsletter_footer { width: 100%; }
.et_pb_newsletter .et_pb_newsletter_fields { display: flex; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; }
.et_pb_newsletter .et_pb_newsletter_fields > * { flex-basis: 100%; }
.et_pb_newsletter .et_pb_contact_field_last + .et_pb_newsletter_field { padding-left: 0px; }
.et_pb_newsletter.et_pb_subscribe.et_pb_newsletter_layout_left_right .et_pb_newsletter_form, .et_pb_newsletter.et_pb_subscribe.et_pb_newsletter_layout_top_bottom .et_pb_newsletter_form { padding-top: 25px; }
@media (max-width: 980px) {
  .et_pb_newsletter.et_pb_subscribe.et_pb_newsletter_layout_top_bottom .et_pb_newsletter_form { padding-top: 25px; }
  .et_pb_newsletter .et_pb_contact_field_last_tablet + .et_pb_newsletter_field { padding-left: 0px; }
  .et_pb_newsletter .et_pb_newsletter_form .et_pb_contact_field_last_tablet { flex-basis: 100%; }
}
@media (max-width: 767px) {
  .et_pb_newsletter.et_pb_subscribe.et_pb_newsletter_layout_left_right .et_pb_newsletter_form, .et_pb_newsletter.et_pb_subscribe.et_pb_newsletter_layout_top_bottom .et_pb_newsletter_form { padding-top: 25px; }
  .et_pb_newsletter .et_pb_contact_field_last_phone + .et_pb_newsletter_field { padding-left: 0px; }
  .et_pb_newsletter .et_pb_newsletter_form .et_pb_contact_field_last_phone { flex-basis: 100%; }
}
body .grecaptcha-badge { visibility: hidden; }
body.et_pb_recaptcha_enabled .grecaptcha-badge { visibility: initial; z-index: 9999; }
.et_pb_contact_form_label { display: none; }
p.et_pb_contact_field { padding: 0px 0px 0px 3%; margin-bottom: 3%; background-position: 50% center; background-size: cover; }
p.et_pb_contact_field.et_pb_contact_field_last + p.et_pb_contact_field.et_pb_contact_field_last, p.et_pb_contact_field:not(.et_pb_contact_field_last), p.et_pb_contact_field_half + p.et_pb_contact_field_last:not(.et_pb_contact_field_half) { clear: both; }
.et_pb_contact_field *, .et_pb_contact_field.et_pb_section_parallax, .et_pb_contact_field.et_pb_section_video { position: relative; }
.et_pb_contact_field textarea.et_pb_contact_message { min-height: 150px; display: block; }
.et_pb_newsletter.et_pb_subscribe { display: flex; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: center; align-items: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; }
.et_pb_newsletter.et_pb_subscribe .et_pb_newsletter_description { align-self: start; }
.et_pb_newsletter.et_pb_subscribe .et_pb_newsletter_description, .et_pb_newsletter.et_pb_subscribe .et_pb_newsletter_form { width: 100%; }
.et_subscribe_loader { display: none; width: 16px; height: 16px; position: absolute; left: 50%; top: 16px; margin-left: -8px; }
.et_pb_newsletter .et_pb_newsletter_description, .et_pb_newsletter .et_pb_newsletter_form { position: relative; }
ul.et_pb_social_media_follow { margin: 0px 0px 22px; padding: 0px; list-style-type: none !important; }
.et_pb_social_media_follow li { display: inline-block; margin-bottom: 8px; position: relative; }
.et_pb_social_media_follow li a { margin-right: 8px; display: inline-block; text-decoration: none; text-align: center; position: relative; }
.et_pb_social_media_follow li.last-child a, .et_pb_social_media_follow li:last-child a { margin-right: 0px; }
.et_pb_social_media_follow li a.icon { height: 32px; width: 32px; padding: 0px; box-sizing: content-box; }
.et_pb_social_media_follow li a.icon::before { height: 32px; width: 32px; font-size: 16px; line-height: 32px; display: block; color: rgb(255, 255, 255); transition: color 0.3s; position: relative; z-index: 10; }
.et_pb_social_media_follow li a.icon:hover::before { color: rgba(255, 255, 255, 0.7); }
.et_pb_social_media_follow li a.icon { border-radius: 3px; }
.et_pb_social_media_follow_network_name { display: none; }
.et_pb_social_icon a.icon { vertical-align: middle; }
.et_pb_social_icon a.icon::before { font-family: ETmodules; speak: none; font-style: normal; font-weight: 400; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; text-shadow: 0px 0px; direction: ltr; }
.et-pb-social-fa-icon a.icon::before { font-family: FontAwesome; }
.et-social-google a.icon::before { content: ""; }
.et-social-line a.icon::before { content: ""; }
.et-social-yelp a.icon::before { content: ""; }
.et-social-linkedin a.icon::before { content: ""; }
.et-social-youtube a.icon::before { content: ""; }
/* https://theduispecialist.com/wp-content/et-cache/7/et-divi-dynamic-7.css?ver=1787812520 */
#main-footer { background-color: rgb(34, 34, 34); }
#footer-bottom { background-color: rgba(0, 0, 0, 0.32); padding: 15px 0px 5px; }
#footer-bottom a { transition: 0.4s ease-in-out; }
#footer-info { text-align: left; color: rgb(102, 102, 102); padding-bottom: 10px; float: left; }
#footer-info a { font-weight: 700; color: rgb(102, 102, 102); }
#footer-info a:hover { opacity: 0.7; }
@media (max-width: 980px) {
  #footer-info { float: none; text-align: center; }
}
@media (min-width: 981px) {
  .et_pb_gutters2.et_pb_footer_columns_1_2__1_4 .footer-widget:nth-child(-n+3):not(:nth-child(1)) { width: 22.75%; }
  .et_pb_gutters2.et_pb_footer_columns_1_2__1_4 .footer-widget:nth-child(-n+3):not(:nth-child(1)) .fwidget { margin-bottom: 13.187%; }
  .et_pb_gutters2.et_pb_footer_columns_3_5__1_5 .footer-widget:nth-child(-n+3):not(:nth-child(1)) { width: 17.6%; }
  .et_pb_gutters2.et_pb_footer_columns_3_5__1_5 .footer-widget:nth-child(-n+3):not(:nth-child(1)) .fwidget { margin-bottom: 17.045%; }
  .et_pb_gutters2.et_pb_footer_columns_1_2__1_6 .footer-widget:nth-child(-n+4):not(:nth-child(1)) { width: 14.167%; }
  .et_pb_gutters2.et_pb_footer_columns_1_2__1_6 .footer-widget:nth-child(-n+4):not(:nth-child(1)) .fwidget { margin-bottom: 21.176%; }
  .et_pb_gutters2.et_pb_footer_columns_1_4_1_2_1_4 .footer-widget:nth-child(-n+3):not(:nth-child(2)) { width: 22.75%; }
  .et_pb_gutters2.et_pb_footer_columns_1_4_1_2_1_4 .footer-widget:nth-child(-n+3):not(:nth-child(2)) .fwidget { margin-bottom: 13.187%; }
  .et_pb_gutters2.et_pb_footer_columns_1_5_3_5_1_5 .footer-widget:nth-child(-n+3):not(:nth-child(2)) { width: 17.6%; }
  .et_pb_gutters2.et_pb_footer_columns_1_5_3_5_1_5 .footer-widget:nth-child(-n+3):not(:nth-child(2)) .fwidget { margin-bottom: 17.045%; }
}
.et_pb_row { width: 80%; max-width: 1080px; margin: auto; position: relative; }
.et_pb_row_inner { width: 100%; position: relative; }
.et_pb_row::after, .et_pb_row_inner::after { content: ""; display: block; clear: both; visibility: hidden; line-height: 0; height: 0px; width: 0px; }
.et_pb_row_4col .et-last-child, .et_pb_row_4col .et-last-child-2, .et_pb_row_6col .et-last-child, .et_pb_row_6col .et-last-child-2, .et_pb_row_6col .et-last-child-3 { margin-bottom: 0px; }
.et_pb_column { float: left; background-size: cover; background-position: 50% center; position: relative; z-index: 2; min-height: 1px; }
.et_pb_column.et_pb_column_empty { min-height: 1px; }
.et_pb_row .et_pb_column.et-last-child, .et_pb_row .et_pb_column:last-child, .et_pb_row_inner .et_pb_column.et-last-child, .et_pb_row_inner .et_pb_column:last-child { margin-right: 0px !important; }
.et_pb_column, .et_pb_row, .et_pb_row_inner { background-size: cover; background-position: 50% center; background-repeat: no-repeat; }
@media (min-width: 981px) {
  .et_pb_row { padding: 2% 0px; }
  .et_pb_column_1_2 .et_pb_row_inner, .et_pb_column_3_5 .et_pb_row_inner { padding: 5.82% 0px; }
  .et_section_specialty > .et_pb_row { padding: 0px; }
  .et_pb_row_inner { width: 100%; }
  .et_pb_column_single { padding: 2.855% 0px; }
  .et_pb_row .et_pb_column.et-last-child, .et_pb_row .et_pb_column:last-child, .et_pb_row_inner .et_pb_column.et-last-child, .et_pb_row_inner .et_pb_column:last-child { margin-right: 0px !important; }
  .et_pb_row.et_pb_equal_columns, .et_pb_row_inner.et_pb_equal_columns, .et_pb_section.et_pb_equal_columns > .et_pb_row { display: flex; }
  .et_pb_row.et_pb_equal_columns > .et_pb_column, .et_pb_section.et_pb_equal_columns > .et_pb_row > .et_pb_column { -webkit-box-ordinal-group: 2; order: 1; }
}
@media (max-width: 980px) {
  .et_pb_row { max-width: 1080px; }
  .et_pb_column .et_pb_row_inner, .et_pb_row { padding: 30px 0px; }
  .et_section_specialty > .et_pb_row { padding: 0px; }
  .et_pb_column { width: 100%; margin-bottom: 30px; }
  .et_pb_bottom_divider .et_pb_row:nth-last-child(2) .et_pb_column:last-child, .et_pb_row .et_pb_column.et-last-child, .et_pb_row .et_pb_column:last-child { margin-bottom: 0px; }
  .et_section_specialty .et_pb_row > .et_pb_column { padding-bottom: 0px; }
  .et_pb_column.et_pb_column_empty { display: none; }
  .et_pb_row_1-2_1-4_1-4, .et_pb_row_1-2_1-6_1-6_1-6, .et_pb_row_1-4_1-4, .et_pb_row_1-4_1-4_1-2, .et_pb_row_1-5_1-5_3-5, .et_pb_row_1-6_1-6_1-6, .et_pb_row_1-6_1-6_1-6_1-2, .et_pb_row_1-6_1-6_1-6_1-6, .et_pb_row_3-5_1-5_1-5, .et_pb_row_4col, .et_pb_row_5col, .et_pb_row_6col { display: flex; flex-wrap: wrap; }
  .et_pb_row_1-4_1-4 > .et_pb_column.et_pb_column_1_4, .et_pb_row_1-4_1-4_1-2 > .et_pb_column.et_pb_column_1_4, .et_pb_row_4col > .et_pb_column.et_pb_column_1_4 { width: 47.25%; margin-right: 5.5%; }
  .et_pb_row_1-4_1-4 > .et_pb_column.et_pb_column_1_4:nth-child(2n), .et_pb_row_1-4_1-4_1-2 > .et_pb_column.et_pb_column_1_4:nth-child(2n), .et_pb_row_4col > .et_pb_column.et_pb_column_1_4:nth-child(2n) { margin-right: 0px; }
  .et_pb_row_1-2_1-4_1-4 .et_pb_column:nth-last-child(-n+2), .et_pb_row_1-4_1-4 .et_pb_column:nth-last-child(-n+2), .et_pb_row_4col .et_pb_column:nth-last-child(-n+2) { margin-bottom: 0px; }
  .et_pb_row_1-5_1-5_3-5 > .et_pb_column.et_pb_column_1_5, .et_pb_row_5col > .et_pb_column.et_pb_column_1_5 { width: 47.25%; margin-right: 5.5%; }
  .et_pb_row_1-5_1-5_3-5 > .et_pb_column.et_pb_column_1_5:nth-child(2n), .et_pb_row_5col > .et_pb_column.et_pb_column_1_5:nth-child(2n) { margin-right: 0px; }
  .et_pb_row_3-5_1-5_1-5 .et_pb_column:nth-last-child(-n+2), .et_pb_row_5col .et_pb_column:last-child { margin-bottom: 0px; }
}
@media (max-width: 479px) {
  .et_pb_row .et_pb_column.et_pb_column_1_4, .et_pb_row .et_pb_column.et_pb_column_1_5, .et_pb_row .et_pb_column.et_pb_column_1_6 { width: 100%; margin: 0px 0px 30px; }
  .et_pb_row .et_pb_column.et_pb_column_1_4.et-last-child, .et_pb_row .et_pb_column.et_pb_column_1_4:last-child, .et_pb_row .et_pb_column.et_pb_column_1_5.et-last-child, .et_pb_row .et_pb_column.et_pb_column_1_5:last-child, .et_pb_row .et_pb_column.et_pb_column_1_6.et-last-child, .et_pb_row .et_pb_column.et_pb_column_1_6:last-child { margin-bottom: 0px; }
  .et_pb_column { width: 100% !important; }
}
.et_pb_blog_grid { position: relative; }
.et_pb_blog_grid .column { float: left; max-width: 100%; }
.et_pb_blog_grid .et_pb_post { border: 1px solid rgb(216, 216, 216); padding: 19px; background-color: rgb(255, 255, 255); overflow-wrap: break-word; }
.et_pb_blog_grid .et_pb_image_container { position: relative; }
.et_pb_blog_grid .et_pb_image_container img { min-width: 100%; max-width: 100%; height: auto; }
.et_pb_blog_grid h2 { font-size: 18px; }
.et_pb_blog_grid .et_pb_salvattore_content[data-columns]::before { display: none; opacity: 0; line-height: 0; }
.et_pb_blog_grid .et_pb_salvattore_content[data-columns] .et_pb_post { opacity: 0; }
.et_pb_blog_grid .et_pb_salvattore_content[data-columns] .column .et_pb_post { opacity: 1; }
.et_pb_post .entry-featured-image-url { border: 0px solid rgb(51, 51, 51); }
@media (min-width: 981px) {
  .et_pb_column_2_3 .et_pb_blog_grid .et_pb_salvattore_content[data-columns]::before, .et_pb_column_3_4 .et_pb_blog_grid .et_pb_salvattore_content[data-columns]::before { content: "2 .column.size-1of2"; }
}
@media (max-width: 980px) {
  .et_pb_column .et_pb_blog_grid .column.size-1of2 { margin: 0px 5.5% 7.5% 0px; width: 47.25%; clear: none; float: left; }
  .et_pb_column .et_pb_blog_grid .column.size-1of2:nth-child(2n) { margin-right: 0px; }
  .et_pb_column .et_pb_blog_grid .column.size-1of2:nth-child(2n+1) { clear: both; }
  .et_pb_column .et_pb_blog_grid .column.size-1of2 .et_pb_post { margin-bottom: 16.21%; }
  .et_pb_column .et_pb_blog_grid .column.size-1of1, .et_pb_column .et_pb_blog_grid .column.size-1of2 { margin-bottom: 0px; }
  .et_pb_column .et_pb_blog_grid .column.size-1of1 .et_pb_post:last-child, .et_pb_column .et_pb_blog_grid .column.size-1of2 .et_pb_post:last-child { margin-bottom: 30px; }
}
@media (min-width: 768px) and (max-width: 980px) {
  .et_pb_column .et_pb_blog_grid .et_pb_salvattore_content[data-columns]::before { content: "2 .column.size-1of2"; }
}
@media (max-width: 767px) {
  .et_pb_blog_grid .column { float: none; }
  .et_pb_column .et_pb_blog_grid .et_pb_salvattore_content[data-columns]::before { content: "1 .column.size-1of1"; }
  .et_pb_column .et_pb_blog_grid .column.size-1of1 .et_pb_post { margin-right: 0px; margin-bottom: 9.5%; width: 100%; }
}
@media (max-width: 479px) {
  .et_pb_blog_grid h2 { font-size: 16px; padding-bottom: 0px; }
  .et_pb_column .et_pb_blog_grid .column.size-1of1 .et_pb_post { margin-right: 0px; margin-bottom: 11.5%; width: 100%; }
  .et_pb_blog_grid .et_audio_content, .et_pb_blog_grid .et_main_video_container, .et_pb_blog_grid .et_pb_post .et_pb_slider, .et_pb_blog_grid .et_pb_post.format-link > *, .et_pb_blog_grid .et_pb_post.format-quote > *, .et_pb_blog_grid .et_pb_post > .et_pb_image_container, .et_pb_blog_grid .et_pb_post > .post-meta, .et_pb_blog_grid .et_pb_post > h2 { display: block; }
  .et_pb_blog_grid .et_pb_post .post-meta { padding: 0px; display: block !important; }
}
.et_pb_post { margin-bottom: 60px; overflow-wrap: break-word; }
.et_pb_fullwidth_post_content.et_pb_with_border img, .et_pb_post_content.et_pb_with_border img, .et_pb_with_border .et_pb_post .et_pb_slides, .et_pb_with_border .et_pb_post img:not(.woocommerce-placeholder), .et_pb_with_border.et_pb_posts .et_pb_post, .et_pb_with_border.et_pb_posts_nav span.nav-next a, .et_pb_with_border.et_pb_posts_nav span.nav-previous a { border: 0px solid rgb(51, 51, 51); }
.et_pb_post .entry-featured-image-url { display: block; position: relative; margin-bottom: 30px; }
.et_pb_post .entry-title a, .et_pb_post h2 a { text-decoration: none; }
.et_pb_post .post-meta { font-size: 14px; margin-bottom: 6px; }
.et_pb_image_container img, .et_pb_post a img { vertical-align: bottom; max-width: 100%; }
@media (min-width: 981px) and (max-width: 1100px) {
  .et_pb_post { margin-bottom: 42px; }
}
@media (max-width: 980px) {
  .et_pb_post { margin-bottom: 42px; }
}
@media (max-width: 767px) {
  .et_pb_post { margin-bottom: 42px; }
  .et_pb_post > h2 { font-size: 18px; }
}
@media (max-width: 479px) {
  .et_pb_post { margin-bottom: 42px; }
  .et_pb_post h2 { font-size: 16px; padding-bottom: 0px; }
  .et_pb_post .post-meta { color: rgb(102, 102, 102); font-size: 14px; }
}
.et_pb_bg_layout_light .et_pb_post .post-meta, .et_pb_bg_layout_light .et_pb_post .post-meta a, .et_pb_bg_layout_light .et_pb_post p { color: rgb(102, 102, 102); }
.et_pb_with_border .et-pb-icon, .et_pb_with_border .et_pb_image_wrap { border: 0px solid rgb(51, 51, 51); }
.et_pb_blurb_content { max-width: 550px; margin: 0px auto; position: relative; text-align: center; overflow-wrap: break-word; width: 100%; }
.et_pb_blurb.et_pb_text_align_left .et_pb_blurb_content .et_pb_blurb_container { text-align: left; }
.et_pb_blurb.et_pb_text_align_right .et_pb_blurb_content .et_pb_blurb_container { text-align: right; }
.et_pb_blurb.et_pb_text_align_center .et_pb_blurb_content .et_pb_blurb_container { text-align: center; }
.et_pb_blurb_content p:last-of-type { padding-bottom: 0px; }
.et_pb_blurb .et_pb_module_header a, .et_pb_blurb h4 a { text-decoration: none; }
.et_pb_blurb .et_pb_image_wrap { display: block; margin: auto; }
.et_pb_main_blurb_image img { border-radius: inherit; }
.et_pb_blurb_position_left .et_pb_blurb_content, .et_pb_blurb_position_right .et_pb_blurb_content { display: table; }
.et_pb_blurb_position_left .et_pb_main_blurb_image, .et_pb_blurb_position_right .et_pb_main_blurb_image { width: 32px; display: table-cell; line-height: 0; }
/* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_blurb_position_left .et_pb_main_blurb_image img, .et_pb_blurb_position_right .et_pb_main_blurb_image img { width: inherit; }
.et_pb_blurb_position_left .et-pb-icon, .et_pb_blurb_position_right .et-pb-icon { font-size: 32px; }
.et_pb_blurb_position_left .et_pb_blurb_container, .et_pb_blurb_position_right .et_pb_blurb_container { display: table-cell; vertical-align: top; }
.et_pb_blurb_position_left .et_pb_blurb_container { padding-left: 15px; }
.et_pb_blurb_position_left .et_pb_blurb_content { text-align: left; }
.et_pb_main_blurb_image { display: inline-block; margin-bottom: 30px; line-height: 0; max-width: 100%; }
@media (max-width: 980px) {
  .et_pb_blurb_position_top_tablet .et_pb_main_blurb_image { display: block; width: auto; }
  .et_pb_blurb_position_top_tablet .et_pb_blurb_container { display: block; padding-left: 0px; padding-right: 0px; }
  .et_pb_blurb_position_top_tablet .et_pb_blurb_content { display: inline-block; text-align: center; padding-right: 0px; }
}
@media (max-width: 767px) {
  .et_pb_blurb_position_top_phone .et_pb_main_blurb_image { display: block; width: auto; }
  .et_pb_blurb_position_top_phone .et_pb_blurb_container { display: block; padding-left: 0px; padding-right: 0px; }
  .et_pb_blurb_position_top_phone .et_pb_blurb_content { display: inline-block; text-align: center; padding-right: 0px; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_blurb.et_pb_text_align_left-phone .et_pb_blurb_content .et_pb_blurb_container { text-align: left; }
}
.et-waypoint.et_pb_animation_off, .et-waypoint:not(.et_pb_counters).et_pb_animation_off, .et_pb_animation_off { opacity: 1; }
/* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et-waypoint.et_pb_animation_right.et-animated, .et_pb_animation_right.et-animated { opacity: 1; animation: 1s cubic-bezier(0.77, 0, 0.175, 1) 0s 1 normal none running fadeRight; }
.et-waypoint.et_pb_animation_top.et-animated, .et_pb_animation_top.et-animated { opacity: 1; animation: 1s cubic-bezier(0.77, 0, 0.175, 1) 0s 1 normal none running fadeTop; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_code_inner { position: relative; }
@media (max-width: 980px) {
  .et-waypoint.et_pb_animation_off_tablet, .et-waypoint:not(.et_pb_counters).et_pb_animation_off_tablet, .et_pb_animation_off_tablet { opacity: 1; animation: auto ease 0s 1 normal none running none; }
  /* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et-waypoint.et_pb_animation_right_tablet.et-animated, .et_pb_animation_right_tablet.et-animated { opacity: 1; animation: 1s cubic-bezier(0.77, 0, 0.175, 1) 0s 1 normal none running fadeRight; }
  .et-waypoint.et_pb_animation_top_tablet.et-animated, .et_pb_animation_top_tablet.et-animated { opacity: 1; animation: 1s cubic-bezier(0.77, 0, 0.175, 1) 0s 1 normal none running fadeTop; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_widget_area_left { padding-right: 0px; border-right-width: medium; border-right-style: none; border-right-color: currentcolor; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_column .et_pb_widget { margin: 0px 5.5% 7.5% 0px; width: 47.25%; clear: none; float: left; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_column .et_pb_widget:nth-child(2n) { margin-right: 0px; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_column .et_pb_widget:nth-child(2n+1) { clear: both; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_column .et_pb_widget { width: 100% !important; }
}
@media (max-width: 767px) {
  .et-waypoint.et_pb_animation_off_phone, .et-waypoint:not(.et_pb_counters).et_pb_animation_off_phone, .et_pb_animation_off_phone { opacity: 1; animation: auto ease 0s 1 normal none running none; }
  /* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et-waypoint.et_pb_animation_right_phone.et-animated, .et_pb_animation_right_phone.et-animated { opacity: 1; animation: 1s cubic-bezier(0.77, 0, 0.175, 1) 0s 1 normal none running fadeRight; }
  .et-waypoint.et_pb_animation_top_phone.et-animated, .et_pb_animation_top_phone.et-animated { opacity: 1; animation: 1s cubic-bezier(0.77, 0, 0.175, 1) 0s 1 normal none running fadeTop; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_column .et_pb_widget { margin-right: 0px; width: 100%; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_team_member_image { width: auto; margin: 0px 0px 12px; display: block; text-align: center; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_team_member_description { display: block; }
}
@media (max-width: 479px) {
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） （ほかの幅のルールより後ろに置く） */
  .et_pb_column .et_pb_widget { margin-right: 0px; margin-bottom: 11.5%; width: 100%; }
}
.et_pb_button_module_wrapper.et_pb_button_alignment_right { text-align: right; }
.et_pb_button_module_wrapper.et_pb_button_alignment_center { text-align: center; }
.et_pb_button_module_wrapper > a { display: inline-block; }
/* サービスページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
@media (max-width: 980px) {
  .et_pb_button_module_wrapper.et_pb_button_alignment_tablet_right { text-align: right; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_map_container > .et_pb_map { height: 350px; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_section_sticky_mobile, .et_pb_section_sticky_mobile.et_pb_bottom_divider .et_pb_row:nth-last-child(2), .et_pb_section_sticky_mobile .et_pb_column_single, .et_pb_section_sticky_mobile .et_pb_row.et-last-child, .et_pb_section_sticky_mobile .et_pb_row:last-child, .et_pb_section_sticky_mobile .et_pb_specialty_column .et_pb_row_inner.et-last-child, .et_pb_section_sticky_mobile .et_pb_specialty_column .et_pb_row_inner:last-child { padding-bottom: 0px !important; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_section_sticky .et_pb_row.et-last-child .et_pb_column.et_pb_row_sticky.et-last-child, .et_pb_section_sticky .et_pb_row:last-child .et_pb_column.et_pb_row_sticky:last-child { margin-bottom: 0px; }
}
@media (max-width: 767px) {
  .et_pb_button_module_wrapper.et_pb_button_alignment_phone_center { text-align: center; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_map_container > .et_pb_map { height: 220px; }
}
.et_pb_button[data-icon]:not([data-icon=""])::after { content: attr(data-icon); }
.et_pb_circle_counter { overflow-wrap: break-word; margin: 0px auto 30px; position: relative; text-align: center; max-width: 225px; }
.et_pb_circle_counter_inner { position: relative; display: block; }
.et_pb_circle_counter canvas { position: absolute; top: 0px; left: 0px; width: 100% !important; height: auto !important; }
.et_pb_circle_counter .percent { overflow-wrap: normal; position: relative; z-index: 2; }
.et_pb_circle_counter .percent p { visibility: hidden; font-size: 40px; font-weight: 500; position: relative; line-height: 0.1em; padding: 49% 0px; }
.et_pb_circle_counter h3 { font-size: 18px; position: relative; }
.et_pb_circle_counter .et_pb_module_header { position: relative; }
.et_pb_circle_counter.et_pb_with_title .percent { margin-bottom: 20px; }
.et_pb_testimonial_description_inner { overflow-wrap: break-word; }
.et_pb_testimonial { position: relative; padding: 30px; line-height: 1.5; }
.et_pb_testimonial .et_pb_testimonial_content p { padding-bottom: 1em; }
.et_pb_testimonial .et_pb_testimonial_meta { padding-bottom: 0px; }
.et_pb_testimonial_portrait, .et_pb_testimonial_portrait::before { border-radius: 90px; }
.et_pb_testimonial_portrait { float: left; position: relative; display: block; width: 90px; height: 90px; margin-right: 30px; background-repeat: no-repeat; background-position: 50% center; background-size: cover; box-sizing: content-box; }
.et_pb_testimonial_portrait::before { content: ""; height: 100%; left: 0px; position: absolute; top: 0px; width: 100%; box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 3px inset; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_column_1_3 .et_pb_testimonial_portrait, .et_pb_column_1_4 .et_pb_testimonial_portrait, .et_pb_column_1_5 .et_pb_testimonial_portrait, .et_pb_column_1_6 .et_pb_testimonial_portrait, .et_pb_column_2_5 .et_pb_testimonial_portrait, .et_pb_column_3_8 .et_pb_testimonial_portrait { float: none; display: block; margin: 0px auto 20px; }
.et_pb_testimonial_description, .et_pb_testimonial_description_inner { display: block; position: relative; }
.et_pb_testimonial_description_inner:empty { display: none; }
.et_pb_testimonial_description_inner:empty + .et_pb_testimonial_author, .et_pb_testimonial_description_inner:empty + .et_pb_testimonial_meta > span { margin-top: 12px; }
.et_pb_testimonial_author { margin-top: 32px; font-weight: 700; display: block; }
.et_pb_testimonial_author:empty { display: none; }
.et_pb_testimonial_company:empty, .et_pb_testimonial_meta:empty, .et_pb_testimonial_position:empty { display: none !important; }
.et_pb_testimonial::before { content: "|"; font-size: 32px; left: 50%; position: absolute; top: -16px; background: rgb(245, 245, 245); margin-left: -16px; border-radius: 31px; z-index: 2; }
@media (min-width: 768px) and (max-width: 980px) {
  .et_pb_column .et_pb_testimonial_portrait { float: left; display: block; margin-right: 30px; }
  .et_pb_column .et_pb_testimonial_description { display: block; }
}
@media (max-width: 767px) {
  .et_pb_column .et_pb_testimonial_description { width: 100%; display: block; }
  .et_pb_column .et_pb_testimonial_portrait { display: block; float: none; margin: 0px auto 20px; }
}
@media (max-width: 479px) {
  .et_pb_testimonial { padding-top: 10%; }
}
.et_pb_toggle_content, .et_pb_toggle_title { overflow-wrap: break-word; }
.et_pb_toggle { border: 1px solid rgb(217, 217, 217); }
.et_pb_toggle_close { background-color: rgb(244, 244, 244); padding: 20px; }
.et_pb_toggle_close .et_pb_toggle_content { display: none; }
.et_pb_toggle_open { padding: 20px; background-color: rgb(255, 255, 255); z-index: 1; }
.et_pb_toggle.et_pb_text_align_left .et_pb_toggle_title, .et_pb_toggle.et_pb_text_align_left h5.et_pb_toggle_title, .et_pb_toggle .et_pb_toggle_title, .et_pb_toggle h5.et_pb_toggle_title { cursor: pointer; position: relative; padding: 0px 50px 0px 0px; }
.et_pb_toggle_close .et_pb_toggle_title, .et_pb_toggle_close h5.et_pb_toggle_title { color: rgb(102, 102, 102); }
.et_pb_toggle_open .et_pb_toggle_title, .et_pb_toggle_open h5.et_pb_toggle_title { color: rgb(51, 51, 51); }
.et_pb_toggle_title::before { content: ""; position: absolute; right: 0px; font-size: 16px; color: rgb(204, 204, 204); top: 50%; margin-top: -0.5em; }
.et_pb_toggle .et_pb_toggle_title::before { right: 0px; left: auto; }
.et_pb_toggle_open .et_pb_toggle_title::before { content: ""; }
.et_pb_toggle_content { padding-top: 20px; position: relative; }
.et_pb_toggle_content:empty { display: none !important; }
.et_pb_toggle_content p:last-of-type { padding-bottom: 0px; }
/* https://theduispecialist.com/wp-content/plugins/translatepress-multilingual/assets/css/trp-language-switcher-v2.css?ver=3.3.6 */
.trp-flag-image { border-radius: var(--flag-radius, 0) !important; aspect-ratio: var(--aspect-ratio, 4/3) !important; width: var(--flag-size, 18px) !important; display: inline-block !important; height: auto !important; }
.trp-menu-ls-label .trp-flag-image { margin: -2px 3px; }
/* https://theduispecialist.com/wp-content/themes/Liberty/style.css?ver=4.27.8 */
@media (max-width: 1400px) {
  .container.et_menu_container, #top-header .container { width: 95%; }
}
.et_header_style_split .mobile_menu_bar, .et_header_style_left .mobile_menu_bar { z-index: 99999; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form .et_pb_button { margin-right: 3%; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form .input, .liberty_contact_form .input[type="checkbox"] + label i, .liberty_contact_form .input[type="radio"] + label i { background-color: rgb(255, 255, 255); }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form .et_pb_contact_form_container { color: rgb(175, 164, 111); }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form .et_pb_contact_form_container input { padding: 20px 20px 20px 55px !important; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form .et_pb_contact_form { margin-left: 0px !important; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form p.et_pb_contact_field { margin-bottom: 0px; padding: 1% 3% 3% 1% !important; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form .et_pb_contact_form .et_contact_bottom_container { margin-top: 0px !important; width: 100%; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
#page-container .liberty_contact_form .et_pb_contact_form textarea::-webkit-input-placeholder, #page-container .liberty_contact_form .et_pb_contact_form input::-webkit-input-placeholder { color: transparent !important; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form .et_pb_contact_form_container .et_pb_contact_message { padding: 20px 55px !important; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form .et_pb_contact_form p::before { opacity: 1; position: absolute; top: 25px; left: 25px; transform: translate3d(-56px, 0px, 0px); transition: transform 0.3s; min-width: 20px; z-index: 1; display: inline-block !important; font-family: ETmodules !important; margin: 0px !important; font-size: 19px !important; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form .et_pb_contact_form p.filled::before, .liberty_contact_form .et_pb_contact_form p.focus::before { transform: translate3d(0px, 0px, 0px); }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form .et_pb_contact_form p:first-child::before { content: "" !important; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form .et_pb_contact_form p:nth-child(2)::before { content: "" !important; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form .et_pb_contact_form p:nth-child(3)::before { content: "" !important; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form .et_pb_contact_form p { position: relative; overflow: hidden; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form .et_pb_contact_form p:not([data-type="checkbox"]) label { position: absolute; width: 100%; text-align: left; pointer-events: none; top: 27px; padding-left: 20px; color: rgb(167, 167, 167); font-size: 18px; font-weight: 400; transition: 0.3s ease-in-out; display: block !important; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.liberty_contact_form .et_pb_contact_form p.filled label, .liberty_contact_form .et_pb_contact_form p.focus label { opacity: 0; transform: translate3d(120px, 0px, 0px); }
@media only screen and (max-width: 1200px) {
  .liberty_img_overlay::before { content: ""; display: block; height: 100%; position: absolute; top: 0px; left: 0px; width: 100%; background-color: rgba(255, 255, 255, 0.9); }
}
@media only screen and (min-width: 767px) {
  .libertyKenBurnsOut .et_parallax_bg { animation: 45s ease 0s 1 normal forwards running libertyKenburnsOut; }
}
@keyframes libertyKenburnsIn { 0% { opacity: 0; transform: scale3d(1, 1, 1) translate3d(0px, 100px, 0px); animation-timing-function: linear; }
  1% { opacity: 1; }
  100% { transform: scale3d(1.3, 1.3, 1.3) translate3d(-50px, 150px, 0px); } }
@keyframes libertyKenburnsOut { 0% { opacity: 0; transform: scale3d(1.3, 1.3, 1.3) translate3d(50px, -50px, 0px); animation-timing-function: linear; }
  1% { opacity: 1; }
  100% { transform: scale3d(1, 1, 1) translate3d(0px, 0px, 0px); } }
@-webkit-keyframes scale-up { 0% { transform: scale(1); }
  100% { transform: scale(1.4); } }
@keyframes scale-up { 0% { transform: scale(1); }
  100% { transform: scale(1.4); } }
@-webkit-keyframes scale-up-down { 0% { transform: scale(1.2); }
  100% { transform: scale(1); } }
@keyframes scale-up-down { 0% { transform: scale(1.2); }
  100% { transform: scale(1); } }
@media only screen and (min-width: 767px) {
  .libertyKenBurnsOut .et_parallax_bg { animation: 45s ease 0s 1 normal forwards running libertyKenburnsOut; }
}
@keyframes libertyKenburnsIn { 0% { opacity: 0; transform: scale3d(1, 1, 1) translate3d(0px, 100px, 0px); animation-timing-function: linear; }
  1% { opacity: 1; }
  100% { transform: scale3d(1.3, 1.3, 1.3) translate3d(-50px, 150px, 0px); } }
@keyframes libertyKenburnsOut { 0% { opacity: 0; transform: scale3d(1.3, 1.3, 1.3) translate3d(50px, -50px, 0px); animation-timing-function: linear; }
  1% { opacity: 1; }
  100% { transform: scale3d(1, 1, 1) translate3d(0px, 0px, 0px); } }
@-webkit-keyframes scale-up { 0% { transform: scale(1); }
  100% { transform: scale(1.4); } }
@keyframes scale-up { 0% { transform: scale(1); }
  100% { transform: scale(1.4); } }
@-webkit-keyframes scale-up-down { 0% { transform: scale(1.2); }
  100% { transform: scale(1); } }
@keyframes scale-up-down { 0% { transform: scale(1.2); }
  100% { transform: scale(1); } }
/* サービスページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
@media only screen and (max-width: 980px) {
  .liberty_blurb_eight .et_pb_column { border-right-width: medium; border-right-style: none; border-right-color: currentcolor; }
}
.liberty_blurb_eight .et_pb_blurb:hover .et_pb_main_blurb_image { transition: opacity 0.2s ease-out, transform 0.2s ease-out; transform: scale(0.4); opacity: 0; }
.liberty_blurb_eight .et_pb_blurb .et_pb_main_blurb_image { transition: opacity 0.2s ease-out 0.2s, transform 0.2s ease-out; opacity: 1; }
.liberty_blurb_eight .et_pb_blurb { margin-top: 60px; margin-bottom: -40px; }
.liberty_blurb_eight .et_pb_blurb:hover .et_pb_blurb_container { transition: 0.3s ease-in-out; transform: translateY(-80px); }
.liberty_blurb_eight .et_pb_blurb .et_pb_blurb_container { transition: 0.2s ease-out; }
.liberty_blurb_eight .et_pb_blurb .et_pb_blurb_description { transition: opacity 0.2s ease-out, transform 0.2s ease-out; transform: scale(0.4); opacity: 0; margin-top: 30px; }
.liberty_blurb_eight .et_pb_blurb:hover .et_pb_blurb_description { transition: opacity 0.2s ease-out 0.2s, transform 0.2s ease-out; transform: scale(1); opacity: 1; }
.liberty_blurb_eight .et_pb_blurb_content { margin: 0px auto -40px; }
.liberty_blurb_five_right .et_pb_blurb:hover { transform: translateX(5px); transition: 0.3s ease-in-out; }
.liberty_blurb_five_left .et_pb_blurb:hover { transform: translateX(-5px); transition: 0.3s ease-in-out; }
.liberty_blurb_five_right .et_pb_blurb, .liberty_blurb_five_left .et_pb_blurb { transition: 0.3s ease-in-out; }
.more-link { font-size: 14px; transition: 0.3s ease-in-out; text-transform: uppercase; font-family: Montserrat, Helvetica, Arial, Lucida, sans-serif; display: inline-block; position: relative; opacity: 0.3; }
.more-link::after { position: absolute; opacity: 0; font-weight: 100; right: 0px; transition: 0.5s; font-family: ETmodules; content: "$"; font-size: 18px; }
.more-link:hover::after { animation: 1s ease 0s 1 normal none running swing; }
.liberty_blurb_three:hover .more-link::after, .liberty_blurb_eight:hover .more-link::after { opacity: 1; right: 0px; margin-right: -22px; }
.liberty_blurb_three:hover .more-link, .liberty_blurb_eight:hover .more-link { margin-left: -20px !important; opacity: 1 !important; }
.liberty_blurb_three:hover { cursor: pointer; transform: translateY(-5px); box-shadow: rgba(27, 33, 58, 0.14) 0px 20px 60px; transition: 0.3s ease-in-out; }
.liberty_blurb_three { transition: 0.3s ease-in-out; padding-bottom: 20px; }
.liberty_blurb_three .et_pb_blurb_container { padding: 0px 15px; }
@-webkit-keyframes swing { 15% { transform: translateX(5px); }
  30% { transform: translateX(-5px); }
  50% { transform: translateX(3px); }
  65% { transform: translateX(-3px); }
  80% { transform: translateX(2px); }
  100% { transform: translateX(0px); } }
@keyframes swing { 15% { transform: translateX(5px); }
  30% { transform: translateX(-5px); }
  50% { transform: translateX(3px); }
  65% { transform: translateX(-3px); }
  80% { transform: translateX(2px); }
  100% { transform: translateX(0px); } }
.liberty_blurb_two_row .et_pb_column { z-index: auto !important; }
.liberty_blurb_two .et_pb_blurb_content { padding: 50px 30px; max-width: 800px; }
.liberty_blurb_two:hover { transform: scale(1.03); box-shadow: rgba(27, 33, 58, 0.14) 0px 20px 60px; position: relative !important; z-index: 9999 !important; }
.liberty_blurb_two:hover .et_pb_main_blurb_image img { transform: translateX(-5px); }
.liberty_blurb_two:hover .et_pb_blurb_container { transform: translateX(5px); }
.liberty_blurb_two:hover .et_pb_blurb_container, .liberty_blurb_two .et_pb_blurb_container, .liberty_blurb_two:hover .et_pb_main_blurb_image img, .liberty_blurb_two .et_pb_main_blurb_image img, .liberty_blurb_two:hover, .liberty_blurb_two { transition: 0.4s ease-in-out; }
/* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.liberty_blurb_one .et_pb_blurb_content { padding: 40px; }
/* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.liberty_blurb_one:hover .et_pb_blurb_container { transform: translateX(5px); }
/* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.liberty_blurb_one:hover .et_pb_blurb_container, .liberty_blurb_one .et_pb_blurb_container, .liberty_blurb_one:hover .et_pb_main_blurb_image img, .liberty_blurb_one .et_pb_main_blurb_image img { transition: 0.4s ease-in-out; }
/* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.liberty_blurb_one { display: grid; }
/* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.liberty_blurb_one::after { display: block; content: ""; border-bottom: 2px solid rgb(175, 164, 110); transform: scaleX(0); transition: transform 0.4s ease-in-out; }
/* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.fromLeft::after { transform-origin: 100% 50%; }
/* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.fromLeft:hover::after { transform: scaleX(1); transform-origin: 0% 50%; }
#footer-bottom { display: none; }
.liberty_footer_menu .et_pb_blurb_content { float: left; width: 100%; }
.liberty_footer_menu .et_pb_blurb_container { margin-bottom: 0px; padding: 0px 0px 10px !important; }
.liberty_footer_menu .et_pb_main_blurb_image { width: 20px !important; }
.liberty_footer_menu:hover .et_pb_main_blurb_image .et-pb-icon { transition: 0.2s ease-in-out; color: rgb(175, 164, 111) !important; }
.liberty_footer_menu .et_pb_blurb_content a { color: rgb(142, 143, 152); transition: 0.2s ease-in-out; }
.liberty_footer_menu .et_pb_blurb_content a:hover { color: rgb(27, 33, 58); margin-left: 5px; transition: 0.2s ease-in-out; }
.liberty_social_follow li a.icon { border: 1px solid rgb(255, 255, 255); transition: 0.3s ease-in-out; border-radius: 0px !important; width: 45px !important; height: 45px !important; }
.liberty_social_follow li a.icon::before { background: rgb(255, 255, 255); box-shadow: rgba(11, 16, 36, 0.05) 0px 2px 20px; width: 45px !important; height: 45px !important; color: rgb(218, 219, 223) !important; line-height: 45px !important; }
.liberty_social_follow li a.icon:hover { border: 1px solid rgb(175, 164, 110); transform: translateY(-2px); transition: 0.3s ease-in-out; }
.liberty_social_follow li a.icon:hover::before { color: rgb(175, 164, 111) !important; }
.liberty_date .libertydate { display: block; color: rgb(175, 164, 110); font-size: 25px; font-weight: normal; }
.liberty_date { text-transform: uppercase; }
.liberty_blog .et_pb_blog_grid .et_pb_image_container .published { z-index: 100; position: absolute; right: -25px; background: rgb(11, 16, 36); width: 70px; height: 70px; padding: 12px; box-sizing: border-box; color: rgb(255, 255, 255); line-height: 1; text-align: center; top: -20px; font-weight: normal; box-shadow: rgba(10, 15, 37, 0.19) -10px 10px 20px; }
.liberty_blog .et_pb_post { padding: 0px 20px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; }
.liberty_blog .entry-title { margin-top: -115px; position: relative; max-height: 45px; overflow: hidden; }
.liberty_blog .post-meta { position: relative; }
.liberty_blog .post-content { display: none; }
.liberty_blog { position: relative; }
.liberty_blog .et_pb_image_container::after { position: absolute; content: ""; background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(2, 20, 23, 0.44) 50%, rgb(2, 20, 23) 100%) 0% 0% / cover; inset: 0px; opacity: 0.8; transition: 0.3s; cursor: pointer; }
.liberty_blog .et_pb_post:hover .et_pb_image_container::after { opacity: 1; transition: 0.3s ease-in-out; }
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .liberty_blog .et_pb_blog_grid .et_pb_image_container .published { right: 0px; top: 0px; }
}
@media only screen and (max-width: 1350px) {
  .liberty_blog .entry-title { margin-top: -100px; }
}
@media only screen and (max-width: 768px) {
  .liberty_blog .et_pb_blog_grid .column { float: none; }
  .liberty_blog .et_pb_blog_grid .column.size-1of1 .et_pb_post { margin-bottom: 20.5% !important; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  div.wpforms-container-full:not(:empty) { padding: min(var(--wpforms-container-padding),40px); }
}
.liberty_testimonials .et_pb_testimonial::before { top: 0px; left: 6%; font-size: 90px; content: "{"; transform: rotate(180deg); }
.liberty_testimonials .et_pb_testimonial:hover .et_pb_testimonial_portrait { transform: translateY(-5px) scale(1.05); transition: 0.3s ease-in-out; }
.liberty_testimonials .et_pb_testimonial .et_pb_testimonial_portrait { transition: 0.3s ease-in-out; }
.liberty_testimonials .et_pb_testimonial:hover { transform: translateY(5px); transition: 0.3s ease-in-out; }
.liberty_testimonials .et_pb_testimonial { transition: 0.3s ease-in-out; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.et_pb_team_member .et_pb_team_member_description h4 { font-size: 18px !important; }
@media (max-width: 980px) {
  .column-reverse-mobile { display: flex; flex-direction: column-reverse; }
}
.et_pb_toggle_open .et_pb_toggle_title::before { font-family: ETmodules; transform: rotate(180deg); content: "3"; transition: 0.5s ease-in-out; }
.et_pb_toggle_title::before { transition: 0.5s ease-in-out; content: "3" !important; font-size: 2em !important; }
.et_pb_toggle_open h5.et_pb_toggle_title { transition: 0.4s ease-in-out; }
.et_pb_toggle_close h5.et_pb_toggle_title { transition: 0.4s ease-in-out; }
/* ヘッダーの下の薄い白い線（本番は border-bottom 1px）は消した（2026-09-30 オーナー依頼。スクロールで白くなる動きと、そのときのふんわりした影はそのまま） */
#main-header { border-bottom: 0; }
header#main-header.et-fixed-header { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; box-shadow: rgba(50, 54, 58, 0.12) 0px 15px 70px -20px !important; }
@media (min-width: 981px) {
  .et_header_style_left #et-top-navigation, .et_header_style_left .et-fixed-header #et-top-navigation { padding-top: 20px !important; }
  #main-header { z-index: 100000; }
}
h1 mark, h2 mark, h3 mark, h4 mark, h5 mark, h6 mark { background: none; }
@media only screen and (min-width: 981px) {
  #et-top-navigation nav > ul > li > a { transition: 0.3s ease-in-out; }
  #et-top-navigation nav > ul > li > a:hover { opacity: 1; }
  #et-top-navigation nav > ul > li:not(.menu-item-has-children) > a::before { content: ""; display: block; position: absolute; bottom: -1px; left: 50%; right: 50%; background: transparent; transition: 0.3s ease-in-out; }
  .et-fixed-header #et-top-navigation nav > ul > li:not(.menu-item-has-children) > a::before { bottom: 0px; }
  #et-top-navigation nav > ul > li > a:hover::before { left: -5px; right: -5px; }
}
#top-menu li li a { width: 280px !important; }
.nav li ul { border-radius: 3px; margin-top: -7px; border-top-width: medium !important; border-top-style: none !important; border-top-color: currentcolor !important; padding: 20px 0px !important; box-shadow: rgba(50, 54, 58, 0.12) 0px 0px 80px !important; width: 280px !important; }
.nav li li { line-height: 1.6em !important; }
#top-menu li li { display: block; padding: 0px !important; }
#top-menu li li a { padding: 5px 15px 5px 20px; position: relative; transition: 0.3s ease-in-out; display: block; width: 100%; text-transform: none; }
#top-menu li li a:hover { padding-left: 25px; background: transparent; opacity: 1; }
#top-menu li li a::before { content: ""; display: block; position: absolute; width: 0px; top: 0px; bottom: 0px; left: -10px; transition: 0.3s ease-in-out; }
#top-menu li li a::before { left: 0px; }
@media (min-width: 980px) {
  .sub-menu::after { content: ""; display: block; position: absolute; left: 10%; top: -14px; width: 0px; height: 0px; border-top: 5px solid transparent; border-right: 10px solid transparent; border-left: 10px solid transparent; z-index: 1; }
}
.secondary-heading h1, .secondary-heading h2, .secondary-heading h3, .secondary-heading h4, .secondary-heading h5, .secondary-heading h6 { display: inline-block; position: relative; }
.secondary-heading h1::after, .secondary-heading h2::after, .secondary-heading h3::after, .secondary-heading h4::after, .secondary-heading h5::after, .secondary-heading h6::after { display: inline-block; content: ""; width: 100vw; position: absolute; top: 7px; right: -10px; border-top: 3px dashed rgb(238, 238, 238); margin-right: -100vw; }
.secondary-heading-parent { overflow: hidden; }
@media (min-width: 480px) {
  .secondary-heading.et_pb_text_align_right h1::after, .secondary-heading.et_pb_text_align_right h2::after, .secondary-heading.et_pb_text_align_right h3::after, .secondary-heading.et_pb_text_align_right h4::after, .secondary-heading.et_pb_text_align_right h5::after, .secondary-heading.et_pb_text_align_right h6::after { right: auto; left: -10px; margin-right: 0px; margin-left: -100vw; }
}
.white-popup .et_pb_section { padding-top: 0px !important; }
.white-popup .et_pb_section .et_pb_row { margin-top: 174px; background: rgb(255, 255, 255) !important; }
.white-popup .et_pb_contact { width: 95%; }
.et_pb_post { position: relative; }
.header_fixin_mobile #main-header { position: fixed; }
@media only screen and (max-width: 480px) {
  .white-popup .et_pb_section .et_pb_row { margin-top: 60px !important; }
}
@media only screen and (min-width: 1101px) and (max-width: 1200px) {
  #top-menu li { padding-right: 12px !important; }
}
.et_non_fixed_nav.et_transparent_nav #main-header, .et_non_fixed_nav.et_transparent_nav #top-header, .et_fixed_nav #main-header, .et_fixed_nav #top-header { position: fixed !important; }
.et_mobile_menu { overflow: scroll !important; }
.et_fixed_nav #main-header { position: fixed !important; }
.et_primary_nav_dropdown_animation_expand #et-top-navigation ul#mobile_menu li:hover > ul { animation: unset; }
/* https://theduispecialist.com/wp-content/themes/Liberty/css/owl.carousel.min.css?ver=7.1.2 */
@keyframes fadeOut { 0% { opacity: 1; }
  100% { opacity: 0; } }
/* inline */
.preloader { position: fixed; inset: 0px; background-color: rgb(254, 254, 254); z-index: 9999999; height: 100%; width: 100%; overflow: hidden !important; }
.preloader .status { margin: -35px 0px 0px -35px; position: absolute; left: 50%; top: 50%; background-repeat: no-repeat; background-position: center center; background-size: cover; }
/* inline */
.preloader .status { width: 70px !important; height: 70px !important; }
.preloader { background-color: rgb(254, 254, 254); }
/* inline */
body, .et_pb_column_1_2 .et_quote_content blockquote cite, .et_pb_column_1_2 .et_link_content a.et_link_main_url, .et_pb_column_1_3 .et_quote_content blockquote cite, .et_pb_column_3_8 .et_quote_content blockquote cite, .et_pb_column_1_4 .et_quote_content blockquote cite, .et_pb_blog_grid .et_quote_content blockquote cite, .et_pb_column_1_3 .et_link_content a.et_link_main_url, .et_pb_column_3_8 .et_link_content a.et_link_main_url, .et_pb_column_1_4 .et_link_content a.et_link_main_url, .et_pb_blog_grid .et_link_content a.et_link_main_url, body .et_pb_bg_layout_light .et_pb_post p, body .et_pb_bg_layout_dark .et_pb_post p { font-size: 14px; }
body { color: rgb(89, 89, 91); }
h1, h2, h3, h4, h5, h6 { color: rgb(11, 16, 36); }
body { line-height: 1.5em; }
#et_search_icon:hover, .mobile_menu_bar::before, .mobile_menu_bar::after, .et_toggle_slide_menu::after, .et-social-icon a:hover, .et_pb_sum, .et_pb_pricing li a, .et_pb_pricing_table_button, .et_overlay::before, .entry-summary p.price ins, .et_pb_member_social_links a:hover, .et_pb_widget li a:hover, .et_pb_filterable_portfolio .et_pb_portfolio_filters li a.active, .et_pb_filterable_portfolio .et_pb_portofolio_pagination ul li a.active, .et_pb_gallery .et_pb_gallery_pagination ul li a.active, .wp-pagenavi span.current, .wp-pagenavi a:hover, .nav-single a, .tagged_as a, .posted_in a { color: rgb(175, 164, 110); }
.et_pb_contact_submit, .et_password_protected_form .et_submit_button, .et_pb_bg_layout_light .et_pb_newsletter_button, .comment-reply-link, .form-submit .et_pb_button, .et_pb_bg_layout_light .et_pb_promo_button, .et_pb_bg_layout_light .et_pb_more_button, .et_pb_contact p input[type="checkbox"]:checked + label i::before, .et_pb_bg_layout_light.et_pb_module.et_pb_button { color: rgb(175, 164, 110); }
.et-search-form, .nav li ul, .et_mobile_menu, .footer-widget li::before, .et_pb_pricing li::before, blockquote { border-color: rgb(175, 164, 110); }
.container, .et_pb_row, .et_pb_slider .et_pb_container, .et_pb_fullwidth_section .et_pb_title_container, .et_pb_fullwidth_section .et_pb_title_featured_container, .et_pb_fullwidth_header:not(.et_pb_fullscreen) .et_pb_fullwidth_header_container { max-width: 1600px; }
a { color: rgb(175, 164, 110); }
#main-header, #main-header .nav li ul, .et-search-form, #main-header .et_mobile_menu { background-color: rgba(27, 33, 58, 0); }
#main-header .nav li ul { background-color: rgb(255, 255, 255); }
.et_header_style_centered .mobile_nav .select_page, .et_header_style_split .mobile_nav .select_page, .et_nav_text_color_light #top-menu > li > a, .et_nav_text_color_dark #top-menu > li > a, #top-menu a, .et_mobile_menu li a, .et_nav_text_color_light .et_mobile_menu li a, .et_nav_text_color_dark .et_mobile_menu li a, #et_search_icon::before, .et_search_form_container input, span.et_close_search_field::after, #et-top-navigation .et-cart-info { color: rgb(255, 255, 255); }
#main-header .nav li ul a { color: rgb(119, 125, 150); }
#top-menu li a, .et_search_form_container input { font-weight: normal; font-style: normal; text-transform: uppercase; text-decoration: none; }
#top-menu li.current-menu-ancestor > a, #top-menu li.current-menu-item > a, #top-menu li.current_page_item > a { color: rgb(255, 255, 255); }
#main-header { box-shadow: none; }
.et-fixed-header#main-header { box-shadow: none !important; }
body .et_pb_button { font-size: 16px; background-color: rgb(175, 164, 110); border-color: rgb(175, 164, 110); border-radius: 0px; font-weight: normal; font-style: normal; text-transform: uppercase; text-decoration: none; border-width: 0px !important; }
body.et_pb_button_helper_class .et_pb_button, body.et_pb_button_helper_class .et_pb_module.et_pb_button { color: rgba(255, 255, 255, 0.97); }
body .et_pb_button::after { content: "$"; font-size: 16px; }
body .et_pb_bg_layout_light.et_pb_button:hover, body .et_pb_bg_layout_light .et_pb_button:hover, body .et_pb_button:hover { background-color: rgb(175, 164, 110); letter-spacing: 1px; color: rgb(255, 255, 255) !important; border-color: rgb(175, 164, 110) !important; }
h1, h2, h3, h4, h5, h6, .et_quote_content blockquote p, .et_pb_slide_description .et_pb_slide_title { font-weight: bold; font-style: normal; text-transform: none; text-decoration: none; letter-spacing: 1px; line-height: 1.2em; }
@media only screen and (min-width: 981px) {
  .et_header_style_left #et-top-navigation, .et_header_style_split #et-top-navigation { padding: 25px 0px 0px; }
  .et_header_style_left #et-top-navigation nav > ul > li > a, .et_header_style_split #et-top-navigation nav > ul > li > a { padding-bottom: 25px; }
  #logo { max-height: 65%; }
  .et_header_style_left .et-fixed-header #et-top-navigation, .et_header_style_split .et-fixed-header #et-top-navigation { padding: 25px 0px 0px; }
  .et_header_style_left .et-fixed-header #et-top-navigation nav > ul > li > a, .et_header_style_split .et-fixed-header #et-top-navigation nav > ul > li > a { padding-bottom: 25px; }
  .et-fixed-header#main-header, .et-fixed-header#main-header .nav li ul, .et-fixed-header .et-search-form { background-color: rgb(255, 255, 255); }
  .et-fixed-header #top-menu a, .et-fixed-header #et_search_icon::before, .et-fixed-header #et_top_search .et-search-form input, .et-fixed-header .et_search_form_container input, .et-fixed-header .et_close_search_field::after, .et-fixed-header #et-top-navigation .et-cart-info { color: rgb(119, 125, 150) !important; }
  .et-fixed-header #top-menu li.current-menu-ancestor > a, .et-fixed-header #top-menu li.current-menu-item > a, .et-fixed-header #top-menu li.current_page_item > a { color: rgb(119, 125, 150) !important; }
}
@media only screen and (min-width: 2000px) {
  .et_pb_row { padding: 40px 0px; }
  .et_pb_section { padding: 80px 0px; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .et_pb_fullwidth_section { padding: 0px; }
}
h1, h1.et_pb_contact_main_title, .et_pb_title_container h1 { font-size: 40px; }
h2, .product .related h2, .et_pb_column_1_2 .et_quote_content blockquote p { font-size: 34px; }
h3 { font-size: 29px; }
h4, .et_pb_circle_counter h3, .et_pb_number_counter h3, .et_pb_column_1_3 .et_pb_post h2, .et_pb_column_1_4 .et_pb_post h2, .et_pb_blog_grid h2, .et_pb_column_1_3 .et_quote_content blockquote p, .et_pb_column_3_8 .et_quote_content blockquote p, .et_pb_column_1_4 .et_quote_content blockquote p, .et_pb_blog_grid .et_quote_content blockquote p, .et_pb_column_1_3 .et_link_content h2, .et_pb_column_3_8 .et_link_content h2, .et_pb_column_1_4 .et_link_content h2, .et_pb_blog_grid .et_link_content h2, .et_pb_column_1_3 .et_audio_content h2, .et_pb_column_3_8 .et_audio_content h2, .et_pb_column_1_4 .et_audio_content h2, .et_pb_blog_grid .et_audio_content h2, .et_pb_column_3_8 .et_pb_audio_module_content h2, .et_pb_column_1_3 .et_pb_audio_module_content h2, .et_pb_gallery_grid .et_pb_gallery_item h3, .et_pb_portfolio_grid .et_pb_portfolio_item h2, .et_pb_filterable_portfolio_grid .et_pb_portfolio_item h2 { font-size: 24px; }
h5 { font-size: 21px; }
/* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
h6 { font-size: 18px; }
@media only screen and (max-width: 980px) {
  #main-header, #main-header .nav li ul, .et-search-form, #main-header .et_mobile_menu { background-color: rgba(255, 255, 255, 0); }
  h1 { font-size: 50px; }
  h2, .product .related h2, .et_pb_column_1_2 .et_quote_content blockquote p { font-size: 43px; }
  h3 { font-size: 36px; }
  h4, .et_pb_circle_counter h3, .et_pb_number_counter h3, .et_pb_column_1_3 .et_pb_post h2, .et_pb_column_1_4 .et_pb_post h2, .et_pb_blog_grid h2, .et_pb_column_1_3 .et_quote_content blockquote p, .et_pb_column_3_8 .et_quote_content blockquote p, .et_pb_column_1_4 .et_quote_content blockquote p, .et_pb_blog_grid .et_quote_content blockquote p, .et_pb_column_1_3 .et_link_content h2, .et_pb_column_3_8 .et_link_content h2, .et_pb_column_1_4 .et_link_content h2, .et_pb_blog_grid .et_link_content h2, .et_pb_column_1_3 .et_audio_content h2, .et_pb_column_3_8 .et_audio_content h2, .et_pb_column_1_4 .et_audio_content h2, .et_pb_blog_grid .et_audio_content h2, .et_pb_column_3_8 .et_pb_audio_module_content h2, .et_pb_column_1_3 .et_pb_audio_module_content h2, .et_pb_gallery_grid .et_pb_gallery_item h3, .et_pb_portfolio_grid .et_pb_portfolio_item h2, .et_pb_filterable_portfolio_grid .et_pb_portfolio_item h2 { font-size: 30px; }
  h5 { font-size: 26px; }
  /* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  h6 { font-size: 23px; }
}
h1, h2, h3, h4, h5, h6 { font-family: "Playfair Display", Georgia, "Times New Roman", serif; }
body, input, textarea, select { font-family: Montserrat, Helvetica, Arial, Lucida, sans-serif; }
.et_pb_button { font-family: Montserrat, Helvetica, Arial, Lucida, sans-serif; }
#main-header, #et-top-navigation { font-family: Montserrat, Helvetica, Arial, Lucida, sans-serif; }
.grecaptcha-badge { opacity: 0; }
.et_pb_button, .et_pb_button:hover { padding: 0.8em 2.2em !important; }
@media (max-width: 767px) {
  .two-col-mob .et_pb_column:not(:nth-child(2n)) { margin-right: 5.5% !important; }
}
@media (max-width: 767px) {
  .three-col-mob .et_pb_column:not(:nth-child(3n)) { margin-right: 5.5% !important; }
}
@media (max-width: 767px) {
  .four-col-mob .et_pb_column:not(:nth-child(4n)) { margin-right: 5.5% !important; }
}
@media (max-width: 767px) {
  .five-col-mob .et_pb_column { width: 15.6% !important; }
  .five-col-mob .et_pb_column:nth-last-child(-n+5) { margin-bottom: 0px; }
  .five-col-mob .et_pb_column:not(:nth-child(5n)) { margin-right: 5.5% !important; }
}
@media (max-width: 767px) {
  .six-col-mob .et_pb_column:not(:nth-child(6n)) { margin-right: 5.5% !important; }
}
@media (min-width: 768px) and (max-width: 980px) {
  .two-col-tab .et_pb_column:not(:nth-child(2n)) { margin-right: 5.5% !important; }
}
@media (min-width: 768px) and (max-width: 980px) {
  .three-col-tab .et_pb_column:not(:nth-child(3n)) { margin-right: 5.5% !important; }
}
@media (min-width: 768px) and (max-width: 980px) {
  .four-col-tab .et_pb_column:not(:nth-child(4n)) { margin-right: 5.5% !important; }
}
@media (min-width: 768px) and (max-width: 980px) {
  .five-col-tab .et_pb_column { width: 15.6% !important; }
  .five-col-mob .et_pb_column:nth-last-child(-n+5) { margin-bottom: 0px; }
  .five-col-tab .et_pb_column:not(:nth-child(5n)) { margin-right: 5.5% !important; }
}
@media (min-width: 768px) and (max-width: 980px) {
  .six-col-tab .et_pb_column:not(:nth-child(6n)) { margin-right: 5.5% !important; }
}
/* https://theduispecialist.com/wp-content/et-cache/7/et-core-unified-deferred-7.min.css?ver=1787812522 */
.ft_blurb_4.et_pb_blurb, .ft_blurb_5.et_pb_blurb, .ft_text_2, .ft_blurb_6.et_pb_blurb, .ft_blurb_7.et_pb_blurb, .ft_blurb_8.et_pb_blurb, .ft_blurb_9.et_pb_blurb, .ft_blurb_10.et_pb_blurb { margin-bottom: 0px !important; }
.et_pb_text_27.et_pb_text, .et_pb_text_27 h2, .et_pb_blurb_29.et_pb_blurb .et_pb_module_header, .et_pb_blurb_29.et_pb_blurb .et_pb_module_header a, .et_pb_blurb_30.et_pb_blurb .et_pb_module_header, .et_pb_blurb_30.et_pb_blurb .et_pb_module_header a, .et_pb_blurb_31.et_pb_blurb .et_pb_module_header, .et_pb_blurb_31.et_pb_blurb .et_pb_module_header a, .et_pb_text_29.et_pb_text, .et_pb_text_30.et_pb_text { color: rgb(255, 255, 255) !important; }
.et_pb_blurb_28 .et_pb_main_blurb_image .et_pb_image_wrap { width: 70px; }
.ft_row_0.et_pb_row { padding: 0px !important; }
div.et_pb_section.et_pb_section_14, div.et_pb_section.ft_section_0 { background-size: initial; background-position: right 0px bottom 0px; background-image: url("../images/wp/2018/08/footer-bg-01.webp") !important; }
.ft_section_0.et_pb_section { padding: 80px 0px 0px; background-color: rgb(244, 244, 244) !important; }
.ft_image_0 { max-width: 250px; text-align: left; margin-left: 0px; margin-bottom: 20px !important; }
.ft_text_1 { padding-bottom: 0px !important; margin-bottom: 0px !important; }
.ft_blurb_0 .et-pb-icon, .ft_blurb_1 .et-pb-icon, .ft_blurb_2 .et-pb-icon, .ft_blurb_3 .et-pb-icon, .ft_blurb_4 .et-pb-icon, .ft_blurb_5 .et-pb-icon, .ft_blurb_6 .et-pb-icon, .ft_blurb_7 .et-pb-icon, .ft_blurb_8 .et-pb-icon, .ft_blurb_9 .et-pb-icon, .ft_blurb_10 .et-pb-icon { font-size: 20px; color: rgba(175, 164, 110, 0.3); font-family: ETmodules !important; font-weight: 400 !important; }
.ft_row_1.et_pb_row { padding: 15px 0px 60px !important; }
.ft_text_3 { border-top-width: 1px; border-top-color: rgba(27, 33, 58, 0.05); padding-top: 20px !important; padding-bottom: 0px !important; margin-top: 20px !important; }
.et_pb_section_16.et_pb_section, .et_pb_section_18.et_pb_section, .et_pb_section_19.et_pb_section { background-color: rgba(0, 0, 0, 0) !important; }
.et_pb_row_23 { border-radius: 5px; box-shadow: rgba(5, 44, 89, 0.36) 0px 2px 200px 0px; overflow: visible; }
.et_pb_row_23.et_pb_row { padding: 0px 0px 40px !important; }
.et_pb_row_23, body #page-container .et-db #et-boc .et-l .et_pb_row_23.et_pb_row, body.et_pb_pagebuilder_layout.single #page-container #et-boc .et-l .et_pb_row_23.et_pb_row, body.et_pb_pagebuilder_layout.single.et_full_width_page #page-container #et-boc .et-l .et_pb_row_23.et_pb_row { width: 100%; max-width: 600px; }
.et_pb_blurb_28.et_pb_blurb { border-bottom-width: 1px; border-bottom-color: rgba(51, 51, 51, 0.08); padding: 30px 33px 30px 30px !important; margin-bottom: 20px !important; margin-top: -65px !important; }
.et_pb_blurb_28 .et_pb_main_blurb_image .et_pb_only_image_mode_wrap, .et_pb_blurb_28 .et_pb_main_blurb_image .et-pb-icon { border-radius: 200px; overflow: hidden; }
.et_pb_blurb_28.et_pb_blurb .et_pb_main_blurb_image { margin-bottom: 10px; }
.et_pb_blurb_28.et_pb_blurb .et_pb_module_header { margin-top: 8px; }
.et_pb_blurb_28 .et_pb_blurb_content { max-width: 450px; }
.et_pb_contact_form_0.et_pb_contact_form_container { margin-right: 29px !important; margin-left: 27px !important; }
.et_pb_text_25 { font-size: 11px; padding-right: 10px !important; padding-left: 20px !important; }
.et_pb_row_24 { background-color: rgb(175, 164, 110); }
.et_pb_signup_0.et_pb_subscribe { background-color: rgb(175, 164, 110); padding-top: 40px !important; padding-bottom: 22px !important; }
.et_pb_text_26 { font-size: 12px; padding-right: 5px !important; padding-bottom: 10px !important; padding-left: 15px !important; margin-top: -10px !important; }
.et_pb_row_25, body #page-container .et-db #et-boc .et-l .et_pb_row_25.et_pb_row, body.et_pb_pagebuilder_layout.single #page-container #et-boc .et-l .et_pb_row_25.et_pb_row, body.et_pb_pagebuilder_layout.single.et_full_width_page #page-container #et-boc .et-l .et_pb_row_25.et_pb_row { max-width: 1070px; }
.et_pb_row_25 { box-shadow: rgba(61, 60, 0, 0.3) 0px 2px 18px 0px; }
.et_pb_text_27 { background-color: rgb(67, 74, 96); padding: 50px 40px !important; margin: -20px -20px 0px !important; }
.et_pb_blurb_29.et_pb_blurb { background-color: rgb(67, 74, 96); padding-right: 40px !important; padding-left: 40px !important; margin-right: -20px !important; margin-bottom: 0px !important; margin-left: -20px !important; }
.et_pb_blurb_29.et_pb_blurb .et_pb_module_header, .et_pb_blurb_30.et_pb_blurb .et_pb_module_header, .et_pb_blurb_31.et_pb_blurb .et_pb_module_header { margin-top: -5px; padding-bottom: 5px; }
.et_pb_blurb_30.et_pb_blurb { background-color: rgb(67, 74, 96); padding-top: 30px !important; padding-right: 40px !important; padding-left: 40px !important; margin-right: -20px !important; margin-bottom: 0px !important; margin-left: -20px !important; }
.et_pb_blurb_31.et_pb_blurb { background-color: rgb(67, 74, 96); padding: 30px 40px 100px !important; margin-right: -20px !important; margin-bottom: -20px !important; margin-left: -20px !important; }
.et_pb_contact_form_1.et_pb_contact_form_container h1, .et_pb_contact_form_1.et_pb_contact_form_container h2.et_pb_contact_main_title, .et_pb_contact_form_1.et_pb_contact_form_container h3.et_pb_contact_main_title, .et_pb_contact_form_1.et_pb_contact_form_container h4.et_pb_contact_main_title, .et_pb_contact_form_1.et_pb_contact_form_container h5.et_pb_contact_main_title, .et_pb_contact_form_1.et_pb_contact_form_container h6.et_pb_contact_main_title { font-weight: 600; text-align: center; }
.et_pb_contact_form_1 .et_pb_contact_field input, .et_pb_contact_form_1 .et_pb_contact_field select, .et_pb_contact_form_1 .et_pb_contact_field textarea, .et_pb_contact_form_1 .et_pb_contact_field .et_pb_contact_field_options_list label > i, .et_pb_contact_form_1 input.et_pb_contact_captcha, .et_pb_contact_form_2 .et_pb_contact_field input, .et_pb_contact_form_2 .et_pb_contact_field select, .et_pb_contact_form_2 .et_pb_contact_field textarea, .et_pb_contact_form_2 .et_pb_contact_field .et_pb_contact_field_options_list label > i, .et_pb_contact_form_2 input.et_pb_contact_captcha { box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 13px 0px; }
.et_pb_text_28, .et_pb_text_31, .et_pb_text_33 { font-size: 12px; }
.et_pb_row_26, body #page-container .et-db #et-boc .et-l .et_pb_row_26.et_pb_row, body.et_pb_pagebuilder_layout.single #page-container #et-boc .et-l .et_pb_row_26.et_pb_row, body.et_pb_pagebuilder_layout.single.et_full_width_page #page-container #et-boc .et-l .et_pb_row_26.et_pb_row { max-width: 100%; }
.et_pb_row_26 { box-shadow: rgba(61, 60, 0, 0.3) 0px 2px 80px 0px; }
.et_pb_text_29 { font-weight: 700; font-size: 37px; line-height: 1em; padding-top: 100px !important; padding-left: 120px !important; }
.et_pb_text_30 { padding-top: 30px !important; padding-left: 120px !important; }
.et_pb_image_19 { max-width: 300px; text-align: left; margin-top: -180px !important; margin-left: -150px !important; }
.et_pb_contact_form_2.et_pb_contact_form_container h1, .et_pb_contact_form_2.et_pb_contact_form_container h2.et_pb_contact_main_title, .et_pb_contact_form_2.et_pb_contact_form_container h3.et_pb_contact_main_title, .et_pb_contact_form_2.et_pb_contact_form_container h4.et_pb_contact_main_title, .et_pb_contact_form_2.et_pb_contact_form_container h5.et_pb_contact_main_title, .et_pb_contact_form_2.et_pb_contact_form_container h6.et_pb_contact_main_title { text-align: center; }
.et_pb_row_27 { background-color: rgb(255, 255, 255); border-radius: 10px; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.3) 0px 2px 54px 0px; }
.et_pb_divider_4 { height: 400px; }
.et_pb_contact_form_3.et_pb_contact_form_container.et_pb_module .et_pb_button { transition: background-color 300ms; }
.ft_social_media_follow_network_0 a.icon { background-color: rgb(59, 89, 152) !important; }
.ft_social_media_follow_network_1 a.icon { background-color: rgb(234, 44, 89) !important; }
.ft_social_media_follow_network_2 a.icon { background-color: rgb(0, 0, 0) !important; }
.ft_social_media_follow_network_3 a.icon { background-color: rgb(168, 36, 0) !important; }
.ft_social_media_follow_network_4 a.icon { background-color: rgb(0, 123, 182) !important; }
.ft_social_media_follow_network_5 a.icon { background-color: rgb(175, 6, 6) !important; }
.ft_social_media_follow_network_6 a.icon { background-color: rgb(66, 133, 244) !important; }
.ft_social_media_follow_network_7 a.icon { background-color: rgb(0, 195, 0) !important; }
.ft_column_1, .ft_column_2, .ft_column_3 { padding-top: 50px; }
.et_pb_column_60 { background-image: url("../images/wp/2023/05/jeff-yeh-dui-attorney-outdoors.webp"); }
.et_pb_column_62 { padding-right: 60px; }
.et_pb_column_63 { padding-top: 50px; padding-right: 50px; padding-left: 30px; }
.et_pb_column_64 { background-color: rgb(175, 164, 110); padding-right: 60px; }
.et_pb_column_65 { padding: 80px 30px 30px; }
.et_pb_column_66 { background-position: center top; background-image: url("../images/hero/phonemini.webp"); }
.et_pb_column_67 { padding: 30px; }
.ft_image_0.et_pb_module { margin-left: 0px !important; margin-right: auto !important; }
.et_pb_row_24.et_pb_row { padding-top: 0px !important; padding-bottom: 0px !important; margin-left: auto !important; margin-right: auto !important; }
.et_pb_row_25.et_pb_row, .et_pb_row_26.et_pb_row, .et_pb_row_27.et_pb_row { padding-top: 0px !important; padding-bottom: 0px !important; margin-left: auto !important; margin-right: auto !important; }
@media only screen and (min-width: 981px) {
  .et_pb_row_24, body #page-container .et-db #et-boc .et-l .et_pb_row_24.et_pb_row, body.et_pb_pagebuilder_layout.single #page-container #et-boc .et-l .et_pb_row_24.et_pb_row, body.et_pb_pagebuilder_layout.single.et_full_width_page #page-container #et-boc .et-l .et_pb_row_24.et_pb_row { max-width: 1060px; }
  .et_pb_row_27, body #page-container .et-db #et-boc .et-l .et_pb_row_27.et_pb_row, body.et_pb_pagebuilder_layout.single #page-container #et-boc .et-l .et_pb_row_27.et_pb_row, body.et_pb_pagebuilder_layout.single.et_full_width_page #page-container #et-boc .et-l .et_pb_row_27.et_pb_row { max-width: 1055px; }
}
@media only screen and (max-width: 980px) {
  .ft_image_0 { text-align: center; margin-left: auto; margin-right: auto; }
  .ft_image_0 .et_pb_image_wrap img, .et_pb_image_19 .et_pb_image_wrap img { width: auto; }
  body #page-container .et_pb_section .et_pb_signup_0.et_pb_subscribe .et_pb_newsletter_button.et_pb_button::after, body #page-container .et_pb_section .et_pb_contact_form_3.et_pb_contact_form_container.et_pb_module .et_pb_button::after { display: inline-block; opacity: 0; }
  body #page-container .et_pb_section .et_pb_signup_0.et_pb_subscribe .et_pb_newsletter_button.et_pb_button:hover::after, body #page-container .et_pb_section .et_pb_contact_form_3.et_pb_contact_form_container.et_pb_module .et_pb_button:hover::after { opacity: 1; }
  .ft_text_3 { border-top-width: 1px; border-top-color: rgba(27, 33, 58, 0.05); }
  .et_pb_blurb_28.et_pb_blurb { border-bottom-width: 1px; border-bottom-color: rgba(51, 51, 51, 0.08); }
  .et_pb_row_24, body #page-container .et-db #et-boc .et-l .et_pb_row_24.et_pb_row, body.et_pb_pagebuilder_layout.single #page-container #et-boc .et-l .et_pb_row_24.et_pb_row, body.et_pb_pagebuilder_layout.single.et_full_width_page #page-container #et-boc .et-l .et_pb_row_24.et_pb_row { max-width: 1060px; }
  .et_pb_row_26.et_pb_row { padding-top: 0px !important; padding-bottom: 0px !important; }
  .et_pb_image_19 { text-align: center; margin-right: auto; margin-top: -180px !important; margin-left: -150px !important; }
  .et_pb_row_27, body #page-container .et-db #et-boc .et-l .et_pb_row_27.et_pb_row, body.et_pb_pagebuilder_layout.single #page-container #et-boc .et-l .et_pb_row_27.et_pb_row, body.et_pb_pagebuilder_layout.single.et_full_width_page #page-container #et-boc .et-l .et_pb_row_27.et_pb_row { max-width: 1055px; }
}
@media only screen and (max-width: 767px) {
  .ft_image_0 .et_pb_image_wrap img, .et_pb_image_19 .et_pb_image_wrap img { width: auto; }
  .et_pb_row_26.et_pb_row { padding-top: 0px !important; padding-bottom: 0px !important; }
  .et_pb_row_24, body #page-container .et-db #et-boc .et-l .et_pb_row_24.et_pb_row, body.et_pb_pagebuilder_layout.single #page-container #et-boc .et-l .et_pb_row_24.et_pb_row, body.et_pb_pagebuilder_layout.single.et_full_width_page #page-container #et-boc .et-l .et_pb_row_24.et_pb_row { width: 90%; }
  body #page-container .et_pb_section .et_pb_signup_0.et_pb_subscribe .et_pb_newsletter_button.et_pb_button::after, body #page-container .et_pb_section .et_pb_contact_form_3.et_pb_contact_form_container.et_pb_module .et_pb_button::after { display: inline-block; opacity: 0; }
  body #page-container .et_pb_section .et_pb_signup_0.et_pb_subscribe .et_pb_newsletter_button.et_pb_button:hover::after, body #page-container .et_pb_section .et_pb_contact_form_3.et_pb_contact_form_container.et_pb_module .et_pb_button:hover::after { opacity: 1; }
  .ft_text_3 { border-top-width: 1px; border-top-color: rgba(27, 33, 58, 0.05); }
  .et_pb_blurb_28.et_pb_blurb { border-bottom-width: 1px; border-bottom-color: rgba(51, 51, 51, 0.08); }
  .et_pb_column_60, .et_pb_column_62, .et_pb_column_64, .et_pb_column_66, .et_pb_divider_4 { display: none !important; }
  .et_pb_row_26, body #page-container .et-db #et-boc .et-l .et_pb_row_26.et_pb_row, body.et_pb_pagebuilder_layout.single #page-container #et-boc .et-l .et_pb_row_26.et_pb_row, body.et_pb_pagebuilder_layout.single.et_full_width_page #page-container #et-boc .et-l .et_pb_row_26.et_pb_row, .et_pb_row_27, body #page-container .et-db #et-boc .et-l .et_pb_row_27.et_pb_row, body.et_pb_pagebuilder_layout.single #page-container #et-boc .et-l .et_pb_row_27.et_pb_row, body.et_pb_pagebuilder_layout.single.et_full_width_page #page-container #et-boc .et-l .et_pb_row_27.et_pb_row { width: 100%; }
  .et_pb_text_29 { font-size: 28px; }
  .et_pb_image_19 { margin-left: -90px !important; }
}
/* inline */
#main-header.et-fixed-header { background-color: rgb(255, 255, 255); }
#top-menu > li:last-child a:hover::before { background-color: transparent; }
#top-menu > li:last-child a { letter-spacing: 1px; font-size: 15px; font-family: Montserrat; font-weight: 400 !important; color: rgb(255, 255, 255) !important; padding-bottom: 0px !important; }
#top-menu > li:last-child a:hover { color: rgb(255, 255, 255); }
#top-menu > li:last-child { background-color: rgb(175, 164, 110); border: 1px solid rgb(175, 164, 110); border-radius: 0px; padding: 15px 25px; transition: 0.3s ease-in-out; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.ghost-header #top-menu > li:last-child a:hover, .ghost-header .et-fixed-header #top-menu > li:last-child a:hover { color: rgb(255, 255, 255) !important; }
#top-menu > li:last-child:hover { background-color: rgba(175, 164, 110, 0.61); border: 1px solid rgb(175, 164, 110); transition: 0.3s ease-in-out; }
#top-menu > li:last-child:hover { transform: scale(1.05); transition: 1000ms cubic-bezier(0.17, 0.69, 0.47, 0.995); }
.secondary-heading h1, .secondary-heading h2, .secondary-heading h3, .secondary-heading h4, .secondary-heading h5, .secondary-heading h6 { font-family: Montserrat, Helvetica, Arial, Lucida, sans-serif; font-weight: 700; }
#top-menu li li a:hover::before { width: 4px; background: rgb(175, 164, 110); }
#et-top-navigation nav > ul > li:not(.menu-item-has-children) > a::before { height: 1px; }
#et-top-navigation nav > ul > li > a:hover::before { background-color: rgb(175, 164, 110); }
@media (min-width: 980px) {
  #top-menu > li > ul::after { border-bottom: 10px solid rgb(255, 255, 255); }
  .et-fixed-header#main-header .nav li ul { background: rgb(255, 255, 255) !important; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .ghost-header #top-menu > li > ul::after { border-bottom: 10px solid rgb(255, 255, 255); }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .ghost-header #main-header .nav li ul { background: rgb(255, 255, 255) !important; }
  /* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
  .ghost-header #main-header .nav li ul a { color: rgb(119, 125, 150) !important; }
}
#main-header { transition: 0.5s; }
#main-header.et-fixed-header { top: 0px !important; }
h1 mark, h2 mark, h3 mark, h4 mark, h5 mark, h6 mark, .secondary-heading h1, .secondary-heading h2, .secondary-heading h3, .secondary-heading h4, .secondary-heading h5, .secondary-heading h6, #top-header .et-social-icon a:hover::before { color: rgb(175, 164, 110) !important; }
.dark-bg { background-color: rgb(27, 33, 58); }
.light-bg { background-color: rgb(246, 246, 247); }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.ghost-header #main-header, .ghost-header #top-header { background-color: rgb(32, 35, 45); }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.ghost-header #main-header #top-menu > a, .ghost-header #main-header #et_search_icon::before, .ghost-header #main-header span.et_close_search_field::after, .ghost-header #main-header .et_search_form_container input, .ghost-header #main-header .mobile_menu_bar::before { color: rgb(255, 255, 255) !important; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.ghost-header #main-header a { color: rgb(255, 255, 255) !important; }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.ghost-header #top-menu li.current-menu-ancestor > a { color: rgb(255, 255, 255); }
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
.ghost-header #top-menu ul li a:hover::before { background: rgb(175, 164, 110); }
h1, h2, h3, h4, h5, h6 { font-weight: 600; }
body, p { font-weight: 400; }
body .et_pb_button { font-weight: 500 !important; }
#top-menu-nav > ul > li > a, .et_mobile_menu li a, #et-top-navigation, #top-menu li a { font-weight: 400 !important; }
/* https://theduispecialist.com/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css?ver=4.2.17 */
@-webkit-keyframes a { 100% { transform: rotate(1turn); } }
@keyframes a { 100% { transform: rotate(1turn); } }
@-webkit-keyframes b { 0% { background-position: 0px 0px; }
  100% { background-position: 30px 0px; } }
@keyframes b { 0% { background-position: 0px 0px; }
  100% { background-position: 30px 0px; } }
/* inline */
:root { --wp-block-synced-color: #7a00df; --wp-block-synced-color--rgb: 122,0,223; --wp-bound-block-color: var(--wp-block-synced-color); --wp-editor-canvas-background: #ddd; --wp-admin-theme-color: #007cba; --wp-admin-theme-color--rgb: 0,124,186; --wp-admin-theme-color-darker-10: #006ba1; --wp-admin-theme-color-darker-10--rgb: 0,107,160.5; --wp-admin-theme-color-darker-20: #005a87; --wp-admin-theme-color-darker-20--rgb: 0,90,135; --wp-admin-border-width-focus: 2px; }
@media (min-resolution: 192dpi) {
  :root { --wp-admin-border-width-focus: 1.5px; }
}
:root { --wp--preset--font-size--normal: 16px; --wp--preset--font-size--huge: 42px; }
html :where(.has-border-color) { border-style: solid; }
html :where([style^="border-color"], [style*=";border-color"], [style*="; border-color"]) { border-style: solid; }
html :where([style^="border-top-color"], [style*=";border-top-color"], [style*="; border-top-color"]) { border-top-style: solid; }
html :where([style^="border-right-color"], [style*=";border-right-color"], [style*="; border-right-color"]) { border-right-style: solid; }
html :where([style^="border-bottom-color"], [style*=";border-bottom-color"], [style*="; border-bottom-color"]) { border-bottom-style: solid; }
html :where([style^="border-left-color"], [style*=";border-left-color"], [style*="; border-left-color"]) { border-left-style: solid; }
html :where([style^="border-width"], [style*=";border-width"], [style*="; border-width"]) { border-style: solid; }
html :where([style^="border-top-width"], [style*=";border-top-width"], [style*="; border-top-width"]) { border-top-style: solid; }
html :where([style^="border-right-width"], [style*=";border-right-width"], [style*="; border-right-width"]) { border-right-style: solid; }
html :where([style^="border-bottom-width"], [style*=";border-bottom-width"], [style*="; border-bottom-width"]) { border-bottom-style: solid; }
html :where([style^="border-left-width"], [style*=";border-left-width"], [style*="; border-left-width"]) { border-left-style: solid; }
html :where(img[class*="wp-image-"]) { height: auto; max-width: 100%; }
:where(figure) { margin: 0px 0px 1em; }
html :where(.is-position-sticky) { --wp-admin--admin-bar--position-offset: var(--wp-admin--admin-bar--height,0px); }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container .wpforms-error-container, .wpforms-container .wpforms-error-noscript { color: rgb(214, 54, 55); padding: 10px 0px 8px; font-weight: 700; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container .wpforms-recaptcha-container { padding: 0px; clear: both; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container { margin-bottom: 26px; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container .wpforms-form * { word-break: break-word; box-sizing: border-box; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container .wpforms-form .wpforms-field-label, .wpforms-container .wpforms-form .wpforms-field-sublabel, .wpforms-container .wpforms-form .wpforms-field-description, .wpforms-container .wpforms-form textarea, .wpforms-container .wpforms-form li, .wpforms-container .wpforms-form th { hyphens: auto; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container .wpforms-title { font-size: 24px; font-weight: 700; margin: 0px 0px 10px; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container .wpforms-submit-container { clear: both; position: relative; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container .wpforms-submit-spinner, .wpforms-container .wpforms-page-button-spinner { margin-inline-start: 15px; display: inline-block; vertical-align: middle; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container input.wpforms-field-medium, .wpforms-container select.wpforms-field-medium, .wpforms-container .wpforms-field-row.wpforms-field-medium, .wp-core-ui div.wpforms-container input.wpforms-field-medium, .wp-core-ui div.wpforms-container select.wpforms-field-medium, .wp-core-ui div.wpforms-container .wpforms-field-row.wpforms-field-medium { max-width: 60%; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container .wpforms-field, .wp-core-ui div.wpforms-container .wpforms-field { padding: 15px 0px; position: relative; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container .wpforms-field-label, .wp-core-ui div.wpforms-container .wpforms-field-label { display: block; font-weight: 700; font-style: normal; word-break: break-word; overflow-wrap: break-word; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container .wpforms-field-label.wpforms-label-hide, .wpforms-container .wpforms-field-sublabel.wpforms-sublabel-hide, .wp-core-ui div.wpforms-container .wpforms-field-label.wpforms-label-hide, .wp-core-ui div.wpforms-container .wpforms-field-sublabel.wpforms-sublabel-hide { position: absolute; clip: rect(0px, 0px, 0px, 0px); width: 1px; height: 1px; margin: -1px; overflow: hidden; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container .wpforms-required-label, .wp-core-ui div.wpforms-container .wpforms-required-label { color: var(--wpforms-label-error-color); font-weight: normal; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container input[type="date"], .wpforms-container input[type="datetime"], .wpforms-container input[type="datetime-local"], .wpforms-container input[type="email"], .wpforms-container input[type="month"], .wpforms-container input[type="number"], .wpforms-container input[type="password"], .wpforms-container input[type="range"], .wpforms-container input[type="search"], .wpforms-container input[type="tel"], .wpforms-container input[type="text"], .wpforms-container input[type="time"], .wpforms-container input[type="url"], .wpforms-container input[type="week"], .wpforms-container select, .wpforms-container textarea, .wp-core-ui div.wpforms-container input[type="date"], .wp-core-ui div.wpforms-container input[type="datetime"], .wp-core-ui div.wpforms-container input[type="datetime-local"], .wp-core-ui div.wpforms-container input[type="email"], .wp-core-ui div.wpforms-container input[type="month"], .wp-core-ui div.wpforms-container input[type="number"], .wp-core-ui div.wpforms-container input[type="password"], .wp-core-ui div.wpforms-container input[type="range"], .wp-core-ui div.wpforms-container input[type="search"], .wp-core-ui div.wpforms-container input[type="tel"], .wp-core-ui div.wpforms-container input[type="text"], .wp-core-ui div.wpforms-container input[type="time"], .wp-core-ui div.wpforms-container input[type="url"], .wp-core-ui div.wpforms-container input[type="week"], .wp-core-ui div.wpforms-container select, .wp-core-ui div.wpforms-container textarea { display: block; width: 100%; box-sizing: border-box; font-family: inherit; font-style: normal; font-weight: 400; margin: 0px; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container textarea, .wp-core-ui div.wpforms-container textarea { resize: vertical; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container .wpforms-field { float: none; clear: both; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container textarea { line-height: 1.3; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.wpforms-container textarea.wpforms-field-medium { height: 120px; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full, div.wpforms-container-full * { background: none; border: 0px; border-radius: 0px; float: none; font-size: 100%; height: auto; letter-spacing: normal; outline: none; position: static; text-indent: 0px; text-shadow: none; text-transform: none; width: auto; visibility: visible; overflow: visible; margin: 0px; padding: 0px; box-sizing: border-box; box-shadow: none; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full img, div.wpforms-container-full video, div.wpforms-container-full canvas, div.wpforms-container-full svg { overflow: clip; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full { margin-left: auto; margin-right: auto; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full:not(:empty) { margin: 24px auto; padding: var(--wpforms-container-padding); background-clip: padding-box; background-color: var(--wpforms-background-color); background-image: var(--wpforms-background-url); background-position: var(--wpforms-background-position); background-repeat: var(--wpforms-background-repeat); background-size: var(--wpforms-background-size); border-style: var(--wpforms-container-border-style); border-width: var(--wpforms-container-border-width); border-color: var(--wpforms-container-border-color); border-radius: var(--wpforms-container-border-radius); box-shadow: var(--wpforms-container-shadow-size-box-shadow); }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full input, div.wpforms-container-full label, div.wpforms-container-full select, div.wpforms-container-full button, div.wpforms-container-full textarea { margin: 0px; border: 0px; padding: 0px; vertical-align: middle; background: none; height: auto; box-sizing: border-box; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full .wpforms-form .wpforms-head-container { margin: 0px; padding: 0px 0px 35px; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full .wpforms-form .wpforms-title { font-weight: 700; line-height: 29px; color: var(--wpforms-label-color); }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full .wpforms-form .wpforms-submit-container { margin-top: var(--wpforms-button-size-margin-top); }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full .wpforms-form .wpforms-submit-spinner, div.wpforms-container-full .wpforms-form .wpforms-page-button-spinner { max-width: 26px; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full .wpforms-field-label, .wp-core-ui div.wpforms-container-full .wpforms-field-label { margin: 0 0 var(--wpforms-field-size-input-spacing) 0; padding: 0px; font-size: var(--wpforms-label-size-font-size); line-height: var(--wpforms-label-size-line-height); color: var(--wpforms-label-color); }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full .wpforms-required-label, .wp-core-ui div.wpforms-container-full .wpforms-required-label { font-weight: 400; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full input[type="date"], div.wpforms-container-full input[type="datetime"], div.wpforms-container-full input[type="datetime-local"], div.wpforms-container-full input[type="email"], div.wpforms-container-full input[type="month"], div.wpforms-container-full input[type="number"], div.wpforms-container-full input[type="password"], div.wpforms-container-full input[type="range"], div.wpforms-container-full input[type="search"], div.wpforms-container-full input[type="tel"], div.wpforms-container-full input[type="text"], div.wpforms-container-full input[type="time"], div.wpforms-container-full input[type="url"], div.wpforms-container-full input[type="week"], div.wpforms-container-full select, div.wpforms-container-full textarea, .wp-core-ui div.wpforms-container-full input[type="date"], .wp-core-ui div.wpforms-container-full input[type="datetime"], .wp-core-ui div.wpforms-container-full input[type="datetime-local"], .wp-core-ui div.wpforms-container-full input[type="email"], .wp-core-ui div.wpforms-container-full input[type="month"], .wp-core-ui div.wpforms-container-full input[type="number"], .wp-core-ui div.wpforms-container-full input[type="password"], .wp-core-ui div.wpforms-container-full input[type="range"], .wp-core-ui div.wpforms-container-full input[type="search"], .wp-core-ui div.wpforms-container-full input[type="tel"], .wp-core-ui div.wpforms-container-full input[type="text"], .wp-core-ui div.wpforms-container-full input[type="time"], .wp-core-ui div.wpforms-container-full input[type="url"], .wp-core-ui div.wpforms-container-full input[type="week"], .wp-core-ui div.wpforms-container-full select, .wp-core-ui div.wpforms-container-full textarea { background-color: var(--wpforms-field-background-color); background-clip: padding-box; border-radius: var(--wpforms-field-border-radius); color: var(--wpforms-field-text-color); border-width: var(--wpforms-field-border-size); border-style: var(--wpforms-field-border-style); border-color: var(--wpforms-field-border-color); padding: 0 var(--wpforms-field-size-padding-h); font-size: var(--wpforms-field-size-font-size); line-height: 100%; box-shadow: none; transition: border 0.15s, box-shadow 0.15s; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full input[type="date"]:focus, div.wpforms-container-full input[type="datetime"]:focus, div.wpforms-container-full input[type="datetime-local"]:focus, div.wpforms-container-full input[type="email"]:focus, div.wpforms-container-full input[type="month"]:focus, div.wpforms-container-full input[type="number"]:focus, div.wpforms-container-full input[type="password"]:focus, div.wpforms-container-full input[type="range"]:focus, div.wpforms-container-full input[type="search"]:focus, div.wpforms-container-full input[type="tel"]:focus, div.wpforms-container-full input[type="text"]:focus, div.wpforms-container-full input[type="time"]:focus, div.wpforms-container-full input[type="url"]:focus, div.wpforms-container-full input[type="week"]:focus, div.wpforms-container-full select:focus, div.wpforms-container-full textarea:focus, .wp-core-ui div.wpforms-container-full input[type="date"]:focus, .wp-core-ui div.wpforms-container-full input[type="datetime"]:focus, .wp-core-ui div.wpforms-container-full input[type="datetime-local"]:focus, .wp-core-ui div.wpforms-container-full input[type="email"]:focus, .wp-core-ui div.wpforms-container-full input[type="month"]:focus, .wp-core-ui div.wpforms-container-full input[type="number"]:focus, .wp-core-ui div.wpforms-container-full input[type="password"]:focus, .wp-core-ui div.wpforms-container-full input[type="range"]:focus, .wp-core-ui div.wpforms-container-full input[type="search"]:focus, .wp-core-ui div.wpforms-container-full input[type="tel"]:focus, .wp-core-ui div.wpforms-container-full input[type="text"]:focus, .wp-core-ui div.wpforms-container-full input[type="time"]:focus, .wp-core-ui div.wpforms-container-full input[type="url"]:focus, .wp-core-ui div.wpforms-container-full input[type="week"]:focus, .wp-core-ui div.wpforms-container-full select:focus, .wp-core-ui div.wpforms-container-full textarea:focus { border-width: var(--wpforms-field-border-size, 0); border-style: solid; border-color: var(--wpforms-button-background-color); box-shadow: 0 0 0 1px var(--wpforms-button-background-color),0px 1px 2px rgba(0,0,0,.15); outline: none; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full input[type="date"]:focus:invalid, div.wpforms-container-full input[type="datetime"]:focus:invalid, div.wpforms-container-full input[type="datetime-local"]:focus:invalid, div.wpforms-container-full input[type="email"]:focus:invalid, div.wpforms-container-full input[type="month"]:focus:invalid, div.wpforms-container-full input[type="number"]:focus:invalid, div.wpforms-container-full input[type="password"]:focus:invalid, div.wpforms-container-full input[type="range"]:focus:invalid, div.wpforms-container-full input[type="search"]:focus:invalid, div.wpforms-container-full input[type="tel"]:focus:invalid, div.wpforms-container-full input[type="text"]:focus:invalid, div.wpforms-container-full input[type="time"]:focus:invalid, div.wpforms-container-full input[type="url"]:focus:invalid, div.wpforms-container-full input[type="week"]:focus:invalid, div.wpforms-container-full select:focus:invalid, div.wpforms-container-full textarea:focus:invalid, .wp-core-ui div.wpforms-container-full input[type="date"]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type="datetime"]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type="datetime-local"]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type="email"]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type="month"]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type="number"]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type="password"]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type="range"]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type="search"]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type="tel"]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type="text"]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type="time"]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type="url"]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type="week"]:focus:invalid, .wp-core-ui div.wpforms-container-full select:focus:invalid, .wp-core-ui div.wpforms-container-full textarea:focus:invalid { border-width: var(--wpforms-field-border-size, 0); border-style: solid; border-color: var(--wpforms-button-background-color); box-shadow: 0 0 0 1px var(--wpforms-button-background-color),0px 1px 2px rgba(0,0,0,.15); outline: none; color: var(--wpforms-field-text-color); }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full input[type="date"]::-webkit-input-placeholder, div.wpforms-container-full input[type="datetime"]::-webkit-input-placeholder, div.wpforms-container-full input[type="datetime-local"]::-webkit-input-placeholder, div.wpforms-container-full input[type="email"]::-webkit-input-placeholder, div.wpforms-container-full input[type="month"]::-webkit-input-placeholder, div.wpforms-container-full input[type="number"]::-webkit-input-placeholder, div.wpforms-container-full input[type="password"]::-webkit-input-placeholder, div.wpforms-container-full input[type="range"]::-webkit-input-placeholder, div.wpforms-container-full input[type="search"]::-webkit-input-placeholder, div.wpforms-container-full input[type="tel"]::-webkit-input-placeholder, div.wpforms-container-full input[type="text"]::-webkit-input-placeholder, div.wpforms-container-full input[type="time"]::-webkit-input-placeholder, div.wpforms-container-full input[type="url"]::-webkit-input-placeholder, div.wpforms-container-full input[type="week"]::-webkit-input-placeholder, div.wpforms-container-full select::-webkit-input-placeholder, div.wpforms-container-full textarea::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full input[type="date"]::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full input[type="datetime"]::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full input[type="datetime-local"]::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full input[type="email"]::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full input[type="month"]::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full input[type="number"]::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full input[type="password"]::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full input[type="range"]::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full input[type="search"]::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full input[type="tel"]::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full input[type="text"]::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full input[type="time"]::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full input[type="url"]::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full input[type="week"]::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full select::-webkit-input-placeholder, .wp-core-ui div.wpforms-container-full textarea::-webkit-input-placeholder { color: var(--wpforms-field-text-color); opacity: 0.5; pointer-events: none; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full textarea, .wp-core-ui div.wpforms-container-full textarea { width: 100%; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full input, div.wpforms-container-full select, .wp-core-ui div.wpforms-container-full input, .wp-core-ui div.wpforms-container-full select { height: var(--wpforms-field-size-input-height); }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full input[type="submit"], div.wpforms-container-full button[type="submit"], div.wpforms-container-full .wpforms-page-button, .wp-core-ui div.wpforms-container-full input[type="submit"], .wp-core-ui div.wpforms-container-full button[type="submit"], .wp-core-ui div.wpforms-container-full .wpforms-page-button { height: var(--wpforms-button-size-height); background-color: var(--wpforms-button-background-color-alt, var(--wpforms-button-background-color)); border-radius: var(--wpforms-button-border-radius); border-style: var(--wpforms-button-border-style); border-color: var(--wpforms-button-border-color); border-width: var(--wpforms-button-border-size); box-shadow: none; color: var(--wpforms-button-text-color); padding: 0 var(--wpforms-button-size-padding-h); font-family: inherit; font-weight: 500; font-size: var(--wpforms-button-size-font-size); line-height: 100%; cursor: pointer; transition: 0.15s ease-in-out; position: relative; text-decoration: none; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full input[type="submit"]:hover, div.wpforms-container-full input[type="submit"]:active, div.wpforms-container-full button[type="submit"]:hover, div.wpforms-container-full button[type="submit"]:active, div.wpforms-container-full .wpforms-page-button:hover, div.wpforms-container-full .wpforms-page-button:active, .wp-core-ui div.wpforms-container-full input[type="submit"]:hover, .wp-core-ui div.wpforms-container-full input[type="submit"]:active, .wp-core-ui div.wpforms-container-full button[type="submit"]:hover, .wp-core-ui div.wpforms-container-full button[type="submit"]:active, .wp-core-ui div.wpforms-container-full .wpforms-page-button:hover, .wp-core-ui div.wpforms-container-full .wpforms-page-button:active { background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)),var(--wpforms-button-background-color-alt, var(--wpforms-button-background-color)); }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full input[type="submit"]:focus, div.wpforms-container-full button[type="submit"]:focus, div.wpforms-container-full .wpforms-page-button:focus, .wp-core-ui div.wpforms-container-full input[type="submit"]:focus, .wp-core-ui div.wpforms-container-full button[type="submit"]:focus, .wp-core-ui div.wpforms-container-full .wpforms-page-button:focus { outline: none; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full input[type="submit"]:focus::after, div.wpforms-container-full button[type="submit"]:focus::after, div.wpforms-container-full .wpforms-page-button:focus::after, .wp-core-ui div.wpforms-container-full input[type="submit"]:focus::after, .wp-core-ui div.wpforms-container-full button[type="submit"]:focus::after, .wp-core-ui div.wpforms-container-full .wpforms-page-button:focus::after { content: ""; position: absolute; border: 2px solid var(--wpforms-button-background-color); border-radius: calc(var(--wpforms-button-border-radius) + 2px); top: calc(-4px - var(--wpforms-button-border-size, 1px)); right: calc(-4px - var(--wpforms-button-border-size, 1px)); bottom: calc(-4px - var(--wpforms-button-border-size, 1px)); left: calc(-4px - var(--wpforms-button-border-size, 1px)); }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full input[type="submit"]:disabled, div.wpforms-container-full input[type="submit"]:disabled:hover, div.wpforms-container-full input[type="submit"].wpforms-disabled, div.wpforms-container-full button[type="submit"]:disabled, div.wpforms-container-full button[type="submit"]:disabled:hover, div.wpforms-container-full button[type="submit"].wpforms-disabled, div.wpforms-container-full .wpforms-page-button:disabled, div.wpforms-container-full .wpforms-page-button:disabled:hover, div.wpforms-container-full .wpforms-page-button.wpforms-disabled, .wp-core-ui div.wpforms-container-full input[type="submit"]:disabled, .wp-core-ui div.wpforms-container-full input[type="submit"]:disabled:hover, .wp-core-ui div.wpforms-container-full input[type="submit"].wpforms-disabled, .wp-core-ui div.wpforms-container-full button[type="submit"]:disabled, .wp-core-ui div.wpforms-container-full button[type="submit"]:disabled:hover, .wp-core-ui div.wpforms-container-full button[type="submit"].wpforms-disabled, .wp-core-ui div.wpforms-container-full .wpforms-page-button:disabled, .wp-core-ui div.wpforms-container-full .wpforms-page-button:disabled:hover, .wp-core-ui div.wpforms-container-full .wpforms-page-button.wpforms-disabled { background-color: var(--wpforms-button-background-color-alt, var(--wpforms-button-background-color)); cursor: default; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="date"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="datetime"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="datetime-local"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="email"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="month"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="number"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="password"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="range"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="search"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="tel"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="text"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="time"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="url"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="week"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) select:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) textarea:disabled { cursor: not-allowed; opacity: 0.5; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="submit"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="submit"]:disabled:hover, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) input[type="submit"].wpforms-disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) button[type="submit"]:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) button[type="submit"]:disabled:hover, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) button[type="submit"].wpforms-disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) .wpforms-page-button:disabled, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) .wpforms-page-button:disabled:hover, div.wpforms-container-full:not(.wpforms-gutenberg-form-selector) .wpforms-page-button.wpforms-disabled { opacity: 0.5; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full .wpforms-form textarea { line-height: 1.3; min-height: var(--wpforms-field-size-input-height); padding: var(--wpforms-field-size-padding-h); resize: vertical; }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full .wpforms-form textarea.wpforms-field-medium { height: calc(var(--wpforms-field-size-input-height)*2.8); }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
div.wpforms-container-full .wpforms-form textarea:focus { color: var(--wpforms-field-text-color); }
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
:root { --wpforms-field-border-radius: 3px; --wpforms-field-border-style: solid; --wpforms-field-border-size: 1px; --wpforms-field-background-color: #ffffff; --wpforms-field-border-color: rgba( 0, 0, 0, 0.25 ); --wpforms-field-border-color-spare: rgba( 0, 0, 0, 0.25 ); --wpforms-field-text-color: rgba( 0, 0, 0, 0.7 ); --wpforms-field-menu-color: #ffffff; --wpforms-label-color: rgba( 0, 0, 0, 0.85 ); --wpforms-label-sublabel-color: rgba( 0, 0, 0, 0.55 ); --wpforms-label-error-color: #d63637; --wpforms-button-border-radius: 3px; --wpforms-button-border-style: none; --wpforms-button-border-size: 1px; --wpforms-button-background-color: #066aab; --wpforms-button-border-color: #066aab; --wpforms-button-text-color: #ffffff; --wpforms-page-break-color: #066aab; --wpforms-background-image: none; --wpforms-background-position: center center; --wpforms-background-repeat: no-repeat; --wpforms-background-size: cover; --wpforms-background-width: 100px; --wpforms-background-height: 100px; --wpforms-background-color: rgba( 0, 0, 0, 0 ); --wpforms-background-url: none; --wpforms-container-padding: 0px; --wpforms-container-border-style: none; --wpforms-container-border-width: 1px; --wpforms-container-border-color: #000000; --wpforms-container-border-radius: 3px; --wpforms-field-size-input-height: 43px; --wpforms-field-size-input-spacing: 15px; --wpforms-field-size-font-size: 16px; --wpforms-field-size-line-height: 19px; --wpforms-field-size-padding-h: 14px; --wpforms-field-size-checkbox-size: 16px; --wpforms-field-size-sublabel-spacing: 5px; --wpforms-field-size-icon-size: 1; --wpforms-label-size-font-size: 16px; --wpforms-label-size-line-height: 19px; --wpforms-label-size-sublabel-font-size: 14px; --wpforms-label-size-sublabel-line-height: 17px; --wpforms-button-size-font-size: 17px; --wpforms-button-size-height: 41px; --wpforms-button-size-padding-h: 15px; --wpforms-button-size-margin-top: 10px; --wpforms-container-shadow-size-box-shadow: none; }
@media screen and (max-width: 600px) {
  html :where(.is-position-sticky) { --wp-admin--admin-bar--position-offset: 0px; }
}
/* inline */
[data-columns]::before { visibility: hidden; position: absolute; font-size: 1px; }
/* inline */
#page-container { padding-top: 0px !important; }
/* inline */
.widget_categories ul li:hover a, .rpwwt-widget ul li:hover a, .liberty_portfolio .et_pb_filterable_portfolio .et_pb_portfolio_filters li a.active, .liberty-post-meta .et-pb-icon, .liberty_date .libertydate, .owl-theme.liberty-person-carousel .owl-nav [class*="owl-"]:hover, .liberty_contact_form .et_pb_contact_form_container { color: rgb(175, 164, 110); }
.liberty_bar_counters .et_pb_counter_amount, .liberty_team .et_pb_member_social_links a, .liberty-person-carousel .liberty-next .et-pb-icon, .liberty-person-carousel .liberty-prev .et-pb-icon, .liberty_social_follow li a.icon:hover::before, .liberty_footer_menu:hover .et_pb_main_blurb_image .et-pb-icon { color: rgb(175, 164, 110) !important; }
/* サービス一覧ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
.liberty_portfolio .et_pb_filterable_portfolio .et_pb_portfolio_filters li a.active, .liberty_blurb_one::after { border-bottom-color: rgb(175, 164, 110) !important; }
.liberty_social_follow li a.icon:hover, .liberty_team .et_pb_member_social_links li, .liberty_team .et_pb_member_social_links li:hover { border-color: rgb(175, 164, 110); }
.liberty_year, .liberty_footer_menu .et_pb_blurb_content a:hover { color: rgb(27, 33, 58); }
#mobile_menu { min-height: 100vh; top: 0px; border-top-width: medium; border-top-style: none; border-top-color: currentcolor; padding-top: 100px; z-index: 9998; display: block !important; }
/* スマホのメニューが画面より長いとき、メニューの中でスクロールできるように（ヘッダーが固定のため、下のほうの Contact・言語切り替えに指が届かなかった。2026-09-30 言語切り替えの表示の直しのときに見つけた） */
#mobile_menu { max-height: 100vh; max-height: 100dvh; overscroll-behavior: contain; }
.mobile_nav.closed #mobile_menu { transform: rotateY(90deg); transform-origin: right center; background: rgb(255, 255, 255); transition: 0.8s ease-in-out !important; }
.mobile_nav.opened #mobile_menu { transform: rotateY(0deg); transform-origin: right center; background: rgb(175, 164, 110); transition: 0.8s ease-in-out; }
.mobile_nav.opened .mobile_menu_bar::before { content: "M"; color: rgb(255, 255, 255); }
.et_mobile_menu li a { color: rgb(255, 255, 255); }
.et_mobile_menu { background-color: rgba(0, 8, 48, 0.85) !important; }
.et_mobile_menu li a { color: rgb(255, 255, 255); }
@media (max-width: 980px) {
  .et_header_style_split .mobile_menu_bar, .et_header_style_left .mobile_menu_bar { z-index: 9999; }
  #main-header .container.clearfix.et_menu_container { width: 100%; }
  .logo_container { padding-left: 30px; }
  #et-top-navigation { padding-right: 30px; }
  @media (min-width: 341px) {
    #mobile_menu { width: 340px; margin-left: calc(100% - 340px); }
  }
  @media (max-width: 340px) {
    #mobile_menu { width: 100%; margin-left: 0px; }
  }
}

/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
@media (min-width: 768px) and (max-width: 980px) {
  .et_pb_column .et_pb_team_member_image { width: auto; margin: 0px 30px 12px 0px; text-align: left; }
}
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
@media (min-width: 768px) {
  .et_pb_team_member_description { -webkit-box-flex: 1; flex: 1 1 0%; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  .et_pb_team_member { display: flex; -webkit-box-align: start; align-items: flex-start; }
}
/* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
@media only screen and (max-width: 600px) {
  div.wpforms-container .wpforms-form .wpforms-field > * { max-width: 100%; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  div.wpforms-container .wpforms-form .wpforms-field { padding-right: 1px; padding-left: 1px; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  div.wpforms-container .wpforms-form .wpforms-field input.wpforms-field-small, div.wpforms-container .wpforms-form .wpforms-field input.wpforms-field-medium, div.wpforms-container .wpforms-form .wpforms-field input.wpforms-field-large, div.wpforms-container .wpforms-form .wpforms-field select.wpforms-field-small, div.wpforms-container .wpforms-form .wpforms-field select.wpforms-field-medium, div.wpforms-container .wpforms-form .wpforms-field select.wpforms-field-large, div.wpforms-container .wpforms-form .wpforms-field .wpforms-field-row.wpforms-field-small, div.wpforms-container .wpforms-form .wpforms-field .wpforms-field-row.wpforms-field-medium, div.wpforms-container .wpforms-form .wpforms-field .wpforms-field-row.wpforms-field-large { max-width: 100%; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  div.wpforms-container .wpforms-form .wpforms-field:not(.wpforms-field-phone):not(.wpforms-field-select-style-modern):not(.wpforms-field-radio):not(.wpforms-field-checkbox):not(.wpforms-field-layout):not(.wpforms-field-repeater):not(.wpforms-field-ranking) { overflow-x: hidden; }
  /* 地域ページで使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-25） */
  div.wpforms-container-full:not(:empty) { padding: min(var(--wpforms-container-padding),25px); }
}
/* 残りのページ（Contactなど）で使うルール（本番の同じCSSから、同じ順番の位置に追加。2026-09-26） */
@media (max-width: 767px) {
  .et_pb_module.et_pb_text_align_left-phone { text-align: left; }
}
/* スマホ・タブレットの画面の下にいつも見える電話の帯（部品 MobileCallBar。共通の枠 LegacyLayout が全ページに出す）。
   2026-09-30 オーナー決定（決めることボード P06）。パソコン（981px 以上）は出さない（ヘッダーの電話のボタンがある）。
   色・字は今ある値だけ：帯＝紺 #1b213a、ボタン＝金の四角に紺の大文字 16px（DESIGN.md「ボタン」）。押す所の高さは 44px 以上。
   ヘッダー（z-index 99999）より下に置くので、スマホのメニューを開いたときはメニューが上に重なる。ページの一番下が帯に隠れないよう、同じ高さの余白を足す */
.pt_callbar { display: none; }
@media (max-width: 980px) {
  .pt_callbar { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9998; background: #1b213a; padding: 8px 16px calc(8px + env(safe-area-inset-bottom, 0px)); }
  .pt_callbar_btn { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; column-gap: 0.5em; min-height: 44px; padding: 4px 12px; box-sizing: border-box; background: #afa46e; color: #0b1024 !important; font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif; font-size: 16px; font-weight: 500; line-height: 1.3; letter-spacing: 1px; text-transform: uppercase; text-decoration: none; text-align: center; }
  .pt_callbar_num { white-space: nowrap; }
  /* 2つ目のボタン（2026-09-30 ボード P11・P06 のメモ「Call or Text」）：英語・中国語＝Text（SMS。紺の地に金の枠・白い文字）、日本語＝LINE、韓国語＝カカオ。
     LINE・カカオの色は ChatContacts と同じ（LINE＝薄い緑に紺の文字、カカオ＝茶色に黄色の文字。オーナーが P11 で決めた、ChatContacts の外で使う例外）。HTML は全言語同じで、ここで見せ分ける */
  .pt_callbar_row { display: flex; gap: 8px; align-items: stretch; }
  .pt_callbar_row .pt_callbar_btn { flex: 1 1 auto; min-width: 0; }
  .pt_callbar_alt { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 4px 14px; box-sizing: border-box; font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif; font-size: 16px; font-weight: 500; line-height: 1.3; letter-spacing: 1px; text-transform: uppercase; text-decoration: none; }
  .pt_callbar_sms { border: 2px solid #afa46e; color: #ffffff !important; }
  .pt_callbar_line { background: rgb(213, 243, 191); color: #0b1024 !important; }
  .pt_callbar_kakao { background: rgb(76, 63, 66); color: rgb(253, 242, 87) !important; text-transform: none; }
  .pt_callbar_line, .pt_callbar_kakao { display: none; }
  html[lang="ja"] .pt_callbar_sms, html[lang^="ko"] .pt_callbar_sms { display: none; }
  html[lang="ja"] .pt_callbar_line, html[lang^="ko"] .pt_callbar_kakao { display: flex; }
  /* スマホのメニューを開いている間は隠す（メニューの地が半透明で、帯が透けて最後の項目に重なるため） */
  body:has(.mobile_nav.opened) .pt_callbar { display: none; }
  #page-container { padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)); } /* 帯は1行で60px、狭いスマホ・韓国語で電話のボタンが2行になると66px */
}
@media print { .pt_callbar { display: none !important; } }

/* 「この言語でも読めます」の帯（部品 LangSuggest。共通の枠 LegacyLayout が全ページに置く。2026-10-02 決めることボード W04）。
   ブラウザの言語に合う言語版があるときだけ、スクリプトが出す。画面の一番下（スマホ・タブレットは電話の帯のすぐ上）。
   色・字は今ある値だけ：帯＝紺 #1b213a・上に金の線 2px（年表の線）、文字＝白 16px、ボタン＝金の四角に紺の文字（電話の帯と同じ）。押す所は 44px 以上。
   帯が出ている間は、キーボードで選んだ所が帯に隠れないよう scroll-padding の下を帯の分だけ足す（parts.css の 76px と同じ考え） */
.pt_langsug { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9997; background: #1b213a; border-top: 2px solid #afa46e; }
.pt_langsug[hidden] { display: none; }
.pt_langsug_in { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; width: 80%; max-width: 1080px; margin: 0 auto; padding: 10px 52px calc(10px + env(safe-area-inset-bottom, 0px)) 0; box-sizing: border-box; }
.pt_langsug_msg { flex: 1 1 160px; min-width: 0; margin: 0; padding: 0; color: #ffffff; font-size: 16px; line-height: 1.5; }
.pt_langsug_go { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 16px; box-sizing: border-box; background: #afa46e; color: #0b1024 !important; font-size: 16px; font-weight: 500; line-height: 1.3; text-decoration: none; }
.pt_langsug_x { position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0; background: transparent; border: 0; color: #ffffff; font-size: 26px; line-height: 1; cursor: pointer; }
@media (max-width: 980px) {
  .pt_langsug { bottom: calc(60px + env(safe-area-inset-bottom, 0px)); }
  .pt_langsug_in { width: auto; padding: 8px 52px 8px 16px; gap: 8px 12px; }
  .pt_langsug_x { right: 4px; }
  body:has(.mobile_nav.opened) .pt_langsug { display: none; }
}
html:has(.pt_langsug:not([hidden])) { scroll-padding-bottom: 80px; }
@media (max-width: 980px) { html:has(.pt_langsug:not([hidden])) { scroll-padding-bottom: 140px; } }
@media print { .pt_langsug { display: none !important; } }

/* 問い合わせフォームの結果の文と、ロボットだけが書く見えない欄（site.js の 10。2026-09-30 決めることボード P03）。
   文字は紺（見出しと同じ #0b1024）。フォームはどれも白・薄いグレーの地の上で、まわりの金の文字を受け継ぐと読みにくかった（明るさの差が基準に届かない） */
.pt_form_status { clear: both; float: none; width: 100%; margin: 12px 0 0; padding: 0; font-weight: 600; color: #0b1024; }
.pt_form_status:empty { display: none; }
.pt_hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none; }
