@charset "utf-8";

/*--------------------------------------
mv
---------------------------------------*/
.l-mv {
min-height: 50rem;
padding: 6rem 0;
background: url(img/mv_bg_01.png) no-repeat left -4rem top 14rem, url(img/mv_bg_02.jpg) no-repeat right center;
background-size: auto, auto 100%;
}
.l-mv-wrapper {
position: relative;
width: 100rem;
margin: 0 auto;
}
.l-mv-logo {
width: 22rem;
margin: 0 0 2rem 0;
}
.l-mv-title {
margin: 0 0 0.5rem 0;
color: #000;
font-size: 3rem;
font-weight: 700;
line-height: 1.4;
text-shadow: 2px 2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, -2px -2px 0 #fff, 2px 0 0 #fff, 0 2px 0 #fff, -2px 0 0 #fff, 0 -2px 0 #fff;
}
.l-mv-title span {
font-size: 4rem;
}
.l-mv-title span span {
display: inline-block;
margin: 1rem 0.5rem 0 0;
padding: 0.1rem 0.5rem 0.4rem 0.5rem;
background: #2e2e2e;
color: #fff;
text-shadow: none;
}
.l-mv-txt {
max-width: 69rem;
padding: 1.5rem;
background: rgba(255,255,255,0.8);
}
.l-mv-txt p:not([class]) {
margin: 0;
}
.l-mv-txt p:not([class]) > span:not([class]) {
background: linear-gradient(transparent 70%, #f6c891 70%);
font-weight: 700;
}


/*--------------------------------------
l-parts02
---------------------------------------*/
.l-parts02 {
position: relative;
padding: 8rem 0;
background: #ececec url(img/parts02_bg_01.png) repeat-y center top;
background-size: 100% auto;
}
.l-parts02-company {
position: relative;
margin: 0 0 10rem 0;
background: #fff;
border-radius: 2rem;
}
.l-parts02-company:last-child {
margin: 0;
}
.l-parts02 .catch-title {
padding: 2.5rem 2rem 3rem 2rem;
background: #2e2e2e;
border-radius: 2rem 2rem 0 0;
color: #fff;
font-size: 3.6rem;
font-weight: 700;
line-height: 1.4;
text-align: center;
}
.l-parts02-company > .inner {
padding: 3rem 5rem 4rem;
}
.l-parts02 .name {
margin: 0 0 2rem 0;
font-size: 3.2rem;
font-weight: 700;
line-height: 1.4;
text-align: center;
}
.l-parts02 .name span {
font-size: 2.4rem;
}
.l-parts02 table th {
width: 18rem;
}
.l-parts02 .float-wrap table {
margin: 0;
width: calc(100% - 33rem);
float: left;
}
.l-parts02 .title {
position: relative;
margin: 7rem 0 3rem 0;
text-align: center;
}
.l-parts02 .title::before {
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 100%;
height: 0.1rem;
border-top: 3px solid #2e2e2e;
content: "";
}
.l-parts02 .title span {
display: inline-block;
position: relative;
max-width: 90%;
padding: 0 8rem;
background: #fff;
font-size: 2.4rem;
font-weight: 700;
line-height: 1.4;
}
.l-parts02 .box-wrap .box {
background: #f5f5f5;
}
.l-parts02 .box-wrap .box-head {
padding: 2rem 1rem;
text-align: center;
}
.l-parts02 .box-wrap .box-head .ttl {
font-size: 2rem;
}
.l-parts02 table th {
width: 18rem;
}
.l-parts02 .block-slider .slick-slide img {
width: auto;
max-width: 100%;
max-height: 45rem;
}


/*--------------------------------------
l-parts03
---------------------------------------*/
.l-parts03 {
padding: 8rem 0 2rem 0;
}


/*--------------------------------------
l-parts04
---------------------------------------*/
.l-parts04 {
padding: 8rem 0 4rem 0;
background: #efece8 url(img/parts04_bg_01.png) no-repeat center top;
background-size: 100% auto;
}
.l-parts04 .box-wrap .box-head {
text-align: center;
}


/*--------------------------------------
l-parts05
---------------------------------------*/
.l-parts05 {
padding: 8rem 0 2rem 0;
}
.l-parts05 .block {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 6rem 0 8rem 0;
}
.l-parts05 .block::after {
display: block;
width: calc((100% - 6rem) / 3);
content: "";
}
.l-parts05 .block .box {
width: calc((100% - 6rem) / 3);
background: #fff;
}
.l-parts05 .block .box-head {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
margin: 0 0 2rem 0;
}
.l-parts05 .block .box-head .ttl {
width: 100%;
margin: 2rem 0 0;
font-size: 2.4rem;
font-weight: 700;
line-height: 1.4;
text-align: center;
}
.l-parts05 .block .box-head .ttl a {
display: inline-block;
padding: 0 2.5rem;
background: url(img/arrow01_orange.svg) no-repeat right center;
background-size: 1rem auto;
color: inherit;
text-decoration: none;
}
.l-parts05 .block .box-body p:not([class]) {
margin: 0 1.2rem;
}
.l-parts05 .block .box-body .fig {
margin: 0 0 2rem 0;
text-align: center;
}




















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

/*--------------------------------------
mv
---------------------------------------*/
.l-mv {
min-height: auto;
margin: 0;
padding: 0 0 4rem 0;
background: none;
}
.l-mv-wrapper {
width: 100%;
}
.l-mv-logo {
margin: 0 auto 0.5rem auto;
text-align: center;
}
.l-mv-title {
margin: 0;
padding: 1.5rem;
background: url(img/mv_bg_01.png) no-repeat left -2rem top 2rem, url(img/mv_bg_03.jpg) no-repeat right center;
background-size: auto 50%, auto 100%;
font-size: 1.6rem;
}
.l-mv-title span {
font-size: 2.4rem;
}
.l-mv-txt {
max-width: 100%;
padding: 1.5rem 1.5rem 0 1.5rem;
background: none;
}
.l-mv-txt p:not([class]) {
max-width: 100%;
}


/*--------------------------------------
l-parts02
---------------------------------------*/
.l-parts02 {
padding: 4rem 0;
background-size: 120% auto;
}
.l-parts02-company {
margin: 0 0 5rem 0;
}
.l-parts02 .catch-title {
padding: 1.5rem;
font-size: 2.2rem;
}
.l-parts02-company > .inner {
padding: 2rem 1.2rem 1rem 1.2rem;
}
.l-parts02 .name {
margin: 0 0 1.5rem 0;
font-size: 2.2rem;
}
.l-parts02 .name span {
font-size: 1.8rem;
}
.l-parts02 .float-wrap table {
width: 100%;
}
.l-parts02 .title {
margin: 4rem 0 2rem 0;
}
.l-parts02 .title span {
padding: 0 1.5rem;
font-size: 2rem;
}
.l-parts02 .box-wrap .box-head .ttl {
font-size: 1.8rem;
}
.l-parts02 table th {
width: 100%;
padding: 0.8rem 0.5rem;
}
.l-parts02 .block-slider .slick-slide img {
max-height: 17rem;
}


/*--------------------------------------
l-parts03
---------------------------------------*/
.l-parts03 {
padding: 4rem 0 2rem 0;
}


/*--------------------------------------
l-parts04
---------------------------------------*/
.l-parts04 {
padding: 4rem 0 2rem 0;
background-size: 120% auto;
}


/*--------------------------------------
l-parts05
---------------------------------------*/
.l-parts05 {
padding: 4rem 0 2rem 0;
}
.l-parts05 .block {
display: block;
margin: 4rem 0;
}
.l-parts05 .block::after {
display: none;
content: none;
}
.l-parts05 .block .box {
width: 100%;
margin: 0 0 5rem 0;
}
.l-parts05 .block .box-head {
margin: 0 0 2rem 0;
}
.l-parts05 .block .box-head .ttl {
font-size: 2rem;
}

}
