@charset "UTF-8";

* {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
}

ul, ol {
	list-style-type:none;
}

h1, h2, h3 {
	font-size: 100%;
	font-weight: normal;
}

h2, h3 {
	display: none;
}

/* ========================================================================== */

html, body {
	-webkit-overflow-scrolling: touch !important;
	overflow-scrolling: touch;
}

body {
	position: relative;
	height: 100%;
	min-height: 100%;
	line-height: 1.5;
	color: #262626;
	font-family: "Noto Sans JP", "Yu Gothic", "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

/* ========================================================================== */

button, input, select, textarea, pre {
	font-family: inherit;
	font-size: 100%;
}

button::-moz-focus-inner, input[type="submit"]::-moz-focus-inner{
	border: 0;
}

img {
	vertical-align: middle;
}

a {
	display: inline;
	color: inherit;
}
a:link, a:visited, a:hover, a:active {
	text-decoration: none;
}

@media (min-width: 981px) {

	a[href^="tel:"] {
		pointer-events: none;
	}

}

.bold {
	font-weight: bold;
}


.hidden {
	display: none;
}

.break {
	word-break: break-all;
}

.nowrap {
	white-space: nowrap;
}

.inline {
	display: inline-block; 
	text-align: left;
}

.ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

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

/* ========================================================================== */

#header {
	z-index: 10;
	position: fixed;
	top: 0;
	width: 100%;
	height: 80px;
	background-color: #FFFFFF;;
}

#header .wrapper {
	position: relative;
	margin: 0 auto;
	width: 100%;
	height: 100%;
}

#header input[type="checkbox"] {
	display: none;
}

#header .logo {
	position: absolute;
	top: 18px;
	left: 15px;
	width: 155px;
	height: 44px;
	font-size: 0;
	background: url("../image/common/logo.png") no-repeat center / 100%;
}

#header .subtext {
	position: absolute;
	top: 18px;
	left: 185px;
	width: 84px;
	height: 44px;
	line-height: 22px;
	font-weight: bold;
	white-space: nowrap;
}

#header .pc ul {
	position: absolute;
	top: 0;
	right: 0;
	margin: 0 195px 0 269px;
	width: calc(100% - 464px);
	max-width: 640px;
	height: 80px;
	font-size: 16px;
}

#header .pc ul li {
	float: left;
	padding: 0 calc((100% - 400px) / 12);
	height: 80px;
	line-height: 80px;
	white-space: nowrap;
}
#header .pc ul li.current {
	height: 75px;
	border-bottom: 5px solid #E39400;
}
#header .pc ul a:nth-child(1) li { width: 48px; }
#header .pc ul a:nth-child(2) li { width: 64px; }
#header .pc ul a:nth-child(3) li { width: 80px; }
#header .pc ul a:nth-child(4) li { width: 32px; }
#header .pc ul a:nth-child(5) li { width: 80px; }
#header .pc ul a:nth-child(6) li { width: 96px; }

#header .pc .reception {
	position: absolute;
	top: 0;
	right: 0;
	width: 195px;
	height: 80px;
	text-align: center;
	background-color: #FFBA0F;
}

#header .pc .reception .number {
	margin: 16px 0 0 0;
	height: 30px;
	line-height: 30px;
	font-size: 21px;
	font-weight: bold;
}

#header .pc .reception .number span {
	position: relative;
	display: inline-block;
	padding: 0 0 0 25px;
	height: 30px;
}
#header .pc .reception .number span::after {
	content: "";
	display: block;
	position: absolute;
	top: 5px;
	left: 0;
	width: 20px;
	height: 20px;
	background: url("../image/common/tel_icon_black.png") no-repeat center / 100%;
}

#header .pc .reception .hours {
	height: 17px;
	line-height: 17px;
	font-size: 12px;
}

#header .sp {
	display: none;
}

@media (max-width: 980px) {

	#header {
		height: 55px;
	}

	#header .logo {
		top: 12px;
		left: 10px;
		width: 112px;
		height: 32px;
	}

	#header .subtext {
		top: 12px;
		left: 132px;
		width: 60px;
		height: 32px;
		line-height: 16px;
		font-size: 12px;
		font-weight: normal;
	}

	#header .pc {
		display: none;
	}

	#header .sp {
		display: block;
	}

	#header .sp .expand-menu + label {
		cursor: pointer;
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 55px;
		height: 55px;
		transition: all .4s;
		background-color: #FFBA0F;
	}

	#header .sp .expand-menu + label div {
		position: absolute;
		top: 15px;
		left: 12px;
		width: 31px;
		height: 18px;
	}
	#header .sp .expand-menu + label div:after {
		content: "MENU";
		display: block;
		position: absolute;
		top: 17px;
		left: 0;
		width: 100%;
		height: 15px;
		line-height: 15px;
		font-size: 10px;
		font-weight: bold;
		text-align: center;
	}

	#header .sp .expand-menu + label span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #262626;
	}
	#header .sp .expand-menu + label span:nth-child(1) { top: 0; }
	#header .sp .expand-menu + label span:nth-child(2) { top: 8px; }
	#header .sp .expand-menu + label span:nth-child(3) { bottom: 0; }

	#header .sp .expand-menu:checked + label div {
		left: 13px;
		margin: 0 3px;
		width: 24px;
		height: 18px;
	}
	#header .sp .expand-menu:checked + label div:after {
		content: "close";
		left: -3px;
		width: 30px;
	}

	#header .sp .expand-menu:checked + label span:nth-child(1) { transform: translate3d(0px, 8px, 0) rotate(42deg); }
	#header .sp .expand-menu:checked + label span:nth-child(2) { display: none; }
	#header .sp .expand-menu:checked + label span:nth-child(3) { transform: translate3d(0px, -8px, 0) rotate(-42deg); }

	#header .sp .menu {
		display: none;
		position: fixed;
		top: 55px;
		left: 0;
		width: 100%;
		height: calc(100% - 55px);
		background-color: rgba(26, 26, 26, 0.8);
		overflow-y: auto;
	}
	#header .sp .expand-menu:checked ~ .menu {
		display: block;
	}

	#header .sp .expand-menu:checked ~ .menu .inner {
		margin: 0 auto;
		padding: 30px 0 20px 0;
		width: auto;
		max-width: 709px;
	}

}

@media (max-width: 768px) {

	#header .sp .expand-menu:checked ~ .menu .inner {
		padding: 16px 10px 6px 10px;
/*		max-width: 355px; */
	}

}

/* ========================================================================== */

main {
	margin: 80px 0 0 0;
}

@media (max-width: 980px) {

	main {
		margin: 55px 0 0 0;
	}

}

/* ========================================================================== */

#footer {
	width: 100%;
	color: #FFFFFF;
	margin: 0 auto;
	height: 345px;
	background-color: #E39400;
}

#footer .wrapper {
	position: relative;
	margin: 0 auto;
	padding: 60px 0 0 0;
	max-width: 960px;
}

#footer .wrapper .about {
	float: left;
	width: 307px;
}

#footer .wrapper .about .logo {
	margin: 0 0 18px 0;
	width: 155px;
}

#footer .wrapper .about .logo img {
	max-width: 100%;
}

#footer .wrapper .about .address {
	line-height: 24px;
	font-size: 16px;
}

#footer .wrapper .about .reception {
	font-size: 16px;
}

#footer .wrapper .about .reception .number {
	height: 44px;
	line-height: 44px;
	font-size: 30px;
	font-weight: bold;
}

#footer .wrapper .about .reception .number span {
	position: relative;
	display: inline-block;
	padding: 0 0 0 38px;
	height:44px;
}
#footer .wrapper .about .reception .number span::after {
	content: "";
	display: block;
	position: absolute;
	top: 9px;
	left: 0;
	width: 31px;
	height: 31px;
	background: url("../image/common/tel_icon_white.png") no-repeat center / 100%;
}

#footer .wrapper .about .reception .hours {
	height: 24px;
	line-height: 24px;
	font-size: 16px;
}

#footer .wrapper .sitemap {
	float: left;
	display:table;
}

#footer .wrapper .sitemap .row {
	display:table-row;
}

#footer .wrapper .sitemap dl {
	display: table-cell;
	width: 208px;
	height: 103px;
}
#footer .wrapper .sitemap .row:nth-child(2) dl {
	height: 90px;
}

#footer .wrapper .sitemap dl dt {
	margin: 0 0 15px 0;
	height: 16px;
	line-height: 16px;
	font-size: 16px;
	font-weight: bold;
}

#footer .wrapper .sitemap dl dd,
#footer .wrapper .sitemap-bottom dl dd {
	position: relative;
	margin: 0 0 10px 0;
	padding: 0 0 0 13px;
	height: 16px;
	line-height: 16px;
	font-size: 16px;
}
#footer .wrapper .sitemap dl dd:after,
#footer .wrapper .sitemap-bottom dl dd:after {
	content: "";
	position: absolute;
	top: 4px;
	left: -3px;
	width: 8px;
	height: 8px;
	border-left: solid 1px #FFFFFF;
	border-top: solid 1px #FFFFFF;
	transform: rotate(135deg);
}

#footer .wrapper .sitemap-bottom {
	padding: 15px 0 0 0;
	width: 100%;
	border-top: 5px solid #FFFFFF;
}

#footer .wrapper .sitemap-bottom dl {
	display: table-cell;
	width: 150px;
	height: 16px;
}

@media (max-width: 980px) {

	#footer {
		height: 239px;
	}

	#footer .wrapper {
		padding: 32px 0 0 0;
		max-width: 709px;
	}

	#footer .wrapper .about {
		float: none;
		margin: 0 auto 15px auto;
		width: 440px;
	}

	#footer .wrapper .about .logo {
		float: left;
		margin: 0 10px 0 0;
		width: 210px;
		text-align: right;
	}

	#footer .wrapper .about .address {
		float: left;
		margin: 0 0 0 10px;
		width: 210px;
	}

	#footer .wrapper .about .reception {
		margin: 15px auto 0 auto;
		width: 246px;
	}

	#footer .wrapper .sitemap {
		display: none;
	}

	#footer .wrapper .sitemap-bottom dl dd {
		margin: 0;
	}

	#footer .wrapper .sitemap-bottom {
		border-top: 3px solid #FFFFFF;
	}

}

