@charset "utf-8";
/*
Theme Name: Lightning Child
Theme URI:
Template: lightning
Description: Donmai京楽軒のオリジナルテーマです。Lightningの子テーマを作成しています。
Author: ★ 天野新一 ★
Tags: 
Version: 0.1.2
*/

@import "reset.css" ;
@import "base.css" ;
@import "animation.css";
/* CSS Document */

/*共通スタイル*/



.mb0rem{
	margin-bottom: 0rem !important;
}

.mb1rem{
	margin-bottom: 1rem !important;
}
.mb2rem{
	margin-bottom: 2rem !important;
}
.mb3rem{
	margin-bottom: 3rem !important;
}

.mb3-2rem{
	margin-bottom: 3.2rem !important;
}

.mb4rem{
	margin-bottom: 4rem !important;
}

.mb5rem{
	margin-bottom: 5rem !important;
}
.mb6rem{
	margin-bottom: 6rem !important;
}

.mb6-4rem{
	margin-bottom: 6.4rem !important;
}

.mb7rem{
	margin-bottom: 7rem !important;
}

.mb8rem{
	margin-bottom: 8rem !important;
}

.mb9rem{
	margin-bottom: 9rem !important;
}

.mb10rem{
	margin-bottom: 10rem !important;
}

.mb12rem{
	margin-bottom: 12rem !important;
}

.mb18rem{
	margin-bottom: 18rem !important;
}

.pt1rem{
	padding-bottom: 1rem !important;
}

.t_left{
	text-align: left !important;
}
.t_center{
	text-align: center !important;
}

.t_right{
	text-align: right !important;
}

/*トップページ*/

/*トップページ-ニュース欄*/
.news,
.news__content,
.news__content__main,
.news__content__main__list
{
    width: 100%;
	max-width: 80rem;
}
.news{
	position: relative;
    width: 100%;
	max-width: 80rem;
    margin: 0 auto 16rem;
}

.news__content{
	display: block;
    width: 89.3382352941vw;
}
.news__content h2{
	font-size:3.2rem;
	margin-bottom: 2.4rem;
}

.news__content__main__list{
     width: 100%;
     margin-bottom: 2.9411764706vw;
     position: relative;
}
.news__content__main__list::after{

		content: "";
        position: absolute;
        display: block;
      	top: 0;
        bottom: auto;
        left: 0;
        margin: auto;
        width: 100%;
        height: 2px;
        background-color: #004BB1;
        z-index: 3;
}

.news__content__main__list::before{
    	content: "";
        position: absolute;
        display: block;
        top: -2px;
		bottom: auto;
        left: 0;
        margin: auto;
        width: 5.5882352941vw;
        height: 6px;
        background-color: #004BB1;
        z-index: 4;
}
	
.news__content__main__list__item{
	display: flex;
    justify-content: flex-start;
   	align-items: center;
    padding: 3.2vw 0 3.2vw;
    position: relative;
}


.news__content__main__list__item::before{
	content: "";
    position: absolute;
    display: block;
    bottom: -2px;
    left: 0;
    margin: auto;
    width: 5.5882352941vw;
    height: 6px;
    background-color: #004BB1;
    z-index: 4;
}

.news__content__main__list__item::after{

		content: "";
        position: absolute;
        display: block;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 100%;
        height: 2px;
        background-color: #004BB1;
        z-index: 3;
}
.news__content__main__list__item__entry{
	display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

.news__content__main__list__item__entry__date{
	width: 7.0588235294vw;
    padding-left: 0.5882352941vw;
    font-weight: 500;
    font-size: 1.0294117647vw;
    letter-spacing: 0.04em;
    line-height: 2em;
    line-height: 1 !important;
}

.news__content__main__list__item__entry__date::before{
	content: "";
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 7.0588235294vw;
    height: 1px;
    background-color:#004BB1;
    z-index: 3;
}

.news__content__main__list__item__entry__type{
	position: relative;
        left: -0.7352941176vw;
        width: 9.3382352941vw;
        text-align: center;
        font-weight: 700;
        font-size: 1.0294117647vw;
        letter-spacing: 0.04em;
        line-height: 2em;
        line-height: 1 !important;
        color: #1EBACC;
}

.news__content__main__list__item__title{
	    position: relative;
        z-index: 3;
        overflow: hidden;
        font-weight: normal;
        font-size: 1.3235294118vw;
        letter-spacing: 0.04em;
        line-height: 1 !important;
        white-space: nowrap;
        text-overflow: ellipsis;
		text-decoration: underline;
		color: #004BB1;
		transition: all .24s ease-in .04s;
}

.news__content__main__list__item__title:hover{
	transition: all .1s ease-in .04s;
	background-color: #004BB1;
	color: #FFF;
	
}


.h2--news{
	font-size:3.2rem;
}

.nav-service--contents-wrap{
	margin: 0 0 6rem;
}
@media screen and (max-width:1024px) {
	.news,
	.news__content,
	.news__content__main,
	.news__content__main__list
	{
		width: 96%;
		max-width: 64rem;
		margin: 0 auto 8rem auto;
	}
	
	.news__content__main__list__item{
		display: block;
		align-items: center;
		padding: 3.2vw 0 3.2vw;
		position: relative;
	}


	.news__content__main__list__item__entry__date{
		font-size: 1.2rem!important;
		width: 6rem;
	}
	.news__content__main__list__item__entry__type{
		font-size: 1.2rem!important;
		width: 12rem;
	}
	.news__content__main__list__item__title{
		font-size: 1.2rem!important;
		width: 100%;
		text-align: left;
		margin: .8rem 0 0 0;
	}
}
/*トップページ-ニュース欄end*/

/*ニュースページ*/

.news--kv{
	height: 42rem!important;
}

#news .kv-cp{
	width: 80%;
    position: absolute;
    top: 32%;
    left: 8%;
    text-align: left;
}
#news .news__content__main__list__item__entry{
	margin-bottom:1.6rem;
}
#news .news__content__main__list__item__entry .news__content__main__list__item__entry__date::before{
	content: none;
}
#news .contents{
	padding-left: 3.2rem;
	padding-right:3.2rem;
}
@media screen and (max-width:1024px) {
	#news .contents{
	padding-left: 0rem;
	padding-right:0rem;
}
}

