
/***********************************************************************************************************************

home.css

***********************************************************************************************************************/

.home{
}
.sec_news{
	padding: 5% 0 0;
}
.sec_news .btn_txt_more{
	margin-top: 20px;
}

.sec_bg{
	position: relative;
	width: calc(100vw - 5%);
	margin: 8% auto 10%;
	background: #f2f2f2 url("../img/bg_gara.svg") top center repeat;
	background-size: 280px 280px;
}
.features_wrap{
	margin: 8% 0 0;
	padding: 8% 0;
	background: #ff6600 url("../img/bg_features.svg") center center no-repeat;
	background-size: cover;
}
.features_wrap .btn_txt_contents{
	text-align: center;
}

.service_wrap{
	margin: 8% 0 15%;
}

.sec_base{
	padding: 0 0;
	background-color: #ff6600;
}

@media screen and (max-width: 767px) {
.sec_news{
	padding: 8% 0 0;
}
.sec_bg{
	margin: 12% auto 10%;
	background-size: 140px 140px;
}
.features_wrap{
	margin: 12% 0 0;
	padding: 12% 0;
}
.service_wrap{
	margin: 12% 0 20%;
}
}


/**********************************
slick
**********************************/
h2.slide_txt{
	position: absolute;
	width: 50%;
	font-size: 1.6em;
	font-size: 16px;
	color: #fff;
}
h2.slide_txt.txt_left{
	top: 18%;
	left: 2%;
}
h2.slide_txt.txt_right{
	text-align: right;
	top: 30%;
	right: 2%;
}

h2.slide_txt img{
	max-width: 680px;
	margin-top: -2%;
}
h2.slide_txt.txt_right img{
	margin-left: auto;
}

.slick-slide .s-fade-txt span{
	position: relative;
}
.slick-slide .s-fade-txt{
	 opacity: 0;
}

.slick-active .s-fade-txt{
  animation: FadeAni .5s ease 1s 1 normal both;
}
.slick-active .s-fade-txt02{
  animation: FadeAni 1s ease 1s 1 normal both;
}
.slick-active .s-fade-txt03{
  animation: FadeAni 1.5s ease 1s 1 normal both;
}

.slick-active .s-fade-txt_reverse{
  animation: FadeAni_reverse .5s ease 1s 1 normal both;
}
.slick-active .s-fade-txt02_reverse{
  animation: FadeAni_reverse 1s ease 1s 1 normal both;
}
.slick-active .s-fade-txt03_reverse{
  animation: FadeAni_reverse 1.5s ease 1s 1 normal both;
}

@keyframes FadeAni{
  0% { opacity: 0; transform: translateX(100px);}
  100% { opacity: 1; transform: translateX(0);}
}

@keyframes FadeAni_reverse {
  0% { opacity: 0; transform: translateX(-100px);}
  100% { opacity: 1; transform: translateX(0);}
}


@media screen and (max-width: 767px) {
h2.slide_txt.txt_left{
	top: 13%;
}
h2.slide_txt.txt_right{
	top: 22%;
}
h2.slide_txt{
	width: 65%;
}
}




/*** slide_btn **********************************/
.slide_btn{
	position: absolute;
	top: 48%;
	left: 3%;
}
.slide_btn_reverse{
	position: absolute;
	top: 60%;
	right: 3%;
}
.slide_btn a,
.slide_btn_reverse a{
	display: block;	
	width: 300px;
	height: 70px;
	line-height: 70px;
	background: rgba(0,0,0,0.8) url("../shareobject/img/btn_arrow_orange.svg") 93% center no-repeat;
	background-size: 25px auto;
}
.slide_btn a:hover,
.slide_btn_reverse a:hover{
	background: rgba(0,0,0,1) url("../shareobject/img/btn_arrow_fff.svg") 98% center no-repeat;
	background-size: 25px auto;
}
.slide_btn img,
.slide_btn_reverse img{
	width: 100%;
	max-width: 240px;
	height: auto;
}

.slick-slide .s-fade-btn{
  opacity: 0;
}
.slick-active .s-fade-btn {
  animation: FadeBtn 1.5s ease 2s 1 normal both;
}



@keyframes FadeBtn {
  0% { opacity: 0;}
  100% { opacity: 1;}
}


