@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/
section#contact p a{
    color: #567b7d;
	text-decoration: underline;
}

label {
	cursor: pointer;
}

section#contact dl dd input[type=text],
section#contact dl dd input[type=email],
section#contact dl dd input[type=tel],
section#contact dl dd textarea{
    width: 100%!important;
    font-size: 1.6rem;
    padding: 0.25em 0.5em;
    background: #FFF!important;
}

.mfp_err {
	color: #cc3033;
}

#mfp_confirm_table {
	width: 100%;
	border: none;
}

table#mfp_confirm_table tr.mfp_achroma,
table#mfp_confirm_table tr.mfp_colored {
    background-color: rgba(255,255,255,0);
}

.thanks {
	width: 100%!important;
	padding-bottom: 50px;
	background: #e7dfda;
}

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 961px){
	
	section#contact {
		width: 850px;
		margin: 0 auto;
		padding-top: 58px;
	}
	
	section#contact h2{
		font-size: 3.8rem;
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.1em;
		text-align: center;
		color: #e7dfda;
		margin-bottom: 38px;
	}
	
	section#contact div.block {
		background: #e7dfda;
		padding: 45px 65px 40px;
		color: #567b7d;
	}
	
	section#contact p{
		font-size: 1.5rem;
		font-weight: 500;
		line-height: 2;
	}
	
	section#contact dl + p{
		line-height: 1.8;
		text-align: center;
	}
	
	section#contact dl {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
		margin: 30px 0 0;
		line-height: 1.6;
	}
	
	section#contact dl dt{
		width: 27.5%;
		font-size: 1.7rem;
		font-weight: 500;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		padding-top: 0.175em;
		margin-bottom: 45px;
	}
	
	section#contact dl dt span.box{
		width: 3.5em;
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1;
		text-align: center;
		color: #ffebe7;
		background: #9fb4b5;
		padding: 0.3em 0 0.4em;
		border-radius: 12px;
	}
	
	section#contact dl dt span.box.req{
		color: #ffece8;
		background: #567b7d;
	}
	
	section#contact dl dd{
		width: 70%;
		font-size: 1.6rem;
		margin-bottom: 45px;
	}
	
	div.check_block{
		font-size: 1.5rem;
		font-weight: 500;
		line-height: 1.6;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		margin: 45px 0 0;
	}
	
	input[type="checkbox"] {
      position: relative;
      width: 22px;
      height: 22px;
      background: #FFF;
      border: 1px solid #567b7d;
      vertical-align: -5px;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      margin-right: 8px;
    }

    input[type="checkbox"]:checked:before {
      position: absolute;
      top: 1px;
      left: 6px;
      transform: rotate(50deg);
      width: 8px;
      height: 14px;
      border-right: 2px solid #567b7d;
      border-bottom: 2px solid #567b7d;
      content: '';
    }
	
	div.btn_block {
		margin-top: 45px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	
	div.btn_block.back {
		margin-top: 140px;
	}
	
	div.btn_block button,
	div.mfp_buttons button,
	div.btn_block a{
		width: 182px;
		font-size: 1.6rem;
		font-weight: 500;
		line-height: 1;
		text-align: center;
		color: #ffece8;
		background: #567b7d;
		padding: 0.8em 0 0.9em;
		border-radius: 24px;
		transition-duration: 0.5s;
		transition-property: opacity;
	}
	
	div.btn_block a{
		width: 136px;
	}
	
	div.btn_block button:hover,
	div.mfp_buttons button:hover,
	div.btn_block a:hover{
		opacity: 0.7;
	}
	
	.mfp_err {
		font-size: 1.6rem;
		font-weight: 500;
		margin-top: 0.25em;
    }
	
	table#mfp_confirm_table {
		margin-top: 50px;
	}
	
	
	table#mfp_confirm_table tr th, table#mfp_confirm_table tr td {
        text-align: left;
        font-size: 12px;
        border-top: none;
        padding: 5px 10px;
    }
	
	table#mfp_confirm_table tr th {
        white-space: nowrap;
        width: 27.5%;
		font-size: 1.7rem;
		font-weight: 500;
		padding: 5px 0 45px;
    }
	
	table#mfp_confirm_table tr td {
		width: 70%;
        text-align: left;
        font-size: 1.7rem;
		font-weight: 500;
        padding: 5px 0 45px 2.5%;
    }
	
	div.mfp_buttons {
		margin-top: 45px;
	}
	
	div.mfp_buttons button{
		margin: 0 10px;
	}
	
	div#mfp_phase_confirm h4 {
		font-size: 1.8rem!important;
		font-weight: 700!important;
		line-height: 1;
		text-align: center;
	}
	
	.thanks {
		height: calc(100vh - 143px);
		height: calc(100dvh - 143px);
	}
	
	.thanks .inner{
        width: 850px;
		margin: 0 auto;
    }
	
	.thanks .inner h2{
		font-weight: 400;
		text-align: center;
        color: #567b7d!important;
    }
}
	

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 960px){
	
	section#contact {
		width: 89.7%;
		margin: 0 auto;
		padding-top: 11.7vw;
	}
	
	section#contact h2{
		font-size: 2.76rem;
		font-size: clamp(2.76rem, 7.68vw, 7.38rem);
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.1em;
		color: #e7dfda;
		text-align: center;
		margin-bottom: 5vw;
	}
	
	section#contact div.block {
		background: #e7dfda;
		padding: 8.9vw 7% 8.9vw;
		color: #567b7d;
	}
	
	section#contact p{
		font-size: 1.3rem;
		font-size: clamp(1.3rem, 3.6vw, 3.465rem);
		font-weight: 500;
		line-height: 1.5;
	}
	
	section#contact dl + p{
		line-height: 1.8;
		text-align: center;
	}
	
	section#contact dl {
		display: block;
		margin: 11vw 0 0;
	}
	
	section#contact dl dt{
		font-size: 1.3rem;
		font-size: clamp(1.3rem, 3.6vw, 3.465rem);
		font-weight: 500;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		margin-bottom: 0.5em;
		line-height: 1.6;
	}
	
	section#contact dl dt span.box{
		width: 3.5em;
		font-size: 1.3rem;
		font-size: clamp(1.3rem, 3.6vw, 3.465rem);
		font-weight: 500;
		line-height: 1;
		text-align: center;
		color: #e7dfda;
		background: #9fb4b5;
		padding: 0.3em 0 0.4em;
		border-radius: 4.8vw;
		margin-left: 1em;
	}
	
	section#contact dl dt span.box.req{
		background: #567b7d;
	}
	
	section#contact dl dd{
		width: 100%;
		font-size: 1.6rem;
		margin-bottom: 5vw
	}
	
	section#contact dl dd input[type=text],
    section#contact dl dd input[type=email],
    section#contact dl dd input[type=tel],
    section#contact dl dd textarea{
        padding: 0.5em 0.5em;
    }
	
	div.check_block{
		font-size: 1.3rem;
		font-size: clamp(1.3rem, 3.6vw, 3.465rem);
		font-weight: 500;
		line-height: 1.6;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		margin: 11vw 0 0;
	}
	
	input[type="checkbox"] {
      position: relative;
      width: 4.4vw;
      height: 4.4vw;
      background: #FFF;
      border: 1px solid #567b7d;
      vertical-align: -1vw;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      margin-right: 1.6vw;
    }

    input[type="checkbox"]:checked:before {
      position: absolute;
      top: 1px;
      left: 1.2vw;
      transform: rotate(50deg);
      width: 1.6vw;
      height: 2.8vw;
      border-right: 0.4vw solid #567b7d;
      border-bottom: 0.4vw solid #567b7d;
      content: '';
    }
	
	div.btn_block {
		margin-top: 11vw;
	}
	
	div.btn_block.back {
		margin-top: 15vw;
	}
	
	div.btn_block button,
	div.mfp_buttons button,
	div.btn_block a{
		width: 11.5em;
		display: block;
		font-size: 1.47rem;
		font-size: clamp(1.47rem, 4.09vw, 3.93rem);
		font-weight: 500;
		line-height: 1;
		text-align: center;
		color: #ffece8;
		background: #567b7d;
		padding: 0.8em 0 0.9em;
		border-radius: 5.4vw;
		margin: 0 auto;
	}
	
	div.btn_block a{
		width: 8.5em;
	}
	
	.mfp_err {
		font-size: 1.38rem;
		font-size: clamp(1.38rem, 3.84vw, 3.69rem);
		font-weight: 500;
		margin-top: 0.5em;
    }
	
	table#mfp_confirm_table {
		margin-top: 10vw;
		line-height: 1.6;
	}
	
	
	table#mfp_confirm_table tr th, table#mfp_confirm_table tr td {
		width: 100%;
		display: block;
        text-align: left;
        font-size: 12px;
        border-top: none;
        padding: 5px 10px;
    }
	
	table#mfp_confirm_table tr th {
        white-space: nowrap;
		font-size: 1.38rem;
		font-size: clamp(1.38rem, 3.84vw, 3.69rem);
		font-weight: 500;
		padding: 0.5em 0 0.25em;
    }
	
	table#mfp_confirm_table tr td {
		width: 70%;
        text-align: left;
        font-size: 1.38rem;
		font-size: clamp(1.38rem, 3.84vw, 3.69rem);
		font-weight: 400;
		line-height: 1.4;
        padding: 0 0 1.5em 0;
    }
	
	div.mfp_buttons {
		display: block;
		margin-top: 11vw;
	}
	
	div.mfp_buttons button + button{
		margin: 5vw auto 0;
	}
	
	div#mfp_phase_confirm h4 {
		font-size: 1.6rem!important;
		font-size: clamp(1.47rem, 4.09vw, 3.93rem)!important;
		font-weight: 700!important;
		line-height: 1;
		text-align: center;
	}
	
	.thanks{
		padding-bottom: 18vw;
    }
	
	.thanks .inner{
		width: 90%;
		margin: 0 auto;
    }
	
	.thanks .inner h2{
		font-weight: 400;
		text-align: center;
        color: #567b7d!important;
    }
	
	.thanks .inner p{
		line-height: 2!important;
    }
	
	.thanks .inner p.cap{
		font-size: 1.2rem!important;
		font-size: clamp(1.2rem, 3.32vw, 3.192rem)!important;
		text-indent: -1em;
		padding-left: 1em;
		line-height: 1.5!important;
		margin-top: 0.75em;
    }
}