.news--contents-box{
	text-align: left;
	max-width: 80rem;
	padding: 2.4rem;
	margin: 0 auto!important;
	
}

.news--t-color{
	color: #CC6621;
}



.contents-bc-inner--1120,
.contents-bc-inner--1080,
.contents-bc-inner--820rl,
.contents-bc-inner--820,
.contents-bc-inner--860,
.contents-bc-inner--560,
.contents-s-c-inner--900,
.nav-service--contents-s-c-inner--1080,
.nav--flow-faq--contents-inner--1200,
.nav--aboutnuma--contents-inner--max,
.nav--contact--contents-inner--1200{
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
}
.contents-bc-inner--820,
.contents-bc-inner--560,
.contents-bc-inner--1120{
	justify-content:space-around;
}

.contents-bc-inner--560{
	max-width: 56rem;
}

.contents-bc-inner--820,
.contents-bc-inner--820rl{
	max-width: 82rem;
}

.contents-bc-inner--860{
	max-width: 86rem;
}

.contents-bc-inner--1120{
	max-width: 112rem;
}

#p--bc-04 .contents-bc-inner--1120:nth-of-type(2){
	max-width:84rem;
}

#p--bc-04 .contents-bc-inner--1120:nth-of-type(4){
	max-width:60rem;
}

.contents-bc-inner--1080,
.nav-service--contents-s-c-inner--1080{
	max-width: 108rem;
}
.contents-bc-inner--1120,
.contents-bc-inner--1080{
	margin: 0 auto 6rem;
}

.contents-bc-inner--1120:last-of-type{
	margin-bottom:0rem;
}

.nav--flow-faq--contents-inner--1200,
.nav--contact--contents-inner--1200{
	max-width: 120rem;
}

.contents-s-c-inner--900{
	max-width: 90rem;
}

.nav--aboutnuma--contents-inner--max{
	width: 100%;
	flex-wrap: nowrap;
}

.nav--aboutnuma03--contents-inner--max{
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}


.nav-service--contents{
	position: relative;
	width: 46%;
	background: rgba(255,255,255,1.00);
	border: solid .4rem white;
	padding: 4rem 5rem 6.8rem 5rem;
	margin: 0 0 7.8rem;
}

.nav-service--contents figure{
	display: flex;
	flex-direction: column;
	justify-content:center;
	align-items: center;
	height: 9.4rem;
	margin: 0 0 4.4rem;
}

.nav-service--contents figure,
.nav-service--contents dl,
.nav--flow-faq--contents dl,
.nav--aboutnuma--contents dl,
.nav--contact--contents dl,
.nav--contact--contents p{
	position: relative;
	z-index: 1;
}


.nav-service--contents dl dt,
.nav--aboutnuma--contents dl dt{
	margin: 0 0 1.8rem;
}

.nav--flow-faq--contents,
.nav--contact--contents{
	position: relative;
	width: 46.6%;
	padding: 7.4rem 0;
}

.nav--contact--contents{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 6rem 0;
}

.nav--flow-faq--contents,
.nav--aboutnuma--contents,
.nav--contact--contents,
.nav--flow-faq--contents dl dt,
.nav--flow-faq--contents dl dd,
.nav--aboutnuma--contents dl dt,
.nav--aboutnuma--contents dl dd,
.nav--contact--contents p,
.nav--contact--contents dl dt,
.nav--contact--contents dl dt{
	transition: all .1s ease-in .02s;
	color:white;
}

.nav--flow-faq--contents dl dt,
.nav--aboutnuma--contents dl dt,
.nav--contact--contents p{
	margin: 0 0 1.6rem;
}

.nav--contact--contents dl dt{
	margin: 0 0 1.6rem;
}

.nav--flow-faq--contents dl dd p.title-sub--en{
	font-size: 2.4rem;
}

.nav--aboutnuma--contents{
	position: relative;
	width: 100%;
	padding: 8.0rem 0 12rem 0;
}

.nav--aboutnuma--contents dl dd{
	font-size: 1.8rem;
}

.nav--contact--contents dl dt{
	font-size: 2.4rem;
	font-weight: bold;
}

.nav--contact--contents dl dd{
	font-size: 1.8rem;
}

.nav--contact--contents .nav--contact--contents--txt-xl{
	font-size: 3.2rem;
	font-weight: bold;
}

.nav--contact--contents .nav--contact--contents--txt-l{
	font-size: 2.4rem;
	font-weight: bold;
}



a.nav--contents-type01,
a.nav--contents-type02,
a.nav--contents-type03{
	cursor: pointer;
	overflow: hidden;
	transition: all .1s ease-in;
}

a.nav--contents-type01:hover{
	transition: all .1s ease-in .18s;
	/*background-color:var(--cyan);*/
	color: black !important;
	background-color:var(--tn-blue);
	border: solid .4rem var(--tn-blue);
}


a.nav--contents-type01:before {
 	position: absolute;
 	bottom: 0rem;
    right: 0rem;
 	width: 10rem;
 	height: 10rem;
 	content: '';
 	-webkit-transition: all .3s ease-out;
 	transition: all .3s ease-in-out;
 	-webkit-transform: translate(50%,50%);
 	transform: translate(50%,50%);
	transform-origin: center;
 	border-radius: 50%;
	background-color:var(--tn-blue);
}


a.nav--contents-type01:hover:before {
    width: 150%;
    height: 150%;
    transform: translate(5%,5%);
	background-color: #FCFFEF;
}


a.nav--contents-type01 .fa-position-right,
a.nav--contents-type02 .fa-position-right {
	color: white;
 	position: absolute;
    bottom: calc(6% - .5em);
    right: 1.4rem;
}

a.nav--contents-type03 .fa-position-right {
	color: var(--tn-blue);
 	position: absolute;
    bottom: calc(8% - .5em);
    right: 1.4rem;
}

a.nav--contents-type02:hover{
	transition: all .1s ease-in .18s;
	border: solid .4rem var(--dp-blue);
	background-color:var(--dp-blue);
}


