.contact-section:not(:last-child)
{
    margin-bottom: 75px;
}

.contact-heading
{
    font-size: 1.3rem;

    margin-bottom: 20px; 
    padding: 0 3px 10px;

    border-bottom: 1px solid #ccc;
}
@media print, screen and (min-width: 768px)
{
    .contact-heading
    {
        font-size: 1.8rem;

        margin-bottom: 40px; 
        padding-right: 8px;
        padding-bottom: 20px;
        padding-left: 8px;
    }
}

.contact-faq
{
    max-width: 1000px;
    margin: 0 auto;
}
.contact-faq:not(:last-child)
{
    margin-bottom: 25px;
}
@media print, screen and (min-width: 768px)
{
    .contact-faq:not(:last-child)
    {
        margin-bottom: 35px;
    }
}
.contact-faq dt
{
    font-size: 1.2rem; 
    font-weight: bold;

    position: relative;
    position: relative;

    padding: 0 3px;
}
@media print, screen and (min-width: 768px)
{
    .contact-faq dt
    {
        margin: 0;

        cursor: pointer;
    }
}
.contact-faq dt::after
{
    position: absolute;
    top: 50%;
    right: 12px;

    display: block;

    width: 8px;
    height: 8px;
    margin-top: -3px;

    content: '';
    -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
            transform: rotate(135deg);

    border-width: 2px !important; 
    border-top: 1px solid #3289ad;
    border-right: 1px solid #3289ad;
}
.contact-faq dt.is-active:after
{
    width: 8px;
    height: 8px;

    -webkit-transform: rotate(315deg);
        -ms-transform: rotate(315deg);
            transform: rotate(315deg); 

    border-top: 1px solid #3289ad;
    border-right: 1px solid #3289ad;
}
.contact-faq dt span
{
    font-family: 'Roboto', sans-serif;
    font-size: 1.8rem;
    font-weight: bold;

    display: inline-block;

    margin-right: 8px;

    vertical-align: middle;

    color: #3189ae;
}
@media print, screen and (min-width: 768px)
{
    .contact-faq dt span
    {
        font-size: 2.6rem;

        position: relative;
        top: -2px; 

        margin-right: 10px;
    }
}
@media print, screen and (min-width: 768px)
{
    .contact-faq dt
    {
        font-size: 1.6rem;
    }
}
.contact-faq dd
{
    display: none; 

    padding: 10px 25px 0;
}
@media print, screen and (min-width: 768px)
{
    .contact-faq dd
    {
        padding: 20px 0 0;
    }
}

.contact-text
{
    max-width: 1000px;
    margin-right: auto; 
    margin-bottom: 25px;
    margin-left: auto;
}
.contact-text span
{
    font-weight: bold;

    display: inline-block;

    margin-bottom: 5px;
}

.contact-tel:first-child
{
    margin-bottom: 25px;
}
@media print, screen and (min-width: 768px)
{
    .contact-tel:first-child
    {
        margin-bottom: 0;
    }
}

