@charset "utf-8";
/* =固定ページのみに適用されます
-------------------------------------------------------------- */

/* =Common
-------------------------------------------------------------- */
.page-content {
	padding-top: 200px;
}

.ttl-border::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 65px;
	height: 4px;
	margin: auto;
	background: -ms-linear-gradient(90deg,#f83600,#f09819);
	background: -moz-linear-gradient(90deg,#f83600,#f09819);
	background: -webkit-gradient(90deg,#f83600,#f09819);
	background: -webkit-linear-gradient(90deg,#f83600,#f09819);
	background: -o-linear-gradient(90deg,#f83600,#f09819);
	background: linear-gradient(90deg,#f83600,#f09819);
}

/* =Office
-------------------------------------------------------------- */
#office #main {
	padding-bottom: 155px;
}

#office .page-mainvisual {
	background-image: url("../images/page/office_mainvisual.png");
}

#office-greeting-box {
	position: absolute;
	top: 75px;
	right: 0;
	width: 745px;
	box-sizing: border-box;
}

#office-greeting-img-box {
	text-align: left;
}

#office-greeting .sec-ttl-box {
	text-align: left;
	margin: 0 0 55px;
}
#office-greeting .sec-ttl .ttl-border::before {
	right: auto;
}

#office-greeting-txt {
	margin-bottom: 30px;
}
#office-greeting-txt .upper {
	margin-top: 0;
	font-size: 2.2rem;
}
#office-greeting-txt .lower {
	font-size: 1.6rem;
	margin: 0;
}
#office-greeting #office-greeting-signature {
	text-align: right;
	font-size: 1.8rem;
	font-weight: 500;
}


#office-philosophy {
	padding-top: 310px;
}

#office-philosophy .sub-ttl-box {
	margin-top: 60px;
}

#office-philosophy .philosophy-list-item {
	width: 50%;
	box-sizing: border-box;
	padding: 25px 38px 40px;
}
#office-philosophy .philosophy-list-item:nth-child(1),
#office-philosophy .philosophy-list-item:nth-child(4) {
	background: #f5f2f1;
}
#office-philosophy .philosophy-list-item:nth-child(2),
#office-philosophy .philosophy-list-item:nth-child(3) {
	background: #efe9e7;
}
#office-philosophy .list-number-box {
	text-align: center;
	line-height: 1;
	margin-bottom: 16px;
}
#office-philosophy .list-number {
	display: inline-block;
	padding: 6px 10px;
	padding: 9px 10px 3px\0;
	font-size: 1.8rem;
	font-weight: 700;
	font-style: italic;
	color: #fff;
	background: transparent no-repeat center center;
	background-image: url("../images/page/office_philosophy_list_number_bg.png");
}
#office-philosophy .philosophy-list-item .list-txt {
	margin: 0;
}

#office-overview #office-overview-table {
	width: 85%;
	margin: auto;
	border-top: 1px solid #78675f;
	border-left: none;
}
#office-overview .row-ttl {
	vertical-align: top;
	width: 35%;
	font-weight: 700;
}
#office-overview .row-ttl,#office-overview .row-txt {
	padding: 16px 0;
	border-bottom: 1px solid #78675f;
	border-right: none;
}

#office-overview .btn-box {
	text-align: center;
}
#office-overview #office-overview-link {
	margin-top: 40px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	#office-greeting-box {
		position: static;
		width: 100%;
	}
	#office-philosophy {
		padding-top: 90px;
	}
	#office-philosophy .philosophy-list-item {
		width: 100%;
		padding-left: 2%;
		padding-right: 2%;
	}
	#office-philosophy .philosophy-list-item:nth-child(3) {
		background: #f5f2f1;
	}
	#office-philosophy .philosophy-list-item:nth-child(4) {
		background: #efe9e7;
	}
	#office-overview #office-overview-table {
		width: 95%;
	}
}

/* =Service
-------------------------------------------------------------- */
#service .page-mainvisual {
	background-image: url("../images/page/service_mainvisual.png");
}
#service .page-content {
	padding-top: 194px;
}
#service .following-section {
	padding-top: 74px;
}
#service .sec-ttl {
	letter-spacing: 0;
}

#service04 .sec-ttl,#service05 .sec-ttl {
	letter-spacing: 0.2em;
}

#service05 .service-txt {
	text-align: center;
}

/* =Access
-------------------------------------------------------------- */
#access .page-mainvisual {
	background-image: url("../images/page/access_mainvisual.png");
}

