@charset "UTF-8";
@import url(reset.css);

* html body {
	background: url(null) fixed;
}
html, body {
  margin: 0;
	width: 100%;
  height: 100%;
}
body {
	position: relative;
	margin: 0;
	padding: 0;
	color: #3C3C3C;
	font-size: 16px;
	background-color: #FFF;
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
@font-face {
	font-family: 'D-DIN Condensed Regular';
	font-style: normal;
	font-weight: normal;
	src: local('D-DIN Condensed Regular'), url('D-DINCondensed.woff') format('woff');
}
@font-face {
	font-family: 'D-DIN Condensed DINCondensed-Bold';
	font-style: normal;
	font-weight: normal;
	src: local('D-DIN Condensed DINCondensed-Bold'), url('D-DINCondensed-Bold.woff') format('woff');
}
/*D-DINフォントスタイル
font-family:'D-DIN Condensed DINCondensed-Bold';
*/
/*D-DINフォントスタイル
font-family:'D-DIN Condensed Regular';
*/
a {
	color: #151515;
	text-decoration: none;
	transition: .6s;
}
a:hover {
	color: #151515;
	text-decoration: none;
	transition: .6s;
}
*:focus {
	outline: none;
}
img {
	-webkit-backface-visibility: hidden;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
	font-style: normal;
}
p {
	text-align: justify;
	text-justify: inter-ideograph;
}
input[type="submit"], input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus, input[type="button"]::focus {
	outline-offset: -2px;
}
input[type="text"], textarea, select {
	-webkit-appearance: none;
	border-radius: 0;
}
select {
	-moz-appearance: menulist;
	-webkit-appearance: menulist;
}
.sp {
		display: none!important;
	}
@media only screen and (max-width: 896px) {
	.pc {
		display: none;
	}
	.sp {
		display: block!important;
	}
}

/* ヘッダー
------------------------------------------------------------ */
header {
	position: fixed;
	display: flex;
	z-index: 100;
	width: 100%;
	transition: .6s;
}
header h1 {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 200px;
	box-sizing: border-box;
	background-color: #FFF;
	transition: .6s;
}
header h1 img {
	width: 130px;
	height: auto;
	transition: .6s;
}
header.headlogo.isSmall h1 {
  width: 120px!important;
	height: 120px!important;
}
header.headlogo.isSmall img {
	width: 80px;
	height: auto;
}
header nav {
	width: calc(100% - 200px);
	height: 80px;
	background-color: #FFF;
	box-sizing: border-box;
	transition: .6s;
}
header.headlogo.isSmall nav {
	width: calc(100% - 120px);
	height: 80px;
	background-color: #FFF;
	box-sizing: border-box;
}
header nav ul {
	display: flex;
	justify-content: flex-end;
	width: 100%;
}
header nav ul li {
	width: 15%;
	font-size: 22px;
	text-align: center;
	letter-spacing: 0.1em;
	border-left: 1px solid #EDEDED;
	font-family:'D-DIN Condensed DINCondensed-Bold';
	transition: .6s;
}
header nav ul li a {
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 80px;
	transition: .6s;
}
header nav ul li a span {
	display: block;
	margin-top: 5px;
	font-size: 12px;
}
header nav ul li:last-child a {
	color: #FFF;
	background-color: #276BC0;
}
header nav ul li+ li {
  border-left: 1px solid #EDEDED;
}
header nav ul li+ li:last-child {
  border-left: none;
}
header nav ul li a:hover {
	color: #FFF;
	background-color: #3C3C3C;
	transition: .6s;
}
@media only screen and (max-width: 896px) {
	header h1 {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100px;
		height: 100px;
	}
	header h1 img {
		width: 70px;
	}
	header.headlogo.isSmall h1 {
		width: 70px!important;
		height: 70px!important;
	}
	header.headlogo.isSmall img {
		width: 40px;
	}
	header nav {
		width: calc(100% - 100px);
		height: 50px;
		background-color: #FFF;
		box-sizing: border-box;
		transition: .6s;
	}
	header.headlogo.isSmall nav {
		width: calc(100% - 70px);
		height: 50px;
	}
	header nav ul {
		display: none;
	}
}

/* メインビジュアル
------------------------------------------------------------ */
.mainvisual {
	position: relative;
	height: 900px;
	overflow: hidden;
}
.mainvisual img {
	width: 100%;
	height: auto;
	object-fit: cover;
}
.mainvisual h2 {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 5%;
	transform: translateY(-50%) translateX(0%);
	width: 90%;
	color: #FFF;
	font-size: 60px;
	font-weight: bold;
	line-height: 64px;
	text-shadow: 0 0 5px #112F55;
}
.mainvisual h2 span {
	display: block;
	font-size: 30px;
	letter-spacing: 0.1em;
	font-family:'D-DIN Condensed DINCondensed-Bold';
}

.titlevisual {
	position: relative;
	padding-top: 80px;
	height: 400px;
	overflow: hidden;
}
.titlevisual img {
	width: 100%;
	height: 400px;
	object-fit: cover;
	object-position: bottom;
}
.titlevisual h2 {
	position: absolute;
	z-index: 1;
	top: 230px;
	left: 50%;
	transform: translateY(0%) translateX(-50%);
	width: 100%;
	color: #FFF;
	font-size: 80px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
	text-shadow: 0 0 3px #112F55;
	font-family:'D-DIN Condensed DINCondensed-Bold';
}
.titlevisual h2 span {
	display: block;
	margin-top: 10px;
	font-size: 16px;
}
@media only screen and (max-width: 896px) {
	.mainvisual {
		height: 300px;
	}
	.mainvisual img {
		width: 100%;
		height: auto;
	}
	.mainvisual h2 {
		top: 60%;
		transform: translateY(-60%) translateX(0%);
		font-size: 28px;
		line-height: 30px;
		text-align: center;
	}
	.mainvisual h2 span {
		font-size: 12px;
	}
	.titlevisual {
		padding-top: 50px;
		height: 180px;
	}
	.titlevisual img {
		height: 180px;
	}
	.titlevisual h2 {
		top: 120px;
		left: 50%;
		font-size: 50px;
	}
	.titlevisual h2 span {
		font-size: 14px;
		letter-spacing: 0;
	}
}

/* お知らせ
------------------------------------------------------------ */
.news {
	position: relative;
	top: -110px;
	margin: 0 0 40px 50%;
	padding: 50px;
	color: #FFF;
	width: 50%;
	height: 220px;
	background-color: #276BC0;
	box-sizing: border-box;
}
.news h3 {
	margin-bottom: 30px;
	font-size: 40px;
	letter-spacing: 0.1em;
	font-family:'D-DIN Condensed DINCondensed-Bold';
}
.news a {
	color: #FFF;
	padding: 5px;
	box-sizing: border-box;
	background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, rgba(255,255,255,1) 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transition: .4s;
}
.news a:hover {
	color: #276BC0;
	background-position: -100% 0;
	transition: .4s;
}
.news li a {
	font-size: 20px;
}
.news li span {
	display: block;
	margin-bottom: 10px;
}
.news aside {
	position: absolute;
	right: 50px;
	bottom: 55px;
}
@media only screen and (max-width: 896px) {
	.news {
		top: -60px;
		margin: 0 auto 20px;
		padding: 30px;
		width: 90%;
		height: auto;
	}
	.news h3 {
		margin-bottom: 20px;
		font-size: 24px;
	}
	.news a {
		padding: 0;
	}
	.news a:hover {
		color: #276BC0;
		background-position: -100% 0;
		transition: .4s;
	}
	.news li a {
		font-size: 16px;
	}
	.news li span {
		display: block;
		margin-bottom: 10px;
		font-size: 14px;
	}
	.news aside {
		display: none;
	}
}

.news_box {
	margin: auto;
	padding: 100px 0;
	width: 70%;
}
.news_box ul {
	border-top: 1px solid #efefef;
}
.news_box li {
	display: flex;
	padding: 40px;
	letter-spacing: 0.1em;
	border-bottom: 1px solid #efefef;
}
.news_box li span {
	padding: 5px;
}
.news_box li a {
	display: inline-block;
	margin-left: 50px;
	padding: 5px;
	box-sizing: border-box;
	background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, rgba(39,107,192,1) 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transition: .4s;
}
.news_box a:hover {
	color: #FFF;
	background-position: -100% 0;
	transition: .4s;
}
.news_box h3 {
	margin-bottom: 20px;
	font-size: 32px;
	text-align: center;
	line-height: 1.8em;
}
.news_box .data {
	display: block;
	margin-bottom: 60px;
	font-size: 15px;
	text-align: center;
}
.news_box .entrybox {
	margin-bottom: 60px;
	line-height: 1.8em;
	text-align: justify;
	text-justify: inter-ideograph;
}
.news_box .entrybox img {
	margin-bottom: 30px;
	width: 100%;
	height: auto;
}
.news_box .entrybox p {
	margin-bottom: 30px;
}
.news_box .entrybox a {
	text-decoration: underline;
}
.news_box .entrybox a:hover {
	color: #276BC0;
}
.news_box .linkbtn a {
	display: block;
	margin: auto;
	color: #FFF;
	width: 200px;
	font-size: 14px;
	line-height: 50px;
	text-align: center;
	background-color: #276BC0;
	box-sizing: border-box;
	transition: .6s;
}
.news_box .linkbtn a:hover {
	background-color: #3C3C3C;
	transition: .6s;
}
@media only screen and (max-width: 896px) {
	.news_box {
		padding: 80px 0;
		width: 90%;
	}
	.news_box li {
		flex-flow: column;
		padding: 30px;
	}
	.news_box li span {
		display: block;
		margin-bottom: 10px;
		padding: 0;
		font-size: 14px;
	}
	.news_box li a {
		display: block;
		margin-left: 0;
		padding: 0;
	}
	.news_box h3 {
		margin-bottom: 10px;
		font-size: 26px;
	}
	.news_box .data {
		margin-bottom: 40px;
		font-size: 15px;
	}
	.news_box .entrybox img {
		margin-bottom: 20px;
	}
	.news_box .entrybox p {
		margin-bottom: 20px;
	}
	.news_box .linkbtn a {
		width: 100%;
	}
}

/* 事業案内
------------------------------------------------------------ */
.service {
	padding-bottom: 200px;
	background: url("../img/service_bg_01.png") center bottom -10px no-repeat;
	background-size: 100%;
}
.sub .service {
	margin: auto;
	padding: 80px 0 200px;
	width: 90%;
}
.service .title_box {
	display: flex;
	align-items: flex-start;
	margin: auto;
	width: 90%;
	font-size: 16px;
	box-sizing: border-box;
}
.service .title_box h3 {
	margin-bottom: 60px;
	font-size: 80px;
	letter-spacing: 0.1em;
	font-family:'D-DIN Condensed DINCondensed-Bold';
}
.service .title_box h3 span {
	display: block;
	margin-top: 20px;
	font-size: 24px;
}
.service .title_box p {
	margin-left: 50px;
	line-height: 40px;
}
.service ul {
	display: flex;
	justify-content:space-between;
	margin: auto;
	width: 90%;
	box-sizing: border-box;
}
.service ul li {
	width:32%;
	border: 1px solid #E5E5E5;
	background-color: #FFF;
	text-align: justify;
	text-justify: inter-ideograph;
}
.service ul li img {
	width: 100%;
	height: auto;
}
.service ul li h4 {
	margin: 30px 30px 20px;
	font-size: 24px;
	font-weight: bold;
}
.service ul li p {
	margin: 0 30px 30px;
	min-height: 100px;
	line-height: 1.8em;
}
.service ul li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	margin: 0 30px 30px;
	padding: 0 20px;
	color: #FFF;
	line-height: 50px;
	font-weight: bold;
	background-color: #276BC0;
	box-sizing: border-box;
	transition: .6s;
}
.service ul li a:hover {
	background-color: #3C3C3C;
	transition: .6s;
}
.sub .service h3 {
	margin: 100px 0 20px;
	padding-bottom: 20px;
	font-size: 32px;
  border-bottom: solid 3px #cce4ff;
  position: relative;
}
.sub .service h3.mbt0 {
	margin: 0 0 20px;
}
.sub .service h3:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #5472cd;
  bottom: -3px;
  width: 20%;
}
.sub .service p {
	margin-bottom: 40px;
	font-size: 18px;
  line-height: 1.6;
}
.sub .service ul {
	display: flex;
	justify-content:space-between;
	gap: 20px;
	margin-bottom: 40px;
	width: 100%;
	box-sizing: border-box;
}
.sub .service h4 {
	margin-bottom: 20px;
	font-size: 24px;
	line-height: 1.4em;
}
.sub .service .tbbox img {
	display: block;
	margin: auto;
	width: 90%;
}
.sub .service img {
	width: 100%;
	height: auto;
}
.sub .service table {
	margin-bottom: 40px;
	width: 100%;
	line-height: 1.6;
	border-left: 1px solid #9e9e9e;
	border-right: 1px solid #9e9e9e;
	border-top: 1px solid #9e9e9e;
	background-color: #FFF;
	box-sizing: border-box;
}
.sub .service table tr {
	margin-bottom: 40px;
	border-bottom: 1px solid #9e9e9e;
}
.sub .service table tr:nth-child(odd) td {
	background: #EFEFEF;
}
.sub .service table tr:nth-child(even) td {
	background: #FFF;
}
.sub .service table th {
	padding: 15px;
	border-right: 1px solid #9e9e9e;
	background-color: #9DCDD0;
	box-sizing: border-box;
}
.sub .service table th:nth-child(1) {
	width: 180px;
}
.sub .service table th:nth-child(2) {
	width: 80px;
}
.sub .service table td {
	padding: 15px;
	text-align: center;
	border-right: 1px solid #9e9e9e;
	box-sizing: border-box;
}
.sub .service table td:nth-child(1),
.sub .service table td:nth-child(2) {
	vertical-align: middle;
}
.sub .service table td.bgg {
	background-color: #EFEFEF;
}
.sub .service table td.lefttext {
	text-align: left;
}
.service ul.svindex {
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 100%;
	box-sizing: border-box;
}
.service ul.svindex li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}
.service ul.svindex li img {
	width: 35%;
	height: auto;
}
.service ul.svindex li div {
	width: 60%;
}
@media only screen and (max-width: 896px) {
	.service {
		padding-bottom: 60px;
	}
	.service .title_box {
		flex-flow: column;
		margin: auto;
		width: 90%;
	}
	.service .title_box h3 {
		margin-bottom: 30px;
		font-size: 60px;
	}
	.service .title_box h3 span {
		margin-top: 10px;
		font-size: 20px;
	}
	.service .title_box p {
		display: block;
		margin-left: 0;
		margin-bottom: 30px;
		line-height: 32px;
		text-align: justify;
		text-justify: inter-ideograph;
	}
	.service ul {
		margin-bottom: 0;
		flex-flow: column;
	}
	.service ul li {
		width:100%;
	}
	.service ul li img {
		width: 100%;
		height: auto;
	}
	.service ul li h4 {
		margin: 20px 20px 10px;
		font-size: 22px;
	}
	.service ul li p {
		margin: 0 20px 20px;
		min-height: 10px;
	}
	.service ul li a {
		margin: 0 20px 20px;
	}
	.sub .service {
		padding: 30px 0 60px;
	}
	.sub .service.pdbox {
		padding-top: 40px;
	}
	.sub .service h3 {
		margin: 60px 0 15px;
		padding-bottom: 15px;
		font-size: 20px;
	}
	.sub .service p {
		margin-bottom: 20px;
		font-size: 16px;
	}
	.sub .service ul {
		flex-flow: wrap;
		gap: 10px;
		margin-bottom: 30px;
		width: 100%;
		box-sizing: border-box;
	}
	.sub .service ul li {
		width: 100%;
	}
	.service h4 {
		margin-bottom: 10px;
		font-size: 20px;
		text-align: center;
	}
	.service h4 span {
		display: block;
		margin-bottom: 10px;
	}
	.service h4 b {
		display: none;
	}
	.sub .service h4 {
		font-size: 20px;
		text-align: left;
	}
	.sub .service .tbbox {
		margin-bottom: 20px;
		width: 100%;
		overflow-x: scroll;
		box-sizing: border-box;
	}
	.sub .service .tbbox img {
		margin-bottom: 10px;
		padding: 10px 20px 0;
		width: 1000px;
		box-sizing: border-box;
	}
	.sub .service table {
		margin-bottom: 10px;
		width: 1000px;
		font-size: 16px;
	}
	.sub .service table th,
	.sub .service table td {
		padding: 5px;
		vertical-align: middle;
	}
	.service ul.svindex {
		gap: 20px;
	}
	.service ul.svindex li {
		flex-direction: column;
	}
	.service ul.svindex li img {
		width: 100%;
	}
	.service ul.svindex li div {
		width: 100%;
	}
}
.service .subnavi {
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
	gap: 10px;
}
.service .subnavi a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	padding: 30px;
	width: calc(100%/2 - 5px);
	color: #FFF;
	font-size: 16px;
	font-weight: bold;
	background-color: #276BC0;
	box-sizing: border-box;
	transition: .6s;
}
.service .subnavi a:hover {
	background-color: #3C3C3C;
	transition: .6s;
}
@media only screen and (max-width: 896px) {
	.service .subnavi {
		flex-flow: column;
		gap: 5px;
	}
	.service .subnavi a {
		margin: 0;
		padding: 20px;
		width: 100%;
	}
}
.service .babox {
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}
.service .babox div {
	position: relative;
  display: inline-block;
}
.service .babox div.before {
	margin-right: 5%;
}
.service .babox div img {
	width: 100%;
	height: auto;
	object-fit: cover;
}
.service .babox div span {
	position: absolute;
	left: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 20px;
	height: 50px;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: .1em;
	background-color: #CEE4FE;
	border-radius: 0 10px 0 0;
}
.service .babox div span.after {
	color: #FFF;
	background-color: #5475CB;
}
.service .babox div.before:after {
  content: '';
  width: 30px;
  height: 30px;
  border: 0;
  border-top: solid 1px #5475CB;
  border-right: solid 1px #5475CB;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
	right: -6%;
  bottom: 0;
  margin: auto;
}
@media only screen and (max-width: 896px) {
	.service .babox {
		flex-direction: column;
		margin-bottom: 30px;
	}
	.service .babox div.before {
		margin-right: 0;
	}
	.service .babox div span {
		padding: 0 15px;
		height: 40px;
		font-size: 16px;
	}
	.service .babox div.before:after {
		display: none;
	}
}