.contact-tel-group
{
    padding: 0 25px;
}
@media print, screen and (min-width: 768px)
{
    .contact-tel-group
    {
        display: -ms-flexbox;
        display: flex;

        width: 100%;
        max-width: 1000px;
        margin: 0 auto;
        padding: 0;

        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media print, screen and (min-width: 768px)
{
    .contact-tel
    {
        width: calc(50% - 30px);
    }
}

.contact-tel a
{
    display: block;

    width: 100%;
    padding: 20px 0 10px;

    text-align: center; 

    border: 1px solid #ccc;
}
@media print, screen and (min-width: 768px)
{
    .contact-tel a
    {
        padding: 38px 0 35px;
    }
}

.contact-tel-ttl
{
    font-size: 1.2rem;
    font-weight: bold;

    margin-bottom: 10px;

    letter-spacing: -1px;
}
@media print, screen and (min-width: 768px)
{
    .contact-tel-ttl
    {
        font-size: 1.6rem;

        margin-bottom: 15px;
    }
}

.contact-tel-shop
{
    font-size: 1.1rem;
    font-weight: bold; 

    margin-bottom: 20px;
}
@media print, screen and (min-width: 768px)
{
    .contact-tel-shop
    {
        font-size: 1.4rem;

        margin-bottom: 30px;
    }
}

.contact-tel-num
{
    font-family: 'Roboto', sans-serif;
    font-size: 2.4rem;
    font-weight: bold;

    margin-bottom: 15px;
}
@media print, screen and (min-width: 768px)
{
    .contact-tel-num
    {
        font-size: 3.6rem;

        margin-bottom: 20px;
    }
}

form
{
    display: block;

    width: 100%;
    margin: 0 ;
}

@media print, screen and (min-width: 768px) {
    form {
        max-width: 850px;
        margin: 0 auto;
    }
}

.form-block
{
    display: block;
    margin-bottom: 25px;
    
}
.form-block dt,
.form-block dd {
    width: 100%;
    margin-right: 0;
}
@media print, screen and (min-width: 768px)
{
    .form-block
    {
        display: -ms-flexbox;
        display: flex;

        width: 100%;
        margin-bottom: 50px;
    }
}
.form-block dt
{
    width: 230px;
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    font-size: 1.2rem; 
    margin-bottom: 15px;  /* 余白は外側で作る */
    padding-bottom: 0;
}
.form-block dt .must
{
    font-size: 1.0rem;
    font-style: normal; 
    line-height: 18px;

    display: inline-block;

    width: 43px;
    height: 18px;
    margin-left: 8px;

    text-align: center;

    color: #fff;
    background: #f00;
}


@media print, screen and (min-width: 768px)
{
    .form-block dt .must
    {
        margin-left: 13px;
    }
}
@media print, screen and (min-width: 768px)
{
    .form-block dt
    {
        font-size: 1.4rem;
        width: 205px;
        padding-top: 20px; 
        padding-bottom: 0;
        margin-right: 20px;
    }
}
@media print, screen and (min-width: 768px)
{
    .form-block dd
    {
        width: calc(100% - 225px);
    }
}
.form-block.form-block--textarea
{
    -ms-flex-align: center;
    align-items: center;
}
.form-block.form-block--textarea dt
{
    padding-top: 0;
}

input,
textarea,
select
{
    font-size: 1.6rem;

    width: 100%;
    height: 35px;
    padding: 0 10px; 

    border: #ccc 1px solid;
    border-radius: 4px;
}
@media print, screen and (min-width: 768px)
{
    input,
    textarea,
    select
    {
        height: 56px;
    }
}

textarea
{
    line-height: 1.5; 

    height: 140px;
}
@media print, screen and (min-width: 768px)
{
    textarea
    {
        height: 300px;
    }
}

.form-tel,
.form-name
{
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: justify;
    justify-content: space-between;
}
@media print, screen and (min-width: 768px)
{
    .form-tel,
    .form-name
    {
        -ms-flex-pack: left;
        justify-content: left;
    }
}

.form-tel span
{
    width: calc(33.33% - 13px);
}
@media print, screen and (min-width: 768px)
{
    .form-tel span
    {
        width: 120px;
    }
}

.form-tel span:not(:last-child)
{
    position: relative;
    z-index: 1;
}
.form-tel span:not(:last-child)::after
{
    position: absolute;
    top: 50%;
    right: -15px; 

    display: inline-block;

    width: 10px;
    height: 1px;

    content: '';

    background: #ccc;
}

.form-tel span:last-child::after {
	display: none;
}

@media print, screen and (min-width: 768px)
{
    .form-tel span:not(:last-child)
    {
        margin-right: 60px;
    }
    .form-tel span:not(:last-child)::after
    {
        right: -40px; 

        width: 20px;
    }
}

input.input-name
{
    width: calc(100% - 7px);
}
@media print, screen and (min-width: 768px)
{
    input.input-name
    {
        width: 200px;
    }
    input.input-name:first-child
    {
        margin-right: 30px;
    }
}

/*
input.input-email:first-child
{
    margin-bottom: 15px;
}
*/

.mail-wrap .contact-wrapper+.contact-wrapper {
	margin-top: 15px;
}

.mail-wrap .wpcf7-not-valid-tip+.contact-wrapper {
	margin-top: 15px;
}

@media print, screen and (min-width: 768px)
{
	/*
    input.input-email:first-child
    {
        margin-bottom: 20px;
    }
    */
    
    .mail-wrap .contact-wrapper+.contact-wrapper {
		margin-top: 20px;
	}
	
	.mail-wrap .wpcf7-not-valid-tip+.contact-wrapper {
		margin-top: 20px;
	}
}

/*
.btn_block {
    padding-top: 30px;
    text-align: center;
}
*/

/*
.submitBtn {
	display: inline-block;
}
*/

/*
.submitBtn+.submitBtn {
	margin-left: 15px;
}
*/

/* ボタンエリア */
/*
.btn_block {
  padding-top: 30px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}
*/

/* 戻るボタン制御 */
/*
.btn_block .backBtn {
  display: none;
}
.wpcf7-confirm .backBtn {
  display: inline-block;
}
*/


/* 確認画面のテキスト */
/*
.wpcf7-form-control-wrap p {
  font-size: 16px;
  line-height: 1.6;
}
*/

/* エラーメッセージ */
/*
span.wpcf7-not-valid-tip {
  color: #f00;
  display: block;
  padding-top: 5px;
  font-size: 12px !important;
}
*/

/* ボタン */
/*
.submitBtn {
  display: inline-block;
  width: 100%;
  max-width: 280px;
}
*/

/* ローディング非表示 */
/*
div.wpcf7 .ajax-loader {
  display: none;
}
*/

/* PC表示 */
/*
@media screen and (min-width: 768px) {
  .btn_block {
    flex-direction: row;
    justify-content: center;
  }

  .submitBtn {
    width: auto;
  }
}

select {
  background-color: #fff;
}

*/





/* ========================================
   2026
======================================== */
.form-name p {
  display: flex;
  align-items: center;
  gap: 10px;
  width: auto;
}

.form-name br {
  display: none;
}

.form-name .wpcf7-form-control-wrap {
  display: inline-block;
}

.form-tel p {
  display: flex;
  align-items: center;
}

.form-tel input[type="text"] {
  width: 90px;
}

@media print, screen and (min-width: 768px) {
  .form-tel input[type="text"] {
    width: 90px;
  }
}




/* ボタンエリア */
.btn_block {
  padding-top: 30px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}

/* ★ btn_block内のpをflexにしてボタン間にgapを効かせる */
.btn_block p {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;        /* ← ボタン間の余白。お好みで調整 */
}

/* 戻るボタン制御 */
.btn_block .backBtn {
  display: none;
}
.wpcf7-confirm .backBtn {
  display: inline-block;
}

/* 確認画面のテキスト */
.wpcf7-form-control-wrap p {
  font-size: 16px;
  line-height: 1.6;
}

/* エラーメッセージ */
span.wpcf7-not-valid-tip {
  color: #f00;
  display: block;
  padding-top: 5px;
  font-size: 12px !important;
}

/* ボタン */
.submitBtn {
  display: inline-block;
  width: 100%;
  max-width: 280px;
}

/* ローディング表示 */
div.wpcf7 .ajax-loader {
  display: none;
}

/* PC表示 */
@media screen and (min-width: 768px) {
  .btn_block {
    flex-direction: row;
    justify-content: center;
  }
  .submitBtn {
    width: auto;
  }
}

/* 確認画面時 */
input[readonly]:-webkit-autofill,
input[readonly]:-webkit-autofill:hover,
input[readonly]:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px #ffffff inset;
  box-shadow: 0 0 0px 1000px #ffffff inset;
  -webkit-text-fill-color: inherit;
}