@charset "UTF-8";



/* ==================================================
	TOP-BOX01
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
	.top-box01 {
		display: block;
		position: relative;
		padding: 80px 20px 0px 20px;
	}
	.top-box01::before {
		position: absolute;
		z-index: -1;
		width: 100%;
		height: 400px;
		top: 0px;
		left: 0px;
		content: "";
		background: #EDCB55;		
	}
	.top-box01 .fix-1000 {
		position: relative;
		z-index: 20;
	}
	.top-box01 .inner {
		display: block;
		width: 100%;
	}
	.top-box01 figure {
		display: block;
		position: relative;
		margin-right: -20px;
		margin-bottom: 50px;
	}
	.top-box01 figure img {
		max-width: 100%;
	}
	.top-box01 .sp-img {
		display: block;
		position: relative;
		margin-right: -20px;
		margin-left: 30px;
		margin-bottom: 20px;
	}
	.top-box01 .sp-img img {
		width: 100%;
	}
	.top-box01 .txt {
		display: block;
		font-size: 1.6rem;
		line-height: 2;
	}
}
/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) {
	.top-box01 {
		display: block;
		position: relative;
		padding: 146px 0 0 0;
	}
	.top-box01::before {
		position: absolute;
		z-index: -1;
		width: 100%;
		height: 400px;
		top: 0px;
		left: 0px;
		content: "";
		background: #EDCB55;		
	}
	.top-box01::after {
		position: absolute;
		right: 0px;
		top: 130px;
		content: "";
		width: 46.5%;
		height: 620px;
		background:url(../images/mission-img_pc.jpg) right top no-repeat;

	}
	.top-box01 .fix-1000 {
		position: relative;
		z-index: 20;
	}
	.top-box01 .inner {
		display: block;
		width: 100%;
	}
	.top-box01 figure {
		display: block;
		margin-bottom: 124px;
	}
	.top-box01 figure img {
		max-width: 100%;
	}
	.top-box01 .txt {
		display: block;
		font-size: 1.35rem;
		width: 500px;
		line-height: 2.4;
	}
	
}
@media print, screen and (min-width: 768px) and (max-width: 1000px) {
	.top-box01 figure {
		width: 70%;
	}
	.top-box01 .txt {
		display: block;
		font-size: 1.3rem;
		width: 50%;
		line-height: 2.4;
	}
}
/* ========== end △ */



/* ==================================================
	TOP-BOX02
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
	.top-box02 {
		display: block;
		position: relative;
		margin-top: 120px;
	}
	.top-box02 h2 {
		margin-bottom: 50px;
		margin-left: 20px;
		margin-right: 20px;
	}
	.top-box02 img {
		width: 100%;
	}
	.zigyou01 {
		display: block;
	}
	.zigyou01 .imgs {
		display: block;
		position: relative;
	}
	.zigyou01 .imgs img {
		max-width: 100%;
	}
	.zigyou01 .imgs .lo {
		display: block;
		position: absolute;
		left: 0px;
		top: 0px;
		z-index: 2;
		max-width: 135px;
	}
	.zigyou01 .imgs figure {
		display: block;
	}
	.zigyou01 .txt {
		display: block;
		padding: 20px 20px 0 20px;
	}
	.zigyou01 .txt p {
		display: block;
		font-size: 1.6rem;
		line-height: 1.8;
		margin-bottom: 15px;
	}
	.zigyou01 .mb90 {
		margin-bottom: 15px !important;
	}
	.top-box02 .mb70 {
		margin-bottom: 40px !important;
	}
	.zigyou01.ri .txt b {
		display: block;
		font-weight: 500;
		font-size: 1.8rem !important;
		line-height: 1.4;
		margin-bottom: 5px;
	}
	.zigyou01 .mb68 {
		margin-bottom: 15px !important;
	}
}
/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) {
	.top-box02 {
		display: block;
		position: relative;
		margin-top: 190px;
	}
	.zigyou01 {
		display: block;
	}
	.zigyou01 .imgs {
		display: block;
		float: left;
		position: relative;
		width: 50%;
	}
	.zigyou01.ri .imgs {
		display: block;
		float: right;
		position: relative;
		width: 50%;
	}
	.zigyou01 .imgs img {
		max-width: 100%;
	}
	.zigyou01 .imgs .lo {
		display: block;
		position: absolute;
		left: 0px;
		top: 0px;
		z-index: 2;
		max-width: 148px;
	}
	.zigyou01 .imgs figure {
		display: block;
	}
	.zigyou01 .txt {
		display: block;
		float: right;
		width: 45%;
		padding: 60px 0 0 0;
	}
	.zigyou01.ri .txt {
		display: block;
		float: left;
		width: 45%;
		padding: 20px 0 0 0;
	}
	.zigyou01 .txt p {
		display: block;
		font-size: 1.3rem;
		line-height: 1.6;
		color: #717171;
	}
	.zigyou01.ri .txt b {
		display: block;
		font-size: 1.3rem;
		line-height: 1.4;
		margin-bottom: 10px;
	}
}

/* ========== end △ */


