/* HOME PAGE */

.PFA .b-frame .container {
    border-radius: 40px;
    background-color: #DA291C;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.PFA .content {
    max-width: 43%;
    padding-left: 10%;
}

.PFA h1 {
    color: #fff;
}

.PFA h3 {
    margin-top: 20px;
    font-weight: 400;
    color: #2C2A29;
}

.PFA .b-button {
    padding: 0 43px;
}

.PFA .b-button:hover {
	background-color: #FFECEA;
	color: #DA291C;
}

.PFA .img {
    width: 50%;
}

.PFA .img img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
}

@media screen and (max-width: 1200px) {
	.PFA .img {display: none;}
    .PFA .content{max-width: unset; text-align: center;padding: 40px;}
}
@media screen and (max-width: 900px) {
    .PFA .content{text-align: left;}
}

@media screen and (min-width: 901px) {
	.PFA h3{font-size: 36px;}
}

.INTRO .b-image::after {
    padding-bottom: 90%;
}

.INTRO h2::after {
    content: "";
    display: block;
    width: 160px;
    height: 2px;
    background-color: #DA291C;
    margin: 30px 0;
}

.INTRO .content {
    max-width: 900px;
    margin: 0 auto;
}

@media screen and (min-width: 901px) {
	.INTRO .b-frame {
        max-width: 1100px;
		padding: 0 40px;
    }
	.INTRO.alt-about .b-frame {
		padding-bottom: 60px;
	}
}

@media screen and (max-width: 900px) {
	.INTRO.alt-about .b-frame {
		padding-top: 0px;
	}
}

.REGIONS .b-frame .container {
    background: #F6F6F7;
    border-radius: 40px;
    padding: 80px 0;
}

