/**
 * フッター情報ブロック スタイル
 */

/* Base Styles */
.fg-footer-info {
    width: 100%;
}

.fg-footer-info__inner {
    display: block;
}

/* Logo */
.fg-footer-info__logo {
    display: block;
    margin-bottom: 1rem;
}

.fg-footer-info__logo a {
    display: inline-block;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.fg-footer-info__logo a:hover {
    opacity: 0.8;
}

.fg-footer-info__logo-img {
    min-width: 250px;
    max-width: 250px;
    width: 250px;
    height: auto;
    display: block;
}

/* エディターでのロゴ表示を確実に */
.editor-styles-wrapper .fg-footer-info__logo-img {
    display: block !important;
    min-width: 250px !important;
    max-width: 250px !important;
    width: 250px !important;
    height: auto !important;
}

/* Address Block (Postal Code + Address) */
.fg-footer-info__address-block {
    display: block;
    font-size: 0.9rem;
    line-height: 1.6;
    color: inherit;
    margin-bottom: 0.5rem;
}

/* Contact Info (TEL & FAX) */
.fg-footer-info__contact-info {
    display: block;
    font-size: 0.9rem;
    line-height: 1.6;
    color: inherit;
    margin-bottom: 0.5rem;
}

.fg-footer-info__phone,
.fg-footer-info__fax {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.fg-footer-info__phone-label,
.fg-footer-info__fax-label {
    font-weight: 600;
}

.fg-footer-info__phone-link {
    color: inherit;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.fg-footer-info__phone-link:hover {
    opacity: 0.7;
    text-decoration: underline;
}

.fg-footer-info__fax-text {
    color: inherit;
}

.fg-footer-info__separator {
    display: inline-block;
}

/* Hours */
.fg-footer-info__hours {
    display: block;
    font-size: 0.9rem;
    line-height: 1.6;
    color: inherit;
    margin-bottom: 0.5rem;
}

.fg-footer-info__hours-label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.fg-footer-info__hours-text {
    display: block;
}

/* SNS Links */
.fg-footer-info__sns {
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}

.fg-footer-info__sns-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.fg-footer-info__sns-item {
    margin: 0;
    padding: 0;
}

.fg-footer-info__sns-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
    border-radius: 4px;
}

.fg-footer-info__sns-icon {
    width: 24px;
    height: 24px;
    display: block;
    transition: all 0.3s ease;
}

/* Brand Colors */
.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--facebook {
    --fg-sns-color: #1877f2;
}

.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--twitter,
.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--x {
    --fg-sns-color: #1da1f2;
}

.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--instagram {
    --fg-sns-color: #e4405f;
}

.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--youtube {
    --fg-sns-color: #ff0000;
}

.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--line {
    --fg-sns-color: #00c300;
}

.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--linkedin {
    --fg-sns-color: #0077b5;
}

.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--tiktok {
    --fg-sns-color: #000000;
}

.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--pinterest {
    --fg-sns-color: #bd081c;
}

/* Custom Color */
.fg-footer-info--sns-color-custom {
    --fg-sns-color: var(--fg-sns-custom-color, #333333);
}

.fg-footer-info--sns-color-custom .fg-footer-info__sns-link {
    --fg-sns-color: var(--fg-sns-custom-color, #333333);
}

/* SNS Design: Simple */
.fg-footer-info--sns-simple .fg-footer-info__sns-link {
    padding: 0;
    background: none;
    border: none;
}

.fg-footer-info--sns-simple .fg-footer-info__sns-link:hover {
    opacity: 0.7;
    transform: scale(1.1);
}

/* Simple design with brand/custom colors */
.fg-footer-info--sns-simple .fg-footer-info__sns-icon {
    filter: none;
}

.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--facebook .fg-footer-info__sns-icon,
.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--twitter .fg-footer-info__sns-icon,
.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--x .fg-footer-info__sns-icon,
.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--instagram .fg-footer-info__sns-icon,
.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--youtube .fg-footer-info__sns-icon,
.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--line .fg-footer-info__sns-icon,
.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--linkedin .fg-footer-info__sns-icon,
.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--tiktok .fg-footer-info__sns-icon,
.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--pinterest .fg-footer-info__sns-icon {
    filter: none;
}

/* Apply color to SVG icons using CSS filters (for simple design) */
.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--facebook .fg-footer-info__sns-icon {
    filter: brightness(0) saturate(100%) invert(27%) sepia(98%) saturate(1352%) hue-rotate(208deg) brightness(97%) contrast(97%);
}

.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--twitter .fg-footer-info__sns-icon,
.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--x .fg-footer-info__sns-icon {
    filter: brightness(0) saturate(100%) invert(54%) sepia(98%) saturate(1352%) hue-rotate(188deg) brightness(97%) contrast(97%);
}

.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--instagram .fg-footer-info__sns-icon {
    filter: brightness(0) saturate(100%) invert(30%) sepia(98%) saturate(1352%) hue-rotate(320deg) brightness(97%) contrast(97%);
}

.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--youtube .fg-footer-info__sns-icon {
    filter: brightness(0) saturate(100%) invert(15%) sepia(98%) saturate(1352%) hue-rotate(0deg) brightness(100%) contrast(100%);
}

.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--line .fg-footer-info__sns-icon {
    filter: brightness(0) saturate(100%) invert(48%) sepia(98%) saturate(1352%) hue-rotate(90deg) brightness(97%) contrast(97%);
}

.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--linkedin .fg-footer-info__sns-icon {
    filter: brightness(0) saturate(100%) invert(38%) sepia(98%) saturate(1352%) hue-rotate(188deg) brightness(97%) contrast(97%);
}

.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--tiktok .fg-footer-info__sns-icon {
    filter: brightness(0);
}

.fg-footer-info--sns-simple.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--pinterest .fg-footer-info__sns-icon {
    filter: brightness(0) saturate(100%) invert(15%) sepia(98%) saturate(1352%) hue-rotate(340deg) brightness(97%) contrast(97%);
}

/* Custom color for simple design - use mask-image to apply custom color */
.fg-footer-info--sns-simple.fg-footer-info--sns-color-custom .fg-footer-info__sns-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.fg-footer-info--sns-simple.fg-footer-info--sns-color-custom .fg-footer-info__sns-icon {
    /* Use the icon itself as a mask and fill with custom color */
    background-color: var(--fg-sns-color, #333333);
    -webkit-mask-image: var(--fg-sns-icon-url);
    mask-image: var(--fg-sns-icon-url);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    /* Hide the original icon image */
    opacity: 0;
    width: 24px;
    height: 24px;
    display: block;
}

/* Show the masked version */
.fg-footer-info--sns-simple.fg-footer-info--sns-color-custom .fg-footer-info__sns-link::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 24px;
    height: 24px;
    background-color: var(--fg-sns-color, #333333);
    -webkit-mask-image: var(--fg-sns-icon-url);
    mask-image: var(--fg-sns-icon-url);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    pointer-events: none;
}

/* SNS Design: Rounded */
.fg-footer-info--sns-rounded .fg-footer-info__sns-link {
    padding: 8px 12px;
    background: rgba(0, 0, 0, 0.05);
    border: none;
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--facebook {
    background: rgba(24, 119, 242, 0.1);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--facebook:hover {
    background: rgba(24, 119, 242, 0.2);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--twitter,
.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--x {
    background: rgba(29, 161, 242, 0.1);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--twitter:hover,
.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--x:hover {
    background: rgba(29, 161, 242, 0.2);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--instagram {
    background: rgba(228, 64, 95, 0.1);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--instagram:hover {
    background: rgba(228, 64, 95, 0.2);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--youtube {
    background: rgba(255, 0, 0, 0.1);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--youtube:hover {
    background: rgba(255, 0, 0, 0.2);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--line {
    background: rgba(0, 195, 0, 0.1);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--line:hover {
    background: rgba(0, 195, 0, 0.2);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--linkedin {
    background: rgba(0, 119, 181, 0.1);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--linkedin:hover {
    background: rgba(0, 119, 181, 0.2);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--tiktok {
    background: rgba(0, 0, 0, 0.1);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--tiktok:hover {
    background: rgba(0, 0, 0, 0.2);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--pinterest {
    background: rgba(189, 8, 28, 0.1);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--pinterest:hover {
    background: rgba(189, 8, 28, 0.2);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-custom .fg-footer-info__sns-link {
    background: color-mix(in srgb, var(--fg-sns-color) 10%, transparent);
}

.fg-footer-info--sns-rounded.fg-footer-info--sns-color-custom .fg-footer-info__sns-link:hover {
    background: color-mix(in srgb, var(--fg-sns-color) 20%, transparent);
    transform: translateY(-2px);
}

/* SNS Design: Circle */
.fg-footer-info--sns-circle .fg-footer-info__sns-link {
    width: 40px;
    height: 40px;
    padding: 0;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 50%;
    border: none;
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--facebook {
    background: rgba(24, 119, 242, 0.1);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--facebook:hover {
    background: rgba(24, 119, 242, 0.2);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--twitter,
.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--x {
    background: rgba(29, 161, 242, 0.1);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--twitter:hover,
.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--x:hover {
    background: rgba(29, 161, 242, 0.2);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--instagram {
    background: rgba(228, 64, 95, 0.1);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--instagram:hover {
    background: rgba(228, 64, 95, 0.2);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--youtube {
    background: rgba(255, 0, 0, 0.1);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--youtube:hover {
    background: rgba(255, 0, 0, 0.2);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--line {
    background: rgba(0, 195, 0, 0.1);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--line:hover {
    background: rgba(0, 195, 0, 0.2);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--linkedin {
    background: rgba(0, 119, 181, 0.1);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--linkedin:hover {
    background: rgba(0, 119, 181, 0.2);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--tiktok {
    background: rgba(0, 0, 0, 0.1);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--tiktok:hover {
    background: rgba(0, 0, 0, 0.2);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--pinterest {
    background: rgba(189, 8, 28, 0.1);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--pinterest:hover {
    background: rgba(189, 8, 28, 0.2);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-custom .fg-footer-info__sns-link {
    background: color-mix(in srgb, var(--fg-sns-color) 10%, transparent);
}

.fg-footer-info--sns-circle.fg-footer-info--sns-color-custom .fg-footer-info__sns-link:hover {
    background: color-mix(in srgb, var(--fg-sns-color) 20%, transparent);
    transform: scale(1.1);
}

.fg-footer-info--sns-circle .fg-footer-info__sns-icon {
    width: 20px;
    height: 20px;
}

/* SNS Design: Outline */
.fg-footer-info--sns-outline .fg-footer-info__sns-link {
    width: 40px;
    height: 40px;
    padding: 0;
    background: transparent;
    border: 2px solid currentColor;
    border-radius: 4px;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--facebook {
    border-color: #1877f2;
    color: #1877f2;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--facebook:hover {
    background: #1877f2;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--twitter,
.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--x {
    border-color: #1da1f2;
    color: #1da1f2;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--twitter:hover,
.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--x:hover {
    background: #1da1f2;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--instagram {
    border-color: #e4405f;
    color: #e4405f;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--instagram:hover {
    background: #e4405f;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--youtube {
    border-color: #ff0000;
    color: #ff0000;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--youtube:hover {
    background: #ff0000;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--line {
    border-color: #00c300;
    color: #00c300;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--line:hover {
    background: #00c300;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--linkedin {
    border-color: #0077b5;
    color: #0077b5;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--linkedin:hover {
    background: #0077b5;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--tiktok {
    border-color: #000000;
    color: #000000;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--tiktok:hover {
    background: #000000;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--pinterest {
    border-color: #bd081c;
    color: #bd081c;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-brand .fg-footer-info__sns-link--pinterest:hover {
    background: #bd081c;
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-custom .fg-footer-info__sns-link {
    border-color: var(--fg-sns-color);
    color: var(--fg-sns-color);
}

.fg-footer-info--sns-outline.fg-footer-info--sns-color-custom .fg-footer-info__sns-link:hover {
    background: var(--fg-sns-color);
    opacity: 0.9;
}

.fg-footer-info--sns-outline .fg-footer-info__sns-link:hover .fg-footer-info__sns-icon {
    filter: invert(1);
}

.fg-footer-info--sns-outline .fg-footer-info__sns-icon {
    width: 20px;
    height: 20px;
}

/* SNS Design: Gradient */
.fg-footer-info--sns-gradient .fg-footer-info__sns-link {
    width: 40px;
    height: 40px;
    padding: 0;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 6px;
    border: none;
}

.fg-footer-info--sns-gradient .fg-footer-info__sns-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.fg-footer-info--sns-gradient .fg-footer-info__sns-link--facebook:hover {
    background: linear-gradient(135deg, #1877f2 0%, #0d5fbf 100%);
}

.fg-footer-info--sns-gradient .fg-footer-info__sns-link--twitter:hover,
.fg-footer-info--sns-gradient .fg-footer-info__sns-link--x:hover {
    background: linear-gradient(135deg, #1da1f2 0%, #0d8bd9 100%);
}

.fg-footer-info--sns-gradient .fg-footer-info__sns-link--instagram:hover {
    background: linear-gradient(135deg, #e4405f 0%, #c13584 100%);
}

.fg-footer-info--sns-gradient .fg-footer-info__sns-link--youtube:hover {
    background: linear-gradient(135deg, #ff0000 0%, #cc0000 100%);
}

.fg-footer-info--sns-gradient .fg-footer-info__sns-link--line:hover {
    background: linear-gradient(135deg, #00c300 0%, #00a000 100%);
}

.fg-footer-info--sns-gradient .fg-footer-info__sns-link--linkedin:hover {
    background: linear-gradient(135deg, #0077b5 0%, #005885 100%);
}

.fg-footer-info--sns-gradient .fg-footer-info__sns-link--tiktok:hover {
    background: linear-gradient(135deg, #000000 0%, #333333 100%);
}

.fg-footer-info--sns-gradient .fg-footer-info__sns-link--pinterest:hover {
    background: linear-gradient(135deg, #bd081c 0%, #8b0614 100%);
}

.fg-footer-info--sns-gradient .fg-footer-info__sns-icon {
    width: 20px;
    height: 20px;
    filter: brightness(0) invert(1);
}

/* Responsive */
@media (min-width: 768px) {
    .fg-footer-info__sns {
        margin-top: 1rem;
    }
}