/* ==================================================
	TOP-BOX03
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
	.top-box03 {
		display: block;
		padding: 0px 0px 0 0px;
	}
	.top-box03 .col-3 {
		display: block;
		margin-bottom: 0px;
	}
	.top-box03 .one {
		margin-bottom: 40px;
	}
	.top-box03 img {
		width: 100%;
	}
	.top-box03 .imgs {
		display: block;
		position: relative;
	}
	.top-box03 .imgs .im-btxt {bottom: 0 !important;}
	.top-box03 .imgs figure {
		display: block;
	}
	.top-box03 .lo {
		display: block;
		position: absolute;
		left: 0px;
		top: 0px;
		z-index: 2;
		max-width: 164px;
	}
	.top-box03 .lo img {
		width: 100%;
	}
	.top-box03 h3 {
		line-height: 1;
		font-size: 2rem;
		font-weight: normal;
		font-family: 'Noto Serif JP', serif;
		margin: 20px 20px 10px 20px;
	}
	.top-box03 .txt {
		padding-left: 20px;
		padding-right: 20px;
	}
	.top-box03 .txt p {
		font-size: 1.6rem;
		line-height: 1.8;
		margin-bottom: 15px;
	}
	.top-box03 .one.ex {
		margin-bottom: 0px !important;
	}
	.top-box03 .one-ex {
		display: block;
		margin: 0px !important;
	}
	.top-box03 .one-ex h3 {
		margin: 20px 20px 10px 20px;
		padding: 0px !important;
	}
	.top-box03 .one-ex p {
		margin-bottom: 20px;
	}
	.top-box03 .one-ex .caut {
		display:block;
		position: relative;
		border-bottom: #000 solid 1px;
		border-top: #000 solid 1px;
	}
	.top-box03 .one-ex .caut span {
		display: inline-block;
		position: absolute;
		left: 0px;
		top: -7px;
		font-size: 1.6rem;
		line-height: 1;
		background: #FFF;
		padding-right: 10px;
		font-weight:bold;
	}
	.top-box03 .one-ex .caut p {
		display: block;
		font-size: 1.45rem;
		line-height: 1.7;
		margin: 10px 0 15px 0;
		padding: 0px;
	}
}
/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) {
	.top-box03 {
		display: block;
		padding: 10px 0 0 0;
	}
	.top-box03 .col-3 {
		display: block;
		margin-bottom: 70px;
		margin-top: 10px;
	}
	.top-box03 img {
		width: 100%;
	}
	.top-box03 .imgs {
		display: block;
		position: relative;
	}
	.top-box03 .imgs .im-btxt {bottom: 0 !important;}
	.top-box03 .imgs figure {
		display: block;
	}
	.top-box03 .lo {
		display: block;
		position: absolute;
		left: 0px;
		top: 0px;
		z-index: 2;
		max-width: 153px;
	}
	.top-box03 h3 {
		line-height: 1;
		margin: 25px 0 20px 0;
	}
	.top-box03 .txt p {
		font-size: 1.3rem;
		line-height: 1.8;
		margin-bottom: 25px;
	}
	.top-box03 .one-ex {
		width: 65%;
		float: right;
	}
	.top-box03 .one-ex h3 {
		margin: 23px 0 25px 0;
	}
	.top-box03 .one-ex p {
		margin-bottom: 41px;
	}
	.top-box03 .one-ex .caut {
		display:block;
		position: relative;
		border-bottom: #000 solid 1px;
		border-top: #000 solid 1px;
	}
	.top-box03 .one-ex .caut span {
		display: inline-block;
		position: absolute;
		left: 0px;
		top: -7px;
		font-size: 1.3rem;
		line-height: 1;
		background: #FFF;
		padding-right: 10px;
	}
	.top-box03 .one-ex .caut p {
		display: block;
		font-size: 1.3rem;
		line-height: 1.7;
		margin: 20px 0 20px 0;
		padding: 0px;
	}
}
/* ========== end △ */


