@charset "UTF-8";

:root{
    --primary-navy: #00253B;     /* フォントカラー */
    --primary-khaki: #2B3700;     /* フォントカラー */
    --primary-pink: #FF0069;    /* フォントカラー */
    --primary-beige: #AEA392;    /* フォントカラー */
    --primary-white: #fff;    /* フォントカラー */
    --primary-brown:#766C5E;  /* フォントカラー */
    --primary-rightbeige: #E7DBCA;     /* バックグランドカラー */
    --primary-rightgreen:#BAC0A2;
    --primary-whitebeige: #FCF7F1;     /* バックグランドカラー */
    --secondary-color: #FFFFFF;   /* 背景色 */
    --btn-color: linear-gradient(90deg, #DFCACA 0.08%, #E7B8B8 99.93%);   /* ボタン*/
    --font-sans: "Noto Sans JP", sans-serif;
    --font-serif: "Noto Serif JP", serif;
    --font-hand: "Babylonica", cursive;
}

.body{
    font-family: var(--font-serif);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1;
    color: var(--primary-navy);
    background-color: var(--secondary-color);
}

/* ===== ヘッダー ===== */
.page-title{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    color: var(--primary-brown);
    text-align: center;
    font-size: 3.6rem;
    line-height: 1;
}

.page-title-txt{
    color: var(--primary-navy);
    text-align: center;
    font-size: 1.6rem;
    font-weight: 300;
}


/* ===== contact ===== */
.contact-section{
    display: flex;
    padding: 40px 30px 60px ;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

.check-list{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
}

.check-item{
    display: flex;
    align-items: center;
    gap: 10px;
    color: #000;
    font-weight: 300;
}

.contact-topic{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    align-self: stretch;
}

.contact-txt01{
    color: #000;
    font-family: var(--font-sans);
    font-size: 1.2rem;
    font-weight: 300;
    line-height: 1.8;
}

.contact-tel{
    color: #000;
    font-family: var(--font-sans);
    font-weight: 300;
}

.contact-txt02{
    color: #000;
    font-family: var(--font-sans);
    font-size: 1.2rem;
    font-weight: 300;
    line-height: 1.8;
}

@media screen and (min-width: 768px) {
    .contact-section{
        display: flex;
        width: 55%;
        margin: 0 auto;
        padding: 60px 0 90px 0;
        gap: 35px;
    }

    .check-item{
        font-size: 1.8rem;
    }

    .contact-txt01,
    .contact-tel,
    .contact-txt02{
        font-size: 1.6rem;
    }
}

/* ===== form ===== */
.form-section{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.form-content{
    width: 90%;
}

/* form全体（ラベルと入力を横並び） */
.form-group {
  display: flex;
  align-items: center; /* 縦位置をそろえる */
  gap: 15px; /* ラベルと入力の間の余白 */
  margin-bottom: 15px;
}

/* ラベル部分 */
.form-label {
    color: #000;
    font-family: var(--font-sans);
    font-size: 1.6rem;
    font-weight: 700;
  white-space: nowrap; /* 折り返さないように */
}

/* 必須マーク */
.required {
    color: #FFFFFF;
    font-size: 1.2rem;
    margin-left: 5px;
    display: flex;
    padding: 4px 16px;
    justify-content: center;
    align-items: center;
    background: #F00;

}

/* 入力欄 */
.form-input input,
.form-input textarea,
.form-input select{
  width: 100%;
  padding: 8px 10px;
  border-radius: 5px;
  border: 0.5px solid #AEA392;
  font-size: 1.4rem;
  line-height: 1.4;
  box-sizing: border-box; /* padding込みで幅を計算 */
  margin-bottom: 30px;
}

.privacy-content{
    display: flex;
    padding: 30px 0 25px 0;
    align-items: center;
    gap: 10px;
    justify-content: center;
}

.privacy-list{
    display: flex;
    justify-content: center;
    width: 100%;
    padding-bottom: 60px;
}

.privacy-check{
    display: flex;
    color: #000;
    font-family: var(--font-serif);
    font-size: 1.1rem;
    font-weight: 300;
    position: relative;
}

.privacy-check::before{
    display: inline-block;
    content: '';
    width: 6px;
    height: 12px;
    background-image: url(../img/back-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 50%;
    left: -15px;
    transform: translateY(-50%);

}
.form-submit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 10px 130px;
    gap: 10px;
    border: none; /* ブラウザのデフォルト枠を消す */
    border-radius: 5px;
    background: #EFEEE9;
    color: #000;
    font: var(--font-serif);
    font-size: 2rem;
    font-weight: 300;
    transition: background 0.3s ease;
}

/* ホバー時に少し変化をつけると◎ */
.form-submit:hover {
  background: #E0DED8;
}


@media screen and (min-width: 768px) {
    .form-content{
        width: 55%;
        margin: 0 auto;
    }

    .form-label{
        font-size: 1.8rem;
    }

    .required,
    .privacy-content{
        font-size: 1.6rem;
    }

    .privacy-check{
        font-size: 1.4rem;
    }

    .contact-btn{
        width: 362px;
        margin: 0 auto;
    }
}

