@charset "utf-8";

.flex{ display: flex; justify-content: space-between; flex-wrap: wrap;}
.btn__more {  display: block; margin: 0 auto; border: 1px solid #424242; position: relative; transition: 0.2s linear; margin-top: 70px; width: 224px; height: 52px; margin: 35px 0px 0px;}
.btn__more::after { content: ""; position: absolute; display: inline-block; width: 0;height: 0; border-top: 8px solid transparent; border-left: 14px solid #000000; border-bottom: 8px solid transparent; bottom: 7px; right: 7px;}
.btn__more span { font-size: 1.6rem; line-height: 1; position: absolute; top: 8px; left: 10px;}
.btn__more:hover{ background: #000000; color: #ffffff;}
.btn__more:hover::after{ border-left-color: #ffffff;}


.contents{  padding: 100px 0 90px; background: #f5f5f5;}
.trinite .titBox{ padding-bottom: 30px;}
.trinite .subtitBox{ padding: 100px 0 95px;}

h2{ font-size: 5rem; font-weight: bold; max-width: 1200px; width: calc(100% - 50px); line-height: 1.5; margin:0 auto;}
h2 span{ display: block; font-size: clamp(16px,1.5vw,1.8rem); }
h3{ font-size: 3.6rem; line-height: 1.4;}

.concept{ background: url(../imgs/trinite/img01.jpg) no-repeat; background-position: left 70% top 20%;  background-size: cover; padding: 75px 0 150px;}
.concept .txtBox{ width: 100%; margin: 0 auto 0 0; text-shadow: 3px -1px 8px rgba(255, 255, 255, 0.6);}
.concept .copy{ font-size: 3.6rem; font-weight: bold; line-height: 1.5; margin-bottom: 1em;}
.concept .txt{ margin-bottom: 65px;}
.concept .border_txt{ font-size: 2.4rem; font-weight: bold; line-height: 1.8; padding: 35px 0; border: solid #000; border-width: 1px 0 1px 0; }
.imgBox{  padding: 80px 0 45px;}
.imgBox figure{ margin: 0 auto; text-align: center;}

.box{ margin-top: 100px; padding: 55px 0; border: solid #000; border-width: 1px 0 1px 0;}
.box .txt{ width: 52.08%;}
.box figure{ width: 45%;}

.trinite .btn_Box{ justify-content: center; gap: 25px; margin-top: 120px;}
.trinite .btn_Box.toAnother{ margin-top: 0;}
.trinite .btn_Box a{ display: block; padding: 0 0 0 10px; }

@media (max-width: 1400px){
    .contents{ padding:100px 0 95px;}
    .trinite .titBox{ padding-bottom: 30px;}
    h2{ font-size: 4.5rem; }

    .concept .border_txt{ font-size: 2.1vw; }
}

@media (max-width: 768px){

    .btn__more { width: 170px; height: 40px; margin: 70px 0 0 0;}
    .btn__more span { font-size: 1.3rem; left: 5px;}
    .btn__more::after { border-top: 6px solid transparent; border-left: 10px solid #000000; border-bottom: 6px solid transparent;}


    .contents{  padding: 70px 0 65px;}

    .trinite .titBox{ padding-bottom: 20px;}
    h2{ font-size: clamp( 2rem , 6.5vw, 5rem); margin-bottom: 0;}
    h3{ font-size: min(5vw, 3.6rem); margin-top: 20px;}

    .trinite .subtitBox {padding: 55px 0 60px; overflow: hidden;}
    .concept{ position: relative; background: url(../imgs/trinite/img01_sp.jpg) no-repeat; background-size: cover; background-position: right; padding: 35px 0 108px; }
    .concept .txtBox{ width: 100%;}
    .concept .copy { font-size: min(5vw, 3.6rem);}
    .concept .txt { width: 100%; margin-bottom: 0;}
    .imgBox { padding: 0 0 45px;}
    .imgBox .container{ width: 100%;}

    .trinite .btn_Box{ flex-direction: column; margin-top: 35px; gap:0;} 
    .trinite .btn_Box li{ margin: 0 auto ;}
    .trinite .btn_Box a{ margin-top: 20px; }
}