/* ==================================================
	TOP-INFO
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
	.top-info {
		display: block;
		position: relative;
		margin-top: 90px;
		padding: 60px 20px 0 20px;
	}
	.top-info::before {
		position: absolute;
		left: 0px;
		top: 0px;
		content: "";
		background: #EDCB55;
		width: 100%;
		height: 250px;
		z-index: -1;
	}
	.top-info h2 {
		margin-bottom: 50px;
	}
	.top-info .one {
		position: relative;
		margin-bottom: 35px;
	}
	.top-info .one .inners {
		padding-top: 15px;
		padding-left: 10px;
	}
	.top-info .one dl {
		display: block;
	}
	.top-info .one dt {
		position: absolute;
		left: 0px;
		top: 0px;
		background: #000;
		color: #FFF;
		font-size: 1.2rem;
		font-weight:lighter;
		line-height: 1;
		padding: 7px 20px 7px 20px;
		z-index: 2;
	}
	.top-info .one dt a {
		color: #FFF;
		text-decoration: none;
	}
	.top-info .one  dd {
		display: block;
		position: absolute;
		right: 0px;
		top: 0px;
		font-size: 1.2rem;
		line-height: 1;
	}
	.top-info .one figure {
		display: block;
		height: 200px;
		overflow: hidden;
	}
	.top-info .one img {
		width: 100%;
	}
	.top-info .one h3 {
		display: block;
		font-size: 1.8rem;
		line-height: 1.4;
		padding-top: 10px;
		letter-spacing: 1px;
	}
}
/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) {
	.top-info {
		display: block;
		position: relative;
		margin-top: 180px;
		padding: 100px 0 0 0;
	}
	.top-info::before {
		position: absolute;
		left: 0px;
		top: 0px;
		content: "";
		background: #EDCB55;
		width: 100%;
		height: 300px;
		z-index: -1;
	}
	.top-info h2 {
		margin-bottom: 80px;
	}
	.top-info .one {
		position: relative;
	}
	.top-info .one .inners {
		padding-top: 15px;
		padding-left: 10px;
	}
	.top-info .one dl {
		display: block;
	}
	.top-info .one dt {
		position: absolute;
		left: 0px;
		top: 0px;
		background: #000;
		color: #FFF;
		font-size: 1.2rem;
		font-weight:lighter;
		line-height: 1;
		padding: 3px 20px 5px 20px;
		z-index: 2;
	}
	.top-info .one dt a {
		color: #FFF;
		text-decoration: none;
	}
	.top-info .one  dd {
		display: block;
		position: absolute;
		right: 0px;
		top: 0px;
		font-size: 1.1rem;
		line-height: 1;
	}
	.top-info .one figure {
		display: block;
		height: 210px;
	}
	.top-info .one img {
		max-width: 100%;
	}
	.top-info .one h3 {
		display: block;
		font-size: 1.4rem;
		line-height: 1.4;
		padding-top: 10px;
		letter-spacing: 1px;
	}
}
@media print, screen and (min-width: 768px) and (max-width: 1000px) {
	.top-info .one figure {
		display: block;
		overflow: hidden;
	}
	.top-info .one img {
		width: 100%;
	}
}
/* ========== end △ */