@media (max-width: 768px) {

	#footer {
		height: 215px;
	}

	#footer .wrapper {
		padding: 30px 0 0 0;
		max-width: 355px;
	}

	#footer .wrapper .about {
		width: 100%;
	}

	#footer .wrapper .about .logo {
		margin: 0 12px 0 0;
		width: 137px;
	}

	#footer .wrapper .about .address {
		margin: 0 0 0 12px;
		width: calc(100% - 161px);
		line-height: 22px;
		font-size: 12px;
	}

	#footer .wrapper .about .reception {
		margin: 10px auto 0 auto;
		width: 100%;
		text-align: center;
	}

	#footer .wrapper .about .reception .number {
		height: 39px;
		line-height: 39px;
		font-size: 27px;
	}

	#footer .wrapper .about .reception .number span {
		padding: 0 0 0 37px;
		height:39px;
	}
	#footer .wrapper .about .reception .number span::after {
		top: 8px;
		width: 29px;
		height: 29px;
	}

	#footer .wrapper .about .reception .hours {
		height: 17px;
		line-height: 17px;
		font-size: 12px;
	}

	#footer .wrapper .sitemap-bottom dl dd {
		height: 12px;
		line-height: 12px;
		font-size: 12px;
	}
	#footer .wrapper .sitemap-bottom dl dd:after {
		top: 2px;
		left: -3px;
		width: 7px;
		height: 7px;
	}

	#footer .wrapper .sitemap-bottom dl {
		display: table-cell;
		width: 78px;
		height: 12px;
	}
	#footer .wrapper .sitemap-bottom dl:nth-child(2) {
		width: auto;
	}

}

/* ========================================================================== */

.anchor {
	position: relative;
	width: 0;
	height: 0;
}

.anchor .point {
	position: absolute;;
	top: -80px;
	left: 0;
	width: 0;
	height: 0;
}

@media (max-width: 980px) {

	.anchor .point {
		top: -55px;
	}

}

/* ========================================================================== */

.breadcrumb {
	display: table;
	margin: 0 0 10px 0;
	max-width: 100%;
	line-height: 24px;
	overflow-x: scroll;
}

.breadcrumb li {
	display: table-cell;
	position: relative;
	color: #FFFFFF;
	font-size: 16px;
	font-weight: bold;
	filter: drop-shadow(1px 1px 4px #000000);
}

.breadcrumb li span {
	display: inline-block;
	position: relative;
	margin: 0 28px 0 0;
}

.breadcrumb li span:before,
.breadcrumb li span:after {
	content: "";
	position: absolute;
	top: 9px;
	right: -20px;
	width: 12px;
	height: 0;
	border-bottom: solid 2px #FFFFFF;
	transform: rotate(45deg);
}
.breadcrumb li span:before{
    box-shadow: 0px 1px 10px #000000;
}
.breadcrumb li span:after {
	top: 16px;
	transform: rotate(135deg);
}
.breadcrumb li p {
	height: 24px;
	overflow: hidden;
}

@media (max-width: 980px) {

	.breadcrumb {
		display: none;
	}
}

/* ========================================================================== */

.common-menu {

}

.common-menu .wrapper {
	margin: 0 auto;
	max-width: 960px;
}

.common-menu .message {
	margin: -40px 0 30px 0;
	line-height: 30px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}

.common-menu .side {
	margin: 0 0 30px 0;
	display: table;
	width: 100%;
}

.common-menu .side .cell {
	display: table-cell;
	width: 33.33%;
	height: 160px;
	vertical-align: top;
}

.common-menu .side .cell .workflow,
.common-menu .side .cell .contactform,
.common-menu .side .cell .reception {
	margin: 0 20px 0 0;
	width: auto;
	height: 150px;
	text-align: center;
	background-color: #FFFFFF;
	background-repeat: no-repeat;
	border: 5px solid #FFBA0F;
	border-radius: 5px;
}

.common-menu .side .cell .workflow {
	background-image: url("../image/common/flow_icon.png");
	background-position: center top 25px;
}

.common-menu .side .cell .contactform {
	margin: 0 10px;
	background-image: url("../image/common/form_icon.png");
	background-position: center top 37px;
}

.common-menu .side .cell .workflow .title,
.common-menu .side .cell .contactform .title {
	padding: 101px 0 0 0;
	line-height: 24px;
	font-size: 16px;
	font-weight: bold;
}

.common-menu .side .cell .reception {
	margin: 0 0 0 20px;
}

.common-menu .side .cell .reception .number {
	margin: 30px 0 0 0;
	height: 44px;
	line-height: 44px;
	font-size: 30px;
	font-weight: bold;
}

.common-menu .side .cell .reception .number span {
	position: relative;
	display: inline-block;
	padding: 0 0 0 40px;
	height: 44px;
}
.common-menu .side .cell .reception .number span::after {
	content: "";
	display: block;
	position: absolute;
	top: 8px;
	left: 0;
	width: 31px;
	height: 31px;
	background: url("../image/common/tel_icon_black.png") no-repeat center/ 100%;
}

.common-menu .side .cell .reception .hours {
	height: 25px;
	line-height: 25px;
	font-size: 17px;
}

.common-menu .side .cell .reception .notice {
	height: 24px;
	line-height: 24px;
	font-size: 16px;
	font-weight: bold;
}

.common-menu .official {
	margin: 0 0 30px 0;
	width: auto;
}

.common-menu .official img {
	width: 100%;
}

.common-menu .line {
	position: relative;
	margin: 0 0 30px 0;
	width: auto;
	height: 71px;
	background-color: #42D900;
	border-radius: 36px;
}

.common-menu .line .contents {

	margin: 0 0 0 37%;
	height: 100%;
	color: #FFFFFF;
	font-size: 16px;
	white-space: nowrap;
	overflow: hidden;
}
.common-menu .line .contents:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: calc(37% - 115px);
	width: 105px;
	height: 100%;
	background: url("../image/common/chat_icon.png");
	background-repeat: no-repeat;
	background-position: right center;
	background-size: auto 100%;
}

.common-menu .line .contents .title {
	padding: 9px 0 0 0;
	line-height: 29px;
	font-size: 20px;
	font-weight: bold;
}

.common-menu .sp {
	display: none;
}

@media (max-width: 980px) {

	.common-menu .wrapper {
		max-width: 709px;
	}

	.common-menu .message {
		margin: -45px 0 15px 0;
		line-height: 24px;
		font-size: 16px;
	}

	.common-menu .side {
		margin: 0 0 10px 0;
	}

	.common-menu .side .cell {
		width: 50%;
	}
	.common-menu .side .cell:first-child {
		display: none;
	}

	.common-menu .side .cell .workflow {
		display: none;
	}

	.common-menu .side .cell .contactform {
		margin: 0 8px 0 0;
	}

	.common-menu .side .cell .reception {
		margin: 0 0 0 8px;
	}

	.common-menu .official {
		margin: 0 0 10px 0;
	}

	.common-menu .line {
		margin: 0 0 10px 0;
	}

	.common-menu .sp {
		display: block;
	}

	.common-menu .sp input[type="checkbox"] {
		display: none;
	}

	.common-menu .expand-link + label {
		cursor: pointer;
		display: block;
		position: relative;
		margin: 0 0 5px 0;
		padding: 0 0 0 28px;
		height: 44px;
		line-height: 44px;
		color: #FFFFFF;
		font-size: 16px;
		font-weight: bold;
		background-color: #E39400;
	}
	.common-menu .expand-link + label:before,
	.common-menu .expand-link + label:after {
		content: "";
		display: block;
		position: absolute;
	}
	.common-menu .expand-link + label:before {
		top: 21px;
		left: 11px;
		width: 13px;
		height: 0;
		border-top: 3px solid #FFFFFF;
	}
	.common-menu .expand-link + label:after {
		top: 16px;
		left: 16px;
		width: 0;
		height: 13px;
		border-right: 3px solid #FFFFFF;
	}
	.common-menu .expand-link:checked + label:after {
		display: none;
	}

	.common-menu .link {
		display: none;
	}
	.common-menu .expand-link:checked + label + .link {
		display: block;
	}

	.common-menu .link li {
		position: relative;
		margin: 0 0 5px 0;
		padding: 0 0 0 23px;
		height: 44px;
		line-height: 44px;
		font-size: 16px;
		background-color: #E2E2E2;
	}
	.common-menu .link li:after {
		content: "";
		position: absolute;
		top: 18px;
		left: 6px;
		width: 8px;
		height: 8px;
		border-left: solid 1px #262626;
		border-top: solid 1px #262626;
		transform: rotate(135deg);
	}

}

