@charset "UTF-8";


/* ---------------------------------------
  共通
-----------------------------------------*/
.secttl2 .ttl.en {
	display: inline-block;
	position: relative;
	font-size: 4.2rem;
	letter-spacing: 0.1em;
	line-height: .8;
	padding: 22px 51px;
}

.secttl2 .ttl.ja {
	display: inline-block;
	font-weight: bold;
	font-size: 2.8rem;
	letter-spacing: 0.1em;
	line-height: 1;
}

.secttl2 .ttl.en::before,
.secttl2 .ttl.en::after {
	content: "";
	width: 16px;
	height: 16px;
	background: url(../img/common/kakko.png) no-repeat center / 100% auto;
	position: absolute;
}

.secttl2 .ttl.en::before {
	left: 0;
	top: 0;
}

.secttl2 .ttl.en::after {
	transform: scale(-1, -1);
	bottom: 0;
	right: 0;
}

.secttl2 .txt {
	font-weight: bold;
	font-size: 2.4rem;
	letter-spacing: 0.15em;
	font-feature-settings: "palt";
	margin-left: 2em;
}


main .cntblock {
	width: 920px;
	margin-left: auto;
}


@media screen and (max-width: 768px) {
	.secttl2 {
		text-align: center;
	}

	.secttl2 .ttl.en {
		font-size: 6.93vw;
		padding: 4vw 9.6vw;
	}

	.secttl2 .ttl.ja {
		font-size: 5.6vw;
	}

	.secttl2 .ttl.en::before,
	.secttl2 .ttl.en::after {
		width: 2.66vw;
		height: 2.66vw;
	}


	.secttl2 .txt {
		display: block;
		font-size: 4.4vw;
		line-height: 1.9;
		margin-left: 0;
		margin-top: .75em;
	}


	main .cntblock {
		width: 100%;
		display: block;
	}
}

/* ---------------------------------------
  sec_contact
-----------------------------------------*/
#sec_contact {
	padding: 145px 0 60px;
	overflow: hidden;
}

#sec_contact .inner {
	display: flex;
	justify-content: space-between;
	position: relative;
}

#sec_contact .secttl.is-show .border {
	max-height: 390px;
}

#sec_contact .cntblock .txtwrap {
	width: 792px;
	position: relative;
}

#sec_contact .cntblock .txtwrap + .txtwrap {
	padding-top: 70px;
	margin-top: 70px;
}

#sec_contact .cntblock .txtwrap + .txtwrap::before{
	content: "";
	width: calc(920px + ((100vw - 1200px) / 2));
	height: 1px;
	background-color: #000;
	position: absolute;
	left: 0;
	top: 0;
}

#sec_contact .cntblock .txtwrap .note {
	font-size: 1.5rem;
	margin-top: 1em;
}

#sec_contact .cntblock .txtwrap .box a {
	display: block;
	background-color: #cdb07c;
	padding: 32px 40px;
	margin-top: 60px;
	display: flex;
	align-items: center;
}

#sec_contact .cntblock .txtwrap .box a p {
	color: #fff;
}

#sec_contact .cntblock .txtwrap .box a .boxttl {
	font-size: 2rem;
	line-height: 1.8;
	letter-spacing: 0.05em;
	width: 180px;
	border-right: 1px solid #fff;
	margin-right: 46px;
	padding: .1em 0;
}

#sec_contact .cntblock .txtwrap .box a p .num {
	display: block;
	font-size: 4.2rem;
	line-height: 1;
	letter-spacing: 0.1em;
}

#sec_contact .cntblock .txtwrap .box a p .time {
	display: block;
	margin-top: .5em;
	letter-spacing: 0.05em;
}


#sec_contact .cntblock .txtwrap .ttl {
	font-weight: bold;
	font-size: 2rem;
	letter-spacing: 0.15em;
	margin-bottom: 3.5em;
}

#btn-auto {
	margin-left: 1.5em !important;
}

