@charset "utf-8";

/**
/* ページ共通 CSS
----------------------------------------------- */
/*　　背景色　　*/
.bg-yellow {
	background: rgba(255, 243, 182, 0.4);
}

/*　　フォント　　*/
.c-orange {
	color: #E66000;
}

/**
/* トップページ CSS
----------------------------------------------- */
/*　　見出し　　*/
.front-ttl h2 {
	margin-bottom: 0.375rem;
}

.front-ttl h2 span {
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.45;
	padding: 0 0.5rem;
}

.front-ttl .bg-text {
	font-family: "Noto Serif JP", serif;
	font-size: 3rem;
	font-weight: 500;
	line-height: 1.35;
}

@media only screen and (max-width: 767px) {
	.front-ttl h2 span {
		font-size: 1rem;
	}

	.front-ttl .bg-text {
		font-size: 1.5rem;
	}
}

/*　　MV　　*/
.mv-view {
	position: relative;
	background: url(../img/top/mv_bg.jpg) center no-repeat;
	background-size: cover;
	padding: 21.4375rem 0 7.25rem 0;
	margin-top: 6.25rem;
}

.mv-view::before {
	background: url(../img/top/illust1.png) center no-repeat;
	background-size: cover;
	content: "";
	position: absolute;
	width: 19.875rem;
	height: 15.1875rem;
	right: 2.125rem;
	bottom: -6.875rem;
}

.mv-view .view-box h1 {
	color: #FFFFFF;
	font-size: 3.25rem;
	font-weight: 700;
	line-height: 1.35;
	margin-bottom: 1rem;
}

.mv-view .view-box p {
	color: #FFFFFF;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.65;
}

@media only screen and (max-width: 767px) {
	.mv-view {
		background: url(../img/top/sp_mv_bg.jpg) center no-repeat;
		background-size: cover;
		padding: 11.75rem 0;
		margin-top: 4rem;
	}

	.mv-view::before {
		width: 9.375rem;
		height: 7.1875rem;
		right: 0.5rem;
		bottom: -3.5rem;
	}

	.mv-view .view-box h1 {
		font-size: 1.625rem;
		text-align: center;
		margin-bottom: 0.875rem;
	}

	.mv-view .view-box p {
		font-size: 0.875rem;
		text-align: center;
	}
}

/*　　新着情報　　*/
.front-news {
	padding: 3.75rem 0;
}

.front-news h2 {
	font-family: "Noto Serif JP", serif;
	font-size: 3rem;
	font-weight: 500;
	line-height: 1.45;
	margin-bottom: 2rem;
}

.front-news .news-list .news-items {
	align-items: baseline;
}

.front-news .news-list .news-items:first-child {
	border-top: 2px solid #EEE9DA;
	padding-top: 1.5rem;
}

.front-news .news-list .news-items dt {
	width: 17.625rem;
	margin-bottom: 0;
}

.front-news .news-list .news-items dd {
	width: calc(100% - 17.625rem);
	padding-left: 2.25rem;
}

.front-news .block_btn {
	margin-top: 2rem;
}

