@charset "utf-8";

/* -----------------------------------------------------------------
 error
----------------------------------------------------------------- */
.err_txt {
	font-size:.92em;
	color:#ff0101;
}
.box_err_msg {
	margin-top:1.5em;
	padding:.8em;
	background:#fff4f4;
}
.box_err_msg .err_msg {
	font-weight:bold;
	font-size:.94em;
	color:#ff0101;
}
.box_err_msg + .box_form_body {
	margin-top:1.5em;
}
.err {
	background:#fff4f4 !important;
}
@media screen and (min-width: 768px) {
.box_err_msg .err_msg {
	text-align:center;
}
}


/* -----------------------------------------------------------------
 送信完了
----------------------------------------------------------------- */
.box_thanks {
	margin-top:2.5em;
}
.box_thanks .ttl_thanks {
	text-align:center;
	font-size:1.78em;
	color:#026c9f;
}
.box_thanks .msg {
	margin-top:1em;
}
.box_thanks + * {
	margin-top:2.5em;
}
@media screen and (min-width: 768px) {
.box_thanks .msg {
	text-align:center;
}
}


/* -----------------------------------------------------------------
 common
----------------------------------------------------------------- */
input::placeholder {
  color: #949595;
}
input:-ms-input-placeholder {/* IE */
  color: #949595;
}
input::-ms-input-placeholder {/* Edge */
  color: #949595;
}
@media screen and (min-width: 1024px) {
input::placeholder {
	font-weight:bold;
	font-size:.89em;
}
input:-ms-input-placeholder {/* IE */
	font-weight:bold;
	font-size:.89em;
}
input::-ms-input-placeholder {/* Edge */
	font-weight:bold;
	font-size:.89em;
}
}

/*---------- box_style01 ----------*/
.box_style01 {
}
.box_style01 .ttl {
	display:flex;
	justify-content: center;
	align-items: center;
	padding:.4em;
	background:#e4f0f7;
	border:#026c9f 1px solid;
	border-bottom:none;
	text-align:center;
	font-weight:bold;
	font-size:1.42em;
	color:#026c9f;
}
.box_style01 .ttl .ico {
	width:1em;
	margin-right:.3em;
}
.box_style01 .cont {
	padding:1em 1em;
	border:#026c9f 1px solid;
}

.box_style01 .cont .subttl,
.box_style01 .cont .numttl {
	margin-top:1em;
	font-weight:bold;
	font-size:1.14em;
	color:#026c9f;
}
.box_style01 .cont .layout_telnum {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-content: center;
}
.box_style01 .cont .numttl,
.box_style01 .cont .num {
	line-height:1.4;
}
.box_style01 .cont .num {
	display: flex;
	align-items: center;
	font-weight:bold;
	font-size:2.28em;
	color:#ff7484;
}
.box_style01 .cont .num .ico {
	width:1em;
	margin-right:.2em;
}
@media screen and (min-width: 768px) {
.box_style01 .ttl {
	font-size:1.22em;
}
.box_style01 .cont {
	font-size:.94em;
}
.box_style01 .cont .subttl {
	font-size:1.38em;
}
.box_style01 .cont .layout_flex {
    display: flex;
    flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-top:1em;
}
.box_style01 .cont .layout_flex >* {
	margin:0 .3em;
}
.box_style01 .cont .layout_flex .numttl {
	margin-top:0;
}

.box_style01 .cont .numttl {
	font-size:.94em;
}
.box_style01 .cont .num {
	font-size:1.77em;
}

}

/* -----------------------------------------------------------------
 box_intro
----------------------------------------------------------------- */
.box_intro .intro {
	margin-top:2em;
}
.box_intro .err:nth-of-type(1) {
	margin-top:1em;
}
@media screen and (min-width: 768px) {
.box_intro .intro {
	margin-top:3em;
	text-align:center;
}
.box_intro .err {
	text-align:center;
}
}

/* -----------------------------------------------------------------
 box_phone
----------------------------------------------------------------- */
.box_phone .ttl_lv3 {
	margin-top:.9em;
}

@media screen and (min-width: 768px) {
.box_phone .ttl_lv3 {
	margin-top:1.2em;
}

}

