@charset "utf-8";

.container {
	max-width: 1100px;
	width: 96%;
	margin: 0 auto;
	/*
	padding: 30px 0;
	overflow: hidden;
	*/
	box-sizing: border-box;
	position: relative;
}

@media screen and (max-width: 1100px) {

	.container {
		max-width: 100%;
	}

}

h4 {
	margin: 0 auto 30px;
	padding: 15px;
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: 1.5px;
	text-align: center;
	border: 1px solid #000000;
	display: table;
}

table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

table th {
	width: 150px; /* 120px */
	padding: 15px 10px;
	color: #308aaf;
	text-align: left;
	font-weight: normal;
	border-top: 1px solid #308aaf;
	vertical-align: middle;
	box-sizing: border-box;
	background-color: #eff7fa;
}

table th span.w {
    margin: 0 auto;
    text-align: justify;
    text-justify: inter-character;
    display: block;
    text-align-last: justify;
    text-justify: inter-ideograph;
}

table th:last-of-type,
table td:last-of-type {
	border-bottom: 1px solid #308aaf;
}

table td {
	padding: 15px 10px;
	text-align: justify;
	line-height: 1.5;
	letter-spacing: 1.1px;
	border-top: 1px solid #308aaf;
	vertical-align: middle;
}

table td span.tel {
	display: block;
}

table td a {
	color: #308aaf;
}

table td a:after {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f35d';
	margin: 0 0 0 5px;
}

table td a:hover {
	color: #09658c;
	text-decoration: none;
}


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

	h4 {
		font-size: 1.3rem;
	}

	table {
		width: 100%;
		margin: 0 auto;
		font-size: 90%;
	}

	table th {
		display: block;
	    width: 100%;
	}

	table th span.w {
	    text-align: center;
	    text-justify: inter-character;
	    display: block;
	    text-align-last: center;
	    text-justify: inter-ideograph;
	}

	table td span.spbr {
		display: block;
	}

	table td {
		display: block;
	    width: 100%;
	    padding: 15px 0;
	    border-top: none;
	}

	table td:last-of-type {
		border-bottom: none;
	}

	table tr:last-child td {
		border-bottom: 1px solid #308aaf;
	}

	table td ol li {
		font-size: 90%;
	}

}


/***** 見出し背景帯 *****/
.container_bgL,
.container_bgR {
	position: relative;
}

.container_bgL:before {
	content: '';
	display: block;
	width: 91%;
	height: 360px;
	background-color: #e4ecef;
	position: absolute;
	top: -61px;
	left: 0;
	z-index: -1;
}

.container_bgR:after {
	content: '';
	display: block;
	width: 91%;
	height: 360px;
	background-color: #e4ecef;
	position: absolute;
	top: -61px;
	right: 0;
	z-index: -1;
}


/* 会社概要ページ
----------------------------------------------------- */
/***** 代表挨拶 *****/
.greetingbox {
	width: 100%;
	/*overflow: hidden;*/
	margin: 80px auto;
	background-color: #308aaf;
}

.greetingbox .container {
	overflow: visible;
}

.president {
	width: 250px;
	position: absolute;
	left: 100px;
	bottom: 0;
}

.president img {
	width: 100%;
	height: auto;
}

.greetingbox .box {
	width: 750px; /* 690px */
	padding: 30px 0;
	position: relative;
	right: -390px; /* -450px */
	text-align: justify;
}

.greetingbox .box p {
	color: #ffffff;
	line-height: 1.5;
	margin: 0 0 15px;
	letter-spacing: 1.5px;
}

.greetingbox .box p:last-child {
	margin: 0;
}

/***** 会社概要 *****/
body#company section.company {
	margin: 50px 0 100px;
}

.companybox {
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}

.companybox .info {
	width: 100%;
	margin: 0 0 50px;
	overflow: hidden;
	position: relative;
}

.companybox .companyimg {
	max-width: 720px;
	width: 100%;
	position: relative;
	top: 0;
	left: 0;
	/*
	max-width: 900px;
	height: 450px;
	background: url(../images/company.jpg) no-repeat;
	background-size: 80% auto;
	*/
}

.companybox .companyimg img {
	width: 100%;
	height: auto;
	border: 1px solid #ddd;
	box-sizing: border-box;
}

.companybox .map {
	width: 35%; /* 35% */
	overflow: hidden;
	position: absolute;
	top: -60px;
	left: 720px;
	background-color: #ffffff;
}

.companybox .container {
	margin: 0 auto 50px;
	padding: 0;
}

.companybox table {
	margin: 0 auto 50px;
}