/* 会社紹介
------------------------------------------------------------ */
.about {
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 150px 0;
	background: #DDEDED url("../img/about_bg_01.png") center bottom no-repeat;
	background-size: 100%;
}
.about img {
	width: 35%;
	font-size: 16px;
	box-sizing: border-box;
}
.about .title_box {
	width: 45%;
	font-size: 16px;
	box-sizing: border-box;
}
.about .title_box h3 {
	margin-bottom: 60px;
	font-size: 80px;
	letter-spacing: 0.1em;
	font-family:'D-DIN Condensed DINCondensed-Bold';
}
.about .title_box h3 span {
	display: block;
	margin-top: 20px;
	font-size: 24px;
}
.about .title_box h4 {
	margin-bottom: 40px;
	font-size: 40px;
}
.about .title_box p {
	margin-bottom: 40px;
	line-height: 1.8em;
}
.about .title_box a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	padding: 0 20px;
	color: #FFF;
	width: 40%;
	font-size: 16px;
	line-height: 50px;
	font-weight: bold;
	background-color: #276BC0;
	box-sizing: border-box;
	transition: .6s;
}
.about .title_box a:hover {
	background-color: #3C3C3C;
	transition: .6s;
}
@media only screen and (max-width: 896px) {
	.about {
		flex-flow: column;
		flex-direction: column-reverse;
		padding: 80px 0;
	}
	.about img {
		width: 60%;
	}
	.about .title_box {
		width: 90%;
		font-size: 16px;
		box-sizing: border-box;
	}
	.about .title_box h3 {
		margin-bottom: 40px;
		font-size: 60px;
	}
	.about .title_box h3 span {
		margin-top: 10px;
		font-size: 20px;
	}
	.about .title_box h4 {
		margin-bottom: 20px;
		font-size: 24px;
	}
	.about .title_box p {
		margin-bottom: 20px;
		text-align: justify;
		text-justify: inter-ideograph;
	}
	.about .title_box a {
		margin-bottom: 40px;
		width: 100%;
	}
}