a.nav--contents-type02:hover dl dt,
a.nav--contents-type02:hover dl dd,
a.nav--contents-type02:hover dl dd p{
	transition: all .1s ease-in .18s;
	color:var(--dp-blue);
}

a.nav--contents-type02:hover .fa-position-right,
a.nav--contents-type03:hover .fa-position-right{
	transition: all .1s ease-in .18s;
	color:white;
}

a.nav--contents-type02 .fa-position-right {
	color: var(--tn-blue);
 	position: absolute;
    bottom: calc(10% - .5em);
    right: 1.4rem;
}

a.nav--aboutnuma--contents .fa-position-right{
	 bottom: calc(8% - .5em);
}

a.nav--contents-type02:before{
 	position: absolute;
 	bottom: 0rem;
    right: 0rem;
 	width: 10rem;
 	height: 10rem;
 	content: '';
 	-webkit-transition: all .3s ease-out;
 	transition: all .3s ease-in-out;
 	-webkit-transform: translate(50%,50%);
 	transform: translate(50%,50%);
	transform-origin: center;
 	border-radius: 50%;
	background-color:white;
}

a.nav--contents-type02:hover:before {
    width: 150%;
    height: 200%;
    transform: translate(5%,5%);
	background-color: #FCFFEF;
}


a.nav--contents-type03{
	cursor: pointer;
	overflow: hidden;
	transition: all .1s ease-in;
}

a.nav--contents-type03:hover{
	transition: all .1s ease-in;
	/*border: solid .4rem var(--cyan);
	background-color:var(--cyan);*/
	border: solid .4rem var(--tn-blue);
	background-color:var(--tn-blue);
	/*border: solid .4rem black;
	background-color:black;*/
}

a.nav--contents-type03:hover dl dt,
a.nav--contents-type03:hover dl dd p,
a.nav--contents-type03:hover p{
	transition: all .1s ease-in .18s;
	color:white;
}


a.nav--contents-type03:before{
 	position: absolute;
 	bottom: 0rem;
    right: 0rem;
 	width: 10rem;
 	height: 10rem;
 	content: '';
 	-webkit-transition: all .3s ease-out;
 	transition: all .3s ease-in-out;
 	-webkit-transform: translate(50%,50%);
 	transform: translate(50%,50%);
	transform-origin: center;
 	border-radius: 50%;
	background-color:white;
}

a.nav--contents-type03:hover:before {
    width: 150%;
    height: 200%;
    transform: translate(5%,5%);
	background-color: var(--cyan);
}


a.nav--contact--btn--phone:after{
	transition: all .1s;
	position: absolute;
	content: "";
	display: block;
	width: 6rem;
	height: 6rem;
	top: 5rem;
    left: 12rem;
	background-blend-mode: multiply;
	background: url(../img/common/gnav_tel_icon.png) no-repeat 40% 40%;
	-webkit-background-size: auto;
	-moz-background-size: auto;
	-ms-background-size: auto;
	background-size: auto;
}

a.nav--contact--btn--phone:hover:after {
	animation:  pikopiko .3s infinite;
}


a.nav--contact--btn--g-contact:after{
	position: absolute;
	content: "";
	display: block;
	width: 6rem;
	height: 8rem;
	top: 4.4rem;
    left: 8.8rem;
	background: url(../img/common/gnav_contact_icon.png) no-repeat center 4rem;
	-webkit-background-size: auto;
	-moz-background-size: auto;
	-ms-background-size: auto;
	background-size: auto;
}

a.nav--contact--btn--g-contact:hover:after {
	animation:  pyun ease-out 0.8s;
}
/*沼製作所の強み*/

#p--ad figure:first-child{
	margin: 0 0 18rem;
}

.contents-box figure:last-child{
	margin: 0 0 0;
}

/*沼製作所の事業*/

.bc-txt--DB{
	color: var(--dp-blue);
}

#p--bc-top .h2--title-wrap{
	margin: 0 0 4rem;
}

.contents-bc-wrap{
	margin: 0 0 8rem;
}

.contents-bc-wrap:last-of-type{
	margin: 0 0 0rem;
}

.bc-cont {
	position: relative;
}


.bc-cont figure{
	margin:0 0 .8rem;
}

.bc-cont dl dt{
	font-size: 1.8rem;
}

.bc-cont dl dd{
	font-size: 1.6rem;
	line-height:2.0;
}

.bc-cont iframe{
	width: 48rem;
	height: 38rem;
}


.tbl--1064{
	max-width: 96rem;
	width: 96%;
	margin: 0 auto;
	text-align: center;
	background: white;
	color: white;
	border-radius: 1rem;
}

.tbl--1064txt24{
	font-size:2.4rem !important;
}

.tbl--1064-cont{
	padding:1.6rem;
	margin: 0 0 4rem;
	border:.4rem  var(--dp-blue) solid;
	border-radius:0 0 1rem 1rem;
}

.tbl--1064 h3{
	color: white;
	font-size: 2.4rem;
	border-radius: 1rem 1rem 0 0;
	background: var(--dp-blue);
	max-width: 96rem;
	width: 100%;
	height: 4.8rem;
	margin: 0;
	display: inline-block;
	text-align: center;
	line-height: 4.8rem;
	
}

.tbl--1064-hd{
	display: inline-block;
	width: 100%;
	height: 3.6rem;
	margin: 0 0 1.6rem;
	border-radius: 1rem;
}

.tbl--1064 h4{
	color: white;
	font-size: 1.8rem;
	text-align: center;
	line-height: 3.6rem;
	
}

.tbl--1064 dl{
	display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
	font-size: 1.6rem;
	margin: 0 0 .8rem;
}

.tbl--1064 dl:last-of-type{
	margin:0;
}

.tbl--1064 dt,
.tbl--1064 dd{
	display:flex;
	height: 5rem !important;
	align-items: center;
	justify-content:flex-start;
	vertical-align: middle;
	text-align: center;
	padding: 0 0 0 2.4rem;
}


.tbl--1064 dt{
	width: 40%;
	font-size: 1.8rem;
	background: var(--r-blue);
	color: white;
	height: 5rem;
	border-radius: 1rem 0 0 1rem;
	vertical-align: middle;
	text-align: center;
	
}

