:root {
    --gold-color: #9d895f; /*figma上：gold*/
    --border-color: #dee4ea; /*figma上：navy_3S*/
    --red-color: #d65856; /*figma上：red*/
    --bg-gray-color: #f1f3f6; /*figma上：navy_4S*/
    --body-color: #3b4b5b; /*figma上：navy_D*/
    --dark-border-color: #8198ae; /*figma上：navy_1S*/

    --gold_D: #81704d;
    --gold_1S: #baac8f;
    --gold_2S: #cec4af;
    --gold_3S: #e2dccf;
    --gold_4S: #f5f3ef;
    --gold_5S: #f9f7f2;
    --red_3S: #f7dedd;
    --red_4S: #fbf0f0;
    --navy: #536a80;
    --navy_1S: #8198ae;
    --navy_2S: #b0becc;
    --navy_3S: #dee4ea;
    --navy_4S: #f1f3f6;
    --navy_5S: #f8f9fa;
    --navy_D: #3b4b5b;

    /*	以下はfigmaで登録していない色*/
    --second-color: #003866;
    --second-hover-color: #0062b3;
}

body {
	color: var(--navy_D);
}

.strong-g {
	color: var(--gold-color) !important;
}

.mb-40 {
	margin-bottom: 40px!important;
}



.contact-header {
    position: relative;
    width: 100%;
    height: 434px;

    background: url(../img/contact/head.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center 35%;

    display: flex;
    justify-content: center;
    align-items: center;

    z-index: 0;
}

.contact-header::after {
    content: "";
    position: absolute;
    inset: 0; /* 全面に広げる */
    background: rgba(255, 255, 255, 0.8);
    z-index: 1;            /* テキストの下 */
}

.contact-box {
	z-index: 2;
}


/* テキストは最前面に */
.contact-header-title {
    font-weight: 700;
    font-size: 24px;
    text-align: center;
    color: var(--gold-color);
}

.contact-head-msg {
	font-size: 14px;
	background-color: #fff;
	border: 2px solid var(--gold_2S); /* ←ここ重要 */
	border-radius: 8px;
	text-align: center;
	padding: 28px 60px;
	margin-top: 50px;
	margin-bottom: 50px;
	font-weight: 400;
}

.contact-head-msg-att {
	color:var(--red-color);
	font-weight: 600;
}

.contact-submit {
    width: 240px;
    height: 52px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto; /* ← これ追加 */
    
    border-radius: 4px;
    background-color: var(--gold-color);
    color: #fff;
    line-height: 1.2;
    font-size: 16px;
    font-weight: bold;
    border: none;
}

.contact-main {

	background-color: var(--gold_5S);
}

.contact-main-title {
	margin:0 auto 2rem;
	display: flex;
    align-items: flex-end; /* ← 下揃え */
    justify-content: center;
    gap: 8px; /* お好みで */
}

.contact-logo-img {
	width: 150px;
	height: 41px;
}


.contact-main-title {
	color: var(--navy_D);
	font-size: 18px;
	font-weight: 700;
	text-align: center;
}


.contact-main-box {
	border: 1px solid var(--gold_2S);
	border-radius: 12px;
	background-color: #fff;
	padding: 24px;
	
}

.contact-main-box.under {
	height: 336px;
}

.contact-main-row {
	margin:0 auto;
	width: 1080px;
	padding: 0 60px;
}

.contact-main-box-title {
	color: var(--gold-color);
	font-weight: 600;
	font-size: 16px;
	text-align: center;
	margin-bottom: 1rem;
}

.contact-main-box-icon {
	text-align: center;
}

.contact-main-box-msg {
	margin-top: 1rem;
	color: var(--navy_D);
	font-weight: 400;
	font-size: 16px;
	text-align: center;
}

.contact-main-box-msg b{
	font-weight: 600;
	color: var(--red-color);
}

.contact-main-box-msg-add {
	font-weight: 400;
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 0%;
	text-align: center;
	color: var(--navy_1S);
	margin-top: 10px;
}

.contact-main-box-msg.under {
	margin-top:5px;
}

.contact-bottom-box {
	position: relative;
    width: 100%;
    height: 320px;
    padding: 6rem 0;
    object-fit: cover;
    background: url(../img/contact/footer.png);
    background-repeat: no-repeat;
    background-size: 110%;
    background-position: center 55%;
    z-index: 0;
}

.contact-bottom-box::after {
    content: "";
    position: absolute;
    inset: 0; /* 全面に広げる */
    background: rgba(1, 1, 1, 0.6);
    z-index: 1;            /* テキストの下 */
}

.contact-bottom-box-base {
	position: relative;
	z-index: 2;
}

.contact-bottom-box-text {
	color: #fff;
	font-size: 16px;
	text-align: center;
}


.contact-flow-section {
    padding: 60px 0;
    background: #fff;
}

.contact-flow-title {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 40px;
}

.contact-flow-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 17px;
}

.contact-flow-item {
    width: 174px;
    height: 54px;
    border: 1px solid #d8cdbb;
    border-radius: 6px;
    background: #fffdf8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #2f4050;
}

.contact-flow-start {
    color: #d96b5f;
}

.contact-flow-arrow {
    width: 0;
    height: 0;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-left: 18px solid #e5dfd3;
}


.contact-flow-item {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.contact-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}



/* 📱 SPレイアウト（442構成） */
@media (max-width: 850px) {
	
	.contact-header {
		height: auto;
		
	}
	
	.contact-box {
		height: auto;
		padding: 3rem 0;
		width: 100%;
		
	}
	
	.contact-head-msg {
		margin: 2rem auto;
		padding: 2rem 0;
		width: 93%;
	}
	
	.contact-submit {
		width: 84%;
	}
	
	
	.contact-main-row {
		width: 93%;
		padding: 0;
	}
	
	
	.contact-flow-section {
        padding: 48px 16px;
    }

    .contact-flow-title {
        font-size: 24px;
        font-weight: 700;
        margin-bottom: 32px;
    }

    .contact-flow-list {
        flex-direction: column;
        gap: 16px;
    }

    .contact-flow-item {
        width: 100%;
        height: 54px;
        font-size: 16px;
        font-weight: 600;
    }

    .contact-flow-arrow {
        border-left: 14px solid transparent;
        border-right: 14px solid transparent;
        border-top: 18px solid #e5dfd3;
        border-bottom: 0;
    }
	
	.contact-bottom-box-text {
		font-weight: 400;
		font-size: 14px;
		line-height: 22.4px;
	}
	
	.contact-main-box-msg {
		font-size: 14px;
	}
}