.about_box {
	padding: 150px 0;
	background: #DDEDED url("../img/about_bg_01.png") center bottom no-repeat;
	background-size: 100%;
}
.about_box .text {
	position: relative;
	margin: 0 auto 150px;
	width: 80%;
	font-size: 20px;
	line-height: 1.8em;
}
.about_box .item {
	position: relative;
	margin: 0 auto 150px;
	padding: 0 5% 5%;
	width: 90%;
	background-color: #FFF;
	box-sizing: border-box;
}
.about_box h3 {
	position: relative;
	top: -40px;
	margin-bottom: 0px;
	font-size: 80px;
	color: #276BC0;
	letter-spacing: 0.1em;
	font-family:'D-DIN Condensed DINCondensed-Bold';
}
.about_box h3 span {
	display: block;
	margin-top: 20px;
	color: #3C3C3C;
	font-size: 20px;
}
.about_box ol {
  counter-reset:num;
  list-style-type: none!important;
  margin:0;
	padding:0;
}
.about_box ol li {
  position: relative;
	margin-bottom: 30px;
	font-size: 24px;
  line-height: 1.8em;
  padding: 0 0 0 45px;
}
.about_box ol li:before {
	display:inline-block;
  position: absolute;
	top: 5px;
	left: 0;
  counter-increment: num;
  content: counter(num);
  color: #276BC0;
	width: 30px;
  height: 30px;
  font-weight:bold;
  font-size: 25px;
	font-family:'D-DIN Condensed DINCondensed-Bold';
  line-height: 30px;
  text-align: center;
  background:transparent;
  border: 2px solid #276BC0;
}
.about_box table {
	margin-bottom: 50px;
	width: 100%;
}
.about_box table tr {
	border-bottom: 1px solid #efefef;
}
.about_box table th,
.about_box table td {
	padding: 30px;
	text-align: left;
}
.about_box iframe {
	width: 100%;
	height: 400px;
}
@media only screen and (max-width: 896px) {
	.about_box {
		padding: 80px 0 10px;
	}
	.about_box .text {
		margin: 0 auto 80px;
		width: 80%;
	}
	.about_box .item {
		margin: 0 auto 80px;
		width: 90%;
	}
	.about_box h3 {
		top: -30px;
		font-size: 60px;
	}
	.about_box h3 span {
		font-size: 16px;
	}
	.about_box ol {
		counter-reset:num;
		list-style-type: none!important;
		margin:0;
		padding:0;
	}
	.about_box ol li {
		margin-bottom: 20px;
		font-size: 16px;
		padding: 0 0 0 40px;
	}
	.about_box ol li:before {
		top: 2px;
		width: 24px;
		height: 24px;
		font-size: 16px;
		line-height: 24px;
	}
	.about_box table {
		margin-bottom: 20px;
		font-size: 16px;
		line-height: 1.6em;
	}
	.about_box table th {
		display: block;
		padding: 15px;
		font-weight: bold;
		border-bottom: 1px dotted #efefef;
	}
	.about_box table td {
		display: block;
		padding: 15px;
	}
	.about_box iframe {
		height: 200px;
	}
}