@media screen and (min-width: 769px) {
	#sec_contact .cntblock .txtwrap .box a {
		pointer-events: none;
	}
}

@media screen and (max-width: 768px) {
	#sec_contact {
		padding: 20vw 0 13.33vw;
	}

	#sec_contact .inner {
		display: block;
	}

	#sec_contact .cntblock .txtwrap {
		width: 100%;
	}

	#sec_contact .cntblock .txtwrap + .txtwrap {
		padding-top: 13.33vw;
		margin-top: 13.33vw;
	}

	#sec_contact .cntblock .txtwrap + .txtwrap::before{
	width: calc(100% + 8vw);
}

	#sec_contact .cntblock .txtwrap .txt {
		line-height: 2.125;
	}

	#sec_contact .cntblock .txtwrap .note {
		font-size: 3vw;
	}

	#sec_contact .cntblock .txtwrap .box a {
		padding: 4vw;
		margin-top: 13.33vw;
		display: block;
		text-align: center;
	}

	#sec_contact .cntblock .txtwrap .box a .boxttl {
		display: block;
		text-align: center;
		font-size: 4vw;
		width: 100%;
		border-right: none;
		margin-right: 0;
		padding: 0;
	}

	#sec_contact .cntblock .txtwrap .box a p .num {
		display: block;
		text-align: center;
		font-size: 7vw;
		margin-top: .4em;
	}

	#sec_contact .cntblock .txtwrap .box a p .time {
		text-align: center;
	}


	#sec_contact .cntblock .txtwrap .ttl {
		font-size: 4vw;
	}
}

/* ---------------------------------------
  sec_form
-----------------------------------------*/
#sec_form {
	background-color: #f2f2f2;
	padding: 40px 0 130px;
}

/*form*/
#sec_form .form {
	width: 792px;
}

#sec_form .form .box {
	padding: 30px 0;
	position: relative;
	border-bottom: 1px solid #d0cfcf;
}


#sec_form .form .box dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#sec_form .form .box dl + dl {
	margin-top: 40px;
}

#sec_form .form .box dl dt,
#sec_form .form .box dl dd,
#sec_form .form .box dl dd p {
	font-size: 1.6rem;
	line-height: 1.5;
}


#sec_form .form .box dl dt {
	width: 200px;
	display: flex;
	align-items: center;
}


#sec_form .form .box dl dt .must {
	display: inline-block;
	color: #fff;
	background: #cdb07c;
	font-size: 1.2rem;
	padding: 0 .5em;
	height: 18px;
	line-height: 18px;
	margin-left: .8em;
	position: relative;
	letter-spacing: 0.1em;
}

#sec_form .form .box dl dd {
	width: 565px;
}

#sec_form .form .box dl dd.flex {
	justify-content: space-between;
}


#sec_form .form .box dl dd span {
	display: inline-block;
	min-width: 2.7em;
}



#sec_form .form input[type="text"],
#sec_form .form input[type="email"],
#sec_form .form input[type="tel"],
#sec_form .form select,
#sec_form .form textarea {
	background: #fff;
	height: 48px;
	border: 1px solid #d0cfcf;
	padding: .5em 1em;
	width: 100%;
	font-size: 1.6rem;
}

#sec_form .form input.short {
	width: 228px;
}


/*phone*/
#sec_form .form .phone input {
	width: 129px;
}

#sec_form .form .phone input:last-child {
	margin-right: 0;
}

/*address*/
#sec_form .form .box .address dd span.ttl {
	display: block;
	min-width: inherit;
	margin: 0 0 .4em;
}

#sec_form .form .box .address p + p {
	margin-top: 30px;
}


#sec_form .form .box .address .post input {
	width: 129px;
}

#sec_form .form .box .address .post_btn {
	display: inline-block;
	margin-bottom: 0;
	vertical-align: bottom;
}

