@charset "UTF-8";



/* ::::::::::::::::::::::::::::::::: HEADER ::::::::::::::::::::::::::::::::: */


header.mainHeader {
	width: 100%;
	position: relative;
	left: 0;
	top: 0;
	z-index: 1010;
	height: 144px;
	background: #fff;
}
@media screen and (max-width: 979px) {
	header.mainHeader {
		position: fixed;
		height: 60px;
	}
}
header.mainHeader div.siteTitle {
	width: 160px;
	height: 144px;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
}
@media screen and (max-width: 979px) {
	header.mainHeader div.siteTitle {
		width: 39px;
		height: 47px;
		position: absolute;
		left: 10px;
		top: 5px;
		z-index: 2;
	}
}

header.mainHeader div.siteTitle img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
@media screen and (max-width: 979px) {
	header.mainHeader div.siteTitle img {
		width: 48px;
		height: 36px;
	}
}
header.mainHeader div.headerBlock01 {
	position: relative;
	width: calc(100% - 160px);
	margin-left: auto;
}
@media screen and (max-width: 979px) {
	header.mainHeader div.headerBlock01 {
		width: calc(100% - 60px);
	}
}
header.mainHeader h1 {
	position: absolute;
	left: 0;
	top: 25px;
	font-size: 13px;
	font-weight: 500;
	color: #4c4c4c;
}
@media screen and (max-width: 1500px) {
	header.mainHeader h1 {
		font-size: 10px;
	}
}
@media screen and (max-width: 979px) {
	header.mainHeader h1 {
		font-size: 12px;
		line-height: 1.1;
		text-align: left;
		top: 14px;
		left: 10px;
	}
}
header.mainHeader .blankList {
	position: absolute;
	right: 190px;
	top: 20px;
}
@media screen and (max-width: 1240px) {
	header.mainHeader .blankList {
		display: none;
	}
}
@media screen and (max-width: 979px) {
	header.mainHeader .blankList {
		display: block;
		position: static;
		padding-top: 20px;
		margin-top: 20px;
		border-top: 1px solid #4c4c4c;
	}
}
header.mainHeader .blankList li {
	display: inline-block;
	vertical-align: top;
}
@media screen and (max-width: 979px) {
	header.mainHeader .blankList li {
		display: block;
		text-align: left;
		margin: 0 0 10px;
	}
}
header.mainHeader .blankList li a {
	font-size: 13px;
	color: #de912f;
	background: url(../img/common/vector_right_orange.svg) no-repeat 0 50%;
	background-size: 6px 11px;
	padding: 0 20px;
}
@media screen and (max-width: 1500px) {
	header.mainHeader .blankList li a {
		padding: 0 10px;
		font-size: 11px;
	}
}
@media screen and (max-width: 979px) {
	header.mainHeader .blankList li a {
		font-size: 13px;
		color: #4c4c4c;
		background: url(../img/common/vector_right_black.svg) no-repeat 0 50%;
		background-size: 6px 11px;
		padding: 0 0 0 20px;
	}
}
header.mainHeader .contactBtn {
	position: absolute;
	right: 0;
	top: 0;
}
@media screen and (max-width: 979px) {
	header.mainHeader .contactBtn {
		position: static;
	}
}
header.mainHeader .contactBtn a {
	width: 190px;
	height: 68px;
	line-height: 68px;
	background: #FEF23F url(../img/common/icon_mail.svg) no-repeat left 20px top 50%;
	background-size: 20px 16px;
	color: #4c4c4c;
	padding-left: 20px;
	box-sizing: border-box;
	display: block;
}
@media screen and (max-width: 979px) {
	header.mainHeader .contactBtn a {
		background: #FEF23F url(../img/common/icon_mail.svg) no-repeat left 20px top 50%;
		background-size: 20px 16px;
		width: 100%;
		border: 1px solid #4c4c4c;
		border-radius: 30px;
		margin: 30px 0 0;
		height: 48px;
		line-height: 48px;
	}
}