#access-info-container {
	font-size: 0;
}
#access-info-map-box {
	display: inline-block;
	width: 49.5%;
	margin-right: 1%;
	box-shadow: 2px 3px 32px 0px rgba(175, 165, 161, 0.34);
}
#access-info-txt-box {
	display: inline-block;
	vertical-align: top;
	width: 49.5%;
	height: 620px;
	box-sizing: border-box;
	padding: 70px 90px 70px 80px;
}
#access-info-txt {
	font-size: 1.6rem;
}
#access-info-txt-box {
	background: -moz-linear-gradient(90deg,transparent 0%,transparent 1%,rgba(255,255,255,0.66) 1%,rgba(255,255,255,0.66) 100%);
	background: -webkit-gradient(90deg,transparent 0%,transparent 1%,rgba(255,255,255,0.66) 1%,rgba(255,255,255,0.66)100%);
	background: -webkit-linear-gradient(90deg,transparent 0%,transparent 1%,rgba(255,255,255,0.66) 1%,rgba(255,255,255,0.66) 100%);
	background: -o-linear-gradient(90deg,transparent 0%,transparent 1%,rgba(255,255,255,0.66) 1%,rgba(255,255,255,0.66) 100%);
	background: linear-gradient(90deg,transparent 0%,transparent 1%,rgba(255,255,255,0.66) 1%,rgba(255,255,255,0.66) 100%);
}
#access-info-txt-box .sec-ttl-box {
	text-align: left;
}
#access-info-txt-box .sec-ttl {
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
#access-info-txt-box .ttl-border {
	padding-bottom: 26px;
}
#access-info-txt-box .ttl-border::before {
	right: auto;
}

#access-info-list .list-item {
	font-size: 1.6rem;
}
#access-info-list .list-item {
	padding-bottom: 8px;
	line-height: ;
	border-bottom: 1px solid #a79993;
}
#access-info-list .list-item .list-head {
	font-weight: bold;
}
#access-info-list .list-item + .list-item {
	padding-top: 8px;
}

@media screen and (max-width: 767px) {
	#access-info-map-box,#access-info-txt-box {
		width: 100%;
	}
	#access-info-txt-box {
		padding-left: 5%;
		padding-right: 5%;
	}
	#access-info-txt-box .sec-ttl-box {
		text-align: center;
	}
	#access-info-txt-box .ttl-border::before {
		right: 0;
	}
}

/* =Recruit
-------------------------------------------------------------- */
#recruit .page-mainvisual {
	background-image: url("../images/page/recruit_mainvisual.png");
}
#recruit-new-graduates .semi-clear-box,#recruit-lateral-staff .semi-clear-box {
	background: rgba(255,255,255,0.8);
}

#recruit .sec-box {
	padding-bottom: 88px;
}

#recruit .sec-ttl-box {
	margin-bottom: 63px;
}
#recruit .recruit-table-box {
	background: #f5f2f1;
	padding-bottom: 58px;
}
#recruit .recruit-table-box .table-ttl {
	position: relative;
	margin: 0;
	padding: 43px 0 35px;
	text-align: center;
	line-height: 1;
	font-size: 2.8rem;
	font-weight: 500;
	letter-spacing: 0.2em;
}
#recruit .recruit-table-box .table-ttl::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 150px;
	height: 2px;
	margin: auto;
	background: -ms-linear-gradient(90deg,#f83600,#f09819);
	background: -moz-linear-gradient(90deg,#f83600,#f09819);
	background: -webkit-gradient(90deg,#f83600,#f09819);
	background: -webkit-linear-gradient(90deg,#f83600,#f09819);
	background: -o-linear-gradient(90deg,#f83600,#f09819);
	background: linear-gradient(90deg,#f83600,#f09819);
}
#recruit .recruit-table-box .recruit-table {
	width: 83%;
	margin: auto;
	border-top: 1px solid #a79993;
	border-left: none;
}
#recruit .recruit-table-box .recruit-table .row-ttl,#recruit .recruit-table-box .recruit-table .row-txt {
	border-right: none;
	border-bottom: 1px solid #a79993;
}
#recruit .recruit-table-box .recruit-table .row-ttl {
	width: 35%;
	padding: 16px 0;
	vertical-align: top;
	text-align: left;
	background: none;
}
#recruit .recruit-table-box .recruit-table .row-txt {
	background: none;
}

#recruit .recruit-caption {
	text-align: center;
}
#recruit .recruit-table-box + .recruit-table-box {
	margin-top: 80px;
}

#recruit .following-section {
	padding-top: 90px;
}

@media screen and (max-width: 767px) {
	#recruit .recruit-table-box .recruit-table {
		width: 95%;
	}
}

/* =Contact
-------------------------------------------------------------- */
#contact .page-mainvisual {
	background-image: url("../images/page/contact_mainvisual.png");
}

#contact .page-content {
	padding-top: 204px;
}
#contact .following-section {
	padding-top: 90px;
}

#contact-tel {
	text-align: center;
}

