@charset "utf-8";

/*----------------------------------------------------
 elements
----------------------------------------------------*/
html {
	font-size: 62.5%;
}

body {
	color: #000;
	font-family: 'Noto Sans JP', ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.8;
	background: #fff;
}

div {
	box-sizing: border-box;
}

img{
	vertical-align:top;
	max-width: 100%;
	height: auto;
}

a {
	outline: none;
	color: #3B4394;
	text-decoration: none;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

a:focus, *:focus {
	outline:none;
}

a:visited {
	color: #212121;
}

a img {
	-webkit-transition: opacity .5s ease-out;
	-moz-transition: opacity .5s ease-out;
	-ms-transition: opacity .5s ease-out;
	transition: opacity .5s ease-out;
}

.post, .page {
	margin: 0;
}


.center {
	text-align: center;
}

.clearfix:after {
	content:" ";
	display:block;
	clear:both;
}

.clear {
	clear:both;
	height: 0;
}

small {
	font-weight: 500;
}

ul, ol {
	padding: 0;
	margin: 0;
}

li > ul, li > ol {
	margin-left: 0;
}

ul li {
	list-style: none;
	box-sizing: border-box;
}

dl {
	margin: 0;
}

dt {
	font-weight: 500;
	box-sizing: border-box;
}

dd {
	margin: 0;
	box-sizing: border-box;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

table th,
table td {
	box-sizing: border-box;
}

h1, h2, h3, h4, h5 {
	font-weight: 500;
}

p {
	margin: 0;
}

/*----------------------------------------------------
 fadeIn
----------------------------------------------------*/

.fadeIn {
	transform: translate3d(0, -10px, 0);
	transition: 1s;
	opacity: 0;
}

.fadeIn.animated {
	transform: translate3d(0, 0, 0);
	opacity: 1;
}

/*----------------------------------------------------
 inner
----------------------------------------------------*/
.inner {
	width: calc(100% - 3.6rem);
	max-width: 1050px;
	margin: 0 auto;
}

/*----------------------------------------------------
 sectionHead
----------------------------------------------------*/

.sectionHead h2 {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.sectionHead h2 b {
	position: relative;
	font-size: 36px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 6px;
}

.sectionHead h2 b:before {
	content: '';
	width: 60px;
	height: 1px;
	background: #FF0033;
	position: absolute;
	top: 50%;
	left: -77px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.sectionHead h2 b:after {
	content: '';
	width: 60px;
	height: 1px;
	background: #FF0033;
	position: absolute;
	top: 50%;
	right: -77px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.sectionHead h2 small {
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	color: #999999;
}

.sectionHead p {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.sectionHead p b {
	position: relative;
	font-size: 36px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 6px;
}

.sectionHead p b:before {
	content: '';
	width: 60px;
	height: 1px;
	background: #FF0033;
	position: absolute;
	top: 50%;
	left: -77px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.sectionHead p b:after {
	content: '';
	width: 60px;
	height: 1px;
	background: #FF0033;
	position: absolute;
	top: 50%;
	right: -77px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.sectionHead p small {
	font-size: 20px;
	font-weight: 400;
	text-align: center;
	color: #999999;
}

/*----------------------------------------------------
 button
----------------------------------------------------*/

.linkButton a {
	font-size: 16px;
	font-weight: 500;
	line-height: 44px;
	color: #FF0033;
	border: 1px solid #FF0033;
	border-radius: 6px;
	display: inline-block;
	min-width: 172px;
	text-align: center;
}

/*----------------------------------------------------
 header
----------------------------------------------------*/

#header {
	border-bottom: 1px solid #CCCCCC;
	background: #ffffff;
	padding: 15px 0;
}

#header .inner {
	max-width: 1420px;
}

#header .headerFlex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#header .logo {
	width: 100%;
	max-width: 371px;
}

#header .button a {
	width: 304px;
	color: #fff;
	border: 1px solid #FF0033;
	background: #FF0033;
	border-radius: 8px;
	font-size: 18px;
	font-weight: 400;
	line-height: 35px;
	text-align: center;
	display: block;
	text-decoration: none;
}

/*----------------------------------------------------
 footer
----------------------------------------------------*/

#footer .navArea {
	background: #fff;
	padding: 25px 0 25px;
}

#footer .navArea ul {
	display: flex;
	justify-content: center;
}

#footer .navArea ul li {
	margin: 0 24px;
}

#footer .navArea ul li a {
	display: flex;
	align-items: center;
}

#footer .navArea ul li a .icon {
	width: 100%;
	max-width: 21px;
	line-height: 21px;
	margin-right: 10px;
}

#footer .navArea ul li a .text {
	font-size: 16px;
	color: #3B4394;
	text-decoration: underline;
}

#footer .copy {
	background: #FF0033;
	padding: 28px 0 28px;
}