.companybox table:last-of-type {
	margin: 0 auto;
}


@media screen and (max-width: 1200px) {

	.president {
	    left: 0;
	}

	.greetingbox .box {
		width: 73%;
		right: -26%;
	}

}


@media screen and (max-width: 1100px) {

	.companybox {
		width: 100%;
		margin: 0 auto;
	}

	.companybox .map {
		width: 35%; /* 35% */
		top: -60px;
		right: 0;
		left: auto;
	}

}


@media screen and (max-width: 1024px) {

	.president {
	    left: -8px;
	}

	.greetingbox .box {
	    right: -27%;
	}

}


@media screen and (max-width: 900px) {

	.greetingbox {
		margin: 50px 0;
	}

	.president {
	    left: -8px;
	}

	.greetingbox .box {
		width: 70%;
	    right: -30%;
	}

}


@media screen and (max-width: 800px) {

	.greetingbox {
		margin: 0;
	}

	.greetingbox .box {
		width: 63%;
	    right: -35%;
	}

	.companybox .companyimg {
		max-width: 100%;
		width: 96%;
		margin: 0 auto;
	}

	.companybox .map {
		width: 96%;
		margin: 50px auto 0;
		overflow: hidden;
		position: static;
		top: -60px;
		left: 0;
		right: 0;
	}

}


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

	.president {
		display: none;
	}

	.greetingbox .box {
		width: 100%;
		margin: 0 auto;
	    position: static;
	}

}


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

	.greetingbox .box,
	.greetingbox .container,
	.companybox {
		width: 96%;
		margin: 0 auto;
	}

	.greetingbox .box p {
		font-size: 90%;
	}

}


/* 売電事業ページ　food service
----------------------------------------------------- */
section.company.electricity_sales {
	margin: 0; /* 50px 0 */
}

section.electricity_ex {
	width: 100%;
	margin: 50px 0;
	/*overflow: hidden;*/
}

section.electricity_ex .mainbox {
	width: calc(100% - 14%); /* calc(100% - 190px) */
	margin: -50px 0 0 14%; /* -50px 0 0 190px */
	box-sizing: border-box;
	position: relative;
	z-index: 0;
}

section.electricity_ex p.title {
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-size: 1.3rem;
	position: relative;
	top: 0;
	left: 100px;
	z-index: 1;
}

section.electricity_ex p.title:after {
	content: '';
	width: 1px;
	height: 120px;
	display: block;
	background-color: #000000;
	position: absolute;
	bottom: -140px;
	left: 9px;
}

section.electricity_ex .box {
	max-width: 800px;
	padding: 0 30px 0 0;
	position: absolute;
	top: 50%;
	left: 210px;
	transform: translateY(0);
}

section.electricity_ex .box p {
	text-align: justify;
	line-height: 1.5;
	letter-spacing: 1.5px;
}


/***** 売電事業とは *****/
section.electricity {
	width: 100%;
	margin: 50px 0 0;
	padding: 100px 0 80px;
	overflow: hidden;
}

section.electricity .mainbox {
	width: calc(100% - 14%); /* calc(100% - 190px) */
	margin: -50px 0 0 14%; /* -50px 0 0 190px */
	padding: 0 0 100px;
	background-color: #e1eff5;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
	z-index: -1;
}

section.electricity .mainbox img {
	width: 66%;
	float: right;
	margin: -50px 0 0;
	padding: 0 0 25px 50px;
	box-sizing: border-box;
}

section.electricity .mainbox .boxL {
	padding: 70px 0 0 50px;
}

section.electricity .mainbox .boxL .entry_title {
	width: auto;
}

section.electricity .mainbox .boxL p {
	text-align: justify;
	letter-spacing: 1.5px;
	line-height: 1.5;
	margin: 0 0 15px;
}


@media screen and (max-width: 900px) {

	section.electricity_ex .mainbox {
		width: 96%;
		margin: 0 auto;
		box-sizing: border-box;
	}

	section.electricity_ex .box {
	    max-width: 100%;
	    padding: 0;
	    position: static;
	    top: 0;
	    left: 0;
	    transform: translateY(0);
	    width: 100%;
	    margin: 0 auto;
	}

	section.electricity_ex p.title {
		writing-mode: horizontal-tb;
	    position: static;
	    width: 100%;
	    margin: 0 auto 15px;
	}

	section.electricity_ex p.title:after {
		display: none;
	}

	section.electricity {
	    width: 100%;
	    margin: 0 auto;
	    padding: 15px 0 50px;
	}

	section.electricity .mainbox {
		width: 100%;
		margin: -50px 0 0;
		padding: 0 0 15px;
		box-sizing: border-box;
	}

	section.electricity .mainbox .boxL {
	    padding: 70px 0 0;
	    width: 96%;
	    margin: 0 auto;
	}

	section.electricity .mainbox img {
	    display: none;
	}

}


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

	section.electricity_ex p.title,
	section.electricity_ex .box {
		width: 96%;
	}

	section.electricity_ex .mainbox,
	section.electricity .mainbox {
		width: 100%;
		padding: 0 2% 15px;
		font-size: 90%;
		box-sizing: border-box;
	}

}


