body{
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
color:#333;
background:#fafafa;
margin:0;
}

/* パンくず */

.breadcrumb{
max-width:800px;
margin:30px auto 10px;
padding:0 20px;
font-size:13px;
color:#777;
}

.breadcrumb a{
color:#0073e6;
text-decoration:none;
}

.breadcrumb a:hover{
text-decoration:underline;
}

.breadcrumb span{
margin:0 6px;
color:#999;
}

/* コンテナ */

.contact-container{
max-width:800px;
margin:40px auto 60px;
padding:0 20px;
}

/* タイトル */

.contact-title{
font-size:30px;
font-weight:700;
text-align:center;
margin-bottom:10px;
}

.contact-desc{
text-align:center;
color:#666;
font-size:15px;
line-height:1.7;
margin-bottom:20px;
}

.contact-note{
text-align:center;
font-size:14px;
color:#666;
margin-bottom:35px;
}

.required{
color:#e53935;
}

/* 電話 */

.phone-contact{
padding:28px;
background:#fff;
border:1px solid #e5e5e5;
border-left:4px solid #28a745;
border-radius:8px;
margin-bottom:45px;
box-shadow:0 2px 8px rgba(0,0,0,0.04);
}

.phone-title{
font-size:18px;
font-weight:600;
margin-bottom:10px;
}

.phone-desc{
font-size:14px;
color:#666;
margin-bottom:15px;
}

.phone-row{
display:flex;
align-items:center;
gap:15px;
}

.phone-icon{
width:26px;
height:26px;
fill:#28a745;
}

.phone-number{
font-size:34px;
font-weight:800;
letter-spacing:1px;
color:#222;
text-decoration:none;
}

.phone-number:hover{
color:#28a745;
}

.phone-time{
margin-top:8px;
font-size:13px;
color:#777;
}

/* フォーム */

.contact-form{
max-width:800px;
margin:40px auto;
}

.form-row{
display:flex;
gap:20px;
}

.form-group{
flex:1;
margin-bottom:20px;
}

input,textarea,select{
width:100%;
padding:10px;
border:1px solid #ccc;
}

textarea{
height:140px;
}

.required{
color:#e53935;
}

.error-message{
color:#e53935;
font-size:13px;
margin-top:5px;
}

.input-error{
border:1px solid #e53935;
}

input:focus,
textarea:focus,
select:focus{
outline:none;
border:1px solid #2a7fff;
box-shadow:0 0 4px rgba(42,127,255,0.3);
}

/* フォームタイトル */

.mail-title{
font-size:18px;
font-weight:600;
margin-bottom:25px;
padding-left:12px;
border-left:4px solid #28a745;
}

/* フォーム */

.form-group{
margin-bottom:22px;
}

.form-group label{
display:block;
font-size:14px;
margin-bottom:6px;
font-weight:600;
}

.form-group input,
.form-group textarea,
.form-group select{
width:100%;
padding:12px 14px;
border:1px solid #dcdcdc;
border-radius:4px;
font-size:15px;
transition:0.2s;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus{
border-color:#0073e6;
outline:none;
}

.form-group textarea{
height:140px;
resize:vertical;
}

/* 個人情報 */

.privacy{
margin-top:25px;
font-size:13px;
color:#666;
line-height:1.6;
}

/* 送信 */

.submit-area{
text-align:center;
margin-top:30px;
}

.submit-btn{
background:#0073e6;
color:white;
border:none;
padding:14px 44px;
font-size:16px;
border-radius:6px;
cursor:pointer;
transition:0.2s;
font-weight:600;
}

.submit-btn:hover{
background:#005ec2;
transform:translateY(-1px);
}

/* スマホ電話ボタン */

.fixed-tel{
position:fixed;
bottom:0;
left:0;
width:100%;
background:#28a745;
text-align:center;
padding:15px 0;
z-index:999;
}

.fixed-tel a{
color:white;
font-size:18px;
font-weight:600;
text-decoration:none;
}

@media(min-width:768px){
.fixed-tel{
display:none;
}
}

@media(max-width:600px){

.phone-row{
flex-direction:column;
align-items:flex-start;
}

.phone-number{
font-size:28px;
}

.contact-form{
padding:20px;
}

}

/* 2カラムフォーム */

.form-row{
display:flex;
gap:20px;
}

.form-row .form-group{
flex:1;
}

/* スマホ */

@media(max-width:600px){

.form-row{
flex-direction:column;
gap:0;
}

}
