@charset "UTF-8";


@keyframes txtloop {
0% {
transform: translateX(100%);
}
to {
transform: translateX(-100%);
}
}

@keyframes txtloop2 {
0% {
transform: translateX(0);
}
to {
transform: translateX(-200%);
}
}
/*PC*/
@media print, screen and (min-width: 768px) {

#concept {
margin: 0 auto 220px;
}
/* cont01 */
#concept .cont01 {
position: relative;
margin: 0 auto 160px;
background: url("../images/concept/bg.jpg") center center no-repeat;
background-size: cover;
}

#concept .cont01::after {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
background: rgba(59, 87, 117, 0.6);
}

#concept .cont01 .txtbox {
position: relative;
padding:10% 5%;
box-sizing: border-box;
color: #fff;
z-index: 1;
}

#concept .cont01 .txtbox h2 {
width: 100%;
font-size: 2rem;
font-weight: 900;
text-align: center;
}

/* cont03 */
#concept .cont03 {
position: relative;
margin: 0 auto;
}


/* cont03 */
#concept .cont03 .c_ttl{
font-size: 3rem;
font-weight: 800;
line-height: 1;
text-align: center;
margin: 0 auto 60px;
background:linear-gradient(0deg, #0061A7, #002E80);
background-clip: border-box;
background-clip: border-box;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

#concept .cont03 .c_ttl span{
font-size: 1rem;
display: block;
margin-bottom: 10px;
}

#concept .cont03 .box {
margin: 0 0 0 auto;
padding: 100px 0 0 5%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: row-reverse;
border-top: 1px solid #ddd;
}

#concept .cont03 .box:nth-of-type(2) {
margin: 100px auto 100px 0;
padding: 100px 5% 0 0;
flex-direction: row;
}

#concept .cont03 .box .imgbox {
width: 45%;
position: relative;
overflow: hidden;
}

#concept .cont03 .box .imgbox::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
background: rgba(59, 87, 117, 0.3);
z-index: 1;
}

#concept .cont03 .box .imgbox img {
object-fit: cover;
}
#concept .cont03 .box .txtbox {
width: 55%;
padding:3% 5%;
box-sizing: border-box;
}
#concept .cont03 .box .txtbox .ttl_en {
display: block;
font-size: .8rem;
font-weight: 800;
}

#concept .cont03 .box .txtbox h3 {
font-size:2rem;
font-weight: 600;
line-height: 1.4;
margin: 0 0 30px -5px;
background:linear-gradient(0deg, #0061A7, #002E80);
background-clip: border-box;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

#concept .cont03 .box .txtbox .txt {
font-weight: 600;
line-height: 2;
}


#concept .cont03 .box .txtbox .illust_img {
width: 100%;
margin:50px auto 0;
padding:30px 20px;
box-sizing: border-box;
border: 1px solid #0061A7;
background: rgba(0,0,0,.02);
}


#concept .cont03 .box .txtbox .illust_img2 {
width: 100%;
margin:50px auto 0;
box-sizing: border-box;
border: 1px solid #0061A7;
background: rgba(0,0,0,.02);
}



#concept article{
overflow: hidden;
position: relative;
z-index: -1;
}

#concept .loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

#concept .loop_wrap div {
flex: 0 0 auto;
white-space: nowrap;
font-size:10rem;
font-weight:700;
line-height:1;
overflow: hidden;
color: rgba(0,0,0,.1);
}

#concept .loop_wrap div:nth-child(odd) {
animation: txtloop 70s -35s linear infinite;
}

#concept .loop_wrap div:nth-child(even) {
animation: txtloop2 70s linear infinite;
}

#concept .misson_value_list{
width: 60%;
margin:0 auto 80px;
}

#concept .misson_value_list li{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
margin: 0 auto 40px;
}

#concept .misson_value_list li .ttl_box{
width: 20%;
}


#concept .misson_value_list li .detail_box{
width: 80%;
border-left: 1px solid #004c97;
padding: 3%;
box-sizing: border-box;
}

#concept .misson_value_list li h4{
font-size: 1.8rem;
font-weight: 800;
line-height: 1;
margin: 0 0 20px;
color: #004c97;
}

#concept .misson_value_list li h4 span{
font-size: .8rem;
display: block;
margin-bottom: 5px;
color: #000;
}

#concept .misson_value_list li p{
font-size: 1.4rem;
font-weight: 700;
white-space: nowrap;
}

#concept .misson_value_list li p span{
font-size: 1rem;
margin-left: 10px;
}

#concept .fmac_box{
width: 55%;
margin: 0 auto;
border: 1px solid #121212;
padding:0 0 20px;
box-sizing: border-box;
}

#concept .fmac_box h4{
font-size: 1.2rem;
line-height: 1;
font-weight: 700;
padding: 10px;
box-sizing: border-box;
color: #FFF;
background: linear-gradient(0deg, #0061A7, #002E80);
text-align: center;
}


#concept .fmac_box p{
padding: 20px;
font-weight: 600;
font-size: 1rem;
box-sizing: border-box;
text-align: center;
white-space: nowrap;
}