.tbl--1064-dsp{
	display: inline-block !important;
	line-height: 5rem;
	text-align: left !important;
	vertical-align: middle !important;
}

.tbl--1064 dd{
	width: 60%;
	font-size: 1.8rem;
	border:.4rem  var(--r-blue) solid;
	color: var(--r-blue);
	color: black;
	border-radius:0 1rem  1rem 0;
	vertical-align: middle;
	text-align: center;
	
}

.tbl--1064-contsec{
	margin-bottom:1.6rem !important;
}

.tbl--1064-contsec:last-of-type{
	margin-bottom:0rem !important;
}

.tbl--1064-contsec p{
	text-align: left !important;
}


.tbl--1064-contsec ol{
	text-align: left !important;
	color: black;
}

.tri--gray1064{
	display: inline-block;
	position: relative;
	background: #727171;
}

.tri--gray1064::after{
	content: "";
    position: absolute;
    right: 0;
    bottom: -1rem;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #727171 transparent transparent transparent;
    border-width: 10px 5px 0 5px;
}



.tbl--1080{
	max-width: 108rem;
	margin: 0 auto;
	text-align: center;
	background: white;
	color: white;
	border-collapse:separate;
	border-spacing: 1.4rem;
	
}
.tbl--1080 th,
.tbl--1080 tr,
.tbl--1080 td{
	width: 18rem;
	height: 5rem;
	vertical-align: middle;
	text-align: center;
	
}
.tbl--1080 th{
	position: relative;
	/*background: #727171;*/
	border-radius: 1rem;
	padding: 1rem;
	font-size: 2.4rem;
}

.tri--gray{
	background: #727171;
}

.tbl--1080 td{
	font-size: 2rem;
}
.tbl--1080 .r-blue-tr td{
	border:.4rem  var(--r-blue) solid;
	color: var(--r-blue);
}

.tbl--1080 .dp-blue-tr td{
	border:.4rem  var(--dp-blue) solid;
	color: var(--dp-blue);
}


.title--circle::after{
    content:  '';
    display:  block;            
    position:  absolute;       
    left:  calc(50% - 21rem);                  
    height: 20rem;             
    width: 42rem;               
    border-radius:  50%;       
    top: -6rem;                     
    z-index:  -1;              
	background: rgba(248,248,248,1);
	padding-top: 0;
}

.circle-bg{
	margin-top: 8rem;
	padding-top: 4rem;
}

#p--about-01 .circle-bg{
	padding-bottom:12rem;
}


#p--bc-04 figure:nth-child(2){
	margin:0 0 12rem;
}

#p--bc-04 .contents:nth-of-type(1){
	padding-bottom: 0rem;
}

.title-sb{
	position: relative;
	display: inline-block;
	color: white;
	font-size: 2.8rem;
	font-weight: bold;
	background: var(--tn-blue);
	padding: 1.4rem 2.8rem;
	margin: 0 0 3.6rem;
}

.title-sb::after{
	content: "";
	position: absolute;
	right: 0;
	bottom: -10px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: var(--tn-blue) transparent transparent transparent;
	border-width: 10px 5px 0 5px;
}

.specialty{
	display: inline-block;
	font-size: 1.2rem;
	color: white;
	font-weight: bold;
	padding: .6rem 1rem;
	margin: 0 0 1.6rem;
	background: #CC6621;
}

.contents-bc-inner--820rl .bc-cont:nth-of-type(2n-1) {
	margin: -6rem auto 0 0;
}

.contents-bc-inner--820rl .bc-cont:nth-of-type(2n) {
	margin: -6rem 0 0 auto;
}

.contents-bc-inner--820rl .bc-cont:first-of-type {
	margin: 0 0 0 0;
}
.contents-bc-inner--820 .bc-cont:last-of-type,
.contents-bc-inner--820rl .bc-cont:last-of-type {
	margin-bottom: 8rem;
}

.p--bc02-pr-cont-wrap{
	margin: 0 0 6rem;
}


.p--bc02-pr-cont-wrap:last-of-type{
	margin: 0 0 0rem;
	padding: 0 0 6rem;
}

.p--about-01-img{
	margin: 0 auto;
}

.p--about-01-img img{
	width: 48%;
}

.tb02-wrap{
	display: flex;
	flex-direction: column;
	justify-content:center;
	align-items: center;
	margin: 0 0 10rem;
}

.tb02-wrap:last-child{
	margin: 0 0 0rem;
}

.tb02{
	border-spacing: 0;
	text-align: left;
	width:80%;

}
.tb02 td,
.tb02 th{
	padding:2.8rem 0;
	border-bottom:1.2px solid var(--r-blue);
	line-height:1.75;
}

.tb02 th{
	padding-left:3.2rem;
	padding-right:4.4rem;
	white-space:nowrap;
	text-align:left;
	font-weight: bold;
	color:var(--tn-blue);
	vertical-align:top;
}
.tb02 td{
	padding-right:0 ;
	text-align:left;
		vertical-align:middle;
}
.tb02 tr:first-child td,
.tb02 tr:first-child th{
	border-top:2px solid var(--r-blue);
}

.tb02 tr:last-child td,
.tb02 tr:last-child th{
	border-bottom:2px solid var(--r-blue);
}
.tb02-02 th{
	font-family: 'Century Schoolbook Bold Italic';
	font-size: 3.2rem;
}

#p--about-01 .contents:nth-of-type(3),
#p--about-02 .contents:nth-of-type(2){
	padding-bottom: 6rem;
}

#p--about-02 .contents:nth-of-type(2) .h2--title-wrap{
	margin-bottom: 4rem;
}

#p--about-02 figure img:first-child{
	margin: 0 auto;
	width: 68%;
}

#p--rec figure:first-child img{
	margin: 0 auto;
	width: 48%;
}

.philosophy-wrap{
	margin-bottom: 10rem;
}

.philosophy-wrap dt{
	color: var(--r-blue);
	font-size: 6.2rem;
	margin-bottom: 6rem;
}

.philosophy-wrap dd{
	color: var(--r-blue);
	font-weight: bold;
	font-size: 2.4rem;
	line-height: 2.4;
}

