@charset "UTF-8";

/*----------------------------------------------------
Loading
-----------------------------------------------------*/

/* Loading背景画面設定　*/
#splash {
    /*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background:#dd6a08;
  text-align:center;
  color:#fff;
}

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo img {
  width:70px;
}

/*----------------------------------------------------
mainv
-----------------------------------------------------*/


.mainv {
	width: 100%;
	height: 80vh;
}

.video-wrap {
	position: relative;
	width: 100%;
	height: 80vh;
	overflow: hidden;
}

.video-wrap video {
    /*天地中央配置*/
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}

.video-wrap .mainv-txt {
	width: 70vw;
	max-width: 700px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}



/*----------------------------------------------------
concept
-----------------------------------------------------*/

.concept {
	position: relative;
}

.concept-img-01,
.concept-shade-01 {
	top: 0;
	right: 0;
}
.concept-shade-01 {
	background: #fff;
	width: 100vw;
	height: 66.7vw;
	position: absolute;
}

.concept-ttl-01 {
	margin: 45px 0;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.5em;
}

.concept-ttl-01 img {
	height: 45px;
	margin: 0 5px 10px 5px;
}

@media (min-width:900px) {
	.concept {
		height: calc(40vw + 100px);
	}

	.concept-img-01,
	.concept-shade-01{
		width: 54vw;
		height: 36vw;
		position: absolute;
	}

	.concept-ttl-01 {
		margin: 0;
		width: 100%;
		height: 40vw;
		display: flex;
		align-items: center;
		font-size: 20px;
		line-height: 1.6em;
	}

	.concept-ttl-01 img {
		height: 54px;
		width: auto;
	}
}

@media (min-width:1150px){
	.concept-ttl-01 img {
		height: 78px;
		width: auto;
	}
	.concept-ttl-01 {
		font-size: 28px;
	}
}

/*----------------------------------------------------
vision
-----------------------------------------------------*/

.vision-img-01 {
	display: none;
}

.vision {
	background: url("../img/vision-img-01.png") no-repeat center center #f7f7f7;
	background-size: auto 90%;
}

.vision-txt-01 {
	padding: 60px 0;
}

@media (min-width:900px) {
	.vision {
		background:#f7f7f7;
	}
	.vision .inner {
		position: relative;
	}
	.vision-txt-01 {
		min-height: 40vw;
		padding-top: 100px;
		padding: 60px 0 170px 60px;
		z-index: +1;
		position: relative;
	}
	
	.vision-img-01	{
		display: block;
		position: absolute;
		top: -2%;
		bottom: -2%;
		right: 0;
	} 

}

/*----------------------------------------------------
SERVICE
-----------------------------------------------------*/

.service {
	background:url("../img/service-bg.jpg") no-repeat;
	background-size: cover;
}

.service-list-01 {
	margin-top: 15px;
}

.service-list-01 li {
	margin-top: 15px;
	border: 2px solid #000;
	background: #fff;
	padding: 15px;
}

.service-list-01 dt {
	font-size: 125%;
	padding-bottom: 10px;
}



@media (min-width:900px) {
	.service-list-01 li {
		display: inline-block;
		width: calc(50% - 20px);
		padding: 20px 15px 20px 30px;
		margin-left: 20px;
		vertical-align: top;
	}
	.service-list-01 li:nth-child(odd) {
		margin-left: 0;
	}
}

/*----------------------------------------------------
ABOUT
-----------------------------------------------------*/
.table-01 {
	width: 100%;
	border-top: 1px solid #ddd;
	text-align: left;
}

.table-01 th,
.table-01 td{
	border-bottom: 1px solid #ddd;
	padding: 15px 0;
	font-weight: normal;
}

@media (max-width:899.9px) {
	.table-01 th {
		width: 5em;
	}
}

.about-box-01 {
	position: relative;
}

.about-sec-01 {
	padding: 0 0 40px 0;
}

.about-sec-01:first-child {
	padding: 30px 0 40px;
}

.about-ttl-01 {
	text-align: center;
	letter-spacing: 0.25em;
	padding: 10px 0 20px;
}

@media (max-width:899.9px) {
	.about .w-max.bg-white {
		background: none!important;
		padding-left: 15px;
		padding-right: 15px;
	}
}

.about-img-01 {
	text-align: center;
	padding-bottom: 30px;
}

.about-img-01 img {
	width: 60%;
}

.about-yurai-txt-02 img {
	max-width: 200px;
}
.about-yurai-txt-01 br {
	display: none;
}

.link-ext {
	text-decoration: underline !important;
}

@media (min-width:900px) {
	.about-bg-01 {
		position: absolute;
		left: 0;
		top: 0;
		width: 50%;
		height: 100%;
		background: #fff;
	}
	.about-sec-01 {
		padding: 0 0 100px 0;
		/*display: flex;*/
	}
	
	.about-ttl-01 {
		padding: 0 0 35px 0;
	}

	.about-sec-01:first-child {
		padding: 90px 0;
	}
	
	.about-yurai-txt-01 {
		text-align: center;
		font-size: 18px;
		line-height: 1.8em;
	}
	.about-yurai-txt-01 br {
		display: block;
	}
}

/*----------------------------------------------------
RECRUIT
-----------------------------------------------------*/

.recruit {
	position: relative;
	background: url("../img/recruit-bg.png") no-repeat right top  #f7f7f7;
	background-size: auto 100%;
}

.recruit-box-01 {
	position: relative;
}

