@charset "utf-8";
/* CSS Document */

/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}
/*================================================
 *  一般・共通設定
 ================================================*/
html {
	font-size:62.5%;
}
body {
	font-size:1.6rem;
	line-height:1.5;
	color:#000;
	letter-spacing:0.075em;
	font-family:"Noto Sans JP", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}
*, *:before, *:after {
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    -o-box-sizing:border-box;
    -ms-box-sizing:border-box;
    box-sizing:border-box;
}
.m-plus-1p {
    font-family:'M PLUS 1p', sans-serif;
    font-display:swap;
}
.biz-udpgothic {
    font-family:'BIZ UDPGothic', sans-serif;
    font-display:swap;
}
.bold {
	font-weight:700;
}
.sp {
	display:inline-block;
}
.tablet {
	display:none;
}
.pc {
	display:none;
}
@media screen and (min-width: 768px) {
.tablet {
	display:inline-block;
}
}
@media screen and (min-width: 1025px) {
.sp {
	display:none;
}
.tablet {
	display:none;
}
.pc {
	display:inline-block;
}
}
/*================================================
 *  フロート回避
 ================================================*/
.clearfix::after {
	content:"";
	display:block;
	clear:both;
}
/*================================================
 *  ヘッダー
 ================================================*/
header {
	position:fixed;
	top:0;
	left:0;
	background:#FFF;
	width:100%;
	-webkit-transition:-webkit-transform 0.5s;
	transition:-webkit-transform 0.5s;
	transition:transform 0.5s;
	transition:transform 0.5s, -webkit-transform 0.5s;
	z-index:3;
}
header .inner {
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	-webkit-box-align:stretch;
	-webkit-align-items:stretch;
	align-items:stretch;
	-webkit-box-pack:justify;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	height:14.976vw;
	padding:0;
}
header h1.logo {
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	align-items:center;
	-webkit-box-pack:start;
	-webkit-justify-content:flex-start;
	justify-content:start;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	height:14.976vw;
	padding-left:5.314vw;
}
header h1.logo a {
	display:block;
	width:43.478vw;
	line-height:0;
}
header h1.logo a img {
	width:100%;
	line-height:0;
}
header .nav-area .btn {
	position:absolute;
	top:0;
	right:0;
	display:block;
	background:#BF0000;
	width:14.976vw;
	height:14.976vw;
}
header .nav-area .btn p {
	position:absolute;
	top:50%;
	left:50%;
	width:6.396vw;
	height:2.932vw;
	-webkit-transform:translate(-50%, -50%);
	transform:translate(-50%, -50%);
}
header .nav-area .btn p span {
	position:absolute;
	display:block;
	background:#FFF;
	width:100%;
	height:0.263vw;
	-webkit-transition:all 0.5s ease !important;
	transition:all 0.5s ease !important;
}
header .nav-area .btn p span:nth-child(1) {
	top:0;
}
header .nav-area .btn p span:nth-child(2) {
	top:50%;
}
header .nav-area .btn p span:nth-child(3) {
	bottom:0;
}
header .nav-area .menu-area {
	position:fixed;
	top:14.976vw;
	left:100%;
	background:#f4f8fa;
	width:100%;
	height:calc(100vh - 14.976vw);
	max-height:100%;
	padding:3rem 5.3% 3rem;
	overflow:scroll;
	-webkit-transition:all 0.5s ease!important;
	transition:all 0.5s ease!important;
}
header .nav-list {
	display:block;
	height:auto;
}
header .nav-list__single a {
	text-decoration:none;
}
header .nav-list__single:not(:last-child) {
	margin-bottom:1.5rem;
}
header .nav-list__single a {
	font-size:2.2rem;
	line-height:1.5;
	color:#393D40;
	letter-spacing:0.075em;
	font-weight:500;
}
/*   開閉   */
header .nav-area .btn.active p span:nth-child(1){
	top:calc(50% - 0.1rem);
	-webkit-transform:rotate(45deg) translateY(-50%);
	transform:rotate(45deg) translateY(-50%);
}
header .nav-area .btn.active p span:nth-child(2) {
	opacity:0!important;
}
header .nav-area .btn.active p span:nth-child(3) {
	bottom:auto;
	top:calc(50% - 0.1rem);
	-webkit-transform:rotate(-45deg) translateY(-50%);
	transform:rotate(-45deg) translateY(-50%);
}
header .nav-area .menu-area.active {
	left:0;
}
@media screen and (min-width: 768px) {
header .inner {
	height:7.5rem;
	padding:0;
}
header h1.logo {
	height:7.5rem;
}
header h1.logo a {
	width:26.9rem;
}
header .nav-area .btn {
	width:7.5rem;
	height:7.5rem;
}
header .nav-area .btn p {
	width:50%;
	height:2rem;
}
header .nav-area .btn p span {
	height:0.2rem;
}
header .nav-area .menu-area {
	top:7.5rem;
	height:calc(100vh - 7.5rem);
}
}
@media screen and (min-width: 1025px) {
header .inner {
	padding:0 5rem;
}
header .nav-area .btn {
	display:none;
}
header .nav-area .menu-area {
	position:static!important;
	top:auto;
	left:auto;
	background:inherit!important;
	width:auto!important;
	height:auto!important;
	padding:0;
	overflow:inherit!important;
}
header .nav-list {
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	align-items:center;
	-webkit-box-pack:end;
	-webkit-justify-content:flex-end;
	justify-content:flex-end;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	height:7.5rem;
}
header .nav-list__single:not(.singleBtn) {
	margin-left:4.3rem;
	margin-bottom:0;
	font-size:18px;
}
header .nav-list__single a {
	font-size:16px;
	color:#C10909;
	line-height:inherit;
	font-weight:400;
	-webkit-transition:opacity ease 0.3s,color ease 0.3s,border-color ease 0.3s,background-color ease 0.3s,background-image ease 0.3s,-webkit-box-shadow ease 0.3s;
	transition:opacity ease 0.3s,color ease 0.3s,border-color ease 0.3s,background-color ease 0.3s,background-image ease 0.3s,-webkit-box-shadow ease 0.3s;
	transition:opacity ease 0.3s,color ease 0.3s,border-color ease 0.3s,background-color ease 0.3s,background-image ease 0.3s,box-shadow ease 0.3s;
	transition:opacity ease 0.3s,color ease 0.3s,border-color ease 0.3s,background-color ease 0.3s,background-image ease 0.3s,box-shadow ease 0.3s,-webkit-box-shadow ease 0.3s;
}
header .nav-list__single:not(.singleBtn) .nav-list__singleTitle span {
	position:relative;
	padding-bottom:0.8rem;
}
header .nav-list__single:not(.singleBtn) .nav-list__singleTitle span::after {
	position:absolute;
	content:"";
	bottom:0;
	left:0;
	display:block;
	width:0;
	height:2px;
	background:-webkit-gradient(linear, left top, right top, from(#C41515), to(#C10909));
	background:linear-gradient(90deg, #C41515 0%, #C10909 100%);
	z-index:2;
	-webkit-transition:width ease 0.3s;
	transition:width ease 0.3s;
}
header .nav-list__single:not(.singleBtn) .nav-list__singleTitle span:hover::after {
	width:100%;
}
}
/*================================================
 *  本文
 ================================================*/
.contentWrap {
	position:relative;
	background:#FFF;
	z-index:1;
	border:none;
	transform:translateY(0);
}
.topPage .main-area {
	position:relative;
	height:calc(150vh + 50rem);
}
.topPage .main-area::before {
	position:absolute;
	content:"";
	top:0;
	left:0;
	display:block;
	background:#3F494E;
	width:100%;
	height:100%;
	opacity:0.4;
	z-index:1;
}
.topPage .main-area__picture {
	z-index:0;
	position:sticky;
	top:0;
	left:0;
	width:100%;
	height:100vh;
	background:url(../images/main.jpg) bottom center no-repeat;
	background-size:cover;
}
.topPage .main-area__picture::before {
	position:absolute;
	content:"";
	bottom:0;
	left:0;
	display:block;
	background:#62879B;
	width:100%;
	height:100%;
	opacity:0.4;
	z-index:1;
}
.topPage .main-area__titleBox {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:150vh;
	z-index:2;
}
.topPage .main-area__textBox {
	position:-webkit-sticky;
	position:sticky;
	top:44.5vh;
	left:0;
	z-index:2;
}
.topPage .main-area__title {
	font-size:7.729vw;
	color:#FFF;
	line-height:1.6;
	letter-spacing:0.075em;
	padding:0 5.3%;
	text-shadow:2px 3px 3px rgba(63, 73, 78, 0.4);
}
.topPage .main-area__title span {
	font-weight:700;
}
.topPage .main-area__textBox .text {
	font-size:1.6rem;
	color:#FFF;
	line-height:2.3;
	letter-spacing:0.075em;
	padding:2rem 5.3% 0;
}
.topPage .works-area {
	position:relative;
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	-webkit-box-align:stretch;
	-webkit-align-items:stretch;
	align-items:stretch;
	-webkit-justify-content:flex-start;
	justify-content:start;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	background:#FFF;
	padding:10rem 0;
}
.topPage .works-area .works-titleBox {
	position:absolute;
	content:"";
	top:-6rem;
	left:50%;
	width:13rem;
	height:13rem;
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
	z-index:3;
	padding-top:13.285vw;
	margin-top:-13.285vw;
}
.topPage .works-area .works-area__title {
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	flex-direction:column;
	-webkit-box-align:center;
	-webkit-align-items:center;
	align-items:center;
	-webkit-box-pack:center;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	background:#BF0000;
	width:13remw;
	height:13rem;
	color:#FFF;
	font-size:1.8rem;
	border-radius:50%;
}
.topPage .works-area .works-area__title span {
	font-size:2.4rem;
}
.topPage .works-area .works-area__body {
	background:#F0F0F0;
	width:100%;
	padding-top:5rem;
	margin:0 auto;
}
.topPage .works-area .works-area__bod__title {
	text-align:center;
	font-size:4.831vw;
}
.topPage .works-area .works-area__picture {
	width:90%;
	margin:2rem auto 1rem;
}
.topPage .works-area .works-area__picture img {
	width:100%;
	line-height:0;
	border-radius:12px;
}
.topPage .works-area .works-area__textBox {
	background:#FDD;
	width:100%;
	padding:2.5rem 0;
	margin:0 auto;
}
.topPage .works-area .works-area__textBox .works-list {
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:space-between;;
	-webkit-justify-content:space-between;;
	justify-content:space-between;;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	width:94%;
	margin:0 auto;
}
.topPage .works-area .works-list__single {
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	flex-direction:column;
	-webkit-box-pack:center;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	background:#BF0000;
	width:100%;
	height:31.401vw;
	padding-left:2rem;
	padding-right:2rem;
	border-radius:12px;
	margin-bottom:1.5rem;
}
.topPage .works-area .works-list__single:nth-child(1) {
	background-image:url(../images/works01.png);
	background-repeat:no-repeat;
	background-position:right top;
	background-size:auto 100%;
}
.topPage .works-area .works-list__single:nth-child(2) {
	background-image:url(../images/works02.png);
	background-repeat:no-repeat;
	background-position:right top;
	background-size:auto 100%;
}
.topPage .works-area .works-list__single:nth-child(3) {
	background-image:url(../images/works03.png);
	background-repeat:no-repeat;
	background-position:right top;
	background-size:auto 100%;
}
.topPage .works-area .works-list__single:nth-child(4) {
	background-image:url(../images/works04.png);
	background-repeat:no-repeat;
	background-position:right top;
	background-size:auto 100%;
}
.topPage .works-area .works-list__single .title {
	font-size:5.314vw;
	color:#FFECAA;
	font-weight:700;
	margin-bottom:1rem;
}
.topPage .works-area .works-list__single .text {
	font-size:4.348vw;
	color:#FFF;
}
.topPage .company-area {
	position:relative;
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	-webkit-box-align:stretch;
	-webkit-align-items:stretch;
	align-items:stretch;
	-webkit-justify-content:flex-start;
	justify-content:start;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	background:#F0F0F0;
	padding:10rem 0;
}
.topPage .company-area .company-titleBox {
	position:absolute;
	content:"";
	top:-6rem;
	left:50%;
	width:13rem;
	height:13rem;
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
	z-index:3;
	padding-top:13.285vw;
	margin-top:-13.285vw;
}
.topPage .company-area .company-area__title {
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	flex-direction:column;
	-webkit-box-align:center;
	-webkit-align-items:center;
	align-items:center;
	-webkit-box-pack:center;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	background:#BF0000;
	width:13remw;
	height:13rem;
	color:#FFF;
	font-size:1.8rem;
	border-radius:50%;
}
.topPage .company-area .company-area__title span {
	font-size:2.4rem;
}
.topPage .company-area .company-area__body {
	width:100%;
}
.topPage .company-area .company-area__textBox {
	background:#FFF;
	width:94%;
	padding:2.5rem 0;
	margin:0 3%;
}
.topPage .company-area .company-area__textBox table {
	width:96%;
	margin:0 auto;
}
.topPage .company-area .company-area__textBox table th {
	display:block;
	width:100%;
	text-align:left;
	font-size:4.831vw;
	padding:1rem 0 1rem 1rem;
	border-bottom:solid 1px #c10909;
}
.topPage .company-area .company-area__textBox table tr:first-child {
	border-top:solid 1px #c10909;
}
.topPage .company-area .company-area__textBox table td {
	display:block;
	width:100%;
	font-size:4.831vw;
	padding:1rem 0 1rem 1rem;
	border-bottom:solid 1px #c10909;
}
/*　　▼新着情報が必要な場合▼　　*/
.topPage .news-area {
	position:relative;
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	-webkit-box-align:stretch;
	-webkit-align-items:stretch;
	align-items:stretch;
	-webkit-justify-content:flex-start;
	justify-content:start;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	background:#FFF;
	padding:10rem 0;
}
.topPage .news-area .news-titleBox {
	position:absolute;
	content:"";
	top:-6rem;
	left:50%;
	width:13rem;
	height:13rem;
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
	z-index:3;
	padding-top:13.285vw;
	margin-top:-13.285vw;
}
.topPage .news-area .news-area__title {
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	flex-direction:column;
	-webkit-box-align:center;
	-webkit-align-items:center;
	align-items:center;
	-webkit-box-pack:center;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	background:#BF0000;
	width:13remw;
	height:13rem;
	color:#FFF;
	font-size:1.8rem;
	border-radius:50%;
}
.topPage .news-area .news-area__title span {
	font-size:2.4rem;
}
.topPage .news-area .news-area__body {
	background:#F0F0F0;
	width:100%;
	padding:5rem 0;
}
.topPage .news-area .news-area__textBox {
	background:#FFF;
	width:94%;
	height:30vw;
	overflow-y:auto;
	padding:2.5rem 0;
	margin:0 3%;
}
.topPage .news-area .news-list {
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	flex-flow:column;
	flex-direction:column;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	width:94%;
	margin:0 auto;
}
.topPage .news-area .news-list dd {
	padding:0.5rem 0 1rem;
	border-bottom:solid 1px #222;
}
/*　　▲新着情報が必要な場合▲　　*/
.topPage .access-area {
	position:relative;
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	-webkit-box-align:stretch;
	-webkit-align-items:stretch;
	align-items:stretch;
	-webkit-justify-content:flex-start;
	justify-content:start;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	background:#FFF;/*新着情報がない場合*/
	/*background:#F0F0F0;*//*新着情報がある場合*/
	padding:10rem 0;
}
.topPage .access-area .access-titleBox {
	position:absolute;
	content:"";
	top:-6rem;
	left:50%;
	width:13rem;
	height:13rem;
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
	z-index:3;
	padding-top:13.285vw;
	margin-top:-13.285vw;
}
.topPage .access-area .access-area__title {
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	flex-direction:column;
	-webkit-box-align:center;
	-webkit-align-items:center;
	align-items:center;
	-webkit-box-pack:center;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	background:#BF0000;
	width:13remw;
	height:13rem;
	color:#FFF;
	font-size:1.8rem;
	border-radius:50%;
}
.topPage .access-area .access-area__title span {
	font-size:2.4rem;
}
.topPage .access-area .access-area__body {
	width:100%;
}
.topPage .access-area .access-area__textBox {
	background:#F0F0F0;
	width:100%;
	padding:2.5rem 0;
	margin:0 auto;
}
.topPage .access-area iframe {
	width:100%;
	height:350px;
	border:none;
}
.topPage .contact-area {
	position:relative;
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	-webkit-box-align:stretch;
	-webkit-align-items:stretch;
	align-items:stretch;
	-webkit-justify-content:flex-start;
	justify-content:start;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	background:#F0F0F0;/*新着情報がない場合*/
	/*background:#FFF;*//*新着情報がある場合*/
	padding:10rem 0;
}
.topPage .contact-area .contact-titleBox {
	position:absolute;
	content:"";
	top:-6rem;
	left:50%;
	width:13rem;
	height:13rem;
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
	z-index:3;
	padding-top:13.285vw;
	margin-top:-13.285vw;
}
.topPage .contact-area .contact-area__title {
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	flex-direction:column;
	-webkit-box-align:center;
	-webkit-align-items:center;
	align-items:center;
	-webkit-box-pack:center;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	background:#BF0000;
	width:13remw;
	height:13rem;
	color:#FFF;
	font-size:1.8rem;
	border-radius:50%;
}
.topPage .contact-area .contact-area__title span {
	font-size:2.4rem;
}
.topPage .contact-area .contact-area__body {
	width:100%;
}
.topPage .contact-area .contact-area__textBox {
	background:#FFF;
	width:100%;
	padding:2.5rem 0;
	margin:0 auto;
}
.topPage .contact-area .contact-area__textBox .txt {
	width:94%;
	text-align:left;
	margin:0 auto;
}
.topPage .contact-area .contact-area__textBox table {
	width:96%;
	margin:2rem auto 0;
}

.topPage .contact-area .contact-area__textBox table th {
	display:block;
	width:100%;
	text-align:left;
	font-size:4.831vw;
	padding:1rem 0 1rem 1rem;
}
.topPage .contact-area .contact-area__textBox table td {
	display:block;
	width:100%;
	font-size:4.831vw;
	padding:0 0 1.5rem 1rem;
}
.topPage .contact-area .contact-area__textBox table th .required {
	font-size:80%;
	color:#F00;
}
.topPage .contact-area .contact-area__textBox table td input, .topPage .contact-area .contact-area__textBox table td textarea {
	display:block;
	background:#F4F8FA;
	width:100%;
	font:inherit;
	font-size:1.6rem;
	color:#393D40;
	line-height:1.6;
	letter-spacing:0.075em;
	padding:1.5rem 1.9rem;
	margin:0;
	border:none;
	border-radius:6px;
	-webkit-appearance:none;
	appearance:none;
	outline:none;
}
.topPage .contact-area .contact-area__textBox table td textarea {
	height:29.2rem;
}
.topPage .contact-area .contact-area__textBox .check {
	width:100%;
	padding-left:1rem;
	padding-right:1rem;
	margin:0 auto 2rem;
}
.ECM_CheckboxInput {
	display:flex;
	align-items:center;
	cursor:pointer;
	padding:10px 8px;
}
.ECM_CheckboxInput-Input {
	margin:0;
	width:0;
	opacity:0;
}
.ECM_CheckboxInput:hover{
	background:rgba(0,0,0,.05) !important;
}
.ECM_CheckboxInput-Input:focus + .ECM_CheckboxInput-DummyInput{
	border:dashed 2px #333333;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput {
	background:#333333;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::before {
	position:absolute;
	content:"";
	top:50%;
	left:50%;
	display:block;
	background:#FFF;
	width:40%;
	height:4px;
	border-radius:2px;
	transform:translate(-6px, 5px) rotateZ(-135deg);
	transform-origin:2px 2px;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::after {
	position:absolute;
	content:"";
	top:50%;
	left:50%;
	display:block;
	background:#FFF;
	width:76%;
	height:4px;
	border-radius:2px;
	transform:translate(-6px, 5px) rotateZ(-45deg);
	transform-origin:2px 2px;
}
.ECM_CheckboxInput-DummyInput {
	position:relative;
	top:0;
	left:0;
	display:block;
	background:rgba(0,0,0, .1);
	width:32px;
	height:32px;
	border:solid 2px transparent;
	border-radius:6px;
}
.ECM_CheckboxInput-LabelText {
	display:block;
	font-size:1.6rem;
	margin-left:12px;
}
.privacy-area {
	width:100%;
	padding-left:1rem;
	padding-right:1rem;
	margin:0 auto 3rem;
}
.privacy-area .acd-check{
    display:none;
}
.privacy-area .acd-label {
    display:block;
	font-size:4.831vw;
	text-align:center;
    padding:10px;
    margin-bottom:1px;
}
.privacy-area .acd-label span {
	border-bottom:solid 1px #F00;
}
.privacy-area .acd-content{
    height:0;
    opacity:0;
    padding:0 10px;
    transition:1s;
    visibility:hidden;
}
.acd-check:checked + .acd-label + .acd-content{
    height:auto;
	text-align:left;
    opacity:1;
    padding:10px;
    visibility:visible;
}
.privacy-area .privacy-title {
	position:relative;
	font-size:4.831vw;
	line-height:1;
	padding-left:8.696vw;
	padding-bottom:1rem;
	margin-bottom:1rem;
	border-bottom:dotted 1px #222;
}
.privacy-area .privacy-title::after {
	position:absolute;
	content:"";
	top:0;
	left:0;
	background:url(../images/exclamation.png) no-repeat;
	background-size:cover;
	width:6.28vw;
	height:4.831vw;
}
.privacy-area .privacy-txt {
	margin-bottom:2rem;
}
.topPage .contact-area .contact-area__textBox .submit-btn {
	text-align:center;
	margin:4rem auto 3rem;
}
.topPage .contact-area .contact-area__textBox .submit-btn .send-btn {
	background:#BF0000;
	font-size:4.831vw;
	color:#FFF;
	line-height:1;
	padding:1.5rem 2.5rem;
	border:none;
	border-radius:12px;
	transition-duration:0.3s;
}
.topPage .contact-area .contact-area__textBox .submit-btn .send-btn:hover {
	transform:scale(1.1);
	-webkit-transition-duration:0.3s;
	transition-duration:0.3s;
	-webkit-transition-property:transform;
	transition-property:transform;
	opacity:0.8;
}
.topPage .contact-area .contact-area__textBox .submit-btn .send-btn:last-child {
	margin-top:1rem;
}
@media screen and (min-width: 768px) {
.contentWrap {
	transform:translateY(0px)!important;
}
.topPage .main-area {
	height:calc(150vh + 70rem);
}
.topPage .main-area__textBox {
	top:38.5vh;
}
.topPage .main-area__title {
	font-size:6.51vw;
}
.topPage .main-area__textBox .text {
	font-size:2.344vw;
}
.topPage .works-area {
	padding:13rem 3% 15rem;
}
.topPage .works-area .works-titleBox {
	padding-top:6.5rem;
	margin-top:-6.5rem;
}
.topPage .works-area .works-area__bod__title {
	font-size:2.4rem;
}
.topPage .works-area .works-area__textBox .works-list {
	width:96%;
	margin:0 auto;
}
.topPage .works-area .works-list__single {
	width:49%;
	height:17rem;
	padding-left:1.5rem;
	padding-right:1.5rem;
	margin-bottom:2rem;
}
.topPage .works-area .works-list__single .title {
	font-size:2.604vw;
	margin-bottom:1.5rem;
}
.topPage .works-area .works-list__single .text {
	font-size:2.083vw;
}
.topPage .company-area {
	padding:13rem 3%;
}
.topPage .company-area .company-titleBox {
	padding-top:6.6rem;
	margin-top:-6.5rem;
}
.topPage .company-area .company-area__textBox table th {
	display:table-cell;
	width:30%;
	font-size:2.604vw;
}
.topPage .company-area .company-area__textBox table td {
	display:table-cell;
	width:70%;
	font-size:2.604vw;
	padding-left:0;
}
/*　　▼新着情報が必要な場合▼　　*/
.topPage .news-area {
	padding:13rem 3%;
}
.topPage .news-area .news-titleBox {
	padding-top:6.6rem;
	margin-top:-6.5rem;
}
.topPage .news-area .news-area__textBox {
	height:180px;
}
.topPage .news-area .news-list {
	flex-flow:row wrap;
}
.topPage .news-area .news-list dt {
	width:30%;
	padding:0.5rem 0 1rem 2rem;
	border-bottom:solid 1px #222;
}
.topPage .news-area .news-list dd {
	width:65%;
	padding:0.5rem 0 1rem;
	border-bottom:solid 1px #222;
}
/*　　▲新着情報が必要な場合▲　　*/
.topPage .access-area {
	padding:13rem 3%;
}
.topPage .access-area .access-titleBox {
	padding-top:6.6rem;
	margin-top:-6.5rem;
}
.topPage .access-area .access-area__textBox {
	width:calc(100% + 6%);
	padding:4rem 0 4rem;
	margin:0 -3%;
}
.topPage .contact-area {
	padding:13rem 3%;
}
.topPage .contact-area .contact-titleBox {
	padding-top:6.6rem;
	margin-top:-6.5rem;
}
.topPage .contact-area .contact-area__textBox .txt {
	font-size:2.604vw;
}
.topPage .contact-area .contact-area__textBox table th {
	display:table-cell;
	width:30%;
	font-size:1.6rem;
}
.topPage .contact-area .contact-area__textBox table td {
	display:table-cell;
	width:70%;
	text-align:left;
	font-size:1.6rem;
	padding-left:0;
}
.privacy-area .acd-label{
	font-size:2.604vw;
}
.privacy-area .privacy-title {
	font-size:2.604vw;
	padding-left:4.688vw;
}
.privacy-area .privacy-title::after {
	width:3.385vw;
	height:2.604vw;
}
.topPage .contact-area .contact-area__textBox .submit-btn .send-btn {
	font-size:3.125vw;
	padding:2rem 4rem;
}
.topPage .contact-area .contact-area__textBox .submit-btn .send-btn:last-child {
	margin-top:0;
	margin-left:2rem;
}
}
@media screen and (min-width: 1025px) {
.topPage .main-area__textBox {
	top:43.5vh;
}
.topPage .main-area__title {
	font-size:60px;
	line-height:1.5;
	padding:0 10rem;
}
.topPage .main-area__textBox .text {
	font-size:2rem;
	line-height:2.4;
	padding:0 10rem;
	padding-top:2rem;
}
.topPage .works-area .works-titleBox {
	top:-8.5rem;
	width:16rem;
	height:16rem;
}
.topPage .works-area .works-area__title {
	width:16rem;
	height:16rem;
	font-size:2.4rem;
	line-height:1.2;
}
.topPage .works-area .works-area__title span {
	font-size:3rem;
}
.topPage .works-area .works-area__body {
	width:1200px;
}
.topPage .works-area .works-area__bod__title {
	font-size:2.4rem;
}
.topPage .works-area .works-area__picture {
	width:62%;
	margin:3rem auto 2rem;
}
.topPage .works-area .works-area__textBox {
	width:1200px;
	padding:4rem 0 2rem;
}
.topPage .works-area .works-list__single {
	width:49%;
	height:19rem;
	padding-left:2rem;
	padding-right:2rem;
	margin-bottom:2rem;
}
.topPage .works-area .works-list__single .title {
	font-size:2.8rem;
	margin-bottom:2rem;
}
.topPage .works-area .works-list__single .text {
	font-size:2.4rem;
}
.topPage .company-area .company-titleBox {
	top:-8.5rem;
	width:16rem;
	height:16rem;
}
.topPage .company-area .company-area__title {
	width:16rem;
	height:16rem;
	font-size:2.4rem;
	line-height:1.2;
}
.topPage .company-area .company-area__title span {
	font-size:3rem;
}
.topPage .company-area .company-area__textBox {
	width:1200px;
	padding:4rem 0 4rem;
}
.topPage .company-area .company-area__textBox table th {
	font-size:2.4rem;
	padding:2rem 0 2rem 5rem;
}
.topPage .company-area .company-area__textBox table td {
	font-size:2.4rem;
	padding:2rem 0;
}
/*　　▼新着情報が必要な場合▼　　*/
.topPage .news-area .news-titleBox {
	top:-8.5rem;
	width:16rem;
	height:16rem;
}
.topPage .news-area .news-area__title {
	width:16rem;
	height:16rem;
	font-size:2.4rem;
	line-height:1.2;
}
.topPage .news-area .news-area__title span {
	font-size:3rem;
}
.topPage .news-area .company-area__body {
	width:1200px;
	padding:4rem 0 4rem;
}
.topPage .news-area .news-list dt {
	padding-left:3rem;
}
/*　　▲新着情報が必要な場合▲　　*/

.topPage .access-area .access-titleBox {
	top:-8.5rem;
	width:16rem;
	height:16rem;
}
.topPage .access-area .access-area__title {
	width:16rem;
	height:16rem;
	font-size:2.4rem;
	line-height:1.2;
}
.topPage .access-area .access-area__title span {
	font-size:3rem;
}
.topPage .access-area .access-area__textBox {
	width:1200px;
	text-align:center;
	padding:4rem 0 4rem;
	margin:0 auto;
}
.topPage .access-area iframe {
	width:96%;
	height:450px;
	border:none;
}
.topPage .contact-area .contact-titleBox {
	top:-8.5rem;
	width:16rem;
	height:16rem;
}
.topPage .contact-area .contact-area__title {
	width:16rem;
	height:16rem;
	font-size:2.4rem;
	line-height:1.2;
}
.topPage .contact-area .contact-area__title span {
	font-size:3rem;
}
.topPage .contact-area .contact-area__textBox {
	width:1200px;
	text-align:center;
	padding:4rem 0 4rem;
	margin:0 auto;
}
.topPage .contact-area .contact-area__textBox .txt {
	width:720px;
	font-size:2.4rem;
}
.topPage .contact-area .contact-area__textBox table {
	width:96%;
	margin:2rem auto 0;
}
.topPage .contact-area .contact-area__textBox table th {
	font-size:2.4rem;
	padding:2rem 0 2rem 5rem;
}
.topPage .contact-area .contact-area__textBox table td {
	font-size:2.4rem;
	padding:2rem 0;
}
.topPage .contact-area .contact-area__textBox table td input, .topPage .contact-area .contact-area__textBox table td textarea {
	font-size:1.8rem;
	line-height:1.4;
	padding:1.7rem 1.9rem 1.3rem;
}
.topPage .contact-area .contact-area__textBox table td textarea {
	height:27rem;
}
.topPage .contact-area .contact-area__textBox .check {
	width:96%;
	padding-left:5rem;
	padding-right:5rem;
	margin:0 auto;
}
.ECM_CheckboxInput {
	padding:12px 8px;
}
.ECM_CheckboxInput-LabelText {
	font-size:2.4rem;
}
.privacy-area {
	width:96%;
	padding-left:5rem;
	padding-right:5rem;
	margin:0 auto 3rem;
}
.privacy-area .acd-label{
	font-size:2.4rem;
}
.privacy-area .privacy-title {
	font-size:2.2rem;
	padding-left:3.8rem;
}
.privacy-area .privacy-title::after {
	width:2.8vw;
	height:2.2rem;
}
.topPage .contact-area .contact-area__textBox .submit-btn {
	margin:5rem auto 3rem;
}
.topPage .contact-area .contact-area__textBox .submit-btn .send-btn {
	font-size:3.6rem;
	padding:2rem 3rem;
}
}
/*================================================
 *  フッター
 ================================================*/
footer {
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	align-items:center;
	-webkit-box-pack:center;
	-webkit-justify-content:center;
	justify-content:center;
	width:100%;
	height:5rem;
	border-top:solid 1px #000;
}
footer .copy {
	font-size:2.899vw;
}
@media screen and (min-width: 768px) {
footer .copy {
	font-size:1.2rem;
}
}
@media screen and (min-width: 1025px) {
footer .copy {
	font-size:12px;
}
}