#footer .copy p {
	font-size: 14px;
	font-weight: 400;
	color: #fff;
	text-align: center;
}

/*----------------------------------------------------
 visual
----------------------------------------------------*/

#visual {
	position: relative;
	width: 100%;
	height: 650px;
	background: url('/wp-content/themes/nichibo-theme/assets/img/home/visual-bg01.jpg') bottom center no-repeat;
	background-size: cover;
	padding: 15px 0 0;
}

#visual .textBox {
	position: absolute;
	bottom: 140px;
	left: 7.67%;
}

#visual .textBox .obj {
	width: 100%;
	max-width: 148px;
	margin: 0 auto 20px;
}

#visual .textBox h2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	line-height: 1;
}

#visual .textBox h2 b {
	font-size: 40px;
	font-weight: 700;
	margin-top: 16px;
	margin-bottom: 14px;
	white-space: nowrap;
}

#visual .textBox h2 b span {
	font-size: 30px;
}

/*----------------------------------------------------
 news
----------------------------------------------------*/

#news {
	padding: 94px 0 100px;
}

#news .sectionHead {
	margin-bottom: 47px;
}

#news .news-list {
	margin-bottom: 48px;
	border-top: 2px solid #999999;
	border-bottom: 2px solid #999999;
}

#news .news-list ul li a {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	border-bottom: 1px solid #999999;
	padding: 15px 29px 15px 21px;
}

#news .news-list ul li:last-child a {
	border: none;
}

#news .news-list ul li a .newMark {
	width: 46px;
	font-size: 12px;
	font-weight: 400;
	line-height: 23px;
	text-align: center;
	color: #fff;
	background: #FF0033;
	border-radius: 4px;
	text-decoration: none;
}

#news .news-list ul li a .list-info {
	display: flex;
	width: calc(100% - 50px);
}

#news .news-list ul li a .list-info .date {
	font-size: 16px;
	font-weight: 500;
	color: #252525;
	margin-right: 26px;
}

#news .news-list ul li a .list-info .title {
	font-size: 16px;
	font-weight: 400;
	color: #3B4394;
	text-decoration: underline;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#news .linkButton {
	width: 172px;
	margin: 0 0 0 auto;
}

/*----------------------------------------------------
 service
----------------------------------------------------*/

#service {
	padding: 96px 0 101px 0;
}

#service .sectionHead {
	margin: 0 0 45px;
}

#service .sectionHead b {
	color: #252525;
}

#service .serviceFlex .box {
	display: flex;
	justify-content: space-between;
}

#service .serviceFlex .box .conts {
	position: relative;
	background: #F0F0F0;
}

#service .serviceFlex .box .conts h3 {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
	color: #FF0033;
	margin-bottom: 20px;
}

#service .serviceFlex .box .conts p {
	font-size: 16px;
	letter-spacing: 0.05em;
	font-weight: 400;
	line-height: 1.8;
}

#service .serviceFlex .box01 {
	margin-bottom: 49px;
	flex-direction: column;
	border-radius: 8px;
	overflow: hidden;
}

#service .serviceFlex .box01 .image {
	width: 100%;
	position: relative;
	z-index: 1;
}

#service .serviceFlex .box01 .conts {
	position: relative;
	width: 100%;
	padding: 37px 30px 31px 30px;
}

#service .serviceFlex .box02 {
	border-radius: 8px;
	overflow: hidden;
}

#service .serviceFlex .box02 .image {
	width: 50%;
	position: relative;
	z-index: 1;
}

#service .serviceFlex .box02 .conts {
	position: relative;
	width: 50%;
	padding: 37px 55px 28px 30px;
}

#service .serviceFlex .box02 .conts p {
	margin-bottom: 19px;
}

#service .serviceFlex .box02 .conts:before {
	content: '';
	width: 93px;
	height: 100%;
	background: #fff;
	position: absolute;
	right: -90px;
	top: 0;
}

/*----------------------------------------------------
 company
----------------------------------------------------*/

#company {
	padding: 95px 0 99px 0;
}

#company .sectionHead {
	margin: 0 0 44px;
}

#company .companyTable table {
	width: 100%;
	border-top: 2px solid #999999;
	border-bottom: 2px solid #999999;
}

#company .companyTable table th {
	width: 249px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.8;
	color: #FF0033;
	text-align: center;
	vertical-align: middle;
	padding: 10px 0;
	border-bottom: 1px solid #999999;
}

#company .companyTable table td {
	width: calc(100% - 249px);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	padding: 10px 0 10px 21px;
	border-bottom: 1px solid #999999;
}

#company .companyTable table td span {
	display: block
}

#company .companyTable table td span:first-child {
	margin-bottom: 4px;
}

#company .companyTable table td a {
	text-decoration: underline;
}

/*----------------------------------------------------
 recruit
----------------------------------------------------*/

#recruit {
	background: #ffffff;
	padding: 97px 0 104px 0;
}