@media screen and (max-width: 320px) {

	section.electricity .mainbox .boxL .txt {
		margin: 30px 0 0;
	}

}


/* 飲食事業ページ　food service
----------------------------------------------------- */
section.company.food {
	margin: 0 0 50px;
}

section.company.food2 {
	margin: 50px 0;
}

/***** 嵐坊のキャッチ *****/
section.catch {
	width: 100%;
	margin: 50px 0 0;
	overflow: hidden;
	position: relative;
}

section.catch h2 {
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-family: 'Noto Serif JP', serif;
	font-size: 3rem;
	font-weight: 700;
	color: #e6232a;
	position: relative;
	top: 0;
	left: 50px;
}

section.catch h2 span {
	display: block;
	margin: 150px 5px 0;
}

section.catch .box {
	width: 800px;
	position: absolute;
	top: 50%;
	left: 210px;
	transform: translateY(-50%);
}

section.catch .box .img {
	width: 200px;
}

section.catch .box img {
	width: 100%;
	height: auto;
}

section.catch .box .txt {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: calc(100% - 220px);
	margin: 0 0 0 240px;
}

section.catch .box .txt p {
	font-size: 120%;
	line-height: 1.5;
	margin: 0 0 15px;
}

section.catch .box .txt p:last-child {
	margin: 0;
}

/***** 運営会社 *****/
.companybox .coperatingimg {
	width: 859px;
	height: 450px;
	background: url(../images/ranbou_honten.jpg) no-repeat 33px 0;
	background-size: 80% auto;
}

.companybox .coperatingimg2 {
	width: 859px;
	height: 450px;
	background: url(../images/caroona.jpg) no-repeat 33px 0;
	background-size: 80% auto;
}

/***** ギャラリー *****/
section.gallery {
	width: 100%;
	margin: 0 0 50px;
	overflow: hidden;
}

.slide_gallery li {
	margin: 0 5px;
}

.slide_gallery li img {
	width: 100%;
	height: auto;
}

/***** 嵐坊のこだわり *****/
section.thoughts {
    margin: 50px 0;
    padding: 50px 0;
    overflow: hidden;
    position: relative;
}

section.thoughts:after {
	content: '';
	display: block;
	width: 91%;
	height: 100%;
    background-color: #308aaf;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.thoughtsbox {
	width: 100%;
	overflow: hidden;
}

.thoughtsbox .box {
	width: 93%;
	overflow: hidden;
	background-color: #ffffff;
	margin: 0 0 50px;
	padding: 30px;
	box-sizing: border-box;
}

.thoughtsbox .box:last-child {
	margin: 0;
}

.thoughtsbox .box .imgsp {
	display: none;
}

.thoughtsbox .box .img {
	width: 300px;
	float: left;
}

.thoughtsbox .box img {
	width: 100%;
	height: auto;
	border: 2px solid #c9cbca;
	box-sizing: border-box;
}

.thoughtsbox .box .txt {
	width: calc(100% - 330px);
	float: right;
}

.thoughtsbox .box .txt .in {
	position: relative;
}

.thoughtsbox .box .txt .in span.no {
    font-size: 4rem;
    font-weight: 300;
    font-family: 'Oswald', sans-serif;
    position: relative;
}

.thoughtsbox .box .txt .in span.en {
    font-size: 120%;
    text-transform: uppercase;
    letter-spacing: 2px;
    position: relative;
    top: 0;
    left: 5px;
}

.thoughtsbox .box .txt .in span.jp {
    display: block;
    font-size: 120%;
    margin: 30px 0 10px;
}

.thoughtsbox .box .txt p {
	font-size: 90%;
	text-align: justify;
	line-height: 1.5;
	margin: 15px 0 0;
}

/***** 沿革 *****/
section.history {
    margin: 50px 0;
    padding: 50px 0;
    overflow: hidden;
    position: relative;
}