.recruit-message-wrap{
	margin-bottom: 6rem;
}

.recruit-message-wrap dt{
	color: var(--r-blue);
	font-size: 5.6rem;
	margin-bottom: 4rem;
	line-height: 1.6;
}

.recruit-message-wrap dd{
	color: var(--r-blue);
	font-weight: normal;
	font-size: 2.2rem;
	line-height: 2.4;
}

.rep-message{
	font-size: 1.6rem;
	color: black;
	line-height: 2.5;
}

#p--rec .rec-r-gray--pd{
	padding: 6rem 0;
}


#p--rec .contents:nth-child(3) .nav--contact--contents-inner--1200{
	justify-content: center;
}

#p--rec .contents:nth-child(3) .nav--contact--contents-inner--1200 a.nav--contact--btn--g-contact:after {
	top: 3.8rem;
}

#p--rec .contents:nth-child(2){
	padding-bottom: 0;
}

#p--rec figure:nth-child(2){
	margin-bottom: 2rem;
}

#p--about-03 .contents:nth-child(1){
	padding-bottom: 2rem;
}

#p--about-03 .bc-cont{
	margin-bottom:4rem;
}
#p--about-03 .contents:nth-child(1) .bc-cont:last-child{
	margin-bottom: 0;
}
.rec-alert{
	position: fixed;
	width: 100%;
	z-index: 50;
	bottom:0;
	left: 0;
	margin: 2rem auto 4rem;
	padding: 2rem;
	text-align: center;
	background: rgba(204,102,33,.75);
	font-size: 4.2rem;
	color: black;
	font-weight: bold;
}

/*笑顔になるものづくり*/

.slider{
	margin: 6.4rem;
}


.slider div{
	margin: 0 1.2rem;
}

/*.slider div img{
	width: 100%;
}*/

.slider div:nth-child(odd){
	padding-top: 6.4rem;
}


/*FAQ*/

.qa1 {
	padding-bottom: 11rem;
}
.qa1 dl {
	margin-bottom: 4.8rem;
    padding-bottom: 4.8rem;
    border-bottom: 1px solid var(--tn-blue);
}
.qa1 dl:last-child {
	border: none;
}
.qa1 dl dt {
	position: relative;
	margin-bottom: 2.4rem;
	padding-left: 3rem;
	color: black;
	font-size: 2.8rem;
	font-weight: bold;
	text-align: left;
}

.qa1 dl dt::before {
    position: absolute;
    top:0;
    left: -1.8rem;
    line-height: 1;
    font-family: 'Century Gothic Bold';
    font-weight: 500;
    font-size: 2.25rem;
    color: white;
    content: "Q";
    vertical-align: middle;
    background: var(--tn-blue);
    border-radius: 50%;
    padding: .8rem 1rem;
}

.qa1 dl dd {
	position: relative;
	padding-left: 3rem;
	font-size: 2rem;
	text-align: left;
	line-height: 1.6;
}

.qa1 dl dd::before {
    position: absolute;
    top: -0.4rem;
    left: -1.8rem;
    line-height: 1;
    font-family: 'Century Gothic Bold';
    font-weight: 500;
    font-size: 2.25rem;
    color: white;
    content: "A";
    vertical-align: middle;
    background: var(--r-blue);
    border-radius: 50%;
    padding: .8rem 1rem;
}

.qa1 dl:last-child {
    border: none;
}

.qa1--inner{
	position: relative;
    width: 960px;
    margin: 0 auto 10rem;
}


/*プライバシーポリシー*/

.pp-wrap{
	text-align: right;
	padding: 0 2rem 4rem;
	font-size: 1.2rem;
}


.pp dl {
	margin-bottom: 4.8rem;
	padding-bottom: 2.4rem;
    
}
.pp dl:last-child {
	border: none;
}
.pp dl dt {
	position: relative;
	margin-bottom: 2.4rem;
	padding-left: 3rem;
	font-size: 2.8rem;
	font-weight: bold;
	text-align: left;
}


.pp dl dd {
	position: relative;
	padding-left: 3rem;
	font-size: 2rem;
	text-align: left;
	line-height: 1.6;
}





.pp--inner{
	position: relative;
    width: 1080px;
    margin: 0 auto 6rem;
}


/*お問合せ*/


#p--contact .input-wrap{
    max-width: 840px;
	margin: 0 auto;
}

#p--contact .btn-rc {
    width: 50%;
	margin-bottom: 3.6rem;
}

.confirm .h2--title-wrap{
	margin: 0rem;
}

form {
	padding: 3rem;
    background-color: #fff;
    margin-bottom: 50px;
}

form > div {
    background-color: #f6f6f6;
    vertical-align: middle;
    border: 1px solid #dddddd;
	text-align: center;
	margin: 2rem 0 1.5rem 0;
    padding: 6rem;
}
form > div > div {
	text-align: left;
    padding: .8rem;
	width: 60%;
    margin: 0 auto;
}
form > div > div > p {
    width: 40rem;
    margin: 0 1.5rem;
}
form > div > div:before, form > div > div:after {
    display: table;
    content: " ";
}
form > div input[type=text], form > div input[type=email], form > div textarea, form > div select {
    display: block;
	width: 100%;
    min-width: 40rem;
    max-width: 100%;
    /* float: right; */
    height: 3.8rem;
    padding: 0.6rem 1.2rem;
	margin: 1rem 0;
    font-size: 1.4rem;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
    -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    
}

select {
  -moz-appearance: menulist;
  -webkit-appearance: menulist;
}

select::-ms-expand {
    display: block;
}

form > div textarea {
    height: auto;
}

textarea {
    color: #555;
}