/* お問い合わせ
------------------------------------------------------------ */
.contact {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 150px 5%;
	color: #FFF;
	background: #276BC0 url("../img/contact_bg_01.png") center bottom no-repeat;
	background-size: 100%;
}
.contact h3 {
	margin-bottom: 60px;
	font-size: 80px;
	letter-spacing: 0.1em;
	font-family:'D-DIN Condensed DINCondensed-Bold';
}
.contact h3 span {
	display: block;
	margin-top: 20px;
	font-size: 24px;
}
.contact p {
	line-height: 1.8em;
}
.contact aside {
	position: relative;
	font-size: 20px;
	font-weight: bold;
	line-height: 40px;
	letter-spacing: 0.1em;
}
.contact aside b {
	position: relative;
	top: 4px;
	margin-left: 10px;
	font-size: 36px;
}
.contact aside span {
	display: block;
	font-size: 16px;
	font-weight: normal;
}
.contact a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	padding: 0 30px;
	color: #276BC0;
	width: 30%;
	font-size: 16px;
	line-height: 70px;
	font-weight: bold;
	background-color: #FFF;
	box-sizing: border-box;
	transition: .6s;
}
.contact a:hover {
	color: #FFF;
	background-color: #3C3C3C;
	transition: .6s;
}
@media only screen and (max-width: 896px) {
	.contact {
		align-items: flex-start;
		flex-flow: column;
		padding: 80px 5%;
	}
	.contact h3 {
		margin-bottom: 40px;
		font-size: 60px;
	}
	.contact h3 span {
		margin-top: 10px;
		font-size: 20px;
	}
	.contact p {
		margin-bottom: 10px;
	}
	.contact aside {
		font-size: 20px;
	}
	.contact aside b {
		font-size: 32px;
	}
	.contact aside span {
		display: block;
	}
	.contact aside b a {
	display: inline-block;
	position: relative;
		top: -4px;
	padding: 0;
	color: #FFF;
	width: auto;
	font-size: 24px;
	line-height: normal;
	font-weight: bold;
	background-color: #276BC0;
}
	.contact a {
		margin-top: 30px;
		width: 100%;
	}
}

