@charset "utf-8";

img { width: auto%; max-width: 100%; }

.c-heading-secondary {
    position: relative;
    padding-bottom: 0.5em;
    margin-top: 100px;
    margin-bottom: 40px;
    border-bottom: solid 4px #d72d31;
    color: #000;
    font-size: 3rem;
    font-weight: 500;
	text-align: center;
	line-height: 0.7;
}
.c-heading-secondary span{
    font-size: 1.3rem;  
    padding:0;
    color: #d72d31;}

.c-heading-secondary span.en{
    font-size: 6rem;  
    font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.c-heading-secondary::before{
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 100px;
    height: 4px;
    background-color: #000;
    border-right: solid 1px #fff;
}

.c-button__inner {
    position: relative;
    padding: 14px 2px 15px;
    border-radius: 100px;
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    transition: all 0.3s ease;
	background-color: #d72d31;
    color: #fff;
	display: flex;
    align-items: center;
    justify-content: center;
}


	.c-button__inner:hover {
		background-color: #000;
		color: #fff;
	}

	.recruit_nav{
		display: flex;    
        flex-wrap: wrap;
		justify-content: center;
		margin-top: 2em;
	}
	.recruit_nav li{
		margin: 1%;
        width:18%;
		text-align: center;
	}

	.head_catch{
		font-size: 1.5em;
		text-align: center;
        margin-top: -1em;
        margin-bottom: 2em;
	}
    .content strong{
        color:#d72d31;font-size: inherit;
    }

    .contents_inner{
        display: flex;    
        justify-content: space-between;
    }
    .contents_inner p{
        width:65%;
        font-size: 1.2rem !important;
        line-height: 2;
    }
    .contents_inner p strong{
        font-size: 1.2rem !important;
    }
    .contents_inner img{
        width: 30%;
        height: 30%;
    }
    .sub_title{
        background:#faf4ed;
        border-left:7px #d72d31 solid;
        padding: 0.5em 0.2em 0.5em 1.5em;
        margin-top: 2em;
        margin-bottom: 1em;
        font-size: 1.5rem;
    }


.contents_inner2    {
    box-sizing: border-box; border:5px dotted #d72d31;
    margin-top: 2.0em; padding: 1em;
    background-color: #faf4ed;
    border-radius: 1em;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;

}


    h4.mid-red          {

        color: #d72e31;
        text-align: center;
        padding: 0.3em 0;
        font-size: 2.75rem;
    }

    .features_list {

    font-size: 1.3rem;
    font-weight: bold;
    padding: 1em ;

    }
    .features_list li   { margin-bottom: 0.75em; margin-left: 1em; text-indent: -1em; }


    .works_nav      { display:flex; justify-content: space-around; gap:1.5em 0.25rem; box-sizing: border-box; flex-wrap: wrap;  }

    .works_nav li       {
        background-color: #d72e31;
        border-radius: 50%;
        width: 21vw;
        height: 21vw;
        max-width: 200px;
        max-height: 200px;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0.5em;
        box-sizing: border-box;
        transition: all 0.3s ease;
    }

    .works_nav li a       {
        text-align: center; line-height: 1.1; display: flex;
        width: 100%;
        height: 100%;
        align-items: center;
        justify-content: center;
    }

    .works_nav li:hover        { background-color: #000; transition: all 0.3s ease; }

    .works_nav span { color: #fff; font-size: 1.0rem; padding: 0; margin-top: 0.5em; display: block;  }
    .works_nav span i { font-family: "Barlow Condensed", sans-serif; font-size:2.2em; font-style: normal; margin-bottom: 0.25em;  display: inline-block; opacity: 0.7; }

    .works_nav span b { font-size:1.5em; margin-top: 0.55em;  display: inline-block; transform: scaleX(2.5); }

.hd_down        { margin-left: 1.5em; margin-top: 0.75em; }


.works_detail h6            { font-size: 1.5rem; }

.works_detail h6 b           { color: #d72e31; font-size: inherit; }


.red_eysc li    { margin-left: 2em; text-indent: -1em; font-weight: normal; }

.red_eysc li::before {
content: "●"; color: #d72e31;
}

.works_detail_feature   {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5em;
    margin: 2em auto 2em 2em;
}

.works_detail_feature p     { line-height: 1.25; }

    .works_detail_feature img  { width: 3.0em; }

.mid_center { text-align: center; }

.mid_center h4 {  font-size: 1.5rem; line-height: 1.2; }


@media screen and (max-width: 640px) {

.features_list.features_list li   { font-size: 0.8em; }

h4.mid-red          { font-size: 1.75rem; }
    .works_nav span { font-size: 0.75rem; }

    .works_nav li       {
        width: 40vw;
        height: 40vw;
        max-width: 200px;
        max-height: 200px;
    }

    .hd_down    { margin-left: 0; }
    .red_eysc li    { margin-left: 1em; }

    .works_detail_feature { margin-left: 0; }
    .works_detail_feature img  { width: 2.5em; }

}



    ul.about_quality {
        display: flex;
        justify-content: space-between;
    }
    ul.about_quality li{
        width: 32%;}

    ul.about_quality h4{
        color: #d72e31;
        text-align: center;
        padding: 0.3em 0;
        font-size: 1.6rem;
        margin: 0 0.75em;
        border-bottom: 5px dotted #d72e31;
    }
    ul.about_quality h5{
        font-weight: bold;
        text-align: center;
        padding: 1em 0 0;
        font-size: 1.1rem;
    }
    .about_txt{
        padding: 1em 0;
        font-size: 2em;
        font-weight: bold;
        text-align: center;
    }


    .about_txtbox{
        background:#faf4ed;
        border-radius: 30px;
        padding: 3em;
    }


    .about_txtbox .c-heading-secondary{
        margin: 0;
        border: none;
        color: #000;
    }
    .about_txtbox .c-heading-secondary::before{
        content: none;
    }

    .about_txtbox .c-heading-secondary span{
        color: #000;
        border-bottom: 2px solid #d72d31;
        padding-bottom: 0.5em;
        margin-bottom: 0.5em;
        font-weight: bold;
}


    .about_txtbox .c-heading-secondary span.en{
    font-size: 2rem;  
    font-weight: 300;
        color: #d72d31;
        border-bottom:none;
}

    .about_txtbox ul.list_check{
    font-size: 1.3rem;  
    padding: 1em 7em;
    }

    .about_txtbox.wide  {padding: 1.5em;}
    .about_txtbox.wide h6   { font-size: 1.4rem; text-align: center; }
    .about_txtbox.wide ul.list_check{
    font-size: 1.1rem;  
    padding: 0em 2em;
    }


    .about_txtbox ul.list_check li{
        margin-top: 0.4em; font-weight: normal;
    }
    .about_txtbox ul.list_check li::before{
    content: "";
    display: inline-block;
    width:1.5em;
    height: 1.5em;
    color:#fff;
    background: url(../img/icon_check.png) no-repeat center center / contain;
    vertical-align: middle; 
    margin-right: 0.4em; 

    }


    dl.list_number {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    dl.list_number dt{
        width: 10%;
        color: #d72d31;
    }
    dl.list_number dt span{
    font-family: "Barlow Condensed", sans-serif;
    display: inline-flex;
    font-weight: 300;
    justify-content: center;
    align-items: center;
    width: 20vw;
    height: 20vw;
    max-width: 60px;
    max-height: 60px;
    border: 1px solid #d72d31;
    border-radius: 50%;
    color: #d72d31;
    font-weight: bold;
    font-size:2rem;
    line-height: 1;
    padding: 0;
}

    dl.list_number dd{
        width: 90%;
        margin-bottom: 4.5em;
    }

    dl.list_number dd h4{
    font-size: 2rem;  
    font-weight: bold;
    }
    
    dl.list_number dd h5{
        margin: 0 0 1em;
    }

    dl.list_number dd h5 span{
    display: inline-block;
    color: #faf4ed;
    padding: 0.25em 1.0em;
    background-color: #d72d31;
    font-size: 1.4rem;
    border-radius: 1.5em;
    }
    dl.list_number dd p{
    font-size: 1.2rem !important;
    padding: 0.5em 0;
    font-weight: bold;
    }

    table.schedule {
        border: 1px solid #e3e3e3;
        border-radius: 15px;
        border-collapse: separate;
        overflow: hidden;
        margin-bottom: 1em; 

    }
    table.schedule th{
        background:#faf4ed;
        padding: 1.5em;
        font-size: 1.5em;
        display: flex;
        align-items: center;
    }

    table.schedule th strong{
        font-family: "Barlow Condensed", sans-serif;
        font-weight:200;
        font-size: 1.5em;
        
    }
    
        table.schedule th,table.schedule td{
        border-top: 1px solid #e3e3e3;
    }
    table.schedule tr:first-child th,table.schedule tr:first-child td{
        border-top: none;
    }
    table.schedule td{
        padding: 1.5em;
    }

    .contents_inner .list_number{
        width: 70%;
    }

    .contents_inner .list_number p{
        width: 100%;
    }

    .welfare_img{
        width: 30%;
    }

    .welfare_img img{
        width: 100%;
        height: auto;
    }

    .textarea p{
        padding: 1em 0;
    }




    dl.list_number dd.det_title{
        width: 90%;
        margin-bottom: 0.5em
    }

    dl.list_number dd.det_body{
        width: 90%;
        margin-bottom: 4.5em;
        margin-left: 10%;
    }


/*----------------------------------------
	for PC
----------------------------------------*/
@media screen and (min-width: 768px){
.headlineArea{ margin-top: 60px;}
}

@media screen and (min-width: 641px){
.sp-only{display: none;}
.headlineArea{ background:#fff url(../img/head.jpg) center center; background-size:100%; padding-top:40%; position:relative;}
.content{ max-width:960px; margin:0 auto; padding:30px 0 50px; width: 90%;}
.headingLv1{height:0;opacity:0;}
.headingLv2 { margin: 63px 0 36px; padding: 0 0 18px 40px; font-size: 24px; font-weight: 300; line-height: 1.7; text-indent: -38px; letter-spacing: 2px; border-bottom: 2px solid #c00;}
.headingLv2:before { content: ''; display: inline-block; position: relative; top: -2px; width: 26px; height: 16px; margin-right: 14px; vertical-align: middle; background-image: url(../img/icon_heading.svg); background-repeat: no-repeat; background-position: 0 0; background-size: auto 100%;}
.tableWrapper { overflow: hidden; margin-bottom: 35px; border: 1px solid #e3e3e3; border-radius: 15px;}
table { border-spacing: 0; border-collapse: collapse; width: 100%;}
.stylingTable th{ padding: 28px 40px; background-color: #faf4ed; border-right: 1px solid #e3e3e3; border-top: 1px solid #e3e3e3;}
.stylingTable td{ padding: 28px 40px; border-top: 1px solid #e3e3e3;}
.stylingTable tr:first-child th, .stylingTable tr:first-child td{ border-top: 0px solid #e3e3e3;}
.centering{ text-align:center;}
.btn_form{ border-radius:15px; background-color:#be0006; color:#fff; display:inline-block; padding:20px 50px; font-size:20px; margin: 5px;}
.btn_form:hover{ background-color:#800;}
td .btn_form{padding: 2px 20px; font-size: 100%; border-radius: 5px;}
footer{ text-align:center; padding:100px 0 0;}
p .text-b{font-weight:800;}
.wrap__images{ display:flex; width:100%; justify-content:space-between; margin-top:3em;}
.wrap__images .images__block{ display:block; width:49%;}
.wrap__images .images__block img{ display:block; width:100%; border-radius:15px; box-shadow:0 0 15px rgba(0,0,0,0.2);}
.wrap__images .images__block .caption{ text-align:center; display: block; font-size:14px; color:#666; padding-top:0.5em;}
}


/*----------------------------------------
	for SP
----------------------------------------*/

@media screen and (max-width: 640px) {

.headlineArea{ background:#000 url(../img/head_sp.jpg) center center; background-size:100%; padding-top:67%; width:100%; display:block;}
.content{ width:auto; margin:0 auto; padding:30px 5% 50px;}
.headingLv1{height:0;opacity:0;padding:0!important;}
.logo{width:22%;}
.headingLv1{ font-size: 23px; text-align:center; line-height:1.3; padding:0em 5% 10px; width:auto; color:#000; font-weight:800; text-shadow:0 0 14px rgba(255,255,255,0.7),0 0 14px rgba(255,255,255,0.7);}
.headingLv1 nobr{ font-size:1em!important; font-weight:800!important;}
.headingLv1 .text-b{ font-size:1.3em;font-weight:800;}
.headingLv2 { margin: 63px 0 36px; padding: 0 0 18px 40px; font-size: 24px; font-weight: 300; line-height: 1.3; text-indent: -38px; letter-spacing: 2px; border-bottom: 2px solid #c00;}
.headingLv2:before { content: ''; display: inline-block; position: relative; top: -2px; width: 26px; height: 16px; margin-right: 14px; vertical-align: middle; background-image: url(../img/icon_heading.svg); background-repeat: no-repeat; background-position: 0 0; background-size: auto 100%;}
.tableWrapper { overflow: hidden; margin-bottom: 35px; border: 1px solid #e3e3e3; border-radius: 15px;}
table { border-spacing: 0; border-collapse: collapse; width: 100%;}
.stylingTable th{ padding: 28px 4px; font-size:13px; background-color: #faf4ed; border-right: 1px solid #e3e3e3; border-top: 1px solid #e3e3e3;}
.stylingTable td{ padding: 28px 15px; border-top: 1px solid #e3e3e3; font-size: 80%;}
.stylingTable tr:first-child th, .stylingTable tr:first-child td{ border-top: 0px solid #e3e3e3;}
.centering{ text-align:center;}
.btn_form{ border-radius:15px; background-color:#be0006; color:#fff; display:inline-block; padding:15px 0px; width:100%; margin: 1% 0;}
.btn_form:hover{ background-color:#800;}
td .btn_form{padding: 2px 15px; font-size: 100%; border-radius: 5px; display: block; width: 70px; text-align: center;}
footer{ text-align:center; padding:80px 0 0; font-size:12px;}
p .text-b{font-weight:800;}
.wrap__images{ display:flex; width:100%; justify-content:space-between; margin-top:2em;}
.wrap__images .images__block{ display:block; width:49%;}
.wrap__images .images__block img{ display:block; width:100%; border-radius:15px; box-shadow:0 0 15px rgba(0,0,0,0.2);}
.wrap__images .images__block .caption{ text-align:center; display: block; font-size:12px; color:#666; padding-top:0.5em;}

.head_catch {font-size: 1em;}
.recruit_nav li{ width: 48%;}
.c-button__inner{padding: 0.5em;}
.c-heading-secondary{line-height: 0.4; margin-bottom:0.2em;}
.c-heading-secondary span { font-size: 1rem;}
.c-heading-secondary span.en { font-size: 4rem; display: block;}
ul.about_quality{    flex-wrap: wrap;}
ul.about_quality h4{margin-top: 2em;}
.contents_inner{    flex-wrap: wrap;}

.contents_inner p{font-size: 1rem !important;}
.contents_inner p strong {font-size: 1rem !important;}
.contents_inner p,ul.about_quality li,.contents_inner .list_number,.welfare_img{width:100%;}
.contents_inner img{width:70%; margin: 0 auto;}
.welfare_img{display: flex;}
.welfare_img img{width: 48% !important;}
.contents_inner img{width:70%;}
table.schedule tr th, table.schedule tr td{display: block;}
table.schedule th{padding:0.5em 1em;font-size: 1.3em; text-align: left;}
.about_txtbox{  padding: 2em;}
.about_txtbox ul.list_check{font-size: 1rem; padding: 0;}
.about_txtbox ul.list_check li{text-indent: -2em; padding-left: 2em;}
.about_txtbox .c-heading-secondary{font-size: 0;}
.about_txtbox ul.list_check{margin-top: 2em;}
dl.list_number dd h5 span{display: block; font-size: 1.1rem; }
dl.list_number dd h4{    font-size: 5.8vw; line-height: 1.2; }
dl.list_number dt span{    margin-left: -0.5em; margin-top: -0.5em;  font-size: 1.5rem; width: 10vw; height: 10vw; }

dl.list_number dd p{    font-size: 1.1rem !important; }

.sub_title{position: relative; font-size: 1.3rem; padding-left: 1em;}

.about_txtbox.wide h6   { font-size: 1.2rem; }
.about_txtbox.wide  {}
.about_txtbox.wide ul.list_check    { padding:0; margin-top: 0; font-size: 1.0rem; }

    dl.list_number dd.det_title{
        margin-bottom: 1.5em
    }

    dl.list_number dd.det_body{
        width: 100%;
        margin-left: 0%;
    }


}