input[type=radio] {
    margin-left: 25px;
    margin-top: 8px;

}
label {
	color: var(--tn-blue);
    margin-bottom: 0;
    text-align: left;
    width: 100%;
    position: relative;
    min-height: 1px;
}
label span {
    color: #fff;
    background: #fb3b6f;
    display: inline-block;
    padding: 2px 5px;
    font-size: 10px;
    font-size: 1rem;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    position: absolute;
    right: -4rem;
    top: 0;
}
label + div {
    width: 75%;
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

input::-webkit-input-placeholder {
    color:  #b5b5b5;
}

input[type=button] {
    padding: 10px 13px 11px;
    font-size: 18px;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    border-radius: 4px;
    line-height: 1;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    border: 1px solid #c3c3c3;
    color: #7c7c7c;
    background: #ffffff;
    text-shadow: 0px 1px 1px rgba(0,0,0,0.13);
    -moz-box-shadow: 0px 1px 1px rgba(0,0,0,0.28);
    -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.28);
    box-shadow: 0px 1px 1px rgba(0,0,0,0.28);
    margin-left: 180px;
    margin-right: 25px;
}
input[type=button] + button {
    display: inline-block;
}
input + div, select + div, textarea + div {
    width: 420px;
    color: red;
    margin-bottom: -10px;
}
.error-form {
    border-color: #fb9a93 !important;
}

#p--contact .btn-rc-wrap{
	margin:2rem auto;
	background: none;
    border: none;
}

input .btn{
	width: 2.57rem;
}

.thanks{
	padding: 4rem;
}


/*ipad記述*/

@media screen and (max-width:1024px) {
/*============================================================================

	レイアウト

============================================================================*/
	
		/*笑顔になるものづくり*/

	.slider{
		margin: 0rem;
		width: 100%;
	}


	.slider div{
		margin: 0 .6rem;
	}

	.slider div img{
		max-width: 120px;
	}
	
	.slider div:nth-child(odd){
	padding-top: 3.2rem;
}
	
	.sp--h2--title-wrap h2{
		margin-bottom: 1.2rem !important;
	}
	
	.mb8rem {
    margin-bottom: 4rem !important;
}
	.mb6-4rem {
    margin-bottom: 3.2rem !important;
}
	
	#p--top .sp-img-width img{
		width: 40%;
	}
	
	#p--top .contents:nth-of-type(1){
		padding-bottom: 6rem;
	}
	.font-size--contact{
		font-size: calc(2.4rem + ((1vw - 0.64rem) * 1.0714));
	}
	.tb02 tr:first-child td, .tb02 tr:first-child th {
		border-top: none;
	}
	.tb02 th{
		padding: 16px 0 0 0;
		border-bottom:none;
	}
	.tb02 td{
		padding: 2px 0 16px 0;
	}
	.tb02 td,
	.tb02 th{
		display:block;
	}
	
	.qa1{
	padding-bottom:0;
	}
	.pp--inner,
	.qa1--inner{
		min-width:auto;
		width: auto;
		padding: 0 3rem;
	}
	.qa1 dl{
	border-width:0.5px;
	}
	
	.nav-service--contents {
     padding: 4rem 1.2rem 6.8rem;
	}
	.contents-bc-inner--1120, .contents-bc-inner--1080, .contents-bc-inner--820rl, .contents-bc-inner--820, .contents-bc-inner--860, .contents-bc-inner--560, .contents-s-c-inner--900, .nav-service--contents-s-c-inner--1080, .nav--flow-faq--contents-inner--1200, .nav--aboutnuma--contents-inner--max, .nav--contact--contents-inner--1200 {
   
    	flex-wrap: wrap;
	}
	
	.nav-service--contents{
		width: 100%;
		margin-bottom: 2rem;
	}
	
	.nav--flow-faq--contents, .nav--contact--contents {
		width: 100%;
	}
	a.nav--contact--btn--g-contact:after {
    
    top: 15%;
    left: 36%;
		
	}
	
	a.nav--contact--btn--phone:after {
    
    top: 22%;
    left: 38%;
	}
	
	.nav--contact--contents .nav--contact--contents--txt-xl {
    font-size: 2.2rem;
    font-weight: bold;
}
	
	.nav--contact--contents dl dd,
	.nav--aboutnuma--contents dl dd{
    font-size: calc(1.6rem + ((1vw - 0.64rem) * 1.0714));
    /* Safari resize fix */
  }
	
	.nav--flow-faq--contents dl dd p.title-sub--en {
    font-size: calc(2.0rem + ((1vw - 0.64rem) * 1.0714));
    /* Safari resize fix */
  }

	#p--ad figure:first-child {
     margin: 0 0 6rem; 
}
	
	#p--ad .spimgsize {
     width: 40%;
}
	
	#p--ad .spimgsize60 {
     width: 60%;
}
	
	#p--bc-top .h2--title-wrap {
    margin: 0 0 2.4rem;
}
	.contents-bc-inner--820rl .bc-cont:last-of-type{
    margin-bottom: 0;
}
	
	.bc01-bc-wrap .bc-cont {
    width: 48%;
	margin: 1.2rem 0;
}
	.contents-bc-inner--1080{
		margin-bottom: 0;
	}
	
	.contents-bc-inner--1120 .bc-cont{
		width: 48%;
		margin: 2rem 0;
	}
	
	.contents-bc-inner--1120 .bc-cont dt{
		font-size: 1.4rem;
	}
	
	.contents-bc-inner--1120 .bc-cont dd{
		font-size: 1.4rem;
	}
	
	.p--bc02-pr-cont-wrap .bc-cont{
    width: 48%;
}
	.sp-bc-cont .bc-cont{
	width: 80%;
}
	.sp-bc-cont .bc-cont figure{
	/*width: 100%;*/
    margin:2rem 0;	
}
	
	.spclm2 .bc-cont{
		width: 48%;
		margin-bottom: 2rem;
	}
	
	.spimgsize--bc02{
		width: 80%;
		margin: 3.6rem !important;
	}
	.spimgsize--bc02-02{
		width: 120%;
		margin: 0em;
	}
	
	.contents-bc-inner--820 .bc-cont:last-of-type, .contents-bc-inner--820rl .bc-cont:last-of-type {
    margin-bottom: 2rem;
}
	.title-sb {
    	font-size: 1.8rem;
		margin-bottom: 1.8rem;
	}
	
	.spmb2{
		margin-bottom:1.4rem !important;
	}
	
	.tbl--1064-cont{
	padding:.8rem;
}
	
	.tbl--1064 dl{
    display: block;
  }
	
	.tbl--1064 dt,
	.tbl--1064 dd{
		font-size: 1.6rem !important;
		text-align:center !important;
		padding-left: .8rem;
}
	.tbl--1064 dt {
		width: 100%;
		border-radius: 1rem 1rem 0 0;
		text-align:center !important;
}
	
	.tbl--1064 dd {
		width: 100%;
		border-radius: 0 0 1rem 1rem;
		text-align:center !important;
}
	
	.tbl--1064txt24 {
    font-size: 1.8rem !important;
}
	
	.tbl--1064 .txt-s{
		font-size:1.2rem;
	}
	
	.tri--gray::after {
    
    bottom: -6px;
	}
	.r-blue::after, .dp-blue::after {
    right: -72px;
}
	
	.tbl--1080 {
    	border-spacing: 0.4rem;
}
	
	.tbl--1080 th {
		padding: 0.4rem;
		font-size: 1.0rem;
		line-height: 1.2;
}
	
	.tbl--1080 td {
    font-size: 1.2rem;
}
	
	.tbl--1080 th, .tbl--1080 tr, .tbl--1080 td {
    width: 8rem;
    height: 4rem;
}
	.mb12rem {
    margin-bottom: 6rem !important;
}
	
	.txt-20 {
    font-size: 1rem !important;
}
	
	.txt-16 {
    font-size: 1.0rem !important;
}
	
	.sp-arrow .r-blue::after,.sp-arrow .dp-blue::after {
    right: -84px;
}
	.p--about-01-img img {
    width: 100%;
}
	
	.tb02-wrap {
    margin-bottom: 4rem;
}
	
	.spmb4 {
    margin-bottom: 4rem !important;
}
	.philosophy-wrap {
    margin-bottom: 6rem;
}
	
	.philosophy-wrap dt {
    font-size: 2.4rem;
    margin-bottom: 3.6rem;
}
	.philosophy-wrap dd {
    font-size: 1.6rem;
    line-height: 1.8;
}
	#p--about-02 figure img:first-child {
	    width: 100%;
}
	.rep-message {
    font-size: 1.2rem;
    line-height: 2.2;
}
	.circle-bg {
    margin-top: 6rem;
    padding-top: 0rem;
}
	#p--about-03 .bc-cont {
    margin-bottom: 2rem;
}
	
	.recruit-message-wrap dt {
    font-size: 3.0rem;
}
	.recruit-message-wrap dd {
    line-height: 1.8;
}
	#p--rec figure:first-child img {
    width: 100%;
}
	
