@charset "utf-8";

header .fixed_menu {
	display: none;
}

.title_area {
	background: url('../images/contact/title_contact.jpg') no-repeat;
	background-size: 100%;
}

.steps {
	display: inline-block;
	margin:1em 0 2em;
}

.steps li {
	font-family: "M PLUS 1p", "メイリオ", "Meiryo", sans-serif;
	display: inline-block;
	padding-top:21px;
	width:22vw;
	position: relative;
	text-align: center;
	color:#999;
}

.steps li:after {
	content:"";
	width:14px;
	height:14px;
	border:solid 3px #699;
	border-radius: 100%;
	background: #699;
	position: absolute;
	top:0;
	left:50%;
	margin-left:-10px;
	z-index: 2;
}

.steps li.active {
	color:#330;
}

.steps li.active:after {
	border:solid 3px #066;
}

.steps li + li:before {
	content:"";
	width:100%;
	height:0;
	border-top:solid 2px #699;
	position: absolute;
	top:9px;
	left:calc(-50%);
	z-index: 1;
}

section#contact {
	text-align: center;
	padding-bottom:3em;
}

p.lead {
	text-align: left;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
	margin-bottom:1em;
}

p.lead a {
	color:#066;
	text-decoration: underline;
}

p.lead span {
	display: inline-block;
}

.input_area {
	font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	text-align: left;
	padding-top:3em;
}

/* index ------------------------------*/

.return {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
	display: inline-block;
	border:solid 1px #707070;
	padding:0.7em 1em;
	text-align: left;
}

.by_tel {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
	margin:1em 0 0;
}

.by_tel a {
	color:#066;
}

.by_tel > p {
	font-size:1.2em;
}

.by_tel > p span {
	display: inline-block;
}

.by_tel > p.note {
	font-size:12px;
	text-align: left;
	margin:0.3em 0;
}

.by_tel > div dl {
	border:solid 2px #966;
	margin-top:1em;
}

.by_tel > div dl dt {
	position: relative;
	color:#330;
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 1.2;
	padding:0.6em 1em 0;
}

.by_tel > div dl dt span {
	font-size:12px;
	display: block;
	color:#000;
	line-height: 1.6;
	letter-spacing: 0;
}

.by_tel > div dl dd {
	padding:0.6em 1em;
	box-sizing: border-box;
	font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	font-weight:500;
	color:#330;
	line-height: 1.8;
}

.by_tel > div dl dd a {
	display: block;
}

.by_tel > div dl dd a img {
	display: block;
	margin:0 auto;
	max-width:200px;
}

.input_area dl {
	padding: 1.6em 0 1.2em;
}

.confirm .input_area dl {
    border-bottom: dotted 1px #666;
}

.confirm .input_area > dl:nth-of-type(1) {
	border-top: dotted 1px #666;
}

.input_area dl dt {
	font-weight:600;
	font-size: 1.2em;
	line-height: 1.1;
	padding:0 0 0.5em;
}

.input_area dl dt span {
	display: inline-block;
	vertical-align: top;
	color:#FFF;
	font-weight:400;
	background: #066;
	font-size:12px;
	border-radius: 3px;
	padding:0.2em 0.5em 0.3em;
	margin:0 8px 0 5px;
	line-height: 1.0;
}

.input_area dl dt p.note {
	font-size: 11px;
	color:#066;
	font-weight: 500;
	display: inline-block;
}

.input_area dl dd {
	font-size: 1.1em;
}

.check_list li {
	display: inline-block;
	vertical-align: top;
	min-width: 10em;
	padding:0 1em 0.3em 0;
	box-sizing: border-box;
}

.input_area input[type="checkbox"],
.input_area input[type="radio"] {
	display: none;
}

.input_area input[type="checkbox"] + label,
.input_area input[type="radio"] + label {
	position: relative;
	padding-left:20px;
	font-family: "M PLUS 1p", "メイリオ", "Meiryo", sans-serif;
}

.input_area input[type="radio"] + label {
	margin-right:1.6em;
}

.input_area input[type="checkbox"] + label:before,
.input_area input[type="radio"] + label:before {
	content:"";
	display: block;
	position: absolute;
	top:calc(0.75em - 8px);
	left:0;
	width:14px;
	height:14px;
	border:solid 1px #666;
	border-radius: 2px;
}

.input_area input[type="radio"] + label:before {
	border-radius: 100%;
	box-shadow: 0 0 0 1px #666;
	border:none;
	box-sizing: border-box;
}

.input_area input[type="checkbox"]:checked + label:before {
	border:solid 1px #066;
	background: #066;
}

.input_area input[type="checkbox"]:checked + label:after {
	content:"";
	display: block;
	position: absolute;
	top:calc(0.75em - 7px);
	left:5px;
	width:4px;
	height:8px;
	transform: rotate(45deg);
	border-right:solid 2px #FFF;
	border-bottom:solid 2px #FFF;
}

