@charset "utf-8";
/* Group */
.group:not(:last-of-type){margin-bottom: 90px;}

@media screen and (max-width: 768px){
    .group:not(:last-of-type){margin-bottom: 60px;}
}

/* About */
.about{border-radius: 10px; background: #fff; box-shadow: 0 0 15px 0px rgba(0, 0, 0, 0.2); display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; padding: 30px min(5.8vw,70px);}
.about-img{width: 45%;}
.about-txt{font-size: min(3.5vw,3.2rem); line-height: 1.6; font-weight: bold; margin-bottom: 1em;}
.about-txt:last-of-type{margin: 0;}
.about-txt span{font-size: 0.75em; line-height: 1.3; letter-spacing: 0.04em; color: #4B4594; font-family: "Afacad", sans-serif; display: block;}

@media screen and (max-width: 768px){
    .about{padding: 20px;}
    .about-inner{width: 100%; margin-bottom: 20px;}
    .about-img{width: 80%; text-align: center; margin: 0 auto;}
    .about-txt{font-size: min(6vw,3.2rem); margin-bottom: 15px;}
}

/* Message */
.message-cont{display: flex; justify-content: space-between; flex-wrap: wrap; align-items: flex-start;}
.message-img{width: 41.667%; border-radius: 10px; overflow: hidden; margin-bottom: 3.5em;}
.message-txt{width: 50%;}
.message-txt p{margin-bottom: 1.5em;}
.message-txt2{width: 100%;}
.message-txt2 p{margin-bottom: 1.5em;}
.message-info{width: 100%; text-align: right; font-weight: bold;}
.message-info .name{font-size: 2.4rem;}

@media screen and (max-width: 768px){
    .message-txt{width: 100%; order: -1;}
    .message-txt2{width: 100%; order: 0;}
    .message-img{width: 80%; max-width: 500px; margin: 0 auto 10px; order: 1;}
    .message-info{order: 2; max-width: 500px; margin: 0 auto; font-size: min(4vw,1.6rem); text-align: center;}
    .message-info .name{font-size: 2.2rem;}
}

/* Overview */
.overview-tbl{width: 100%; border: 1px solid #CAC6C0; background: #fff;}
.overview-tbl th{width: 194px; padding: 25px 0 25px 30px; font-weight: bold; background: #EBE9E6; border-bottom: 1px solid #CAC6C0; border-right: 1px solid #CAC6C0;}
.overview-tbl td{padding: 25px 30px; border-bottom: 1px solid #CAC6C0;}

@media screen and (max-width: 768px){
    .overview-tbl,
    .overview-tbl tbody,
    .overview-tbl tr,
    .overview-tbl th,
    .overview-tbl td{display: block; width: 100%;}

    .overview-tbl th{border-right: none; padding: 10px 20px;}
    .overview-tbl td{padding: 10px 20px;}
}

/* History */
.timeline{position: relative;}
.timeline:before{content: ""; position: absolute; top: 10px; bottom: 0; left: 137px; width: 2px; background: #4B4594; display: block;}
.timeline .item{margin-bottom: 50px; display: flex; justify-content: space-between; flex-wrap: wrap;}
.timeline .item:last-of-type{margin-bottom: 0;}
.timeline .year{width: 150px; font-size: 2rem; line-height: 1; color: #4B4594; font-weight: bold; position: relative;}
.timeline .year span{font-size: 1.8em; display: inline-block; line-height: 0.75; letter-spacing: 0.04em; font-family: "Afacad", sans-serif;}
.timeline .year:after{content: ""; width: 20px; height: 20px; display: block; position: absolute; top: 0; right: 0; background: #4B4594; border-radius: 100%; border: 2px solid #FAF9F9;}
.timeline .inner{width: calc(100% - 200px); padding: 25px 30px; border-radius: 10px; background: #fff; box-shadow: 0 0 15px 0px rgba(0, 0, 0, 0.2); font-size: 1.6rem;}
.timeline .rows:not(:last-of-type){margin-bottom: 20px;}
.timeline .date{font-size: 1.8rem; font-weight: bold; color: #4B4594; margin-bottom: 5px; padding-left: 15px; position: relative;}
.timeline .date:before{content: ""; width: 8px; height: 8px; border-radius: 100%; position: absolute; top: 12px; left: 0; background: #4B4594; display: block;}

@media screen and (max-width: 768px){
    .timeline{padding-left: 30px;}
    .timeline:before{left: 8px;}
    .timeline .item{margin-bottom: 35px;}
    .timeline .year{width: 100%; font-size: 1.6rem; margin-bottom: 15px;}
    .timeline .year:after{left: -30px; right: auto; top: 2px; width: 14px; height: 14px;}
    .timeline .inner{width: 100%; padding: 20px;}
}