.REGIONS .b-columns {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.REGIONS .b-frame-head {
    margin-bottom: 130px;
    max-width: 800px;
}

.REGIONS .b-frame-head h2::after {
    content: "";
    display: block;
    width: 105px;
    height: 2px;
    background-color: #DA291C;
    margin: 30px auto;
}

.REGIONS .b-image {
    border-radius: 20px;
    image-rendering: pixelated;
    box-shadow: 0 20px 20px rgb(116 119 121 / 80%);
    position: relative;
}

.REGIONS .b-image::after {
    padding-bottom: 60%;
}

.REGIONS .link-container {
    position: absolute;
    bottom: 30px;
    background: #fff;
    border-radius: 28.45px;
    display: flex;
    padding: 3px 20px;
    gap: 5px;
    transition: background-color 0.25s;
}

.REGIONS .name {
    color: #2C2A29;
    font-size: 16px;
    line-height: 32px;
    transition: color 0.25s;
}

.REGIONS .link-container:hover {
    background-color: #FFECEA;
}
.REGIONS .link-container:hover .name {
    color: #DA291C;
}

@media screen and (max-width: 900px) {
	.REGIONS .b-frame-head {
        padding: 0 20px;
    }
    .REGIONS .b-column .link-container {
        margin-left: 30px;
    }
}

@media screen and (min-width: 901px) {
    .REGIONS .b-column:nth-child(4n-2) .link-container {
        margin-left: 30px;
    }
    .REGIONS .b-column:nth-child(4n) .link-container {
        right: 30px;
    }
}

.INVEST .b-frame-head h2::after {
    content: "";
    display: block;
    width: 105px;
    height: 2px;
    background-color: #DA291C;
    margin: 30px auto;
}

.OPTIONS .option {
    max-width: 915px;
    margin: 0 auto;
    border-radius: 19px;
    background-color: #FFFFFF;
    box-shadow: 0 2px 34px 10px rgba(148,147,147,0.31);
    margin-top: 50px;
}

.OPTIONS .option .content {
    padding: 35px 120px 45px 68px;
}

.OPTIONS .option .link {
    overflow: hidden;
    text-overflow: ellipsis;
}

.OPTIONS .option .link a {
    font-size: 16px;
    line-height: 33px;
    padding: 5px 12px;
    border-radius: 11px;
    transition: all 0.25s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	text-decoration: underline;
}

.OPTIONS .option .link:hover a {
    color: #DA291C;
    background-color: #FFECEA;
}

@media screen and (max-width: 1200px) {
    .OPTIONS .option img {
        margin: 0 auto;
    }
    .OPTIONS .option .content {
        padding: 30px 50px 30px 50px;
    }
}

@media screen and (max-width: 900px) {
	.OPTIONS .option {
		margin-top: 25px;	
	}
}

.POSTS-PREVIEW .b-frame .container {
    border-radius: 40px;
    background-color:#DA291C;
    padding: 80px 0;
}

.POSTS-PREVIEW .b-frame-head h2 {
    color: #fff;
}

.POSTS-PREVIEW .b-frame-head h2::after {
    content: "";
    display: block;
    width: 105px;
    height: 2px;
    background-color: #2C2A29;
    margin: 30px auto;
}

.POSTS-PREVIEW .b-columns {
    max-width: 1220px;
    margin: 0 auto;
}

.POSTS-PREVIEW .post {
    position: relative;
}

.POSTS-PREVIEW .post .image {
    display: block;
    background-size: cover;
    padding-bottom: 62.25%;
    margin-bottom: 15px;
    border-radius: 11px;
}

.POSTS-PREVIEW .post .content {
    margin-bottom: 20px;
    height: 100%;
}

.POSTS-PREVIEW .post .content a:hover {
    color: #fff;
}

.POSTS-PREVIEW .post .content h5 {
    color: #FFFFFF;
}

.POSTS-PREVIEW .post .deco {
    position: absolute;
    height: 3px;
    width: 100%;
    background-color:rgba(44,42,41,0.25);
    transition: background-color 0.25s;
}

.POSTS-PREVIEW .post:hover .deco {
    background-color: rgba(44,42,41,1);
}

/* ABOUT */

.INTRO-CARDS {
    background-color: #DA291C;
}

.INTRO-CARDS .b-frame {
		max-width: 1150px;
}

.INTRO-CARDS .card {
    border-radius: 19px;
    background-color: #FFFFFF;
    box-shadow: 0 2px 20px 2px #981007;
    padding: 80px 60px;
    margin: 0 auto;
    max-width: 512px;
    box-sizing: border-box;
    height: 100%;
}

.INTRO-CARDS .card img {
    margin: 0 auto;
}

.INTRO-CARDS .card h2::after {
    content: "";
    display: block;
    width: 105px;
    height: 2px;
    background-color: #DA291C;
    margin: 30px 0;
}

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

.RESOURCES .b-frame .container {
    background: #F6F6F7;
    border-radius: 40px;
    padding: 80px 0;
}

.RESOURCES .b-columns {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.RESOURCES .b-frame-head {
    margin-bottom: 130px;
    max-width: 800px;
}

.RESOURCES .b-frame-head h2::after {
    content: "";
    display: block;
    width: 105px;
    height: 2px;
    background-color: #DA291C;
    margin: 30px auto;
}

.RESOURCES .b-image {
    border-radius: 20px;
    image-rendering: pixelated;
    box-shadow: 0 20px 20px rgb(116 119 121 / 80%);
}

.RESOURCES .b-image::after {
    padding-bottom: 60%;
}

.RESOURCES .links {

}

.RESOURCES .links a {
    display: block;
    font-size: 16px;
    line-height: 33px;
    padding: 2px 12px;
    border-radius: 11px;
    transition: all 0.25s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	width: fit-content;
}

.RESOURCES .links a:hover {
    color: #DA291C;
    background-color: #FFECEA;
}

@media screen and (max-width: 900px) {
	.RESOURCES .b-frame-head {
        padding: 0 20px;
		margin-bottom: 60px;
    }
	.RESOURCES .links a {
		width: auto;
	}
}

.MANAGEMENT .b-frame-head h2::after {
	content: "";
    display: block;
    width: 105px;
    height: 2px;
    background-color: #DA291C;
    margin: 30px auto;
}

.MANAGEMENT .member {
	text-align: center;
	margin-top: 70px;
}

.MANAGEMENT .member img {
	margin: 0 auto;
}

.MANAGEMENT span::after {
	content: "";
    display: block;
    width: 105px;
    height: 3px;
    background-color: #DA291C;
    margin: 10px auto 15px auto;
}

.MANAGEMENT .member .socials a {
	color: #282726;
	transition: 0.25s color;
}

.MANAGEMENT .member .socials a:hover {
	color: #DA291C;
}

.MANAGEMENT .member .socials svg {
    display: inline-block;
    vertical-align: middle;
    margin-left: 13px;
}
.MANAGEMENT .member .socials a:first-child svg {
    margin-left: 0px;
}

@media screen and (max-width: 900px) {
	.MANAGEMENT .member {
        margin-top: 20px;
    }
}

.BOARD .b-frame .container {
    background: #F6F6F7;
    border-radius: 40px;
    padding: 80px 120px;
}

.BOARD .b-frame-head h2::after {
    content: "";
    display: block;
    width: 105px;
    height: 3px;
    background-color: #DA291C;
    margin: 30px auto;
}

.BOARD .member {
    position: relative;
    margin-top: 100px;
    text-align: center;
    height: 100%;
}

.BOARD .deco {
/*     position: absolute;
    content: "";
    display: block;
    width: 105px;
    height: 3px;
    background-color: #da291c80;
    margin: 18px auto;
    bottom: 45px;
    left: calc(50% - 53px); */
	
	display: block;
    width: 105px;
    height: 3px;
    background-color: #DA291C;
    margin: 10px auto 15px auto;
}

.BOARD .member img {
    margin: 0 auto;
}

.BOARD .member p {
    margin: 0;
}

.BOARD .member .company {
    font-style: italic;
}

.BOARD .member .socials a:not(:last-child) {
    margin-right: 13px;
}

.BOARD .member .socials a {
    color: #282726;
}

.BOARD .member .socials a:hover {
    color: #DA291C;
}

.BOARD .member .socials a svg {
    display: inline-block;
}

.BOARD .b-columns:last-child .member p {
    font-size: 15px;
}

@media screen and (max-width: 900px) {
	.BOARD .b-frame .container {
        padding: 40px 20px;
    }
    .BOARD .member {
        margin-top: 25px;
    }
    .BOARD .deco {
        bottom: -10px;
    }
}

.INCLUSION {
    margin-top: -70px;
}

.INCLUSION .b-image::after {
    padding-bottom: 111%;
}

.INCLUSION h2::after {
    content: "";
    display: block;
    width: 160px;
    height: 2px;
    background-color: #DA291C;
    margin: 30px 0;
}

@media screen and (min-width: 901px) {
	.INCLUSION .b-frame {
        max-width: 1100px;
		padding-bottom: 40px;
    }
}

@media screen and (max-width: 900px) {
    .INCLUSION .b-image {
        margin-left: -30px;
    }
}

.CAREERS .b-frame {
    position: relative;
}

.CAREERS .deco {
    position: absolute;
    background-image: url(../img/work-red-deco.svg);
    top: 80px;
    right: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    width: 130px;
    height: 110px;
}

.CAREERS .b-frame .container {
    background: #F6F6F7;
    border-radius: 40px;
    padding: 80px 200px;
}

.CAREERS .b-frame-head h2::after {
    content: "";
    display: block;
    width: 105px;
    height: 3px;
    background-color: #DA291C;
    margin: 30px auto;
}

.CAREERS .b-columns {
    margin-top: 100px;
}

.CAREERS .card {
    border-radius: 19px;
    background-color: #FFFFFF;
    box-shadow: 0 2px 20px 2px rgba(84,88,90,0.39);
    padding: 30px 40px 100px 40px;
    box-sizing: border-box;
    height: 100%;
    max-width: 440px;
    margin: 0 auto;
}

.CAREERS .btn-container {
	margin-top: 100px;
	text-align: center;
}

@media screen and (max-width: 900px) {
	.CAREERS .b-frame .container {
        padding: 40px 20px;
    }
    .CAREERS .b-columns {
        margin-top: 0px;
    }
	.CAREERS .btn-container {
		margin-top: 40px;
	}
}

.VISIT-REGIONS {
    background-color: #DA291C;
}

.VISIT-REGIONS .b-frame-head h2::after {
    content: "";
    display: block;
    width: 105px;
    height: 3px;
    background-color: #DA291C;
    margin: 30px auto;
}

.VISIT-REGIONS .b-frame .b-columns {
    max-width: 1200px;
    margin: 0 auto;
}

.VISIT-REGIONS .b-frame .container {
    background: #F6F6F7;
    border-radius: 40px;
    padding: 80px 0px;
}

.VISIT-REGIONS .card {
    position: relative;
}

.VISIT-REGIONS .b-image {
    border-radius: 20px;
    image-rendering: pixelated;
    box-shadow: 0 20px 20px rgb(116 119 121 / 80%);
}

.VISIT-REGIONS .b-image::after {
    padding-bottom: 60%;
}

.VISIT-REGIONS .link-container {
    position: absolute;
    bottom: 15px;
    border-radius: 19.36px;
    background-color: rgba(255,255,255,0);
    box-shadow: 0 0 28px 2px rgb(1 1 1 / 52%);
    padding: 0 16px;
    width: 96%;
    left: 2%;
    min-height: 102px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    backdrop-filter: blur(6px);
	transition: all 0.25s;
}

.VISIT-REGIONS .link-container .region-name {
    font-size: 24px;
    color: #fff;
    line-height: 32px;
    font-weight: 900;
    flex: 60%;
    flex-shrink: 1;
    flex-grow: 0;
    transition: 0.25s color;
}

.VISIT-REGIONS a:hover .link-container  {
    background-color: #DA291C;
}

@media screen and (max-width: 900px) {
    .VISIT-REGIONS .link-container{
        min-height: 75px;
    }
	.VISIT-REGIONS .link-container .region-name{
        font-size: 16px;
    }
}



/* NOTICE */

.NOTICE {
    background: #2c2a29;
    color: #fff;
    text-align: center;
}

.NOTICE .b-frame {padding-top:20px; padding-bottom:20px;}
.NOTICE h4 {color:#fff;}

@media screen and (max-width: 900px) {
    .NOTICE .b-button:nth-child(2) {margin-top:10px;}
}



/* CTA */

.CTA .b-frame .container {
    border-radius: 40px;
    background:#DA291C no-repeat url(../img/cta-workplace.png);
    padding: 80px 0;
    box-shadow: 0px 9px 15px 5px #C0C0C0;
}

.CTA .b-frame .content {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.CTA .content *:not(.b-button) {
    color: #fff;
}

.CTA .b-button:hover {
    background-color: #FFECEA;
    color: #DA291C;
}

@media screen and (max-width: 900px) {
    .CTA .b-frame .container {padding:40px 0;}
    .CTA .b-frame .content {padding:0 20px;}
}



/* FAQS */

.FAQS .container {
    max-width: 900px;
    margin: 0 auto;
}

.FAQS .accordion {
    list-style: none;
    margin: 0;
    padding: 0;
}

.FAQS .accordion > li {
    position: relative;
    margin: 10px 0;
    padding: 0;
}

.FAQS .accordion > li > label {
    display:block;
    padding: 15px 60px 15px 30px;
    font-weight: 600;
    background: #DA291C;
    border-radius: 10px;
    color: #fff;
}

.FAQS .accordion > li > label::after {
    content: "";
    display: block;
    position: absolute;
    top: 15px;
    right: 15px;
    width: 34px;
    height: 34px;
    background: #fff no-repeat 50% 55% url(../img/expand.svg);
    border-radius: 100%;
}

.FAQS .accordion > li > div {
    display: none;
    padding: 20px 30px;
    background: #F6F6F7;
    border-radius: 0 0 10px 10px;
}

.FAQS .accordion > li > input {display:none;}
.FAQS .accordion > li > input:checked ~ div {display:block;}
.FAQS .accordion > li > input:checked ~ label {border-radius:10px 10px 0 0;}
.FAQS .accordion > li > input:checked ~ label::after {transform: scaleY(-1);}

@media screen and (max-width: 900px) {
    .FAQS .accordion > li > label {padding:10px 45px 10px 20px;}
    .FAQS .accordion > li > label::after {top:10px; right:10px;}
    .FAQS .accordion > li > div {padding:10px 20px 15px;}
}