.input_area input[type="radio"]:checked + label:before {
	box-shadow: 0 0 0 1px #666;
	border:solid 2px #FFF;
	background: #066;
}

.date_time_inner {
	display: flex;
	align-items: flex-start;
	margin-bottom:1em;
}

.date_time_inner label {
	min-width:4.2em;
	margin-top:6px;
}

.confirm .date_time_inner label {
	min-width: 5em;
}

.date_time_inner > div {
	width:100%;
}

.confirm .date_time_inner label {
	margin-top:0;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
	width:100%;
	box-sizing: border-box;
	line-height: 2.0;
	margin:0;
	border:solid 1px #666;
	border-radius:0;
}

input[type="text"]#postal1,
input[type="text"]#postal2 {
	width:5em;
	margin:0 4px 0 0;
}

input[type="text"]#postal2 {
	margin:0 0 0 4px;
}

.select_wrap {
	position: relative;
	width:11em;
	display: inline-block;
}

.address_wrap .select_wrap {
	width:10em;
}

.date_wrap {
	position: relative;
	width:17em;
	margin-bottom:6px;
	margin-right:1em;
	display: inline-block;
}

.select_wrap select,
.date_wrap input[type="text"] {
	width:100%;
	padding-right:26px;
}

.select_wrap:before,
.date_wrap:before {
	content:"";
	display: block;
	position: absolute;
	width:8px;
	height:8px;
	top:50%;
	margin-top:-7px;
	right:12px;
	border-right:solid 1px #444;
	border-bottom:solid 1px #444;
	transform: rotate(45deg);
}

select {
	line-height: 2.0;
}

select.not_selected {
  font-weight:700;
  color:#366;
}

.dateclass.placeholderclass::placeholder {
  font-weight:700;
  color:#366;
}

.dateclass.placeholderclass::-ms-input-placeholder {
  font-weight:700;
  color:#366;
}

.dateclass.placeholderclass:-ms-input-placeholder {
  font-weight:700;
  color:#366;
}

.address_wrap dd table {
	width:100%;
	box-sizing: border-box;
}

.address_wrap dd table th {
	width:4.5em;
	line-height: 1.2;
	vertical-align: top;
	padding:12px 0 3px 0;
}

.address_wrap dd table th.addr_th {
	padding:5px 0 3px 0;
}

.address_wrap dd table td {
	vertical-align: middle;
	padding:3px 0;
	position: relative;
}

textarea {
	width:100%;
	box-sizing: border-box;
	min-height:8em;
	margin-bottom:0;
}

.agree_area {
	font-size:1.1em;
}

.agree_area label {
	display: block;
	line-height: 1.3;
}

.agree_area label a {
	color:#000;
	text-decoration: underline;
}

.input_area .agree_area input[type="checkbox"] + label {
	padding-left:26px;
}

.input_area .agree_area input[type="checkbox"] + label:before {
	top:calc(0.65em - 7px);
}

.input_area .agree_area input[type="checkbox"]:checked + label:after {
	top:calc(0.65em - 6px);
}

p.error {
	color:#D03;
	font-weight:700;
}

.btns {
	margin:2em auto;
	text-align: center;
	width:100%;
	max-width: 440px;
}

.btns ul {
	display: flex;
	gap:0 2.2vw;
	justify-content: center;
}

.btns ul li {
	text-align: center;
	box-sizing: border-box;
}

.btns.input_btns ul li {
	width:100%;
}

.btns ul li a {
	display: block;
	border-radius: 1.2em;
	background: #FFF;
	color:#066;
	border:solid 1px #066;
	padding:0 1em;
	font-size: 3.8vw;
	line-height: 2.4;
}

.btns ul li a:hover {
	text-decoration: none;
}

.btns ul li.go a {
	background: #066;
	color:#FFF;
	border:solid 1px #066;
	padding:0 1.6em 0 0.8em;
	position: relative;
}

.btns ul li.go a:before {
	content:"";
	display: block;
	width:6px;
	height:6px;
	transform: rotate(45deg);
	border-right:solid 1px #FFF;
	border-top:solid 1px #FFF;
	position: absolute;
	top:50%;
	right:0.8em;
	margin-top:-4px;
}


#privacy .section_inner {
	background: #EBE8E8;
	padding:3em 0 3em;
}

#privacy .privacy_inner {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
	background: #FFF;
	height:324px;
	overflow-y: scroll;
	box-sizing: border-box;
	margin-top:1em;
	padding:20px;
}

#privacy .privacy_inner p,
#privacy .privacy_inner h4,
#privacy .privacy_inner ol li {
	font-size: 12px;
}

#privacy .privacy_inner h4 {
	margin-top:1.4em;
}

#privacy .privacy_inner h4:before {
	content:"■";
	font-size: 0.5em;
}

#privacy .privacy_inner ol {
	padding-left:1.2em;
}

#privacy .privacy_inner ol li {
	list-style: decimal;
}

/* confirm ------------------------------*/