.recruit-img-01,
.recruit-shade-01 {
	top: 0;
	right: 0;
}
.recruit-shade-01 {
	background: #f7f7f7;
	width: 100vw;
	height: 100vw;
	position: absolute;
}

.recruit-txt-01 {
	padding-top: 30px;
}

.recruit-ttl-01 {

}

.btn-01 {
	display: inline-block;
	color: #fff !important;
	background: #000;
	text-align: center;
	width: 200px;
	line-height: 44px;
	border-radius: 4px;
	position: relative;
	padding-right: 1em;
	position: relative;
}

/*
.btn-01 span:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #333;
	border-radius: 4px;
	z-index: -1;
}

.btn-01:hover span:before {
	animation-name:bgLRextendAnime;
	animation-duration:.4s;
	animation-fill-mode:forwards;
	content: "";
}
*/
.btn-01:after{
	content: "";
	width: 0.8em;
	height: 0.8em;
	background: url("../img/btn-01-icn.svg") no-repeat center center;
	background-size: contain;
	top: calc(50% - 0.4em);
	right: 1em;
	position: absolute;
	display: inline-block;
}
.btn-01:hover {
	text-decoration: none;
}

.recruit-list-01 li {
	display: inline-block;
	padding: 0 5px;
}

@media (min-width:900px) {
	.recruit-box-01 {
		height: 44vw;
	}

	.recruit-img-01,
	.recruit-shade-01{
		width: 44vw;
		height: 44vw;
		position: absolute;
	}

	.recruit-txt-01 {
		padding: 0;
		width: 50%;
	}
	
	.mt-sp-10 {
		margin-top: 0;
	}

}


/*----------------------------------------------------
お問い合わせ
-----------------------------------------------------*/


.contact {
	background: #666;
}

.contact .mds-01, .contact .mds-02, .contact p, .contact dt, .contact dd {
	color: #fff !important;
}

.contact .mds-01 .cls-1 {
	fill:#fff;
}

.contact .mds-01 .cls-2 {
	stroke:#fff;
}

@media (min-width:900px) {
	.main.contact {
		padding-top: 125px;
	}
}

.contact-01 {
	border: 1px solid #ddd;
	padding: 2em;
	height: 150px;
	overflow-y: scroll;
}

.contact-list li {
	padding: 1em 0.5em;
	text-align: left;
	line-height: 1.8em;
}

.contact-list dt {
	width: 100%;
	padding-bottom: 0.3em;
	position: relative;
}

.contact-list dt span {
	position: absolute;
	top: 0.3em;
	right: 0;
	font-size: 0.7em;
	border: 1px solid #ddd;
	color: #fff;
	padding: 0.1em 0.3em;
	width: 3em;
	display: inline-block;
	line-height: 1.4em;
	font-weight: bold;
	text-align: center;
}

.contact-list dt span.hissu {
	background: #fff;
	color: #000;
	border: none;
}

.contact-input-01 {
	border: none;
	background: #e0e0e0;
	padding: 0.3em 0.5em;
	width: 100%;
}

select {
	padding: 0.5em;
	border: 1px solid #ccc;
}
.contact-link-01 {
	color: #fff !important;
	text-decoration: underline !important;
}

.contact-btn {
	width: 270px;
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	padding: 10px 0;
	text-align: cener;
	background: #fff;
	color: #000;
	border: none;
	font-size: 105%;
	text-decoration: none !important;
	font-weight: bold;
	border-radius: 5px;
}

input, select, textarea {
	font-size: 14px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: 400;
}

.att-01 dd {
	padding-left: 1.5em;
	margin-top: -1.7em;
}

.contact-error {
	color: #ffbb00;
	margin-bottom: 20px;
}

.contact-error-li {
	color: #ffbb00;
}

.contact-error-li:before {
	content: "・";
}

@media (min-width:900px) {
	.contact-01 {
		height: 180px;
	}
	
	.contact-list dt {
		width: 12em;
		padding-bottom: 0;
	}
	.contact-list dd {
		margin-top: -2em;
		padding-left: 13em
	}
	
	input, select, textarea {
		font-size: 17px;
	}
}

/*確認*/

.confirm-form {
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.confirm-form .contact-btn {
	width: 150px;
}

.confirm-form:first-child .contact-btn {
	margin-right: 5px;
}

@media (min-width:900px) {
	.confirm-form .contact-btn {
		width: 220px;
	}
	
	.confirm-form:first-child .contact-btn {
		margin-right: 20px;
	}
}


/*コンセプト*/

.concept-dl + .concept-dl {
	margin-top: 25px;
}

.concept-dl dd {
	font-size: 25px;
	line-height: 1.3;
	padding-top: 2px;
	font-family: kozuka-gothic-pr6n, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
.concept-dl dd span {
	display: inline-block;
}
.concept-dl dt {
	font-size: 14px;
	color: #888888;
	font-family: myriad-pro, sans-serif;
	font-weight: 400;
	font-style: normal;
}
.concept-dl dt span {
	padding-right: 15px;
	font-size: 22px;
	color: #000;
	font-weight: 600;
	display: block;
}

@media (min-width:900px) {
	.concept-dl {
		margin-left: 100px;
	}
	.concept-dl:first-child {
		margin-top: 90px;
	}
	.concept-dl + .concept-dl {
		margin-top: 45px;
	}	
	.concept-dl dd {
		font-size: 32px;
		padding-top: 12px;
	}

	.concept-dl dt {
		font-size: 18px;
	}
	.concept-dl dt span {
		padding-right: 20px;
		font-size: 22px;
		display: inline-block;
	}

}