@charset "UTF-8";

/** -- message -- **/
.message {
	margin-bottom: 80px;
}
.message figure {
	margin-top: 160px;
	width: 440px;
}
.message .text_box {
	margin-left: 60px;
	width: calc(100% - 440px - 60px);
}
.message .headline_1 {
	position: relative;
}
.message .headline_1::before {
	background: url("../img/koujitsu_maru.png") no-repeat 0 0 / 100%;
	content: '';
	display: block;
	position: absolute;
	left: -210px;
	top: -190px;
	height: 340px;
	width: 340px;
	z-index: -1;
}
.message .headline_1 h2 {
	line-height: 1.4;
}
@media screen and (max-width: 1190px) {
	.message {
		margin-bottom: 8vw;
	}
	.message figure {
		margin-top: 15vw;
		width: 40vw;
	}
	.message .text_box {
		margin-left: 5vw;
		width: calc(100% - 40vw - 5vw);
	}
	.message .headline_1::before {
		left: -17vw;
		top: -16vw;
		height: 29vw;
		width: 29vw;
	}
}
@media screen and (max-width: 640px) {
	.message {
		margin-bottom: 20vw;
	}
	.message .inner {
		flex-direction: column-reverse;
	}
	.message figure {
		margin: 0 -6vw;
		margin-top: 10vw;
		width: auto;
	}
	.message .text_box {
		margin-left: 0;
		width: 100%;
	}
	.message .headline_1::before {
		left: -16vw;
		top: -18vw;
		height: 40vw;
		width: 40vw;
	}
}

/** -- work_style -- **/
.work_style .inner {
	margin: 0 -15px;
}
.work_style article {
	margin: 0 15px;
	width: calc(33.3333% - 30px);
}
.work_style article figure {
	margin-bottom: 10px;
}
.work_style article h3 {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.6;
	margin-bottom: 20px;
	text-align: center;
}
@media screen and (max-width: 1190px) {
	.work_style .inner {
		margin: 0 -1vw;
	}
	.work_style article {
		margin: 0 1vw;
		width: calc(33.3333% - 2vw);
	}
	.work_style article figure {
		margin-bottom: 1vw;
	}
	.work_style article h3 {
		font-size: 1.8vw;
		margin-bottom: 2vw;
	}
}
@media screen and (max-width: 640px) {
	.work_style .inner {
		margin: 0;
	}
	.work_style article {
		margin: 0 0 10vw;
		width: 100%;
	}
	.work_style article figure {
		margin-bottom: 2vw;
	}
	.work_style article h3 {
		font-size: 4.2vw;
		margin-bottom: 4vw;
	}
}

/** -- image -- **/
.image {
	margin: 100px 0 0;
}
@media screen and (max-width: 1190px) {
	.image {
		margin: 10vw 0 0;
	}
}
@media screen and (max-width: 640px) {
	.image {
		margin: 10vw 0 0;
	}
}