#contact-tel .sec-ttl-box {
	margin-bottom: 25px;
}

#contact-tel-number {
	display: inline-block;
	text-align: center;
	font-size: 6.9rem;
	font-weight: 700;
	line-height: 1;
}
#contact-tel-number .fa-phone {
	padding-right: 18px;
}
#contact-tel-reception {
	width: 445px;
	margin-left: auto;
	padding: 4px 0;
	background: #efe9e7;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

#mail-form .sec-box {
	padding-left: 170px;
	padding-right: 170px;
}
#mail-form-attention {
	text-align: center;
}
#mail-form .red {
	color: #dd0000;
}

#contact-form-attention {
	text-align: center;
}

#contact-form {
	margin: 84px 0 45px;
	border-top: 1px solid #a79993;
}
#contact-form .item-name {
	padding: 22px 0 13px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
}
#contact-form .item {
	margin: 0;
	padding-bottom: 28px;
	border-bottom: 1px solid #a79993;
}
#contact-form .item input,#contact-form .item textarea {
	width: 100%;
	box-sizing: border-box;
	background: #efe9e7;
	border: none;
	font-size: 1.8rem;
}
#contact-form .item input {
	height: 50px;
}
#contact-form .item textarea {
	height: 260px;
	resize: none;
}

#privacy-policy {
	height: 314px;
	overflow-y: scroll;
	overflow-x: hidden;
	margin-bottom: 74px;
	padding: 46px 57px 40px 48px;
	box-sizing: border-box;
	border: 4px solid #e3dddb;
	background: #fff;
}
#policy-top {
	margin-bottom: 35px;
}
#policy-top .policy-ttl {
	text-align: center;
	margin: 0 0 25px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
}
.policy-txt {
	margin: 0;
	font-size: 1.4rem;
}
.policy-box .sub-ttl {
	margin: 0 0 5px;
	font-size: 1.4rem;
	font-weight: 700;
}

.policy-box li {
	font-size: 1.4rem;
}
.policy-box + .policy-box {
	margin-top: 35px;
}
.policy-afterword {
	text-align: right;
}

#policy-accept {
	margin-bottom: 40px;
	text-align: center;
	font-weight: 500;
}

#policy-accept input[type="checkbox"]{
	display: none;
}
#policy-accept label{
	cursor: pointer;	
}
.wpcf7-list-item-label {
	position: relative;
	display: inline-block;
	padding-left: 33px;
}
.wpcf7-list-item-label:before{
	width: 20px;
	height: 20px;
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background: #efe9e7;
	border: 2px solid #bbbbbb;
}
.wpcf7-list-item-label:after{
	width: 10px;
	height: 5px;
	border: 2px solid green;
	content: '';
	position: absolute;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	left: 6px;
	top: 9px;
	border-top: none;
	border-right: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	opacity: 0;
}
#policy-accept input[type="checkbox"]:checked + .wpcf7-list-item-label:after {
	opacity: 1;
}
.wpcf7-list-item{
	margin-left: 0!important;
	margin-right: 20px!important;
}