section.history:before {
	content: '';
	display: block;
	width: 95%;
	height: 100%;
    background-color: #e4ecef;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

section.history table th {
	background-color: transparent;
}

/***** 店舗 *****/
section.store {
    margin: 50px 0 0;
    /*padding: 50px 0;*/
    overflow: hidden;
    position: relative;
}

section.store table {
	margin: 0 0 50px;
}

section.store table.w180 th {
	width: 180px;
}


@media screen and (max-width: 1100px) {

	section.catch h2 {
		left: 2%;
	}

	section.catch .box {
		left: 15%;
	}

	section.thoughts:after {
		width: 100%;
	}

	.thoughtsbox .box {
		width: 100%;
	}

	section.history {
	    background-color: #e4ecef;
	}

	section.history:before {
		display: none;
	}

}


@media screen and (max-width: 1024px) {

	section.catch h2 {
		writing-mode: horizontal-tb;
	}

	section.catch h2 span {
		display: inline-block;
		margin: 0;
	}

	section.catch .box {
		width: 100%;
		margin: 30px 0 0;
		position: static;
		top: 0;
		left: 0;
		transform: translateY(0);
	}

	section.catch .box .txt {
		width: calc(100% - 28%);
	}

}

@media screen and (max-width: 800px) {

	section.catch .box .img {
	    width: 170px;
	}

	section.catch .box .txt {
	    margin: 0 0 0 28%;
	}

}


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

	section.catch .box .img {
	    width: 135px;
	}

}


@media screen and (max-width: 600px) {

	section.catch h2 {
		text-align: center;
		font-size: 2.5rem;
	}

	section.catch .box .img {
	    width: 184px;
	    margin: 40px auto 0;
	}

	section.catch .box .txt {
	    margin: 30px auto 0;
	    position: static;
	    top: 0;
	    transform: translateY(0);
	    width: 96%;
	}

	.thoughtsbox .box .imgsp {
		width: 300px;
		display: block;
		margin: 15px auto 0;
	}

	.thoughtsbox .box .img {
		display: none;
	}

	.thoughtsbox .box .txt {
		width: 100%;
		float: none;
	}

}


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

	section.company.food {
		margin: 0;
	}

	section.catch h2 {
		font-size: 2rem;
	}

	section.catch .box .txt {
		font-size: 90%;
	}

	.thoughtsbox .box {
		width: 96%;
		margin: 0 auto 50px;
	}

	.thoughtsbox .box:last-child {
		width: 96%;
		margin: 0 auto;
	}

	body#page.food_service table {
		width: 96%;
		margin: 0 auto 50px;
	}

	body#page.food_service2 table {
		width: 96%;
		margin: 0 auto;
	}

	section.store table.w180 th {
		width: 100%;
	}

}


@media screen and (max-width: 375px) {

	.thoughtsbox .box .imgsp {
		width: 240px;
		display: block;
		margin: 15px auto 0;
	}

	.thoughtsbox .box .txt .in span.no {
		font-size: 3rem;
	}

	.thoughtsbox .box .txt .in span.jp {
		margin: 20px 0 10px;
	}

}


/* 省電力コンサルタント事業ページ　power saving
----------------------------------------------------- */
section.power_saving_ex {
	width: 100%;
	margin: 50px 0;
	/*overflow: hidden;*/
}

section.power_saving_ex .mainbox {
	width: calc(100% - 14%); /* calc(100% - 190px) */
	margin: -50px 0 0 14%; /* -50px 0 0 190px */
	box-sizing: border-box;
	position: relative;
	z-index: 0;
}

section.power_saving_ex p.title {
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-size: 1.3rem;
	position: relative;
	top: 0;
	left: 100px;
	z-index: 1;
}

section.power_saving_ex p.title:after {
	content: '';
	width: 1px;
	height: 120px;
	display: block;
	background-color: #000000;
	position: absolute;
	bottom: -140px;
	left: 9px;
}

section.power_saving_ex .box {
	max-width: 800px;
	padding: 0 30px 0 0;
	position: absolute;
	top: 50%;
	left: 210px;
	transform: translateY(0);
}

section.power_saving_ex .box p {
	text-align: justify;
	line-height: 1.5;
	letter-spacing: 1.5px;
}


/***** 省電力コンサルティング事業とは *****/
section.power_saving {
	width: 100%;
	margin: 50px 0 0;
	padding: 100px 0 80px;
	overflow: hidden;
}

section.power_saving .mainbox {
	width: calc(100% - 14%); /* calc(100% - 190px) */
	margin: -50px 0 0 14%; /* -50px 0 0 190px */
	padding: 0 0 100px;
	background-color: #e1eff5;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
	z-index: -1;
}

section.power_saving .mainbox img {
	width: 66%;
	float: right;
	margin: -50px 0 0;
	padding: 0 0 25px 50px;
	box-sizing: border-box;
}

