@charset "utf-8";

/* ----------------------------------------------------------------------------------------------------------
 #contact common
---------------------------------------------------------------------------------------------------------- */

/* smartphone
------------------------------------------------------------*/
#contact {
}
#contact a {
	text-decoration: underline;
}
#contact img {
	width: 100%;
}

.special{
	width: 100%;
	border: 1px solid #FF0000;
	margin: 20px auto 0;
	padding: 20px;
	text-indent: 0;
	font-size: 20px;
	font-size: 3.33333vw;
	color: #FF0000;
}

/* PC
------------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
#contact {
}
#contact a {
	text-decoration: underline;
}
	
.special{
	width: 100%;
	border: 1px solid #FF0000;
	margin: 20px auto 0;
	padding: 20px;
	text-indent: 0;
	font-size: 20px;
	color: #FF0000;
}	

}/* PC End */



/* ----------------------------------------------------------------------------------------------------------
 #contact #kv
---------------------------------------------------------------------------------------------------------- */

/* smartphone
------------------------------------------------------------*/
#contact #kv {
}
#contact #mainArea {
	position: relative;
	width: 100%;
	height: 53.33333vw;
	margin: 0 auto 16vw;
} 
#contact .h2Bg {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}
#contact h2 {
	position: absolute;
	width: 100%;
	top: 19.83333vw;
	left: 0;
	z-index: 2;
	font-weight: 700;
	font-size: 9.33333vw;
	text-align: center;
	color: #fff;
	line-height: 1.24;
}
#contact h2 span {
	display: block;
	font-size: 4vw;
	font-weight: normal;
	letter-spacing: -0.06em;
}


/* PC
------------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
#contact #kv {
}
#contact #mainArea {
	position: relative;
	width: 1100px;
	height: 500px;
	margin: 0 auto 100px;
} 
#contact .h2Bg {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}
#contact h2 {
	position: absolute;
	width: 100%;
	top: 182px;
	left: 0;
	z-index: 2;
	font-weight: 700;
	font-size: 80px;
	text-align: center;
	color: #fff;
	letter-spacing: 0.05em;
	line-height: 1.24;
}
#contact h2 span {
	display: block;
	font-size: 25px;
	font-weight: normal;
	letter-spacing: -0.06em;
}
}/* PC End */



/* ----------------------------------------------------------------------------------------------------------
 #contact TOP
---------------------------------------------------------------------------------------------------------- */