#recruit .sectionHead {
	margin: 0 0 37px;
}

#recruit .recruitConts {
	text-align: center;
}

#recruit .recruitConts p {
	font-size: 16px;
	line-height: 1.8;
}

/*----------------------------------------------------
 contact
----------------------------------------------------*/

#contact {
	padding: 92px 0 97px 0;
	background: #252525;
}

#contact .sectionHead {
	margin: 0 0 49px;
}

#contact .sectionHead h2 b {
	color: #fff;
}

#contact .sectionHead h2 b:before {
	background: #fff;
}

#contact .sectionHead h2 b:after {
	background: #fff;
}

#contact .sectionHead h2 small {
	color: #fff;
}

#contact .sectionHead h2 .line {
	background: #fff;
}

#contact .contactInfo {
	display: flex;
	justify-content: space-between;
	border: 1px solid #fff;
	border-radius: 8px;
	margin: 0 0 47px;
	padding: 38px 39px 37px;
}

#contact .contactInfo .box {
	width: 47.88%;
	text-align: center;
}

#contact .contactInfo .box .boxHead {
	margin-bottom: 15px;
}

#contact .contactInfo .box .boxHead h3 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.8;
	color: #fff;
}

#contact .contactInfo .box .linkBox a {
	height: 86px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 2px solid #fff;
	border-radius: 6px;
	padding: 0 0 0 0;
	background: rgba(255,255,255,0.7);
	text-decoration: none;
}

#contact .contactInfo .box .linkBox a .text {
	font-size: 46px;
	font-weight: 700;
	color: #252525;
}

#contact .contactInfo .telBox .linkBox a .icon {
	width: 100%;
	max-width: 44px;
	-webkit-transform: translate(-8px, 1px);
	transform: translate(-8px, 1px);
}

#contact .contactInfo .telBox .linkBox a .text {
	line-height: 1;
	-webkit-transform: translate(9px, 0px);
	transform: translate(9px, 0px);
}

#contact .contactInfo .telBox .addText {
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	color: #fff;
	margin: 16px 0 0;
}

#contact .contactInfo .mailBox .linkBox a .icon {
	width: 100%;
	max-width: 51px;
	-webkit-transform: translate(-7px, 1px);
	transform: translate(-7px, 1px);
}

#contact .contactInfo .mailBox .linkBox a .text {
	font-size: 28px;
	line-height: 1;
	-webkit-transform: translate(6px, 1px);
	transform: translate(6px, 1px);
}

#contact .addressText {
	text-align: center;
}

#contact .addressText p {
	display: flex;
	justify-content: center;
	align-items: center;
}

#contact .addressText p b {
	font-size: 16px;
	font-weight: 400;
	color: #fff;
	margin: 0 14px;
}

#contact .addressText p small {
	font-size: 16px;
	font-weight: 500;
	color: #fff;
	margin: 0 14px;
}

/*----------------------------------------------------
 post
----------------------------------------------------*/

#post {
	padding: 95px 0 100px;
}

#post .sectionHead {
	margin-bottom: 44px;
}

#post .postInfo {
	display: flex;
	align-items: center;
}

#post .postInfo .date {
	font-size: 16px;
	font-weight: 500;
	color: #252525;
	margin-right: 19px;
}

#post .postInfo .newMark {
	width: 46px;
	font-size: 12px;
	font-weight: 400;
	line-height: 23px;
	text-align: center;
	color: #fff;
	background: #FF0033;
	border-radius: 4px;
	text-decoration: none;
}

#post .postTitle {
	margin: 0 0 34px;
}

#post .postTitle h1 {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.333;
}

#post .postContent h2 {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 30px;
	color: #fff;
	background: #ff0033;
	padding: 10px 18px;
	border-radius: 6px;
}

#post .postContent h3 {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 30px;
	color: #ff0033;
}

#post .postContent h4 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 30px;
}

#post .postContent p {
	font-size: 18px;
	font-weight: 400;
	line-height: 1.6;
	margin-bottom: 30px;
}

#post .backbuttons {
	display: flex;
	justify-content: right;
	margin: 54px 0 0;
}

#post .backbuttons .linkButton:last-child {
	margin-left: 20px;
}

#post .backbuttons .linkButton a {
	min-width: 232px;
	display: flex;
	justify-content: center;
	align-items: center;
}

#post .backbuttons .linkButton a .icon {
	width: 100%;
	max-width: 21px;
	line-height: 16px;
	margin: 0 10px 0 0;
}

#post .backbuttons .linkButton a .icon img {
	transition: all 0.3s ease;
}

/*----------------------------------------------------
 column-pagiNav (wp-pagenavi)
----------------------------------------------------*/

.wp-pagenavi {
	display: flex;
	justify-content: right;
	margin: 0 0 30px;
}