section.power_saving .mainbox .boxL {
	padding: 70px 0 0 50px;
}

section.power_saving .mainbox .boxL .entry_title {
	width: auto;
}

section.power_saving .mainbox .boxL p {
	text-align: justify;
	letter-spacing: 1.5px;
	line-height: 1.5;
	margin: 0 0 15px;
}


/***** 株式会社ヨシカワ管理部門 *****/
section.managing {
	width: 100%;
	margin: 0 0 50px;
	padding: 50px 0 0;
	overflow: hidden;
	position: relative;
}

section.managing:before {
	content: '';
	display: block;
	width: 96%;
	height: 100%;
	background-color: #e4ecef;
	position: absolute;
	top: 0;
	left: 0;
}

.managing table th,
.managing table td {
	background-color: transparent;
}

.managing .companybox .info {
	margin: 0;
}

.managing .companybox h4 {
	margin: 0 auto 50px;
}

.managing .boxL {
  width: 49%;
  float: left;
}

.managing .boxR {
  width: 49%;
  float: right;
  overflow: hidden;
  position: relative;
}

.managing iframe {
  position: relative;
  top: -60px;
}


@media screen and (max-width: 900px) {

	section.power_saving_ex .mainbox {
		width: 100%;
		margin: 0;
		padding: 0 2%;
		box-sizing: border-box;
	}

	section.power_saving_ex .box {
	    max-width: 100%;
	    padding: 0;
	    position: static;
	    top: 0;
	    left: 0;
	    transform: translateY(0);
	    width: 100%;
	    margin: 0 auto;
	}

	section.power_saving_ex p.title {
		writing-mode: horizontal-tb;
	    position: static;
	    width: 100%;
	    margin: 0 auto 15px;
	}

	section.power_saving_ex p.title:after {
		display: none;
	}

	section.power_saving {
	    width: 100%;
	    margin: 0 auto;
	    padding: 15px 0 50px;
	}

	section.power_saving .mainbox {
		width: 100%;
		margin: -50px 0 0;
		padding: 0 0 15px;
		box-sizing: border-box;
	}

	section.power_saving .mainbox .boxL {
	    padding: 70px 0 0;
	    width: 96%;
	    margin: 0 auto;
	}

	section.power_saving .mainbox img {
	    display: none;
	}

	section.managing:before {
		width: 100%;
	}

	.managing .boxL {
		max-width: 100%;
		width: 96%;
		margin: 0 auto;
	}

	.managing .boxR {
		width: 100%;
		margin: 50px auto 0;
		overflow: hidden;
		position: static;
		top: -60px;
		left: 0;
		right: 0;
	}

	.managing iframe {
		height: 370px;
	}

}

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

	section.power_saving_ex .mainbox {
	    width: 92%;
	    margin: 0 auto;
	    padding: 0;
	    font-size: 90%;
	}

	section.power_saving .mainbox {
		padding: 0 2% 15px;
		font-size: 90%;
	}

	.managing .container.title {
		width: 92%;
	}

	.managing .entry_title {
		margin: 0 0 30px;
	}

	.managing .boxL {
		width: 100%;
	}

}


/* 冷熱リソース事業ページ　cold heat
----------------------------------------------------- */
section.company.cold_heat {
	margin: 50px 0;
}

table td ol {
	counter-reset: item;
	margin: 0 0 15px;
}

table td ol li {
	text-indent: -1.3em;
	padding-left: 1.3em;
}

table td ol li:before {
	counter-increment: item;
	content: counter(item)'.';
}


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

	body#page.cold_heat table {
		width: 96%;
		margin: 0 auto;
	}
}


/* 賃貸事業ページ　rent
----------------------------------------------------- */
section.company.rent {
	margin: 50px 0;
	padding: 50px 0;
	position: relative;
}

section.company.rent::after {
	content: '';
	display: block;
	width: 91%;
	height: 100%;
	background-color: #e4ecef;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

section.company.rent p {
	text-align: justify;
	letter-spacing: 1.5px;
	line-height: 1.5;
}

.rentbox {
	width: 100%;
	margin: 15px 0 0 -15px;
	overflow: hidden;
}


@media screen and (max-width: 900px) {

	section.company.rent::after {
		width: 100%;
	}

	.rentbox {
		margin: 15px 0;
	}

}


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

	section.company.rent p {
		font-size: 90%;
	}

}


/* 施工実績ページ
----------------------------------------------------- */
.worksbox {
	max-width: 1100px;
	width: 100%;
	margin: 0 auto 50px;
	overflow: hidden;
}