/** -- info -- **/
.info {
	padding-top: 60px;
}
.info .navi {
	border-right: solid 1px #222;
	margin-bottom: 100px;
	margin-top: 50px;
}
.info .navi li {
	border-left: solid 1px #222;
	line-height: 1.2;
	width: 20%;
}
.info .navi li a {
	display: block;
	text-align: center;
}
.info .box + .box {
	margin-top: 80px;
}
.info .box .inner {
	background-color: #fff;
	padding: 30px;
}
.info .box .inner + .inner {
	margin-top: 20px;
}
.info .box .inner h3 {
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 10px;
}
.info .box .inner dl {
	align-items: center;
	background-color: #F8F8F8;
	margin-bottom: 10px;
}
.info .box .inner dt,
.info .box .inner dd {
	box-sizing: border-box;
	padding: 20px;
}
.info .box .inner dt {
	display: block;
	float: left;
	font-weight: 600;
	position: relative;
	text-align: center;
	width: 230px;
}
.info .box .inner dd {
	background-color: #fff;
	padding-left: 40px;
	height: 100%;
	width: calc(100% - 230px);
}
.info .box .close {
	display: none;
}
.info .entry_btn {
	background-color: #FF9F4B;
	color: #fff;
	display: block;
	font-size: 20px;
	font-weight: 500;
	margin: 0 auto;
	margin-top: 40px;
	padding: 15px 0;
	width: 420px;
}
.info .entry_btn span {
	background-image: url("../img/icon_email-white.png");
	background-position: 0 50%;
	background-repeat: no-repeat;
	background-size: 30px;
	display: table;
	margin: 0 auto;
	padding-left: 60px;
}
.info .btn {
	border: solid 1px #222;
	cursor: pointer;
	margin-top: 30px;
	padding: 10px;
	position: relative;
	text-align: center;
}
.info .btn::after {
	background: url("../img/icon_arrow-black.png") no-repeat center / 100%;
	content: '';
	display: block;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	height: 16px;
	width: 16px;
}
.info .btn.open::after {
	transform: translateY(-50%) rotate(-90deg);
}
.info .btn::before {
	content: '詳しく見る';
}
.info .btn.open::before {
	content: '閉じる';
}
@media screen and (max-width: 1190px) {
	.info {
		padding-top: 6vw;
	}
	.info .navi {
		margin-bottom: 10vw;
		margin-top: 5vw;
	}
	.info .box + .box {
		margin-top: 8vw;
	}
	.info .box .inner {
		padding: 3vw;
	}
	.info .box .inner + .inner {
		margin-top: 2vw;
	}
	.info .box .inner h3 {
		font-size: 2.8vw;
		margin-bottom: 1vw;
	}
	.info .box .inner dl {
		margin-bottom: 1vw;
	}
	.info .box .inner dt,
	.info .box .inner dd {
		padding: 2vw;
	}
	.info .box .inner dt {
		width: 21vw;
	}
	.info .box .inner dd {
		padding-left: 3vw;
		width: calc(100% - 21vw);
	}
	.info .entry_btn {
		font-size: 1.8vw;
		margin-top: 4vw;
		padding: 1.5vw 0;
		width: 36vw;
	}
	.info .entry_btn span {
		background-size: 2.8vw;
		padding-left: 6vw;
	}
	.info .btn {
		margin-top: 3vw;
		padding: 1vw;
	}
	.info .btn::after {
		height: 1.6vw;
		width: 1.6vw;
	}
}
@media screen and (max-width: 640px) {
	.info {
		padding-top: 10vw;
	}
	.info .navi {
		border: none;
		margin-bottom: 10vw;
		margin-top: 8vw;
	}
	.info .navi li {
		margin-bottom: 4vw;
		width: 50%;
	}
	.info .navi li:nth-child(2),
	.info .navi li:nth-child(4),
	.info .navi li:last-child {
		border-right: solid 1px #222;
	}
	.info .box + .box {
		margin-top: 14vw;
	}
	.info .box .inner {
		padding: 5vw;
	}
	.info .box .inner + .inner {
		margin-top: 5vw;
	}
	.info .box .inner h3 {
		font-size: 5vw;
		margin-bottom: 2vw;
	}
	.info .box .inner dl {
		margin-bottom: 1vw;
	}
	.info .box .inner dt {
		float: none;
		width: 100%;
	}
	.info .box .inner dt,
	.info .box .inner dd {
		padding: 4vw;
	}
	.info .box .inner dd {
		padding-bottom: 8vw;
		padding-left: 0;
		width: 100%;
	}
	.info .entry_btn {
		font-size: 4.2vw;
		margin-top: 2vw;
		padding: 3vw 0;
		width: 100%;
	}
	.info .entry_btn span {
		background-size: 6vw;
		padding-left: 12vw;
	}
	.info .btn {
		margin-top: 4vw;
		padding: 3vw;
	}
	.info .btn::after {
		height: 3.4vw;
		width: 3.4vw;
	}
}