#sec_form .form .box .address .post_btn input[type='button'] {
	display: inline-block;
	width: 177px;
	height: 48px;
	margin-left: 40px;
	text-align: center;
	color: #fff;
	background: #cdb07c;
	font-size: 1.6rem;
	transition: all .3s ease;
	cursor: pointer;
	font-weight: normal;
	letter-spacing: 0.1em;
}



/*select*/
#sec_form .form select {
	width: 100%;
	padding-right: 3em;
}

.select {
	width: 298px;
	position: relative;

}

.select::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 5px 0 5px;
	border-color: #000000 transparent transparent transparent;
	position: absolute;
	right: 22px;
	top: 0;
	bottom: 0;
	margin: auto;
	pointer-events: none;
	z-index: 1;
}

.wpcf7-form-control-wrap.subject,
.wpcf7-form-control-wrap.message {
	width: 100%;
}

/*textarea*/
#sec_form .form .box .message {
	align-items: flex-start;
}

#sec_form .form .box .message dt {
	padding-top: .5em;
}

#sec_form .form textarea {
	height: 250px;
	resize: vertical;
	overflow: auto;
}

/**/
#sec_form .form .box .phone .wpcf7-form-control-wrap + span,
#sec_form .form .box .address dd .wpcf7-form-control-wrap + span {
	min-width: inherit;
	display: inline-block !important;
	font-weight: bold;
	margin: 0 .5em;

}

/*privacy*/
#sec_form .form .privacy {
	max-width: 500px;
	border: none;
	margin: 0 auto;
}

#sec_form .form .privacy .txt {
	letter-spacing: 0.04em;
	line-height: 2.125;
}

#sec_form .form .privacy .txt a {
	color: #7f7f7f;
	text-decoration: underline;
}

/*submitbtn*/
.btnwrap {
	margin-top: 60px;
}

.submitbtn {
	display: block;
	position: relative;
	width: 302px;
	height: 50px;
	border: 1px solid #000;
	border-bottom: none;
	margin: 0 auto;
	cursor: pointer;
}

.submitbtn::before {
	content: "";
	width: 108px;
	height: 1px;
	background-color: #000;
	position: absolute;
	left: 0;
	bottom: 0;
	transition: .3s ease;
}

.submitbtn::after {
	content: "";
	width: 6px;
	height: 6px;
	background-color: #000;
	border-radius: 50%;
	position: absolute;
	left: 108px;
	bottom: -3px;
	transition: .3s ease;
	margin-left: -3px;
}

.submitbtn:hover::before {
	width: 100% !important;
}

.submitbtn:hover::after {
	left: 100% !important;
}

.submitbtn input {
	display:block;
	width: 100%;
	height: 105%;
	text-align: right;
	font-size: 1.8rem;
	line-height: 1;
	letter-spacing: 0.05em;
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 1.9em 1.2em 0;
	z-index: 1;
	cursor: pointer;
	transition: .3s ease;
}


.submitbtn input + .arw {
	width: .5em;
	height: .5em;
	display: inline-block;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	transform: rotate(-45deg);
	position: absolute;
	right: .7em;
	bottom: .15em;
	transition: .3s ease;
}

.submitbtn:hover input {
	padding-top: .2em;
}

.submitbtn:hover input + .arw {
	bottom: 20px;
}

/*IE*/
.ie #sec_form .form .box dl dt .must{
	line-height: 22px;
	top: -.25em;
}

.ie #sec_form .form input[type="text"],
.ie #sec_form .form input[type="email"],
.ie #sec_form .form input[type="tel"],
.ie #sec_form .form select,
.ie #sec_form .form textarea {
	padding-top: .7em;
}

.ie #sec_form .form .box .address .post_btn input[type='button']{
	padding-top: .35em;
}

.ie .submitbtn input{
	padding-top: 2em;
}

.ie .submitbtn:hover input{
	padding-top: .4em;
}