/* ==================================================
	TOP-ABOUT
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
	.top-about {
		display: block;
		margin: 95px 20px 0 20px;
		position: relative;
	}
	.top-about .fix-1000 {
		position: relative;
	}
	.top-about h2 {
		margin-bottom: 30px;
	}
	.top-about .inner {
		display: block;
	}
	.top-about table {
		line-height: 1.5;
		font-size: 1.4rem;
	}
	.top-about th {
		text-align: left;
		vertical-align: top;
		font-family: 'Noto Serif JP', serif;
		font-weight: normal;
		letter-spacing: 1.1px;
		width: 80px;
		padding-bottom: 10px;
		color: #000;
	}
	.top-about td {
		text-align: left;
		vertical-align: top;
		font-weight: normal;
		letter-spacing: 1.1px;
		padding-bottom: 10px;
	}
	.top-about figure {
		position: relative;
		margin-left: -20px;
		margin-right: -20px;
		margin-top: 10px;
	}
	.top-about figure img {
		width: 100%;
	}
}
/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) {
	.top-about {
		display: block;
		margin: 180px 0 0 0;
		position: relative;
	}
	.top-about .fix-1000 {
		position: relative;
		padding-bottom: 25px;
	}
	.top-about .fix-1000::before {
		position: absolute;
		right: 0;
		top: 0;
		content: "";
		background: url(../images/company-img_pc.png) right top no-repeat;
		background-size: cover;
		height: 100%;
		width: 31%;
	}
	.top-about h2 {
		margin-bottom: 70px;
	}
	.top-about .inner {
		display: block;
	}
	.top-about table {
		width: 645px;
		line-height: 1.5;
		font-size: 1.3rem;
	}
	.top-about th {
		text-align: left;
		vertical-align: top;
		font-family: 'Noto Serif JP', serif;
		font-weight: normal;
		letter-spacing: 1px;
		width: 125px;
		padding-bottom: 25px;
		color: #000;
	}
	.top-about td {
		text-align: left;
		vertical-align: top;
		font-weight: normal;
		letter-spacing: 1px;
		padding-bottom: 25px;
	}
}
@media print, screen and (min-width: 768px) and (max-width: 1100px) {
	.top-about table {
		width: 64.5%;
		line-height: 1.5;
		font-size: 1.3rem;
	}
}
/* ========== end △ */