@media (max-width: 768px) {

	.common-menu .wrapper {
		padding: 0 10px;
/*		max-width: 355px; */
		max-width: 709px;
	}

	.common-menu .message {
		margin: 0 0 15px 0;
		line-height: 17px;
		font-size: 14px;
	}

	.common-menu .side .cell {
		height: 93px;
	}

	.common-menu .side .cell .contactform,
	.common-menu .side .cell .reception {
		height: 87px;
		border: 3px solid #FFBA0F;
	}


	.common-menu .side .cell .contactform {
		margin: 0 5px 0 0;
		background-position: center top 26px;
		background-size: 35px;
	}

	.common-menu .side .cell .contactform .title {
		padding: 50px 0 0 0;
		line-height: 17px;
		font-size: 12px;
	}

	.common-menu .side .cell .reception {
		margin: 0 0 0 5px;
	}

	.common-menu .side .cell .reception .number {
		margin: 16px 0 0 0;
		height: 26px;
		line-height: 26px;
		font-size: 16px;
	}

	.common-menu .side .cell .reception .number span {
		padding: 0 0 0 24px;
		height: 19px;
	}
	.common-menu .side .cell .reception .number span::after {
		top: 5px;
		width: 19px;
		height: 19px;
	}

	.common-menu .side .cell .reception .hours {
		height: 15px;
		line-height: 15px;
		font-size: 10px;
	}

	.common-menu .side .cell .reception .notice {
		height: 17px;
		line-height: 17px;
		font-size: 12px;
	}

	.common-menu .line {
		height: 55px;
		border-radius: 28px;
	}

	.common-menu .line .contents {
		margin: 0 0 0 33%;
		font-size: 10px;
	}

	.common-menu .line .contents:after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: calc(34% - 91px);
		width: 81px;
		height: 100%;
		background: url("../image/common/chat_icon.png");
		background-repeat: no-repeat;
		background-position: right center;
		background-size: auto 100%;
	}

	.common-menu .line .contents .title {
		padding: 8px 0 0 0;
		line-height: 24px;
		font-size: 16px;
	}

	.common-menu .expand-link + label {
		padding: 0 0 0 23px;
		height: 37px;
		line-height: 37px;
		font-size: 12px;
	}

	.common-menu .expand-link + label:before {
		top: 18px;
		left: 8px;
		width: 10px;
		height: 0;
		border-top: 2px solid #FFFFFF;
	}
	.common-menu .expand-link + label:after {
		top: 14px;
		left: 12px;
		width: 0;
		height: 10px;
		border-right: 2px solid #FFFFFF;
	}

	.common-menu .link li {
		padding: 0 0 0 19px;
		height: 37px;
		line-height: 37px;
		font-size: 12px;
	}
	.common-menu .link li:after {
		top: 15px;
		left: 4px;
		width: 7px;
		height: 7px;
	}

}

@media (max-width: 330px) {
    .common-menu .side .cell .reception .number {
        margin: 6px 0 0 0;
    }
    .common-menu .side .cell .reception .hours {
        height: auto;
    }
    .common-menu .side .cell .reception .notice {
        line-height: auto;
    }
}
/* ========================================================================== */

.return-top {
	display: none;
	text-align: center;
}

.return-top div.circle {
	z-index: 10;
	position: fixed;
	bottom: 40px;
	right: 40px;
	display: inline-block;
	width: 50px;
	height: 50px;
	background-color: #262626;
	border-radius: 50%;
}

.return-top div.circle span {
	display: inline-block;
	padding: 13px 0 0 0;
	height: 24px;
	line-height: 24px;
	color: #FFFFFF;
	font-size: 16px;
	font-weight: bold;
}

@media (min-width: 1280px) {

	.return-top div.circle {
		right: calc(50% - 600px);
	}
}

@media (max-width: 980px) {

	.return-top {
		display: block;
		margin: 15px 0  15px 0;
	}

	.return-top div.circle {
		position: static;
	}

}

/* ========================================================================== */

.concept-image {
	position: relative;
	margin: 0 auto;
	max-width: 1280px;
	overflow: hidden;
}

.concept-image.top {
	height: 630px;
	background: url("../image/top/top_headimage.png") no-repeat top center / cover;
}

.concept-image.top .diagonal {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 49px;
	width: 638px;
	height: 630px;
	background: rgba(227, 148, 0, 1);
	mix-blend-mode: multiply;
	transform: skewX(-8.7deg);
}

.concept-image.top .cover {
	position: absolute;
	top: 110px;
	right: 93px;
	width: 546px;
	height: 354px;
	white-space: nowrap;
}

.concept-image.top .cover .caution {
	height: 56px;
	line-height: 56px;
	color: #FFFFFF;
	font-size: 39px;
	font-weight: bold;
}

.concept-image.top .cover .description {
	height: 112px;
	line-height: 112px;
	color: #FFFFFF;
	font-size: 91px;
	font-weight: bold;
}

.concept-image.top .cover ul {
	margin: 19px 0 0 0;
}

.concept-image.top .cover ul li {
	float: left;
	margin: 0 10px 0 0;
	width: 175px;
	height: 55px;
	line-height: 55px;
	font-size: 31px;
	font-weight: bold;
	text-align: center;
	background-color: #FFBA0F;
	border-radius: 3px;
}
.concept-image.top .cover ul li:last-child { margin: 0; }

.concept-image.top .information {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: rgba(255,255,255,0.8);
}

.concept-image.top .information .inner {
	margin: 0 auto;
	max-width: 960px;
	height: 55px;
}

.concept-image.top .information .inner .left {
	float: left;
	width: 336px;
}

.concept-image.top .information .inner .new {
	float: left;
	width: 110px;
	height: 55px;
	line-height: 55px;
	font-size: 20px;
	font-weight: bold;
}

.concept-image.top .information .inner .date {
	float: left;
	width: 114px;
	height: 55px;
	line-height: 55px;
	font-size: 16px;
}

.concept-image.top .information .inner .type {
	float: left;
	width: 112px;
	height: 55px;
	line-height: 55px;
}

.concept-image.top .information .inner .type span {
	display: inline-block;
	width: 92px;
	height: 30px;
	line-height: 30px;
	color: #FFFFFF;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	background-color: #262626;
	border-radius: 2px;
}

.concept-image.top .information .inner .subject {
	float: left;
	position: relative;
	padding: 0 36px 0 0;
	width: calc(100% - 372px);
	height: 55px;
	font-size: 16px;
}
.concept-image.top .information .inner .subject:after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 4px;
		margin: auto 0;
		width: 8px;
		height: 8px;
		border-left: solid 1px #262626;
		border-top: solid 1px #262626;
		transform: rotate(135deg);
}

.concept-image.top .information .inner .subject p {
	line-height: 55px;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

.concept-image.work {
	height: 400px;
	background: url("../image/work/work_headimage.png") no-repeat bottom center / cover;
}

.concept-image.workflow {
	height: 400px;
	background: url("../image/workflow/flow_headimage.png") no-repeat bottom center / cover;
}

.concept-image.price {
	height: 303px;
	background: url("../image/price/price_headimage.png") no-repeat bottom center;
}

.concept-image.office {
	height: 400px;
	background: url("../image/office/office_headimage.png") no-repeat bottom center / cover;
}

.concept-image.contact {
	height: 400px;
	background: url("../image/contact/contact_headimage.png") no-repeat bottom center;
}

.concept-image.information {
	height: 400px;
	background: url("../image/information/info_headimage.png") no-repeat bottom center;
}

.concept-image .name {
	margin: 100px auto 0 auto;
	color: #FFFFFF;
	text-align: center;
}

.concept-image .name p {
	line-height: 44px;
	font-size: 30px;
	filter: drop-shadow(0 0 10px #000000);
}

.concept-image .name p span {
	position: relative;
}
.concept-image .name p span:after {
	content: "";
	display: block;
	position: absolute;
	bottom: -2px;
	left: 0;
	right: 0;
	box-shadow: 0px 0px 10px #000000;
	border-bottom: 3px solid #FFFFFF;
}


@media (max-width: 980px) {

	.concept-image {
/*		max-width: 769px; */
	}

	.concept-image.top {
		height: 378px;
	}

	.concept-image.top .diagonal {
		right: 29px;
		width: 383px;
		height: 378px;
		background: rgba(227, 148, 0, 1);
		mix-blend-mode: multiply;
		transform: skewX(-8.7deg);
	}

	.concept-image.top .cover {
		top: 66px;
		right: 54px;
		width: 329px;
		height: 212px;
	}

	.concept-image.top .cover .caution {
		height: 32px;
		line-height: 32px;
		font-size: 22px;
	}

	.concept-image.top .cover .description {
		height: 64px;
		line-height: 64px;
		font-size: 52px;
	}

	.concept-image.top .cover ul li {
		margin: 0 7px 0 0;
		width: 105px;
		height: 33px;
		line-height: 33px;
		font-size: 16px;
	}

	.concept-image.top .information .inner {
		padding: 0 30px 0 15px;
	}

	.concept-image.work,
	.concept-image.workflow,
	.concept-image.price,
	.concept-image.office,
	.concept-image.contact,
	.concept-image.information {
		height: 240px;
		background-size: 980px;
	}
	.concept-image.price {
		height: 230px;
	}

	.concept-image .name {
		margin: 70px auto 0 auto;
	}

}

@media (max-width: 768px) {

	.concept-image {
/*		max-width: 375px; */
	}

	.concept-image.top {
		height: 294px;
		background: url("../image/top/top_headimage_sp.png") no-repeat top center / cover;
	}

	.concept-image.top .diagonal {
		top: 0;
		right: 19px;
		margin: 0 auto;
		width: 100%;
		max-width: 335px;
		height: 250px;
	}

	.concept-image.top .cover {
		top: 34px;
		right: 46px;
		margin: 0 auto;
		width: 282px;
		height: 185px;
	}

	.concept-image.top .cover .caution {
		margin: 0 0 4px 0;
		height: 29px;
		line-height: 29px;
		font-size: 20px;
	}

	.concept-image.top .cover .description {
		height: 52px;
		line-height: 52px;
		font-size: 46px;
	}

	.concept-image.top .cover ul li {
		margin: 0 6px 0 0;
		width: 90px;
		height: 29px;
		line-height: 29px;
		font-size: 15px;
	}

	.concept-image.top .information .inner {
		padding: 0 10px;
		height: 44px;
	}

	.concept-image.top .information .inner .left {
		width: 80px;
		height: 44px;
	}

	.concept-image.top .information .inner .new {
		display: none;
	}

	.concept-image.top .information .inner .date {
		margin: 5px 0 0 0;
		width: 100%;
		height: 17px;
		line-height: 17px;
		font-size: 12px;
	}

	.concept-image.top .information .inner .type {
		width: 100%;
		height: 15px;
		line-height: 15px;
	}

	.concept-image.top .information .inner .type span {
		width: 60px;
		height: 15px;
		line-height: 15px;
		font-size: 10px;
		vertical-align: bottom;
	}

	.concept-image.top .information .inner .subject {
		display: table;
		padding: 0 16px 0 0;
		width: calc(100% - 96px);
		height: 44px;
		font-size: 12px;
	}

	.concept-image.top .information .inner .subject .cell {
		display: table-cell;
		vertical-align: middle;
	}

	.concept-image.top .information .inner .subject p {
		line-height: 17px;
		text-overflow: clip;
		white-space: normal;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
	}

	.concept-image.work {
		height: 168px;
		background: url("../image/work/work_headimage_sp.png") no-repeat center bottom / cover;
	}

	.concept-image.workflow {
		height: 168px;
		background: url("../image/workflow/flow_headimage_sp.png") no-repeat center bottom / cover;
	}

	.concept-image.price {
		height: 168px;
		background: url("../image/price/price_headimage_sp.png") no-repeat center bottom / cover;
	}

	.concept-image.office {
		height: 168px;
		background: url("../image/office/office_headimage_sp.png") no-repeat center bottom / cover;
	}

	.concept-image.contact {
		height: 168px;
		background: url("../image/contact/contact_headimage_sp.png") no-repeat center bottom / cover;
	}

	.concept-image.information {
		height: 168px;
		background: url("../image/information/info_headimage_sp.png") no-repeat center bottom / cover;
	}

	.concept-image .name {
		margin: 40px auto 0 auto;
	}

	.concept-image .name p {
		line-height: 26px;
		font-size: 18px;
	}

	.concept-image .name p span {
		font-size: 16px;
	}
	.concept-image .name p span:after {
		border-bottom: 1px solid #FFFFFF;
	}

}

@media (max-width: 375px) {

	.concept-image.top .diagonal {
		left: 0;
		right: 0;
		margin: 0 auto;
	}

	.concept-image.top .cover {
		left: 0;
		right: 0;
		margin: 0 auto;
	}

}

/* ========================================================================== */

.square-bubble {
	display: table;
	position: relative;
	margin: 0 auto 82px auto;
	width: 100%;
	max-width: 1280px;
	min-height: 90px;
	background-color: #E39400;
}
.square-bubble:after {
	content: "";
	display: block;
	position: absolute;
	bottom: -21px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 44px;
	height: 22px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	background-color: #E39400;
}

.square-bubble p {
	display: table-cell;
	line-height: 44px;
	color: #FFFFFF;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
}

.square-bubble p .sp {
	display: none;
}

@media (max-width: 980px) {

	.square-bubble {
/*		max-width: 769px; */
	}

}

@media (max-width: 768px) {

	.square-bubble {
		margin: 0 auto 25px auto;
		padding: 15px 0;
/*		max-width: 375px; */
		min-height: 0;
	}
	.square-bubble:after {
		bottom: -9px;
		width: 20px;
		height: 10px;
	}

	.square-bubble p {
		line-height: 27px;
		font-size: 18px;
	}

	.square-bubble p .sp {
		display: block;
	}

}

.line-item {
	position: relative;
	margin: 0 auto 40px auto;
	width: 100%;
	max-width: 1280px;
	height: 29px;
	text-align: center;
}
.line-item:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: 5px;
	background-color: #E39400;
}

.line-item.information:before {
	width: calc(50% - 100px);
}
.line-item.information:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	width: calc(50% - 100px);
	height: 5px;
	background-color: #E39400;
}