/* smartphone
------------------------------------------------------------*/
#contact #contactBox {
	width: 81.33333vw;
	margin: 0 auto 13.33333vw;
}
#contact #contactBox h3 {
	text-align: center;
	font-size: 4vw;
	padding-bottom: 5.33333vw;
	font-weight: 400;
}
#contact #contactBox .contactBtn a {
	display: block;
	width: 60vw;
	height: 16vw;
	border: 1px solid #000;
	text-align: center;
	line-height: 16vw;
	font-size: 4vw;
	font-weight: 400;
	color: #000;
	background: url("../../common/images/arrow.svg") 94% center / 1.06667vw 2.66667vw no-repeat;
	margin: 0 auto 12vw;
	box-sizing: border-box;
	text-decoration: none;
}
#contact #contactBox .radioArea {
	width: 100%;
  padding: 0 4vw;
}
#contact #contactBox .radioArea li {
	width: 100%;
  margin-bottom: 1.666vw;
  font-size: 3.33333vw;
}
#contact #contactBox .radioArea li label {
  cursor: pointer;
}
#contact #contactBox .radioArea li label input {
  vertical-align:0.2em;
  margin-right: 5px;
  width: auto !important;
}
#contact #contactBox .cp_ipselect {
	overflow: hidden;
	width: 70vw;
	margin: 1.26667vw auto 2.86667vw;
	text-align: center;
}
#contact #contactBox .cp_ipselect select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
#contact #contactBox .cp_ipselect select::-ms-expand {
    display: none;
}
#contact #contactBox .cp_ipselect.cp_sl02 {
	position: relative;
	border: 1px solid #000;
	background: #fff;
}
#contact #contactBox .cp_ipselect.cp_sl02::before {
	position: absolute;
	top: 4vw;
	right: 2.4vw;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #999;
	pointer-events: none;
  z-index: 2;
}
#contact #contactBox .cp_ipselect.cp_sl02:after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 4em;
	content: '';
	border-left: 1px solid #000;
  background: #ccc;
  z-index: 1;
}
#contact #contactBox .cp_ipselect.cp_sl02 select {
	padding: 1.06667vw 10.06667vw 1.06667vw 1.06667vw;
	color: #000;
  font-size: 4vw;
  position: relative;
  z-index: 3;
}
#contact #contactBox .contactArea {
	width: 100%;
	margin-bottom: 6.66667vw;
}
#contact #contactBox .contactArea dl {
	margin-bottom: 1.33333vw;
}
#contact #contactBox .contactArea dl dt {
	width: 100%;
	padding: 2.66667vw;
	text-align: center;
	font-size: 3.33333vw;
	box-sizing: border-box;
	background: #4d4d4d;
	vertical-align: middle;
	color: #fff;
	border: 1px solid #4d4d4d;
	margin-bottom: 1.33333vw;
}
#contact #contactBox .contactArea dl dt span {
	font-size: 2.66667vw;
}
#contact #contactBox .contactArea dl dt span.requiredcolor {
	color: #fff100;
}
#contact #contactBox .contactArea dl dd {
	width: 100%;
	box-sizing: border-box;
	vertical-align: middle;
	border: 1px solid #4d4d4d;
	margin-bottom: 1.33333vw;
	padding: 1.6666vw 0 0;
}
#contact #contactBox .contactArea dl dd input::-webkit-input-placeholder,
#contact #contactBox .contactArea dl dd textarea::-webkit-input-placeholder {
	color: #C8C8C8;
}
#contact #contactBox .contactArea dl dd input::-moz-placeholder,
#contact #contactBox .contactArea dl dd textarea::-moz-placeholder {
	color: #C8C8C8;
}
#contact #contactBox .contactArea dl dd input:-ms-input-placeholder,
#contact #contactBox .contactArea dl dd textarea:-ms-input-placeholder {
	color: #C8C8C8;
}
#contact #contactBox .contactArea dl dd.birthday {
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-justify-content:center;
	-moz-justify-content:center;
	-ms-justify-content:center;
	justify-content:center;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width:100%;
	margin: 0 auto;
  padding: 15px;
}
#contact #contactBox .contactArea dl dd.birthday span {
  font-size: 3.73333vw;
  padding: 0 0.6em;
}
#contact #contactBox .contactArea dl dd.birthday .cp_ipselect2 {
	overflow: hidden;
	width: 16vw;
	text-align: center;
	cursor: pointer;
}
#contact #contactBox .contactArea dl dd.birthday .cp_ipselect2 select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
#contact #contactBox .contactArea dl dd.birthday .cp_ipselect2::-ms-expand {
    display: none;
}
#contact #contactBox .contactArea dl dd.birthday .cp_ipselect2.cp_sl02 {
	position: relative;
	border: 1px solid #000;
	background: #fff;
}
#contact #contactBox .contactArea dl dd.birthday .cp_ipselect2.cp_sl02::before {
	position: absolute;
	top: 2.33333vw;
	right: 1.33333vw;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #000;
	pointer-events: none;
  z-index: 2;
}
#contact #contactBox .contactArea dl dd.birthday .cp_ipselect2.cp_sl02:after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 4em;
	content: '';
  z-index: 1;
}
#contact #contactBox .contactArea dl dd.birthday .cp_ipselect2.cp_sl02 select {
	padding: 0.53333vw 2.66667vw 0.53333vw 2.53333vw;
	color: #000;
  font-size: 3.73333vw;
  box-sizing: border-box;
  position: relative;
  z-index: 3;
}
.text {
  display: none;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

#contact #contactBox .contactArea dl dd input {
	width: 100%;
	box-sizing: border-box;
	border: none;
	outline: none;
	font-size: 2.66667vw;
	font-size: 16px;
	/*transform: scale(0.8);*/
	padding: 15px;
	font-family: 'Muli','Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#contact #contactBox .contactArea dl dd input[type="text"] {
	width: 100%;
}
#contact #contactBox .contactArea dl dd textarea {
	display: block;
	width: 100%;
	min-height: 21.33333vw;
	padding: 15px;
	resize: vertical;
	border: none;
	border-radius: 0;
	-webkit-appearance: none;
	font-size: 2.66667vw;
	font-size: 16px;
	/*transform: scale(0.8);*/
	outline: none;
	font-family: 'Muli','Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#contact #contactBox p {
	font-size: 3.33333vw;
	text-indent: -1em;
	padding-left: 1em;
}
#contact #contactBox p span {
	display: none;
}
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
}
form#mail_form input[type="submit"] {
	display: block;
	width: 40vw;
	height: 10.93333vw;
	border: 1px solid #000;
	text-align: center;
	line-height: 10.93333vw;
	font-size: 4vw;
	font-weight: 400;
	color: #000;
	background: #fff;
	margin: 7.2vw auto 12vw;
	box-sizing: border-box;
	text-decoration: none;
	cursor: pointer;
	outline: none;
}
form#mail_form dl dt span.required {
	display: none !important;
}
form#mail_form dl dd span.error_blank {
	display: block;
	color: #ff0000;
	margin-top: 0;
	font-size: 3.2vw;
	font-weight: 700;
	padding: 0 2.66667vw 2vw;
}
form#mail_form dl dd span.error_format {
	display: block;
	color: #ff0000;
	margin-top: 0;
	font-size: 3.2vw;
	font-weight: 700;
	padding: 0 2.66667vw 2vw;
}
form#mail_form dl dd span.error_match {
	display: block;
	color: #ff0000;
	margin-top: 15px;
}
#contact #contactBox p.contactTilteFixed {
	text-align: center;
	font-size: 5.33333vw;
	font-weight: 700;
	padding-bottom: 6.66667vw;
}