.worksbox .box {
	width: calc(33.333% - 30px);
	float: left;
	margin: 0 15px 30px;
	box-sizing: border-box;
}

.worksbox .box a {
	color: #000000;
	display: block;
	text-decoration: none;
}

.worksbox .box a img {
	width: 100%;
	height: auto;
}

.worksbox .boxR {
	margin: 15px 0 0;
}

.worksbox .boxR span.date {
    letter-spacing: 1.5px;
    font-weight: 200;
    font-family: 'Oswald', sans-serif;
}

.worksbox .boxR span.title {
    display: block;
    letter-spacing: 1.5px;
    line-height: 1.5;
    text-align: justify;
    margin: 15px 0;
}

.worksbox .boxR span.more {
    display: block;
    color: #ffffff;
    margin: 30px 0 0;
	padding: 15px;
	text-align: center;
	background-color: #308aaf;
}

.worksbox .boxR:hover span.more {
	background-color: #09658c;
}


@media screen and (max-width: 600px) {

	.worksbox .box {
	    width: calc(33.333% - 20px);
	    margin: 0 10px 30px;
	}

}


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

	.worksbox .box {
		width: 96%;
		float: none;
		margin: 0 auto 30px;
		padding: 0 0 30px;
		overflow: hidden;
		border-bottom: 1px dashed #dddddd;
	}

	.worksbox .box:last-child {
		margin: 0 auto;
		padding: 0;
		border-bottom: none;
	}

	.worksbox .box .img {
		width: 130px;
		float: left;
	}

	.worksbox .box .img img {
		width: 100%;
		height: auto;
	}

	.worksbox .box .boxR {
		width: calc((100% - 130px) - 15px);
		float: left;
		margin: 0 0 0 15px;
	}

	.worksbox .boxR span.more {
		display: none;
	}


	.worksbox .boxR span.more {
		margin: 15px 0 0;
	}

}


/* ページ送り
----------------------------------------------------- */
.pagenavi {
	color: #ffffff;
	margin: 0 auto 60px;
	line-height: 2em;
	text-align:center;
	clear: both;
	letter-spacing: 0;
}

.pagenavi a {
	text-decoration:none;
}

.pagenavi a.page-numbers:hover {
	color: #ffffff !important;
	cursor: pointer;
	background-color: #308aaf;
}

.pagenavi a.page-numbers {
	color: #308aaf;
	padding: 10px;
	background-color: #ffffff;
	text-decoration: none;
	font-size: 14px;
	font-weight: 400;
	font-family: 'Oswald', sans-serif;
	border: 1px solid #09658c;
}

.page-numbers.dots {
	color: #308aaf;
}

.pagenavi a.prev.page-numbers,
.pagenavi a.next.page-numbers {
	color: #308aaf;
}

.pagenavi .current {
	padding: 10px;
	background-color: #308aaf;
	text-decoration: none;
	font-size: 14px;
	font-weight: 400;
	font-family: 'Oswald', sans-serif;
}


/* 採用情報ページ
----------------------------------------------------- */
section.recruit {
	width: 100%;
	margin: 50px 0 100px;
	padding: 50px 0;
	overflow: hidden;
	position: relative;
}

section.recruit:before {
	content: '';
	display: block;
	width: 96%;
	height: 100%;
	background-color: #308aaf;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.recruitbox {
	width: 100%;
	overflow: hidden;
}

.recruitbox p.nopost {
	color: #ffffff;
}

.recruitbox .box {
	width: 100%;
	margin: 0 0 30px;
	padding: 30px;
	background-color: #ffffff;
	border: 1px solid #025c83;
	box-sizing: border-box;
}

.recruitbox .box h2 {
	margin: 0 0 15px;
}

.recruitbox .box .date {
	margin: 0 0 15px;
	letter-spacing: 1.5px;
	font-weight: 200;
	font-family: 'Oswald', sans-serif;
}

.recruitbox .date span.cate {
	text-align: center;
	font-size: 80%;
	color: #00608a;
	margin: 0 5px;
	padding: 0 5px;
	border: 1px solid #00608a;
}

.recruitbox .box .txt {
	font-size: 90%;
	margin: 0 0 5px;
	text-align: justify;
	line-height: 1.5;
	letter-spacing: 1.5px;
}


@media screen and (max-width: 900px) {

	section.recruit:before {
		width: 100%;
	}

	.recruitbox .box {
		width: 96%;
		margin: 0 auto;
	}

}


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

	.recruitbox {
		/*padding: 20px;*/
	}

}


/* お問い合わせページ
----------------------------------------------------- */
section.contact {
	width: 100%;
	margin: 50px 0 0;
	padding: 80px 0 0;
	overflow: hidden;
}