.contact_box {
	padding: 150px 0;
	width: 100%;
}
.contact_box .item {
	margin: 0 auto 80px;
	padding: 60px;
	width: 80%;
	text-align: center;
	border-top: 3px solid #276BC0;
	background-color: #DDEDED;
	box-sizing: border-box;
}
.contact_box h3 {
	margin-bottom: 40px;
	font-size: 32px;
	line-height: 1.6em;
}
.contact_box p {
	margin-bottom: 20px;
	line-height: 2em;
}
.contact_box aside {
	padding: 30px;
	color: #276BC0;
	font-size: 40px;
	font-weight: bold;
	background-color: #FFF;
	box-sizing: border-box;
}
.contact_box aside span {
	margin-right: 20px;
	font-size: 20px;
}
.contact_box b {
	color: #FF0000;
}
.contact_box table {
	margin: 0 auto 100px;
	width: 100%;
	border-top: 1px solid #999;
}
.contact_box table tr {
	border-bottom: 1px solid #999;
}
.contact_box table th,
.contact_box table td {
	padding: 30px;
	text-align: left;
}
.contact_box table th p,
.contact_box table td p {
	margin: 0;
	padding: 0;
}
.contact_box table th.textarea {
	vertical-align: top!important;
}
.contact_box table td .wpcf7-checkbox {
	display: flex;
	flex-flow: column;
	margin: 0;
	padding: 0;
}
.contact_box table td label {
	display: flex;
}
.contact_box table td input[type="checkbox"] {
	position: relative;
	top: 5px;
	left: -20px;
	width: 20px;
	height: 20px;
}
.contact_box table td input {
	padding: 15px;
	width: 100%;
	font-size: 16px;
	border: none;
	box-sizing: border-box;
}
.contact_box table td textarea {
	padding: 15px;
	width: 100%;
	height: 200px;
	font-size: 16px;
	line-height: 1.6em;
	border: none;
	box-sizing: border-box;
}
.contact_box table td textarea::placeholder {
  color: #A5A5A5;
}
.contact_box center {
	margin-bottom: 40px;
}
.contact_box input[type="submit"] {
	display: block;
	margin: 0 auto;
	width: 300px;
	color: #FFF;
	font-size: 16px;
	font-weight: bold;
	line-height: 60px;
	cursor: pointer;
	background-color: #276BC0;
	transition: 0.5s;
}
.contact_box input[type="submit"]:hover {
	color: #FFF;
	background-color: #151515;
}
.wpcf7-not-valid-tip {
	margin-top: 10px;
	color: #B94A48;
	font-size: 14px;
}
.wpcf7-response-output {
	display: block;
	margin: 0 auto 40px!important;
	padding: 15px!important;
	width: 800px;
	text-align: center;
	background:#f7d7da!important;
	color:#711d26!important;
	border:1px solid #f4c6cb!important;
	border-radius: 4px;
}
.wpcf7 form.sent .wpcf7-response-output {
	display: block;
	margin: 0 auto 40px!important;
	padding: 15px!important;
	width: 800px;
	text-align: center;
	background:#d5edda!important;
	color:#185626!important;
	border:1px solid #c4e5cc!important;
	border-radius: 4px;
}
.contact_box .policy {
	overflow-y: scroll;
	overflow-x: hidden;
	margin-bottom: 50px;
	padding: 40px 40px 20px;
	height: 300px;
	background-color: #FFF;
	box-sizing: border-box;
}
.contact_box .policy h5 {
	margin-bottom: 20px;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}