#concept .fmac_box p span{
color: #0061A7;
font-size: 1.4rem;
font-weight: 800;
text-decoration: underline;
}

#concept .fmac_box .logo{
width: 60%;
margin: auto;
}

}
/*sp*/
@media only screen and (max-width: 767px) {

#concept {
margin: 0 auto 60px;
}
/* cont01 */
#concept .cont01 {
position: relative;
margin: 0 auto 60px;
background: url("../images/concept/bg.jpg") center center no-repeat;
background-size: cover;
}

#concept .cont01::after {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
background: rgba(59, 87, 117, 0.6);
}

#concept .cont01 .txtbox {
position: relative;
padding:8% 5%;
box-sizing: border-box;
color: #fff;
z-index: 1;
}

#concept .cont01 .txtbox h2 {
width: 100%;
font-size: .9rem;
font-weight: 900;
text-align: center;
}

/* cont03 */
#concept .cont03 {
position: relative;
margin: 0 auto;
}


/* cont03 */
#concept .cont03 .c_ttl{
font-size: 1.2rem;
font-weight: 800;
line-height: 1;
text-align: center;
margin: 0 auto 30px;
background:linear-gradient(0deg, #0061A7, #002E80);
background-clip: border-box;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

#concept .cont03 .c_ttl span{
font-size: .6rem;
display: block;
margin-bottom: 10px;
}

#concept .cont03 .box {
margin: 0 0 0 auto;
padding: 30px 5%;
border-top: 1px solid #ddd;
}

#concept .cont03 .box .imgbox {
width: 100%;
position: relative;
overflow: hidden;
margin: 0 auto 20px;
}

#concept .cont03 .box .imgbox::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
background: rgba(59, 87, 117, 0.3);
z-index: 1;
}

#concept .cont03 .box .imgbox img {
object-fit: cover;
}
#concept .cont03 .box .txtbox {
width: 100%;
box-sizing: border-box;
}
#concept .cont03 .box .txtbox .ttl_en {
display: block;
font-size: .6rem;
font-weight: 800;
}

#concept .cont03 .box .txtbox h3 {
font-size:1rem;
font-weight: 600;
line-height: 1.4;
margin: 0 0 20px -5px;
background:linear-gradient(0deg, #0061A7, #002E80);
background-clip: border-box;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

#concept .cont03 .box .txtbox .txt {
font-weight: 600;
line-height: 2;
}


#concept .cont03 .box .txtbox .illust_img {
width: 100%;
margin:30px auto 0;
padding:20px 20px;
box-sizing: border-box;
border: 1px solid #0061A7;
background: rgba(0,0,0,.02);
}


#concept .cont03 .box .txtbox .illust_img2 {
width: 100%;
margin:50px auto 0;
box-sizing: border-box;
border: 1px solid #0061A7;
background: rgba(0,0,0,.02);
}



#concept article{
overflow: hidden;
position: relative;
z-index: -1;
}

#concept .loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

#concept .loop_wrap div {
flex: 0 0 auto;
white-space: nowrap;
font-size:4rem;
font-weight:700;
line-height:1;
overflow: hidden;
color: rgba(0,0,0,.1);
}

#concept .loop_wrap div:nth-child(odd) {
animation: txtloop 70s -35s linear infinite;
}

#concept .loop_wrap div:nth-child(even) {
animation: txtloop2 70s linear infinite;
}

#concept .misson_value_list{
width: 90%;
margin:0 auto 40px;
}

#concept .misson_value_list li{
width: 100%;
margin: 0 auto 20px;
}

#concept .misson_value_list li .ttl_box{
width:100%;
}


#concept .misson_value_list li .detail_box{
width: 100%;
}

#concept .misson_value_list li h4{
font-size: 1.2rem;
font-weight: 800;
line-height: 1;
margin: 0 0 10px;
color: #004c97;
}

#concept .misson_value_list li h4 span{
font-size: .6rem;
display: block;
margin-bottom: 5px;
color: #000;
}

#concept .misson_value_list li p{
font-size: .8rem;
font-weight: 700;
}

#concept .misson_value_list li p span{
font-size: .7rem;
margin-left: 10px;
}

#concept .fmac_box{
width: 90%;
margin: 0 auto;
border: 1px solid #121212;
padding:0 0 20px;
box-sizing: border-box;
}

#concept .fmac_box h4{
font-size: 1rem;
line-height: 1;
font-weight: 700;
padding: 10px;
box-sizing: border-box;
color: #FFF;
background: linear-gradient(0deg, #0061A7, #002E80);
text-align: center;
}


#concept .fmac_box p{
padding: 10px;
font-weight: 600;
font-size: .8rem;
box-sizing: border-box;
text-align: center;
}

#concept .fmac_box p span{
color: #0061A7;
font-size: 1.4rem;
font-weight: 800;
text-decoration: underline;
}

#concept .fmac_box .logo{
width: 60%;
margin: auto;
}

}