/* -----------------------------------------------------------------
 box_contact
----------------------------------------------------------------- */
.box_contact {
	margin-top:.6em;
}
.box_contact .ttl .ico {
    width: 1.5em;
}
.box_contact .cont .num {
	margin-top:.3em;
}
.box_contact .cont .line01 {
	margin-top:.3em;
	text-align:center;
}
.box_contact .cont .line02 {
	margin-top:.5em;
	text-align:center;
}
@media screen and (min-width: 1024px) {

.box_contact .ttl {
	padding:.7em;
}
.box_contact .cont .layout_cont {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.box_contact .cont .num {
	margin-top:0;
	margin-right:.5em;
	font-size:2.5em;
}
.box_contact .cont .line01,
.box_contact .cont .line02 {
	margin-top:0;
	text-align:left;
}	
.box_contact .cont .line01 .font_bold {
	margin-right:.5em;
	font-size:1.11em;
}
}

/* -----------------------------------------------------------------
 box_form
----------------------------------------------------------------- */
@media screen and (min-width: 1024px) {
.box_form .ttl_lv3 {
	margin-top:1.5em;
}

}

/* -----------------------------------------------------------------
 box_attention
----------------------------------------------------------------- */
.box_attention {
	margin-top:1em;
	padding:1em .8em;
	border:#76cbd5 1px solid;
	border-radius:5px;
	background:#fffef7;
}
.box_attention .ttl {
	font-weight:bold;
	font-size:1.17em;
	color:#50a1c5;
}

@media screen and (min-width: 768px) {
.box_attention {
	margin-top:.4em;
	padding:1.3em 2em;
}
.box_attention p {
	margin-top:.4em;
	font-size:.94em;
}
}



/* -----------------------------------------------------------------
 box_form_body
----------------------------------------------------------------- */
.box_form_body {
	margin-top:2em;
	padding:1em .8em;
	border:#d4ecf3 3px solid;
}
.box_form_body .item {
	margin-bottom:.8em;
	padding-bottom:.8em;
	border-bottom:#76b5d5 1px solid;
}
.box_form_body .item .reqd {
	margin-right:.4em;
	padding:.1em .5em;
	background:#76b5d5;
	line-height:1;
	font-size:.92em;
	color:#fff;
}
.box_form_body .item .ttl label {
	font-weight:bold;
}
.box_form_body .item .cont {
	overflow:hidden;
	margin-top:.3em;
}
.box_form_body.preview .item .cont {/*送信確認*/
	padding:.8em 0;
}
.box_form_body .item .cont input,
.box_form_body .item .cont textarea,
.box_form_body .item .cont select {
	padding:.4em;
	background:#f6f6f6;
	border:none;
}
.box_form_body .item blockquote {
	display:none;
}
.box_form_body.error .item blockquote {
	clear:both;
	display:block;
}

.box_form_body .item blockquote.confirm {
	display:inline-block;
}


@media screen and (min-width: 768px) {
.box_form_body {
	padding:1em .8em 2.6em;
}
}
@media screen and (min-width: 1024px) {
.box_form_body .item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.box_form_body .item .reqd {
	margin-right:0;
	font-size:.72em;
}
.box_form_body .item .ttl label {
	display:block;
	font-size:1.11em;
}
.box_form_body .item .ttl {
	width:16em;
}
.box_form_body .item .cont {
	width:calc(100% - 16em);
}
.box_form_body.preview .item .cont {/*送信確認*/
	padding:1em 0;
}
}


/*---------- box_radio ----------*/
.box_form_body .item .cont .box_radio {
	display:inline-block;
	padding:.4em;
	background:#f6f6f6;
}
.box_form_body .item .cont .box_radio + .box_radio {
	margin-left:.5em;
}
.box_radio input[type="radio"] {
	display: none;
}
.box_radio label {
	padding: 0 2em 0 1.6em;
	line-height: 1.4em;
	display: inline-block;
	cursor:	pointer;
	position: relative;
}
.box_radio label:before {
	content: '';
	width: 1.4em;
	height: 1.4em;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #fff;
	border:#b0afaf 1px solid;
	border-radius: 50%;
	box-sizing:border-box;
}
.box_radio input[type="radio"]:checked + label:after {
	content: '';
	width: .6em;
	height: .6em;
	position: absolute;
	top: .4em;
	left: .4em;
	background-color: #333;
	border-radius: 50%;
}
@media screen and (min-width: 1024px) {
.box_radio label {
	font-weight:bold;
}
}

/*---------- box_check ----------*/
.box_check {
	display:block;
	padding:.6em .4em .4em;
	border:#b0afaf 1px solid;

}
.box_check input[type="checkbox"] {
	display: none;
}
.box_check label {
	padding: 0 0 0 1.8em;
	line-height: 1.4em;
	display: inline-block;
	cursor:	pointer;
	position: relative;
}
.box_check label:before {
	content: '';
	width: 1.4em;
	height: 1.4em;
	position: absolute;
	top:calc(50% - .7em);
	left: 0;
	background-color: #fff;
	border:#b0afaf 1px solid;
	border-radius: 50%;
	box-sizing:border-box;
}
.box_check input[type="checkbox"]:checked + label:after {
	content: '';
	width: .6em;
	height: .6em;
	position: absolute;
	top:calc(50% - .3em);
	left: .4em;
	background-color: #333;
	border-radius: 50%;
}
@media screen and (min-width: 1024px) {
.box_check label span {
	font-weight:bold;
}
}


/*---------- form_parts ----------*/
#mail_email, #mail_email_confirm, #mail_tel, #mail_text {
	width:100%;
}
#mail_author, #mail_mei, #mail_sei_kana, #mail_mei_kana {
	width:48%;
	float:left;
}
#mail_mei, #mail_mei_kana {
	float:right;
}
#mail_age {
	min-width:13em;
	height: 2.5em;/*Mac Chrome対策*/
}
#mail_preview, #mail_post {
	display:block;
	width:78%;
	margin:1em auto;
	padding:1em;
	border:none;
	background:#76b5d5;
	color:#fff;
	cursor: pointer;
}
@media screen and (min-width: 1024px) {
#mail_age {
	font-weight:bold;
}
#mail_preview, #mail_post {
	font-size:1.11em;
	width:15em;
	margin:1.5em auto 1em;
}

}

/*---------- box_form_footer ----------*/
#box_form_footer p {
	font-size:.94em;
}
@media screen and (min-width: 1024px) {
#box_form_footer p {
	text-align:center;
}
}