.wp-pagenavi .current {
	font-size: 17px;
	font-weight: 400;
	line-height: 30px;
	text-transform: uppercase;
	font-family: 'Roboto', sans-serif;
	background: rgba(147,161,176,0.3);
	color: #fff;
	border-radius: 4px;
	padding: 0 10px;
	margin: 0 5px;
}

.wp-pagenavi a.page {
	font-size: 17px;
	font-weight: 400;
	line-height: 30px;
	text-transform: uppercase;
	font-family: 'Roboto', sans-serif;
	background: #fff;
	border: 1px solid rgba(147,161,176,0.3);
	border-radius: 4px;
	padding: 0 10px;
	margin: 0 5px;
}

.wp-pagenavi a.nextpostslink {
	position: relative;
	font-size: 17px;
	font-weight: 400;
	line-height: 30px;
	text-transform: uppercase;
	font-family: 'Roboto', sans-serif;
	background: #93A1B0;
	color: #93A1B0;
	border-radius: 3px;
	padding: 0 24px;
	margin: 0 0 0 5px;
}

.wp-pagenavi a.nextpostslink:after {
	content: '';
	width: 9px;
	height: 10px;
	background: url('/wp-content/themes/nichibo-theme/assets/img/common/paginav-next.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.wp-pagenavi a.previouspostslink {
	position: relative;
	font-size: 17px;
	font-weight: 400;
	line-height: 30px;
	text-transform: uppercase;
	font-family: 'Roboto', sans-serif;
	background: #93A1B0;
	color: #93A1B0;
	border-radius: 3px;
	padding: 0 24px;
	margin: 0 0 0 5px;
}

.wp-pagenavi a.previouspostslink:after {
	content: '';
	width: 9px;
	height: 10px;
	background: url('/wp-content/themes/nichibo-theme/assets/img/common/paginav-prev.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.wp-pagenavi .extend {
	line-height: 2;
}

/*----------------------------------------------------
 vw
----------------------------------------------------*/

@media screen and (min-width: 769px) and (max-width: 1050px) {

	/*----------------------------------------------------
	elements
	----------------------------------------------------*/

	body {
		font-size: 1.524vw;
	}

	/*----------------------------------------------------
	fadeIn
	----------------------------------------------------*/

	.fadeIn {
		transform: translate3d(0, -0.952vw, 0);
		transition: 1s;
		opacity: 0;
	}


	/*----------------------------------------------------
	inner
	----------------------------------------------------*/
	.inner {
		max-width: 100vw;
	}

	/*----------------------------------------------------
	sectionHead
	----------------------------------------------------*/

	.sectionHead h2 b {
		font-size: 3.429vw;
		margin-bottom: 0.571vw;
	}

	.sectionHead h2 b:before {
		width: 5.714vw;
		height: 0.095vw;
		left: -7.333vw;
	}

	.sectionHead h2 b:after {
		width: 5.714vw;
		height: 0.095vw;
		right: -7.333vw;
	}

	.sectionHead h2 small {
		font-size: 1.905vw;
	}


	.sectionHead p b {
		font-size: 3.429vw;
		margin-bottom: 0.571vw;
	}

	.sectionHead p b:before {
		width: 5.714vw;
		height: 0.095vw;
		left: -7.333vw;
	}

	.sectionHead p b:after {
		width: 5.714vw;
		height: 0.095vw;
		right: -7.333vw;
	}

	.sectionHead p small {
		font-size: 1.905vw;
	}

	/*----------------------------------------------------
	button
	----------------------------------------------------*/

	.linkButton a {
		font-size: 1.524vw;
		line-height: 4.19vw;
		border-radius: 0.571vw;
		min-width: 16.381vw;
	}

	/*----------------------------------------------------
	header
	----------------------------------------------------*/

	#header {
		padding: 1.429vw 0;
	}

	#header .inner {
		max-width: 135.238vw;
	}

	#header .logo {
		max-width: 35.333vw;
	}

	#header .button a {
		width: 28.952vw;
		border-radius: 0.762vw;
		font-size: 1.714vw;
		line-height: 3.333vw;
	}

	/*----------------------------------------------------
	footer
	----------------------------------------------------*/

	#footer .navArea {
		padding: 2.381vw 0 2.381vw;
	}

	#footer .navArea ul li {
		margin: 0 2.286vw;
	}

	#footer .navArea ul li a .icon {
		max-width: 2vw;
		line-height: 2vw;
		margin-right: 0.952vw;
	}

	#footer .navArea ul li a .text {
		font-size: 1.524vw;
	}

	#footer .copy {
		padding: 2.667vw 0 2.667vw;
	}

	#footer .copy p {
		font-size: 1.333vw;
	}

	/*----------------------------------------------------
	visual
	----------------------------------------------------*/

	#visual {
		height: 61.905vw;
		padding: 1.429vw 0 0;
	}

	#visual .textBox {
		bottom: 13.333vw;
	}

	#visual .textBox .obj {
		max-width: 14.095vw;
		margin: 0 auto 1.905vw;
	}

	#visual .textBox h2 b {
		font-size: 3.81vw;
		margin-top: 1.524vw;
		margin-bottom: 1.333vw;
	}

	#visual .textBox h2 b span {
		font-size: 2.857vw;
	}

	/*----------------------------------------------------
	news
	----------------------------------------------------*/

	#news {
		padding: 8.952vw 0 9.524vw;
	}

	#news .sectionHead {
		margin-bottom: 4.476vw;
	}

	#news .news-list {
		margin-bottom: 4.571vw;
		border-top: 0.19vw solid #999999;
		border-bottom: 0.19vw solid #999999;
	}

	#news .news-list ul li a {
		padding: 1.429vw 2.762vw 1.429vw 2vw;
	}


	#news .news-list ul li a .newMark {
		width: 4.381vw;
		font-size: 1.143vw;
		line-height: 2.19vw;
		border-radius: 0.381vw;
	}

	#news .news-list ul li a .list-info {
		width: calc(100% - 4.762vw);
	}

	#news .news-list ul li a .list-info .date {
		font-size: 1.524vw;
		margin-right: 2.476vw;
	}

	#news .news-list ul li a .list-info .title {
		font-size: 1.524vw;
	}

	#news .linkButton {
		width: 16.381vw;
	}

	/*----------------------------------------------------
	service
	----------------------------------------------------*/

	#service {
		padding: 9.143vw 0 9.619vw 0;
	}

	#service .sectionHead {
		margin: 0 0 4.286vw;
	}

	#service .serviceFlex .box .conts h3 {
		font-size: 2.857vw;
		margin-bottom: 1.905vw;
	}

	#service .serviceFlex .box .conts p {
		font-size: 1.524vw;
	}

	#service .serviceFlex .box01 {
		margin-bottom: 4.667vw;
		border-radius: 0.762vw;
	}

	#service .serviceFlex .box01 .conts {
		padding: 3.524vw 2.857vw 2.952vw 2.857vw;
	}

	#service .serviceFlex .box02 {
		border-radius: 0.762vw;
	}

	#service .serviceFlex .box02 .conts {
		padding: 3.524vw 5.238vw 2.667vw 2.857vw;
	}

	#service .serviceFlex .box02 .conts p {
		margin-bottom: 1.81vw;
	}

	#service .serviceFlex .box02 .conts:before {
		width: 8.857vw;
		right: -8.571vw;
	}

	/*----------------------------------------------------
	company
	----------------------------------------------------*/

	#company {
		padding: 9.048vw 0 9.429vw 0;
	}

	#company .sectionHead {
		margin: 0 0 4.19vw;
	}

	#company .companyTable table {
		border-top: 0.19vw solid #999999;
		border-bottom: 0.19vw solid #999999;
	}

	#company .companyTable table th {
		width: 23.714vw;
		font-size: 1.524vw;
		padding: 0.952vw 0;
	}

	#company .companyTable table td {
		width: calc(100% - 23.714vw);
		font-size: 1.524vw;
		padding: 0.952vw 0 0.952vw 2vw;
	}

	#company .companyTable table td span:first-child {
		margin-bottom: 0.381vw;
	}

	/*----------------------------------------------------
	recruit
	----------------------------------------------------*/

	#recruit {
		padding: 9.238vw 0 9.905vw 0;
	}

	#recruit .sectionHead {
		margin: 0 0 3.524vw;
	}

	#recruit .recruitConts p {
		font-size: 1.524vw;
		line-height: 1.8;
	}

	/*----------------------------------------------------
	contact
	----------------------------------------------------*/

	#contact {
		padding: 8.762vw 0 9.238vw 0;
	}

	#contact .sectionHead {
		margin: 0 0 4.667vw;
	}

	#contact .contactInfo {
		border-radius: 0.762vw;
		margin: 0 0 4.476vw;
		padding: 3.619vw 3.714vw 3.524vw;
	}

	#contact .contactInfo .box .boxHead {
		margin-bottom: 1.429vw;
	}

	#contact .contactInfo .box .boxHead h3 {
		font-size: 1.905vw;
	}

	#contact .contactInfo .box .linkBox a {
		height: 8.19vw;
		border: 0.19vw solid #fff;
		border-radius: 0.571vw;
	}

	#contact .contactInfo .box .linkBox a .text {
		font-size: 3.581vw;
	}

	#contact .contactInfo .telBox .linkBox a .icon {
		max-width: 3.49vw;
		-webkit-transform: translate(-0.762vw, 0.095vw);
		transform: translate(-0.762vw, 0.095vw);
	}

	#contact .contactInfo .telBox .linkBox a .text {
		line-height: 1;
		-webkit-transform: translate(0.857vw, 0);
		transform: translate(0.857vw, 0);
	}

	#contact .contactInfo .telBox .addText {
		font-size: 1.333vw;
		margin: 1.524vw 0 0;
	}

	#contact .contactInfo .mailBox .linkBox a .icon {
		max-width: 3.857vw;
		-webkit-transform: translate(-0.667vw, 0.095vw);
		transform: translate(-0.667vw, 0.095vw);
	}

	#contact .contactInfo .mailBox .linkBox a .text {
		font-size: 2.367vw;
		-webkit-transform: translate(0.571vw, 0.095vw);
		transform: translate(0.571vw, 0.095vw);
	}

	#contact .addressText p b {
		font-size: 1.524vw;
		margin: 0 1.333vw;
	}

	#contact .addressText p small {
		font-size: 1.524vw;
		margin: 0 1.333vw;
	}

	/*----------------------------------------------------
	post
	----------------------------------------------------*/

	#post {
		padding: 9.048vw 0 9.524vw;
	}

	#post .sectionHead {
		margin-bottom: 4.19vw;
	}

	#post .postInfo .date {
		font-size: 1.524vw;
		margin-right: 1.81vw;
	}

	#post .postInfo .newMark {
		width: 4.381vw;
		font-size: 1.143vw;
		line-height: 2.19vw;
		border-radius: 0.381vw;
	}

	#post .postTitle {
		margin: 0 0 3.238vw;
	}

	#post .postTitle h1 {
		font-size: 2.286vw;
		line-height: 1.333;
	}

	#post .postContent h2 {
		font-size: 2.095vw;
		margin-bottom: 2.857vw;
		padding: 0.952vw 1.714vw;
		border-radius: 0.571vw;
	}

	#post .postContent h3 {
		font-size: 2.095vw;
		margin-bottom: 2.857vw;
	}

	#post .postContent h4 {
		font-size: 1.905vw;
		margin-bottom: 2.857vw;
	}

	#post .postContent p {
		font-size: 1.714vw;
		margin-bottom: 2.857vw;
	}

	#post .backbuttons {
		margin: 5.143vw 0 0;
	}

	#post .backbuttons .linkButton:last-child {
		margin-left: 1.905vw;
	}

	#post .backbuttons .linkButton a {
		min-width: 22.095vw;
	}

	#post .backbuttons .linkButton a .icon {
		max-width: 2vw;
		line-height: 1.524vw;
		margin: 0 0.952vw 0 0;
	}

	/*----------------------------------------------------
	column-pagiNav (wp-pagenavi)
	----------------------------------------------------*/

	.wp-pagenavi {
		margin: 0 0 2.857vw;
	}

	.wp-pagenavi .current {
		font-size: 1.619vw;
		line-height: 2.857vw;
		border-radius: 0.381vw;
		padding: 0 0.952vw;
		margin: 0 0.476vw;
	}

	.wp-pagenavi a.page {
		font-size: 1.619vw;
		line-height: 2.857vw;
		border-radius: 0.381vw;
		padding: 0 0.952vw;
		margin: 0 0.476vw;
	}

	.wp-pagenavi a.nextpostslink {
		font-size: 1.619vw;
		line-height: 2.857vw;
		border-radius: 0.286vw;
		padding: 0 2.286vw;
		margin: 0 0 0 0.476vw;
	}

	.wp-pagenavi a.nextpostslink:after {
		width: 0.857vw;
		height: 0.952vw;
	}

	.wp-pagenavi a.previouspostslink {
		font-size: 1.619vw;
		line-height: 2.857vw;
		border-radius: 0.286vw;
		padding: 0 2.286vw;
		margin: 0 0 0 0.476vw;
	}

	.wp-pagenavi a.previouspostslink:after {
		width: 0.857vw;
		height: 0.952vw;
	}

	.wp-pagenavi .extend {
		line-height: 2;
	}

}

