@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: 114px 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;}


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.5;}
h4{ font-size: 3rem; padding: 65px 0 55px; border-top: 1px solid #000;}

.contents{ padding: 100px 0 90px; background: #f5f5f5;}
.flow .titBox{ padding-bottom: 30px;}
.flow .subtitBox{ padding: 100px 0 95px;}
.flow figure{ text-align: center; margin: 0 auto;}

.flow_list { margin-top: 160px;}
.flow_list li{ align-items: center;  padding: 55px 0; border-top: 1px solid #000; }
.flow_list li:last-of-type{ margin-bottom: 0; border-bottom: 1px solid #000;}
.flow_list .txtBox { width: 58.33%;  line-height: 1.5;}
.flow_list figure{ width: 29.83%; margin: 0 0 0 auto;}
.flow_list figcaption{ font-size: 1.4rem; text-align: left; line-height: 1.5; margin-top: 10px;}
.flow_list .subtit{ font-size: 2.4rem; font-weight: bold; margin-bottom: 30px; line-height: 1;}

.flow .btn_Box{ justify-content: center; gap: 25px;}
.flow .btn_Box a{  display: inline-block; padding: 0 0 0 10px; line-height: 1.5;}

@media (max-width: 1400px){
    h2{ font-size: 4.5rem; }
}

@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 50px;}


    h2{ font-size: clamp( 2rem , 6.5vw, 5rem); margin-bottom: 0;}
    h3{ font-size: min(6.25vw, 4.8rem); }
    h4{ font-size: min(5vw, 3.6rem); padding: 30px 0 25px;}

    .flow .titBox{ padding-bottom: 20px;}
    .flow .subtitBox{ padding: 50px 0;}
    .flow .flow_illust{ margin: 0 calc(50% - 50vw); width: 100vw;}

    .flow_list { margin-top: 35px;}
    .flow_list li{ padding: 30px 0; flex-basis: 100%;}
    .flow_list .subtit{ margin-bottom: 15px; font-size: clamp( 1.8rem ,3.9vw, 3rem);}
    .flow_list h3{ margin-bottom: 15px;}
    .flow_list:not(:first-of-type) { margin-top: 25px;}

    .flow_list .txtBox { width: 100%;}
    .flow_list figure{ width: 100%; margin-top: 20px;}
    .flow_list figure figcaption{ max-width: 350px; margin: 10px auto 0;}

    .flow .btn_Box{ flex-direction: column; margin-top: 70px; gap:15px;} 
    .flow .btn_Box li{ margin: 0 auto ;}
    .flow .btn_Box a{ line-height: 1.2; margin-top: 20px;}
}

@media (max-width: 499px){
    .box2 .producer .profile {width: 100%; margin:  0 auto 15px;}
    .box2 .producer figure {width: 100%; text-align: left; text-align: center;}
}