.line-item p {
	z-index: 1;
	position: relative;
	display: inline-block;
	margin: 0 auto;
	padding: 0 20px;
	line-height: 29px;
	font-size: 20px;
	font-weight: bold;
	background-color: #FFFFFF;
}

.line-item.information p {
	width: 159px;
	white-space: nowrap;
	background-color: transparent;
}


@media (max-width: 980px) {

	.line-item {
/*		max-width: 769px; */
	}

}
@media (max-width: 768px) {

	.line-item {
		margin: 0 auto 15px auto;
/*		max-width: 375px; */
		height: 24px;
	}

	.line-item.information:before {
		width: calc(50% - 68px);
	}
	.line-item.information:after {
		width: calc(50% - 68px);
	}

	.line-item p {
		padding: 0 10px;
		line-height: 24px;
		font-size: 16px;
	}

	.line-item.information p {
		width: 116px;
	}

}

/* ========================================================================== */

.common-box {
	z-index: 1;
	position: relative;
	margin: 0 0 90px 0;
}
.common-box.curtail {
	margin: 0 0 60px 0;
}

.common-box .tab {
	display: none;
}

.common-box .sp {
	display: none;
	width: 100%;
}

.common-box .wrapper {
	margin: 0 auto;
	max-width: 960px;
}

.common-box .half {
	float: left;
	width: 50%;
}

.common-box .half .explain {
	padding: 0 90px 0 0;
	font-size: 16px;
}

.common-box .explain .title {
	position: relative;
	margin: 0 0 30px 0;
	padding: 0 0 15px 0;
	line-height: 59px;
	font-size: 40px;
	font-weight: bold;
}
.common-box .explain .title:after {
	content: "";
	display: block;
	position: absolute;
	bottom: -4px;
	width: 100%;
	height: 4px;
	background: #E39400;
	background: linear-gradient(90deg, rgba(227, 148, 0, 1) 0%, rgba(227, 148, 0, 1) 33.3%, rgba(226, 226, 226, 1) 33.3%);
}

.common-box .explain .title.small {
	margin: 0 0 0px 0;
	padding: 0 0 0px 0;
	line-height: 24px;
	font-size: 16px;
}
.common-box .explain .title.small:after {
	bottom: -1px;
	height: 1px;
}

.common-box .explain span {
	font-weight: bold;
	background: linear-gradient(0deg, rgba(255, 186, 17, 1) 0%, rgba(255, 186, 17, 1) 39%, rgba(0, 0, 0, 0) 39%);
}

.common-box .explain .underline {
	display: inline-block;
	border-bottom: 4px solid #E39400;
/*	text-decoration: underline 4px solid #E39400; */
}

.common-box .explain .gap {
	margin: 0 0 25px 0;
}

.common-box .explain .rejection-right {
	padding: 0 10px 0 0;
}

.common-box .explain .grayframe {
	padding: 15px;
	border: 3px solid #E2E2E2;
	border-radius: 2px;
}

.common-box .explain .grayfield {
	padding: 30px 5px 5px 15px;
	background-color: #E5E5E5;
	border-radius: 2px;
}

.common-box .squere-image {
	margin: 0 auto;
	max-width: 480px;
	font-size: 0;
}

.common-box .squere-image li {
	float: left;
	margin: 0 10px 10px 0;
	width: calc(50% - 5px);
}
.common-box .squere-image li:nth-child(2) { margin: 0 0 10px 0; }
.common-box .squere-image li:nth-child(3) { margin: 0 10px 0 0; }
.common-box .squere-image li:nth-child(4) { margin: 0 0 0 0; }

.common-box .squere-image li img {
	max-width: 100%;
}

.common-box .rectangle-image {
	margin: 30px 0;
	font-size: 0;
}

.common-box .rectangle-image li {
	float: left;
	width: calc(25% - 20px);
	border: 5px solid #FFBA0F;
	border-radius: 20px;

}
.common-box .rectangle-image li:nth-child(2) { margin: 0 6.5px 0 13.5px; }
.common-box .rectangle-image li:nth-child(3) { margin: 0 13.5px 0 6.5px; }

.common-box .rectangle-image li img {
	max-width: 100%;
}

.common-box .remove-image {
	width: 100%;
	font-size: 0;
}

.common-box .remove-image li {
	float: left;
	width: calc(25% - 10px);
	color: #E39400;
	font-size: 20px;
	font-weight: bold;
	text-align: center;

}
.common-box .remove-image li:nth-child(2) { margin: 0 6.5px 0 13.5px; }
.common-box .remove-image li:nth-child(3) { margin: 0 13.5px 0 6.5px; }

.common-box .remove-image li img {
	margin: 0 0 10px 0;
	max-width: 100%;
}

.common-box .inspection-image {
	position: relative;
	margin: 90px auto -90px auto;
	max-width: 1280px;
	height: 600px;
	background: url("../image/top/top_background_img.png") no-repeat center;
	overflow: hidden;
}

.common-box .inspection-image .explain {
	position: absolute;
	top: 86px;
	right: calc(50% - 640px);
	padding: 60px 0 0 60px;
	width: 781px;
	height: 368px;
	background-color: #FFFFFF;
}

.common-box .inspection-image .explain p {
	max-width: 621px;
}
.common-box .inspection-image .explain p.title {
	max-width: 100%;
}

.common-box .inspection-image .explain ul {
	margin: 30px 0;
}

.common-box .inspection-image .explain ul li {
	float: left;
	margin: 0 10px 0 0;
	width: 170px;
	height: 49px;
	line-height: 49px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	background-color: #FFBA0F;
	border-radius: 3px;
}
.common-box .inspection-image .explain ul li:nth-child(2) { width: 250px; }
.common-box .inspection-image .explain ul li:last-child { margin: 0; }

@keyframes scroll-left {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}

.common-box .loop-image {
	display: flex;
	margin: 0 auto 30px auto;
	max-width: 1280px;
	height: 230px;
	overflow: hidden;
}

.common-box .loop-image ul {
	display: flex;
	height: 230px;
	animation: scroll-left 30s infinite linear 0.5s both;
}

.common-box .loop-image ul li {
	float: left;
	margin: 0 10px 0 0;
	width: 315px;
	height: 230px;
}

.common-box .loop-image ul li img {
	max-width: 100%;
}

.common-box .map-japan {
	width: 480px;
	height: 480px;
	background: url("../image/top/top_japan.png") no-repeat center;
}

.common-box .explain .title {
	position: relative;
	margin: 0 0 30px 0;
	padding: 0 0 15px 0;
	line-height: 59px;
	font-size: 40px;
	font-weight: bold;
}

.common-box .map .explain {
	padding: 0 0 0 40px;
}

.common-box .reason .explain ul {
	margin: 60px auto;
	display: table;
	width: 100%;
	height: 100%;
}

.common-box .reason .explain ul li {
	display: table-cell;
	width: 300px;
	height: 100%;
}
.common-box .reason .explain ul li:nth-child(2) { width: calc(100% - 360px); }