#p--rec li {
    padding:0;
}
	.tb02 tr:last-child th {
    border:none;
}
	#p--rec .contents:nth-child(3) .nav--contact--contents-inner--1200 a.nav--contact--btn--g-contact:after {
    top: 2.2rem;
}
	.rec-alert {
    font-size: 2.2rem;
}
	
	.qa1 dl dt {
    font-size: 1.6rem;
}
	.qa1 dl dt::before {
    top: -4px;
    left: -1.8rem;
    font-size: 2.2rem;
	padding: 0.4rem 0.6rem;
}
	
	.qa1 dl dd::before {
    top: -4px;
    left: -1.8rem;
    font-size: 2.2rem;
	padding: 0.4rem 0.6rem;
}
	
	.qa1 dl dd {
    font-size: 1.2rem;
}
	
	.qa1--inner {
    margin: 0;
}
	form > div input[type=text], form > div input[type=email], form > div textarea, form > div select {
   
    width: 100%;
    min-width: 0rem;
	}
	
	
	form > div {
    padding: 4rem 0;
}
	
}/*@media screen and (max-width:1024px)ここまで*/

@media screen and (max-width:1023px) {
a.nav--contact--btn--g-contact:after {
    
    top: 15%;
    left: 30%;
		
	}
	
	a.nav--contact--btn--phone:after {
    
    top: 22%;
    left: 34%;
	}
}/*@media screen and (max-width:1023px)ここまで*/

/*sp記述*/