/*----------------------------------------------------
 Hover
----------------------------------------------------*/

@media screen and (min-width: 769px) {
	.pc_hidden {
		display: none !important;
	}

	#header .button a:hover {
		background: #fff;
		color: #FF0033;
	}

	.linkButton a:hover {
		color: #fff;
		background: #FF0033;
	}

	#company .companyTable table td a:hover {
		opacity: 0.7;
	}

	#news .news-list ul li a:hover {
		opacity: 0.7;
	}

	#company .companyTable table td a:hover {
		opacity: 0.7;
	}

	#footer .navArea ul li a:hover {
		opacity: 0.7;
	}

	#post .backbuttons .linkButton a:hover .icon img {
		filter: invert(100%) sepia(98%) saturate(0%) hue-rotate(329deg) brightness(102%) contrast(105%);
	}
}

/*----------------------------------------------------
 SP
----------------------------------------------------*/

@media screen and (max-width: 768px) {
	.sp_hidden {
		display: none !important;
	}

	.inner {
		width: calc(100% - 4rem);
	}

	/*------------------------
	sectionHead
	------------------------*/

	.sectionHead h2 b {
		font-size: 3.125vw;
	}

	.sectionHead h2 b:before {
		width: 5.208vw;
		left: -7.161vw;
	}

	.sectionHead h2 b:after {
		width: 5.208vw;
		right: -7.161vw;
	}

	.sectionHead h2 small {
		font-size: 2.083vw;
	}

	.sectionHead p b {
		font-size: 3.125vw;
	}

	.sectionHead p b:before {
		width: 5.208vw;
		left: -7.161vw;
	}

	.sectionHead p b:after {
		width: 5.208vw;
		right: -7.161vw;
	}

	.sectionHead p small {
		font-size: 2.083vw;
	}

	/*------------------------
	Button
	------------------------*/

	.linkButton a {
		font-size: 1.953vw;
		line-height: 5.078vw;
		border-radius: 0.781vw;
		min-width: 24.75vw;
	}

	/*------------------------
	header
	------------------------*/

	#header {
		padding: 1.302vw 0;
	}

	#header .inner {
		width: calc(100% - 3rem);
	}

	#header .logo {
		max-width: 30.339vw;
	}

	#header .button a {
		max-width: 11.458vw;
		font-size: 1.563vw;
		line-height: 1.2;
		padding: 0.651vw 0 0.781vw;
		border-radius: 1.042vw;
	}

	/*------------------------
	footer
	------------------------*/

	#footer .navArea {
		padding: 2.214vw 0 1.823vw;
	}

	#footer .navArea ul {
		padding: 0 0 0 1.302vw;
		justify-content: start;
	}

	#footer .navArea ul li {
		margin: 0;
	}

	#footer .navArea ul li a .icon {
		max-width: 2.734vw;
		line-height: 2.734vw;
		margin-right: 1.302vw;
	}

	#footer .navArea ul li a .text {
		font-size: 2.083vw;
	}

	#footer .navArea ul li:first-child {
		margin-right: 3.906vw;
	}

	#footer .copy {
		padding: 2.083vw 0 2.083vw;
	}

	#footer .copy p {
    font-size: 1.563vw;
		line-height: 1.6;
	}


	/*------------------------
	visual
	------------------------*/

	#visual {
		width: 100%;
		height: auto;
		background: #252525;
		padding: 0 0 0;
	}

	#visual .inner {
		width: calc(100% - 3rem);
	}

	#visual .textBox {
		position: relative;
		right: initial;
		top: initial;
		bottom: initial;
		padding: 2.344vw 0.651vw 1.563vw 0.651vw;
	}

	#visual .textBox h2 {
		display: flex;
		flex-direction: column;
		line-height: 1;
		color: #fff;
	}

	#visual .textBox h2 b {
		font-size: 2.344vw;
		margin-top: 0;
		margin-bottom: 1.693vw;
	}

	#visual .textBox h2 b span {
		font-size: 1.823vw;
	}

	/*------------------------
	news
	------------------------*/

	#news {
		padding: 5.99vw 0 6.51vw;
	}

	#news .sectionHead {
		margin-bottom: 3.385vw;
	}

	#news .news-list {
		margin-bottom: 3.906vw;
	}

	#news .news-list ul li a {
		position: relative;
		padding: 1.302vw 1.302vw 1.172vw 1.302vw;
	}

	#news .news-list ul li a .newMark {
		position: absolute;
		right: 1.302vw;
		top: 1.302vw;
	}

	#news .news-list ul li a .list-info {
		flex-direction: column;
		width: 100%;
	}

	#news .news-list ul li a .list-info .date {
		font-size: 1.823vw;
		margin-right: 0;
		margin-bottom: 0.391vw;
	}

	#news .news-list ul li a .list-info .title {
		font-size: 1.823vw;
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		white-space: initial;
		text-overflow: initial;
	}

	#news .linkButton {
		width: 24.75vw;
		margin: 0 auto;
	}

	/*------------------------
	service
	------------------------*/

	#service {
		padding: 4.688vw 0 5.208vw 0;
	}

	#service .sectionHead {
		margin: 0 0 3.255vw;
	}

	#service .serviceFlex .box {
		display: block;
	}

	#service .serviceFlex .box .conts h3 {
		font-size: 2.604vw;
		margin-bottom: 0.911vw;
	}

	#service .serviceFlex .box .conts p {
		font-size: 1.823vw;
		letter-spacing: 0;
	}

	#service .serviceFlex .box01 {
		margin-bottom: 2.604vw;
	}

	#service .serviceFlex .box01 .image {
		width: 100%;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	#service .serviceFlex .box01 .conts {
		width: 100%;
		padding: 2.604vw 2.604vw 2.734vw 2.604vw;
	}

	#service .serviceFlex .box01 .conts:before {
		display: none;
	}

	#service .serviceFlex .box02 .image {
		width: 100%;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	#service .serviceFlex .box02 .conts {
		width: 100%;
		padding: 2.474vw 2.604vw 2.734vw 2.604vw;
	}

	#service .serviceFlex .box02 .conts p {
    margin-bottom: 0px;
	}

	#service .serviceFlex .box02 .conts:before {
		display: none;
	}

	/*------------------------
	company
	------------------------*/

	#company {
		padding: 5.99vw 0 6.51vw 0;
	}

	#company .sectionHead {
		margin: 0 0 3.255vw;
	}

	#company .companyTable table {
		border-top: 0.26vw solid #999999;
		border-bottom: 0.26vw solid #999999;
	}

	#company .companyTable table th {
		display: block;
		border: none;
		width: 100%;
		font-size: 1.823vw;
		font-weight: 700;
		padding: 0.911vw 0 0 1.302vw;
		text-align: left;
	}

	#company .companyTable table td {
		display: block;
		width: 100%;
		font-size: 1.823vw;
		padding: 0.26vw 0 1.302vw 1.302vw;
	}

	#company .companyTable table td a {
		color: #3B4394;
	}

	/*------------------------
	recruit
	------------------------*/

	#recruit {
		padding: 5.99vw 0 6.12vw 0;
	}

	#recruit .sectionHead {
		margin: 0 0 3.125vw;
	}

	#recruit .recruitConts p {
		font-size: 1.823vw;
	}

	/*------------------------
	contact
	------------------------*/

	#contact {
		padding: 5.99vw 0 5.99vw 0;
	}

	#contact .sectionHead {
		margin: 0 0 3.385vw;
	}

	#contact .contactInfo {
		display: block;
		margin: 0 0 2.344vw;
		padding: 1.953vw 2.344vw 2.474vw;
	}

	#contact .contactInfo .box {
		width: 100%;
	}

	#contact .contactInfo .box .boxHead {
		margin-bottom: 0.911vw;
	}

	#contact .contactInfo .box .boxHead h3 {
		font-size: 2.344vw;
	}

	#contact .contactInfo .box .linkBox a {
    height: 7.161vw;
	}

	#contact .contactInfo .telBox .linkBox a .icon {
		max-width: 3.516vw;
		line-height: 1;
		-webkit-transform: translate(-1.042vw, 0);
		transform: translate(-1.042vw, 0);
	}

	#contact .contactInfo .box .linkBox a .text {
		font-size: 3.646vw;
		-webkit-transform: translate(0.391vw, 0px);
		transform: translate(0.391vw, 0px);
	}

	#contact .contactInfo .telBox {
		margin-bottom: 2.474vw;
	}

	#contact .contactInfo .telBox .addText {
		font-size: 1.563vw;
		margin: 0.911vw 0 0;
	}

	#contact .contactInfo .mailBox .linkBox a .icon {
		max-width: 4.036vw;
		line-height: 1;
		-webkit-transform: translate(-1.042vw, 0.13vw);
		transform: translate(-1.042vw, 0.13vw);
	}

	#contact .contactInfo .mailBox .linkBox a .text {
		font-size: 2.083vw;
		-webkit-transform: translate(0.781vw, -0.26vw);
		transform: translate(0.781vw, -0.26vw);
	}

	#contact .addressText p {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}

	#contact .addressText p b {
		font-size: 2.083vw;
		font-weight: 700;
		margin: 0 0 0.651vw;
	}

	#contact .addressText p small {
		font-size: 1.823vw;
		margin: 0 0;
	}

	/*------------------------
	post
	------------------------*/

	#post {
		padding: 4.688vw 0 5.208vw;
	}

	#post .sectionHead {
		margin-bottom: 3.255vw;
	}

	#post .postInfo .date {
    font-size: 1.823vw;
    margin-right: 2.474vw;
	}

	#post .postTitle {
		margin: 0 0 3.776vw;
	}

	#post .postTitle h1 {
		font-size: 2.344vw;
		line-height: 1.6;
	}

	#post .postContent h2 {
		font-size: 2.344vw;
		padding: 1.042vw 1.823vw;
		border-radius: 0.781vw;
	}

	#post .postContent h3 {
		font-size: 2.344vw;
	}

	#post .postContent h4 {
		font-size: 2.083vw;
	}

	#post .postContent p {
		font-size: 2.083vw;
		line-height: 1.8;
		margin-bottom: 3.906vw;
	}

	#post .backbuttons {
		flex-direction: column;
		align-items: center;
		justify-content: right;
		margin: 4.297vw 0 0;
	}

	#post .backbuttons .linkButton a {
		min-width: 25.911vw;
	}

	#post .backbuttons .linkButton:last-child {
		margin-left: 0px;
		margin-top: 2.604vw;
	}

}
