/* ----------------------------------------------------------------------
 文字装飾
 ---------------------------------------------------------------------- */
/* headline */
.headline { border-bottom:1px solid #85daff; padding:0; margin:0 0 25px 0; font-size:18px; }
.headline span { border-bottom:4px solid #5ce7ff; padding:0 7px 10px 7px; margin:0; display:inline-block; }
.headline small { padding:0 0 10px 0; margin:0 20px; font-size:14px; color:#aaa;}

.h-title {
	margin: -0.2em 0 40px 0;
	font-size: 34px;
	line-height: 1.4;
	text-align: center;
}

.h_withtitle{
	font-size: 20px !important;
	font-weight: bold !important;
	margin-bottom: 35px !important;
	padding-bottom: 35px !important;
	border-bottom: 1px solid #ddd;
}

.bold {
	font-weight:900;
}

.red {
	color:red;
}

.t150 {
	font-size:150%;
}

@media only screen and (max-width: 767px) {
	.h-title,
	.h-title {
		margin: -5px 0 20px 0 !important;
		font-size: 18px !important;
		line-height: 1.6;
		font-weight: bold;
	}
	.h_withtitle{
		font-size:18px !important;
		font-weight:bold !important;
		line-height:1.6 !important;
		margin-bottom: 15px !important;
		padding-bottom: 15px !important;
	}
}


/* 文字位置 */
.text-center {
	text-align:center;
}

.text-right {
	text-align:right;
}


/* button */
input[type="submit"].style4,
input[type="reset"].style4,
input[type="button"].style4,
button.style4,
.button.style4 {
	background-color: #d4859e;
}

input[type="submit"].style4:hover,
input[type="reset"].style4:hover,
input[type="button"].style4:hover,
button.style4:hover,
.button.style4:hover {
	background-color: #d498ab;
}

input[type="submit"].style4:active,
input[type="reset"].style4:active,
input[type="button"].style4:active,
button.style4:active,
.button.style4:active {
	background-color: #cc7c96;
}

input[type="submit"].style-b,
input[type="reset"].style-b,
input[type="button"].style-b,
button.style-b,
.button.style-b {
	background-color: #42b4ff;
}

input[type="submit"].style-b:hover,
input[type="reset"].style-b:hover,
input[type="button"].style-b:hover,
button.style-b:hover,
.button.style-b:hover {
	background-color: #6bc7e3;
}

input[type="submit"].style-b:active,
input[type="reset"].style-b:active,
input[type="button"].style-b:active,
button.style-b:active,
.button.style-b:active {
	background-color: #3788bd;
}

input[type="submit"].style-o,
input[type="reset"].style-o,
input[type="button"].style-o,
button.style-o,
.button.style-o {
	background-color: #ed7c09;
}

input[type="submit"].style-o:hover,
input[type="reset"].style-o:hover,
input[type="button"].style-o:hover,
button.style-o:hover,
.button.style-o:hover {
	background-color: #ed9134;
}

input[type="submit"].style-o:active,
input[type="reset"].style-o:active,
input[type="button"].style-o:active,
button.style-o:active,
.button.style-o:active {
	background-color: #b8620b;
}

/* 背景色 */

#banner::after{
	
	content: '';
	
	position: absolute;
	
	top: 0;
	
	right: 0;
	
	bottom: 0;
	
	left: 0;
	
	background-color:#002c85;
	
	opacity: 0.5;
	
	display:block
		
	}

.bg-black-full {
	background-color:rgba(44,45,43,0.5);
}

.bg-black-full {
	margin: 80px 0;
	padding: 80px 0;
}

.bg-black-full {
	position: relative;
}

.bg-black-full:before {
	content: "";
	display: block;
	background-color:rgba(44,45,43,0.5);
	width: 9999px;
	width: 100vw;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
}

.bg-black-full > * {
	position: relative;
	z-index: 2;
}

@media only screen and (max-width: 767px) {
	.bg-black-full {
		margin: 30px 0;
		padding: 30px 0;
	}
}




.bg-snow,
.bg-snow-full {
	background: #f7f7f7;
}

.bg-snow-full {
	margin: 80px 0;
	padding: 80px 0;
}

.inner .bg-snow-full {
	position: relative;
}

.inner .bg-snow-full:before {
	content: "";
	display: block;
	background: #f7f7f7;
	width: 9999px;
	width: 100vw;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
}

.inner .bg-snow-full > * {
	position: relative;
	z-index: 2;
}

@media only screen and (max-width: 767px) {
	.bg-snow-full {
		margin: 30px 0;
		padding: 30px 0;
	}
}

/* ----------------------------------------------------------------------
 レイアウト
 ---------------------------------------------------------------------- */

/* Box3 */

.thumbnails .box3 {
	margin: 0 1em 2em 1em;
	width: 95%;
}

@media screen and (max-width: 1280px) {
	
	.thumbnails .box3 {
		width: 90%;
	}
	
}

@media screen and (max-width: 736px) {
	
	.thumbnails .box3 {
		width: 100%;
	}
	
}

/* Box3 */

.box3 {
	border-radius: 4px;
	margin-bottom: 2em;
	background: #2c2c32;
	text-align: center;
}

.box3 > :last-child,
.box3 > :last-child > :last-child,
.box3 > :last-child > :last-child > :last-child {
	margin-bottom: 0;
}

.box3 .image.fit {
	margin: 0;
}

.box3 .image img {
	border-radius: 4px 4px 0 0;
}

.box3 .inner {
	padding: 1.5em;
	width: 100% !important;
}

@media screen and (max-width: 480px) {
	
	.box3 .inner {
		padding: 1em;
	}
	
}

.box3.alt {
	border: 0;
	border-radius: 0;
	padding: 0;
}


/* Box4 */

.thumbnails .box4 {
	margin: 0 1em 2em 1em;
	width: 21.88%;
}

@media screen and (max-width: 1280px) {
	
	.thumbnails .box4 {
		width: 45%;
	}
	
}

@media screen and (max-width: 736px) {
	
	.thumbnails .box4 {
		width: 100%;
	}
	
}

/* Box4 */

.box4 {
	border-radius: 4px;
	margin-bottom: 2em;
	background: #2c2c32;
	text-align: center;
}

.box4 > :last-child,
.box4 > :last-child > :last-child,
.box4 > :last-child > :last-child > :last-child {
	margin-bottom: 0;
}

.box4 .image.fit {
	margin: 0;
}

.box4 .image img {
	border-radius: 4px 4px 0 0;
}

.box4 .inner {
	padding: 1.5em;
	width: 100% !important;
}

@media screen and (max-width: 480px) {
	
	.box4 .inner {
		padding: 1em;
	}
	
}

.box4.alt {
	border: 0;
	border-radius: 0;
	padding: 0;
}

/* Box-company */
.container {
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}

@media (min-width: 576px) {
	.container {
		max-width: 540px;
	}
}

@media (min-width: 768px) {
	.container {
		max-width: 720px;
	}
}

@media (min-width: 992px) {
	.container {
		max-width: 960px;
	}
}

@media (min-width: 1200px) {
	.container {
		max-width: 1140px;
	}
}

.container {
	display: -moz-flex;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-moz-align-items: stretch;
	-webkit-align-items: stretch;
	-ms-align-items: stretch;
	align-items: stretch;
	-moz-justify-content: center;
	-webkit-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
	-moz-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.container .box-company {
	margin: 0 1em 2em 1em;
	width: 30%;
}

@media screen and (max-width: 1280px) {
	
	.container .box-company {
		width: 45%;
	}
	
}

@media screen and (max-width: 736px) {
	
	.container .box-company {
		width: 100%;
	}
	
}

.box-company {
	border-radius: 4px;
	margin-bottom: 2em;
	background: #000;
	text-align: center;
}

.box-company > :last-child,
.box-company > :last-child > :last-child,
.box-company > :last-child > :last-child > :last-child {
	margin-bottom: 0;
}

.box-company .image.fit {
	margin: 0;
}

.box-company .image img {
	border-radius: 4px 4px 0 0;
}

.box-company .inner {
	padding: 1.5em;
	width: 100% !important;
}

@media screen and (max-width: 480px) {
	
	.box-company .inner {
		padding: 1em;
	}
	
}

.box-company.alt {
	border: 0;
	border-radius: 0;
	padding: 0;
}