@charset "utf-8";

/*******************************
*tsuyoku-meeting.css
*******************************/
.main-color{
    color:#B81C1C;
}

.main-color-bg{
    background-color: #B81C1C;
}

h2{
    margin-bottom: 1.5rem;
    font-size: 1.75rem;
}

a:hover{
    color: #B52020;
}

@media (max-width: 480px) {
    .action h2,
    .partnership-contact h2,
    .faq h2{
        margin-bottom: 2rem !important;
        font-size: 1.75rem !important;
    }
}


/*******************************
*btn
*******************************/
.btn-sq{
    font-size: 1.5rem;
}

.btn-sq-color1{
    color: #B52020;
    border: 3px solid #B52020;
    background-color: #fff;
}

.btn-sq-color1::after {
    border-color: #B52020;
}

.btn-sq-w600{
    max-width: 600px;
    margin-inline: auto;
}

@media (max-width: 767px) {
    .btn-sq{
        padding: 1.5rem;
        font-size: 1.25rem;
    }
}

@media (max-width: 480px) {
    .btn-sq{
        padding: 1.5rem;
        font-size: 1rem;
    }
}


/*******************************
*content
*******************************/
/* hero */
.hero{
    position: relative;
    height: 100svh;
    background-image: url(../img/lp/tsuyoku-meeting/hero-bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.hero .logo{
    padding-top: 40px;
    padding-left: 40px;
    margin-bottom: 3rem;
}

.hero h1{
    margin-left: 120px;
}

@media (max-width: 1200px) {
    .hero h1{
        max-width: 700px;
        margin-inline: auto;
    }
}

@media (max-width: 480px) {
}

/* about */
.about{
    position: relative;
    background-image: url(../img/lp/tsuyoku-meeting/about-bg-l.jpg), url(../img/lp/tsuyoku-meeting/about-bg-r.jpg);
    background-position: left center, right center;
    background-repeat: no-repeat, no-repeat;
}

.about .content{
    padding-block: 10rem;
    font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
    color: #fff;
    background-color: #9b0000;
}

.about h2{
    position: relative;
    margin-bottom: 5rem;
    font-size: 5rem;
    line-height: 1.25;
    text-align: center;
}

.about h2 > span{
    padding-bottom: 1rem;
    border-bottom: 2px solid rgb(255 255 255 / 70%);
}

.about h2 ~ p{
    font-size: 1.5rem;
    text-align: center;
}

.about h2 ~ p:not(:last-child){
    margin-bottom: 3rem;
}

@media (max-width: 1024px) {
    .about h2 {
        font-size: clamp(1.125rem, 5vw, 3.25rem);
    }
}

@media (max-width: 960px) {
    .about{
        background-image: none;
        background-color: #9b0000;
    }
    .about h2 ~ p{
        font-size: 1.25rem;
    }
}

@media (max-width: 767px) {
    .about h2{
        font-size: clamp(1rem, 6.77vw, 3.25rem);
    }
}

/* action */
.action{
    padding-block: 7.5rem;
}

.action h2{
    padding-block: 1.25rem;
    margin-bottom: 6rem;
    color: #fff;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.25;
    background-color: #B52020;
    text-align: center;
}

.action h3{
    position: relative;
    margin-bottom: 5rem;
    padding-top: 0;
    padding-bottom: 1rem;
    font-size: 2rem;
    line-height: 1.25;
    text-align: center;
}

.action h3::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100px;
    height: 4px;
    background-color: #B52020;
}

.action h3 + p{
    margin-bottom: 5rem;
    font-size: 1.25rem;
    line-height: 1.75;
}

.action .youtube-video{
    max-width: 800px;
    margin-bottom: 5rem;
}

.action .youtube-video + .text-deco-border{
    margin-bottom: 2rem;
    font-size: 2rem;
}

.action .youtube-video + .text-deco-border::before,
.action .youtube-video + .text-deco-border::after{
    background-color: #000;
}

.action .shiryo-dl{
    padding: 2.5rem;
    background-color: #F5F5F5;
    box-shadow: 6px 10px 10px -6px rgba(0, 0, 0, 0.3);
}

.action .shiryo-dl > p{
    margin-bottom: 2rem;
    color: #B52020;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
}

.action .shiryo-dl > div.flex-box{
    gap: 20px;
}

.action .shiryo-dl > div.flex-box .text{
    flex: 1;
}

.action .shiryo-dl > div.flex-box .text p{
    margin-bottom: 1rem;
    font-size: 1.25rem;
    font-weight: 700;
}

.action .shiryo-dl > div.flex-box .text ul{
    margin-bottom: 2rem;
}

.action .shiryo-dl > div.flex-box .text ul li{
    font-size: 1.25rem;
}

.action .shiryo-dl > div.flex-box .text i{
    color: #B52020;
}

.action .shiryo-dl > div.flex-box .text a{
    font-size: 1.25rem;
}

.action-list{
    margin-top: 5rem;
}

.action-list .tagged-posts-list{
    max-width: fit-content;
    margin-inline: auto;
    margin-bottom: 2.5rem;
}

.action-list .tagged-posts-item {
    display: flex;
    gap: 1em;
    align-items: baseline;
    padding: 0.6em 0;
    border-bottom: 1px solid #eee;
}

.action-list .tagged-posts-date {
    color: #888;
    font-size: 0.875em;
    white-space: nowrap;
}

.action-list .tagged-posts-title {
    text-decoration: none;
    color: inherit;
}

.action-list .tagged-posts-title:hover {
    text-decoration: underline;
}

.action-list .btn{
    max-width: 320px;
    margin-inline: auto;
    background-color: #000;
}

.action-list .btn:hover{
    color: #000 !important;
    background-color: #ccc;
}

@media (max-width: 960px) {
    .action .shiryo-dl > p{
        font-size: 1.5rem;
    }
    .action .shiryo-dl > div.flex-box{
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 480px) {
    .action h3{
        margin-bottom: 2.5rem;
        font-size: 1.25rem;
    }
    .action h3 + p{
        font-size: 1rem;
    }
    .action .shiryo-dl{
        padding: 1.25rem;
    }
    .action .shiryo-dl > div.flex-box .text ul li{
        font-size: 1.125rem;
    }
    .action .shiryo-dl > div.flex-box .text a{
        padding: 1.25rem;
    }
}

/* join */
.join{
    position: relative;
    color: #fff;
    background-color: #fff;
}

.join .circle-img{
    margin-bottom: -1px;
}

.join .content{
    padding: 0 0 2.5rem;
}

.join .content p.text-copy{
    margin-bottom: 5rem;
    padding-top: 2rem;
    font-size: 2.125rem;
    font-weight: 700;
    text-align: center;
}

.join .content div.text-box{
    max-width: 700px;
    margin-inline: auto;
    margin-bottom: 5.625rem;
}

.join .content div.text-box > h2{
    font-size: 1.75rem;
    border-bottom: 1px solid #fff;
    line-height: 2.25;
    text-align: center;
}

.join .content div.text-box > h2 + p{
    font-size: 1.125rem;
    line-height: 1.8;
}

.join .content .contact > div.flex-box{
    justify-content: center;
    align-items: center;
    gap: 40px;
}

.join .content .contact > div.flex-box > div.logo{
    width: 85px;
}

.join .content .contact > div.flex-box > p{
    font-size: 1.25rem;
}

.join .content .contact > div.flex-box > p > span{
    display: block;
}

.join .content .hand{
    display: block;
    margin: 0 auto 3rem;
}

@media (max-width: 1024px) {
    .join .content p.text-copy{
        margin-bottom: 7.8125vw;
        font-size: clamp(1.5rem, 3.32vw, 2.125rem);
    }
}

@media (max-width: 767px) {
    .join .content{
        padding: 3rem 0 2.5rem;
    }
    .join .content p.text-copy > span{
        display: block;
    }
}

@media (max-width: 480px) {
    .join .content p.text-copy{
        margin-top: 0;
        margin-bottom: 3rem;
        padding-top: 0;
    }
    .join .content .contact > div.flex-box > div.logo{
        display: none;
    }
    .join .content .copyright{
        padding-bottom: 1rem;
    }
}

/* service */
.service{
    padding-block: 7.5rem;
    background-color: #EEEEEE;
}

.service .box{
    background-color: #fff;
    box-shadow: 6px 10px 10px -6px rgba(0, 0, 0, 0.3);
}

.service .box:not(:last-of-type){
    margin-bottom: 5rem;
}

.service .box h2{
    padding: 1.25rem;
    margin-bottom: 0;
    color: #fff;
    font-size: 2rem;
    background-color: #252F3F;
    line-height: 1.25;
    text-align: center;
}

.service .box > div.flex-box{
    padding: 3rem;
    gap: 40px;
}

.service .box > div.flex-box > div.img{
    width: 430px;
}

.service .box > div.flex-box > div.img img{
    display: block;
    margin-inline: auto;
}

.service .box > div.flex-box > div.text{
    flex: 0 0 calc(100% - 470px);
}

.service .box > div.flex-box > div.img p{
    margin-top: 1rem;
    font-size: 1rem;
}

.service .box > div.flex-box > div.text .shiryo{
    margin-bottom: 0.5rem;
    font-weight: 700;
    text-align: center;
}

.service .box > div.flex-box > div.text .detail{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 2rem;
}

.service .box > div.flex-box > div.text .detail > div{
    flex: 0 0 calc(50% - 15px);
}
.service .box > div.flex-box > div.text .detail > div > span{
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 700;
}

.service .box > div.flex-box > div.text .detail p > span{
    display: block;
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    color: #252F3F;
    font-weight: 700;
    border-bottom: 1px solid #000;
}

.service .box .btn-sq{
    color: #fff;
    font-size: 1.25rem;
    background-color: #C19812;
    box-shadow: 0 5px 0 0 #BFBFBF;
}

@media (max-width: 1200px) {
    .service .box > div.flex-box > div.text .detail{
        flex-direction: column;
    }
    .service .box > div.flex-box > div.text .detail p > span > br{
        display: none;
    }
    .service .box.stlab > div.flex-box > div.text .detail{
        flex-direction: row;
    }
    .service .box > div.flex-box > div.text {
        flex: 1 0 calc(60% - 20px);
    }
}

@media (max-width: 960px) {
    .service .box > div.flex-box > div.img {
        width: auto;
        flex: 0 0 40%;
    }
    .service .box.stlab > div.flex-box > div.text .detail > div > span{
        font-size: 0.875rem;
        letter-spacing: -1px;
    }
}

@media (max-width: 767px) {
    .service .box > div.flex-box{
        flex-direction: column;
    }
    .service .box > div.flex-box > div.img p{
        margin-top: 2rem;
    }
}

@media (max-width: 480px) {
    .service .box h2{
        font-size: 1.375rem;
    }
    .service .box > div.flex-box{
        padding: 1.5rem;
    }
    .service .box.stlab > div.flex-box > div.text .detail{
        flex-direction: column;
    }
    .service .box.stlab > div.flex-box > div.text .detail > div > span{
        font-size: 1rem;
    }
    .service .box .btn-sq{
        padding: 1rem;
        font-size: 1rem;
    }
}

/* partner100 */
.partner100{
    padding-block: 7.5rem;
}

/* partnership-contact */
.partnership-contact{
    padding-block: 7.5rem;
    background-image: url(../img/lp/tsuyoku-meeting/partnership-contact-bg.jpg);
    background-repeat: no-repeat;
    background-position: 0 center;
    background-size: cover;
}

.partnership-contact h2{
    margin-bottom: 4rem;
    color: #fff;
    font-size: 2rem;
    text-align: center;
}

.partnership-contact p{
    margin-bottom: 2.5rem;
    color: #fff;
    font-size: 1rem;
    text-align: center;
}

@media (max-width: 480px) {
    .partnership-contact .btn-sq > span{
        display: block;
    }
}

/* FAQ */
.faq{
    padding-block: 7.5rem;
    background-color: #EEEEEE;
}

.faq h2{
    margin-bottom: 4rem;
    font-size: 2rem;
    text-align: center;
}

.faq .faq_box .text summary{
    background-color: #fff;
}

.faq .faq_box .text summary::before{
    color: #B52020;
}

.faq .faq_box .text p{
    background-color: #fff;
}

.faq .faq_box .text p::before{
    color: #0039a5;
}

/* seminar-shiryo-dl */
.seminar-shiryo-dl{
    padding-block: 7.5rem;
    background-image: url(../img/lp/tsuyoku-meeting/seminar-shiryo-dl-bg.jpg);
    background-repeat: no-repeat;
    background-position: 0 center;
    background-size: cover;
}

.seminar-shiryo-dl p{
    margin-bottom: 2.5rem;
    color: #fff;
    font-size: 2rem;
}

.seminar-shiryo-dl p::before,
.seminar-shiryo-dl p::after{
    background-color: #fff;
}

/* company-info */
.company-info {
    position: relative;
    padding-block: 5rem 1.5rem;
    color: #fff;
}

.company-info div.text-box{
    max-width: 700px;
    margin-inline: auto;
    margin-bottom: 5.625rem;
}

.company-info div.text-box > h2{
    font-size: 1.75rem;
    border-bottom: 1px solid #fff;
    line-height: 2.25;
    text-align: center;
}

.company-info div.text-box > h2 + p{
    font-size: 1.125rem;
    line-height: 1.8;
}

.company-info .contact > div.flex-box{
    justify-content: center;
    align-items: center;
    gap: 40px;
}

.company-info .contact > div.flex-box > div.logo{
    width: 85px;
}

.company-info .contact > div.flex-box > p{
    font-size: 1.25rem;
}

.company-info .contact > div.flex-box > p > span{
    display: block;
}

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

@media only screen and (max-width: 480px) {
    .company-info .contact > div.flex-box > div.logo{
        display: none;
    }
    .company-info .copyright{
        padding-bottom: 1rem;
    }
}