.contactbox {
	width: 100%;
	padding: 30px;
	overflow: hidden;
	background-color: #ffffff;
	box-sizing: border-box;
}

.contactbox .boxsp {
	display: none;
}

.contactbox .boxL {
	width: 70%;
	float: left;
}

.contactbox .boxR {
	width: 28%;
	padding: 0 15px 15px;
	float: right;
	box-sizing: border-box;
}

.contactbox .boxR p {
	line-height: 1.5;
	margin: 0 0 15px;
}

section.contact table th {
	width: 230px;
}

section.contact table th span.req {
	float: right;
	font-size: 80%;
	text-align: center;
	color: #308aaf;
	margin: -3px 0 0;
	padding: 3px 10px;
	border: 1px solid #308aaf;
}

section.contact table th span.w {
	width: 130px;
	display: inline-block;
}

section.contact table td input.your-name[type="text"],
section.contact table td input.company-name[type="text"],
section.contact table td input[type="email"],
section.contact table td select,
section.contact table td textarea {
	width: 100%;
	padding: 5px;
	border: 1px solid #308aaf;
	box-sizing: border-box;
}

/* section.contact table td.select-style select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

section.contact table td.select-style{
	position:relative;	
}

section.contact table td.select-style::after{
	position: absolute;
	content:'▼';
	top: 38%;
	right: 1%;
	color: #333;
} */

section.contact table td.tel input[type="text"] {
	padding: 5px;
	border: 1px solid #308aaf;
	box-sizing: border-box;
}

section.contact table td span.spbr {
	display: block;
	color: #308aaf;
	margin: 5px 0 0;
	font-size: 90%;
}

.mw_wp_form .error {
	margin: 3px 0 0;
	color: #e4007f !important;
}

.mw_wp_form_input .btnarea .btn:first-child{
	display:none !important;
}

section.contact .btn {
	width: 100%;
	text-align: center;
	margin: 30px auto 0;
}

section.contact .btnarea{
	display:flex;
}
section.contact .btn input[name="submitBack"]{
	color: #000 !important;
	background: #fff !important;
	border: solid 1px #000 !important;
}

section.contact .btn input[type="submit"] {
	color: #ffffff;
	background: #308aaf;
	width: 210px;
	font-size: 100%;
	padding: 15px 20px;
	text-align: center;
	border: none;
    border-radius: 0;
    -webkit-appearance: none;
}
section.contact .btn input[name="submitBack"]:hover {
	background-color:#ddd !important;
}

section.contact .btn input[type="submit"]:hover {
	background-color: #09658c;
}

/***** メール送信完了メッセージ *****/
.thanks_box {
	width: 100%;
	color: #308aaf;
	text-align: center;
	padding: 15px;
	background-color: #ffffff;
	border: 1px solid #308aaf;
	box-sizing: border-box;
}

.msgbox {
	width: 100%;
	color: #308aaf;
	margin: 30px auto;
	padding: 15px;
	font-size: 90%;
	background-color: #ffffff;
	border: 1px solid #308aaf;
	box-sizing: border-box;
}

.msgbox p {
	line-height: 1.5;
	margin: 0 0 15px;
}


/***** プライバシー *****/
.privacybox {
	width: 100%;
	height: 300px;
	overflow-y: scroll;
	margin: 20px 0 0;
	padding: 15px;
	text-align: justify;
	box-sizing: border-box;
	border: 1px solid #308aaf;
	box-sizing: border-box;
}

.privacybox h2 {
	margin: 30px 0 5px;
}

.privacybox .list {
	width: 100%;
}

.privacybox .list ul li {
	list-style: none;
	font-size: 90%;
	line-height: 1.5;
	margin: 0 0 5px;
}

.privacybox .list ul li:before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f105';
	margin: 0 5px 0 0;
}

.privacybox p {
	font-size: 90%;
	line-height: 1.5;
	margin: 0 0 15px;
}


@media screen and (max-width: 900px) {

	.contactbox .boxsp {
		display: block;
		margin: 0 0 15px;
	}

	.contactbox .boxsp p {
		font-size: 90%;
		line-height: 1.5;
		margin: 0 0 30px;
	}

	.contactbox {
		width: 96%;
		margin: 0 auto;
		padding: 30px 0;
	}

	.contactbox .boxL {
		width: 100%;
		float: none;
	}

	.contactbox .boxR {
		display: none;
	}

	.privacybox {
		width: 100%;
		margin: 0 auto;
	}

}


@media screen and (max-width: 800px) {

	section.contact table th {
	    width: 220px;
	}

}