.contact_box .policy aside {
	margin-bottom: 10px;
	padding: 0;
	color: #3C3C3C;
	font-size: 16px;
	line-height: 2em;
	font-weight: normal;
	text-align: left;
}
@media only screen and (max-width: 896px) {
	.contact_box {
		padding: 80px 0 0;
	}
	.contact_box .item {
		margin: 0 auto 30px;
		padding: 30px;
		width: 90%;
	}
	.contact_box .item:last-child {
		padding: 30px 30px 0;
	}
	.contact_box h3 {
		margin-bottom: 20px;
		font-size: 24px;
	}
	.contact_box p {
		font-size: 16px;
		text-align: left;
		line-height: 1.6em;
	}
	.contact_box aside {
		padding: 20px 10px;
		font-size: 28px;
	}
	.contact_box aside span {
		margin-right: 10px;
		font-size: 15px;
	}
	.contact_box table {
		margin: 0 auto 40px;
		width: 100%;
	}
	.contact_box table th {
		display: block;
		padding: 20px 0 10px;
		font-weight: bold;
	}
	.contact_box table td {
		display: block;
		padding: 0 0 20px;
	}
	.contact_box table th p,
	.contact_box table td p {
		margin: 0;
		padding: 0;
	}
	.contact_box table th.textarea {
		vertical-align: middle!important;
	}
	.contact_box table td label {
		display: flex;
		margin-bottom: 10px;
	}
	.contact_box table td input[type="checkbox"] {
		position: relative;
		top: 2px;
		left: -15px;
		width: 10px;
		height: 10px;
	}
	.contact_box table td input {
		padding: 10px;
	}
	.contact_box table td textarea {
		padding: 10px;
		height: 150px;
	}
	.contact_box input[type="submit"] {
		width: 100%;
		line-height: 50px;
	}
	.contact_box .formbtn p {
		margin: 0!important;
		padding: 0!important;
	}
	.contact_box .policy {
		margin-bottom: 40px;
		padding: 20px;
		height: 200px;
	}
	.contact_box .policy h5 {
		margin-bottom: 20px;
		font-size: 20px;
	}
}