@media screen and (max-width:767px) {
/*============================================================================

	レイアウト

============================================================================*/
	
	/*笑顔になるものづくり*/

	.slider{
		margin: 0rem;
		width: 100%;
	}


	.slider div{
		margin: 0 .6rem;
	}

	.slider div img{
		max-width: 80px;
	}
	
	.sp--h2--title-wrap h2{
		margin-bottom: 1.2rem !important;
	}
	
	.mb8rem {
    margin-bottom: 4rem !important;
}
	.mb6-4rem {
    margin-bottom: 3.2rem !important;
}
	
	#p--top .sp-img-width img{
		width: 40%;
	}
	
	#p--top .contents:nth-of-type(1){
		padding-bottom: 6rem;
	}
	.font-size--contact{
		font-size: calc(2.4rem + ((1vw - 0.64rem) * 1.0714));
	}
	.tb02 tr:first-child td, .tb02 tr:first-child th {
		border-top: none;
	}
	.tb02 th{
		padding: 16px 0 0 0;
		border-bottom:none;
	}
	.tb02 td{
		padding: 2px 0 16px 0;
	}
	.tb02 td,
	.tb02 th{
		display:block;
	}
	
	.qa1{
	padding-bottom:0;
	}
	
	.qa1--inner{
		min-width:auto;
		width: auto;
		padding: 0 3rem;
	}
	.qa1 dl{
	border-width:0.5px;
	}
	
	.nav-service--contents {
     padding: 4rem 1.2rem 6.8rem;
	}
	.contents-bc-inner--1120, .contents-bc-inner--1080, .contents-bc-inner--820rl, .contents-bc-inner--820, .contents-bc-inner--860, .contents-bc-inner--560, .contents-s-c-inner--900, .nav-service--contents-s-c-inner--1080, .nav--flow-faq--contents-inner--1200, .nav--aboutnuma--contents-inner--max, .nav--contact--contents-inner--1200 {
   
    	flex-wrap: wrap;
	}
	
	.nav-service--contents{
		width: 100%;
		margin-bottom: 2rem;
	}
	
	.nav--flow-faq--contents, .nav--contact--contents {
		width: 100%;
	}
	a.nav--contact--btn--g-contact:after {
    
    top: 15%;
    left: 10%;
		
	}
	
	a.nav--contact--btn--phone:after {
    
    top: 22%;
    left: 14%;
	}
	
	.nav--contact--contents .nav--contact--contents--txt-xl {
    font-size: 2.2rem;
    font-weight: bold;
}
	
	.nav--contact--contents dl dd,
	.nav--aboutnuma--contents dl dd{
    font-size: calc(1.6rem + ((1vw - 0.64rem) * 1.0714));
    /* Safari resize fix */
  }
	
	.nav--flow-faq--contents dl dd p.title-sub--en {
    font-size: calc(2.0rem + ((1vw - 0.64rem) * 1.0714));
    /* Safari resize fix */
  }

	#p--ad figure:first-child {
     margin: 0 0 6rem; 
}
	
	#p--ad .spimgsize {
     width: 40%;
}
	
	#p--ad .spimgsize60 {
     width: 60%;
}
	
	#p--bc-top .h2--title-wrap {
    margin: 0 0 2.4rem;
}
	.contents-bc-inner--820rl .bc-cont:last-of-type{
    margin-bottom: 0;
}
	
	.bc01-bc-wrap .bc-cont {
    width: 48%;
	margin: 1.2rem 0;
}
	.contents-bc-inner--1080{
		margin-bottom: 0;
	}
	
	.contents-bc-inner--1120 .bc-cont{
		width: 48%;
		margin: 2rem 0;
	}
	
	.contents-bc-inner--1120 .bc-cont dt{
		font-size: 1.4rem;
	}
	
	.contents-bc-inner--1120 .bc-cont dd{
		font-size: 1.4rem;
	}
	
	.p--bc02-pr-cont-wrap .bc-cont{
    width: 48%;
}
	.sp-bc-cont .bc-cont{
	width: 80%;
}
	.sp-bc-cont .bc-cont figure{
	/*width: 100%;*/
    margin:2rem 0;	
}
	
	.spclm2 .bc-cont{
		width: 48%;
		margin-bottom: 2rem;
	}
	
	.spimgsize--bc02{
		width: 80%;
		margin: 3.6rem !important;
	}
	.spimgsize--bc02-02{
		width: 120%;
		margin: 0em;
	}
	
	.contents-bc-inner--820 .bc-cont:last-of-type, .contents-bc-inner--820rl .bc-cont:last-of-type {
    margin-bottom: 2rem;
}
	.title-sb {
    	font-size: 1.8rem;
		margin-bottom: 1.8rem;
	}
	
	.spmb2{
		margin-bottom:1.4rem !important;
	}
	
	.tri--gray::after {
    
    bottom: -6px;
	}
	.r-blue::after, .dp-blue::after {
    right: -72px;
}
	
	.tbl--1080 {
    	border-spacing: 0.4rem;
}
	
	.tbl--1080 th {
		padding: 0.4rem;
		font-size: 1.0rem;
		line-height: 1.2;
}
	
	.tbl--1080 td {
    font-size: 1.2rem;
}
	
	.tbl--1080 th, .tbl--1080 tr, .tbl--1080 td {
    width: 8rem;
    height: 4rem;
}
	.mb12rem {
    margin-bottom: 6rem !important;
}
	
	.txt-20 {
    font-size: 1rem !important;
}
	
	.txt-16 {
    font-size: 1.0rem !important;
}
	
	.sp-arrow .r-blue::after,.sp-arrow .dp-blue::after {
    right: -84px;
}
	.p--about-01-img img {
    width: 100%;
}
	
	.tb02-wrap {
    margin-bottom: 4rem;
}
	
	.spmb4 {
    margin-bottom: 4rem !important;
}
	.philosophy-wrap {
    margin-bottom: 6rem;
}
	
	.philosophy-wrap dt {
    font-size: 2.4rem;
    margin-bottom: 3.6rem;
}
	.philosophy-wrap dd {
    font-size: 1.6rem;
    line-height: 1.8;
}
	#p--about-02 figure img:first-child {
	    width: 100%;
}
	.rep-message {
    font-size: 1.2rem;
    line-height: 2.2;
}
	.circle-bg {
    margin-top: 6rem;
    padding-top: 0rem;
}
	#p--about-03 .bc-cont {
    margin-bottom: 2rem;
}
	
	.recruit-message-wrap dt {
    font-size: 3.0rem;
}
	.recruit-message-wrap dd {
    line-height: 1.8;
}
	#p--rec figure:first-child img {
    width: 100%;
}
	
#p--rec li {
    padding:0;
}
	.tb02 tr:last-child th {
    border:none;
}
	#p--rec .contents:nth-child(3) .nav--contact--contents-inner--1200 a.nav--contact--btn--g-contact:after {
    top: 2.2rem;
}
	.rec-alert {
    font-size: 2.2rem;
}
	
	.qa1 dl dt {
    font-size: 1.6rem;
}
	.qa1 dl dt::before {
    top: -4px;
    left: -1.8rem;
    font-size: 2.2rem;
	padding: 0.4rem 0.6rem;
}
	
	.qa1 dl dd::before {
    top: -4px;
    left: -1.8rem;
    font-size: 2.2rem;
	padding: 0.4rem 0.6rem;
}
	
	.qa1 dl dd {
    font-size: 1.2rem;
}
	
	.qa1--inner {
    margin: 0;
}
	
	.pp dl dt {
    font-size: 1.6rem;
}
	.pp dl dt::before {
    top: -4px;
    left: -1.8rem;
    font-size: 2.2rem;
	padding: 0.4rem 0.6rem;
}
	
	.pp dl dd::before {
    top: -4px;
    left: -1.8rem;
    font-size: 2.2rem;
	padding: 0.4rem 0.6rem;
}
	
	.pp dl dd {
    font-size: 1.2rem;
}
	
	.pp--inner {
       min-width: auto;
    width: auto;
    padding: 0 3rem;
}
	
	#p--contact .btn-rc {
    width: 100%;
}
	form > div > div {
    width: 88%;
}
	
	.tb02-02 th{
	font-family: 'Century Schoolbook Bold Italic';
	font-size: 2.2rem;
}
	
}/*@media screen and (max-width:767px)ここまで*/
