/* ================================
   Noto Serif JP フォント設定
   ================================ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');

/* 全体のフォントをNoto Serif JPに統一 */
body,
html,
* {
    font-family: 'Noto Serif JP', serif;
}

/* Oswaldクラスの上書き */
.oswald_mega,
.oswald_80,
.oswald_65,
.oswald_55,
.oswald_40,
.oswald_30 {
    font-family: 'Noto Serif JP', serif;
}

/* Barlowクラスの上書き */
.barlow_semibold,
.barlow_semibold p,
.barlow_semibold li,
.barlow_medium,
.barlow_medium p,
.barlow_medium li,
.barlow_50,
.barlow_40,
.barlow_30,
.barlow_25,
.barlow_20,
.barlow_18,
.barlow_16 {
    font-family: 'Noto Serif JP', serif;
}

/* 見出し */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Noto Serif JP', serif;
}

/* 段落・リスト */
p,
li,
p strong,
li strong,
li b,
p b {
    font-family: 'Noto Serif JP', serif;
}

/* ボタン */
button,
.btn,
.button,
input[type="button"],
input[type="submit"] {
    font-family: 'Noto Serif JP', serif;
}

/* フォーム要素 */
input,
textarea,
select {
    font-family: 'Noto Serif JP', serif;
}

/* ナビゲーション */
.navigazione,
.navigazione__logo,
.nav__el,
.nav__el__label,
.nav__el__nome,
.dropdown__item__text {
    font-family: 'Noto Serif JP', serif;
}

/* style3.cssで使われているクラス */
.card__titolo,
.card__sottotitolo,
.sezione__titolo,
.sezione__sottotitolo,
.box__titolo,
.box__testo,
.titolo,
.sottotitolo,
.testo,
.label,
.info_btn,
.go_back {
    font-family: 'Noto Serif JP', serif;
}

/* その他の特殊なフォントクラス */
.font_bold,
.font_regular_italic,
.titolo_bold,
.testo_semi_bold {
    font-family: 'Noto Serif JP', serif;
}

/* フッター */
footer,
.footer,
.footer__container,
.footer p,
.footer a,
.footer li {
    font-family: 'Noto Serif JP', serif;
}

/* ================================
   お問い合わせセクション
   ================================ */
.grid--contact-3847 {
    grid-template-columns: 1fr 1.5fr;
    gap: 40px;
    align-items: stretch;
}

.contact-left-3847 {
    display: flex;
    flex-direction: column;
}

.contact-heading-3847 {
    color: #003f72;
}

.contact-text-3847 {
    margin-top: 20px;
}

.contact-button-wrap-3847 {
    margin-top: 30px;
    margin-top: auto;
}

.contact-box-3847 {
    background: #f5f5f5;
    padding: 40px;
    border-radius: 10px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.contact-content-3847 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    height: 100%;
}

.contact-info-3847 {
    display: flex;
    flex-direction: column;
}

.contact-item-3847 {
    margin-bottom: 20px;
}

.contact-label-3847 {
    font-weight: 600;
    margin-bottom: 10px;
}

.contact-phone-3847 {
    color: #003f72;
}

.contact-image-3847 {
    width: 100%;
    height: 100%;
}

.contact-image-3847 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

/* レスポンシブ対応 */
@media (max-width: 1024px) {
    .grid--contact-3847 {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .contact-content-3847 {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .contact-image-3847 {
        height: 300px;
    }
}

@media (max-width: 768px) {
    .contact-box-3847 {
        padding: 30px 20px;
    }

    .contact-content-3847 {
        gap: 20px;
    }

    .contact-image-3847 {
        height: 250px;
    }
}