/* フッター
------------------------------------------------------------ */
footer {
	padding: 100px 0;
	width: 100%;
}
footer article {
	display: flex;
	justify-content: space-between;
	margin: auto;
	width: 90%;
}
footer article .text_box img {
	margin-bottom: 40px;
	width: 180px;
	height: auto;
}
footer article .text_box aside {
	position: relative;
	margin-bottom: 20px;
	font-size: 14px;
	font-weight: bold;
}
footer article .text_box aside b {
	position: relative;
	top: 5px;
	margin-left: 5px;
	font-size: 28px;
}
footer article .navi ul {
	display: flex;
	margin: 40px 0 120px;
}
footer article .navi ul li {
	margin-left: 40px;
}
footer article .navi ul li:first-child {
	margin-left: 0px;
}
footer article .navi ul li a {
	display: inline-block;
	position: relative;
	font-size: 22px;
	font-weight: bold;
	line-height: 30px;
	letter-spacing: 0.1em;
	font-family:'D-DIN Condensed DINCondensed-Bold';
  transition: .6s;
}
footer article .navi ul li:last-child a {
	padding: 8px 70px 5px 15px;
	color: #FFF;
	line-height: 22px;
	background-color: #276BC0;
	box-sizing: border-box;
	transition: .6s;
}
footer article .navi ul li a::after {
  position: absolute;
  bottom: 0.3em;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background-color: #276BC0;
  opacity: 0;
 transition: .6s;
}
footer article .navi ul li:last-child a::after {
  position: relative;
  transition: .6s;
}
footer article .navi ul li a:hover::after {
  bottom: -0.3em;
  opacity: 1;
}
footer article .navi ul li:last-child a:hover {
	color: #FFF;
	background-color: #3C3C3C;
	transition: .6s;
}
footer article .navi ul li span {
	display: block;
	font-size: 13px;
	font-weight: normal;
}
footer small {
	display: block;
	font-size: 12px;
	text-align: right;
	letter-spacing: 0.1em;
}
@media only screen and (max-width: 896px) {
	footer {
		padding: 50px 0;
	}
	footer article {
		flex-flow: column;
		width: 90%;
		font-size: 16px;
		text-align: center;
	}
	footer article .text_box img {
		margin-bottom: 30px;
		width: 180px;
	}
	footer article .text_box aside {
		position: relative;
		margin-bottom: 20px;
		font-size: 14px;
		font-weight: bold;
	}
	footer article .text_box aside b {
		position: relative;
		top: 5px;
		margin-left: 5px;
		font-size: 32px;
	}
	footer article .navi ul {
		display: none;
	}
	footer small {
		margin-top: 30px;
		text-align: center;
	}
}