.input_area dl dd span {
	color:#888;
	display: inline-block;
	margin-right:1em;
}

.input_area dl.address_wrap dd span.pc {
	display: none;
	color:#000;
}

.input_area dl dd span.date_time {
	color:#000;
}


@media screen and (min-width: 380px) {

.steps li {
	width:84px;
}

.btns ul {
	gap:0 1em;
}

.btns ul li a {
	font-size: 14px;
}

.btns ul li {
	width:42%;
}

.btns ul li.go {
	width: 60%;
}

.btns.input_btns ul li,
.btns.input_btns ul li.go {
	width:100%;
}

.btns ul li.go a {
	padding:0 2em 0 1em;
}

.btns ul li.go a:before {
	right:1.0em;
}

/* index ------------------------------*/

.input_area dl dt p.note {
	font-size: 3vw;
}

.input_area dl dt span {
	margin:0 12px 0 8px;
}


}

@media screen and (min-width: 480px) {

.btns ul li,
.btns ul li.go {
	width: 100%;
}

/* index ------------------------------*/

.input_area dl dt p.note {
	font-size: 13px;
}

.by_tel > div dl {
	display: inline-flex;
	align-items: center;
	max-width: 466px;
	box-sizing: border-box;
}

.by_tel > div dl dt {
	width:17em;
	padding:0.6em 1em;
	box-sizing: border-box;
}

.by_tel > div dl dt br.pc {
	display: block;
}

.by_tel > div dl dt:after {
	content:"";
	display: block;
	height:calc(100% - 16px);
	width:0;
	border-right:solid 1px #966;
	position: absolute;
	top:8px;
	right:0;
}

.by_tel > div dl dd {
	max-width: 280px;
	padding:0.4em 0.6em 0.2em;
	width:100%;
}

.by_tel > div dl dd a {
	padding:0 0.4em;
	box-sizing: border-box;
}

.by_tel > div dl dd a img {
	max-width: none;
}

.by_tel > div dl dd span {
	padding-left:0.4em;
}

.check_list li {
	min-width: 0;
	padding-right:2.5em;
}

/* confirm ------------------------------*/


/* complete ------------------------------*/

}



@media screen and (min-width: 640px) {

.steps li {
	width:160px;
	padding-top:30px;
}

.steps li:after {
	width:20px;
	height:20px;
	border:solid 4px #699;
	margin-left:-14px;
}

.steps li.active:after {
	border:solid 4px #066;
}

.steps li + li:before {
	top:13px;
}

p.lead {
	text-align: center;
	font-size: 14px;
	margin-bottom:2em;
}

p.lead br.pc {
	display: block;
}

.btns ul {
	gap:0 2em;
}

.btns ul li a {
	font-size: 15px;
}

.btns ul li.go a:before {
	right:1.2em;
}

/* index ------------------------------*/

.date_time_inner {
	margin-bottom:3px;
}

.address_wrap dd table th {
	width:9em;
}

.address_wrap dd table th br.sp {
	display: none;
}

.address_wrap dd table th.addr_th {
	padding-top:12px;
}

.input_area dl.address_wrap dd span.pc {
	position: absolute;
    display: block;
    top: 11px;
    left: -20px;
}

textarea {
	min-height: 15em;
}

.agree_area {
	text-align: center;
}

.input_area .agree_area input[type="checkbox"] + label {
	display: inline;
}

#privacy .privacy_inner {
	padding:26px 20px;
}

#privacy .privacy_inner p,
#privacy .privacy_inner h4,
#privacy .privacy_inner ol li {
	font-size: 13px;
}

/* confirm ------------------------------*/


/* complete ------------------------------*/

}


@media screen and (min-width: 768px) {

.input_area dl dt {
	font-size: 16px;
}

.input_area dl dd,
.agree_area {
	font-size:15px;
}

/* index ------------------------------*/

.return {
	font-size: 14px;
	padding:0.7em 0.5em;
}

.by_tel > p.note {
	text-align: center;
}

#privacy .section_inner {
	padding:4em 0 6em;
}

#privacy .privacy_inner {
	margin-top:2em;
}

/* confirm ------------------------------*/


/* complete ------------------------------*/

}


@media screen and (min-width: 860px) {

.input_inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap:0 2em;
}

.input_inner dl {
	width: calc( (100% - 2em)/2 );
}

}


@media screen and (min-width: 1040px) {

header .fixed_menu {
	display: block;
}

.input_area {
    margin-top: -152px;
    padding-top: calc(152px + 3em);
}

.input_area dl dt {
	padding:0 0 14px;
}

/* index ------------------------------*/

.by_tel > div {
	display: flex;
	gap:0 40px;
}

/* confirm ------------------------------*/


/* complete ------------------------------*/

}


@media screen and (min-width: 1116px) {

/* index ------------------------------*/

.by_tel > div dl dd {
	font-size: 16px;
}

/* confirm ------------------------------*/


/* complete ------------------------------*/

}