/* ==================================================
	TOP-YAKUIN
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
	.top-yakuin {
		display: block;
		margin: 120px 0 0 0;
		position: relative;
		padding: 60px 20px 0 20px;
	}
	.top-yakuin::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		width: 100%;
		height: 240px;
		background: #000;
		z-index: -1;
	}
	.top-yakuin h2 {
		color: #FFF;
		margin-bottom: 40px;
	}
	.top-yakuin .inner {
		display: block;
		padding-left: 10px;
		padding-right: 10px;
		position: relative;
	}
	.top-yakuin figure {
		display: block;
		padding-top: 50px;
		margin-bottom: 15px;
	}
	.top-yakuin img {
		width: 100%;
	}
	.top-yakuin .yaku {
		position: absolute;
		top: -4px;
		right: 10px;
		color: #FFF;
		line-height: 1;
		font-size: 1.6rem;
	}
	.top-yakuin h3 {
		position: absolute;
		top: 11px;
		right: 10px;
		color: #FFF;
		letter-spacing: 1px;
		line-height: 1.4;
		font-size: 2.3rem;
	}
	.top-yakuin p {
		line-height: 2;
		font-size: 1.6rem;
		margin-bottom: 20px;
		color: #535353;
	}
	.top-yakuin .list {
		display: block;
		border-top: #CECECE solid 1px;
		/* margin-left: 10px; */
		/* margin-right: 10px; */
		margin-top: 10px;
		padding: 15px 0 0 0;
		text-align: left !important;
	}
	.top-yakuin .list li:nth-child(1) {
		display: block;
		text-align: left !important;
	}
	.top-yakuin .list li {
		display:block;
		font-size: 1.5rem;
		line-height: 1;
		border-left: #CECECE solid 1px;
		padding-left:12px;
		padding-right: 12px;
		margin-bottom: 26px;
		text-align: left !important;
	}
	.top-yakuin .list li::after {
		content: "";
		display: block;
		height: 1px;
		width: 100%;
	}
	.top-yakuin .list li:nth-child(1) {
		padding-left: 0px;
		margin-left: 0px;
		border-left: 0px;
	}
	.top-yakuin .list li:nth-child(2) {
		padding-left: 0px;
		margin-left: 0px;
		border-left: 0px;
	}
	.top-yakuin .list li a {
		color: #000;
		text-decoration:none;
	}
	.top-yakuin .list li.cul {
	}
	.top-yakuin .list li.cul span {
		font-size: 1.4rem;
		padding: 2px 0 0 0;
		margin-right: 4px;
		display: block;
		float: left;
	}
	.top-yakuin .list li.cul span.mw1 {
		width: 20%;
	}
	.top-yakuin .list li dl {
		display: block;
		float: left;
	}
	.top-yakuin .list li dl.mw1 {
		width: 77%;
		margin-left: 1%;
	}
	.top-yakuin .list li dl dd {
		display: block;
		float: left;
		border-left: #CECECE solid 1px;
		padding-left: 8px;
		padding-right: 8px;
		margin-top: 2px;
		line-height: 1;
	}
	.top-yakuin .list li dl.mw1 dd {
		margin-bottom: 9px;
	}
	.top-yakuin .list li dl dd.tpl {
		padding-left: 0px;
		border-left: 0px;
	}
	.top-yakuin .list li dl dd.tpr {
		padding-right: 30px;
		margin-right: 26px;
	}
}
/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) {
	.top-yakuin {
		display: block;
		margin: 195px 0 0 0;
		position: relative;
		padding: 100px 0 0 0;
	}
	.top-yakuin::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		width: 100%;
		height: 340px;
		background: #000;
		z-index: -1;
	}
	.top-yakuin h2 {
		color: #FFF;
		margin-bottom: 80px;
	}
	.top-yakuin .inner {
		display: block;
	}
	.top-yakuin figure {
		display: block;
		float: left;
		width: 40.3%;
		margin-right: 6%;
		margin-bottom: 30px;
	}
	.top-yakuin img {
		width: 100%;
	}
	.top-yakuin .yaku {
		color: #FFF;
		line-height: 1;
		font-size: 1.4rem;
	}
	.top-yakuin h3 {
		color: #FFF;
		line-height: 1.4;
		margin-top: 20px;
		margin-bottom: 80px;
		font-size: 2.2rem;
	}
	.top-yakuin p {
		line-height: 2.2;
		font-size: 1.3rem;
		margin-bottom: 40px;
		color: #535353;
	}
	.top-yakuin .list {
		display: block;
		border-top: #CECECE solid 1px;
		padding: 15px 0 0 0
	}
	.top-yakuin .list li {
		display: block;
		float: left;
		font-size: 1.5rem;
		line-height: 1;
		margin-bottom: 1em;
	}
	.top-yakuin .list li:nth-child(1) {
		padding-left: 0px;
		margin-left: 0px;
		border-left: 0px;
	}
	.top-yakuin .list li a {
		color: #000;
		text-decoration:none;
	}
	.top-yakuin .list li.cul span {
		font-size: 1.3rem;
		padding: 2px 0 0 0;
		margin-right: 34px;
		display: block;
		float: left;
		width: 100px;
	}
	.top-yakuin .list li dl {
		display: block;
		float: left;
	}
	.top-yakuin .list li dl dd {
		display: block;
		float: left;
		border-left: #CECECE solid 1px;
		padding-left: 34px;
		padding-right: 34px;
		line-height: 1;
	}
	.top-yakuin .list li dl dd.tpl {
		padding-left: 0px;
		border-left: 0px;
	}
	.top-yakuin .list li dl dd.tpr {
		margin-right: 26px;
	}
}
@media print, screen and (min-width: 768px) and (max-width: 1100px) {
	.top-yakuin .list li {
		display: block;
		margin-bottom: 15px;
	}
}
/* ========== end △ */