/* ハンバーガーさん
------------------------------------------------------------ */
.h_nav_btn,
#h_nav .inner {
	display: none;
}
@media only screen and (max-width: 896px) {
	.h_nav_btn {
		display: block;
		position: fixed;
		right: 16px;
		top: 16px;
		pointer-events: auto;
		cursor: pointer;
		z-index: 100002 !important;
		transition: all 0.3s ease;
	}
	.h_nav_btn.fixed {
		top: 20px;
	}
	.h_nav_bar, .h_nav_bar span {
		transition: all .4s;
		box-sizing: border-box;
	}
	.h_nav_bar {
		position: relative;
		width: 30px;
		height: 20px;
	}
	.h_nav_bar span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		font-weight: bold;
		background: #3C3C3C;
	}
	.h_nav_bar span:nth-child(1) {
		top: 0;
		width: 100%;
	}
	.h_nav_bar span:nth-child(2) {
		top: 10px;
		width: 100%;
	}
	.h_nav_bar span:nth-child(3) {
		bottom: 0;
		width: 100%;
	}
	.active .h_nav_bar {
		width: 60px;
		height: 40px;
	}
	.active .h_nav_bar span:nth-child(1) {
		-webkit-transform: translateY(20px) rotate(-315deg);
		transform: translateY(20px) rotate(-315deg);
	}
	.active .h_nav_bar span:nth-child(2) {
		opacity: 0;
	}
	.active .h_nav_bar span:nth-child(3) {
		left: 0%;
		width: 100%;
		-webkit-transform: translateY(-20px) rotate(315deg);
		transform: translateY(-20px) rotate(315deg);
	}
	#h_nav {
		display: block;
		position: fixed;
		visibility: hidden;
		overflow: auto;
		opacity: 0;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
		list-style: none;
		pointer-events: auto;
		background-color: rgba(255, 255, 255, 0.9);
		-webkit-backdrop-filter: blur(15px);
		backdrop-filter: blur(15px);
		transition: .8s;
		z-index: 100001 !important;
	}
	.active #h_nav {
		visibility: visible;
		opacity: 1;
		transition: .8s;
	}
	#h_nav .inner {
		display: block;
		position: relative;
		z-index: 10000 !important;
		overflow: hidden;
		padding: 60px 30px 0;
		width: 100%;
		box-sizing: border-box;
	}
	#h_nav .inner img {
		margin-bottom: 50px;
		width: 100px;
		height: auto;
	}
	#h_nav .inner ul {
		padding: 0;
		box-sizing: border-box;
	}
	#h_nav .inner ul li a {
		display: block;
		margin-bottom: 30px;
		width: 100%;
		color: #1A1A1A;
		font-size: 50px;
		letter-spacing: 0.1em;
		font-family:'D-DIN Condensed DINCondensed-Bold';
	}
	#h_nav .inner ul li a span {
		display: block;
		font-size: 16px;
		text-decoration: none;
	}
	#h_nav .inner ul li a:hover {
		opacity: 0.7;
	}
}