@media screen and (max-width: 767px) {
.slide_btn{
	top: 58%;
}
.slide_btn_reverse{
	top: 67%;
}
.slide_btn a,
.slide_btn_reverse a{
	width: 160px;
	height: 35px;
	line-height: 35px;
	background-size: 15px auto;
}
.slide_btn a:hover,
.slide_btn_reverse a:hover{
	background-size: 15px auto;
}
.slide_btn img,
.slide_btn_reverse img{
	width: 120px;
	max-width: 120px;
	height: 35px;
}
}



/**********************************
h1〜
**********************************/
.h1_nr_wrap{
	max-height: 320px;
	margin-bottom: 2em;
	vertical-align: top;
}

h1.h1_nr{
	width: 100%;
	max-width: 550px;
	margin: 0 auto;
	padding: 58.1818181818182% 0 0;
	text-indent: -99999px;
	background: url("../img/h1/h1_nr.svg") top center no-repeat;
	background-size: contain;
}
h3.h3_news{
	font-size: 1.4rem;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 1em;
}
h3.h3_news .en{
	display: block;
	font-family: 'Aldrich', sans-serif;
	font-weight: 400;
	font-size: 4.0rem;
	font-size: 40px;
	color: #ff6600;
}
h3.h3_base{
	font-size: 3.2rem;
	font-size: 32px;
	font-weight: 600;
	color: #fff;
	margin-bottom: 0.6em;
}

h4.h4_si{
	text-indent: -99999px;
	height: 50px;
	background: url("../img/h4/h4_si.svg") top center no-repeat;
	background-size: 820px 50px;
}

h4.h4_features{
	font-size: 2.4rem;
	font-size: 24px;
	font-weight: 600;
	text-align: center;
	color: #fff;
}
h4.h4_features .big{
	font-size: 150%;
}
h4.h4_features .en{
	display: block;
	font-family: 'Aldrich', sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	font-size: 16px;
	margin: 10px 0 0;
}

h6.h6_merit{
	font-size: 1.8rem;
	font-size: 18px;
	font-weight: 600;
	color: #ff6600;
	text-align: center;
	padding: 0 5px;
}
.list_features li h6.h6_features{
	font-size: 1.8rem;
	font-size: 18px;
	font-weight: 600;
	color: #000;
	text-align: center;
	padding: 0 5px;
	transition: all .3s linear;
}
.list_features li:hover h6.h6_features{
	transition: all .3s linear;
	color: #fff;
}

.list_service h6{
	font-size: 2.0rem;
	font-size: 20px;
	color: #fff;
	text-align: center;
	padding: 10px 5px;
	margin-bottom: 10px;
	background-color: #000;
}
.list_service p{
	font-size: 1.4rem;
	font-size: 14px;
}


.sec_base p{
	color: #fff;
}
p.align_c_l{
	text-align: center;
}

@media screen and (max-width: 979px) {
h4.h4_si{
	height: 40px;
	background-size: 656px 40px;
}
}

@media screen and (max-width: 767px) {
.h1_nr_wrap{
	margin-bottom: 0;
}
h3.h3_news{
	font-size: 1.2rem;
	font-size: 12px;
}
h3.h3_news .en{
	font-size: 3.0rem;
	font-size: 30px;
}
h3.h3_base{
	font-size: 2.2rem;
	font-size: 22px;
}
h4.h4_si{
	height: 55px;
	background: url("../img/h4/h4_si_SP.svg") top center no-repeat;
	background-size: 300px 55px;
}
h4.h4_features{
	font-size: 1.4rem;
	font-size: 14px;
}
h4.h4_features .en{
	font-size: 1.2rem;
	font-size: 12px;
	margin: 5px 0 0;
}

h6.h6_merit{
	font-size: 1.6rem;
	font-size: 16px;
}
.list_features li h6.h6_features{
	font-size: 1.6rem;
	font-size: 16px;
}
.list_service h6{
	font-size: 1.6rem;
	font-size: 16px;
}
.sec_base p .resp_autowrap{
	display: inline;
}
p.align_c_l{
	text-align: justify;;
}
}
	