/* ==================================================
	TOP-REC
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
	.top-rec {
		display: block;
		margin-top: 120px;
		background: #EDCB55;
		position: relative;
	}
	.top-rec .inner {
		display: block;
		padding: 50px 20px 50px 20px;
	}
	.top-rec h2 {
		margin-bottom: 30px;
	}
	.top-rec figure {
		display: block;
		position: relative;
		margin-left: -20px;
		margin-right: -20px;
		margin-bottom: 10px;
	}
	.top-rec figure img {
		width: 100%;
	}
	.top-rec p {
		color: #000;
		font-size: 1.7rem;
		font-weight: normal;
		line-height: 1.7;
		margin-bottom: 15px;
	}
	.top-rec .btn_style {
		display: block;
	}
}
/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) {
	.top-rec {
		display: block;
		margin-top: 230px;
		background: #EDCB55;
		height: 260px;
		position: relative;
	}
	.top-rec::before {
		position: absolute;
		right: 0px;
		top: 0px;
		content: "";
		width: 50%;
		height: 100%;
		background: url(../images/top-recruit-img_pc.jpg) left top no-repeat;
		background-size: cover;
	}
	.top-rec .inner {
		display: block;
		width: 51.5%;
		padding: 45px 0 0 0;
	}
	.top-rec h2 {
		font-size: 3rem;
		letter-spacing: 2px;
		margin-bottom: 20px;
	}
	.top-rec h2 small {
		font-size: 1.6rem;
	}
	.top-rec p {
		width: 91.26%;
		color: #000;
		font-weight: normal;
		line-height: 1.7;
		margin-bottom: 30px;
	}
	.top-rec .btn_style {
		display: inline-block;
	}
	.top-rec .btn_style a {
		padding-left: 117px;
		padding-right: 117px;
	}
}
/* ========== end △ */


/* ==================================================
	TOP-BNR
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
	.bottom-bnr {
		display: block;
		padding: 80px 30px 90px 30px;
	}
	.bottom-bnr figure {
		margin-bottom: 30px
	}
	.bottom-bnr img {
		width: 100%;
	}
	.bottom-bnr img:hover {
		opacity: 0.8;
	}
}
/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) {
	.bottom-bnr {
		display: block;
		padding: 80px 0 90px 0;
	}
	.bottom-bnr img {
		width: 100%;
	}
	.bottom-bnr img:hover {
		opacity: 0.8;
	}
}
/* ========== end △ */



/* ==================================================
	アニメーション制御
================================================== */
/*.an-wrap {
	position:fixed;
	width: 100vw;
	height: 100vh;
	z-index: 2000;
	background: #FFF;
	overflow: hidden;
}
#animation_container {
	background-color:rgba(255, 255, 255, 1.00);
	width:300px;
	height:230px
}
#canvas {
	position: absolute;
	display: block;
	background-color:rgba(255, 255, 255, 1.00);
}
#dom_overlay_container {
	pointer-events:none;
	overflow:hidden;
	width:300px;
	height:230px;
	position: absolute;
	left: 0px;
	top: 0px;
	display: block;
}
#wrapper.hind-max {
	display: none !important;
	z-index: -1;
}
#wrapper.hind-on {
	display:block !important;
	z-index: 1;
}*/
/* ========== end △ */