.fm_company dd span,
.fm_mail dd span {
	width: 100% !important;
}

.wpcf7 form .wpcf7-response-output {
	font-size: 1.6rem;
  padding: 1em 2em !important;
}

@media screen and (max-width: 768px) {
	#sec_form {
		padding: 9.33vw 0 17.33vw;
	}

	/*form*/
	#sec_form .form {
		width: 100%;
	}

	#sec_form .form .box {
		padding: 4vw 0;
	}


	#sec_form .form .box dl {
		display: block;
	}

	#sec_form .form  .box dl + dl {
		margin-top: 8vw;
	}

	#sec_form .form .box dl dt,
	#sec_form .form .box dl dd,
	#sec_form .form .box dl dd p {
		font-size: 3.2vw;
		line-height: 1.5;
	}


	#sec_form .form .box dl dt {
		width: 100%;
		margin-bottom: 1em;
	}


	#sec_form .form .box dl dt .must {
		font-size: 2.4vw;
		height: 3.46vw;
		line-height: 3.46vw;
		padding: 0 .3em;
	}

	#sec_form .form .box dl dd {
		width: 100%;
	}

	#sec_form .form .box dl dd span {
		min-width: 2.7em;
	}



	#sec_form .form input[type="text"],
	#sec_form .form input[type="email"],
	#sec_form .form input[type="tel"],
	#sec_form .form select,
	#sec_form .form textarea {
		height:9.6vw;
		font-size: 3.2vw;
	}

	#sec_form .form input.short {
		width: 32.8vw;
	}


	/*phone*/
	#sec_form .form .phone input {
		width: 23.2vw;
	}

	/*address*/
	#sec_form .form .box .address dd span.ttl {
		display: block;
		min-width: inherit;
		margin: 0 0 .4em;
	}

	#sec_form .form .box .address p + p {
		margin-top: 4vw;
	}


	#sec_form .form .box .address .post input {
		width: 23.2vw;
		margin-left: auto;
	}

	#sec_form .form .box .address .post_btn {
		display: inline-block;
		margin-bottom: 0;
		vertical-align: bottom;
		margin-right: 0;
	}

	#sec_form .form .box .address .post_btn input[type='button'] {
		width: 23vw;
		height: 9.6vw;
		margin-left: 1vw;
		font-size: 2.8vw;
	}



	/*select*/
	#sec_form .form select {
		width: 100%;
		padding-right: 3em;
	}

	.select {
		width: 59.6vw;

	}

	.select::before {
		border-width: 1.6vw .8vw 0 .8vw;
		right: 4vw;
	}


	/*textarea*/
	#sec_form .form .message {
		align-items: flex-start;
		margin-top: 4vw!important;
	}

	#sec_form .form .message dt {
		padding-top: 0;
	}

	#sec_form .form textarea {
		height: 44vw;
	}

	/**/
	#sec_form .form .box .phone input + span,
	#sec_form .form .box .address dd input + span {
		min-width: inherit;
		display: inline-block !important;
		font-weight: bold;
		margin: 0 .5em;

	}

	/*privacy*/
	#sec_form .form .privacy {
		max-width: inherit;
	}

	/*submitbtn*/
	.btnwrap {
		margin-top: 8vw;
	}

	.submitbtn {
		width: 60.4vw;
		height: 10vw;
	}

	.submitbtn::before {
		width: 21vw;
	}

	.submitbtn::after {
		width: 1.4vw;
		height: 1.4vw;
		border-radius: .7vw;
		left: 21vw;
		bottom: -.7vw;
		margin-left: -.7vw;
	}

	.submitbtn input {
		font-size: 3.6vw;
		right: 2vw;
		padding: 1.8em 4.8vw 0;
	}

	.submitbtn input + .arw{
		bottom: .25em;
	}


	.submitbtn:hover input + .arw {
		bottom: 3.9vw;
	}

	#btn-auto {
		margin-left: 1vw !important;
	}
}