.common-box .reason .explain ul li .inner {
	margin: 0 auto;
	padding: 25px 10px;
	width: 270px;
	height: calc(100% - 60px);
	border: 5px solid #FFBA0F;
	border-radius: 20px;
}

.common-box .reason .explain ul li .inner .work {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}

.common-box .reason .explain ul li .inner .icon {
	margin: 0 auto;
	height: 191px;
}
.common-box .reason .explain ul li:nth-child(1) .inner .icon {
	width: 90px;
	background: url("../image/top/reason_icon-1.png") no-repeat center / 100%;
}
.common-box .reason .explain ul li:nth-child(2) .inner .icon {
	width: 100px;
	background: url("../image/top/reason_icon-2.png") no-repeat center / 100%;
}
.common-box .reason .explain ul li:nth-child(3) .inner .icon {
	width: 106px;
	background: url("../image/top/reason_icon-3.png") no-repeat center / 100%;
}

.common-box .more {
	font-size: 16px;
	text-align: center;
}
.common-box .more a {
	text-decoration: underline;
}

.common-box .wrapper .prepost .heading {
	position: relative;
	margin: 12px 0 42px 0;
	padding: 0 0 0 110px;
	width: calc(100% - 110px);
	line-height: 56px;
	font-size: 40px;
	font-weight: bold;
}

.common-box .wrapper .prepost .heading .circle {
	display: block;
	position: absolute;
	top: -12px;
	left: 0;
	width: 80px;
	height: 80px;
	line-height: 80px;
	color: #FFFFFF;
	font-size: 30px;
	text-align: center;
	background: #FFBA0F;
	border-radius: 50%;
}

.common-box .wrapper .prepost .subheading {
	margin: 0 0 16px 0;
	padding: 0 0 0 16px;
	line-height: 44px;
	font-size: 30px;
	font-weight: bold;
	border-left: 5px solid #FFBA0F;
}

.common-box .wrapper .prepost .image {
	width: 100%;
}

.common-box .wrapper .prepost .image img {
//	width: 100%;
	max-width: 100%;
	border-radius: 20px;
}

.common-box .wrapper .prepost .beforeframe {
	margin: 30px 0 60px 0;
}

.common-box .wrapper .prepost .photo {
	float: left;
	width: 33%;
}

.common-box .wrapper .prepost .description {
	float: left;
	padding: 0 0 0 5.2%;
	width: 61.8%;
}

.common-box .wrapper .prepost .description .notice {
	margin: 0 0 15px 0;
	line-height: 44px;
	color: #E39400;
	font-size: 30px;
	font-weight: bold;
}

.common-box .plan .explain ul {
	margin: 0 auto 36px auto;
	display: table;
	width: 100%;
	height: 100%;
}

.common-box .plan .explain ul li {
	display: table-cell;
	width: 300px;
	height: 100%;
}
.common-box .plan .explain ul li:nth-child(2) { width: calc(100% - 360px); }

.common-box .plan .explain ul li .inner {
	margin: 0 auto;
	width: 294px;
	height: calc(100% - 6px);
	text-align: center;
	border: 3px solid #FFBA0F;
	border-radius: 20px;
	overflow: hidden;
}
.common-box .plan .explain ul li:nth-child(2) .inner {
	width: 290px;
	height: calc(100% - 10px);
	box-shadow: 0px 0px 10px #FFBA0F;
	border: 5px solid #FFA502;
}

.common-box .plan .explain ul li .inner .name {
	margin: 0 0 30px 0;
	padding: 12px 0 15px 0;
	line-height: 44px;
	color: #FFFFFF;
	font-size: 30px;
	font-weight: bold;
	text-shadow: 0px 3px 6px #00000029;
	background-color: #FFBA0F;
}
.common-box .plan .explain ul li:nth-child(2) .inner .name {
	background-color: #FFA600
}

.common-box .plan .explain ul li .inner .supplement {
	margin: 0 0 30px 0;
	display: inline-block;
	line-height: 29px;
	font-size: 20px;
	border-bottom: 4px dashed #FFBA0F;
}
.common-box .plan .explain ul li:nth-child(2) .inner .supplement {
	border-color: #FFA600
}

.common-box .plan .explain ul .inner .price {
	display: inline-block;
	position: relative;
	margin: 0 0 30px 0;
	padding: 0 48px 0 0;
	line-height: 56px;
	font-size: 56px;
}
.common-box .plan .explain ul .inner .price.quotation {
	padding: 0;
	font-size: 35px;
	font-weight: bold;
}

.common-box .plan .explain ul .inner .price .tax {
	position: absolute;
	bottom: 19px;
	right: 0;
	width: 42px;
	height: 15px;
	line-height: 15px;
	font-size: 12px;
	font-weight: bold;
	text-align: left;
}

.common-box .plan .explain ul .inner .price .yen {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 42px;
	height: 20px;
	line-height: 20px;
	font-size: 17px;
	font-weight: bold;
	text-align: left;
}

.common-box .plan .explain ul li .inner .description {
	padding: 0 15px 20px 15px;
	line-height: 24px;
	font-size: 16px;
	text-align: left;
}

.common-box .plan .explain ul li .inner .description .simply {
	position: relative;
	margin: 0 0 10px 0;
	padding: 0 0 0 10px;
	font-weight: bold;
}
.common-box .plan .explain ul li .inner .description .simply:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 24px;
	background: #FFA502;
}

.common-box .others ul {
	margin: 0 0 10px 0;
	padding: 5px 5px 5px 15px;
	background-color: #E5E5E5;
}

.common-box .others li {
	margin: 5px 0 5px 0;
	font-weight: bold;
}

.common-box .quotation-image {
	position: relative;
	margin: 60px auto 0 auto;
	max-width: 1280px;
	height: 508px;
	background: url("../image/price/price_background_img.png") no-repeat center;
	overflow: hidden;
}

.common-box .quotation-image .explain {
	position: absolute;
	top: 0;
	left: calc(50% - 520px);
	padding: 42px 40px 0 40px;
	width: 440px;
	height: 466px;
	background-color: rgba(255, 255, 255, 0.9);
}

.common-box .quotation-image .explain p {
	max-width: 621px;
}
.common-box .quotation-image .explain p.title {
	max-width: 100%;
	line-height: 44px;
	font-size: 30px;
}

.common-box .quotation-image .explain ul li {
	position: relative;
	margin: 30px 0 0 0;
	padding: 0 0 0 44px;
	line-height: 29px;
	font-size: 20px;
}
.common-box .quotation-image .explain ul li:after {
		content: "";
		position: absolute;
		top: 2px;
		left: 0;
		margin: auto 0;
		width: 24px;
		height: 12px;
		border-top: solid 4px #FFBA0F;
		border-right: solid 4px #FFBA0F;
		transform: rotate(135deg);
}

.common-box .quotation-image .explain ul li p {
	line-height: 24px;
	color: #808080;
	font-size: 16px;
}

.common-box .office .explain p.title {
	line-height: 44px;
	font-size: 30px;
}

.common-box .office dl {
	display: table;
	margin: 0 auto 10px auto;
	width: calc(100% - 4px);
	line-height: 24px;
	font-size: 16px;
	border: 2px solid #FFBA0F;
	border-radius: 2px;
}

.common-box .office dt {
	display: table-cell;
	padding: 20px;
	width: 26.6%;
	min-width: 137px;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	background-color: #FFBA0F;
}

.common-box .office dd {
	display: table-cell;
	padding: 20px;
	vertical-align: middle;
}

.common-box .contact dl {
	margin: 0 auto 30px auto;
}

.common-box .contact dt {
	padding: 15px 30px;
	line-height: 29px;
	font-size: 20px;
	font-weight: bold;
	background-color: #FFBA0F;
}

.common-box .contact dd {
	padding: 30px 30px 0 30px;
	line-height: 24px;
}

.common-box .information li {
	margin: 0 auto;
	height: 70px;
	border-bottom: 2px dashed #E39400;
}

.common-box .information li .left {
	float: left;
	width: 232px;
}

.common-box .information li .date {
	float: left;
	width: 114px;
	height: 70px;
	line-height: 70px;
	font-size: 16px;
}

.common-box .information li .type {
	float: left;
	width: 112px;
	height: 70px;
	line-height: 70px;
}

.common-box .information li .type span {
	display: inline-block;
	width: 92px;
	height: 30px;
	line-height: 30px;
	color: #FFFFFF;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	background-color: #E39400;
	border-radius: 2px;
}

.common-box .information li .subject {
	float: left;
	display: table;
	position: relative;
	padding: 0 36px 0 0;
	width: calc(100% - 268px);
	height: 70px;
	font-size: 16px;
}
.common-box .information li .subject:after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 4px;
		margin: auto 0;
		width: 8px;
		height: 8px;
		border-left: solid 1px #262626;
		border-top: solid 1px #262626;
		transform: rotate(135deg);
}

.common-box .information li .subject .cell {
	display: table-cell;
	vertical-align: middle;
}