header.mainHeader .mainList {
	position: absolute;
	right: 0;
	top: 68px;
	width: 100%;
	border-top: 1px solid #e6e6e6;
	padding: 20px 0;
}
@media screen and (max-width: 979px) {
	header.mainHeader .mainList {
		position: static;
		border: none;
		padding: 0;
	}
}
header.mainHeader.small .mainList {
	display: none;
	background: rgb(251 242 83 / 80%);
	padding: 22px 180px;
	box-sizing: border-box;
	border: none;
}
@media screen and (max-width: 979px) {
	header.mainHeader.small .mainList {
		display: block;
		padding: 0;
		background: none;
	}
}

header.mainHeader .mainList.on {
	display: block;
}

header.mainHeader ul.mainList {
	text-align: left;
}
header.mainHeader ul.mainList li {
	position: relative;
	display: inline-block;
	padding: 0 20px;
	vertical-align: top;
}
@media screen and (max-width: 979px) {
	header.mainHeader ul.mainList li {
		font-size: 14px;
		display: block;
		padding: 0;
		margin: 0 0 10px;
	}
}
header.mainHeader ul.mainList li:first-child {
	padding-left: 0;
}

header.mainHeader ul.mainList li a {
	position: relative;
	color: #4c4c4c;
	display: block;
	z-index: 1;
	overflow: visible;
}
@media screen and (max-width: 979px) {
	header.mainHeader ul.mainList li a {
		font-size: 15px;
	}
}
header.mainHeader ul.mainList li.active::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -25px;
	width: 100%;
	height: 3px;
	background: #de912f;
}
header.mainHeader ul.mainList li.active a {
	color: #de912f;
}
header.mainHeader ul.mainList li.tel a span {
	font-size: 13px;
}
header.mainHeader ul.mainList li.mail {
	padding: 0 0 0 10px;
}
header.mainHeader ul.mainList li.mail a {
	font-size: 13px;
	background: url(../../img/common/mark_mail_black.svg) no-repeat left 0 top 50%;
	background-size: 17px 12px;
	padding: 0 0 0 25px;
}


/* MENU BUTTON */

button.menuBtn {
	display: none;
	width: 68px;
	height: 68px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2100;
	cursor: pointer;
	background: #fff;
	font-size: 12px;
}
@media screen and (max-width: 979px) {
	button.menuBtn {
		display: block;
		top: 0;
		width: 60px;
		height: 60px;
	}
}
button.menuBtn.on {
	background: #f2f2f2;
}
button.menuBtn span.open,
button.menuBtn span.close {
	padding: 22px 0 0;
	display: block;
}
button.menuBtn span.close {
	display: none;
}
button.menuBtn.on span.open {
	display: none;
}
button.menuBtn.on span.close {
	display: block;
}


button.menuBtn span.line {
	width: 15px;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	border-top: 1px solid #4c4c4c;
	transition: all 0.2s ease;
}
button.menuBtn span.line1 {
	top: 16px;
}
button.menuBtn span.line2 {
	top: 20px;
}
button.menuBtn span.line3 {
	top: 24px;
}
button.menuBtn.on span.line1 {
	top: 20px;
  transform: rotate(45deg);
}
button.menuBtn.on span.line2 {
  display: none;
}
button.menuBtn.on span.line3 {
	top: 20px;
  transform: rotate(-45deg);
}
button.menuBtn.on::after {
	position: absolute;
	content: '';
	bottom: -5px;
	left: 0;
	margin: auto;
	right: 0;
	width: 15px;
	height: 15px;
	background: #f2f2f2;
	transform: rotate(45deg);
}