@media screen and (max-width: 600px) {

	section.contact table th span.w {
		text-align: left;
		text-align-last: left;
	}

	section.contact table th {
		display: block;
	    width: 100%;
	}

	section.contact table td {
		display: block;
	    width: auto;
	    padding: 15px 0;
	    border-top: none;
	}

	section.contact table td:last-of-type {
		border-bottom: none;
	}

	section.contact table tr:last-child td {
		border-bottom: 1px solid #000000;
	}

	section.contact .btn {
		width:100px;
		margin: 30px auto;
	}

}


@media screen and (max-width: 375px) {

	.thanks_box,
	.msgbox,
	.privacybox {
		width: 96%;
		margin: 0 auto;
	}

	section.contact .btn input[type="submit"] {
		width: 100%;
	}

}


/* SINGLEページ
----------------------------------------------------- */
section.post {
	width: 100%;
	margin: 50px 0 100px;
	overflow: hidden;
}

.postbox {
	width: 70%;
	float: left;
	margin: 0 0 100px;
}

.postbox h2 {
	font-size: 1.7rem;
}

.postbox .date {
	letter-spacing: 1.5px;
	font-weight: 200;
	margin: 15px 0 50px;
	font-family: 'Oswald', sans-serif;
}

.postbox .date span.cate {
	text-align: center;
	font-size: 80%;
	color: #00608a;
	margin: 0 5px;
	padding: 0 5px;
	border: 1px solid #00608a;
}

.postbox .img {
	width: 100%;
	height: auto;
	margin: 0 0 15px;
	padding: 3px;
	border: 1px solid #dddddd;
	box-sizing: border-box;
}

body#single.info .postbox img {
	width: 100%;
	height: auto;
	margin: 15px 0;
	padding: 3px;
	border: 1px solid #dddddd;
	box-sizing: border-box;
}

.postbox .img img {
	width: 100%;
	height: auto;
}

.postbox .txt {
	line-height: 1.5;
	margin: 0 0 15px;
	text-align: justify;
}

.side {
	width: 25%;
	float: right;
}

.side .box {
	width: 100%;
	margin: 0 0 15px;
	padding: 0 0 15px;
	border-bottom: 1px dashed #dddddd;
	overflow: hidden;
}

.side .box:first-of-type {
	margin: 15px 0 15px;
}

.side .box:last-of-type {
	margin: 15px 0 15px;
	border-bottom: none;
}

.side .box a {
	color: #000000;
	display: block;
	text-decoration: none;
}

.side .box .img {
	width: 100px;
	float: left;
}

.side .box .img img {
	width: 100%;
	height: auto;
}

.side .box .boxR {
	width: calc((100% - 100px) - 15px);
	margin: 0 0 0 15px;
	float: right;
}

.side .box .date {
	margin: 0 0 5px;
	letter-spacing: 1.5px;
	font-weight: 200;
	font-family: 'Oswald', sans-serif;
}

.side .box .title {
	font-size: 90%;
}


@media screen and (max-width: 800px) {

	.postbox {
		width: 65%;
	}

	.side {
		width: 32%;
	}

}


@media screen and (max-width: 600px) {

	.postbox {
		width: 96%;
		float: none;
		margin: 0 auto 100px;
	}

	.postbox .date {
		margin: 15px 0 30px;
	}

	.side {
		display: none;
	}

}


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

	.postbox h2 {
	    font-size: 1.5rem;
	}

	.postbox .txt {
		font-size: 90%;
	}

}


/* ページネーション（前へ、次へ）
----------------------------------------------------- */
.pagination {
	width: 100%;
	margin: 50px 0 0;
	overflow: hidden;
}

.pagination .prev {
	/*width: 45%;*/
	float: left;
}

.pagination .next {
	/*width: 45%;*/
	float: right;
}

.pagination .prev a,
.pagination .next a {
	width: 180px;
	color: #ffffff;
	text-align: center;
	display: inline-block;
	padding: 15px;
	line-height: 1;
	text-decoration: none;
	transition: .3s cubic-bezier(0.57, 0.15, 0.13, 0.97);
	background-color: #308aaf;
	border: 1px solid #308aaf;
	position: relative;
}

.pagination .prev a:hover,
.pagination .next a:hover {
	cursor: pointer;
	color: #ffffff;
	background-color: #09658c;
	transition: 0.3s;
}


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

	.pagination .prev a,
	.pagination .next a {
		width: 180px;
	}

}


@media screen and (max-width: 375px) {

	.pagination .prev a,
	.pagination .next a {
		width: 100px;
	}

}