.common-box .information li .subject p {
	line-height: 24px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.common-box .information-details {
	display: block;
	margin: 0 auto 60px auto;
	padding: 50px;
	width: calc(100% - 100px);
	background-color: #FFFFFF;
	box-shadow: 0px 0px 10px #00000029;
	border-radius: 20px;
}

.common-box .information-details .date {
	margin: 0 0 20px 0;
	line-height: 24px;
	font-size: 16px;
}

.common-box .information-details .type {
	margin: 0 0 15px 0;
	height: 30px;
	line-height: 30px;
}

.common-box .information-details .type span {
	display: inline-block;
	width: 92px;
	height: 30px;
	line-height: 30px;
	color: #FFFFFF;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	background-color: #E39400;
	border-radius: 2px;
}

.common-box .information-details .subject {
	position: relative;
	margin: 0 0 30px 0;
	padding: 0 0 15px 0;
	line-height: 29px;
	font-size: 20px;
	font-weight: bold;
}
.common-box .information-details .subject:after {
	content: "";
	display: block;
	position: absolute;
	bottom: -4px;
	width: 100%;
	height: 4px;
	background: #E39400;
	background: linear-gradient(90deg, rgba(227, 148, 0, 1) 0%, rgba(227, 148, 0, 1) 33.3%, rgba(226, 226, 226, 1) 33.3%);
}

.common-box .information-details .body {
	line-height: 24px;
	font-size: 16px;
}

.common-box .information-details .body .gap {
	margin: 0 0 24px 0;
}

@media (max-width: 980px) {

	.common-box {
		margin: 0 0 60px 0;
	}

	.common-box .pc {
		display: none;
	}

	.common-box .tab {
		display: block;
	}

	.common-box .wrapper {
		margin: 0 auto;
		padding: 0 15px;
/*		max-width: 739px; */
	}

	.common-box .half .explain {
		padding: 0 15px 0 0;
	}

	.common-box .squere-image {
		padding: 15px 0 0 0;
	}

	.common-box .squere-image li {
		float: left;
		margin: 0 8px 8px 0;
		width: calc(50% - 4px);
	}
	.common-box .squere-image li:nth-child(2) { margin: 0 0 8px 0; }
	.common-box .squere-image li:nth-child(3) { margin: 0 8px 0 0; }
	.common-box .squere-image li:nth-child(4) { margin: 0 0 0 0; }

	.common-box .rectangle-image li {
		width: calc(25% - 18px);
	
	}
	.common-box .rectangle-image li:nth-child(2) { margin: 0 5px 0 10px; }
	.common-box .rectangle-image li:nth-child(3) { margin: 0 10px 0 5px; }

	.common-box .remove-image li {
		width: calc(25% - 8px);
	
	}
	.common-box .remove-image li:nth-child(2) { margin: 0 5px 0 10px; }
	.common-box .remove-image li:nth-child(3) { margin: 0 10px 0 5px; }

	.common-box .inspection-image {
		margin: 60px auto -60px auto;
		max-width: 769px;
	}

	.common-box .inspection-image .explain {
		right: 0;
		padding: 60px 10px 0 60px;
		width: 627px;
	}

	.common-box .inspection-image .explain p {
		max-width: 100%;
	}

	.common-box .loop-image {
/*		max-width: 769px; */
	}

	.common-box .map-japan {
		margin: 0 auto;
		width: 700px;
		height: 601px;
		background: url("../image/top/top_japan_sp.png") no-repeat center / 100%;
	}

	.common-box .map .half {
		float: none;
		width: 100%;
	}

	.common-box .reason .explain ul {
		max-width: 739px;
	}

	.common-box .reason .explain ul li {
		width: 238px;
	}
	.common-box .reason .explain ul li:nth-child(2) { width: calc(100% - 476px); }

	.common-box .reason .explain ul li .inner {
		padding: 15px 10px;
		width: 208px;
		height: calc(100% - 40px);
	}

	.common-box .reason .explain ul li .inner .icon {
		height: 164px;
	}
	.common-box .reason .explain ul li:nth-child(1) .inner .icon { width: 71px; }
	.common-box .reason .explain ul li:nth-child(2) .inner .icon { width: 79px; }
	.common-box .reason .explain ul li:nth-child(3) .inner .icon { width: 84px; }

	.common-box .plan {
		margin: 0 auto;
		max-width: 739px;
	}

	.common-box .plan .explain ul li {
		width: 231px;
	}
	.common-box .plan .explain ul li:nth-child(2) {
		margin: 15px 0;
		width: calc(100% - 277px);
	}

	.common-box .plan .explain ul li .inner {
		width: 226px;
	}
	.common-box .plan .explain ul li:nth-child(2) .inner {
		width: 221px;
	}

	.common-box .plan .explain ul .inner .price {
		padding: 0 48px 0 0;
		line-height: 35px;
		font-size: 35px;
	}
	.common-box .plan .explain ul .inner .price.quotation {
		font-size: 22px;
	}

	.common-box .quotation-image .explain {
		margin: auto;
		left: 0;
		right: 0;
	}

}

@media (max-width: 768px) {

	.common-box,
	.common-box.curtail {
		margin: 0 0 15px 0;
	}

	.common-box .sp {
		display: block;
	}

	.common-box .tab {
		display: none;
	}

	.common-box .except-sp {
		display: none;
	}

	.common-box .wrapper {
		margin: 0 auto;
		padding: 0 10px;
/*		max-width: 355px; */
		max-width: 709px;
	}

	.common-box .half {
		float: none;
		width: 100%;
	}

	.common-box .explain,
	.common-box .half .explain {
		margin: 0 0 15px 0;
		padding: 0;
	}

	.common-box .explain .title {
		margin: 0 0 20px 0;
		padding: 0 0 10px 0;
		line-height: 26px;
		font-size: 18px;
	}

	.common-box .explain .continuity  {
		margin: 0;
	}

	.common-box .explain .grayfield {
		padding: 15px 5px 15px 15px;
	}

	.common-box .rectangle-image {
		margin: 15px 0;
		font-size: 0;
	}

	.common-box .rectangle-image li {
		width: calc(25% - 10px);
		border: 3px solid #FFBA0F;
		border-radius: 10px;
	}
	.common-box .rectangle-image li:nth-child(2) { margin: 0 2.5px 0 5px; }
	.common-box .rectangle-image li:nth-child(3) { margin: 0 5px 0 2.5px; }

	.common-box .remove-image {
		margin: 0 auto;
		max-width: 470px;
	}

	.common-box .remove-image li {
		width: calc(50% - 5px);	
		font-size: 16px;
	}
	.common-box .remove-image li:nth-child(1) { margin: 0 0 5px 0; }
	.common-box .remove-image li:nth-child(2) { margin: 0 0 5px 10px; }
	.common-box .remove-image li:nth-child(3) { margin: 0 10px 0 0; }

	.common-box .remove-image li img {
		margin: 0 0 5px 0;
	}

	.common-box .inspection-image {
		margin: 0 auto 0 auto;
/*		padding: 191px 0 0 0; */
		padding: 50% 0 0 0;
/*		max-width: 375px; */
		height: auto;
		background-position: top center;
		background-size: 100%;
	}

	.common-box .inspection-image .explain {
		position: static;
		margin: 0 auto;
		padding: 0 10px;
		width: auto;
/*		max-width: 355px; */
		max-width: 709px;
		height: auto;
		background-color: transparent;
	}

	.common-box .inspection-image .explain ul {
		margin: 15px 0;
		max-width: 375px;
	}

	.common-box .inspection-image .explain ul li {
		margin: 0 3% 0 0;
		width: 25%;
		height: 31px;
		line-height: 31px;
		font-size: 15px;
	}
	.common-box .inspection-image .explain ul li:nth-child(2) { width: 44%; }
	.common-box .inspection-image .explain ul li:last-child { margin: 0; }

	.common-box .loop-image {
		margin: 0 auto 15px auto;
/*		max-width: 375px; */
		height: 115px;
	}

	.common-box .loop-image ul {
		height: 115px;
	}

	.common-box .loop-image ul li {
		margin: 0 5px 0 0;
		width: 157px;
		height: 115px;
	}

	.common-box .map-japan {
		margin: 0 24px;
		width: auto;
		height: 0;
		padding: 44%;
	}

	.common-box .reason .explain ul {
		margin: 15px auto 30px 0;
		display: block;
	}

	.common-box .reason .explain ul li {
		display: block;
		margin: 0 0 15px 0;
		width: 100%;
	}
	.common-box .reason .explain ul li:nth-child(2) { width: 100%; }

	.common-box .reason .explain ul li .inner {
		margin: 0 auto;
		padding: 20px;
		width: calc(100% - 50px);
		height: auto;
	}

	.common-box .reason .explain ul li .inner .work {
		margin: 0 0 15px 0;
		font-size: 18px;
		text-align: left;
	}

	.common-box .reason .explain ul li .inner .icon {
		float: left;
		margin: 0 auto;
		height: 100px;
	}
	.common-box .reason .explain ul li:nth-child(1) .inner .icon {
		margin: 0 27px 0 15px;
		width: 73px;
	}
	.common-box .reason .explain ul li:nth-child(2) .inner .icon {
		margin: 0 25px 0 15px;
		width: 75px;
	}
	.common-box .reason .explain ul li:nth-child(3) .inner .icon {
		margin: 0 25px 0 15px;
		width: 75px;
	}

	.common-box .reason .explain ul li .inner .text {
		float: left;
		width: calc(100% - 125px);;
	}

	.common-box .more {
		font-size: 14px;
	}

	.common-box .wrapper .prepost .heading {
		margin: 6px 0 16px 0;
		padding: 0 0 0 50px;
		width: calc(100% - 50px);
		line-height: 27px;
		font-size: 18px;
	}

	.common-box .wrapper .prepost .heading .circle {
		top: -5px;
		left: 0;
		width: 35px;
		height: 35px;
		line-height: 35px;
		color: #FFFFFF;
		font-size: 16px;
	}

	.common-box .wrapper .prepost .subheading {
		margin: 0 0 4px 0;
		padding: 0 0 0 4px;
		line-height: 17px;
		font-size: 14px;
		border-left: 3px solid #FFBA0F;
	}

	.common-box .wrapper .prepost .beforeframe {
		margin: 10px 0 30px 0;
	}

	.common-box .wrapper .prepost .photo {
		float: none;
		width: 100%;
	}

	.common-box .wrapper .prepost .description {
		float: none;
		padding: 0;
		width: 100%;
	}

	.common-box .wrapper .prepost .description .notice {
		margin: 10px 0 10px 0;
		line-height: 27px;
		font-size: 18px;
	}

	.common-box .plan .explain ul {
		display: block;
		margin: 0 auto 20px auto;
		width: 100%;
		max-width: 285px;
	}

	.common-box .plan .explain ul li {
		display: block;
		width: 100%;
	}
	.common-box .plan .explain ul li:nth-child(2) { width: 100%; }

	.common-box .plan .explain ul li .inner {
		width: calc(100% - 6px);
	}
	.common-box .plan .explain ul li:nth-child(2) .inner {
		width: calc(100% - 10px);
	}

	.common-box .plan .explain ul .inner .price {
		padding: 0 48px 0 0;
		line-height: 56px;
		font-size: 56px;
	}
	.common-box .plan .explain ul .inner .price.quotation {
		font-size: 35px;
	}

	.common-box .plan dd {
		padding: 0 15px;
	}

	.common-box .quotation-image {
		margin: 0 auto 0 auto;
		padding: 39.7% 0 0 0;
/*		max-width: 375px; */
		height: auto;
		background-position: top center;
		background-size: 100%;
	}

	.common-box .quotation-image .explain {
		position: static;
		margin: 0 auto;
		padding: 0 10px;
		width: auto;
/*		max-width: 355px; */
		max-width: 709px;
		height: auto;
		background-color: transparent;
	}

	.common-box .quotation-image .explain p.title {
		margin: 15px 0 0 0;
		line-height: 22px;
		font-size: 18px;
	}

	.common-box .quotation-image .explain ul li {
		margin: 15px 0 0 0;
		line-height: 24px;
		font-size: 18px;
	}

	.common-box .quotation-image .explain ul li p {
		line-height: 21px;
		font-size: 14px;
	}

	.common-box .office .explain p.title {
		line-height: 26px;
		font-size: 18px;
	}

	.common-box .office dl {
		margin: 0 auto 10px auto;
		width: calc(100% - 4px);
	}

	.common-box .office dt {
		display: block;
		padding: 5px 10px;
		width: auto;
		line-height: 20px;
		font-size: 14px;
		text-align: left;
		background-color: #FFBA0F;
	}

	.common-box .office dd {
		display: block;
		padding: 10px;
		line-height: 17px;
		font-size: 12px;
	}

	.common-box .contact dl {
		margin: 0 auto 15px auto;
	}
	
	.common-box .contact dt {
		padding: 5px 15px;
		line-height: 24px;
		font-size: 16px;
	}
	
	.common-box .contact dd {
		padding: 15px 15px 0 15px;
		line-height: 24px;
	}

	.common-box .information li {
		padding: 10px 0;
		height: auto;
	}

	.common-box .information li .left {
		float: none;
		margin: 0 0 5px 0;
		width: 100%;
	}

	.common-box .information li .date {
		width: 88px;
		height: 21px;
		line-height: 21px;
		font-size: 14px;
	}

	.common-box .information li .type {
		height: 21px;
		line-height: 21px;
	}

	.common-box .information li .type span {
		width: 68px;
		height: 21px;
		line-height: 21px;
		font-size: 13px;
	}

	.common-box .information li .subject {
		float: none;
		padding: 0 22px 0 0;
		width: calc(100% - 22px);
		height: auto;
		font-size: 14px;
	}

	.common-box .information li .subject p {
		line-height: 21px;
	}

	.common-box .information-details {
		margin: 0 auto 15px auto;
		padding: 20px;
		width: calc(100% - 40px);
		border-radius: 10px;
	}

	.common-box .information-details .date {
		margin: 0 0 8px 0;
		line-height: 21px;
		font-size: 14px;
	}

	.common-box .information-details .type {
		height: 21px;
		line-height: 21px;
	}

	.common-box .information-details .type span {
		width: 68px;
		height: 21px;
		line-height: 21px;
		font-size: 13px;
	}

	.common-box .information-details .subject {
		margin: 0 0 15px 0;
		padding: 0 0 5px 0;
		line-height: 24px;
		font-size: 16px;
	}

}

@media (max-width: 375px) {

	.common-box .plan dt {
		width: 50%;
		min-width: 150px;
	}

	.common-box .plan dd {
		padding: 0 10px;
	}

}

/* ========================================================================== */

.work-box {
	margin: -159px auto 90px auto;
}

.work-box .wrapper {
	margin: 0 auto;
	max-width: 960px;
}

.work-box .list {
	width: 100%;
}

.work-box .list li {
	float: left;
	position: relative;
	margin: 0 3.025% 1.66% 0;
	padding: calc(26% + 96px) 0 0 0;
	width: 31.25%;
}
.work-box .list li:nth-child(3n) {
	margin: 0 0 1.66% 0;
}

.work-box .list li .inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.work-box .list li .inner .photo {
	position: relative;
	margin: 0 0 15px 0;
	padding: 83.3% 0 0 0;
	width: 100%;
	overflow: hidden;
}

.work-box .list li .inner .photo img {
	position: absolute;
	top: 0;
	max-width: 100%;
}

.work-box .list li .inner .type {
	display: inline-block;
	padding: 0 9px;
	margin: 0 0 5px 0;
	max-width: calc(100% - 20px);
	line-height: 24px;
	font-size: 14px;
	border: 1px solid #FFBA0F;
	border-radius: 2px;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

.work-box .list li .inner .case {
	height: 48px;
	line-height: 24px;
	font-size: 16px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.work-box .list li .inner .note {
	display: none;
}

@media (max-width: 980px) {

	.work-box {
		margin: -15px auto 60px auto;
	}

	.work-box .wrapper {
		padding: 0 15px;
/*		max-width: 739px; */
	}

}

@media (max-width: 768px) {

	.work-box {
		margin: -52px auto 30px auto;
	}

	.work-box .wrapper {
		padding: 0 10px;
/*		max-width: 355px; */
	}

	.work-box .list li {
		padding: calc(40% + 96px) 0 0 0;
		width: 48.4875%;
	}
	.work-box .list li:nth-child(3n) {
		margin: 0 3.025% 1.66% 0;
	}
	.work-box .list li:nth-child(2n) {
		margin: 0 0 1.66% 0;
	}

}

@media (max-width: 480px) {

	.work-box .wrapper {
		padding: 0 40px;
		max-width: 384px;
	}

	.work-box .list li {
		float: none;
		margin: 0 0 5% 0;
		padding: 0;
		width: 100%;
	}
	.work-box .list li:nth-child(3n) {
		margin: 0 0 5% 0;
	}
	.work-box .list li:nth-child(2n) {
		margin: 0 0 5% 0;
	}

	.work-box .list li .inner {
		position: static;
		height: auto;
	}

	.work-box .list li .inner .photo {
		margin: 0 0 5px 0;
	}

	.work-box .list li .inner .case {
		height: auto;
	}

}

/* ========================================================================== */


.dialog {
	z-index: 100;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.dialog .cautain {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
}

.dialog .frame {
	pointer-events: none;
	width: 100%;
	height: 100%;
	overflow-y: scroll;
}

.dialog .table {
	display: table;
	width: 100%;
	height: 100%;

}

.dialog .cell {
	display: table-cell;
	height: 100%;
	vertical-align:middle;
	text-align: center;
}

.dialog .cell .outer {
	display: inline-block;
	margin: 0 15px;
	width: calc(100% - 30px);
	max-width: 800px;
}

.dialog .cell .inner {
	pointer-events: auto;
	position: relative;
	padding: 7.5%;
	height: 100%;
	text-align: left;
	background-color: #FFFFFF;
	border-radius: 20px;
}

.dialog .cell .inner .close {
	position: absolute;
	top: 3%;
	right: 3%;
	padding: 0 0 0 24px;
	width: 48px;
	height: 24px;
	line-height: 24px;
	font-size: 16px;
}
.dialog .cell .inner .close:before,
.dialog .cell .inner .close:after {
	content: "";
	position: absolute;
	top: 13px;
	left: 8px;
	width: 3px;
	height: 17px;
	background: #E39400;
} 
.dialog .cell .inner .close::before {
	transform: translate(-50%,-50%) rotate(45deg);
}
.dialog .cell .inner .close::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}

.dialog .cell .inner .photo {
	float: left;
	width: 56.5%;
}

.dialog .cell .inner .photo img {
	max-width: 100%;
}

.dialog .cell .inner .description {
	float: left;
	padding: 0 0 0 4.5%;
	width: 39%;
	height: 100%;
}

.dialog .cell .inner .description .type {
	display: inline-block;
	margin: 0 0 12px 0;
	padding: 0 9px;
	line-height: 24px;
	font-size: 14px;
	border: 1px solid #FFBA0F;
	border-radius: 2px;
}

.dialog .cell .inner .description .case {
	position: relative;
	margin: 0 0 25px 0;
	padding: 0 0 14px 0;
	line-height: 24px;
	font-size: 16px;
}
.dialog .cell .inner .description .case:after {
	content: "";
	display: block;
	position: absolute;
	bottom: -4px;
	width: 100%;
	height: 4px;
	background: #E39400;
	background: linear-gradient(90deg, rgba(227, 148, 0, 1) 0%, rgba(227, 148, 0, 1) 33.3%, rgba(226, 226, 226, 1) 33.3%);
}

.dialog .cell .inner .description .note {
	line-height: 24px;
	font-size: 16px;
}

@media (max-width: 480px) {

	.dialog .cell .outer {
		margin: 0 10px;
		width: calc(100% - 20px);
		max-width: 444px;
	}

	.dialog .cell .inner {
		padding: 8.4% 8.4% calc(8.4% + 36px) 8.4%;
	}

	.dialog .cell .inner .close {
		top: calc(91.6% - 10px);
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	
	.dialog .cell .inner .photo {
		float: none;
		margin: 0 0 16px 0;
		width: 100%;
	}
	
	.dialog .cell .inner .description {
		float: none;
		padding: 0;
		width: 100%;
	}

}

/* ========================================================================== */

.paging{
	margin: 0 0 90px 0;
}

.paging ul {
	text-align: center;
	font-size: 0;
}

.paging ul li {
	display: inline-block;
	position: relative;
	margin: 0 10px;
	padding: 0;
	min-width: 36px;
	height: 36px;
	line-height: 36px;
	font-size: 20px;
	text-align: center;
	vertical-align: top;
	background-color: #FFFFFF;
	border: 2px solid #E39400;
}

.paging ul li.current {
	color: #FFFFFF;
	background-color: #E39400;
}

.paging ul li.first,
.paging ul li.last {
	margin: 0 10px 0 0;
	background-color: transparent;
	border-color: transparent;
}
.paging ul li.last {
	margin: 0 0 0 10px;
}

.paging ul li.separate {
	margin: 0;
	background-color: transparent;
	border-color: transparent;
}

@media (max-width: 980px) {

	.paging{
		margin: 0 0 60px 0;
	}

}

@media (max-width: 768px) {

	.paging {
		margin: 0 0 20px 0;
		width: 100%;
	}

	.paging ul li {
		margin: 0 4px;
		white-space: nowrap;
	}

	.paging ul li.first,
	.paging ul li.last {
		margin: 0 4px 0 0;
		font-size: 0;
	}
	.paging ul li.last {
		margin: 0 0 0 4px;
	}

	.paging ul li.first:before,
	.paging ul li.first:after,
	.paging ul li.last:before,
	.paging ul li.last:after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 9px;
		height: 9px;
		border-left: solid 2px #E39400;
		border-top: solid 2px #E39400;
		transform: rotate(-45deg);
	}
	.paging ul li.first:before {
		right: 0;
	}
	.paging ul li.first:after {
		right: 8px;
	}
	.paging ul li.last:before {
		left: 0;
		transform: rotate(135deg);
	}
	.paging ul li.last:after {
		left: 8px;
		transform: rotate(135deg);
	}

	.paging ul li.separate {
		display: none;
	}
}

@media (max-width: 374px) {

	.paging ul li.first,
	.paging ul li.last {
		min-width: 29px;
	}

}

/* ========================================================================== */

.workflow-box {
	margin: -159px auto 90px auto;
}

.workflow-box .wrapper {
	margin: 0 auto;
	max-width: 960px;
}

.workflow-box .wrapper .workflow-list {
	margin: 0 auto;
	padding: 0;
	max-width: 840px;
}

.workflow-box .wrapper .workflow-list li {
	position: relative;
	margin: 0 0 40px 40px;
	padding: 0 0 0 90px;
	width: calc(100% - 134px);
	height: 56px;
	line-height: 56px;
	font-size: 30px;
	font-weight: bold;
	background: #FFFFFF;
	border: 2px solid #E39400;
	border-radius: 0 30px 30px 0;
}

.workflow-box .wrapper .workflow-list li span {
	display: block;
	position: absolute;
	top: -12px;
	left: -40px;
	width: 80px;
	height: 80px;
	line-height: 80px;
	color: #FFFFFF;
	font-size: 30px;
	text-align: center;
	background: #FFBA0F;
	border-radius: 50%;
}

.workflow-box .breadcrumb {
    margin: 0 0 24px 0;
}

@media (max-width: 980px) {

	.workflow-box {
		margin: -15px auto 60px auto;
	}

	.workflow-box .wrapper {
		padding: 0 15px;
		max-width: 739px;
	}

}

@media (max-width: 768px) {

	.workflow-box {
		margin: -52px auto 30px auto;
	}

	.workflow-box .wrapper {
		padding: 0 10px;
		max-width: 355px;
	}

	.workflow-box .wrapper .workflow-list li {
		margin: 0 0 14px 18px;
		padding: 0 0 0 32px;
		width: calc(100% - 54px);
		height: 26px;
		line-height: 26px;
		font-size: 16px;
	}

	.workflow-box .wrapper .workflow-list li span {
		top: -5px;
		left: -19px;
		width: 36px;
		height: 36px;
		line-height: 36px;
		font-size: 16px;
	}

}

@media (max-width: 340px) {
	.workflow-box .wrapper .workflow-list li {
		height: auto;
		border-radius: 20px;
	}
}
/* ========================================================================== */

.price-box {
	margin: -50px auto 0 auto;
}

.price-box .wrapper {
	margin: 0 auto;
	max-width: 960px;
}

@media (max-width: 980px) {

	.price-box {
		margin: -15px auto 0 auto;
	}

	.price-box .wrapper {
		padding: 0 15px;
		max-width: 739px;
	}

}

@media (max-width: 768px) {

	.price-box {
		margin: -40px auto 0 auto;
	}

	.price-box .wrapper {
		padding: 0 10px;
		max-width: 355px;
	}

}

/* ========================================================================== */

.office-box {
	margin: -159px auto 0 auto;
}

.office-box .wrapper {
	margin: 0 auto;
	max-width: 960px;
}

.office-box .link {
	width: 100%;
}

.office-box .link li {
	float: left;
	position: relative;
	margin: 0 1.25% 1.25% 0;
	width: calc(19% - 6px);
	line-height: 44px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	background-color: #FFFFFF;
	border: 3px solid #FFBA0F;
	border-radius: 10px;
}
.office-box .link li:nth-child(5n) {
	margin: 0 0 1.25% 0;
}

.office-box .link li a {
	display: block;
	width: 100%;
	height: 100%;
}

@media (max-width: 980px) {

	.office-box {
		margin: -15px auto 0 auto;
	}

	.office-box .wrapper {
		padding: 0 15px;
/*		max-width: 739px; */
	}

}

@media (max-width: 768px) {

	.office-box {
		margin: -52px auto 10px auto;
	}

	.office-box .wrapper {
		padding: 0 10px;
	}

	.office-box .link li {
		margin: 0 1.25% 1.25% 0;
		width: calc(32.5% - 4px);
		line-height: 31px;
		font-size: 12px;
		border: 2px solid #FFBA0F;
		border-radius: 6px;
	}
	.office-box .link li:nth-child(5n) {
		margin: 0 1.25% 1.25% 0;
	}
	.office-box .link li:nth-child(3n) {
		margin: 0 0 1.25% 0;
	}

}

/* ========================================================================== */

.contact-box {
	margin: -106px auto 60px auto;
}

.contact-box .wrapper {
	margin: 0 auto;
	max-width: 960px;
}

.contact-box .information {
	display: table;
	position: relative;
	margin: 0 auto;
	width: 100%;
	text-align: center;
	background: #FFFFFF;
	box-shadow: 0px 0px 10px #00000029;
	border-radius: 20px;
}
.contact-box .information:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 3px;
	height: 212px;
	background-color: #E2E2E2;
}

.contact-box .information .reception,
.contact-box .information .contactform {
	display: table-cell;
	padding: 60px 0 0 0;
	width: 50%;
	height: 192px;
}

.contact-box .information .title {
	line-height: 29px;
	font-size: 20px;
	font-weight: bold;
}

.contact-box .information .number {
	margin: 15px 0 0 0;
	height: 64px;
	line-height: 64px;
	color: #E39400;
	font-size: 44px;
	font-weight: bold;
}

.contact-box .information .number span {
	position: relative;
	display: inline-block;
	padding: 0 0 0 54px;
}
.contact-box .information .number span::after {
	content: "";
	display: block;
	position: absolute;
	top: 12px;
	left: 0;
	width: 42px;
	height: 42px;
	background: url("../image/common/tel_icon_orange.png") no-repeat center/ 100%;
}

.contact-box .information .hours {
	height: 24px;
	line-height: 24px;
	color: #E39400;
	font-size: 16px;
}

.contact-box .information .hours span {
	position: relative;
	padding: 0 0 0 19px;
}
.contact-box .information .hours span:after {
	content: "";
	display: block;
	position: absolute;
	top: 6px;
	left: 0;
	width: 14px;
	height: 14px;
	background-color: #E39400;
}

.contact-box .information button {
	margin: 31px 0 0 0;
	width: 338px;
	height: 60px;
	color: #232323;
	font-size: 20px;
	font-weight: bold;
	background-color: #FFBA0F;
	border-radius: 40px;
}


@media (max-width: 980px) {

	.contact-box {
		margin: -15px auto 60px auto;
	}

	.contact-box .wrapper {
		padding: 0 15px;
/*		max-width: 739px; */
	}

}

@media (max-width: 768px) {

	.contact-box {
		margin: -52px auto 20px auto;
	}

	.contact-box .wrapper {
		padding: 0 10px;
	}

	.contact-box .information:after {
		width: 90%;
		height: 3px;
	}

	.contact-box .information .reception,
	.contact-box .information .contactform {
		display: block;
		position: relative;
		padding: 30px 0 0 0;
		width: 100%;
		height: 137px;
	}

	.contact-box .information .title {
		line-height: 24px;
		font-size: 16px;
	}

	
	.contact-box .information .number {
		height: 45px;
		line-height: 45px;
		font-size: 31px;
	}

	.contact-box .information .number span {
		padding: 0 0 0 37px;
	}
	.contact-box .information .number span::after {
		top: 9px;
		width: 30px;
		height: 30px;
	}

	.contact-box .information {
		max-width: 355px;
	}

	.contact-box .information .hours {
		height: 17px;
		line-height: 17px;
		font-size: 12px;
	}
	.contact-box .information .hours span:after {
		top: 2px;
	}

	.contact-box .information button {
		margin: 15px 0 0 0;
		width: 298px;
		height: 58px;
		font-size: 18px;
	}

}

/* ========================================================================== */

.information-box {
	margin: -159px auto 66px auto;
}

.information-box .wrapper {
	margin: 0 auto;
	max-width: 960px;
}

@media (max-width: 980px) {

	.information-box {
		margin: -15px auto 0 auto;
	}

	.information-box .wrapper {
		padding: 0 15px;
		max-width: 739px;
	}

}

@media (max-width: 768px) {

	.information-box {
		margin: -52px auto 20px auto;
	}

	.information-box .wrapper {
		padding: 0 10px;
		max-width: 355px;
	}

}

/* ========================================================================== */

.information-details-box {
	margin: -159px auto 0 auto;
}

.information-details-box .wrapper {
	margin: 0 auto;
	max-width: 960px;
}

@media (max-width: 980px) {

	.information-details-box {
		margin: -15px auto 0 auto;
	}

	.information-details-box .wrapper {
		padding: 0 15px;
		max-width: 739px;
	}

}

@media (max-width: 768px) {

	.information-details-box {
		margin: -52px auto 20px auto;
	}

	.information-details-box .wrapper {
		padding: 0 10px;
		max-width: 355px;
	}

}