/* btn_txt_contents ***************************************/
.btn_txt_contents{
	margin: 20px 0 0;
}
.btn_txt_contents a{
	display: inline-block;
	font-family: 'Aldrich', sans-serif;
	font-weight: 400;
	font-size: 1.8rem;
	font-size: 18px;
	text-align: center;
	color: #ff6600;
	border: 1px solid #ff6600;
	width: 250px;
	padding: 20px 0 15px;
	background: #fff url("../shareobject/img/btn_arrow_orange.svg") 92% center no-repeat;
	background-size: 25px auto;
}
.btn_txt_contents a:hover{
	color: #fff;
	background: #000 url("../shareobject/img/btn_arrow_fff.svg") 97% center no-repeat;
	background-size: 25px auto;
}

@media screen and (max-width: 767px) {
.btn_txt_contents a{
	font-size: 1.4rem;
	font-size: 14px;
	width: 100%;
	padding: 20px 0 15px;
	background: #fff url("../shareobject/img/btn_arrow_orange.svg") 92% center no-repeat;
	background-size: 25px auto;
}
}


/**********************************
sec_bg
**********************************/
.bg_waku {

}
.bg_waku img{
	width: 128px;
	height: auto;
}
.bg_waku .topL,
.bg_waku .topR,
.bg_waku .btmL,
.bg_waku .btmR{
	position: absolute;
	width: 128px;
}
.bg_waku .topL{ top: -8px; left: -8px;}
.bg_waku .topR{ top: -8px; right: -8px;}
.bg_waku .btmL{ bottom: -8px; left: -8px;}
.bg_waku .btmR{ bottom: -8px; right: -8px;}


@media screen and (max-width: 767px) {
.bg_waku img{
	width: 64px;
}
.bg_waku .topL,
.bg_waku .topR,
.bg_waku .btmL,
.bg_waku .btmR{
	width: 64px;
}
.bg_waku .topL{ top: -4px; left: -4px;}
.bg_waku .topR{ top: -4px; right: -4px;}
.bg_waku .btmL{ bottom: -4px; left: -4px;}
.bg_waku .btmR{ bottom: -4px; right: -4px;}
}



/*** si_wrap **********************************/
.si_wrap{
	text-align: center;
	padding: 80px 0 0;
}

@media screen and (max-width: 767px) {
.si_wrap{
	padding: 30px 0 0;
}
}

/*** list_si **********************************/
.list_si{
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
	margin: 30px 0 0;
}
.list_si li{
	width: 30%;
	font-size: 1.6rem;
	font-size: 16px;
	font-weight: 600;
	text-align: center;
}
.list_si li img{
	display: block;
	width: 100%;
	max-width: 280px;
	height: auto;
	margin: 0 auto;
}

@media screen and (max-width: 979px) {
.list_si li{
	font-size: 1.4rem;
	font-size: 14px;
}
}

@media screen and (max-width: 767px) {
.list_si{
	margin: 20px 0 0;
}
.list_si li{
	font-size: 1.0rem;
	font-size: 10px;
}
}



/*** nr_wrap **********************************/
.nr_wrap{
	margin: 8% 0 0;
}


/*** list_merit **********************************/
.list_merit{
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
	margin: 30px 0 0;
}
.list_merit li{
	width: 23.75%;
	padding: 5px 0 25px;
	background-color: #fff;
	box-shadow: 5px 5px 0 rgba(0,0,0,0.2);
}
.list_merit i{
	display: block;
	text-align: right;
	margin-bottom: 20px;
	font-family: 'Aldrich', sans-serif;
	font-weight: 400;
	font-size: 1.4rem;
	font-size: 14px;
	height: 30px;
	line-height: 42px;
	color: #999;
	padding: 0 35px 0 0;
	background: url("../img/icon_merit.svg") right 0 no-repeat;
	background-size: 32px 30px;
}


@media screen and (max-width: 1100px) {
.list_merit li{
	width: 48%;
	margin: 0 0 4%;
}
}

@media screen and (max-width: 767px) {
.list_merit{
	margin: 20px 0 0;
}
.list_merit i{
	margin-bottom: 15px;
	font-size: 1.2rem;
	font-size: 12px;
	height: 20px;
	line-height: 30px;
	padding: 0 24px 0 0;
	background-size: 21px 20px;
}
}