header.mainHeader.small {
	position: fixed;
	height: 68px;
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.05);
	background: #fff;
}
@media screen and (max-width: 979px) {
	header.mainHeader.small {
		height: 60px;
	}
}
header.mainHeader.small div.headerBlock01 {
	width: 100%;
}
@media screen and (max-width: 979px) {
	header.mainHeader.small div.headerBlock01 {
		width: calc(100% - 60px);
	}
}
header.mainHeader.small h1 {
	left: 40px;
}
@media screen and (max-width: 979px) {
	header.mainHeader.small h1 {
		left: 10px;
	}
}
header.mainHeader.small div.siteTitle  {
	display: none;
}
@media screen and (max-width: 979px) {
	header.mainHeader.small div.siteTitle  {
		display: block;
	}
}
header.mainHeader .mainListBlock {
	display: none;
	background: rgb(251 242 83 / 80%);
	padding: 22px 100px;
	box-sizing: border-box;
	overflow-y: auto;
}
@media screen and (max-width: 979px) {
	header.mainHeader .mainListBlock {
		position: fixed;
		right: 0;
		top: 60px;
		padding: 40px 20px;
		width: 100%;
		height: calc(100% - 60px);
	}
}
header.mainHeader .mainListBlock.on {
	display: block;
}

header.mainHeader .mainListBlock ul.mainList li.active::after {
	display: none;
}
header.mainHeader .mainListBlock ul.mainList li.active a {
	color: #fff;
}
header.mainHeader.small ul.mainList li.active::after {
	display: none;
}

header.mainHeader.small ul.mainList li.active a {
	color: #fff;
}
header.mainHeader.small .contactBtn {
	right: 68px;
}
header.mainHeader.small .blankList {
	right: 258px;
}
header.mainHeader.small button.menuBtn {
	display: block;
}


/* ::::::::::::::::::::::::::::::::: FOOTER ::::::::::::::::::::::::::::::::: */


footer.mainFooter {
	position: relative;
	background: #fff;
}

footer.mainFooter,
footer.mainFooter a {
	color: #4c4c4c;
}

footer.mainFooter .mainWrap {
	position: relative;
	background: linear-gradient(to right, #FEF23F, #FFDD02);
	color: #4c4c4c;
}

footer.mainFooter div.mainWrap div.inner {
	padding: 35px 0;
	box-sizing: border-box;
	width: 1000px;
	margin: 0 auto;
	text-align: left;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.mainWrap div.inner {
		display: block;
		width: 100%;
		padding: 40px 15px;
	}
}
footer.mainFooter div.mainWrap div.inner .title {
	font-size: 18px;
	margin: 0 0 10px;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.mainWrap div.inner .title {
		font-size: 16px;
		margin: 0 0 20px;
	}
}
footer.mainFooter p.copyright {
	padding: 20px 0;
	font-size: 13px;
	color: #666666;
	text-align: left;
	width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
}
@media screen and (max-width: 979px) {
	footer.mainFooter p.copyright {
		padding: 15px;
		width: 100%;
	}
}



footer.mainFooter p.pageTop {
	position: fixed;
	background: #fff;
	width: 74px;
	height: 74px;
	border-radius: 50%;
	right: 20px;
	bottom: 60px;
	z-index: 1;
	transition: all 0.5s ease;
	display: flex;
	box-shadow: 5px 5px 20px 0 rgb(0 0 0 / 15%);
}
@media screen and (max-width: 979px) {
	footer.mainFooter p.pageTop {
		width: 60px;
		height: 60px;
		bottom: 20px;
	}
}
footer.mainFooter p.pageTop a {
	display: block;
	width: 74px;
	height: 74px;
	font-size: 13px;
	background: url(../img/common/vector_top_orange.svg) no-repeat 50% 50%;
	background-size: 18px 10px;
	margin: auto;
}
@media screen and (max-width: 979px) {
	footer.mainFooter p.pageTop a {
		width: 60px;
		height: 60px;
		background: url(../img/common/vector_top_orange.svg) no-repeat 50% 50%;
		background-size: 18px 10px;
		font-size: 10px;
	}
}
