@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ============================================
    TOPページカスタマイズ
============================================ */
/* TOPページのコンテンツ上下の余白を削除 */
.top #content {
    padding-top: 0;
    margin-bottom: 0;
}

/* 自作MVのコンテナ */
.p-home-hero {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: center; /* 水平方向の中央揃え */
	height: calc(100vh - 94px);

    /* 背景画像の指定が必要ならここで */
/*     background: url(...) center / cover no-repeat; */
}

/* 中のアイコン調整（必要であれば） */
.p-home-hero img {
    margin-bottom: 2rem; /* アイコン間の余白 */
    width: auto;
    max-width: 200px; /* サイズ制限など */
}

/* 2つ目のアイコンの下マージンは消す */
.p-home-hero img:last-child {
    margin-bottom: 0;
}

/* ============================================
    フルワイドギャラリースライダー
============================================ */

/* フルワイドブロック内のギャラリースライダー */
.swell-block-fullWide .gallery-swiper {
    width: calc(100% + var(--swl-fw_inner_pad, 0px) * 2) !important;
    margin-left: calc(0px - var(--swl-fw_inner_pad, 0px)) !important;
    margin-right: calc(0px - var(--swl-fw_inner_pad, 0px)) !important;
    max-width: none !important;
}

/* 通常のコンテンツ内のギャラリースライダー */
.l-article .gallery-swiper:not(.swell-block-fullWide .gallery-swiper) {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.gallery-swiper {
    overflow: hidden;
}

.gallery-swiper .swiper-slide {
    width: 100%;
}

.gallery-swiper .swiper-slide {
    aspect-ratio: 12 / 7;
}

.gallery-swiper .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ============================================
    営業所情報セクション
============================================ */
.office-info {
    padding: 2.5rem 0;
    border-top: 2px solid #1a1a1a;
    border-bottom: 2px solid #1a1a1a;
}

.office-info__inner {
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem 3rem;
}

.office-info__item {
    color: #1a1a1a;
}

.office-info__name {
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.office-info__address {
	font-style: normal;
	font-size: 0.9rem;
	margin-bottom: 0.5rem;
}

.office-info__address .zip {
    margin-right: 0.5em;
}

.office-info__contact {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.5rem;
}

.office-info__tel {
    display: inline-flex;
    align-items: center;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    text-decoration: none;
    color: #1a1a1a;
}

.office-info__tel::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 0.3em;
    background: currentColor;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M6.62 10.79a15.053 15.053 0 006.59 6.59l2.2-2.2a1 1 0 011.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 011 1V20a1 1 0 01-1 1A17 17 0 013 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.46.57 3.58a1 1 0 01-.24 1.01l-2.21 2.2z'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M6.62 10.79a15.053 15.053 0 006.59 6.59l2.2-2.2a1 1 0 011.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 011 1V20a1 1 0 01-1 1A17 17 0 013 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.46.57 3.58a1 1 0 01-.24 1.01l-2.21 2.2z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
}

.office-info__hours {
    font-size: 0.85rem;
}

/* フッター内の固定ページウィジェット */
.l-footer .c-widget.c-listMenu.widget_pages .c-widget__title {
	display: none;
}

.l-footer .c-widget.c-listMenu.widget_pages ul {
	display: flex;
	flex-wrap: wrap;
}

.l-footer .c-widget.c-listMenu.widget_pages ul a {
    border-bottom: none;
    padding: .75em 1em;
}

.l-footer .c-widget.c-listMenu.widget_pages ul a::before {
    display: none;
}

/* SP対応 */
@media (max-width: 768px) {
    .office-info {
        padding: 2rem 1rem;
    }

    .office-info__inner {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .office-info__tel {
        font-size: 1.2rem;
    }

    .office-info__contact {
        flex-direction: column;
        gap: 0.25rem;
    }
}