@media screen and (max-width: 640px) {
.list_merit li{
	width: 100%;
}
}




/*** list_features **********************************/
.list_features{
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
	margin: 50px 0 70px;
}
.list_features li{
	position: relative;
	transition: all .3s linear;
	width: 23.75%;
	padding: 10px 0 15px;
	background-color: #fff;
	box-shadow: 5px 5px 0 rgba(0,0,0,0.2);
	border-radius: 6px;
}
.list_features li:hover{
	transition: all .3s linear;
	background-color: #000;
}
.list_features li a{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.list_features i{
	display: block;
	margin: 0 auto 15px;
	width: 90px;
	padding: 0;
}
.list_features i img{
	width: 90px;
	height: auto;
}
.list_features .txt_more{
	transition: all .3s linear;
	font-family: 'Aldrich', sans-serif;
	font-weight: 400;
	font-size: 1.4rem;
	font-size: 14px;
	color: #ff6600;
	text-align: right;
	margin: 20px 0 0;
	padding: 0 60px 0 0;
	background: url("../shareobject/img/btn_arrow_orange.svg") 90% 0 no-repeat;
	background-size: 25px auto;
}

.list_features li:hover .txt_more{
	transition: all .3s linear;
	padding: 0 50px 0 0;
	background-position: 95% 0;
}


@media screen and (max-width: 1100px) {
.list_features li{
	width: 48%;
	margin: 0 0 4%;
}
}

@media screen and (max-width: 767px) {
.list_features{
	margin: 20px 0 0;
}
.list_features i{
	width: 60px;
	margin-bottom: 10px;
}
}

@media screen and (max-width: 640px) {
.list_features li{
	width: 100%;
}
}


/*** list_service **********************************/
.list_service{
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
}

.list_service li{
	width: 23.333333%;
	margin: 0 0 70px;
}
.list_service li.sv05{
	position: relative;
	width: 42.5%;
	margin: 0;
}
.list_service li.sv05 img{
	position: absolute;
	width: 510px;
	height: auto;
}

.list_service li .sv_inner{
}

.list_service li i{
	position: relative;
	z-index: 1;
	display: block;
	text-align: center;
	font-family: 'Aldrich', sans-serif;
	font-weight: 400;
	font-size: 1.3rem;
	font-size: 13px;
	color: #fff;
	margin-bottom: 3px;
}
.list_service li i:after{
	position: absolute;
	z-index: -1;
	top: 0;
	left: 50%;
	content: "";
	width: 30px;
	height: 30px;
	margin: -10px 0 0 -15px;
	background-color: #ff6600;
	transform:rotate(45deg);
}

.list_service li.sv01{ order: 3;}
.list_service li.sv02{ order: 5;}
.list_service li.sv03{ order: 4;}
.list_service li.sv04{ order: 1;}
.list_service li.sv05{ order: 2;}


@media screen and (max-width: 1100px) {
.list_service li{
	width: 48%;
	margin-bottom: 60px;
}
.list_service li.sv05{
	width: 80%;
	margin: 0 auto 70px;
	text-align: center;
}
.list_service li.sv05 img{
	position: relative;
}

.list_service li.sv01{ order: 2;}
.list_service li.sv02{ order: 3;}
.list_service li.sv03{ order: 4;}
.list_service li.sv04{ order: 5;}
.list_service li.sv05{ order: 1;}
}


@media screen and (max-width: 767px) {
.list_service li.sv05{
	margin: 0 auto 50px;
}
.list_service li{
	width: 100%;
	margin-bottom: 50px;
}
}




/**********************************
sec_base
**********************************/

/*** base_wrap **********************************/
.base_wrap{
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
}
.base_l{
	width: 48%;
	padding: 5% 0 10% 5%;
}
.base_r{
	align-self: flex-end;
	width: 41.6666667%;
	margin: -10% 0 0;
}

@media screen and (max-width: 1000px) {
.base_l{
	padding: 5% 0 10% 0;
}
}

@media screen and (max-width: 767px) {
.base_l{
	width: 100%;
	order: 2;
}
.base_r{
	width: 60%;
	order: 1;
	margin: -10% auto 0;
}
}


/*************************************************************************************
*************************************************************************************

print

*************************************************************************************
**************************************************************************************/

@media print{

}