@media only screen and (max-width: 767px) {
	.front-news {
		padding: 2.5rem 0;
	}

	.front-news h2 {
		font-size: 1.5rem;
		margin-bottom: 2rem;
	}

	.front-news .news-list .news-items:first-child {
		padding-top: 0.75rem;
	}

	.front-news .news-list .news-items dt {
		width: 100%;
		margin-bottom: 0.75rem;
	}

	.front-news .news-list .news-items dd {
		width: 100%;
		padding-left: 0;
	}

	.front-news .block_btn {
		margin-top: 2rem;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.front-news h2 {
		font-size: 2.5rem;
		margin-bottom: 1.5rem;
	}
}

/*　　当社について　　*/
.about-guide {
	background: #FFF3B6;
	padding-top: 7.5rem;
}

.about-guide .about-grid {
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

.about-guide .contentArea {
	width: 45%;
	max-width: 41rem;
	padding-right: 3rem;
}

.about-guide .front-ttl {
	margin-bottom: 2rem;
}

.about-guide .front-ttl h2 span {
	background: #F88F44;
	color: #FFFFFF;
}

.about-guide .contentArea .p-text {
	font-size: 1.125rem;
	line-height: 2;
}

.about-guide .imgArea {
	width: 50%;
}

@media only screen and (max-width: 767px) {
	.about-guide {
		padding-top: 2.5rem;
	}

	.about-guide .about-grid {
		padding: 0 1rem;
	}

	.about-guide .contentArea {
		width: 100%;
		max-width: 100%;
		padding-right: 0;
		margin-bottom: 3rem;
	}

	.about-guide .front-ttl {
		margin-bottom: 2rem;
	}

	.about-guide .contentArea .p-text {
		font-size: 1rem;
	}

	.about-guide .imgArea {
		width: 100%;
	}
}

/*　　理念について　　*/
.front-philosophy {
	position: relative;
	padding: 7.75rem 0 7.0625rem 0;
}

.front-philosophy::before {
	background: url(../img/top/bg_2.png) center no-repeat;
	background-size: cover;
	content: "";
	position: absolute;
	width: 92%;
	max-width: 71.6875rem;
	height: calc(100% - 17.0625rem);
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.front-philosophy::after {
	position: absolute;
	content: "Philosophy";
	font-family: "Radio Canada Big", sans-serif;
	color: #CDCDCD;
	font-size: 8.75rem;
	font-weight: 400;
	line-height: 1;
	right: 0;
	top: 7.75rem;
	opacity: 0.2;
}

.front-philosophy .inner-wrap {
	z-index: 1;
}

.front-philosophy .img-top {
	position: relative;
	width: 60%;
	max-width: 35.25rem;
	top: -1rem;
}

.front-philosophy .img-bottom {
	position: relative;
	width: 60%;
	max-width: 32.6875rem;
	margin-left: auto;
	top: -1rem;
}

.front-philosophy .contentArea {
	width: 100%;
	max-width: 47.5rem;
	margin-left: auto;
}

.front-philosophy .front-ttl {
	margin-bottom: 2rem;
}

.front-philosophy .front-ttl h2 span {
	background: #007EEB;
	color: #FFFFFF;
}

.front-philosophy .contentArea .p-text {
	font-size: 1.125rem;
	line-height: 2;
}

.front-philosophy .block_btn {
	text-align: left;
	margin-top: 2rem;
}

.front-philosophy .block_btn li .btn {
	background: #ffffff;
	color: #007EEB;
}

.front-philosophy .block_btn li .btn::after {
	color: #007EEB;
}

@media only screen and (max-width: 767px) {
	.front-philosophy {
		padding: 2.5rem 0px 3.25rem 0;
	}

	.front-philosophy::before {
		height: calc(100% - 5.75rem);
		right: auto;
	}

	.front-philosophy::after {
		font-size: 2.5rem;
		right: 1.875rem;
		top: 2.75rem;
	}

	.front-philosophy .img-bottom {
		max-width: 15.6875rem;
		top: 1rem;
	}

	.front-philosophy .contentArea {
		width: 100%;
		padding-right: 3rem;
		padding-top: 2.5rem;
	}

	.front-philosophy .contentArea .p-text {
		font-size: 1rem;
	}
}

/*　　業務内容　　*/
.front-service {
	padding: 0 0 15.125rem 0;
}

.front-service .service-grid {
	position: relative;
	padding: 9.375rem 0;
}

.front-service .service-grid::before {
	background: url(../img/top/bg_1.png) center no-repeat;
	background-size: cover;
	content: "";
	position: absolute;
	width: 92%;
	max-width: 71.6875rem;
	height: 100%;
	left: 0;
	top: 0;
}

.front-service .service-grid::after {
	position: absolute;
	content: "Service";
	font-family: "Radio Canada Big", sans-serif;
	color: #FFFFFF;
	font-size: 8.75rem;
	font-weight: 400;
	line-height: 1;
	left: 0;
	bottom: -1.5rem;
	opacity: 0.5;
}

.front-service .inner-wrap {
	z-index: 1;
}

.front-service .contentArea {
	width: 50%;
	max-width: 41rem;
	padding-right: 3rem;
}

.front-service .front-ttl {
	margin-bottom: 2rem;
}

.front-service .front-ttl h2 span {
	background: #F88F44;
	color: #FFFFFF;
}

.front-service .contentArea {
	position: relative;
}

.front-service .contentArea::before {
	background: url(../img/top/illust2.png) center no-repeat;
	background-size: cover;
	content: "";
	position: absolute;
	width: 13.875rem;
	height: 15.125rem;
	right: 5rem;
	bottom: -11.875rem;
}

.front-service .contentArea .p-text {
	font-size: 1.125rem;
	line-height: 2;
}

.front-service .block_btn {
	text-align: left;
	margin-top: 2rem;
}

.front-service .block_btn li .btn {
	background: #ffffff;
	color: #E66000;
}

.front-service .block_btn li .btn::after {
	color: #E66000;
}

.front-service .imgArea {
	position: relative;
	width: 45%;
}

.front-service .imgArea ul li:nth-child(1) {
	position: absolute;
	width: 30.75rem;
	top: -4rem;
	right: -1.125rem;
}

.front-service .imgArea ul li:nth-child(2) {
	position: absolute;
	width: 20.5rem;
	bottom: -11.5rem;
}

@media only screen and (max-width: 767px) {
	.front-service {
		padding: 0 0 6.5rem 0;
	}

	.front-service .service-grid {
		padding: 2.5rem 0;
	}

	.front-service .service-grid::before {
		width: 92%;
		left: auto;
		right: 0;
	}

	.front-service .service-grid::after {
		font-size: 2.5rem;
		left: auto;
		right: 0;
		top: -0.3125rem;
		bottom: auto;
	}

	.front-service .contentArea {
		width: 100%;
		max-width: 41rem;
		padding: 0 1rem 0 2.5rem;
	}

	.front-service .front-ttl {
		margin-bottom: 2rem;
	}

	.front-service .contentArea::before {
		content: none;
	}

	.front-service .contentArea .p-text {
		font-size: 1rem;
	}

	.front-service .imgArea {
		position: relative;
		width: 100%;
		margin-top: 2rem;
	}

	.front-service .imgArea::before {
		background: url(../img/top/illust2.png) center no-repeat;
		background-size: cover;
		content: "";
		position: absolute;
		width: 7.25rem;
		height: 8rem;
		left: -1rem;
		bottom: -4.875rem;
	}

	.front-service .imgArea ul li:nth-child(1) {
		position: relative;
		width: 18.75rem;
		top: auto;
		right: auto;
		left: 2rem;
	}

	.front-service .imgArea ul li:nth-child(2) {
		position: relative;
		width: 14.5rem;
		bottom: auto;
		margin-left: auto;
		margin-top: 2rem;
	}
}

/*　　採用について　　*/
.recruit-nav-guide {
	background: url(../img/top/recruit-nav_bg.jpg) center no-repeat;
	background-size: cover;
	padding: 7.5rem 0;
}

.recruit-nav-guide .front-ttl h2 span {
	background: #007EEB;
	color: #FFFFFF;
}

.recruit-nav-guide .front-ttl .bg-text {
	color: #FFFFFF;
}

.recruit-nav-guide .block_btn {
	margin-top: 2rem;
}

.recruit-nav-guide .block_btn li .btn {
	background: #ffffff;
	color: #007EEB;
}

.recruit-nav-guide .block_btn li .btn::after {
	color: #007EEB;
}

/*　　よくある質問　　*/
.front-wrap .front-faq {
	padding: 7.5rem 0;
}

.front-faq .inner {
	max-width: 56.25rem;
}

.front-faq h2 {
	font-family: "Noto Serif JP", serif;
	color: #509AB3;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.45;
	text-align: center;
	margin-bottom: 1.5rem;
}

.front-faq .faq-list li {
	border-bottom: 1px solid #509AB3;
	margin-bottom: 0.75rem;
}

.front-faq .faq-list li:last-child {
	margin-bottom: 0;
}

.front-faq .faq-list li a {
	position: relative;
	display: flex;
	align-items: center;
	padding-right: 2rem;
}

.front-faq .faq-list li a::after {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	right: 1.25rem;
	width: 0.5rem;
	height: 0.5rem;
	border-top: 2px solid #509AB3;
	border-right: 2px solid #509AB3;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.front-faq .faq-list li a span {
	font-family: "Radio Canada Big", sans-serif;
	color: rgba(80, 154, 179, 0.4);
	font-size: 2.375rem;
	font-weight: 400;
	line-height: 1.25;
}

.front-faq .faq-list li a p {
	color: #3B3938;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.45;
}

.front-faq .block_btn {
	margin-top: 1.5rem;
}

.front-wrap .front-faq .bnr {
	margin-top: 6.25rem;
}

@media only screen and (max-width: 767px) {
	.front-wrap .front-faq {
		padding: 3.75rem 0;
	}

	.front-faq h2 {
		font-size: 1.5rem;
		margin-bottom: 1.5rem;
	}

	.front-faq .faq-list li {
		padding-bottom: 0.625rem;
		margin-bottom: 0.75rem;
	}

	.front-faq .faq-list li a {
		padding-right: 1.5rem;
	}

	.front-faq .faq-list li a::after {
		right: 0.5rem;
	}

	.front-faq .faq-list li a span {
		font-size: 1.75rem;
	}

	.front-faq .faq-list li a p {
		font-size: 1rem;
	}

	.front-faq .block_btn {
		margin-top: 1.5rem;
	}

	.front-wrap .front-faq .bnr {
		margin-top: 6.25rem;
	}
}

/**
/* 下層ページ共通 CSS
----------------------------------------------- */
/*　　ページヘッダー　　*/
.page-view {
	background: url(../img/page-view.png) center center no-repeat;
	background-size: cover;
	padding: 6.625rem 0;
	margin-top: 6.25rem;
}

.page-view .view-ttl h1 {
	font-family: "Noto Serif JP", serif;
	color: #3B3938;
	font-size: 3rem;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.page-view {
		padding: 4.625rem 0;
		margin-top: 4rem;
	}

	.page-view .view-ttl h1 {
		font-size: 2rem;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.page-view {
		margin-top: 6.25rem;
	}
}

.page-guide {
	position: relative;
	padding: 5rem 0;
}

@media only screen and (max-width: 767px) {
	.page-guide {
		padding: 3rem 0;
	}
}

/*　　見出し　　*/
.guide-ttl {
	position: relative;
	margin-bottom: 4.5rem;
}

.guide-ttl::after {
	content: "";
	position: absolute;
	background: #F88F44;
	width: 80%;
	max-width: 91.5rem;
	height: 0.25rem;
	bottom: -1.5rem;
	left: 0;
}

.guide-ttl .inner {
	align-items: baseline;
}

.guide-ttl .inner::after {
	content: "";
	position: absolute;
	background: #F88F44;
	width: 100%;
	max-width: 91.5rem;
	height: 0.25rem;
	bottom: -1.5rem;
	left: 0;
}

.guide-ttl .roma {
	color: #E66000;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1;
	margin-left: 1.25rem;
}

.guide-ttl h2 {
	font-family: "Noto Serif JP", serif;
	color: #3B3938;
	font-size: 2.25rem;
	font-weight: 500;
	line-height: 1.25;
}

@media only screen and (max-width: 767px) {
	.guide-ttl {
		margin-bottom: 3rem;
	}

	.guide-ttl::after {
		width: 92%;
		height: 0.125rem;
		bottom: -1.125rem;
	}

	.guide-ttl .inner::after {
		height: 0.125rem;
		bottom: -1.125rem;
	}

	.guide-ttl .roma {
		font-size: 0.875rem;
		margin-left: 1rem;
	}

	.guide-ttl h2 {
		font-size: 1.625rem;
	}
}

/*　　テキスト　　*/
.page-guide .contentArea p {
	font-size: 1.125rem;
	line-height: 2;
}

.page-guide .contentArea p .bg {
	font-size: 1.5rem;
	font-weight: 700;
}

.page-guide .contentArea ol {
	list-style: decimal;
	margin-left: 1.5rem;
}

.page-guide .contentArea ol li {
	font-size: 1.125rem;
	line-height: 2;
	padding-left: 1.5rem;
}

.page-guide .contentArea ol li::marker {
	font-weight: 500;
}

.page-guide .contentArea ol li+li {
	margin-top: 1.5rem;
}

.page-guide .contentArea ul {
	list-style: disc;
	margin-left: 1.5rem;
}

.page-guide .contentArea ul li {
	font-size: 1.125rem;
	line-height: 2;
}

.page-guide h3.ttl {
	background: #F88F44;
	font-family: "Noto Serif JP", serif;
	color: #FFFFFF;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.45;
	border-radius: 0.25rem;
	padding: 0.75rem 1.5rem;
	margin-bottom: 2rem;
}

@media only screen and (max-width: 767px) {
	.page-guide .contentArea p {
		font-size: 1rem;
	}

	.page-guide .contentArea p .bg {
		font-size: 1.25rem;
	}

	.page-guide .contentArea ol li {
		font-size: 1rem;
		padding-left: 0.625rem;
	}

	.page-guide .contentArea ol li+li {
		margin-top: 1rem;
	}

	.page-guide .contentArea ul li {
		font-size: 1rem;
	}

	.page-guide h3.ttl {
		font-size: 1.25rem;
		padding: 0.5rem 1rem;
		margin-bottom: 1rem;
	}
}

/**
/* 会社概要 CSS
----------------------------------------------- */
/*　　メッセージ　　*/
.company-wrap .message-guide {
	padding: 12.5rem 0;
}

.company-wrap .message-guide::before,
.company-wrap .message-guide::after {
	content: "";
	position: absolute;
}

.company-wrap .message-guide::before {
	background: url(../img/company/message_bg1.png) center center no-repeat;
	background-size: cover;
	width: 35rem;
	height: 26.25rem;
	right: 0;
	top: 0;
}

.company-wrap .message-guide::after {
	background: url(../img/company/message_bg2.png) center center no-repeat;
	background-size: cover;
	width: 35rem;
	height: 26.5rem;
	left: 0;
	bottom: 0;
}

.company-wrap .message-guide .inner {
	z-index: 1;
}

.company-wrap .message-guide .contentArea p {
	font-family: "Noto Serif JP", serif;
	font-size: 3rem;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.company-wrap .message-guide {
		padding: 5.5rem 0;
	}

	.company-wrap .message-guide::before {
		width: 11rem;
		height: 7.25rem;
	}

	.company-wrap .message-guide::after {
		width: 10rem;
		height: 7.5rem;
	}

	.company-wrap .message-guide .contentArea p {
		font-size: 1.65rem;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.company-wrap .message-guide {
		padding: 9.5rem 0;
	}

	.company-wrap .message-guide::before {
		width: 30rem;
		height: 22.5rem;
	}

	.company-wrap .message-guide::after {
		width: 30rem;
		height: 22.5rem;
	}
}

/*　　会社概要　　*/
.company-grid {
	position: relative;
}

.company-grid::after {
	background: url(../img/company/company_bg.png) center center no-repeat;
	background-size: cover;
	content: "";
	position: absolute;
	width: 30.5rem;
	height: 35.3125rem;
	bottom: 0;
	right: 0;
}

.company-grid .inner {
	z-index: 1;
}

.company-tbl {
	margin-bottom: 3rem;
}

.company-tbl a {
	color: #324eb3;
	border-bottom: 1px solid #324eb3;
}

.company-tbl th,
.company-tbl td {
	font-size: 1.125rem;
	line-height: 2;
}

.company-tbl th {
	width: 12.5rem;
	font-weight: 700;
	padding: 0.75rem 0;
}

.company-tbl td {
	padding: 0.75rem 2rem;
	letter-spacing: 0.05em;
}

.company-tbl td dl {
	display: flex;
}

.company-tbl td dl dt {
	width: 11.25rem;
}

.company-tbl td dl dd {
	width: calc(100% - 11.25rem);
}

@media only screen and (max-width: 767px) {
	.company-grid::after {
		content: none;
	}

	.company-tbl {
		margin-bottom: 3rem;
	}

	.company-tbl th,
	.company-tbl td {
		font-size: 1rem;
		line-height: 1.85;
	}

	.company-tbl th {
		width: 6.5rem;
		padding: 0.375rem 0;
	}

	.company-tbl td {
		padding: 0.625rem 0;
	}

	.company-tbl td dl dt {
		width: 8rem;
	}

	.company-tbl td dl dd {
		width: calc(100% - 8rem);
	}

	.company-tbl td dl.timeline {
		display: block !important;
	}

	.company-tbl td dl.timeline dt,
	.company-tbl td dl.timeline dd {
		display: block !important;
		width: 100%;
	}
	.company-tbl td dl.timeline {
    margin-bottom: 0.5em;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.company-grid::after {
		width: 25.5rem;
		height: 30.3125rem;
	}

	.company-tbl th {
		width: 9.5rem;
	}
}

/*　　アクセス　　*/
.access-grid .access-map iframe {
	height: 23.75rem;
}

.access-grid .address {
	font-size: 1.125rem;
	line-height: 2;
	margin-top: 2rem;
}

@media only screen and (max-width: 767px) {
	.access-grid .access-map iframe {
		height: 13.75rem;
	}

	.access-grid .address {
		font-size: 1rem;
		line-height: 1.85;
		margin-top: 1rem;
	}
}

/**
/* 業務内容 CSS
----------------------------------------------- */
/*　　メッセージ　　*/
.work-contents-wrap .message-guide {
	padding: 12.5rem 0;
}

.work-contents-wrap .message-guide::before,
.work-contents-wrap .message-guide::after {
	content: "";
	position: absolute;
}

.work-contents-wrap .message-guide::before {
	background: url(../img/business/work-contents1.jpg) center center no-repeat;
	background-size: cover;
	width: 25.25rem;
	height: 18.9375rem;
	right: 0;
	top: 5.5rem;
}

.work-contents-wrap .message-guide::after {
	background: url(../img/business/work-contents2.jpg) center center no-repeat;
	background-size: cover;
	width: 25.25rem;
	height: 18.9375rem;
	right: 7.5rem;
	bottom: 5.5rem;
}

.work-contents-wrap .message-guide .inner {
	z-index: 1;
}

.work-contents-wrap .message-guide .contentArea {}

.work-contents-wrap .message-guide .contentArea p {
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
}

@media only screen and (max-width: 767px) {
	.work-contents-wrap .message-guide {
		padding: 3rem 0;
	}

	.work-contents-wrap .message-guide::before,
	.work-contents-wrap .message-guide::after {
		content: none;
	}

	.work-contents-wrap .message-guide .contentArea p {
		font-size: 1.125rem;
	}

	.work-contents-wrap .message-guide .gallery {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		flex-wrap: wrap;
		margin-top: 1.5rem;
	}

	.work-contents-wrap .message-guide .gallery li {
		width: 50%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.work-contents-wrap .message-guide {
		padding: 9.5rem 0;
	}

	.work-contents-wrap .message-guide::before {
		width: 19.25rem;
		height: 13.9375rem;
	}

	.work-contents-wrap .message-guide::after {
		width: 19.25rem;
		height: 13.9375rem;
		right: 5.5rem;
	}

	.work-contents-wrap .message-guide .contentArea p {
		font-size: 1.375rem;
	}
}

/*　　業務内容　　*/
.business-guide .business-block:not(:last-child) {
	margin-bottom: 3rem;
}

.business-guide .business-list {
	column-gap: 2.5rem;
	row-gap: 2rem;
}

.business-list .business-ltems {
	position: relative;
	background: #FFFFFF;
	width: calc(33.3333% - 1.6875rem);
	padding: 0.75rem;
}

.business-list .business-ltems .no {
	position: absolute;
	top: -2.25rem;
	left: 1.25rem;
	font-family: "Radio Canada Big", sans-serif;
	color: #F88F44;
	font-size: 6.25rem;
	font-weight: 500;
	line-height: 1;
}

.business-list .business-ltems .imageArea {
	height: 11.5625rem;
	margin-bottom: 0.625rem;
}

.business-list .business-ltems .imageArea img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.business-list .business-ltems .p-text {
	font-size: 1.125rem;
	line-height: 2;
	text-align: center;
}

.business-guide .business-block .contentArea {
	padding: 0 1.5rem;
}

@media only screen and (max-width: 767px) {
	.business-guide .business-block:not(:last-child) {
		margin-bottom: 2rem;
	}

	.business-guide .business-list {
		column-gap: 0;
		row-gap: 2rem;
		margin-top: 2rem;
	}

	.business-list .business-ltems {
		width: 100%;
		padding: 0.75rem;
	}

	.business-list .business-ltems .no {
		top: -1.5rem;
		left: 0.625rem;
		font-size: 4.25rem;
	}

	.business-list .business-ltems .imageArea {
		height: 13.5625rem;
		margin-bottom: 0.625rem;
	}

	.business-list .business-ltems .p-text {
		font-size: 1rem;
		line-height: 1.65;
	}

	.business-guide .business-block .contentArea {
		padding: 0 1rem;
	}
}

/**
/* 理念・取組内容 CSS
----------------------------------------------- */
/*　　企業理念　　*/
.philosophy-guide {
	padding: 5rem 0 12.5rem 0;
}

.philosophy-guide::after {
	background: url(../img/philosophy/philosophy_bg.png) center center no-repeat;
	background-size: cover;
	content: "";
	position: absolute;
	width: 92%;
	max-width: 81.9375rem;
	height: 12.75rem;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.philosophy-guide .contentArea p {
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.philosophy-guide {
		padding: 3rem 0 5.5rem 0;
	}

	.philosophy-guide::after {
		width: 100%;
		height: 6.75rem;
	}

	.philosophy-guide .contentArea p {
		font-size: 1.125rem;
	}
}

/*　　ギャラリー　　*/
.gallery-guide .gallery li {
	width: 25%;
}

.gallery-guide .gallery li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media only screen and (max-width: 767px) {
	.gallery-guide .gallery li {
		width: 50%;
	}
}
/**
/* よくある質問 CSS
----------------------------------------------- */
.faq-guide .faq-list .faq-items{
	margin-bottom: 3rem;
}
.faq-guide .faq-list .faq-items:last-child{
	margin-bottom: 0;
}
.faq-guide .faq-list .faq-items .dl_table{
	width: 100%;
	display: table;
}
.faq-guide .faq-list .faq-items .dl_table dt,
.faq-guide .faq-list .faq-items .dl_table dd{
	display: table-cell;
}
.faq-guide .faq-list .faq-items .question{
	margin-bottom: 0.75rem;
}
.faq-guide .faq-list .faq-items .question dt,
.faq-guide .faq-list .faq-items .answer dt{
	width: 3.75rem;
}
.faq-guide .faq-list .faq-items .question dt span,
.faq-guide .faq-list .faq-items .answer dt span{
	font-family: "Noto Serif JP", serif;
	display: block;
	width: 3.75rem;
	height: 3.75rem;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 3.75rem;
	border-radius: 100%;
	text-align: center;
}
.faq-guide .faq-list .faq-items .question dt span{
	background: rgba(248, 143, 68, 0.3);
	color: #F88F44;
}
.faq-guide .faq-list .faq-items .answer dt span{
	background: #E5F2FD;
	color: #007EEB;
	vertical-align: top;
}
.faq-guide .faq-list .faq-items .question dd,
.faq-guide .faq-list .faq-items .answer dd{
	width: calc(100% - 3.75rem);
	padding-left: 0.75rem;
}
.faq-guide .faq-list .faq-items .question dd{
	color: #F88F44;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.25;
	vertical-align: middle;
}
.faq-guide .faq-list .faq-items .answer dd{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.8;
	vertical-align: top;
}
@media only screen and (max-width: 767px) {
	.faq-guide .faq-list .faq-items{
		margin-bottom: 2rem;
	}
	.faq-guide .faq-list .faq-items .question{
		margin-bottom: 0.75rem;
	}
	.faq-guide .faq-list .faq-items .question dt,
	.faq-guide .faq-list .faq-items .answer dt{
		width: 2.75rem;
	}
	.faq-guide .faq-list .faq-items .question dt span,
	.faq-guide .faq-list .faq-items .answer dt span{
		width: 2.75rem;
		height: 2.75rem;
		font-size: 1.25rem;
		line-height: 2.75rem;
	}
	.faq-guide .faq-list .faq-items .question dd,
	.faq-guide .faq-list .faq-items .answer dd{
		width: calc(100% - 2.75rem);
		padding-left: 0.75rem;
	}
	.faq-guide .faq-list .faq-items .question dd{
		font-size: 1rem;
	}
	.faq-guide .faq-list .faq-items .answer dd{
		font-size: 0.875rem;
	}
}
/**
/* 採用情報 CSS
----------------------------------------------- */
.recruit-wrap .news-guide {
	padding: 5rem 0;
}
.recruit-wrap .news-list .news-items {
	align-items: baseline;
}
.recruit-wrap .news-list .news-items:first-child {
	border-top: 2px solid #EEE9DA;
	padding-top: 1.5rem;
}
.recruit-wrap .news-list .news-items dt{
	width: 17.625rem;
	margin-bottom: 0;
}
.recruit-wrap .news-list .news-items dd{
	width: calc(100% - 17.625rem);
	padding-left: 2.25rem;
}
.recruit-wrap .message-guide{
	background: rgba(255, 243, 182, 0.4);
	padding: 7.5rem 0;
}
.recruit-wrap .message-guide .contentArea{
	position: relative;
	z-index: 2;
}
.recruit-wrap .message-guide .contentArea p{
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.8;
	margin-bottom: 1.5rem;
}
.recruit-wrap .message-guide .contentArea p:last-child{
	margin-bottom: 0;
}
.recruit-wrap .message-guide .imgArea{
	position: absolute;
	right: 0;
	bottom: 0;
	width: 35rem;
}
.recruit-wrap .job-guide .job-list{
	margin-bottom: 3rem;
}
.recruit-wrap .job-list .job-items{
	width: calc(33.33333% - 0.875rem);
}
.recruit-wrap .job-guide .block_btn{
	margin-top: 2rem;
}
.recruit-wrap .job-guide .block_btn li{
	max-width: 25rem;
}
.recruit-wrap .job-guide .block_btn li .btn{
	font-weight: 700;
}
.recruit-wrap .job-guide .block_btn li .orange-border{
	background: #ffffff;
	border: 1px solid #F88F44;
	color: #F88F44;
	font-size: 1.25rem;
	font-weight: 700;
}
.recruit-wrap .job-guide .block_btn li .white::after{
	color: #F88F44;
}
@media only screen and (max-width: 767px) {
	.recruit-wrap .news-guide {
		padding: 2.5rem 0;
	}
	.recruit-wrap .news-list .news-items:first-child {
		padding-top: 0.75rem;
	}
	.recruit-wrap .news-list .news-items dt{
		width: 100%;
		margin-bottom: 0.75rem;
	}
	.recruit-wrap .news-list .news-items dd{
		width: 100%;
		padding-left: 0;
	}
	.recruit-wrap .message-guide{
		padding: 3rem 0 0 0;
	}
	.recruit-wrap .message-guide .contentArea p{
		font-size: 1rem;
		margin-bottom: 1.25rem;
	}
	.recruit-wrap .message-guide .imgArea{
		position: relative;
		width: 100%;
	}
	.recruit-wrap .job-guide .job-list{
		margin-bottom: 2.5rem;
	}
	.recruit-wrap .job-list .job-items{
		width: 100%;
	}
	.recruit-wrap .job-guide .block_btn{
		margin-top: 1.125rem;
	}
	.recruit-wrap .job-guide .block_btn li{
		max-width: 20rem;
	}
	.recruit-wrap .job-guide .block_btn li .orange-border{
		font-size: 1rem;
	}
}
/**
/* 求人一覧 CSS
----------------------------------------------- */
.job-guide .job-category{
	column-gap: 1.5rem;
	margin-bottom: 3rem;
}
.job-guide .job-category li{
	width: calc(25% - 1.125rem);
}
.job-guide .job-category li a{
	display: block;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	padding: 0.75rem 1.5rem;
	border-radius: 0.3125rem;
}
.job-guide .job-category li.jobs_all a{
	background: #F88F44;
	color: #FFFFFF;
}
.job-guide .job-category li.jobs_cat1 a{
	background: rgba(0, 126, 235, 0.1);
	color: #007EEB;
}
.job-guide .job-category li.jobs_cat2 a{
	background: #C7651F;
	color: #FFFFFF;
}
.job-guide .job-category li.jobs_cat3 a{
	background: rgba(255, 76, 130, 0.1);
	color: #FF4C82;
}
.job-guide .job-list{
	column-gap: 1.25rem;
	row-gap: 1.25rem;
}
.job-wrap .job-list .job-items{
	width: calc(50% - 0.625rem);
}
.job-list .job-items{
	border: 1px solid #DDDDDD;
	padding: 0.75rem;
}
.job-list .job-items .category{
	margin-bottom: 0.25rem;
}
.job-list .job-items .category span{
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.35;
	padding: 0.25rem 1.5rem;
	border-radius: 0.3125rem;
}
.job-list .job-items .jobs_cat1 span{
	background: rgba(0, 126, 235, 0.1);
	color: #007EEB;
}
.job-list .job-items .jobs_cat2 span{
	background: #C7651F;
	color: #FFFFFF;
}
.job-list .job-items .jobs_cat3 span{
	background: rgba(255, 76, 130, 0.1);
	color: #FF4C82;
}
.job-list .job-items .location{
	color: #3B3938;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 0.25rem;
}
.job-list .job-items .city{
	color: #A99F9B;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 0.25rem;
}
.job-list .job-items .occupation{
	color: #3B3938;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
}
.job-guide .post-list li{
	padding: 1.5rem 0;
}
.job-guide .post-list li p{
	font-weight: 700;
}
.job-guide .post-list li .sub-list li{
	border-bottom: none;
	padding: 0 0 0 1.5rem;
}
.job-guide .post-list li .sub-list li a{
	padding: 0.375rem 0;
}
.job-guide .post-list li .sub-list li:last-child a{
	padding: 0.375rem 0 0 0;
}
.job-guide .wp-pagenavi {
	margin-top: 3rem;
}
@media only screen and (max-width: 767px) {
	.job-guide .job-category{
		column-gap: 0.625rem;
		row-gap: 0.625rem;
		margin-bottom: 1.5rem;
	}
	.job-guide .job-category li{
		width: calc(50% - 0.375rem);
	}
	.job-guide .job-category li a{
		font-size: 0.9375rem;
		padding: 0.625rem 1rem;
	}
	.job-guide .job-list{
		column-gap: 0;
		row-gap: 0.625rem;
	}
	.job-wrap .job-list .job-items{
		width: 100%;
	}
	.job-list .job-items{
		padding: 0.625rem;
	}
	.job-list .job-items .category span{
		padding: 0.25rem 1rem;
	}
	.job-list .job-items .location{
		font-size: 1.125rem;
	}
	.job-list .job-items .city{
		font-size: 0.75rem;
		margin-bottom: 0.25rem;
	}
	.job-list .job-items .occupation{
		font-size: 0.9375rem;
	}
	.job-guide .post-list li .sub-list li{
		padding: 0 0 0 1rem;
	}
	.job-guide .wp-pagenavi {
		margin-top: 2.5rem;
	}
}
/**
/* 募集要項 CSS
----------------------------------------------- */
.single-job .job-header{
	margin-bottom: 3rem;
}
.single-job .job-header .job-data{
	align-items: center;
	margin-bottom: 0.75rem;
}
.single-job .job-header .job-data ul{
	align-items: center;
}
.single-job .job-header .job-data ul li + li{
	margin-left: 0.75rem;
}
.single-job .job-header .job-data li a{
	background: rgba(248, 143, 68, 0.3);
	display: block;
	color: #F88F44;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.35;
	padding: 0.25rem 1.5rem;
	border-radius: 0.3125rem;
}
.single-job .job-header .job-data li a.jobs_cat1{
	background: rgba(0, 126, 235, 0.1);
	color: #007EEB;
}
.single-job .job-header .job-data li a.jobs_cat2{
	background: #C7651F;
	color: #FFFFFF;
}
.single-job .job-header .job-data li a.jobs_cat3{
	background: rgba(255, 76, 130, 0.1);
	color: #FF4C82;
}
.single-job .job-header .job-data .occupation{
	background: rgba(248, 143, 68, 0.3);
	display: block;
	color: #F88F44;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.35;
	padding: 0.25rem 1.5rem;
	border-radius: 0.3125rem;
	margin-left: 0.75rem;
}
.single-job .job-header h2{
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 1.5rem;
}
.single-job .job-header .imageArea img{
	width: 100%;
}
.single-job .job-body h3{
	background: #F88F44;
	font-family: "Noto Serif JP", serif;
	color: #FFFFFF;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.45;
	border-radius: 0.25rem;
	padding: 0.75rem 1.5rem;
	margin-top: 1.5rem;
	margin-bottom: 0.5rem;
}
.single-job .job-body .job_tbl{
	width: calc(100% - 3rem);
	margin: 0 1.5rem;
}
.single-job .job-body .job_tbl th,
.single-job .job-body .job_tbl td{
	font-size: 1.125rem;
	line-height: 2;
}
.single-job .job-body .job_tbl tr:not(:last-child) th,
.single-job .job-body .job_tbl tr:not(:last-child) td{
	border-bottom: 1px solid #DDDDDD;
}
.single-job .job-body .job_tbl th{
	width: 12.5rem;
	font-weight: 700;
	padding: 1.5rem 0;
}
.single-job .job-body .job_tbl td{
	font-weight: 500;
	padding: 1.5rem 2rem;
}
.single-job .block_btn{
	margin-top: 1.5rem;
}
.single-job .block_btn li{
	max-width: 25rem;
}
.single-job .block_btn li .orange-border{
	background: #ffffff;
	border: 1px solid #F88F44;
	color: #F88F44;
	font-size: 1.25rem;
	font-weight: 700;
}
.single-job .block_btn li .white::after{
	color: #F88F44;
}
@media only screen and (max-width: 767px) {
	.single-job .job-header{
		margin-bottom: 1.5rem;
	}
	.single-job .job-header .job-data{
		margin-bottom: 0.625rem;
	}
	.single-job .job-header .job-data ul li + li{
		margin-left: 0.375rem;
	}
	.single-job .job-header .job-data li a{
		padding: 0.25rem 1rem;
	}
	.single-job .job-header .job-data .occupation{
		padding: 0.25rem 1rem;
		margin-left: 0.375rem;
	}
	.single-job .job-header h2{
		font-size: 1.375rem;
		margin-bottom: 1rem;
	}
	.single-job .job-body h3{
		font-size: 1.125rem;
		padding: 0.5rem 1rem;
		margin-top: 1rem;
		margin-bottom: 0.5rem;
	}
	.single-job .job-body .job_tbl{
		width: calc(100% - 1rem);
		margin: 0 0.5rem;
	}
	.single-job .job-body .job_tbl th,
	.single-job .job-body .job_tbl td{
		display: block;
		font-size: 1rem;
		line-height: 1.85;
	}
	.single-job .job-body .job_tbl tr:not(:last-child) th{
		border-bottom: none;
	}
	.single-job .job-body .job_tbl tr:not(:last-child) td{
		border-bottom: 1px solid #DDDDDD;
	}
	.single-job .job-body .job_tbl th{
		width: 100%;
		padding: 1.25rem 0 0.5rem 0;
	}
	.single-job .job-body .job_tbl td{
		padding: 0 0 1.25rem 0;
	}
	.single-job .block_btn{
		margin-top: 1.25rem;
	}
	.single-job .block_btn li{
		max-width: 20rem;
	}
	.single-job .block_btn li .orange-border{
		font-size: 1rem;
	}
}
/**
/* スタッフ紹介 CSS
----------------------------------------------- */
.staff-guide .staff-list{
	column-gap: 2.5rem;
	row-gap: 2rem;
}
.staff-list .staff-items{
	width: calc(33.3333% - 1.6875rem);
	border: 1px solid #DDDDDD;
	padding: 0.75rem;
}
.staff-list .staff-items .staff-img{
	margin-bottom: 0.625rem;
}
.staff-list .staff-items .staff-img img{
	width: 100%;
}
.staff-list .staff-items .staff-data{
	margin-bottom: 0.5rem;
}
.staff-list .staff-items .category{
	background: rgba(248, 143, 68, 0.3);
	color: #F88F44;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.35;
	padding: 0.25rem 1.5rem;
	border-radius: 0.3125rem;
}
.staff-list .staff-items .name{
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.4;
	margin-left: 0.75rem;
}
.staff-list .staff-items .name span{
	font-size: 0.875rem;
	font-weight: 400;
	margin-left: 0.75rem;
}
.staff-list .staff-items .staff-comment p{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
}
@media only screen and (max-width: 767px) {
	.staff-guide .staff-list{
		column-gap: 0;
		row-gap: 1.25rem;
	}
	.staff-list .staff-items{
		width: 100%;
		padding: 0.625rem;
	}
	.staff-list .staff-items .category{
		padding: 0.25rem 1rem;
	}
	.staff-list .staff-items .staff-comment p{
		font-size: 0.9375rem;
	}
}
/**
/* お問い合わせ CSS
----------------------------------------------- */
.form-box .border{
	border-top: 2px solid #EEE9DA;
	border-bottom: 2px solid #EEE9DA;
	margin: 0.75rem 0;
	padding-bottom: 0.75rem;
}

.form-box table th {
	width: 18.75rem;
	vertical-align: top;
	padding: 0.75rem 0 0.75rem 0;
}

.form-box table th .ttl {
	position: relative;
	color: #3B3938;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.45;
	padding: 0.875rem 0 0.875rem 4.5rem;
}

.form-box table th.required .ttl::before {
	position: absolute;
	display: inline-block;
	vertical-align: middle;
	background: rgba(254, 83, 100, 0.2);
	content: "必須";
	color: #FE5364;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.04em;
	border-radius: 0.3125rem;
	left: 0;
	top: 1rem;
	padding: 0.25rem 1rem;
}

.form-box table td {
	color: #3B3938;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.45;
	padding: 0.75rem 0;
}

.form-box table td ul {
	display: flex;
	column-gap: 0.5rem;
}

.form-box table td ul li {
	display: flex;
	align-items: baseline;
	width: calc(33.3333% - 0.3125rem);
}

.form-box table td ul li span.text {
	display: inline-block;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.45;
	margin-left: 0.5rem;
}

.form-box table td .select-wrap{
	position: relative;
}

.form-box table td ul li .select-wrap {
	width: calc(100% - 1.625rem)
}

.select-wrap:after {
	content: "";
	position: absolute;
	right: 1.125rem;
	top: 1.65rem;
	width: 0.5rem;
	height: 0.5rem;
	border-top: 2px solid #666666;
	border-left: 2px solid #666666;
	transform: translateY(-50%) rotate(-135deg);
	pointer-events: none;
}

.form-box table td .wpcf7-list-item {
	display: block;
	margin: 0.625em 0 0 0;
}

.form-box table td label {
	display: flex;
	align-items: center;
}

.form-box table td label .wpcf7-list-item-label {
	margin-left: 0.5rem;
}

input[type="date"],
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="url"],
textarea,
select {
	width: 100%;
	background: #FFFFFF;
	font-family: "Noto Sans JP", sans-serif;
	color: #3B3938;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.45;
	padding: 0.9375rem;
	border-radius: 0.5rem;
	border: 1px solid #CCCCCC;
}

textarea {
	height: 15.625rem;
}

select {
	position: relative;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.wpcf7-radio label span {
	cursor: pointer;
	position: relative;
	padding-left: 1.5em;
	display: inline-block;
	line-height: 1.2;
	padding-left: 2em;
}

.wpcf7-radio label span:before {
	position: absolute;
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	border: 1px solid #CCCCCC;
	display: inline-block;
	vertical-align: middle;
	left: 0;
	top: -1px;
	background-color: #fff;
	border-radius: 50%;
}

.wpcf7-radio input[type="radio"] {
	width: 1px;
	height: 1px;
	margin: -1px;
	border: 0;
	overflow: hidden;
	position: absolute;
	padding: 0;
	clip: rect(0, 0, 0, 0);
}

.wpcf7-radio input[type="radio"]:checked+span:after {
	position: absolute;
	content: "";
	background: #E66000;
	display: block;
	position: absolute;
	left: 0.375rem;
	top: 0.3rem;
	width: 0.75rem;
	height: 0.75rem;
	border-radius: 50%;
}

.wpcf7-checkbox span.wpcf7-list-item,
.wpcf7-acceptance span.wpcf7-list-item {
	cursor: pointer;
	position: relative;
	display: inline-block;
	line-height: 1.2;
}

.wpcf7-checkbox span input[type=checkbox],
.wpcf7-acceptance span input[type=checkbox] {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
	position: relative;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1.5rem;
	width: 1.5rem;
	vertical-align: -0.8rem;
	transition: all .15s ease-out 0s;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	outline: none;
	background: #ffffff;
	border-radius: 0.5rem;
	border: 1px solid #CCCCCC;
}

.wpcf7-checkbox span input[type=checkbox]:before,
.wpcf7-checkbox span input[type=checkbox]:after,
.wpcf7-acceptance span input[type=checkbox]:before,
.wpcf7-acceptance span input[type=checkbox]:after {
	position: absolute;
	content: "";
	background: #E66000;
	transition: all .2s ease-in-out;
}

.wpcf7-checkbox span input[type=checkbox]:before,
.wpcf7-acceptance span input[type=checkbox]:before {
	left: 0.125rem;
	top: 0.875rem;
	width: 0;
	height: 0.125rem;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
}

.wpcf7-checkbox span input[type=checkbox]:after,
.wpcf7-acceptance span input[type=checkbox]:after {
	right: 0.5rem;
	bottom: 0.125rem;
	width: 0.125rem;
	height: 0;
	transform: rotate(40deg);
	-webkit-transform: rotate(40deg);
	-moz-transform: rotate(40deg);
	-ms-transform: rotate(40deg);
	-o-transform: rotate(40deg);
	transition-delay: .2s;
}

.wpcf7-checkbox span input[type=checkbox]:checked:before,
.wpcf7-acceptance span input[type=checkbox]:checked:before {
	left: 0.125rem;
	top: 0.875rem;
	width: 0.5rem;
	height: 0.125rem;
}

.wpcf7-checkbox span input[type=checkbox]:checked:after,
.wpcf7-acceptance span input[type=checkbox]:checked:after {
	right: 0.5rem;
	bottom: 0.125rem;
	width: 0.125rem;
	height: 0.9375rem;
}

.wpcf7-checkbox span input[type=checkbox]:indeterminate:before,
.wpcf7-checkbox span input[type=checkbox]:indeterminate:after,
.wpcf7-acceptance span input[type=checkbox]:indeterminate:before,
.wpcf7-acceptance span input[type=checkbox]:indeterminate:after {
	width: 0.5rem;
	height: 0.125rem;
	transform: rotate(0);
	-webkit-transform: rotate(0);
	-moz-transform: rotate(0);
	-ms-transform: rotate(0);
	-o-transform: rotate(0);
}

.wpcf7-checkbox span input[type=checkbox]:indeterminate:before,
.wpcf7-acceptance span input[type=checkbox]:indeterminate:before {
	left: 0.125rem;
	top: 0.5rem;
}

.wpcf7-checkbox span input[type=checkbox]:indeterminate:after,
.wpcf7-acceptance span input[type=checkbox]:indeterminate:after {
	right: 0.125rem;
	bottom: 0.5rem;
}

input.wpcf7-form-control[type="text"]:not(:placeholder-shown),
textarea.wpcf7-form-control:not(:placeholder-shown) {
  background-color: #e8f0fe !important;
}

.acceptance-check {
	color: #666666;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.45;
	text-align: center;
	margin-top: 2.25rem;
}

.acceptance-check a {
	color: #666666;
	text-decoration: underline;
}

.acceptance-check label {
	display: flex;
	align-items: center;
}

.acceptance-check .wpcf7-list-item {
	margin: 0;
}

.acceptance-check .wpcf7-list-item-label {
	margin-left: 1rem;
}

.submit_btn {
	text-align: center;
	margin-top: 3rem;
}

.submit_btn li {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 15rem;
}

.submit_btn li::after {
	content: "●";
	position: absolute;
	color: #ffffff;
	font-size: 0.625rem;
	right: 2.5rem;
	top: 50%;
	transform: translateY(-50%);
}

input[type="submit"] {
	position: relative;
	display: block;
	width: 100%;
	background: #ee761c;
	border: none;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFFFFF;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.25;
	text-align: left;
	border-radius: 3.125rem;
	padding: 1.125rem 2.5rem;
	cursor: pointer;
}

.wpcf7-spinner {
	display: none;
}

@media only screen and (max-width: 767px) {
	.form-box .border{
		padding-top: 0.75rem;
		margin: 0.75rem 0;
	}

	.form-box table th,
	.form-box table td {
		display: block;
	}

	.form-box table th {
		width: 100%;
		padding: 0;
	}

	.form-box table th .ttl {
		font-size: 1rem;
		padding: 0.875rem 0 0 0;
	}

	.form-box table th.required .ttl {
		padding: 0.875rem 0 0 3.5rem;
	}

	.form-box table th.required .ttl::before {
		font-size: 0.75rem;
		top: 0.875rem;
		padding: 0.25rem 0.75rem;
	}

	.form-box table td {
		font-size: 1rem;
		padding: 0.75rem 0;
	}

	.form-box table td ul li span.text {
		font-size: 1rem;
	}

	.select-wrap:after {
		right: 1rem;
		top: 1.45rem;
		width: 0.375rem;
		height: 0.375rem;
	}

	.form-box table td .wpcf7-list-item {
		margin: 0.625em 0 0 0;
	}

	input[type="date"],
	input[type="text"],
	input[type="tel"],
	input[type="email"],
	input[type="url"],
	textarea,
	select {
		padding: 0.625rem;
	}

	textarea {
		height: 10.625rem;
	}

	.wpcf7-radio label span {
		padding-left: 2em;
	}

	.wpcf7-radio label span:before {
		width: 1.5rem;
		height: 1.5rem;
	}

	.wpcf7-radio input[type="radio"]:checked+span:after {
		left: 0.375rem;
		top: 0.3rem;
		width: 0.75rem;
		height: 0.75rem;
	}

	.submit_btn {
		margin-top: 2rem;
	}

	.submit_btn li {
		max-width: 15rem;
	}

	.submit_btn li::after {
		right: 1.25rem;
	}

	input[type="submit"] {
		font-size: 1rem;
		padding: 0.875rem 2.5rem;
	}
}

/**
/* 新着情報 CSS
----------------------------------------------- */
.l-contents {
	display: flex;
	justify-content: space-between;
}

.l-contents .l-main {
	width: calc(100% - 3.75rem - 17.5rem);
}

.l-contents .l-side {
	width: 17.5rem;
}

.l-side h3.h3_ttl {
	background: #F88F44;
	font-family: "Noto Serif JP", serif;
	color: #FFFFFF;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.45;
	border-radius: 0.25rem;
	padding: 0.75rem 1.5rem;
}

.l-side .post-list li {
	border-bottom: 1px solid #DDDDDD;
}

.l-side .post-list li a{
	display: block;
	color: #3B3938;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.45;
	padding: 1.5rem 0;
}

@media only screen and (max-width: 767px) {
	.l-contents {
		display: block;
	}

	.l-contents .l-main {
		width: 100%;
		margin-bottom: 3rem;
	}

	.l-contents .l-side {
		width: 100%;
	}

	.l-side h3.h3_ttl {
		font-size: 1.125rem;
		padding: 0.625rem 1rem;
	}

	.l-side .post-list li {
		font-size: 0.9375rem;
		padding: 1.25rem 0.375rem;
	}
}

/*一覧*/
.news-guide {
	padding: 5rem 0 12.5rem 0;
}

.news-list .news-items {
	border-bottom: 2px solid #EEE9DA;
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
}

.news-list .news-items dt {
	display: flex;
	align-items: baseline;
	margin-bottom: 0.75rem;
}

.news-list .news-items .date {
	font-family: "Roboto", sans-serif;
	color: #3B3938;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
}

.news-list .news-items .category {
	margin-left: 1.25rem;
}

.news-list .news-items .category a {
	display: inline-block;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.35;
	padding: 0.5rem 3.625rem;
}

.news-list .news-items .news a {
	background: rgba(0, 126, 235, 0.1);
	color: #007EEB;
	border-radius: 5px;
}

.news-list .news-items .recruit a {
	background: rgba(248, 143, 68, 0.3);
	color: #F88F44;
	border-radius: 5px;
}

.news-list .news-items dd a {
	font-size: 1rem;
	line-height: 1.65;
}

@media only screen and (max-width: 767px) {
	.news-guide {
		padding: 3rem 0 4.5rem 0;
	}

	.news-list .news-items {
		padding-bottom: 0.75rem;
		margin-bottom: 0.75rem;
	}

	.news-list .news-items dt {
		margin-bottom: 0.75rem;
	}

	.news-list .news-items .category {
		margin-left: 1.25rem;
	}

	.news-list .news-items .category a {
		font-size: 0.75rem;
		padding: 0.25rem 1rem;
	}
}

/*　　詳細　　*/
.single-guide {
	padding: 5rem 0 12.5rem 0;
}

.single-guide article {
	border-bottom: 2px solid #EEE9DA;
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
}

.single-guide .entry-header {
	margin-bottom: 0.75rem;
}

.single-guide .entry-header .entry-data {
	align-items: baseline;
	margin-bottom: 0.75rem;
}

.single-guide .entry-header .dete {
	font-family: "Roboto", sans-serif;
	color: #3B3938;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.25;
}

.single-guide .entry-header .category {
	margin-left: 1.25rem;
}

.single-guide .entry-header .category a {
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	border-radius: 0.3125rem;
	padding: 0.5rem 3.625rem;
}

.single-guide .entry-header .news a {
	background: rgba(0, 126, 235, 0.1);
	color: #007EEB;
}

.single-guide .entry-header .recruit a {
	background: rgba(248, 143, 68, 0.3);
	color: #F88F44;
}

.single-guide .entry-header h2 {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.45;
}

.single-guide .entry-body h2 {
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 1rem;
}

.single-guide .entry-body h3 {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 1rem;
}

.single-guide .entry-body p {
	font-size: 1rem;
	line-height: 1.8;
	margin-bottom: 1rem;
}

.single-guide .entry-body p:last-child {
	margin-bottom: 0;
}

.single-guide .entry-body p img {
	margin: 0.5rem 0;
}

.single-guide .entry-body ol {
	list-style: decimal;
	margin-left: 1.25rem;
}

.single-guide .entry-body ul {
	list-style: disc;
	margin-left: 1.25rem;
}

.single-guide .entry-body ol li,
.single-guide .entry-body ul li {
	font-size: 1rem;
	line-height: 1.8;
}

.single-guide .entry-body figure {
	margin: 0.5rem 0;
}

.single-guide .entry-body figcaption {
	font-size: 90%;
}

.alignleft {
	display: inline;
	float: left;
}

.alignright {
	display: inline;
	float: right;
}

.aligncenter {
	display: block;
	margin-right: auto;
	margin-left: auto;
}

blockquote.alignleft,
.wp-caption.alignleft,
img.alignleft {
	margin: 0 1rem 0 0;
}

blockquote.alignright,
.wp-caption.alignright,
img.alignright {
	margin: 0 0 0 1rem;
}

blockquote.aligncenter,
.wp-caption.aligncenter,
img.aligncenter {
	clear: both;
}

.single-guide .block_btn li .orange-border {
	background: #ffffff;
	border: 1px solid #F88F44;
	color: #F88F44;
}

.single-guide .block_btn li .white::after {
	color: #F88F44;
}

@media only screen and (max-width: 767px) {
	.single-guide {
		padding: 3rem 0 4.5rem 0;
	}

	.single-guide .entry-header .dete {
		font-size: 1rem;
	}

	.single-guide .entry-header .category {
		margin-left: 1.25rem;
	}

	.single-guide .entry-header .category a {
		font-size: 0.75rem;
		padding: 0.25rem 1rem;
	}

	.single-guide .entry-header h2 {
		font-size: 1.25rem;
	}

	.single-guide .entry-body h2 {
		font-size: 1.125rem;
		margin-bottom: 0.75rem;
	}

	.single-guide .entry-body h3 {
		font-size: 1.0625rem;
		margin-bottom: 0.75rem;
	}

	.single-guide .entry-body p {
		margin-bottom: 0.75rem;
	}

	.single-guide .entry-body p img {
		margin: 0.25rem 0;
	}

	.single-guide .entry-body figure {
		margin: 0.25rem 0;
	}

	blockquote.alignleft,
	.wp-caption.alignleft,
	img.alignleft {
		margin: 0 0.625rem 0 0;
	}

	blockquote.alignright,
	.wp-caption.alignright,
	img.alignright {
		margin: 0 0 0 0.625rem;
	}
}

/**
/* エラー CSS
----------------------------------------------- */
.error-guide .entry p {
	text-align: center;
}

.error-guide .entry .error_url {
	padding: 3rem 0;
}

.error-guide .entry .block_btn {
	margin-top: 4rem;
}

@media only screen and (max-width: 767px) {
	.error-guide .entry .error_url {
		padding: 1.5rem 0;
	}

	.error-guide .entry .block_btn {
		margin-top: 2rem;
	}
}