#form-btn {
	text-align: center;
	font-size: 0;
}
#form-btn .outer {
	position: relative;
	display: inline-block;
	padding: 0 6px 6px 0;
}
#form-btn .outer::before {
	content: '';
	position: absolute;
	width: 255px;
	height: 2px;
	right: 0;
	bottom: 0;
	margin: auto;
	background: -ms-linear-gradient(90deg,#f83600,#f09819);
	background: -moz-linear-gradient(90deg,#f83600,#f09819);
	background: -webkit-gradient(90deg,#f83600,#f09819);
	background: -webkit-linear-gradient(90deg,#f83600,#f09819);
	background: -o-linear-gradient(90deg,#f83600,#f09819);
	background: linear-gradient(90deg,#f83600,#f09819);
}
#form-btn .outer::after {
	content: '';
	position: absolute;
	width: 2px;
	height: 50px;
	right: 0;
	bottom: 0;
	margin: auto;
	background: #f09819;
}
#form-btn .confirm-btn.active .outer:hover::before {
	content: '';
	position: absolute;
	width: 257px;
	height: 2px;
	right: 0;
	bottom: 0;
	margin: auto;
	background: -ms-linear-gradient(90deg,#f83600,#f09819);
	background: -moz-linear-gradient(90deg,#f83600,#f09819);
	background: -webkit-gradient(90deg,#f83600,#f09819);
	background: -webkit-linear-gradient(90deg,#f83600,#f09819);
	background: -o-linear-gradient(90deg,#f83600,#f09819);
	background: linear-gradient(90deg,#f83600,#f09819);
}
#form-btn .confirm-btn.active .outer:hover::after {
	content: '';
	position: absolute;
	width: 2px;
	height: 52px;
	right: 0;
	bottom: 0;
	margin: auto;
	background: #f09819;
}
#form-btn input[type="submit"],#form-btn input[type="button"] {
	width: 255px;
	height: 50px;
	padding: 0;
	line-height: 1;
	font-size: 1.6rem;
	font-weight: 500;
	background: none;
	border-top: none;
	border-bottom: none;
	border-left: 2px solid #f83600;
	border-right: 2px solid #f09819;
}
#form-btn .form-btn-box {
	display: inline-block;
	position: relative;
}
#form-btn .confirm-btn.active .form-btn-box:hover {
	-moz-transform: translate(4px,4px);
	-webkit-transform: translate(4px,4px);
	-ms-transform: translate(4px,4px) ;
	-o-transform: translate(4px,4px);
	transform:translate(4px,4px) ;
}
#form-btn .form-btn-box::before {
	content: '';
	position: absolute;
	width: 255px;
	height: 2px;
	top: 0;
	right: 0;
	margin: auto;
	background: -ms-linear-gradient(90deg,#f83600,#f09819);
	background: -moz-linear-gradient(90deg,#f83600,#f09819);
	background: -webkit-gradient(90deg,#f83600,#f09819);
	background: -webkit-linear-gradient(90deg,#f83600,#f09819);
	background: -o-linear-gradient(90deg,#f83600,#f09819);
	background: linear-gradient(90deg,#f83600,#f09819);
}
#form-btn .form-btn-box::after {
	content: '';
	position: absolute;
	width: 255px;
	height: 2px;
	bottom: 0;
	right: 0;
	margin: auto;
	background: -ms-linear-gradient(90deg,#f83600,#f09819);
	background: -moz-linear-gradient(90deg,#f83600,#f09819);
	background: -webkit-gradient(90deg,#f83600,#f09819);
	background: -webkit-linear-gradient(90deg,#f83600,#f09819);
	background: -o-linear-gradient(90deg,#f83600,#f09819);
	background: linear-gradient(90deg,#f83600,#f09819);
}
#form-btn .form-btn-box .arrow {
	position: relative;
	display: inline-block;
}
#form-btn .form-btn-box .arrow::before {
	content: '';
	position: absolute;
	z-index: 1;
	top: 0;
	right: 18px;
	bottom: 0;
	margin: auto;
	width: 6px;
	height: 6px;
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color: #f83600;
	box-sizing: border-box;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
	transition-property: border-color;
}

#form-btn .back-btn {
	margin-right: 40px;
}

div.wpcf7 .ajax-loader {
	position: absolute;
	top: 0;
	bottom: 0;
	right: -40px;
	margin: auto;
}
#form-btn .wpcf7-spinner {
	position: absolute;
	top: 0;
	bottom: 0;
	right: -40px;
	margin: auto;
}

@media screen and (max-width: 767px) {
	#contact-tel-number {
		font-size: 5.0rem;
	}
	#contact-tel-reception {
		width: 95%;
		margin: 20px auto 0;
	}
	#mail-form .sec-box {
		padding-left: 5%;
		padding-right: 5%;
	}
	#form-btn .back-btn {
		margin: 0 0 40px;
	}
}
/* = ContactForm7
-------------------------------------------------------------- */
.wpcf7 .required {
	color: #c93756;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"],
.wpcf7 input[type="number"],
.wpcf7 input[type="url"],
.wpcf7 input[type="password"],
.wpcf7 textarea,
.wpcf7 select {
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	padding: 6px 4px;
	font-size: 1.6rem;
	line-height: 1.4;
	background: #fafafa;
	vertical-align: middle;
}

/*.wpcf7-submit[type="submit"] {
	box-sizing: border-box;
	display: inline-block;
	margin: 0 auto;
	padding: 12px 80px;
	font-size: 1.6rem;
	color: #fff;
	background: #000;
	-webkit-border-radius: 0;
	border-radius: 0;
	border: none;
}*/
.wpcf7-submit[type="submit"]:hover {
	transition: 0.5s;
	opacity: 0.7;
}

.wpcf7 img.ajax-loader {
	display: block;
	margin: 4px auto!important;
}

@media screen and (max-width: 767px) {
	.wpcf7 input[type="text"],
	.wpcf7 input[type="tel"],
	.wpcf7 input[type="email"],
	.wpcf7 input[type="password"],
	.wpcf7 textarea,
	.wpcf7 select {
		padding: 6px 2px;
		font-size: 1.6rem;
	}

	.wpcf7-form-control-wrap {
		position: relative;
		display: inline-block;
		width: 100%;
	}

	.wpcf7-submit[type="submit"] {
		width: 240px;
		height: 48px;
		padding: 0;
	}
	.wpcf7-submit[type="submit"]:hover {
		opacity: 1;
	}

}