/* PC
------------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
#contact #contactBox {
	width: 860px;
	margin: 0 auto 80px;
}
#contact #contactBox h3 {
	text-align: center;
	font-size: 25px;
	padding: 10px;
	font-weight: 400;
}
#contact #contactBox .contactBtn a {
	display: block;
	width: 350px;
	height: 80px;
	border: 1px solid #000;
	text-align: center;
	line-height: 80px;
	font-size: 20px;
	font-weight: 400;
	color: #000;
	background: url("../../common/images/arrow.svg") 95% center / 9px 20px no-repeat;
	margin: 0 auto 50px;
	box-sizing: border-box;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	transition: all  0.3s ease;
}
#contact #contactBox .contactBtn a:hover {
	opacity: 0.7;
}
#contact #contactBox .radioArea {
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-justify-content:center;
	-moz-justify-content:center;
	-ms-justify-content:center;
	justify-content:center;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	margin-bottom: 10px;
  padding: 0 0 0;
}
#contact #contactBox .radioArea li {
	width: 100%;
  margin-bottom: 0;
  margin-right: 20px;
  font-size: 20px;
}
#contact #contactBox .radioArea li:last-child {
  margin-right: 0;
}
#contact #contactBox .radioArea li label input {
  vertical-align: 0.2em;
  width: auto !important;
}
#contact #contactBox .cp_ipselect {
	width: 380px;
	margin: 0 0 10px;
}
#contact #contactBox .cp_ipselect select {
	width: 100%;
}
#contact #contactBox .cp_ipselect.cp_sl02::before {
	position: absolute;
	top: 24px;
	right: 14px;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid #999;
	pointer-events: none;
  z-index: 2;
}
#contact #contactBox .cp_ipselect.cp_sl02:after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 48px;
	content: '';
	border-left: 1px solid #000;
  background: #ccc;
  z-index: 1;
}
#contact #contactBox .cp_ipselect.cp_sl02 select {
	padding: 12px 50px 12px 10px;
	color: #000;
  font-size: 20px;
  position: relative;
  z-index: 3;
}
#contact #contactBox .contactArea {
	width: 100%;
	margin-bottom: 40px;
}
#contact #contactBox .contactArea dl {
	display: table;
	border-collapse: collapse;
	margin-bottom: 5px;
}
#contact #contactBox .contactArea dl dt {
	display: table-cell;
	width: 260px;
	padding: 16px 8px 16px 8px;
	text-align: center;
	font-size: 20px;
	box-sizing: border-box;
	background: #4d4d4d;
	vertical-align: middle;
	color: #fff;
	border: 1px solid #4d4d4d
}
#contact #contactBox .contactArea dl dt span {
	font-size: 20px;
}
#contact #contactBox .contactArea dl dt span.requiredcolor {
	color: #fff100;
}
#contact #contactBox .contactArea dl dd {
	display: table-cell;
	width: 600px;
	padding: 16px 16px 5px;
	box-sizing: border-box;
	vertical-align: middle;
	border: 1px solid #4d4d4d;
}
#contact #contactBox .contactArea dl dd input {
	width: 100%;
	padding: 10px 10px;
	box-sizing: border-box;
	border: none;
	outline: none;
	font-size: 20px;
	background: #fff;
	font-family: 'Muli','Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#contact #contactBox .contactArea dl dd input[type="text"] {
	width: 100%;
}
#contact #contactBox .contactArea dl dd textarea {
	display: block;
	width: 100%;
	min-height: 160px;
	padding: 10px;
	resize: vertical;
	border: none;
	border-radius: 0;
	-webkit-appearance: none;
	font-size: 20px;
	background: #fff;
	outline: none;
	font-family: 'Muli','Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#contact #contactBox p {
	font-size: 16px;
	text-indent: -1em;
	padding-left: 1em;
	text-align: left;
}
#contact #contactBox p span {
	display: inline-block;
	text-indent: 0;
}

#contact #contactBox p a {
	display: none;
}
form#mail_form input[type="submit"] {
	display: block;
	width: 180px;
	height: 50px;
	border: 1px solid #000;
	text-align: center;
	line-height: 50px;
	font-size: 20px;
	font-weight: 400;
	color: #000;
	background: #fff;
	margin: 50px auto 0;
	box-sizing: border-box;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	transition: all  0.3s ease;
  vertical-align: middle;
  -webkit-appearance: none;
	cursor: pointer;
	outline: none;
}
form#mail_form input[type="submit"]:hover {
	opacity: 0.7;
}
form#mail_form dl dt span.required {
	display: none !important;
}
#contact #contactBox p.contactTilteFixed {
	text-align: center;
	font-size: 25px;
	font-weight: 700;
	padding-bottom: 50px;
}
#contact #contactBox .contactArea dl dd.birthday {
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-justify-content:flex-start;
	-moz-justify-content:flex-start;
	-ms-justify-content:flex-end;
	justify-content:flex-start;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width:600px;
	margin: 0 auto;
  padding: 15px;
}
#contact #contactBox .contactArea dl dd.birthday span {
  font-size: 20px;
}
#contact #contactBox .contactArea dl dd.birthday .cp_ipselect2 {
	width: 90px;
}
#contact #contactBox .contactArea dl dd.birthday .cp_ipselect2.cp_sl02::before {
	position: absolute;
	top: 15px;
	right: 10px;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #000;
	pointer-events: none;
  z-index: 2;
}
#contact #contactBox .contactArea dl dd.birthday .cp_ipselect2.cp_sl02:after {
	width: 30px;
}
#contact #contactBox .contactArea dl dd.birthday .cp_ipselect2.cp_sl02 select {
	padding: 5px 30px 5px 5px;
  font-size: 20px;
  position: relative;
  z-index: 3;
}


}/* PC End */



/* SP
------------------------------------------------------------*/
.pconly{
	display: none;
}

/* SP End */

/* PC
------------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
	.pconly{
		display: block;
	}
	.txtArea{
		height: 20em;     /* 高さを制限(※) */
		overflow: scroll;  /* スクロールバーを表示(※) */
		background-color: #DDDDDD; /* 背景色を追加 */
		padding: 20px;
		font-size: 16px;
	}
	p.red{
		color: #FF0000;
		padding: 20px 0;
	}
	div.agree{
		color: #FFFFFF;
		padding: 20px;
		background: #4d4d4d;
		width: 30%;
		margin: 10px auto 50px;
	}
	
	div.agree .requiredcolor{
		color: #fff100;
	}
	.redtxt{
		color: #FF0000;
		font-size: 14px;
		text-align: left;
	}
	.headerInr h1{
		width: 500px;
		top: 40%;
		margin: 0;
		left: 27%;
	}
	
}
/* PC End */